@font-face{font-family:Lato;src:url(assets/Lato.ttf);font-display:swap}@font-face{font-family:Lato;src:url(assets/LatoBold.ttf);font-weight:700;font-display:swap}@font-face{font-family:Cinzel;src:url(assets/Cinzel.ttf);font-display:swap}
:root{--night:#080f1c;--ink:#172235;--gold:#c6a15b;--paper:#f1efe8;--line:#d8d0bf;--white:#fffdfa;color:var(--ink);background:var(--paper);font-family:Lato,Arial,sans-serif}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,select{font:inherit}a,button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #af7c20;outline-offset:4px}a:active,button:active{background:#e6cf9b;color:var(--night)}[hidden]{display:none!important}img{display:block;max-width:100%;height:auto}.wrap{width:min(1180px,calc(100% - 48px));margin-inline:auto}.skip{position:absolute;left:12px;top:-80px;z-index:5;background:white;padding:12px}.skip:focus{top:12px}.top{background:var(--night);color:var(--white);border-bottom:1px solid #454035}.top .wrap{min-height:66px;display:flex;align-items:center;justify-content:space-between;gap:14px}.top strong{letter-spacing:.16em;font-size:.84rem}.top b{color:var(--gold)}.top nav{display:flex;gap:15px}.top a,footer nav a{display:inline-block;padding:8px;border-radius:3px}.top a:hover,footer nav a:hover{background:#c6a15b33;box-shadow:inset 0 0 0 1px var(--gold)}h1,h2,h3{font-family:Cinzel,Georgia,serif;margin:0;line-height:1.12}h2{font-size:clamp(1.7rem,4vw,3rem)}p{line-height:1.55}.eyebrow{font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:#75541d;font-size:.74rem}.hero{position:relative;isolation:isolate;min-height:min(750px,85vh);display:grid;place-items:center;background:var(--night);color:var(--white);text-align:center;overflow:hidden}.hero>img{position:absolute;z-index:-2;width:100%;height:100%;object-fit:cover}.hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#080f1c48,#080f1c95 50%,#080f1cf0)}.hero-inner{width:min(940px,95%);padding:44px 0}.logo{width:min(210px,47vw);margin:0 auto}.signature{width:min(210px,47vw);margin:8px auto 25px}.hero .eyebrow,footer .eyebrow{color:#e7c87e}.hero h1{font-size:clamp(2.05rem,6.1vw,5.15rem);text-wrap:balance;text-shadow:0 3px 18px #0009}.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border:1px solid var(--gold);padding:10px 17px;font-weight:700;border-radius:4px}.button:hover,.button:focus-visible{background:#e4c586;color:var(--night)}.primary{background:#e6c98f;color:var(--night)}.hero .button{margin-top:22px}.editorial,.catalog,.ficha{padding-block:60px}.editorial>img{width:100%;border-radius:8px}.editorial>img:last-of-type{max-width:850px;margin:auto;aspect-ratio:2.15;object-fit:fill}.themes{display:grid;grid-template-columns:repeat(4,1fr);text-align:center;gap:5px;font-weight:700;padding:13px 0;color:#694b1e;border-bottom:1px solid var(--line)}.editorial h3{font-size:clamp(1.4rem,3vw,2.1rem);margin:32px 0 16px}.catalog{padding-top:22px}form{background:var(--white);padding:22px;border:1px solid var(--line);border-radius:8px;margin:22px 0 32px}.filters{display:grid;grid-template-columns:1fr 1fr 1fr 1.15fr;gap:12px}.search{display:block;margin-bottom:14px}label,legend{font-weight:700;font-size:.92rem}input,select{width:100%;min-height:44px;border:1px solid #a89c88;border-radius:4px;background:white;color:var(--ink);padding:9px;margin-top:5px}fieldset{border:0;margin:0;padding:0;min-width:0;display:grid;grid-template-columns:1fr 1fr;gap:6px}legend{padding:0}.filter-meta{display:flex;align-items:center;justify-content:space-between;margin-top:10px}.filter-meta button{background:transparent;color:#694b1e;border:0;padding:8px;min-height:44px;text-decoration:underline}.filter-meta button:hover{background:#f3e4c3}.caption{font-size:.85rem;color:#665e50}.region{margin:32px 0 0}.region-heading{display:flex;align-items:baseline;gap:15px;margin-bottom:12px;border-bottom:1px solid var(--line);padding-bottom:10px}.region-heading h2{font-size:1.65rem}.region-count{color:#665e50;font-size:.9rem}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.card{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--white);display:flex;flex-direction:column}.card-link{display:block;flex:1;border:2px solid transparent}.card-link:hover,.card-link:focus-visible{border-color:var(--gold);background:#fff5de;outline-offset:-4px}.card-link>img,.no-photo{width:100%;aspect-ratio:1.85;object-fit:cover;background:#142135}.no-photo{display:grid;place-content:center;text-align:center;color:#e9cc8e;letter-spacing:.15em}.no-photo span{letter-spacing:0;color:white;font-size:.84rem;margin-top:8px}.card-body{padding:13px 15px 17px}.card-body p{margin:6px 0}.card-body h3{font-size:1.2rem;margin:7px 0}.detail{display:block;color:#71521e;font-weight:700;margin-top:13px}.contact{display:block;text-align:center;padding:13px;border-top:1px solid var(--line);font-weight:700;color:#614315}.contact:hover,.contact:focus-visible{background:#f3e4c3;box-shadow:inset 0 0 0 2px var(--gold)}.ficha h1{font-size:clamp(2rem,6vw,4rem)}.spec{font-size:1.25rem}.actions{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 24px}.gallery>img{width:100%;height:auto;max-height:580px;aspect-ratio:1.8;object-fit:contain;background:var(--night);border-radius:7px}.thumbs{display:flex;gap:8px;overflow:auto;padding:8px 3px}.thumbs button{padding:2px;background:white;border:2px solid transparent;border-radius:4px;flex:0 0 86px}.thumbs button:hover,.thumbs button[aria-pressed=true]{border-color:#a87929}.thumbs img{width:80px;height:48px;object-fit:cover}.about{margin-top:24px}.about h2{font-size:1.6rem}footer{background:var(--night);color:var(--white);padding:35px 0}.foot{display:flex;gap:24px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap}.foot h2{font-size:1.65rem;margin-top:8px}.foot nav{display:grid;gap:2px}.green{color:#25d366}.blue{color:#38bdf8}.red{color:#f87366}
@media(max-width:900px){.filters{grid-template-columns:1fr 1fr}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:580px){.wrap{width:calc(100% - 28px)}.top .wrap{font-size:.78rem;min-height:57px}.top nav{gap:0}.top strong{font-size:.72rem}.hero{min-height:560px}.editorial,.catalog,.ficha{padding-block:35px}.themes{font-size:.8rem}.grid{grid-template-columns:1fr}.filters{gap:8px}.filters fieldset input{padding:6px}.actions .button{font-size:.9rem}.caption{font-size:.8rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.foot-end{display:grid;gap:12px;justify-items:start}.qr{display:inline-block;border:2px solid transparent;border-radius:4px}.qr:hover,.qr:focus-visible{border-color:var(--gold)}.editorial>img:last-of-type{aspect-ratio:auto}


/* Identidade do portal SHIOHARA CORP */
:root {
    --night: #080f1c;
    --ink: #f1efe8;
    --white: #101827;
    --paper: #050505;
    --line: rgba(198, 161, 91, .27);
    --text-primary: #f1efe8;
    --text-secondary: #d7d0c4;
    --silver-highlight: #b8b9b4;
    --gold-highlight: #e0c27a;
    color-scheme: dark;
}
body { background: linear-gradient(160deg, #050505, #080f1c 52%, #050505); }
.top, footer { color: var(--text-primary); background: linear-gradient(180deg, #050505, #080f1c); }
.top { border-bottom-color: var(--line); }
.top .wrap, .top nav { flex-wrap: wrap; }
.top .wrap { padding-block: 8px; }
.top nav { gap: 4px 12px; }
/* A marca ocupa a faixa do menu como na home. */
.top a.catalog-brand {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
}
.top a.catalog-brand:hover, .top a.catalog-brand:active {
    color: var(--text-primary);
    background: transparent;
    box-shadow: none;
}
.eyebrow, .themes, .detail, .contact { color: var(--gold-highlight); }
.hero { color: var(--text-primary); }
.hero:before { background: linear-gradient(180deg, #05050570, #080f1c9c 55%, #050505f2); }
.region-count, .caption { color: var(--text-secondary); }
input, select { background: var(--night); border-color: var(--line); color: var(--text-primary); }
.filter-meta button { color: var(--gold-highlight); }
.filter-meta button:hover, .card-link:hover, .card-link:focus-visible,
.contact:hover, .contact:focus-visible { background: #30251e; }
.thumbs button { background: var(--night); }
.skip { color: #050505; }
#faixa-invalida { color: #ffad9e; font-weight: 700; }
.catalog-official h2 { margin-bottom: 14px; }
footer .qr img { background: #fff; padding: 4px; }
@media (max-width: 360px) {
    .filters { grid-template-columns: 1fr; }
}
        .official-channels {
            display: grid;

            gap: 11px;
        }

        .official-channel {
            display: flex;
            align-items: center;

            gap: 10px;

            color: var(--text-secondary);

            text-decoration: none;

            font-size: .84rem;

            line-height: 1.4;

            transition:
                color .25s ease,
                transform .25s ease;
        }

        .official-channel i {
            width: 18px;

            text-align: center;

            font-size: 1rem;

            transition:
                transform .25s ease,
                filter .25s ease;
        }

        .official-channel.whatsapp i {
            color: #25D366;
        }

        .official-channel.phone i {
            color: var(--silver-highlight);
        }

        .official-channel.email i {
            color: #EA4335;
        }

        .official-channel:hover {
            color: var(--text-primary);
            transform: translateX(3px);
        }

        .official-channel:hover i {
            transform: scale(1.08);
        }



        /* =========================================================
           CARTÃO DIGITAL — ACESSO DIRETO
        ========================================================= */

        .digital-card-link {
            width: 100%;
            display: flex;
            align-items: center;
            gap: 13px;
            margin-top: 20px;
            padding: 14px 15px;
            border: 1px solid rgba(198, 161, 91, .52);
            border-radius: 7px;
            color: var(--text-primary);
            text-decoration: none;
            background: linear-gradient(135deg, rgba(16, 24, 39, .78), rgba(5, 5, 5, .92));
            box-shadow: inset 0 0 22px rgba(198, 161, 91, .025), 0 8px 22px rgba(0, 0, 0, .18);
            transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease, background .25s ease;
        }

        .digital-card-link:hover {
            transform: translateY(-2px);
            border-color: rgba(224, 194, 122, .82);
            background: linear-gradient(135deg, rgba(58, 15, 26, .20), rgba(16, 24, 39, .92));
            box-shadow: 0 12px 28px rgba(0, 0, 0, .28), 0 0 18px rgba(198, 161, 91, .07);
        }

        .digital-card-icon {
            width: 39px;
            height: 39px;
            flex: 0 0 39px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            color: var(--gold-highlight);
            font-size: 1.05rem;
            border-right: 1px solid rgba(198, 161, 91, .30);
            padding-right: 12px;
            box-sizing: content-box;
        }

        .digital-card-copy {
            min-width: 0;
            display: flex;
            flex-direction: column;
            gap: 2px;
        }

        .digital-card-title {
            color: var(--gold-highlight);
            font-family: 'Cinzel', serif;
            font-size: .78rem;
            font-weight: 600;
            letter-spacing: 1px;
            text-transform: uppercase;
        }

        .digital-card-subtitle {
            color: var(--text-secondary);
            font-size: .72rem;
            line-height: 1.35;
        }

        .digital-card-arrow {
            margin-left: auto;
            color: var(--gold-primary);
            font-size: .85rem;
            transition: transform .25s ease;
        }

        .digital-card-link:hover .digital-card-arrow {
            transform: translateX(3px);
        }

        /* =========================================================
           REDES SOCIAIS
        ========================================================= */

        .social-networks {
            display: grid;

            grid-template-columns:
                repeat(2, 46px);

            gap: 13px;
        }

        .social-network-link {
            width: 46px;
            height: 46px;

            display: flex;
            align-items: center;
            justify-content: center;

            border-radius: 50%;

            text-decoration: none;

            font-size: 1.15rem;

            border:
                1px solid rgba(139, 141, 138, .26);

            background:
                rgba(16, 24, 39, .48);

            box-shadow:
                0 8px 20px rgba(0, 0, 0, .22);

            transition:
                transform .3s ease,
                border-color .3s ease,
                background .3s ease,
                box-shadow .3s ease;
        }

        .social-network-link.facebook {
            color: #1877F2;
        }

        .social-network-link.instagram {
            color: #E4405F;
        }

        .social-network-link.youtube {
            color: #FF0000;
        }

        .social-network-link.linkedin {
            color: #0A66C2;
        }

        .social-network-link:hover {
            transform:
                translateY(-4px)
                scale(1.04);

            border-color:
                rgba(198, 161, 91, .58);

            background:
                rgba(16, 24, 39, .82);

            box-shadow:
                0 12px 28px rgba(0, 0, 0, .34);
        }

        .social-network-link.is-disabled {
            opacity: .48;

            cursor: default;
        }

        .social-network-link.is-disabled:hover {
            transform: none;

            border-color:
                rgba(139, 141, 138, .26);

            background:
                rgba(16, 24, 39, .48);

            box-shadow:
                0 8px 20px rgba(0, 0, 0, .22);
        }

        .corp-playlist-link {
            display: inline-flex;
            align-items: center;
            gap: 10px;

            margin-top: 18px;

            color: var(--text-secondary);
            text-decoration: none;

            font-size: .78rem;
            line-height: 1.4;

            transition:
                color .25s ease,
                transform .25s ease;
        }

        .corp-playlist-icon {
            width: 34px;
            height: 34px;

            display: inline-flex;
            align-items: center;
            justify-content: center;

            flex: 0 0 34px;

            border-radius: 50%;

            color: var(--gold-highlight);

            border:
                1px solid rgba(198, 161, 91, .38);

            background:
                rgba(16, 24, 39, .58);
        }

        .corp-playlist-link > span:last-child {
            display: inline-flex;
            align-items: center;
            gap: 7px;
        }

        .corp-playlist-link:hover {
            color: var(--gold-highlight);
            transform: translateX(3px);
        }

        /* =========================================================
           CANAIS DO WHATSAPP — 6 VERTICAIS
        ========================================================= */

        .whatsapp-channels-grid {
            display: grid;

            grid-template-columns:
                repeat(3, minmax(0, 1fr));

            gap: 12px;

            max-width: 280px;
        }

        .whatsapp-channel-item {
            position: relative;

            min-width: 0;

            text-align: center;
        }

        .whatsapp-channel-link,
        .whatsapp-channel-disabled {
            position: relative;

            width: 100%;
            aspect-ratio: 1 / 1;

            display: flex;
            align-items: center;
            justify-content: center;

            border-radius: 50%;

            border:
                1px solid rgba(139, 141, 138, .24);

            background:
                radial-gradient(
                    circle,
                    rgba(16, 24, 39, .78),
                    rgba(5, 5, 5, .96)
                );

            box-shadow:
                0 10px 24px rgba(0, 0, 0, .26);

            overflow: hidden;

            transition:
                transform .35s cubic-bezier(.2,.7,.2,1),
                border-color .35s ease,
                box-shadow .35s ease,
                filter .35s ease;
        }

        .whatsapp-channel-link img,
        .whatsapp-channel-disabled img {
            display: block;

            width: 100%;
            height: 100%;

            object-fit: contain;

            border-radius: 50%;

            transition:
                transform .45s cubic-bezier(.2,.7,.2,1),
                filter .35s ease;
        }

        .whatsapp-channel-link::after {
            content: '\f232';

            position: absolute;

            right: 1px;
            bottom: 1px;

            width: 20px;
            height: 20px;

            display: flex;
            align-items: center;
            justify-content: center;

            border-radius: 50%;

            background: #25D366;

            color: #fff;

            font-family: 'Font Awesome 6 Brands';
            font-size: .68rem;

            border: 2px solid #050505;

            box-shadow:
                0 4px 10px rgba(0, 0, 0, .35);

            transition:
                transform .3s ease;
        }

        .whatsapp-channel-link:hover {
            transform:
                translateY(-4px)
                scale(1.04);

            border-color:
                rgba(37, 211, 102, .62);

            box-shadow:
                0 14px 32px rgba(0, 0, 0, .40),
                0 0 20px rgba(37, 211, 102, .10);
        }

        .whatsapp-channel-link:hover img {
            transform: scale(1.035);
        }

        .whatsapp-channel-link:hover::after {
            transform: scale(1.12);
        }

        .whatsapp-channel-disabled {
            opacity: .52;

            cursor: default;

            filter: saturate(.68);
        }

        .whatsapp-channel-item small {
            display: block;

            margin-top: 6px;

            color: var(--text-muted);

            font-size: .62rem;

            line-height: 1.25;
        }

        /* =========================================================
           INSTITUCIONAL
        ========================================================= */


:root { --gold-primary: #c6a15b; --gold-shadow: #80652f; --text-muted: #b8b9b4; }
.top { position: sticky; top: 0; z-index: 4; }
.skip { z-index: 6; }
#cidade, #como-navegar, #indice { scroll-margin-top: 125px; }
.catalog-guide ol { padding-inline-start: 1.25rem; line-height: 1.65; }
.catalog-guide li { margin-block: .45rem; }
.ficha-criteria, .ficha-details {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-block: 20px;
}
.ficha-criteria div, .ficha-details section {
    background: var(--white);
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 16px;
}
.ficha-criteria dt, .ficha-details h3 { color: var(--gold-highlight); margin-bottom: 8px; }
.ficha-criteria dd { margin: 0; }
.ficha-details p { margin: 0; }
.ficha-details a { text-decoration: underline; }
.footer-container {
    width: min(1180px, calc(100% - 48px));
    margin: auto;
    display: grid;
    grid-template-columns: 1.1fr .8fr 1.1fr;
    gap: 32px;
}
.footer-column { min-width: 0; }
.footer-column h4 { margin: 0 0 20px; color: var(--text-primary); font: 600 .92rem Cinzel, Georgia, serif; letter-spacing: 1px; }
@media (max-width: 850px) {
    .footer-container { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
    .top { position: static; }
    #cidade, #como-navegar, #indice { scroll-margin-top: 12px; }
    .footer-container, .ficha-details { grid-template-columns: minmax(0, 1fr); }
}


/* Galerias do catálogo */
.gallery-trigger, .photo-viewer button {
    cursor: pointer;
    color: var(--gold-highlight);
    background: var(--night);
    border: 1px solid var(--line);
    border-radius: 5px;
}
.gallery-trigger:hover, .gallery-trigger:focus-visible,
.photo-viewer button:hover:not(:disabled), .photo-viewer button:focus-visible {
    border-color: var(--gold-highlight);
    background: #30251e;
}
.gallery-cover { width: 100%; padding: 0; }
.gallery-cover img { width: 100%; aspect-ratio: 1.85; object-fit: cover; }
.card-gallery-thumbs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; padding: 8px 8px 0; }
.card-gallery-thumbs button { padding: 2px; min-width: 0; }
.card-gallery-thumbs img { width: 100%; aspect-ratio: 1.6; object-fit: cover; }
.gallery-ficha-open { min-height: 44px; padding: 8px 15px; margin-top: 8px; }
.photo-viewer {
    width: min(940px, calc(100% - 24px));
    max-height: calc(100dvh - 24px);
    box-sizing: border-box;
    padding: clamp(10px, 3vw, 22px);
    color: var(--text-primary);
    background: var(--night);
    border: 1px solid var(--gold);
    border-radius: 10px;
}
.photo-viewer::backdrop { background: rgba(0, 0, 0, .84); }
.viewer-header, .viewer-controls { display: flex; align-items: center; gap: 10px; }
.viewer-header { justify-content: space-between; }
.viewer-header h2 { font-size: clamp(1rem, 3vw, 1.7rem); }
.viewer-stage { margin: 10px 0; text-align: center; }
.viewer-stage img {
    width: 100%;
    height: min(63dvh, 660px);
    object-fit: contain;
    background: #050505;
}
.viewer-stage figcaption { margin-top: 8px; }
.viewer-controls { justify-content: center; }
.photo-viewer button { min-width: 44px; min-height: 44px; font-size: 1.25rem; }
.photo-viewer button:disabled { opacity: .4; cursor: default; }

        .institutional-links {
            list-style: none;

            display: grid;

            gap: 11px;
        }

        .institutional-links a {
            position: relative;

            display: inline-flex;
            align-items: center;

            gap: 8px;

            color: var(--text-secondary);

            text-decoration: none;

            font-size: .84rem;

            line-height: 1.45;

            transition:
                color .25s ease,
                transform .25s ease;
        }

        .institutional-links a::before {
            content: '';

            width: 5px;
            height: 5px;

            flex: 0 0 auto;

            border-radius: 50%;

            background: var(--gold-shadow);

            transition:
                background .25s ease,
                box-shadow .25s ease;
        }

        .institutional-links a:hover {
            color: var(--gold-highlight);

            transform: translateX(3px);
        }

        .institutional-links a:hover::before {
            background: var(--gold-highlight);

            box-shadow:
                0 0 10px rgba(224, 194, 122, .38);
        }

        .whatsapp-float {
            position: fixed;

            right: 22px;
            bottom: 22px;

            width: 58px;
            height: 58px;

            display: flex;
            align-items: center;
            justify-content: center;

            z-index: 1500;

            border-radius: 50%;

            background: #25D366;

            color: #fff;

            text-decoration: none;

            font-size: 1.72rem;

            border:
                1px solid rgba(255, 255, 255, .22);

            box-shadow:
                0 10px 30px rgba(0, 0, 0, .40),
                0 0 22px rgba(37, 211, 102, .18);

            cursor: grab;

            user-select: none;
            -webkit-user-select: none;

            touch-action: none;

            transition:
                box-shadow .3s ease,
                transform .3s ease,
                filter .3s ease;
        }

        .whatsapp-float:hover {
            transform: scale(1.06);

            filter: brightness(1.04);

            box-shadow:
                0 13px 34px rgba(0, 0, 0, .46),
                0 0 28px rgba(37, 211, 102, .27);
        }

        .whatsapp-float.is-dragging {
            cursor: grabbing;
                        transition: none;

            transform: scale(1.04);

            box-shadow:
                0 15px 38px rgba(0, 0, 0, .5),
                0 0 28px rgba(37, 211, 102, .28);
        }

.btn {
    min-height: 48px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 9px;

    padding: 13px 22px;

    border-radius: 4px;

    text-decoration: none;

    text-transform: uppercase;

    letter-spacing: 1px;

    font-size: .76rem;
    font-weight: 700;

    cursor: pointer;

    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease,
        background .25s ease,
        color .25s ease;
}
.btn-secondary {
    color: var(--text-primary);

    border:
        1px solid rgba(184, 185, 180, .40);

    background:
        linear-gradient(
            135deg,
            rgba(16, 24, 39, .72),
            rgba(5, 5, 5, .80)
        );
}
.btn-secondary:hover {
    color: var(--gold-highlight);

    border-color:
        rgba(198, 161, 91, .65);

    transform: translateY(-2px);

    background:
        linear-gradient(
            135deg,
            rgba(58, 15, 26, .28),
            rgba(16, 24, 39, .88)
        );
}
:root {
    --text-main: #f1efe8;
    --gold-border: rgba(198, 161, 91, .38);
}
@media (min-width: 851px) {
    .footer-container { grid-template-columns: 1.15fr .75fr 1.15fr .9fr; }
}
@media (max-width: 850px) {
    .whatsapp-float { width: 56px; height: 56px; right: 16px; bottom: 16px; }
}
.whatsapp-float:active { background: #25d366; color: #fff; }

.top .catalog-brand .brand-logo-img {
    width: 42px;
    height: 42px;

    border-radius: 50%;

    border:
        1px solid rgba(198, 161, 91, .75);

    object-fit: cover;
    background: #000;

    box-shadow:
        0 0 0 3px rgba(58, 15, 26, .14),
        0 0 18px rgba(198, 161, 91, .16);
}
.top .catalog-brand .brand-text {
    font-family: 'Cinzel', serif;

    font-size: 1.15rem;
    font-weight: 700;

    color: var(--text-main);

    letter-spacing: 1.5px;

    white-space: nowrap;
}
.top .catalog-brand .brand-text span {
    color: var(--gold);

    text-shadow:
        0 0 18px rgba(198, 161, 91, .15);
}
.top nav .catalog-consultoria { display: inline-flex; align-items: center; gap: 8px; }
.catalog-consultoria img { flex: 0 0 32px; width: 32px; height: 32px; object-fit: contain; }
#inicio, #resultados { scroll-margin-top: 125px; }
.ficha-navigation { margin-inline-start: auto; justify-content: flex-end; }
@media (max-width: 560px) {
    #inicio, #resultados { scroll-margin-top: 12px; }
}

@media (min-width: 1025px) and (max-width: 1180px) {
    .top .catalog-brand .brand-text { font-size: 1rem; letter-spacing: 1px; }
    .top .catalog-brand .brand-logo-img { width: 38px; height: 38px; }
}
@media (max-width: 380px) {
    .top .catalog-brand { gap: 8px; }
    .top .catalog-brand .brand-text { font-size: .78rem; letter-spacing: .55px; }
    .top .catalog-brand .brand-logo-img { width: 32px; height: 32px; }
}

/* Fichas do book, em sequência na mesma página */
.region-jumps { display: flex; flex-wrap: wrap; gap: 8px; margin-block: 18px; }
.catalog .grid { grid-template-columns: minmax(0, 1fr); gap: 14px; }
.catalog .card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 2.45fr);
    gap: clamp(14px, 3vw, 32px);
    padding: clamp(12px, 2vw, 22px);
    min-height: 300px;
    background: #f1efe8;
    color: #172235;
    border-color: var(--gold);
    overflow-wrap: anywhere;
}
.catalog .catalog-content { display: flex; flex-direction: column; min-width: 0; }
.catalog .card-body { padding: 0; }
.catalog .card-body h3 { font-size: clamp(1.25rem, 2.4vw, 1.85rem); }
.catalog .card-body p { margin-block: 3px; font-size: .88rem; }
.catalog .card-body .eyebrow { font-size: .73rem; color: #73541e; }
.catalog .ficha-criteria { gap: 7px; margin: 0 0 8px; }
.catalog .ficha-criteria div {
    padding: 7px 10px;
    background: var(--night);
    color: var(--text-primary);
    border-radius: 2px;
}
.catalog .ficha-criteria dt { font-size: .69rem; text-transform: uppercase; margin: 0 0 2px; }
.catalog .ficha-criteria dd { font-weight: 700; font-size: .91rem; }
.catalog .ficha-details { grid-template-columns: minmax(0, 1fr); gap: 7px; margin: 8px 0 12px; }
.catalog .ficha-details section { padding: 0; background: transparent; border: 0; }
.catalog .ficha-details h4 { margin: 0; font: 700 .71rem Lato, Arial, sans-serif; text-transform: uppercase; color: #73541e; }
.catalog .ficha-details p { font-size: .9rem; line-height: 1.4; }
.catalog .ficha-details a:hover, .catalog .ficha-details a:focus-visible { color: #73541e; }
.book-card-footer { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin-top: auto; }
.book-card-footer .caption { margin: 0; color: #534b3d; font-size: .79rem; }
.catalog .contact {
    min-height: 44px;
    padding: 10px 16px;
    display: inline-flex;
    align-items: center;
    color: var(--gold-highlight);
    background: var(--night);
    border: 1px solid var(--gold);
    border-radius: 3px;
}
.catalog .contact:hover, .catalog .contact:focus-visible { background: #30251e; }
.book-mosaic { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; }
.book-mosaic button { display: block; min-width: 0; padding: 0; border-radius: 2px; }
.book-mosaic button:focus-visible { outline-offset: 0; }
.book-mosaic img { width: 100%; aspect-ratio: 1.48; object-fit: cover; }
.catalog .no-photo {
    min-height: 178px;
    padding: 14px;
    aspect-ratio: auto;
    background: #e4dfd2;
    color: #172235;
    font-family: Cinzel, Georgia, serif;
    letter-spacing: normal;
}
.catalog .no-photo span { color: #534b3d; font-family: Lato, Arial, sans-serif; }
.catalog .region, .catalog .card { scroll-margin-top: 125px; }

.voltar-inicio {
    position: fixed;
    bottom: calc(12px + env(safe-area-inset-bottom));
    right: calc(14px + env(safe-area-inset-right));
    z-index: 1400;
    display: grid;
    place-content: center;
    width: 58px;
    height: 56px;
    border: 1px solid var(--gold);
    border-radius: 7px;
    color: var(--gold-highlight);
    background: var(--night);
    box-shadow: 0 3px 14px #0006;
    font-weight: 700;
    font-size: .72rem;
    cursor: pointer;
}
.voltar-inicio span:first-child { font-size: 1.35rem; line-height: 1; }
.voltar-inicio:hover, .voltar-inicio:focus-visible { background: #30251e; }
@media (max-width: 740px) {
    .catalog .card { grid-template-columns: minmax(0, 1fr); }
    .book-mosaic { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
    .catalog .region, .catalog .card { scroll-margin-top: 12px; }
}

@media (min-width: 1181px) {
    .top .wrap { width: min(1320px, calc(100% - 50px)); flex-wrap: nowrap; }
    .top nav { justify-content: flex-end; column-gap: 6px; }
    .top nav a { padding-inline: 6px; }
}

/* Apresentação institucional sobre o Arco da Inovação */
.hero-brand-film {
    position: relative;
    display: grid;
    place-items: center;
    width: min(510px, 90vw);
    height: clamp(130px, 21vw, 200px);
    margin: 0 auto 18px;
    mix-blend-mode: screen;
}
.hero-brand-film video {
    position: absolute;
    width: 100%;
    aspect-ratio: 16 / 9;
    opacity: .76;
    pointer-events: none;
}
.guide-footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 16px 24px;
    margin-top: 24px;
}
.guide-card {
    position: relative;
    flex: 0 1 760px;
    min-width: 0;
    margin-left: auto;
}
.catalog-guide .guide-card img { width: 100%; height: auto; }
.guide-card a {
    position: absolute;
    left: var(--x);
    top: var(--y);
    width: var(--w);
    height: var(--h);
    border-radius: 3px;
}
.guide-card a:hover { outline: 1px solid var(--gold-highlight); background: #c6a15b26; }
.guide-card a span {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
}
@media (max-width: 580px) {
    .guide-card {
        display: grid;
        gap: 4px;
        padding: 10px;
        border: 1px solid var(--line);
        border-radius: 6px;
    }
    .guide-card a {
        position: relative;
        inset: auto;
        width: auto;
        height: auto;
        min-height: 44px;
        display: flex;
        align-items: center;
        padding: 6px 8px;
        overflow-wrap: anywhere;
        color: var(--gold-highlight);
    }
    .guide-card a span { position: static; width: auto; height: auto; clip-path: none; }
}
.hero h1 .hero-title-category,
.hero h1 .hero-title-place { display: block; }
.hero h1 .hero-title-category {
    color: var(--text-primary);
    font-size: clamp(1.45rem, 5vw, 3.7rem);
}
.hero h1 .hero-title-place {
    margin-top: .16em;
    color: var(--gold-highlight);
    font-size: clamp(1.8rem, 6vw, 4.6rem);
    text-shadow: 0 3px 8px #000, 0 0 22px #080f1c;
}

/* Filtros com seleção por caixas de marcação */
.filter-hint { margin: 0 0 14px; }
.filter-options { min-width: 0; }
.filter-options summary {
    min-height: 44px;
    padding: 11px 10px;
    border: 1px solid var(--line);
    border-radius: 4px;
    color: var(--text-primary);
    background: var(--night);
    cursor: pointer;
    font-weight: 700;
}
.filter-options summary:focus-visible { outline: 2px solid var(--gold); }
.filter-option-count { color: var(--gold-highlight); }
.filter-option-list {
    max-height: 245px;
    overflow: auto;
    padding: 4px;
    background: var(--night);
    border: 1px solid var(--line);
}
.filter-option-list label {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 42px;
    padding: 4px 6px;
    cursor: pointer;
}
.filter-option-list input {
    flex: 0 0 17px;
    width: 17px;
    min-height: 17px;
    margin: 0;
    accent-color: var(--gold);
}

/* Seleção e compartilhamento de imóveis */
.catalog .card { position: relative; }
.catalog .card.is-selected {
    border-color: #d6a643;
    box-shadow: inset 0 0 0 2px #d6a643;
}
.catalog .card.is-selected::after {
    position: absolute;
    inset: 2px;
    content: "";
    background: rgba(198, 161, 91, .15);
    pointer-events: none;
}
.card-select, .share-only {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    cursor: pointer;
}
.card-select { color: #172235; }
.card-select input, .share-only input {
    width: 18px;
    min-height: 18px;
    margin: 0;
    accent-color: #ba8a35;
}
.share-bar {
    position: fixed;
    z-index: 1450;
    bottom: calc(12px + env(safe-area-inset-bottom));
    left: max(12px, env(safe-area-inset-left));
    right: max(88px, env(safe-area-inset-right));
    width: min(680px, calc(100% - 100px));
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 4px 12px;
    padding: 8px 12px;
    background: var(--night);
    color: var(--text-primary);
    border: 1px solid var(--gold);
    border-radius: 8px;
    box-shadow: 0 4px 20px #000a;
    font-size: .85rem;
}
.has-property-selection { padding-bottom: 136px; }
.share-bar .button { font-size: .85rem; }
.share-only { min-height: 30px; }
.share-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.share-close { margin: 0; padding: 0; border: 0; background: transparent; }
.share-message { margin-top: 18px; }
.share-message summary { cursor: pointer; }
.share-message textarea {
    width: 100%;
    margin-top: 8px;
    padding: 10px;
    resize: vertical;
    font: inherit;
}

/* Posição inicial do WhatsApp nesta página. */
#whatsapp-float {
    top: calc(clamp(116px, 27vh, 250px) + env(safe-area-inset-top));
    bottom: auto;
}

/* A solicitação usa os mesmos imóveis marcados no compartilhamento. */
.share-bar .button {
    max-width: 100%;
    white-space: normal;
    text-align: center;
}
.share-bar [aria-disabled="true"] { pointer-events: none; }
.has-property-selection {
    padding-bottom: calc(var(--selection-bar-height, 136px) + 24px);
}
