/* LOCALIA GUEST HOME — APPROVED RENDER FIDELITY HOTFIX */
@font-face{
    font-family:"Localia Avenir";
    src:local("Avenir Next Cyr Light"),local("AvenirNextCyr-Light"),local("Avenir Next Light");
    font-weight:300;
    font-style:normal;
    font-display:swap;
}
@font-face{
    font-family:"Localia Avenir";
    src:local("Avenir Next Cyr Regular"),local("AvenirNextCyr-Regular"),local("Avenir Next Regular");
    font-weight:400;
    font-style:normal;
    font-display:swap;
}
@font-face{
    font-family:"Localia Avenir";
    src:local("Avenir Next Cyr Medium"),local("AvenirNextCyr-Medium"),local("Avenir Next Medium");
    font-weight:500;
    font-style:normal;
    font-display:swap;
}
@font-face{
    font-family:"Localia Display";
    src:local("Iowan Old Style"),local("Baskerville"),local("Palatino Linotype"),local("Book Antiqua");
    font-weight:400;
    font-style:normal;
    font-display:swap;
}
:root{
    --localia-ink:#032050;
    --localia-gold:#c89f57;
    --localia-paper:#f7f4ed;
    --localia-white:#fff;
    --localia-muted:rgba(3,32,80,.60);
    --localia-border:rgba(3,32,80,.10);
    --localia-font-ui:"Localia Avenir","Avenir Next Cyr","Avenir Next",Avenir,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    --localia-font-display:"Localia Display","Iowan Old Style",Baskerville,"Palatino Linotype","Book Antiqua","Times New Roman",serif;
    --localia-ease:cubic-bezier(.22,1,.36,1);
    --localia-shadow:0 22px 55px rgba(3,32,80,.14);
}
html,body{background:var(--localia-paper)}
body{
    font-family:var(--localia-font-ui);
    font-weight:300;
    color:var(--localia-ink);
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
    text-rendering:geometricPrecision;
    font-synthesis:none;
}
.localia-app,
.localia-app button,
.localia-app input,
.localia-app textarea,
.localia-app select{
    font-family:var(--localia-font-ui);
    font-synthesis:none;
}
.localia-app{min-height:100svh;background:linear-gradient(180deg,#f7f4ed,#fbfaf7 65%,#f4f0e8)}
.localia-screen{
    position:relative;
    width:min(100%,760px);
    max-width:760px;
    padding:max(20px,env(safe-area-inset-top)) clamp(14px,4.5vw,34px) calc(132px + env(safe-area-inset-bottom));
    background:transparent;
}
.app-header{
    position:relative;
    z-index:20;
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:58px;
    margin:0;
    padding:0 clamp(5px,1vw,10px);
}
.localia-brand{display:block}
.localia-logo-image{display:block;width:clamp(142px,39vw,205px);height:auto}
.app-header-side{display:flex;align-items:center}
.guest-language-menu{position:relative}
.guest-language-summary{
    height:48px;
    display:flex;
    align-items:center;
    gap:8px;
    padding:0 15px;
    border:1px solid rgba(255,255,255,.88);
    border-radius:999px;
    color:var(--localia-ink);
    background:rgba(255,255,255,.42);
    box-shadow:0 8px 24px rgba(3,32,80,.07);
    backdrop-filter:blur(14px);
    list-style:none;
    cursor:pointer;
}
.guest-language-summary::-webkit-details-marker{display:none}
.guest-language-globe{width:22px;height:22px}
.guest-language-chevron{width:16px;height:16px;transition:transform 180ms ease}
.guest-language-menu[open] .guest-language-chevron{transform:rotate(180deg)}
.guest-language-current{font-size:14px;font-weight:400;letter-spacing:.055em}
.guest-language-globe svg,.guest-language-chevron svg{width:100%;height:100%}
.guest-language-options{
    position:absolute;
    right:0;
    top:calc(100% + 9px);
    width:190px;
    padding:7px;
    border:1px solid rgba(3,32,80,.08);
    border-radius:18px;
    background:rgba(255,255,255,.97);
    box-shadow:0 20px 48px rgba(3,32,80,.18);
    backdrop-filter:blur(20px);
}
.guest-language-option{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    border:0;
    border-radius:12px;
    padding:10px 11px;
    color:rgba(3,32,80,.72);
    background:transparent;
    font-size:13px;
    font-weight:300;
    line-height:1.2;
    text-align:left;
}
.guest-language-option strong{font-size:11px;font-weight:500;letter-spacing:.08em}
.guest-language-option.is-active{color:#fff;background:var(--localia-ink)}

.screen-content{min-width:0;padding-bottom:26px;transform-origin:center;will-change:transform,opacity}
.screen-content.localia-enter-right{animation:enterRight 280ms var(--localia-ease) both}
.screen-content.localia-enter-left{animation:enterLeft 280ms var(--localia-ease) both}
@keyframes enterRight{from{opacity:.18;transform:translate3d(32px,0,0)}to{opacity:1;transform:none}}
@keyframes enterLeft{from{opacity:.18;transform:translate3d(-32px,0,0)}to{opacity:1;transform:none}}

.home-hero{
    position:relative;
    isolation:isolate;
    height:clamp(438px,66svh,575px);
    margin:calc(-58px - max(20px,env(safe-area-inset-top))) calc(-1 * clamp(14px,4.5vw,34px)) 0;
    overflow:hidden;
    background:var(--localia-paper);
}
.home-hero-image{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center right;
    -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 84%,rgba(0,0,0,.96) 90%,rgba(0,0,0,.62) 96%,transparent 100%);
    mask-image:linear-gradient(to bottom,#000 0%,#000 84%,rgba(0,0,0,.96) 90%,rgba(0,0,0,.62) 96%,transparent 100%);
}
.home-hero-overlay{
    position:absolute;
    inset:0;
    z-index:1;
    background:
        linear-gradient(90deg,rgba(249,247,242,.99) 0%,rgba(249,247,242,.96) 30%,rgba(249,247,242,.58) 53%,rgba(249,247,242,.08) 79%),
        linear-gradient(180deg,rgba(255,255,255,.06) 0%,rgba(255,255,255,0) 82%,rgba(247,244,237,.16) 91%,var(--localia-paper) 100%);
    pointer-events:none;
}
.home-hero-content{
    position:absolute;
    z-index:2;
    left:clamp(22px,7vw,58px);
    top:clamp(150px,24svh,216px);
    width:calc(100% - clamp(42px,12vw,92px));
    max-width:680px;
    color:var(--localia-ink);
}
.home-hero-eyebrow{
    margin-bottom:12px;
    color:var(--localia-gold);
    font-size:clamp(10px,2.45vw,13px);
    font-weight:500;
    letter-spacing:.20em;
    text-transform:uppercase;
}
.home-hero-title{
    margin:0;
    width:max-content;
    max-width:none;
    white-space:nowrap;
    font-family:var(--localia-font-display);
    font-size:min(10.0vw,68px);
    font-weight:400;
    line-height:.98;
    letter-spacing:-.035em;
    text-transform:none;
    font-variant-caps:normal;
    font-feature-settings:"case" 0;
    text-wrap:nowrap;
    font-synthesis:none;
}
.home-hero-rule{width:48px;height:2px;margin:22px 0 18px;border-radius:999px;background:var(--localia-gold)}
.home-hero-text{
    margin:0;
    color:rgba(3,32,80,.88);
    font-size:clamp(16px,4.05vw,24px);
    font-weight:300;
    line-height:1.35;
    letter-spacing:-.01em;
}

.home-ask-card{
    position:relative;
    z-index:5;
    margin:-42px clamp(0px,1.7vw,12px) 0;
    padding:18px clamp(17px,4vw,28px);
    border:1px solid rgba(255,255,255,.90);
    border-radius:clamp(22px,5vw,30px);
    background:rgba(255,255,255,.95);
    box-shadow:0 25px 55px rgba(3,32,80,.16);
    backdrop-filter:blur(20px);
}
.home-ask-main{
    width:100%;
    display:grid;
    grid-template-columns:34px minmax(0,1fr) 48px;
    align-items:center;
    gap:12px;
    border:0;
    padding:0;
    color:var(--localia-ink);
    background:transparent;
    text-align:left;
}
.home-ask-sparkle{width:29px;height:29px;display:grid;place-items:center;color:var(--localia-gold)}
.home-ask-placeholder{
    overflow:hidden;
    color:rgba(3,32,80,.50);
    font-size:clamp(16px,4vw,21px);
    font-weight:300;
    letter-spacing:-.012em;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.home-ask-action{
    width:48px;
    height:48px;
    display:grid;
    place-items:center;
    border-radius:999px;
    color:#fff;
    background:var(--localia-ink);
    box-shadow:0 10px 23px rgba(3,32,80,.22);
}
.home-ask-suggestions{
    display:flex;
    align-items:center;
    margin-top:15px;
    padding-top:14px;
    overflow-x:auto;
    border-top:1px solid rgba(3,32,80,.09);
    scrollbar-width:none;
}
.home-ask-suggestions::-webkit-scrollbar{display:none}
.home-ask-suggestions button{
    flex:0 0 auto;
    display:flex;
    align-items:center;
    gap:8px;
    border:0;
    border-left:1px solid rgba(3,32,80,.10);
    padding:0 16px;
    color:rgba(3,32,80,.61);
    background:transparent;
    font-size:clamp(11px,2.7vw,14px);
    font-weight:300;
    line-height:1.35;
    white-space:nowrap;
}
.home-ask-suggestions button:first-child{padding-left:0;border-left:0}
.home-ask-suggestions button span{color:var(--localia-gold);font-size:20px;line-height:1}
.home-ask-footer{
    margin-top:13px;
    padding-top:12px;
    border-top:1px solid rgba(3,32,80,.08);
    color:rgba(3,32,80,.43);
    font-size:11px;
    font-weight:300;
}
.home-ask-footer strong{color:var(--localia-gold);font-weight:400}

.home-grid.home-grid-premium{display:grid;grid-template-columns:1fr;gap:12px;margin-top:26px}
.home-module-card.home-module-premium{
    position:relative;
    isolation:isolate;
    min-height:clamp(220px,36vw,290px);
    overflow:hidden;
    border:0;
    border-radius:clamp(23px,5vw,30px);
    padding:0;
    color:#fff;
    background:var(--localia-ink);
    box-shadow:0 15px 35px rgba(3,32,80,.11);
    text-align:left;
    transition:transform 180ms ease;
}
.home-module-card.home-module-premium::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    background:
        linear-gradient(90deg,rgba(2,19,44,.86) 0%,rgba(3,32,80,.50) 46%,rgba(3,32,80,.06) 100%),
        linear-gradient(180deg,rgba(3,32,80,.02),rgba(3,32,80,.48));
}
.home-module-card:active{transform:scale(.988)}
.home-module-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform 600ms var(--localia-ease)}
.home-module-content{
    position:relative;
    z-index:2;
    min-height:clamp(220px,36vw,290px);
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-end;
    padding:clamp(20px,5vw,31px);
}
.home-module-icon{
    width:clamp(48px,11vw,61px);
    height:clamp(48px,11vw,61px);
    display:grid;
    place-items:center;
    margin-bottom:auto;
    border:1px solid rgba(255,255,255,.55);
    border-radius:999px;
    color:#fff;
    background:rgba(3,32,80,.18);
    backdrop-filter:blur(8px);
}
.home-module-title{
    margin:0 0 8px;
    color:#fff;
    font-family:var(--localia-font-display);
    font-size:clamp(37px,8.9vw,55px);
    font-weight:400;
    line-height:1;
    letter-spacing:-.025em;
    text-transform:none;
    font-variant-caps:normal;
    font-feature-settings:"case" 0;
    font-synthesis:none;
}
.home-module-text{
    max-width:76%;
    margin:0;
    color:rgba(255,255,255,.90);
    font-size:clamp(11px,2.55vw,14px);
    font-weight:300;
    line-height:1.45;
    letter-spacing:.085em;
    text-transform:uppercase;
}
.home-module-arrow{
    position:absolute;
    right:clamp(18px,4vw,28px);
    bottom:clamp(18px,4vw,28px);
    width:clamp(49px,11vw,61px);
    height:clamp(49px,11vw,61px);
    display:grid;
    place-items:center;
    border:1px solid rgba(255,255,255,.86);
    border-radius:999px;
    color:#fff;
    background:rgba(3,32,80,.15);
    backdrop-filter:blur(8px);
}
.home-module-card .home-image-credit{display:none}
.home-notice-list,.resume-tour-card{margin-top:18px}

.bottom-nav{
    bottom:max(12px,env(safe-area-inset-bottom));
    width:min(720px,calc(100% - 20px));
    min-height:84px;
    grid-template-columns:repeat(5,1fr);
    gap:0;
    border:1px solid rgba(3,32,80,.08);
    border-radius:clamp(22px,5vw,30px);
    padding:8px 10px 9px;
    background:rgba(255,255,255,.94);
    box-shadow:0 22px 52px rgba(3,32,80,.16);
    backdrop-filter:blur(22px);
}
.bottom-nav button{
    position:relative;
    min-width:0;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:4px;
    border-radius:18px;
    padding:4px 2px;
    color:rgba(3,32,80,.45);
    font-family:var(--localia-font-ui);
    font-size:clamp(9px,2.4vw,12px);
    font-weight:300;
    line-height:1;
}
.bottom-nav button.is-active{color:var(--localia-ink);background:transparent}
.bottom-nav button.is-active::after{
    content:"";
    position:absolute;
    left:50%;
    bottom:-3px;
    width:18px;
    height:2px;
    transform:translateX(-50%);
    border-radius:999px;
    background:var(--localia-ink);
}
.bottom-nav button.is-primary{
    width:68px;
    height:68px;
    justify-self:center;
    align-self:center;
    margin-top:-31px;
    border-radius:999px;
    color:#fff;
    background:var(--localia-ink);
    box-shadow:0 15px 30px rgba(3,32,80,.25);
}
.bottom-nav button.is-primary::after{display:none}
.bottom-nav button.is-primary .bottom-nav-label{position:absolute;top:calc(100% + 8px);color:rgba(3,32,80,.62)}
.bottom-nav-icon{width:clamp(24px,6vw,30px);height:clamp(24px,6vw,30px);display:grid;place-items:center}
.bottom-nav-icon svg,.home-module-icon svg,.home-module-arrow svg,.home-ask-sparkle svg,.home-ask-action svg{width:100%;height:100%}
.bottom-nav-label{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.hero-title,.explore-hero .hero-title,.placeholder-title,.tour-detail-title,.tour-experience-title,.tour-completed-title,.attraction-detail-title,.nearby-hero .hero-title,.stay-hero-title{
    font-family:var(--localia-font-display);
    font-weight:400;
    font-synthesis:none;
}

@media(min-width:600px){
    .localia-screen{
        margin:18px auto;
        min-height:calc(100svh - 36px);
        overflow:hidden;
        border:1px solid rgba(3,32,80,.06);
        border-radius:38px;
        box-shadow:0 30px 85px rgba(3,32,80,.10);
    }
    .home-hero{margin-top:calc(-58px - max(20px,env(safe-area-inset-top)));border-radius:0}
    .home-ask-card{margin-left:18px;margin-right:18px}
    .home-grid.home-grid-premium{padding-inline:8px}
    .bottom-nav{width:min(700px,calc(100% - 42px))}
}
@media(max-width:430px){
    .home-hero-content{width:calc(100% - 38px)}
}
@media(max-width:370px){
    .localia-screen{padding-inline:12px}
    .home-hero{margin-inline:-12px;height:420px}
    .home-hero-content{left:20px;top:145px;width:calc(100% - 30px)}
    .home-hero-title{font-size:9.5vw}
    .home-ask-card{padding:15px}
    .home-ask-main{grid-template-columns:29px minmax(0,1fr) 44px}
    .home-ask-action{width:44px;height:44px}
    .home-module-text{max-width:68%}
    .bottom-nav{width:calc(100% - 12px)}
}
@media(prefers-reduced-motion:reduce){
    .screen-content.localia-enter-right,
    .screen-content.localia-enter-left,
    .home-module-image{animation:none;transition:none}
}


/* Approved render typography correction 02 */
.home-hero-title,.home-module-title{
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
}
.home-module-text,.bottom-nav-label,.home-ask-placeholder,.home-ask-suggestions button{font-weight:300}

/* Approved Guest Home hero — render fidelity correction 03 */
.home-hero{
    height:clamp(430px,64svh,555px);
}
.home-hero-image{
    object-fit:cover;
    object-position:center center;
    filter:none;
    opacity:1;
    -webkit-mask-image:none;
    mask-image:none;
}
.home-hero-overlay{
    background:linear-gradient(
        180deg,
        rgba(247,244,237,0) 0%,
        rgba(247,244,237,0) 88%,
        rgba(247,244,237,.08) 93%,
        rgba(247,244,237,.48) 98%,
        var(--localia-paper) 100%
    );
}
.home-hero-content{
    left:clamp(22px,6.3vw,58px);
    top:clamp(148px,21svh,198px);
    width:calc(100% - clamp(42px,11vw,88px));
}
.home-hero-eyebrow{
    margin-bottom:13px;
    font-size:clamp(10px,2.35vw,13px);
    letter-spacing:.19em;
}
.home-hero-title{
    font-size:clamp(33px,8.65vw,64px);
    line-height:.99;
    letter-spacing:-.032em;
}
.home-hero-rule{
    width:48px;
    margin:21px 0 17px;
}
.home-hero-text{
    font-size:clamp(16px,3.9vw,23px);
    line-height:1.32;
}
@media(max-width:370px){
    .home-hero{
        height:420px;
    }
    .home-hero-content{
        top:142px;
    }
    .home-hero-title{
        font-size:32px;
    }
}

/* LOCALIA HOTEL-MANAGED HOME HERO — responsive focus and seasonal image support */
.home-hero{
    --home-hero-focus-x:50%;
    --home-hero-focus-y:50%;
    --home-hero-mobile-focus-x:86%;
    --home-hero-mobile-focus-y:44%;
    --home-hero-fade-start:82%;
    --home-hero-fade-soft:88%;
    --home-hero-fade-mid:94%;
    --home-hero-fade-strong:100%;
    --home-hero-fade-alpha:.94;
}
.home-hero-image{
    object-position:var(--home-hero-mobile-focus-x) var(--home-hero-mobile-focus-y);
}
.home-hero-overlay{
    background:linear-gradient(
        180deg,
        rgba(247,244,237,0) 0%,
        rgba(247,244,237,0) var(--home-hero-fade-start),
        rgba(247,244,237,.10) var(--home-hero-fade-soft),
        rgba(247,244,237,.42) var(--home-hero-fade-mid),
        rgba(247,244,237,var(--home-hero-fade-alpha)) var(--home-hero-fade-strong),
        var(--localia-paper) 100%
    );
}
.home-hero-credit{
    position:absolute;
    z-index:3;
    right:clamp(14px,4vw,28px);
    bottom:47px;
    max-width:min(62%,360px);
    padding:5px 8px;
    border-radius:999px;
    color:rgba(3,32,80,.65);
    background:rgba(255,255,255,.68);
    backdrop-filter:blur(10px);
    font-size:9px;
    font-weight:300;
    line-height:1.25;
    text-align:right;
}
.home-hero-credit .tour-image-modification-note{display:none}
.home-hero-credit .tour-image-credit-links{display:inline;margin-left:4px}
.home-hero-credit a{color:inherit;text-decoration:underline;text-underline-offset:2px}
@media(min-width:600px){
    .home-hero-image{
        object-position:var(--home-hero-focus-x) var(--home-hero-focus-y);
    }
}


/* =====================================================
   LOCALIA GUEST HOME — FULL BACKDROP + LANGUAGE TYPOGRAPHY PHASE 3
   The image is shared by all languages. Copy size is language-specific.
   ===================================================== */
.home-screen{
    --home-hero-focus-x:50%;
    --home-hero-focus-y:50%;
    --home-hero-mobile-focus-x:86%;
    --home-hero-mobile-focus-y:44%;
    --home-hero-fade-start:76%;
    --home-hero-fade-soft:82%;
    --home-hero-fade-mid:88%;
    --home-hero-fade-strong:94%;
    --home-hero-fade-alpha:.94;
    --home-hero-title-size-mobile:39px;
    --home-hero-help-size-mobile:18px;
    --home-hero-title-size-large:52px;
    --home-hero-help-size-large:22px;
    position:relative;
    isolation:isolate;
    min-width:0;
    margin-top:calc(-58px - max(20px,env(safe-area-inset-top)));
    padding-top:calc(58px + max(20px,env(safe-area-inset-top)));
}
.home-screen>*:not(.home-hero-backdrop){position:relative;z-index:2}
.home-hero-backdrop{
    position:absolute;
    z-index:0;
    top:0;
    left:calc(-1 * clamp(14px,4.5vw,34px));
    right:calc(-1 * clamp(14px,4.5vw,34px));
    height:clamp(880px,calc(100svh + 170px),1100px);
    overflow:hidden;
    pointer-events:none;
    background:var(--localia-paper);
}
.home-hero-backdrop-image{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:var(--home-hero-mobile-focus-x) var(--home-hero-mobile-focus-y);
    filter:none;
    opacity:1;
}
.home-hero-backdrop-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(
        180deg,
        rgba(247,244,237,0) 0%,
        rgba(247,244,237,0) var(--home-hero-fade-start),
        rgba(247,244,237,.08) var(--home-hero-fade-soft),
        rgba(247,244,237,.34) var(--home-hero-fade-mid),
        rgba(247,244,237,var(--home-hero-fade-alpha)) var(--home-hero-fade-strong),
        var(--localia-paper) 100%
    );
}
.home-hero{
    height:clamp(455px,59svh,540px);
    margin:0 calc(-1 * clamp(14px,4.5vw,34px));
    overflow:visible;
    background:transparent;
}
.home-hero-content{
    left:clamp(22px,6.3vw,58px);
    top:clamp(68px,10.5svh,102px);
    width:calc(100% - clamp(42px,11vw,88px));
}
.home-hero-title{
    width:max-content;
    max-width:none;
    white-space:nowrap;
    font-size:min(var(--home-hero-title-size-mobile),10.8vw);
    font-weight:400;
    line-height:.99;
    letter-spacing:-.032em;
}
.home-hero-text{
    font-size:min(var(--home-hero-help-size-mobile),5.4vw);
    font-weight:300;
    line-height:1.32;
}
.home-hero-credit{bottom:30px}
.home-ask-card{
    z-index:4;
    margin:-62px clamp(0px,1.7vw,12px) 0;
}
.home-grid.home-grid-premium,
.home-screen .home-notice-card,
.home-screen .resume-tour-card,
.home-screen .resume-custom-tour-card{position:relative;z-index:3}
.home-grid.home-grid-premium{margin-top:26px}
@media(min-width:600px){
    .home-hero-backdrop-image{object-position:var(--home-hero-focus-x) var(--home-hero-focus-y)}
    .home-hero-backdrop{height:clamp(980px,calc(100svh + 240px),1260px)}
    .home-hero{height:clamp(520px,62svh,650px)}
    .home-hero-content{top:clamp(92px,12svh,130px)}
    .home-hero-title{font-size:var(--home-hero-title-size-large)}
    .home-hero-text{font-size:var(--home-hero-help-size-large)}
    .home-ask-card{margin-top:-86px}
}
@media(max-width:370px){
    .home-hero{height:440px}
    .home-hero-content{top:62px}
    .home-ask-card{margin-top:-54px}
}


/* ==========================================================================
   LOCALIA GUEST HOME — FINAL APPROVED DESIGN 01
   Approved visual structure:
   - user-supplied blue/gold LOCALIA SVG
   - Local system display + Localia Avenir UI (no third-party font request)
   - clean hero, Ask card overlap and three full-width image modules
   - production copy remains language/catalog driven
   ========================================================================== */
:root{
    --localia-ink:#032050;
    --localia-gold:#BA9956;
    --localia-font-ui:"Localia Avenir",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    --localia-font-display:"Localia Display",Georgia,serif;
}
body,
.localia-app,
.localia-app button,
.localia-app input,
.localia-app textarea,
.localia-app select{
    font-family:var(--localia-font-ui);
}
.localia-app.is-screen-home .localia-screen{
    padding-inline:clamp(12px,3.8vw,30px);
}
.localia-app.is-screen-home .app-header{
    position:absolute;
    z-index:30;
    top:max(14px,env(safe-area-inset-top));
    left:clamp(18px,5vw,42px);
    right:clamp(14px,4vw,34px);
    min-height:44px;
    padding:0;
    align-items:flex-start;
}
.localia-app.is-screen-home .localia-logo-image{
    width:min(50vw,205px);
    height:auto;
    filter:
        drop-shadow(0 1px 0 rgba(255,255,255,.52))
        drop-shadow(0 4px 9px rgba(3,32,80,.13));
}
.localia-app.is-screen-home .guest-language-summary{
    height:42px;
    padding-inline:13px;
    background:rgba(255,255,255,.48);
}
.localia-app.is-screen-home .home-screen{
    margin-top:calc(-1 * max(20px,env(safe-area-inset-top)));
    padding-top:0;
}
.localia-app.is-screen-home .home-hero-backdrop{
    top:0;
    left:calc(-1 * clamp(12px,3.8vw,30px));
    right:calc(-1 * clamp(12px,3.8vw,30px));
    height:clamp(780px,102svh,1040px);
}
.localia-app.is-screen-home .home-hero-backdrop-image{
    object-position:var(--home-hero-mobile-focus-x) var(--home-hero-mobile-focus-y);
}
.localia-app.is-screen-home .home-hero-backdrop-overlay{
    background:
        linear-gradient(180deg,
            rgba(35,101,171,.30) 0%,
            rgba(79,139,199,.15) 18%,
            rgba(139,179,218,.04) 36%,
            rgba(139,179,218,0) 45%),
        linear-gradient(180deg,
            rgba(247,244,237,0) 0%,
            rgba(247,244,237,0) var(--home-hero-fade-start),
            rgba(247,244,237,.08) var(--home-hero-fade-soft),
            rgba(247,244,237,.34) var(--home-hero-fade-mid),
            rgba(247,244,237,var(--home-hero-fade-alpha)) var(--home-hero-fade-strong),
            var(--localia-paper) 100%);
}
.localia-app.is-screen-home .home-hero{
    height:clamp(465px,61svh,555px);
    margin:0 calc(-1 * clamp(12px,3.8vw,30px));
}
.localia-app.is-screen-home .home-hero-content{
    top:clamp(145px,20svh,190px);
    left:clamp(20px,5.5vw,48px);
    width:calc(100% - clamp(36px,10vw,82px));
}
.localia-app.is-screen-home .home-hero-eyebrow{
    margin-bottom:11px;
    font-family:var(--localia-font-ui);
    font-size:clamp(9px,2.35vw,12px);
    font-weight:500;
    letter-spacing:.20em;
}
.localia-app.is-screen-home .home-hero-title{
    font-family:var(--localia-font-display);
    font-size:min(var(--home-hero-title-size-mobile),10.5vw);
    line-height:.98;
    letter-spacing:-.038em;
    font-weight:400;
}
.localia-app.is-screen-home .home-hero-rule{
    width:44px;
    height:2px;
    margin:20px 0 16px;
    background:var(--localia-gold);
}
.localia-app.is-screen-home .home-hero-text{
    max-width:300px;
    font-family:var(--localia-font-ui);
    font-size:min(var(--home-hero-help-size-mobile),4.8vw);
    line-height:1.42;
    font-weight:400;
}
.localia-app.is-screen-home .home-ask-card{
    z-index:8;
    margin:-55px 0 0;
    padding:16px 17px 13px;
    border-radius:22px;
    box-shadow:0 17px 39px rgba(3,32,80,.16);
}
.localia-app.is-screen-home .home-ask-main{
    grid-template-columns:28px minmax(0,1fr) 48px;
    gap:11px;
}
.localia-app.is-screen-home .home-ask-placeholder{
    font-family:var(--localia-font-ui);
    font-size:clamp(14px,3.7vw,19px);
    font-weight:400;
}
.localia-app.is-screen-home .home-ask-suggestions{
    gap:0;
    margin-top:12px;
    padding-top:12px;
}
.localia-app.is-screen-home .home-ask-suggestions button{
    padding-inline:13px;
    font-size:clamp(8px,2.25vw,12px);
    font-weight:400;
}
.localia-app.is-screen-home .home-ask-suggestions button span{
    font-size:15px;
}
.localia-app.is-screen-home .home-ask-footer{
    margin-top:10px;
    padding-top:0;
    border-top:0;
    font-size:9px;
    font-weight:400;
}
.localia-app.is-screen-home .home-grid.home-grid-premium{
    gap:8px;
    margin-top:14px;
}
.localia-app.is-screen-home .home-module-card.home-module-premium{
    min-height:clamp(138px,38vw,225px);
    border-radius:18px;
}
.localia-app.is-screen-home .home-module-card.home-module-premium::after{
    background:
        linear-gradient(90deg,rgba(2,19,44,.82) 0%,rgba(3,32,80,.47) 42%,rgba(3,32,80,.05) 78%),
        linear-gradient(180deg,rgba(3,32,80,.02),rgba(3,32,80,.26));
}
.localia-app.is-screen-home .home-module-content{
    min-height:clamp(138px,38vw,225px);
    padding:clamp(15px,4vw,25px);
}
.localia-app.is-screen-home .home-module-icon{
    width:clamp(40px,10vw,56px);
    height:clamp(40px,10vw,56px);
    margin-bottom:auto;
}
.localia-app.is-screen-home .home-module-title{
    margin-bottom:5px;
    font-family:var(--localia-font-display);
    font-size:clamp(30px,8.4vw,49px);
    line-height:.96;
    letter-spacing:-.035em;
}
.localia-app.is-screen-home .home-module-text{
    max-width:72%;
    font-family:var(--localia-font-ui);
    font-size:clamp(8px,2.2vw,12px);
    line-height:1.3;
    letter-spacing:.08em;
    font-weight:500;
}
.localia-app.is-screen-home .home-module-arrow{
    right:clamp(14px,3.6vw,24px);
    bottom:clamp(14px,3.6vw,24px);
    width:clamp(41px,10vw,55px);
    height:clamp(41px,10vw,55px);
}
.localia-app.is-screen-home .bottom-nav{
    min-height:78px;
    border-radius:25px;
}
.localia-app.is-screen-home .bottom-nav button{
    font-family:var(--localia-font-ui);
    font-weight:400;
}
.localia-app.is-screen-home .bottom-nav button.is-active::after{
    background:var(--localia-gold);
}
@media(max-width:370px){
    .localia-app.is-screen-home .localia-logo-image{width:min(50vw,185px)}
    .localia-app.is-screen-home .home-hero{height:440px}
    .localia-app.is-screen-home .home-hero-content{top:134px}
    .localia-app.is-screen-home .home-ask-card{margin-top:-48px}
}
@media(min-width:600px){
    .localia-app.is-screen-home .app-header{top:30px;left:42px;right:35px}
    .localia-app.is-screen-home .localia-logo-image{width:270px}
    .localia-app.is-screen-home .home-hero-backdrop{
        height:clamp(940px,108svh,1260px);
    }
    .localia-app.is-screen-home .home-hero-backdrop-image{
        object-position:var(--home-hero-focus-x) var(--home-hero-focus-y);
    }
    .localia-app.is-screen-home .home-hero{height:clamp(540px,64svh,660px)}
    .localia-app.is-screen-home .home-hero-content{top:185px;left:48px}
    .localia-app.is-screen-home .home-hero-title{font-size:var(--home-hero-title-size-large)}
    .localia-app.is-screen-home .home-hero-text{font-size:var(--home-hero-help-size-large)}
    .localia-app.is-screen-home .home-ask-card{margin:-78px 18px 0;padding:20px 22px 17px}
    .localia-app.is-screen-home .home-grid.home-grid-premium{padding-inline:8px;gap:12px}
}


/* ==========================================================================
   LOCALIA GUEST HOME — FINAL APPROVED DESIGN 01 HOTFIX 01
   Fixes requested after first production try:
   - remove lower underline/submark artifact beneath the logo by using wordmark-only SVG
   - reduce module image visual weight
   - reduce module overlay gradient intensity
   - tighten module card heights and typography for a lighter premium look
   ========================================================================== */
.localia-app.is-screen-home .localia-logo-image{
    width:min(50vw,202px);
    filter:drop-shadow(0 1px 0 rgba(255,255,255,.32)) drop-shadow(0 2px 6px rgba(3,32,80,.10));
}
.localia-app.is-screen-home .home-grid.home-grid-premium{
    gap:10px;
    margin-top:12px;
}
.localia-app.is-screen-home .home-module-card.home-module-premium{
    min-height:clamp(124px,31vw,182px);
    border-radius:18px;
}
.localia-app.is-screen-home .home-module-card.home-module-premium::after{
    background:
        linear-gradient(90deg,rgba(2,19,44,.60) 0%,rgba(3,32,80,.28) 44%,rgba(3,32,80,.04) 78%),
        linear-gradient(180deg,rgba(3,32,80,.02),rgba(3,32,80,.18));
}
.localia-app.is-screen-home .home-module-image{
    object-fit:cover;
    object-position:center center;
}
.localia-app.is-screen-home .home-module-card[data-screen="explore"] .home-module-image{object-position:64% 50%;}
.localia-app.is-screen-home .home-module-card[data-screen="nearby"] .home-module-image{object-position:52% 50%;}
.localia-app.is-screen-home .home-module-card[data-screen="stay"] .home-module-image{object-position:58% 50%;}
.localia-app.is-screen-home .home-module-content{
    min-height:clamp(124px,31vw,182px);
    padding:clamp(15px,4vw,22px);
}
.localia-app.is-screen-home .home-module-icon{
    width:clamp(37px,9.2vw,48px);
    height:clamp(37px,9.2vw,48px);
    border-color:rgba(255,255,255,.62);
    background:rgba(3,32,80,.12);
    backdrop-filter:blur(6px);
}
.localia-app.is-screen-home .home-module-title{
    margin-bottom:5px;
    font-size:clamp(27px,7.2vw,38px);
    line-height:.95;
    letter-spacing:-.03em;
}
.localia-app.is-screen-home .home-module-text{
    max-width:68%;
    font-size:clamp(8px,2.05vw,10px);
    line-height:1.33;
    font-weight:500;
    letter-spacing:.06em;
}
.localia-app.is-screen-home .home-module-arrow{
    right:clamp(13px,3.3vw,20px);
    bottom:clamp(13px,3.3vw,20px);
    width:clamp(39px,9.3vw,48px);
    height:clamp(39px,9.3vw,48px);
    background:rgba(3,32,80,.10);
    backdrop-filter:blur(6px);
}
@media(max-width:370px){
    .localia-app.is-screen-home .home-module-card.home-module-premium,
    .localia-app.is-screen-home .home-module-content{min-height:118px;}
    .localia-app.is-screen-home .home-module-title{font-size:24px;}
}
@media(min-width:600px){
    .localia-app.is-screen-home .home-grid.home-grid-premium{gap:14px;}
    .localia-app.is-screen-home .home-module-card.home-module-premium,
    .localia-app.is-screen-home .home-module-content{min-height:210px;}
    .localia-app.is-screen-home .home-module-title{font-size:44px;}
    .localia-app.is-screen-home .home-module-text{font-size:11px;}
}


/* ==========================================================================
   LOCALIA GUEST HOME — FINAL APPROVED DESIGN 01 HOTFIX 02
   Strong visual correction after real-device review.
   ========================================================================== */

/* MODULES: visibly smaller, calmer, lighter and less image-dominant. */
.localia-app.is-screen-home .home-grid.home-grid-premium{
    gap:9px !important;
    margin-top:12px !important;
}
.localia-app.is-screen-home .home-module-card.home-module-premium{
    min-height:108px !important;
    height:108px !important;
    border-radius:16px !important;
    box-shadow:0 10px 24px rgba(3,32,80,.10) !important;
}
.localia-app.is-screen-home .home-module-card.home-module-premium::after{
    background:linear-gradient(90deg,
        rgba(2,19,44,.50) 0%,
        rgba(3,32,80,.25) 38%,
        rgba(3,32,80,.06) 64%,
        rgba(3,32,80,0) 82%) !important;
}
.localia-app.is-screen-home .home-module-image{
    object-fit:cover !important;
    filter:saturate(.92) contrast(.98) !important;
}
.localia-app.is-screen-home .home-module-card[data-screen="explore"] .home-module-image{object-position:62% 52% !important;}
.localia-app.is-screen-home .home-module-card[data-screen="nearby"] .home-module-image{object-position:50% 50% !important;}
.localia-app.is-screen-home .home-module-card[data-screen="stay"] .home-module-image{object-position:58% 50% !important;}
.localia-app.is-screen-home .home-module-content{
    min-height:108px !important;
    height:108px !important;
    padding:12px 14px !important;
}
.localia-app.is-screen-home .home-module-icon{
    width:34px !important;
    height:34px !important;
    margin-bottom:auto !important;
    border-width:1px !important;
    background:rgba(3,32,80,.08) !important;
    backdrop-filter:none !important;
}
.localia-app.is-screen-home .home-module-icon svg{width:21px !important;height:21px !important;}
.localia-app.is-screen-home .home-module-title{
    margin:0 0 3px !important;
    font-size:25px !important;
    line-height:.95 !important;
    letter-spacing:-.03em !important;
}
.localia-app.is-screen-home .home-module-text{
    max-width:66% !important;
    font-size:7.5px !important;
    line-height:1.28 !important;
    letter-spacing:.055em !important;
    font-weight:500 !important;
}
.localia-app.is-screen-home .home-module-arrow{
    right:12px !important;
    bottom:12px !important;
    width:35px !important;
    height:35px !important;
    background:rgba(3,32,80,.07) !important;
    backdrop-filter:none !important;
}
.localia-app.is-screen-home .home-module-arrow svg{width:19px !important;height:19px !important;}

/* IMPORTANT NOTICE: compact premium banner instead of large generic card. */
.localia-app.is-screen-home .home-notice-list{
    margin-top:12px !important;
}
.localia-app.is-screen-home .home-notice-card{
    position:relative !important;
    min-height:0 !important;
    margin:0 !important;
    padding:13px 42px 13px 15px !important;
    border:1px solid rgba(186,153,86,.26) !important;
    border-radius:18px !important;
    background:rgba(255,255,255,.94) !important;
    box-shadow:0 10px 26px rgba(3,32,80,.09) !important;
    text-align:left !important;
}
.localia-app.is-screen-home .home-notice-card::after{
    content:none !important;
    position:absolute !important;
    right:15px !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    color:rgba(3,32,80,.42) !important;
    font-size:24px !important;
    line-height:1 !important;
}
.localia-app.is-screen-home .notice-priority-row{
    margin:0 0 5px !important;
}
.localia-app.is-screen-home .notice-priority-label{
    gap:6px !important;
    font-size:8px !important;
    font-weight:600 !important;
    letter-spacing:.12em !important;
    text-transform:uppercase !important;
}
.localia-app.is-screen-home .notice-priority-dot{
    width:6px !important;
    height:6px !important;
}
.localia-app.is-screen-home .home-notice-count{display:none !important;}
.localia-app.is-screen-home .home-notice-title{
    margin:0 0 3px !important;
    color:var(--localia-ink) !important;
    font-size:15px !important;
    line-height:1.25 !important;
    font-weight:600 !important;
}
.localia-app.is-screen-home .home-notice-text{
    margin:0 !important;
    color:rgba(3,32,80,.58) !important;
    font-size:11px !important;
    line-height:1.35 !important;
    font-weight:400 !important;
}
.localia-app.is-screen-home .home-notice-more{
    margin-top:8px !important;
    padding:8px 12px !important;
    font-size:10px !important;
    font-weight:500 !important;
}

@media(max-width:370px){
    .localia-app.is-screen-home .home-module-card.home-module-premium,
    .localia-app.is-screen-home .home-module-content{
        height:102px !important;
        min-height:102px !important;
    }
    .localia-app.is-screen-home .home-module-title{font-size:23px !important;}
    .localia-app.is-screen-home .home-module-text{font-size:7px !important;}
}
@media(min-width:600px){
    .localia-app.is-screen-home .home-module-card.home-module-premium,
    .localia-app.is-screen-home .home-module-content{
        height:168px !important;
        min-height:168px !important;
    }
    .localia-app.is-screen-home .home-module-content{padding:18px 20px !important;}
    .localia-app.is-screen-home .home-module-icon{width:46px !important;height:46px !important;}
    .localia-app.is-screen-home .home-module-title{font-size:38px !important;}
    .localia-app.is-screen-home .home-module-text{font-size:10px !important;}
    .localia-app.is-screen-home .home-module-arrow{width:48px !important;height:48px !important;right:18px !important;bottom:18px !important;}
}


/* ==========================================================================
   LOCALIA GUEST HOME — FINAL APPROVED DESIGN 01 HOTFIX 03
   - restore approved original logo (blue + gold, with AI CONCIERGE)
   - remove white underline/shadow artifact below the logo
   - reduce Ask microphone button size
   - redesign Home notice card to a cleaner premium style without the left gold bar
   ========================================================================== */
.localia-app.is-screen-home .localia-logo-image{
    width:min(48vw,188px) !important;
    height:auto !important;
    filter:drop-shadow(0 2px 6px rgba(3,32,80,.10)) !important;
}
.localia-app.is-screen-home .home-ask-main{
    grid-template-columns:24px minmax(0,1fr) 42px !important;
    gap:10px !important;
}
.localia-app.is-screen-home .home-ask-sparkle{
    width:22px !important;
    height:22px !important;
}
.localia-app.is-screen-home .home-ask-placeholder{
    font-size:clamp(13px,3.6vw,18px) !important;
}
.localia-app.is-screen-home .home-ask-action{
    width:42px !important;
    height:42px !important;
    box-shadow:0 8px 18px rgba(3,32,80,.17) !important;
}
.localia-app.is-screen-home .home-ask-action svg{
    width:22px !important;
    height:22px !important;
}
.localia-app.is-screen-home .home-notice-list{
    gap:10px !important;
}
.localia-app.is-screen-home .home-notice-card,
.localia-app.is-screen-home .stay-notice-card{
    position:relative !important;
    overflow:hidden !important;
    border:1px solid rgba(186,153,86,.22) !important;
    border-radius:22px !important;
    padding:14px 16px 15px !important;
    background:linear-gradient(180deg,rgba(255,250,241,.98),rgba(255,255,255,.97)) !important;
    box-shadow:0 10px 24px rgba(3,32,80,.08) !important;
    text-align:left !important;
}
.localia-app.is-screen-home .home-notice-card::before,
.localia-app.is-screen-home .stay-notice-card::before{
    display:none !important;
    content:none !important;
}
.localia-app.is-screen-home .home-notice-card.home-notice-urgent,
.localia-app.is-screen-home .stay-notice-card.stay-notice-urgent{
    border-color:rgba(166,27,27,.26) !important;
    background:linear-gradient(180deg,rgba(255,247,247,.98),rgba(255,255,255,.96)) !important;
}
.localia-app.is-screen-home .home-notice-card.home-notice-important,
.localia-app.is-screen-home .stay-notice-card.stay-notice-important{
    border-color:rgba(186,153,86,.28) !important;
    background:linear-gradient(180deg,rgba(255,250,241,.98),rgba(255,255,255,.97)) !important;
}
.localia-app.is-screen-home .home-notice-card.home-notice-normal,
.localia-app.is-screen-home .stay-notice-card.stay-notice-normal{
    border-color:rgba(3,32,80,.12) !important;
    background:rgba(255,255,255,.98) !important;
}
.localia-app.is-screen-home .notice-priority-row{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:10px !important;
    margin-bottom:7px !important;
}
.localia-app.is-screen-home .notice-priority-label{
    display:inline-flex !important;
    align-items:center !important;
    gap:6px !important;
    color:var(--localia-gold) !important;
    font-family:var(--localia-font-ui) !important;
    font-size:11px !important;
    font-weight:600 !important;
    letter-spacing:.15em !important;
    text-transform:uppercase !important;
}
.localia-app.is-screen-home .notice-priority-dot{
    width:7px !important;
    height:7px !important;
    background:currentColor !important;
}
.localia-app.is-screen-home .home-notice-count{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-width:38px !important;
    padding:4px 8px !important;
    border-radius:999px !important;
    border:1px solid rgba(186,153,86,.18) !important;
    background:rgba(186,153,86,.08) !important;
    color:rgba(3,32,80,.56) !important;
    font-size:11px !important;
    font-weight:600 !important;
}
.localia-app.is-screen-home .home-notice-title,
.localia-app.is-screen-home .stay-notice-title{
    margin:0 0 4px !important;
    color:var(--localia-ink) !important;
    font-family:var(--localia-font-ui) !important;
    font-size:clamp(13px,4.3vw,18px) !important;
    font-weight:600 !important;
    line-height:1.25 !important;
    letter-spacing:-.01em !important;
}
.localia-app.is-screen-home .home-notice-text,
.localia-app.is-screen-home .stay-notice-text{
    margin:0 !important;
    color:rgba(3,32,80,.58) !important;
    font-family:var(--localia-font-ui) !important;
    font-size:clamp(12px,3.6vw,14px) !important;
    line-height:1.38 !important;
    font-weight:400 !important;
}
.localia-app.is-screen-home .home-notice-more{
    border:1px solid rgba(186,153,86,.22) !important;
    border-radius:18px !important;
    padding:12px 14px !important;
    color:var(--localia-ink) !important;
    background:rgba(255,255,255,.88) !important;
    box-shadow:0 8px 18px rgba(3,32,80,.06) !important;
}


/* ==========================================================================
   LOCALIA GUEST NAVIGATION — SWIPE MOTION POLISH HOTFIX 04
   Slightly slower, smoother screen transitions to preserve the premium feel.
   ========================================================================== */
.screen-content.localia-enter-right{
    animation:enterRight 420ms var(--localia-ease) both !important;
}
.screen-content.localia-enter-left{
    animation:enterLeft 420ms var(--localia-ease) both !important;
}
@keyframes enterRight{
    from{opacity:.10;transform:translate3d(38px,0,0)}
    to{opacity:1;transform:translate3d(0,0,0)}
}
@keyframes enterLeft{
    from{opacity:.10;transform:translate3d(-38px,0,0)}
    to{opacity:1;transform:translate3d(0,0,0)}
}


/* ==========================================================================
   LOCALIA GUEST HOME — HERO GOLD LEGIBILITY HOTFIX 06
   Visible but restrained correction:
   - soft local cream haze behind the upper-left hero copy
   - stronger gold greeting and rule
   - slightly larger/stronger greeting typography
   ========================================================================== */
.localia-app.is-screen-home .home-hero-content{
    isolation:isolate !important;
}
.localia-app.is-screen-home .home-hero-content::before{
    content:"" !important;
    position:absolute !important;
    z-index:-1 !important;
    left:-18px !important;
    top:-24px !important;
    width:min(92vw,430px) !important;
    height:215px !important;
    pointer-events:none !important;
    background:
        radial-gradient(
            ellipse 72% 72% at 12% 22%,
            rgba(250,247,239,.72) 0%,
            rgba(250,247,239,.48) 34%,
            rgba(250,247,239,.18) 58%,
            rgba(250,247,239,0) 78%
        ) !important;
    filter:blur(7px) !important;
}
.localia-app.is-screen-home .home-hero-eyebrow{
    color:#9A671D !important;
    font-size:clamp(10px,2.65vw,13px) !important;
    font-weight:600 !important;
    letter-spacing:.18em !important;
    text-shadow:
        0 1px 0 rgba(255,255,255,.72),
        0 1px 2px rgba(3,32,80,.20) !important;
}
.localia-app.is-screen-home .home-hero-rule{
    width:46px !important;
    height:2px !important;
    background:#9A671D !important;
    box-shadow:
        0 1px 0 rgba(255,255,255,.56),
        0 1px 3px rgba(3,32,80,.18) !important;
}


/* ==========================================================================
   LOCALIA GUEST EXPLORE — PRODUCTION PHASE 1
   Approved implementation-ready Explore hub.
   ========================================================================== */
.localia-app.is-screen-explore .localia-screen{
    background:var(--localia-paper);
}
.localia-app.is-screen-explore .app-header{
    margin-bottom:0;
}
.localia-app.is-screen-explore .localia-logo-image{
    filter:drop-shadow(0 1px 2px rgba(247,244,237,.30));
}
.localia-app.is-screen-explore .guest-language-summary{
    border-color:rgba(255,255,255,.82);
    background:rgba(255,255,255,.90);
    box-shadow:0 9px 24px rgba(3,20,42,.13);
}
.explore-hub-screen{
    position:relative;
    margin:0;
    font-family:"Localia Avenir",var(--localia-font-ui);
}
.explore-hub-hero{
    position:relative;
    isolation:isolate;
    height:clamp(480px,65svh,590px);
    margin:calc(-58px - max(20px,env(safe-area-inset-top))) calc(-1 * clamp(14px,4.5vw,34px)) 0;
    overflow:hidden;
    color:#fff;
    background:var(--localia-ink);
}
.explore-hub-media,
.explore-hub-background-image,
.explore-hub-column-image,
.explore-hub-overlay{
    position:absolute;
    inset:0;
}
.explore-hub-background-image{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:left center;
    filter:blur(1.25px) saturate(.98);
    transform:scale(1.008);
}
.explore-hub-column-image{
    left:auto;
    right:0;
    width:72%;
    height:100%;
    object-fit:cover;
    object-position:right center;
    filter:none;
    -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.20) 10%,#000 34%,#000 100%);
    mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.20) 10%,#000 34%,#000 100%);
}
.explore-hub-overlay{
    background:
        linear-gradient(90deg,rgba(3,25,55,.54) 0%,rgba(3,25,55,.31) 42%,rgba(3,25,55,.05) 75%,rgba(3,25,55,.02) 100%),
        linear-gradient(180deg,rgba(3,20,42,.04) 0%,rgba(3,20,42,.04) 40%,rgba(3,20,42,.34) 76%,rgba(3,20,42,.76) 100%);
    pointer-events:none;
}
.explore-hub-copy{
    position:absolute;
    z-index:3;
    left:clamp(25px,6.5vw,54px);
    right:clamp(22px,6vw,50px);
    bottom:clamp(82px,11svh,112px);
    max-width:560px;
}
.explore-hub-title{
    margin:0;
    color:#fff;
    font-family:"Localia Display",var(--localia-font-display);
    font-size:clamp(62px,17vw,94px);
    font-weight:400;
    line-height:.91;
    letter-spacing:-.045em;
    text-shadow:0 3px 18px rgba(3,20,42,.34);
}
.explore-hub-rule{
    display:block;
    width:46px;
    height:2px;
    margin:21px 0 17px;
    border-radius:999px;
    background:#ba9956;
    box-shadow:0 1px 3px rgba(3,20,42,.24);
}
.explore-hub-intro{
    max-width:310px;
    margin:0;
    color:rgba(255,255,255,.95);
    font-size:clamp(17px,4.45vw,23px);
    font-weight:400;
    line-height:1.48;
    letter-spacing:-.015em;
    text-shadow:0 2px 12px rgba(3,20,42,.40);
}
.explore-hub-panel{
    position:relative;
    z-index:5;
    display:grid;
    margin:-58px clamp(1px,1.6vw,12px) 0;
    padding:clamp(21px,5vw,30px) clamp(17px,4.5vw,27px) clamp(18px,4.6vw,27px);
    border:1px solid rgba(3,32,80,.07);
    border-radius:clamp(25px,6vw,32px);
    background:rgba(255,255,255,.975);
    box-shadow:0 25px 60px rgba(3,32,80,.17);
    backdrop-filter:blur(18px);
}
.explore-hub-option{
    position:relative;
    width:100%;
    min-height:clamp(92px,23vw,116px);
    display:grid;
    grid-template-columns:clamp(53px,13vw,66px) minmax(0,1fr) 25px;
    align-items:center;
    gap:clamp(14px,3.7vw,22px);
    border:0;
    border-radius:20px;
    padding:clamp(12px,3vw,17px) clamp(3px,1vw,8px);
    color:var(--localia-ink);
    background:transparent;
    text-align:left;
    cursor:pointer;
    transition:transform 180ms var(--localia-ease),background 180ms ease;
}
.explore-hub-option:active{transform:scale(.988)}
.explore-hub-option-icon{
    width:clamp(53px,13vw,66px);
    height:clamp(53px,13vw,66px);
    display:grid;
    place-items:center;
    border-radius:999px;
    color:var(--localia-ink);
    background:#f8f6f1;
}
.explore-hub-option-icon svg{
    width:clamp(30px,7.5vw,38px);
    height:clamp(30px,7.5vw,38px);
}
.explore-hub-option-copy{min-width:0}
.explore-hub-option-copy strong{
    display:block;
    margin:0;
    font-family:"Localia Display",var(--localia-font-display);
    font-size:clamp(25px,6.7vw,35px);
    font-weight:400;
    line-height:1.04;
    letter-spacing:-.025em;
}
.explore-hub-option-copy small{
    display:block;
    max-width:340px;
    margin-top:8px;
    color:rgba(3,32,80,.68);
    font-family:"Localia Avenir",var(--localia-font-ui);
    font-size:clamp(12.5px,3.2vw,15px);
    font-weight:400;
    line-height:1.48;
}
.explore-hub-option-arrow{
    width:23px;
    height:23px;
    display:grid;
    place-items:center;
    color:var(--localia-ink);
}
.explore-hub-option-arrow svg{width:100%;height:100%}
.explore-hub-divider{
    height:1px;
    margin:clamp(8px,2vw,13px) 0;
    background:rgba(3,32,80,.10);
}
.explore-hub-option.is-featured{
    grid-template-columns:clamp(55px,14vw,70px) minmax(0,1fr) clamp(44px,11vw,54px);
    gap:clamp(14px,3.5vw,20px);
    min-height:clamp(116px,30vw,144px);
    margin-top:clamp(18px,4.8vw,28px);
    padding:clamp(16px,4vw,22px) clamp(13px,3.5vw,20px);
    border:1px solid rgba(186,153,86,.82);
    border-radius:clamp(20px,5vw,25px);
    background:linear-gradient(135deg,#fffdf8 0%,#fff 68%);
    box-shadow:0 10px 25px rgba(3,32,80,.065);
    overflow:visible;
}
.explore-hub-option.is-featured::after{
    content:"✦";
    position:absolute;
    top:-15px;
    right:25px;
    padding:0 4px;
    color:#ba9956;
    background:#fff;
    font-size:25px;
    line-height:1;
}
.explore-hub-option.is-featured .explore-hub-option-icon{
    color:#ba9956;
    background:#fbf4e8;
}
.explore-hub-option.is-featured .explore-hub-option-arrow{
    width:clamp(44px,11vw,54px);
    height:clamp(44px,11vw,54px);
    padding:12px;
    border-radius:999px;
    color:#ba9956;
    background:var(--localia-ink);
    box-shadow:0 10px 24px rgba(3,32,80,.18);
}
.explore-hub-screen > .resume-tour-card,
.explore-hub-screen > .guest-memory-mini-note{
    margin-top:20px;
}

/* Explore collection pages preserve all existing data, filtering and cards. */
.localia-app.is-screen-explore-attractions .app-header,
.localia-app.is-screen-explore-tours .app-header{
    margin-bottom:18px;
}
.explore-collection-header{
    position:relative;
    overflow:hidden;
    margin:0 0 24px;
    padding:24px clamp(20px,5vw,31px) 27px;
    border:1px solid rgba(3,32,80,.07);
    border-radius:28px;
    background:linear-gradient(145deg,#fff,#faf7f0);
    box-shadow:0 17px 38px rgba(3,32,80,.08);
}
.explore-collection-back{margin-bottom:20px}
.explore-collection-icon{
    width:50px;
    height:50px;
    display:grid;
    place-items:center;
    margin-bottom:16px;
    border-radius:999px;
    color:#ba9956;
    background:#fbf4e8;
}
.explore-collection-icon svg{width:29px;height:29px}
.explore-collection-title{
    margin:0;
    color:var(--localia-ink);
    font-family:"Localia Display",var(--localia-font-display);
    font-size:clamp(40px,10vw,60px);
    font-weight:400;
    line-height:.98;
    letter-spacing:-.035em;
}
.explore-collection-intro{
    max-width:540px;
    margin:14px 0 0;
    color:rgba(3,32,80,.68);
    font-family:"Localia Avenir",var(--localia-font-ui);
    font-size:clamp(14px,3.5vw,17px);
    font-weight:400;
    line-height:1.55;
}
.explore-production-list-section{margin-top:24px}
.localia-app.is-screen-explore-attractions .explore-section-title,
.localia-app.is-screen-explore-tours .explore-section-title{
    font-family:"Localia Display",var(--localia-font-display);
    font-size:clamp(28px,7vw,38px);
    font-weight:400;
}

@media(min-width:600px){
    .explore-hub-hero{height:590px}
    .explore-hub-panel{margin-left:20px;margin-right:20px;padding:30px 28px 28px}
    .explore-hub-option.is-featured{margin-top:30px}
}
@media(max-width:430px){
    .explore-hub-column-image{width:74%}
}
@media(max-width:370px){
    .explore-hub-hero{
        height:455px;
        margin-left:-12px;
        margin-right:-12px;
    }
    .explore-hub-copy{left:21px;right:18px;bottom:76px}
    .explore-hub-title{font-size:58px}
    .explore-hub-intro{font-size:16px}
    .explore-hub-panel{margin-left:0;margin-right:0;padding:19px 14px 17px}
    .explore-hub-option{grid-template-columns:50px minmax(0,1fr) 20px;gap:11px}
    .explore-hub-option-icon{width:50px;height:50px}
    .explore-hub-option-copy strong{font-size:24px}
    .explore-hub-option-copy small{font-size:12px}
    .explore-hub-option.is-featured{grid-template-columns:52px minmax(0,1fr) 42px;padding-inline:10px}
    .explore-hub-option.is-featured .explore-hub-option-arrow{width:42px;height:42px;padding:10px}
}
@media(prefers-reduced-motion:reduce){
    .explore-hub-option{transition:none}
}


/* ========================================================================== 
   LOCALIA GUEST ATTRACTIONS — PREMIUM PRODUCTION PHASE 1
   Approved calm search/filter hierarchy and photographic attraction cards.
   ========================================================================== */
.localia-app.is-screen-explore-attractions .localia-screen{
    background:var(--localia-paper);
}
.localia-app.is-screen-explore-attractions .app-header{
    position:relative;
    z-index:15;
    margin-bottom:0;
}
.localia-app.is-screen-explore-attractions .localia-logo-image{
    width:clamp(124px,34vw,168px);
    filter:drop-shadow(0 1px 2px rgba(247,244,237,.36));
}
.localia-app.is-screen-explore-attractions .guest-language-summary{
    border-color:rgba(255,255,255,.78);
    background:rgba(255,255,255,.91);
    box-shadow:0 8px 22px rgba(3,20,42,.12);
}
.attractions-premium-screen{
    position:relative;
    margin:0;
    font-family:"Localia Avenir",var(--localia-font-ui);
}
.attractions-premium-hero{
    position:relative;
    isolation:isolate;
    height:clamp(420px,56svh,535px);
    margin:calc(-58px - max(20px,env(safe-area-inset-top))) calc(-1 * clamp(14px,4.5vw,34px)) 0;
    overflow:hidden;
    color:#fff;
    background:var(--localia-ink);
}
.attractions-premium-hero-image,
.attractions-premium-hero-overlay{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
}
.attractions-premium-hero-image{
    object-fit:cover;
    object-position:62% center;
    filter:none;
}
.attractions-premium-hero-overlay{
    z-index:1;
    background:
        linear-gradient(90deg,rgba(3,25,55,.48) 0%,rgba(3,25,55,.22) 43%,rgba(3,25,55,.02) 76%),
        linear-gradient(180deg,rgba(3,20,42,.03) 0%,rgba(3,20,42,.04) 40%,rgba(3,20,42,.31) 75%,rgba(3,20,42,.67) 100%);
    pointer-events:none;
}
.attractions-premium-back{
    position:absolute;
    z-index:3;
    top:clamp(104px,14svh,132px);
    left:clamp(24px,6vw,50px);
    width:46px;
    height:46px;
    display:grid;
    place-items:center;
    border:1px solid rgba(255,255,255,.66);
    border-radius:999px;
    color:#fff;
    background:rgba(3,32,80,.16);
    box-shadow:0 8px 22px rgba(3,20,42,.12);
    backdrop-filter:blur(8px);
    cursor:pointer;
}
.attractions-premium-back svg{width:23px;height:23px}
.attractions-premium-hero-copy{
    position:absolute;
    z-index:3;
    left:clamp(25px,6.5vw,54px);
    right:clamp(22px,6vw,50px);
    bottom:clamp(70px,9svh,92px);
    max-width:570px;
}
.attractions-premium-hero-copy h1{
    margin:0;
    color:#fff;
    font-family:"Localia Display",var(--localia-font-display);
    font-size:clamp(55px,15.3vw,84px);
    font-weight:400;
    line-height:.93;
    letter-spacing:-.042em;
    text-shadow:0 3px 18px rgba(3,20,42,.35);
}
.attractions-premium-rule{
    display:block;
    width:44px;
    height:2px;
    margin:20px 0 16px;
    border-radius:999px;
    background:#ba9956;
    box-shadow:0 1px 3px rgba(3,20,42,.25);
}
.attractions-premium-hero-copy p{
    max-width:330px;
    margin:0;
    color:rgba(255,255,255,.96);
    font-size:clamp(16px,4.25vw,21px);
    font-weight:400;
    line-height:1.48;
    letter-spacing:-.012em;
    text-shadow:0 2px 12px rgba(3,20,42,.42);
}
.attractions-premium-panel{
    position:relative;
    z-index:5;
    margin:-42px clamp(0px,1.4vw,10px) 0;
    padding:clamp(19px,4.8vw,27px) clamp(15px,4vw,25px) clamp(24px,5vw,34px);
    border:1px solid rgba(3,32,80,.07);
    border-radius:clamp(25px,6vw,32px) clamp(25px,6vw,32px) 0 0;
    background:rgba(255,255,255,.985);
    box-shadow:0 -4px 32px rgba(3,32,80,.10),0 22px 55px rgba(3,32,80,.10);
}
.attractions-premium-toolbar{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:clamp(10px,2.6vw,14px);
    align-items:stretch;
}
.attractions-premium-search{
    min-width:0;
    min-height:52px;
    display:grid;
    grid-template-columns:24px minmax(0,1fr);
    align-items:center;
    gap:10px;
    padding:0 15px;
    border:1px solid rgba(3,32,80,.09);
    border-radius:16px;
    color:rgba(3,32,80,.62);
    background:#fff;
    box-shadow:0 7px 18px rgba(3,32,80,.065);
}
.attractions-premium-search > span:first-child,
.attractions-premium-search svg{width:24px;height:24px}
.attractions-premium-search input{
    min-width:0;
    width:100%;
    border:0;
    outline:0;
    color:var(--localia-ink);
    background:transparent;
    font-family:"Localia Avenir",var(--localia-font-ui);
    font-size:clamp(13px,3.4vw,15px);
    font-weight:400;
}
.attractions-premium-search input::placeholder{color:rgba(3,32,80,.45)}
.attractions-premium-filters{position:relative}
.attractions-premium-filters summary{
    min-height:52px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:0 clamp(13px,3.5vw,18px);
    list-style:none;
    border:1px solid rgba(3,32,80,.18);
    border-radius:16px;
    color:var(--localia-ink);
    background:#fff;
    box-shadow:0 7px 18px rgba(3,32,80,.05);
    font-size:clamp(12px,3.2vw,14px);
    font-weight:500;
    cursor:pointer;
}
.attractions-premium-filters summary::-webkit-details-marker{display:none}
.attractions-premium-filters summary > span:first-child,
.attractions-premium-filters summary svg{
    width:21px;
    height:21px;
    color:#a9782c;
}
.attractions-premium-filter-popover{
    position:absolute;
    z-index:20;
    top:calc(100% + 9px);
    right:0;
    width:min(270px,82vw);
}
.attractions-premium-filter-popover .attraction-sort-panel{
    margin:0;
    padding:14px;
    border:1px solid rgba(3,32,80,.10);
    border-radius:18px;
    background:rgba(255,255,255,.985);
    box-shadow:0 18px 38px rgba(3,32,80,.15);
    backdrop-filter:blur(16px);
}
.attractions-premium-filter-popover .tour-filter-chip{
    color:var(--localia-ink);
    background:#fff;
    border-color:rgba(3,32,80,.12);
}
.attractions-premium-filter-popover .tour-filter-chip.is-active{
    color:var(--localia-ink);
    border-color:rgba(186,153,86,.68);
    background:#fbf6ec;
    box-shadow:inset 0 -2px 0 #ba9956;
}
.attractions-premium-categories{
    display:flex;
    gap:10px;
    margin:16px -3px 0;
    padding:3px 3px 8px;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scrollbar-width:none;
}
.attractions-premium-categories::-webkit-scrollbar{display:none}
.attractions-premium-category{
    flex:0 0 clamp(66px,17vw,82px);
    min-height:76px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:7px;
    padding:9px 5px 8px;
    border:1px solid rgba(3,32,80,.075);
    border-radius:16px;
    color:var(--localia-ink);
    background:#fff;
    box-shadow:0 6px 15px rgba(3,32,80,.05);
    cursor:pointer;
}
.attractions-premium-category > span,
.attractions-premium-category svg{width:29px;height:29px}
.attractions-premium-category small{
    max-width:100%;
    overflow:hidden;
    color:rgba(3,32,80,.76);
    font-size:clamp(10px,2.7vw,12px);
    font-weight:500;
    line-height:1.15;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.attractions-premium-category.is-active{
    border-color:rgba(3,32,80,.17);
    color:#a9782c;
    background:linear-gradient(145deg,#f3f7fc,#fff);
    box-shadow:inset 0 -3px 0 #ba9956,0 7px 17px rgba(3,32,80,.06);
}
.attractions-premium-category.is-active small{color:var(--localia-ink)}
.attractions-premium-results-meta{
    min-height:18px;
    margin:5px 2px 9px;
    color:rgba(3,32,80,.46);
    font-size:10.5px;
    font-weight:500;
    text-align:right;
}
.attractions-premium-results{
    display:grid;
    gap:clamp(12px,3vw,17px);
}
.attraction-premium-card{
    position:relative;
    width:100%;
    min-height:clamp(170px,44vw,215px);
    display:grid;
    grid-template-columns:minmax(128px,42%) minmax(0,1fr);
    align-items:stretch;
    padding:0;
    overflow:hidden;
    border:1px solid rgba(3,32,80,.075);
    border-radius:clamp(18px,4.5vw,23px);
    color:var(--localia-ink);
    background:#fff;
    box-shadow:0 9px 23px rgba(3,32,80,.075);
    text-align:left;
    cursor:pointer;
    transition:transform 180ms var(--localia-ease),box-shadow 180ms ease;
}
.attraction-premium-card:active{transform:scale(.988)}
.attraction-premium-card-media{
    position:relative;
    min-height:100%;
    overflow:hidden;
    background:linear-gradient(145deg,#e8edf3,#f8f5ee);
}
.attraction-premium-card-media img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
}
.attraction-premium-card-placeholder{
    position:absolute;
    inset:0;
    display:grid;
    place-items:center;
    color:#ba9956;
    background:linear-gradient(145deg,rgba(3,32,80,.06),rgba(186,153,86,.10));
}
.attraction-premium-card-placeholder svg{width:52px;height:52px}
.attraction-premium-card-copy{
    min-width:0;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    padding:clamp(14px,3.7vw,20px) clamp(14px,3.7vw,21px) clamp(13px,3.5vw,18px);
}
.attraction-premium-top{
    display:inline-flex;
    margin-bottom:5px;
    padding:4px 9px;
    border-radius:999px;
    color:#fff;
    background:#ba9956;
    font-size:10px;
    font-weight:600;
    line-height:1;
    letter-spacing:.04em;
}
.attraction-premium-card-title{
    display:block;
    color:var(--localia-ink);
    font-family:"Localia Display",var(--localia-font-display);
    font-size:clamp(22px,5.8vw,31px);
    font-weight:400;
    line-height:1.02;
    letter-spacing:-.028em;
}
.attraction-premium-card-location{
    max-width:100%;
    display:flex;
    align-items:center;
    gap:5px;
    margin-top:7px;
    color:rgba(3,32,80,.62);
    font-size:clamp(10.5px,2.8vw,12.5px);
    font-weight:400;
}
.attraction-premium-card-location > span:first-child,
.attraction-premium-card-location svg{
    flex:0 0 auto;
    width:15px;
    height:15px;
    color:#ba9956;
}
.attraction-premium-card-location > span:last-child{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.attraction-premium-card-description{
    display:-webkit-box;
    margin-top:8px;
    overflow:hidden;
    color:rgba(3,32,80,.70);
    font-size:clamp(11px,2.9vw,13.5px);
    font-weight:400;
    line-height:1.45;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:3;
}
.attraction-premium-card-footer{
    width:100%;
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:8px;
    margin-top:auto;
    padding-top:10px;
}
.attraction-premium-learn-more{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:7px 10px;
    border-radius:999px;
    color:var(--localia-ink);
    background:rgba(3,32,80,.045);
    font-size:clamp(10.5px,2.8vw,12px);
    font-weight:500;
}
.attraction-premium-learn-more svg{width:14px;height:14px}
.attraction-premium-distance{
    color:rgba(3,32,80,.50);
    font-size:10px;
}
.attraction-premium-card-open{
    display:none;
}
.attractions-premium-empty{
    padding:28px 20px;
    border:1px dashed rgba(3,32,80,.16);
    border-radius:22px;
    background:rgba(3,32,80,.025);
    text-align:center;
}
.attractions-premium-empty strong{
    display:block;
    color:var(--localia-ink);
    font-family:"Localia Display",var(--localia-font-display);
    font-size:23px;
    font-weight:400;
}
.attractions-premium-empty p{
    margin:8px 0 0;
    color:rgba(3,32,80,.62);
    font-size:13px;
    line-height:1.5;
}
.attractions-premium-panel > .attraction-location-note{
    margin:5px 0 12px;
}
.sr-only{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    padding:0!important;
    margin:-1px!important;
    overflow:hidden!important;
    clip:rect(0,0,0,0)!important;
    white-space:nowrap!important;
    border:0!important;
}
@media(min-width:600px){
    .attractions-premium-hero{height:565px}
    .attractions-premium-panel{margin-left:18px;margin-right:18px;padding:28px 28px 36px}
    .attractions-premium-categories{gap:12px}
    .attractions-premium-category{flex-basis:86px;min-height:82px}
    .attraction-premium-card{grid-template-columns:minmax(220px,40%) minmax(0,1fr);min-height:220px}
    .attraction-premium-card-description{-webkit-line-clamp:4}
}
@media(max-width:370px){
    .localia-app.is-screen-explore-attractions .localia-logo-image{width:118px}
    .attractions-premium-hero{height:415px;margin-left:-12px;margin-right:-12px}
    .attractions-premium-back{top:97px;left:19px;width:42px;height:42px}
    .attractions-premium-hero-copy{left:20px;right:18px;bottom:66px}
    .attractions-premium-panel{margin-left:0;margin-right:0;padding-left:12px;padding-right:12px}
    .attractions-premium-toolbar{gap:8px}
    .attractions-premium-filters summary{padding:0 11px}
    .attractions-premium-category{flex-basis:64px}
    .attraction-premium-card{grid-template-columns:42% 58%;min-height:164px}
    .attraction-premium-card-copy{padding:12px 11px}
    .attraction-premium-card-description{-webkit-line-clamp:2}
    .attraction-premium-learn-more{padding:6px 8px}
}
@media(prefers-reduced-motion:reduce){
    .attraction-premium-card{transition:none}
}


/* ========================================================================== 
   LOCALIA — ATTRACTION DETAIL PREMIUM PRODUCTION PHASE 1
   Full-bleed hero, verified/stable facts only, functional actions and tabs.
   ========================================================================== */
.localia-app.is-screen-attraction-detail{
    background:#fbfaf7;
}
.localia-app.is-screen-attraction-detail .localia-screen{
    width:min(100%,760px);
    max-width:760px;
    padding:0 0 calc(132px + env(safe-area-inset-bottom));
    background:#fbfaf7;
}
.localia-app.is-screen-attraction-detail .app-header{
    display:none;
}
.localia-app.is-screen-attraction-detail .screen-content{
    padding:0;
}
.attraction-detail-premium{
    position:relative;
    min-height:100svh;
    color:var(--localia-ink);
    background:#fbfaf7;
}
.attraction-detail-premium-hero{
    position:relative;
    height:clamp(430px,61svh,590px);
    overflow:hidden;
    background:linear-gradient(145deg,#153b65,#071b38);
}
.attraction-detail-premium-hero-image{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
}
.attraction-detail-premium-hero-overlay{
    position:absolute;
    inset:0;
    z-index:1;
    pointer-events:none;
    background:
        linear-gradient(180deg,rgba(247,244,237,.68) 0%,rgba(247,244,237,.20) 15%,transparent 31%),
        linear-gradient(180deg,transparent 67%,rgba(3,20,42,.10) 100%);
}
.attraction-detail-premium-topbar{
    position:absolute;
    z-index:4;
    top:max(18px,env(safe-area-inset-top));
    left:clamp(18px,5vw,38px);
    right:clamp(18px,5vw,38px);
    display:grid;
    grid-template-columns:48px minmax(0,1fr) auto;
    align-items:center;
    gap:14px;
}
.attraction-detail-premium-back{
    width:48px;
    height:48px;
    display:grid;
    place-items:center;
    border:1px solid rgba(255,255,255,.88);
    border-radius:999px;
    color:var(--localia-gold);
    background:rgba(255,255,255,.92);
    box-shadow:0 10px 28px rgba(3,20,42,.16);
    backdrop-filter:blur(16px);
}
.attraction-detail-premium-back svg{width:23px;height:23px}
.attraction-detail-premium-brand{
    justify-self:center;
    min-width:0;
    padding:9px 14px 8px;
    border-radius:18px;
    background:rgba(255,255,255,.66);
    box-shadow:0 8px 26px rgba(3,20,42,.06);
    backdrop-filter:blur(11px);
}
.attraction-detail-premium-brand .localia-logo-image{
    width:clamp(126px,34vw,176px);
}
.attraction-detail-premium-language .guest-language-summary{
    height:48px;
    background:rgba(255,255,255,.93);
    border-color:rgba(255,255,255,.94);
    box-shadow:0 10px 28px rgba(3,20,42,.14);
}
.attraction-detail-premium-language .guest-language-options{z-index:30}
.attraction-detail-premium-credit{
    position:absolute;
    z-index:3;
    right:12px;
    bottom:52px;
    max-width:min(72%, 260px);
    padding:6px 10px;
    border-radius:12px;
    background:rgba(10, 18, 34, .42);
    color:rgba(255,255,255,.94);
    font-family:var(--font-sans);
    font-size:11px;
    line-height:1.3;
    letter-spacing:.01em;
    backdrop-filter:blur(6px);
    box-shadow:0 8px 22px rgba(3,20,42,.10);
}
.attraction-detail-premium-credit span{display:block}
.attraction-detail-sheet{
    position:relative;
    z-index:5;
    margin-top:-34px;
    padding:clamp(29px,7vw,50px) clamp(20px,5.5vw,42px) 42px;
    border-radius:34px 34px 0 0;
    background:#fff;
    box-shadow:0 -12px 36px rgba(3,32,80,.11);
}
.attraction-detail-heading-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:start;
    gap:18px;
}
.attraction-detail-featured{
    display:inline-flex;
    align-items:center;
    min-height:27px;
    padding:6px 12px;
    border-radius:999px;
    color:#fff;
    background:var(--localia-gold);
    font-size:11px;
    font-weight:500;
    letter-spacing:.035em;
    text-transform:uppercase;
}
.attraction-detail-premium-title{
    margin:15px 0 0;
    font-family:"Localia Display",var(--localia-font-display);
    color:var(--localia-ink);
    font-size:clamp(38px,10.5vw,62px);
    font-weight:400;
    line-height:.98;
    letter-spacing:-.035em;
}
.attraction-detail-location{
    display:flex;
    align-items:center;
    gap:8px;
    margin:15px 0 0;
    color:rgba(3,32,80,.66);
    font-size:clamp(14px,3.9vw,18px);
    font-weight:400;
}
.attraction-detail-location > span:first-child{
    width:21px;
    height:21px;
    color:var(--localia-gold);
}
.attraction-detail-location svg{width:100%;height:100%}
.attraction-detail-save{
    width:52px;
    height:52px;
    display:grid;
    place-items:center;
    margin-top:29px;
    border:1px solid rgba(3,32,80,.10);
    border-radius:999px;
    color:var(--localia-ink);
    background:#fff;
    box-shadow:0 8px 22px rgba(3,32,80,.09);
}
.attraction-detail-save svg{width:25px;height:25px}
.attraction-detail-save.is-saved{
    color:#fff;
    border-color:var(--localia-ink);
    background:var(--localia-ink);
}
.attraction-detail-save.is-saved svg path{fill:currentColor}
.attraction-detail-lead{
    margin:24px 0 0;
    color:rgba(3,32,80,.76);
    font-size:clamp(16px,4.2vw,20px);
    font-weight:400;
    line-height:1.58;
}
.attraction-detail-facts{
    display:grid;
    margin-top:28px;
    padding:18px 8px;
    border:1px solid rgba(3,32,80,.07);
    border-radius:20px;
    background:#fff;
    box-shadow:0 11px 28px rgba(3,32,80,.07);
}
.attraction-detail-facts-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.attraction-detail-facts-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.attraction-detail-fact{
    min-width:0;
    padding:0 clamp(10px,3vw,22px);
    border-right:1px solid rgba(3,32,80,.09);
}
.attraction-detail-fact:last-child{border-right:0}
.attraction-detail-fact-label{
    display:flex;
    align-items:center;
    gap:7px;
    color:rgba(3,32,80,.56);
    font-size:clamp(10px,2.7vw,13px);
    font-weight:400;
    line-height:1.25;
}
.attraction-detail-fact-label > span{
    flex:0 0 auto;
    width:20px;
    height:20px;
    color:var(--localia-ink);
}
.attraction-detail-fact-label svg{width:100%;height:100%}
.attraction-detail-fact strong{
    display:block;
    margin-top:9px;
    overflow:hidden;
    color:var(--localia-ink);
    font-size:clamp(13px,3.5vw,17px);
    font-weight:500;
    line-height:1.25;
    text-overflow:ellipsis;
}
.attraction-detail-actions{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
    margin-top:22px;
}
.attraction-detail-action{
    min-width:0;
    min-height:132px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:15px 8px 13px;
    border:1px solid rgba(3,32,80,.07);
    border-radius:20px;
    color:var(--localia-ink);
    background:#fff;
    box-shadow:0 10px 26px rgba(3,32,80,.06);
    text-align:center;
    text-decoration:none;
}
.attraction-detail-action:active{transform:scale(.982)}
.attraction-detail-action-icon{
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
}
.attraction-detail-action-icon svg{width:100%;height:100%}
.attraction-detail-action.is-navigation .attraction-detail-action-icon{color:var(--localia-gold)}
.attraction-detail-action strong{
    display:block;
    max-width:100%;
    font-size:clamp(11px,3vw,14px);
    font-weight:500;
    line-height:1.2;
}
.attraction-detail-action small{
    display:block;
    max-width:100%;
    color:rgba(3,32,80,.52);
    font-size:clamp(9px,2.45vw,11px);
    font-weight:400;
    line-height:1.25;
}
.attraction-detail-action.is-confirmed{
    border-color:rgba(186,153,86,.55);
    background:rgba(186,153,86,.09);
}
.attraction-detail-tabs{
    scroll-margin-top:16px;
    margin-top:35px;
}
.attraction-detail-tablist{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    border-bottom:1px solid rgba(3,32,80,.11);
}
.attraction-detail-tab{
    position:relative;
    min-height:54px;
    border:0;
    padding:8px 5px 15px;
    color:rgba(3,32,80,.57);
    background:transparent;
    font-size:clamp(10px,2.75vw,13px);
    font-weight:500;
    line-height:1.25;
    text-transform:uppercase;
}
.attraction-detail-tab::after{
    content:"";
    position:absolute;
    left:12%;
    right:12%;
    bottom:-1px;
    height:3px;
    border-radius:999px;
    background:transparent;
}
.attraction-detail-tab.is-active{color:var(--localia-ink)}
.attraction-detail-tab.is-active::after{background:var(--localia-gold)}
.attraction-detail-panel{
    padding-top:28px;
}
.attraction-detail-panel[hidden]{display:none!important}
.attraction-detail-panel h2{
    margin:0 0 14px;
    font-family:"Localia Display",var(--localia-font-display);
    color:var(--localia-ink);
    font-size:clamp(29px,7vw,39px);
    font-weight:400;
    line-height:1.05;
}
.attraction-detail-story-text,
.attraction-detail-more p,
.attraction-detail-empty{
    margin:0;
    white-space:pre-line;
    color:rgba(3,32,80,.72);
    font-size:clamp(15px,3.9vw,18px);
    font-weight:400;
    line-height:1.68;
}
.attraction-detail-empty{color:rgba(3,32,80,.52)}
.attraction-detail-more{
    margin-top:17px;
}
.attraction-detail-more summary{
    width:max-content;
    display:flex;
    align-items:center;
    gap:9px;
    color:var(--localia-ink);
    list-style:none;
    cursor:pointer;
    font-size:14px;
    font-weight:600;
}
.attraction-detail-more summary::-webkit-details-marker{display:none}
.attraction-detail-more summary svg{width:19px;height:19px;transition:transform 180ms ease}
.attraction-detail-more[open] summary svg{transform:rotate(180deg)}
.attraction-detail-more-close{display:none}
.attraction-detail-more[open] .attraction-detail-more-open{display:none}
.attraction-detail-more[open] .attraction-detail-more-close{display:inline}
.attraction-detail-more p{margin-top:17px}
.attraction-detail-address-card{
    display:grid;
    grid-template-columns:26px minmax(0,1fr) 28px;
    align-items:center;
    gap:12px;
    margin-top:20px;
    padding:17px 16px;
    border:1px solid rgba(3,32,80,.08);
    border-radius:18px;
    background:#fff;
    box-shadow:0 9px 24px rgba(3,32,80,.055);
}
.attraction-detail-address-card > span{width:25px;height:25px;color:var(--localia-gold)}
.attraction-detail-address-card svg{width:100%;height:100%}
.attraction-detail-address-card small{display:block;color:rgba(3,32,80,.52);font-size:11px;font-weight:400}
.attraction-detail-address-card strong{display:block;margin-top:4px;color:var(--localia-ink);font-size:14px;font-weight:500}
.attraction-detail-address-card a{width:28px;height:28px;color:var(--localia-ink)}
.attraction-detail-guide-images{
    display:grid;
    gap:18px;
    margin-top:22px;
}
.attraction-detail-guide-images .tour-guide-focus-image-card{
    margin:0;
    border-radius:20px;
    overflow:hidden;
}
.attraction-detail-guide-images .tour-guide-focus-image{
    width:100%;
    max-height:390px;
    object-fit:cover;
}
.localia-app.is-screen-attraction-detail .bottom-nav{
    width:min(700px,calc(100% - 28px));
}
@media(min-width:600px){
    .attraction-detail-premium-hero{height:590px}
    .attraction-detail-sheet{margin-left:18px;margin-right:18px;border-radius:36px 36px 0 0}
    .attraction-detail-actions{gap:16px}
}
@media(max-width:430px){
    .attraction-detail-premium-topbar{
        grid-template-columns:44px minmax(0,1fr) auto;
        left:14px;
        right:14px;
        gap:8px;
    }
    .attraction-detail-premium-back{width:44px;height:44px}
    .attraction-detail-premium-brand{padding:7px 9px 6px}
    .attraction-detail-premium-brand .localia-logo-image{width:122px}
    .attraction-detail-premium-language .guest-language-summary{height:44px;padding:0 12px}
    .attraction-detail-premium-language .guest-language-globe{width:19px;height:19px}
    .attraction-detail-sheet{padding-left:18px;padding-right:18px}
    .attraction-detail-actions{gap:8px}
    .attraction-detail-action{min-height:122px;padding-inline:5px}
}
@media(max-width:370px){
    .attraction-detail-premium-hero{height:445px}
    .attraction-detail-premium-topbar{grid-template-columns:42px minmax(0,1fr) auto}
    .attraction-detail-premium-brand .localia-logo-image{width:105px}
    .attraction-detail-premium-language .guest-language-summary{padding:0 10px;gap:5px}
    .attraction-detail-premium-language .guest-language-current{font-size:12px}
    .attraction-detail-heading-row{gap:10px}
    .attraction-detail-save{width:46px;height:46px}
    .attraction-detail-fact{padding-inline:8px}
    .attraction-detail-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
    .attraction-detail-action{min-height:112px}
}
@media(prefers-reduced-motion:reduce){
    .attraction-detail-action:active{transform:none}
    .attraction-detail-more summary svg{transition:none}
}

/* ========================================================================== 
   LOCALIA GUEST GUIDED TOURS — APPROVED PRODUCTION DESIGN 02
   Exact production adaptation of the accepted HTML/CSS prototype.
   ========================================================================== */
.localia-app.is-screen-explore-tours .localia-screen{
    padding:0 0 calc(100px + env(safe-area-inset-bottom));
    background:var(--localia-paper);
}
.localia-app.is-screen-explore-tours .app-header{display:none}
.localia-app.is-screen-explore-tours .screen-content{padding-bottom:0}
.guided-tours-approved-page{
    position:relative;
    color:var(--localia-ink);
    font-family:"Localia Avenir",var(--localia-font-ui);
}
.guided-tours-approved-hero{
    position:relative;
    height:512px;
    overflow:hidden;
    color:#fff;
    background:var(--localia-ink);
}
.guided-tours-approved-hero-image,
.guided-tours-approved-hero-shade{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
}
.guided-tours-approved-hero-image{
    object-fit:cover;
    object-position:52% center;
}
.guided-tours-approved-hero-shade{
    background:
        linear-gradient(180deg,rgba(3,20,42,.03) 0%,rgba(3,20,42,.04) 32%,rgba(3,20,42,.20) 58%,rgba(3,20,42,.76) 100%),
        linear-gradient(90deg,rgba(3,20,42,.24) 0%,rgba(3,20,42,.08) 58%,rgba(3,20,42,.03) 100%);
}
.guided-tours-approved-topbar{
    position:absolute;
    z-index:8;
    top:0;
    left:0;
    right:0;
    height:88px;
    padding:20px 18px 0;
}
.guided-tours-approved-back{
    position:absolute;
    left:18px;
    top:27px;
    z-index:3;
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    padding:0;
    border:0;
    background:transparent;
    color:var(--localia-ink);
}
.guided-tours-approved-back svg{width:28px;height:28px;stroke-width:1.75}
.guided-tours-approved-logo{
    position:absolute;
    left:50%;
    top:25px;
    transform:translateX(-50%);
}
.guided-tours-approved-logo .localia-logo-image{
    display:block;
    width:158px;
    height:auto;
    filter:none;
}
.guided-tours-approved-language{
    position:absolute;
    top:19px;
    right:15px;
}
.guided-tours-approved-language .guest-language-summary{
    height:47px;
    gap:7px;
    padding:0 13px;
    border:1px solid rgba(3,32,80,.25);
    background:rgba(255,255,255,.38);
    color:var(--localia-ink);
    box-shadow:none;
    backdrop-filter:blur(12px);
}
.guided-tours-approved-language .guest-language-current{
    font-size:14px;
    font-weight:500;
    letter-spacing:.05em;
}
.guided-tours-approved-language .guest-language-globe{width:20px;height:20px}
.guided-tours-approved-language .guest-language-chevron{width:14px;height:14px}
.guided-tours-approved-language .guest-language-options{z-index:40}
.guided-tours-approved-hero-copy{
    position:absolute;
    z-index:3;
    left:28px;
    right:25px;
    bottom:64px;
    max-width:360px;
}
.guided-tours-approved-hero-copy h1{
    margin:0 0 15px;
    color:#fff;
    font-family:"Localia Display",var(--localia-font-display);
    font-size:55px;
    font-weight:400;
    line-height:.94;
    letter-spacing:-.043em;
    text-shadow:0 10px 25px rgba(3,20,42,.30);
}
.guided-tours-approved-hero-copy p{
    max-width:330px;
    margin:0;
    color:rgba(255,255,255,.96);
    font-size:17px;
    font-weight:400;
    line-height:1.53;
    text-shadow:0 7px 20px rgba(3,20,42,.28);
}
.guided-tours-approved-panel{
    position:relative;
    z-index:4;
    margin-top:-40px;
    padding:0 14px 28px;
    border-radius:34px 34px 0 0;
    background:linear-gradient(180deg,#fff 0%,#fbf9f5 100%);
}
.guided-tours-approved-how{
    margin:0 -1px 12px;
    border-bottom:1px solid rgba(3,32,80,.09);
}
.guided-tours-approved-how summary{
    min-height:76px;
    display:grid;
    grid-template-columns:30px minmax(0,1fr) 21px;
    align-items:center;
    gap:10px;
    padding:0 15px;
    color:#9b7a3f;
    list-style:none;
    cursor:pointer;
}
.guided-tours-approved-how summary::-webkit-details-marker{display:none}
.guided-tours-approved-how-icon{
    width:30px;
    height:30px;
    display:grid;
    place-items:center;
}
.guided-tours-approved-how-icon svg{width:26px;height:26px;stroke-width:1.55}
.guided-tours-approved-how-title{
    font-size:16px;
    font-weight:500;
    line-height:1.25;
}
.guided-tours-approved-how-arrow{
    width:20px;
    height:20px;
    transition:transform .22s ease;
}
.guided-tours-approved-how[open] .guided-tours-approved-how-arrow{transform:rotate(90deg)}
.guided-tours-approved-how p{
    margin:-2px 0 16px;
    padding:0 46px 0 55px;
    color:rgba(3,32,80,.66);
    font-size:12.5px;
    line-height:1.55;
}
.guided-tours-approved-panel > .resume-tour-card{margin:0 0 12px}
.guided-tours-approved-list{
    display:grid;
    gap:12px;
}
.guided-tours-approved-card{
    width:100%;
    min-height:156px;
    display:grid;
    grid-template-columns:112px minmax(0,1fr) 20px;
    align-items:center;
    gap:14px;
    padding:11px 12px 11px 11px;
    border:1px solid rgba(3,32,80,.09);
    border-radius:25px;
    background:#fff;
    color:var(--localia-ink);
    text-align:left;
    box-shadow:0 11px 24px rgba(3,32,80,.045);
    transition:transform .22s ease,box-shadow .22s ease;
}
.guided-tours-approved-card:active{
    transform:scale(.995);
    box-shadow:0 7px 18px rgba(3,32,80,.07);
}
.guided-tours-approved-card-media{
    width:112px;
    height:134px;
    display:block;
    overflow:hidden;
    border-radius:16px;
    background:#eee8dc;
}
.guided-tours-approved-card-media img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}
.guided-tours-approved-card.is-basilica .guided-tours-approved-card-media img{object-position:50% 38%}
.guided-tours-approved-card.is-decumanus .guided-tours-approved-card-media img{object-position:54% 57%}
.guided-tours-approved-card.is-evening .guided-tours-approved-card-media img{object-position:38% 50%}
.guided-tours-approved-card.is-index-0 .guided-tours-approved-card-media img{object-position:50% 38%}
.guided-tours-approved-card.is-index-1 .guided-tours-approved-card-media img{object-position:54% 57%}
.guided-tours-approved-card.is-index-2 .guided-tours-approved-card-media img{object-position:38% 50%}
.guided-tours-approved-card-body{
    min-width:0;
    display:grid;
    gap:8px;
    align-content:center;
    padding:1px 0;
}
.guided-tours-approved-card-title{
    display:block;
    color:var(--localia-ink);
    font-family:"Localia Display",var(--localia-font-display);
    font-size:24px;
    font-weight:400;
    line-height:1.01;
    letter-spacing:-.029em;
}
.guided-tours-approved-card-description{
    display:block;
    color:rgba(3,32,80,.67);
    font-size:12.8px;
    line-height:1.43;
}
.guided-tours-approved-meta{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin-top:1px;
}
.guided-tours-approved-pill{
    min-height:31px;
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:6px 11px;
    border-radius:999px;
    background:#f7f3eb;
    color:var(--localia-ink);
    font-size:11.8px;
    font-weight:500;
    line-height:1;
    white-space:nowrap;
}
.guided-tours-approved-pill > span:first-child{
    width:15px;
    height:15px;
    display:grid;
    place-items:center;
    color:#7c6844;
}
.guided-tours-approved-pill svg{width:15px;height:15px}
.guided-tours-approved-card-arrow{
    width:20px;
    height:20px;
    display:grid;
    place-items:center;
    color:var(--localia-gold);
}
.guided-tours-approved-card-arrow svg{width:20px;height:20px;stroke-width:1.75}
.localia-app.is-screen-explore-tours .tour-filter-empty{
    border-radius:25px;
    background:#fff;
}
@media(max-width:390px){
    .guided-tours-approved-hero{height:492px}
    .guided-tours-approved-logo{top:27px}
    .guided-tours-approved-logo .localia-logo-image{width:146px}
    .guided-tours-approved-language{right:13px}
    .guided-tours-approved-language .guest-language-summary{padding:0 11px}
    .guided-tours-approved-hero-copy{left:22px;bottom:58px}
    .guided-tours-approved-hero-copy h1{font-size:49px}
    .guided-tours-approved-hero-copy p{font-size:15.5px}
    .guided-tours-approved-panel{padding-inline:12px}
    .guided-tours-approved-card{
        min-height:147px;
        grid-template-columns:101px minmax(0,1fr) 18px;
        gap:11px;
        padding:10px;
    }
    .guided-tours-approved-card-media{width:101px;height:125px}
    .guided-tours-approved-card-title{font-size:21.5px}
    .guided-tours-approved-card-description{font-size:12px}
    .guided-tours-approved-pill{padding:6px 9px;font-size:11px}
}
@media(max-width:360px){
    .guided-tours-approved-logo .localia-logo-image{width:134px}
    .guided-tours-approved-language{top:21px}
    .guided-tours-approved-language .guest-language-summary{height:44px;gap:5px}
    .guided-tours-approved-language .guest-language-current{font-size:13px}
    .guided-tours-approved-back{left:13px}
    .guided-tours-approved-card{grid-template-columns:92px minmax(0,1fr) 17px}
    .guided-tours-approved-card-media{width:92px;height:118px}
    .guided-tours-approved-card-title{font-size:20px}
    .guided-tours-approved-how-title{font-size:15px}
}
@media(prefers-reduced-motion:reduce){
    .guided-tours-approved-card,
    .guided-tours-approved-how-arrow{transition:none}
}

/* ==========================================================================
   GUIDED TOUR DETAIL — APPROVED PREMIUM PRODUCTION LAYOUT
   Screen-specific presentation for the pre-start tour page.
   Shared header, language selector, bottom navigation and data logic remain
   controlled by app.js; this section only defines the approved visual layer.
   ========================================================================== */

/* Full-width screen shell: the standard app header is replaced by the hero topbar. */
.localia-app.is-screen-tour-detail .localia-screen{
    padding:0 0 calc(112px + env(safe-area-inset-bottom));
    background:#fff;
}
.localia-app.is-screen-tour-detail .app-header{display:none}
.localia-app.is-screen-tour-detail .screen-content{padding-bottom:0}
.localia-app.is-screen-tour-detail .bottom-nav{width:min(700px,calc(100% - 28px))}

.guided-tour-detail-page{
    position:relative;
    color:var(--localia-ink);
    background:#fff;
    font-family:"Localia Avenir",var(--localia-font-ui);
}

/* Hero and embedded navigation. */
.guided-tour-detail-hero{
    position:relative;
    height:clamp(430px,58svh,555px);
    overflow:hidden;
    background:var(--localia-ink);
}
.guided-tour-detail-hero-image,
.guided-tour-detail-hero-overlay{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
}
.guided-tour-detail-hero-image{
    object-fit:cover;
    object-position:50% 48%;
}
.guided-tour-detail-hero-overlay{
    z-index:1;
    pointer-events:none;
    background:
        linear-gradient(180deg,rgba(247,244,237,.42) 0%,rgba(247,244,237,.08) 19%,transparent 42%),
        linear-gradient(180deg,transparent 70%,rgba(3,20,42,.20) 100%);
}
.guided-tour-detail-topbar{
    position:absolute;
    z-index:5;
    top:max(18px,env(safe-area-inset-top));
    left:clamp(14px,4.8vw,36px);
    right:clamp(14px,4.8vw,36px);
    display:grid;
    grid-template-columns:46px minmax(0,1fr) auto;
    align-items:center;
    gap:10px;
}
.guided-tour-detail-back{
    width:46px;
    height:46px;
    display:grid;
    place-items:center;
    border:1px solid rgba(255,255,255,.82);
    border-radius:999px;
    color:var(--localia-ink);
    background:rgba(255,255,255,.78);
    box-shadow:0 9px 26px rgba(3,20,42,.13);
    backdrop-filter:blur(14px);
}
.guided-tour-detail-back svg{width:23px;height:23px}
.guided-tour-detail-brand{
    justify-self:center;
    min-width:0;
    padding:8px 12px 7px;
    border-radius:16px;
    background:rgba(255,255,255,.54);
    box-shadow:0 7px 24px rgba(3,20,42,.055);
    backdrop-filter:blur(10px);
}
.guided-tour-detail-brand .localia-logo-image{width:clamp(122px,34vw,165px)}
.guided-tour-detail-language .guest-language-summary{
    height:46px;
    padding:0 13px;
    border-color:rgba(255,255,255,.82);
    background:rgba(255,255,255,.78);
    box-shadow:0 9px 26px rgba(3,20,42,.13);
}
.guided-tour-detail-language .guest-language-options{z-index:40}

/* Rounded content sheet overlapping the hero. */
.guided-tour-detail-sheet{
    position:relative;
    z-index:4;
    margin-top:-34px;
    padding:clamp(28px,7vw,48px) clamp(18px,5.5vw,42px) 42px;
    border-radius:34px 34px 0 0;
    background:#fff;
    box-shadow:0 -12px 36px rgba(3,32,80,.11);
}
.guided-tour-detail-heading{margin:0}
.guided-tour-detail-title{
    margin:0;
    color:var(--localia-ink);
    font-family:"Localia Avenir",var(--localia-font-ui);
    font-size:clamp(31px,8.5vw,46px);
    font-weight:600;
    line-height:1.06;
    letter-spacing:-.042em;
}
.guided-tour-detail-location{
    display:flex;
    align-items:center;
    gap:8px;
    margin:12px 0 0;
    color:rgba(3,32,80,.76);
    font-size:clamp(14px,3.8vw,17px);
    line-height:1.4;
}
.guided-tour-detail-location > span:first-child{
    width:22px;
    height:22px;
    flex:0 0 22px;
    color:var(--localia-gold);
}
.guided-tour-detail-location svg{width:100%;height:100%}
.guided-tour-detail-lead{
    max-width:640px;
    margin:20px 0 0;
    color:rgba(3,32,80,.78);
    font-size:clamp(15px,4vw,19px);
    font-weight:400;
    line-height:1.55;
    letter-spacing:-.012em;
}

/* Tour metrics: all icons use the established Localia gold accent. */
.guided-tour-detail-metrics{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    margin-top:27px;
    border-top:1px solid rgba(3,32,80,.07);
    border-bottom:1px solid rgba(3,32,80,.07);
}
.guided-tour-detail-metrics-1{grid-template-columns:minmax(0,1fr)}
.guided-tour-detail-metrics-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.guided-tour-detail-metrics-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.guided-tour-detail-metrics-1 .guided-tour-detail-metric:last-child,
.guided-tour-detail-metrics-2 .guided-tour-detail-metric:nth-child(2),
.guided-tour-detail-metrics-3 .guided-tour-detail-metric:nth-child(3){border-right:0}
.guided-tour-detail-metric{
    min-width:0;
    display:grid;
    grid-template-columns:34px minmax(0,1fr);
    align-items:center;
    gap:9px;
    padding:18px 12px;
    border-right:1px solid rgba(3,32,80,.08);
}
.guided-tour-detail-metric:last-child{border-right:0}
.guided-tour-detail-metric-icon{
    width:32px;
    height:32px;
    display:grid;
    place-items:center;
    color:var(--localia-gold);
}
.guided-tour-detail-metric-icon svg{width:100%;height:100%}
.guided-tour-detail-metric-copy{min-width:0;display:grid;gap:3px}
.guided-tour-detail-metric-copy small{
    overflow:hidden;
    color:rgba(3,32,80,.58);
    font-size:11px;
    font-weight:500;
    line-height:1.2;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.guided-tour-detail-metric-copy strong{
    overflow:hidden;
    color:var(--localia-ink);
    font-size:13px;
    font-weight:500;
    line-height:1.25;
    text-overflow:ellipsis;
    white-space:nowrap;
}

/* Collapsible Before You Start information. */
.guided-tour-detail-before{
    margin-top:23px;
    padding:0 18px;
    border:1px solid rgba(3,32,80,.04);
    border-radius:20px;
    background:linear-gradient(135deg,#faf7f1,#f6f2eb);
}
.guided-tour-detail-before summary{
    min-height:62px;
    display:grid;
    grid-template-columns:28px minmax(0,1fr) 20px;
    align-items:center;
    gap:12px;
    color:var(--localia-ink);
    list-style:none;
    cursor:pointer;
}
.guided-tour-detail-before summary::-webkit-details-marker{display:none}
.guided-tour-detail-before-icon{
    width:28px;
    height:28px;
    color:var(--localia-gold);
}
.guided-tour-detail-before-icon svg{width:100%;height:100%}
.guided-tour-detail-before-title{
    font-size:14px;
    font-weight:600;
    line-height:1.3;
}
.guided-tour-detail-before-chevron{
    width:20px;
    height:20px;
    color:var(--localia-ink);
    transition:transform 180ms ease;
}
.guided-tour-detail-before-chevron svg{width:100%;height:100%}
.guided-tour-detail-before[open] .guided-tour-detail-before-chevron{transform:rotate(180deg)}
.guided-tour-detail-before p{
    margin:-2px 0 18px 40px;
    color:rgba(3,32,80,.74);
    font-size:13.5px;
    line-height:1.55;
}

/* Starting point route card. */
.guided-tour-detail-start-point{
    display:grid;
    grid-template-columns:38px minmax(0,1fr) 22px;
    align-items:center;
    gap:13px;
    margin-top:18px;
    padding:15px 16px;
    border:1px solid rgba(3,32,80,.10);
    border-radius:18px;
    color:var(--localia-ink);
    background:#fff;
    text-decoration:none;
    box-shadow:0 8px 22px rgba(3,32,80,.045);
}
.guided-tour-detail-start-point-icon{
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    color:var(--localia-gold);
}
.guided-tour-detail-start-point-icon svg{width:100%;height:100%}
.guided-tour-detail-start-point-copy{min-width:0;display:grid;gap:4px}
.guided-tour-detail-start-point-copy strong{font-size:14px;font-weight:600;line-height:1.2}
.guided-tour-detail-start-point-copy span{
    overflow:hidden;
    color:rgba(3,32,80,.67);
    font-size:13px;
    line-height:1.35;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.guided-tour-detail-start-point-arrow{
    width:22px;
    height:22px;
    color:var(--localia-ink);
}
.guided-tour-detail-start-point-arrow svg{width:100%;height:100%}

/* Primary action: approved gold button. */
.guided-tour-detail-start{
    width:100%;
    min-height:58px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:11px;
    margin-top:18px;
    border:0;
    border-radius:12px;
    color:#fff;
    background:linear-gradient(135deg,#c89f57 0%,#d4aa52 100%);
    box-shadow:0 12px 25px rgba(186,153,86,.25);
    font-size:16px;
    font-weight:600;
    line-height:1;
}
.guided-tour-detail-start-icon{width:22px;height:22px;display:grid;place-items:center}
.guided-tour-detail-start-icon svg{width:100%;height:100%}
.guided-tour-detail-start:active{transform:translateY(1px)}

/* Framed station preview cards, matching the approved reference. */
.guided-tour-detail-stops{margin-top:28px}
.guided-tour-detail-stops h2{
    margin:0 0 12px;
    color:var(--localia-ink);
    font-family:"Localia Avenir",var(--localia-font-ui);
    font-size:20px;
    font-weight:600;
    line-height:1.2;
    letter-spacing:-.025em;
}
.guided-tour-detail-stop-list{display:grid;gap:7px}
.guided-tour-detail-stop{
    position:relative;
    min-height:74px;
    display:grid;
    grid-template-columns:30px minmax(0,1fr) 62px 18px;
    align-items:center;
    gap:10px;
    padding:8px 10px 8px 7px;
    border:1px solid rgba(3,32,80,.10);
    border-radius:12px;
    background:#fff;
    box-shadow:0 5px 16px rgba(3,32,80,.035);
}
.guided-tour-detail-stop-index{
    position:relative;
    align-self:stretch;
    display:grid;
    place-items:center;
}
.guided-tour-detail-stop-index::after{
    content:"";
    position:absolute;
    z-index:0;
    top:50%;
    left:50%;
    width:1px;
    height:calc(100% + 20px);
    transform:translateX(-50%);
    background:rgba(3,32,80,.17);
}
.guided-tour-detail-stop.is-last .guided-tour-detail-stop-index::after{display:none}
.guided-tour-detail-stop-index span{
    position:relative;
    z-index:1;
    width:24px;
    height:24px;
    display:grid;
    place-items:center;
    border-radius:999px;
    color:#fff;
    background:var(--localia-ink);
    box-shadow:0 4px 10px rgba(3,32,80,.16);
    font-size:11px;
    font-weight:600;
}
.guided-tour-detail-stop-copy{min-width:0;display:grid;gap:4px}
.guided-tour-detail-stop-copy strong{
    overflow:hidden;
    color:var(--localia-ink);
    font-size:13px;
    font-weight:600;
    line-height:1.25;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.guided-tour-detail-stop-copy span{
    display:-webkit-box;
    overflow:hidden;
    color:rgba(3,32,80,.62);
    font-size:11px;
    line-height:1.35;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
}
.guided-tour-detail-stop-image,
.guided-tour-detail-stop-image-placeholder{
    width:62px;
    height:52px;
    display:block;
    overflow:hidden;
    border-radius:8px;
    background:#f0ece4;
}
.guided-tour-detail-stop-image{object-fit:cover;object-position:center}
.guided-tour-detail-stop-image-placeholder{
    display:grid;
    place-items:center;
    color:var(--localia-gold);
}
.guided-tour-detail-stop-image-placeholder svg{width:27px;height:27px}
.guided-tour-detail-stop-arrow{
    width:18px;
    height:18px;
    color:rgba(3,32,80,.50);
}
.guided-tour-detail-stop-arrow svg{width:100%;height:100%}

@media(min-width:600px){
    .guided-tour-detail-hero{height:580px}
    .guided-tour-detail-sheet{margin-left:18px;margin-right:18px;border-radius:36px 36px 0 0}
    .guided-tour-detail-stop{grid-template-columns:34px minmax(0,1fr) 78px 20px;padding:10px 13px}
    .guided-tour-detail-stop-image,
    .guided-tour-detail-stop-image-placeholder{width:78px;height:58px}
}
@media(max-width:430px){
    .guided-tour-detail-hero{height:455px}
    .guided-tour-detail-topbar{grid-template-columns:44px minmax(0,1fr) auto;gap:8px}
    .guided-tour-detail-back{width:44px;height:44px}
    .guided-tour-detail-brand{padding:7px 9px 6px}
    .guided-tour-detail-brand .localia-logo-image{width:122px}
    .guided-tour-detail-language .guest-language-summary{height:44px;padding:0 11px;gap:6px}
    .guided-tour-detail-language .guest-language-globe{width:19px;height:19px}
    .guided-tour-detail-sheet{padding-left:18px;padding-right:18px}
    .guided-tour-detail-metric{grid-template-columns:29px minmax(0,1fr);gap:7px;padding:16px 7px}
    .guided-tour-detail-metric-icon{width:28px;height:28px}
    .guided-tour-detail-metric-copy small{font-size:9.5px}
    .guided-tour-detail-metric-copy strong{font-size:11.5px}
}
@media(max-width:370px){
    .guided-tour-detail-hero{height:425px}
    .guided-tour-detail-brand .localia-logo-image{width:104px}
    .guided-tour-detail-language .guest-language-summary{padding:0 9px;gap:4px}
    .guided-tour-detail-language .guest-language-current{font-size:12px}
    .guided-tour-detail-language .guest-language-globe{display:none}
    .guided-tour-detail-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
    .guided-tour-detail-metric:nth-child(2){border-right:0}
    .guided-tour-detail-metric:nth-child(-n+2){border-bottom:1px solid rgba(3,32,80,.08)}
    .guided-tour-detail-metric-copy small{font-size:10.5px}
    .guided-tour-detail-metric-copy strong{font-size:12px}
    .guided-tour-detail-before{padding-inline:14px}
    .guided-tour-detail-before p{margin-left:36px}
    .guided-tour-detail-stop{grid-template-columns:28px minmax(0,1fr) 54px 16px;gap:8px}
    .guided-tour-detail-stop-image,
    .guided-tour-detail-stop-image-placeholder{width:54px;height:48px}
}
@media(prefers-reduced-motion:reduce){
    .guided-tour-detail-before-chevron{transition:none}
    .guided-tour-detail-start:active{transform:none}
}


/* ==========================================================================
   GUIDED TOUR — ACTIVE STOP EXPERIENCE
   Approved full-bleed hero and overlapping content sheet used after a guest
   starts a guided tour. Data, audio, progress and navigation remain controlled
   by app.js; this section is intentionally screen-specific presentation.
   ========================================================================== */

/* The active stop owns its hero topbar, so the shared header is hidden here. */
.localia-app.is-screen-tour-stop .localia-screen{
    padding:0 0 calc(112px + env(safe-area-inset-bottom));
    background:#fff;
}
.localia-app.is-screen-tour-stop .app-header{display:none}
.localia-app.is-screen-tour-stop .screen-content{padding-bottom:0}
.localia-app.is-screen-tour-stop .bottom-nav{width:min(700px,calc(100% - 28px))}

.guided-tour-stop-page{
    position:relative;
    color:var(--localia-ink);
    background:#fff;
    font-family:"Localia Avenir",var(--localia-font-ui);
}

/* --------------------------------------------------------------------------
   Hero and embedded navigation
   -------------------------------------------------------------------------- */
.guided-tour-stop-hero{
    position:relative;
    height:clamp(470px,60svh,590px);
    overflow:hidden;
    background:linear-gradient(145deg,#e8e1d4,#c9bda9);
}
.guided-tour-stop-hero-image,
.guided-tour-stop-hero-overlay{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
}
.guided-tour-stop-hero-image{
    display:block;
    object-fit:cover;
    object-position:50% 48%;
}
.guided-tour-stop-hero-overlay{
    z-index:1;
    pointer-events:none;
    background:
        linear-gradient(180deg,rgba(247,244,237,.30) 0%,rgba(247,244,237,.05) 23%,transparent 48%),
        linear-gradient(180deg,transparent 68%,rgba(3,20,42,.18) 100%);
}
.guided-tour-stop-topbar{
    position:absolute;
    z-index:5;
    top:max(18px,env(safe-area-inset-top));
    left:clamp(14px,4.8vw,36px);
    right:clamp(14px,4.8vw,36px);
    display:grid;
    grid-template-columns:46px minmax(0,1fr) auto;
    align-items:center;
    gap:10px;
}
.guided-tour-stop-back{
    width:46px;
    height:46px;
    display:grid;
    place-items:center;
    border:1px solid rgba(255,255,255,.78);
    border-radius:999px;
    color:var(--localia-ink);
    background:rgba(255,255,255,.76);
    box-shadow:0 9px 26px rgba(3,20,42,.13);
    backdrop-filter:blur(14px);
}
.guided-tour-stop-back svg{width:23px;height:23px}
.guided-tour-stop-brand{
    justify-self:center;
    min-width:0;
    line-height:0;
}
.guided-tour-stop-brand .localia-logo-image{
    width:clamp(130px,37vw,174px);
    height:auto;
    filter:drop-shadow(0 2px 9px rgba(255,255,255,.48));
}
.guided-tour-stop-language .guest-language-summary{
    height:46px;
    padding:0 13px;
    border-color:rgba(255,255,255,.78);
    background:rgba(255,255,255,.76);
    box-shadow:0 9px 26px rgba(3,20,42,.13);
}
.guided-tour-stop-language .guest-language-options{z-index:40}
.guided-tour-stop-credit{
    position:absolute;
    z-index:3;
    right:12px;
    bottom:42px;
    max-width:min(72%,310px);
    padding:5px 8px;
    border-radius:999px;
    color:rgba(255,255,255,.78);
    background:rgba(3,20,42,.34);
    font-size:8px;
    line-height:1.25;
    text-align:right;
    backdrop-filter:blur(7px);
}
.guided-tour-stop-credit a{color:inherit;text-decoration:underline}
.guided-tour-stop-credit span{display:inline}

/* --------------------------------------------------------------------------
   Overlapping content sheet and progress
   -------------------------------------------------------------------------- */
.guided-tour-stop-sheet{
    position:relative;
    z-index:4;
    margin-top:-34px;
    padding:30px clamp(18px,5.5vw,42px) 42px;
    border-radius:34px 34px 0 0;
    background:#fff;
    box-shadow:0 -12px 36px rgba(3,32,80,.11);
}
.guided-tour-stop-progress-copy{
    margin:0 0 10px;
    color:var(--localia-ink);
    font-size:15px;
    font-weight:500;
    line-height:1.2;
}
.guided-tour-stop-progress{
    height:5px;
    overflow:hidden;
    border-radius:999px;
    background:rgba(3,32,80,.11);
}
.guided-tour-stop-progress span{
    display:block;
    height:100%;
    border-radius:inherit;
    background:linear-gradient(90deg,#c69b4b,#d7b35f);
}
.guided-tour-stop-heading{margin-top:24px}
.guided-tour-stop-title{
    margin:0;
    color:var(--localia-ink);
    font-family:"Localia Display",var(--localia-font-display);
    font-size:clamp(39px,10.5vw,57px);
    font-weight:400;
    line-height:.98;
    letter-spacing:-.04em;
}
.guided-tour-stop-lead{
    max-width:680px;
    margin:16px 0 0;
    color:rgba(3,32,80,.79);
    font-size:clamp(15px,4vw,19px);
    line-height:1.52;
    letter-spacing:-.012em;
}

/* --------------------------------------------------------------------------
   Database-backed metadata pills
   -------------------------------------------------------------------------- */
.guided-tour-stop-meta{
    display:flex;
    flex-wrap:wrap;
    gap:9px;
    margin-top:20px;
}
.guided-tour-stop-pill{
    min-height:42px;
    display:inline-flex;
    align-items:center;
    gap:9px;
    padding:8px 15px;
    border:1px solid rgba(186,153,86,.72);
    border-radius:999px;
    color:var(--localia-ink);
    background:#fff;
}
.guided-tour-stop-pill > span{
    width:22px;
    height:22px;
    display:grid;
    place-items:center;
    color:var(--localia-gold);
}
.guided-tour-stop-pill svg{width:100%;height:100%}
.guided-tour-stop-pill strong{
    font-size:13px;
    font-weight:500;
    line-height:1;
    white-space:nowrap;
}

/* --------------------------------------------------------------------------
   Functional custom audio player
   -------------------------------------------------------------------------- */
.guided-tour-stop-audio{
    margin-top:16px;
    padding:16px 18px 18px;
    border:1px solid rgba(3,32,80,.045);
    border-radius:22px;
    background:linear-gradient(145deg,#fbfaf7,#f6f4ef);
    box-shadow:0 8px 24px rgba(3,32,80,.045);
}
.guided-tour-stop-audio-heading{
    display:grid;
    grid-template-columns:46px minmax(0,1fr);
    align-items:center;
    gap:12px;
}
.guided-tour-stop-audio-symbol{
    width:46px;
    height:46px;
    display:grid;
    place-items:center;
    border-radius:999px;
    color:#fff;
    background:linear-gradient(145deg,#c89e51,#d9b462);
}
.guided-tour-stop-audio-symbol svg{width:24px;height:24px}
.guided-tour-stop-audio-copy{min-width:0;display:grid;gap:3px}
.guided-tour-stop-audio-copy strong{
    color:var(--localia-ink);
    font-size:17px;
    font-weight:600;
    line-height:1.2;
}
.guided-tour-stop-audio-copy span{
    overflow:hidden;
    color:rgba(3,32,80,.72);
    font-size:12.5px;
    line-height:1.35;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.guided-tour-stop-audio-timeline{
    display:grid;
    grid-template-columns:38px minmax(0,1fr) 42px;
    align-items:center;
    gap:9px;
    margin-top:13px;
    color:rgba(3,32,80,.76);
    font-size:11px;
    font-variant-numeric:tabular-nums;
}
.guided-tour-stop-audio-total{text-align:right}
.guided-tour-stop-audio-seek{
    width:100%;
    height:20px;
    margin:0;
    appearance:none;
    background:transparent;
    cursor:pointer;
}
.guided-tour-stop-audio-seek::-webkit-slider-runnable-track{
    height:4px;
    border-radius:999px;
    background:linear-gradient(90deg,var(--localia-gold),rgba(3,32,80,.14));
}
.guided-tour-stop-audio-seek::-webkit-slider-thumb{
    width:15px;
    height:15px;
    margin-top:-5.5px;
    appearance:none;
    border:0;
    border-radius:50%;
    background:var(--localia-gold);
    box-shadow:0 2px 8px rgba(3,32,80,.16);
}
.guided-tour-stop-audio-seek::-moz-range-track{
    height:4px;
    border-radius:999px;
    background:rgba(3,32,80,.14);
}
.guided-tour-stop-audio-seek::-moz-range-progress{
    height:4px;
    border-radius:999px;
    background:var(--localia-gold);
}
.guided-tour-stop-audio-seek::-moz-range-thumb{
    width:15px;
    height:15px;
    border:0;
    border-radius:50%;
    background:var(--localia-gold);
}
.guided-tour-stop-audio-controls{
    display:grid;
    grid-template-columns:52px 64px 52px;
    align-items:center;
    justify-content:center;
    gap:38px;
    margin-top:9px;
}
.guided-tour-stop-audio-skip{
    width:52px;
    height:52px;
    display:grid;
    place-items:center;
    border:0;
    color:var(--localia-ink);
    background:transparent;
}
.guided-tour-stop-audio-skip svg{width:32px;height:32px}
.guided-tour-stop-audio-play{
    width:64px;
    height:64px;
    display:grid;
    place-items:center;
    border:0;
    border-radius:999px;
    color:#fff;
    background:var(--localia-ink);
    box-shadow:0 10px 22px rgba(3,32,80,.19);
}
.guided-tour-stop-audio-play span{grid-area:1/1;display:grid;place-items:center}
.guided-tour-stop-audio-play svg{width:29px;height:29px}
.guided-tour-stop-audio-icon-pause{opacity:0;transform:scale(.8)}
.guided-tour-stop-audio-icon-play,
.guided-tour-stop-audio-icon-pause{transition:opacity .16s ease,transform .16s ease}
.guided-tour-stop-audio.is-playing .guided-tour-stop-audio-icon-play{opacity:0;transform:scale(.8)}
.guided-tour-stop-audio.is-playing .guided-tour-stop-audio-icon-pause{opacity:1;transform:scale(1)}

/* --------------------------------------------------------------------------
   What to see and approved supporting content
   -------------------------------------------------------------------------- */
.guided-tour-stop-look{
    margin-top:21px;
    padding-bottom:19px;
    border-bottom:1px solid rgba(3,32,80,.09);
}
.guided-tour-stop-look h2{
    display:flex;
    align-items:center;
    gap:10px;
    margin:0;
    color:var(--localia-ink);
    font-size:18px;
    font-weight:600;
    line-height:1.25;
}
.guided-tour-stop-look h2 > span{
    width:25px;
    height:25px;
    display:grid;
    place-items:center;
    color:var(--localia-ink);
}
.guided-tour-stop-look h2 svg{width:100%;height:100%}
.guided-tour-stop-look > p{
    margin:10px 0 0 35px;
    color:rgba(3,32,80,.76);
    font-size:13.5px;
    line-height:1.55;
    white-space:pre-line;
}
.guided-tour-stop-look-images{
    display:grid;
    gap:12px;
    margin:14px 0 0 35px;
}
.guided-tour-stop-look-images .tour-guide-focus-image-card{
    padding:0;
    border:0;
    background:transparent;
    box-shadow:none;
}
.guided-tour-stop-look-images .tour-guide-focus-image{
    height:170px;
    margin:0 0 8px;
    border-radius:15px;
}
.guided-tour-stop-look-images .tour-guide-focus-caption{
    color:rgba(3,32,80,.72);
    font-size:12px;
}
.guided-tour-stop-page .tour-learn-more{
    margin-top:14px;
    border:1px solid rgba(3,32,80,.09);
    border-radius:16px;
    background:#fff;
}
.guided-tour-stop-page .tour-learn-more-summary{
    min-height:50px;
    display:flex;
    align-items:center;
    padding:0 15px;
    color:var(--localia-ink);
    font-size:13.5px;
    font-weight:600;
}
.guided-tour-stop-page .tour-learn-more-text{
    margin:0;
    padding:0 15px 15px;
    color:rgba(3,32,80,.74);
    font-size:13px;
    line-height:1.55;
}

/* --------------------------------------------------------------------------
   Compact contextual Ask Localia — shared by tour stops and attraction detail
   -------------------------------------------------------------------------- */
.tour-ask-card.is-compact{
    margin-top:18px;
    padding:13px 14px 12px;
    border:1px solid rgba(186,153,86,.65);
    border-radius:17px;
    background:#fff;
    box-shadow:none;
}
.tour-ask-compact-heading{
    display:grid;
    grid-template-columns:43px minmax(0,1fr);
    align-items:center;
    gap:11px;
}
.tour-ask-compact-symbol{
    width:43px;
    height:43px;
    display:grid;
    place-items:center;
    border-radius:999px;
    color:#fff;
    background:linear-gradient(145deg,#c89e51,#d9b462);
}
.tour-ask-compact-symbol svg{width:23px;height:23px}
.tour-ask-compact-copy{min-width:0;display:grid;gap:2px}
.tour-ask-compact-copy strong{
    color:var(--localia-ink);
    font-size:15px;
    font-weight:600;
    line-height:1.2;
}
.tour-ask-compact-copy span{
    color:rgba(3,32,80,.73);
    font-size:11.8px;
    line-height:1.4;
}
.tour-ask-card.is-compact .tour-ask-messages{
    gap:8px;
    margin:10px 0 0 54px;
}
.tour-ask-card.is-compact .tour-ask-messages:empty{display:none}
.tour-ask-card.is-compact .tour-ask-bubble{
    max-width:100%;
    padding:9px 11px;
    border-radius:13px;
    font-size:12px;
    line-height:1.45;
}
.tour-ask-card.is-compact .tour-ask-input-row{
    min-height:46px;
    display:grid;
    grid-template-columns:minmax(0,1fr) 39px;
    align-items:center;
    gap:7px;
    margin:9px 0 0 54px;
    padding:3px 4px 3px 12px;
    border:1px solid rgba(3,32,80,.16);
    border-radius:14px;
    background:#fff;
}
.tour-ask-card.is-compact .tour-ask-input{
    width:100%;
    min-width:0;
    height:38px;
    padding:0;
    border:0;
    outline:0;
    color:var(--localia-ink);
    background:transparent;
    font-size:12.5px;
}
.tour-ask-card.is-compact .tour-ask-input::placeholder{color:rgba(3,32,80,.38)}
.tour-ask-card.is-compact .tour-ask-send{
    width:39px;
    height:39px;
    display:grid;
    place-items:center;
    border:0;
    border-radius:11px;
    color:var(--localia-gold);
    background:transparent;
}
.tour-ask-card.is-compact .tour-ask-send svg{width:21px;height:21px}
.tour-ask-card.is-compact .tour-ask-send:disabled,
.tour-ask-card.is-compact .tour-ask-input:disabled{opacity:.55}
.attraction-detail-inline-ask{margin-top:22px}

/* --------------------------------------------------------------------------
   Walking directions to the next guided-tour stop
   --------------------------------------------------------------------------
   This block restores the original Google Maps hand-off between stops. The
   URL and destination are supplied by app.js; Google Maps handles the live
   walking route outside Localia.
   -------------------------------------------------------------------------- */
.guided-tour-stop-route{
    display:grid;
    gap:10px;
    margin-top:14px;
    padding:14px;
    border:1px solid rgba(3,32,80,.10);
    border-radius:17px;
    background:linear-gradient(145deg,#fbfaf7,#f7f4ee);
}
.guided-tour-stop-route-copy{
    min-width:0;
    display:grid;
    gap:3px;
}
.guided-tour-stop-route-copy span{
    color:var(--localia-gold);
    font-size:11px;
    font-weight:600;
    line-height:1.2;
    letter-spacing:.045em;
    text-transform:uppercase;
}
.guided-tour-stop-route-copy strong{
    overflow:hidden;
    color:var(--localia-ink);
    font-size:15px;
    font-weight:600;
    line-height:1.35;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.guided-tour-stop-route-button{
    min-height:50px;
    display:grid;
    grid-template-columns:22px minmax(0,1fr) 18px;
    align-items:center;
    gap:10px;
    padding:0 14px;
    border:1px solid rgba(186,153,86,.76);
    border-radius:13px;
    color:var(--localia-ink);
    background:#fff;
    font-size:13.5px;
    font-weight:600;
    line-height:1.2;
    text-decoration:none;
}
.guided-tour-stop-route-icon,
.guided-tour-stop-route-arrow{
    display:grid;
    place-items:center;
    color:var(--localia-gold);
}
.guided-tour-stop-route-icon svg{width:22px;height:22px}
.guided-tour-stop-route-arrow svg{width:18px;height:18px}
.guided-tour-stop-route-button:active{transform:translateY(1px)}

/* --------------------------------------------------------------------------
   Active-stop navigation actions
   -------------------------------------------------------------------------- */
.guided-tour-stop-actions{
    display:grid;
    gap:9px;
    margin-top:14px;
}
.guided-tour-stop-primary,
.guided-tour-stop-secondary{
    width:100%;
    min-height:56px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    border-radius:12px;
    font-size:15px;
    font-weight:600;
    line-height:1;
}
.guided-tour-stop-primary{
    border:0;
    color:#fff;
    background:linear-gradient(135deg,#c89f57 0%,#d4aa52 100%);
    box-shadow:0 12px 25px rgba(186,153,86,.23);
}
.guided-tour-stop-primary svg{width:20px;height:20px}
.guided-tour-stop-secondary{
    border:1.5px solid var(--localia-ink);
    color:var(--localia-ink);
    background:#fff;
}
.guided-tour-stop-primary:active,
.guided-tour-stop-secondary:active{transform:translateY(1px)}

@media(min-width:600px){
    .guided-tour-stop-hero{height:610px}
    .guided-tour-stop-sheet{
        margin-left:18px;
        margin-right:18px;
        border-radius:36px 36px 0 0;
    }
    .guided-tour-stop-audio-controls{gap:56px}
}
@media(max-width:430px){
    .guided-tour-stop-hero{height:490px}
    .guided-tour-stop-topbar{grid-template-columns:44px minmax(0,1fr) auto;gap:8px}
    .guided-tour-stop-back{width:44px;height:44px}
    .guided-tour-stop-brand .localia-logo-image{width:128px}
    .guided-tour-stop-language .guest-language-summary{height:44px;padding:0 11px;gap:6px}
    .guided-tour-stop-language .guest-language-globe{width:19px;height:19px}
    .guided-tour-stop-sheet{padding-left:18px;padding-right:18px}
}
@media(max-width:390px){
    .guided-tour-stop-hero{height:460px}
    .guided-tour-stop-title{font-size:42px}
    .guided-tour-stop-lead{font-size:14.5px}
    .guided-tour-stop-pill{min-height:39px;padding:7px 12px}
    .guided-tour-stop-pill > span{width:20px;height:20px}
    .guided-tour-stop-pill strong{font-size:12px}
    .guided-tour-stop-audio{padding-inline:14px}
    .guided-tour-stop-audio-controls{grid-template-columns:48px 60px 48px;gap:26px}
    .guided-tour-stop-audio-skip{width:48px;height:48px}
    .guided-tour-stop-audio-play{width:60px;height:60px}
    .tour-ask-card.is-compact .tour-ask-input-row,
    .tour-ask-card.is-compact .tour-ask-messages{margin-left:0}
}
@media(max-width:360px){
    .guided-tour-stop-hero{height:435px}
    .guided-tour-stop-brand .localia-logo-image{width:108px}
    .guided-tour-stop-language .guest-language-summary{padding:0 9px;gap:4px}
    .guided-tour-stop-language .guest-language-current{font-size:12px}
    .guided-tour-stop-language .guest-language-globe{display:none}
    .guided-tour-stop-sheet{padding-left:15px;padding-right:15px}
    .guided-tour-stop-title{font-size:38px}
    .guided-tour-stop-audio-controls{gap:20px}
    .guided-tour-stop-look > p,
    .guided-tour-stop-look-images{margin-left:0}
    .tour-ask-compact-heading{grid-template-columns:39px minmax(0,1fr)}
    .tour-ask-compact-symbol{width:39px;height:39px}
}
@media(prefers-reduced-motion:reduce){
    .guided-tour-stop-audio-icon-play,
    .guided-tour-stop-audio-icon-pause{transition:none}
    .guided-tour-stop-primary:active,
    .guided-tour-stop-secondary:active{transform:none}
}

/* ==========================================================================
   GUIDED TOUR — COMPLETED EXPERIENCE
   Final screen displayed after the last guided-tour stop. This section owns
   its hero, layout and actions; the shared header and bottom navigation are
   intentionally hidden so the completion moment remains calm and focused.
   ========================================================================== */

.localia-app.is-screen-tour-completed{
    min-height:100svh;
    background:var(--localia-paper);
}
.localia-app.is-screen-tour-completed .localia-screen{
    width:min(100%,760px);
    max-width:760px;
    min-height:100svh;
    padding:0;
    background:var(--localia-paper);
}
.localia-app.is-screen-tour-completed .app-header,
.localia-app.is-screen-tour-completed .bottom-nav{display:none}
.localia-app.is-screen-tour-completed .screen-content{padding:0}

.guided-tour-completed-page{
    min-height:100svh;
    overflow:hidden;
    color:var(--localia-ink);
    background:
        radial-gradient(circle at 50% 27%,rgba(255,255,255,.92),rgba(255,255,255,0) 37%),
        linear-gradient(180deg,#fbf8f2 0%,#f7f4ed 100%);
    font-family:"Localia Avenir",var(--localia-font-ui);
}

/* Hero photo and real Localia wordmark. */
.guided-tour-completed-hero{
    position:relative;
    height:clamp(320px,43svh,430px);
    overflow:hidden;
    background:linear-gradient(145deg,#e8dfd0,#c6b49d);
}
.guided-tour-completed-hero-image,
.guided-tour-completed-hero-overlay{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
}
.guided-tour-completed-hero-image{
    display:block;
    object-fit:cover;
    object-position:50% 45%;
}
.guided-tour-completed-hero-overlay{
    z-index:1;
    pointer-events:none;
    background:
        linear-gradient(180deg,rgba(250,247,240,.23) 0%,rgba(250,247,240,0) 47%),
        linear-gradient(180deg,transparent 62%,rgba(247,244,237,.40) 85%,var(--localia-paper) 100%);
}
.guided-tour-completed-brand{
    position:absolute;
    z-index:3;
    top:max(26px,calc(env(safe-area-inset-top) + 16px));
    left:50%;
    transform:translateX(-50%);
}
.guided-tour-completed-brand .localia-logo-image{
    width:clamp(160px,42vw,230px);
    height:auto;
    filter:drop-shadow(0 3px 12px rgba(255,255,255,.82));
}

.guided-tour-completed-content{
    position:relative;
    z-index:4;
    margin-top:-1px;
    padding:0 clamp(20px,6vw,46px) calc(30px + env(safe-area-inset-bottom));
}
.guided-tour-completed-check{
    width:clamp(116px,30vw,150px);
    height:clamp(116px,30vw,150px);
    display:grid;
    place-items:center;
    margin:clamp(-76px,-8vw,-58px) auto 12px;
    border-radius:999px;
    color:#d6a441;
    background:rgba(250,247,240,.90);
    box-shadow:0 18px 42px rgba(3,32,80,.13);
    backdrop-filter:blur(10px);
}
.guided-tour-completed-check svg{width:100%;height:100%}
.guided-tour-completed-heading{text-align:center}
.guided-tour-completed-heading h1{
    margin:0;
    font-family:"Localia Display",var(--localia-font-display);
    font-size:clamp(46px,11vw,66px);
    font-weight:400;
    line-height:.98;
    letter-spacing:-.035em;
}
.guided-tour-completed-success{
    margin:17px 0 5px;
    font-size:clamp(16px,4.2vw,20px);
    font-weight:400;
    line-height:1.35;
}
.guided-tour-completed-heading h2{
    margin:0;
    color:#c88f27;
    font-family:"Localia Display",var(--localia-font-display);
    font-size:clamp(31px,7.7vw,45px);
    font-weight:500;
    line-height:1.08;
    letter-spacing:-.02em;
}
.guided-tour-completed-message{
    max-width:570px;
    margin:20px auto 0;
    color:rgba(3,32,80,.80);
    font-size:clamp(14.5px,3.8vw,18px);
    font-weight:400;
    line-height:1.58;
}

/* Three factual completion metrics. Actual elapsed time is tracked locally. */
.guided-tour-completed-progress{
    margin-top:30px;
    padding:20px 12px 22px;
    border:1px solid rgba(200,159,87,.36);
    border-radius:24px;
    background:rgba(255,255,255,.34);
}
.guided-tour-completed-progress h3{
    margin:0 0 18px;
    text-align:center;
    font-size:17px;
    font-weight:600;
}
.guided-tour-completed-progress-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
}
.guided-tour-completed-stat{
    min-width:0;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    padding:0 9px;
    text-align:center;
}
.guided-tour-completed-stat + .guided-tour-completed-stat{
    border-left:1px solid rgba(200,159,87,.32);
}
.guided-tour-completed-stat-icon{
    width:33px;
    height:33px;
    display:grid;
    place-items:center;
    margin-bottom:6px;
    color:#d6a441;
}
.guided-tour-completed-stat-icon svg{width:100%;height:100%}
.guided-tour-completed-stat strong{
    max-width:100%;
    color:#202124;
    font-size:clamp(29px,7.7vw,39px);
    font-weight:500;
    line-height:1;
    overflow-wrap:anywhere;
}
.guided-tour-completed-stat span:not(.guided-tour-completed-stat-icon),
.guided-tour-completed-stat small{
    color:rgba(3,32,80,.78);
    font-size:clamp(12px,3.35vw,15px);
    font-weight:400;
    line-height:1.35;
}
.guided-tour-completed-stat small{font-size:clamp(11px,3vw,14px)}

.guided-tour-completed-actions{
    display:grid;
    gap:10px;
    margin-top:18px;
}
.guided-tour-completed-action{
    width:100%;
    min-height:60px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    padding:13px 18px;
    border:1.2px solid rgba(200,159,87,.88);
    border-radius:18px;
    color:#151d28;
    background:rgba(255,255,255,.24);
    font-size:16px;
}
.guided-tour-completed-action > span{
    width:27px;
    height:27px;
    display:grid;
    place-items:center;
    color:currentColor;
}
.guided-tour-completed-action svg{width:100%;height:100%}
.guided-tour-completed-action strong{font-weight:600}
.guided-tour-completed-action.is-primary{
    border-color:transparent;
    background:linear-gradient(135deg,#e4b34f 0%,#f4ca68 52%,#dfaa40 100%);
    box-shadow:0 12px 28px rgba(200,159,87,.22);
}
.guided-tour-completed-action:active{transform:translateY(1px)}

/* Completion-specific Ask Localia treatment; behavior remains shared. */
.guided-tour-completed-ask{margin-top:14px}
.tour-ask-card.is-compact.is-tour-completed{
    padding:16px 15px 14px;
    border:1px solid rgba(3,32,80,.08);
    border-radius:24px;
    background:rgba(255,255,255,.88);
    box-shadow:0 18px 40px rgba(3,32,80,.09);
}
.tour-ask-card.is-compact.is-tour-completed .tour-ask-compact-heading{
    grid-template-columns:34px minmax(0,1fr);
    gap:10px;
}
.tour-ask-card.is-compact.is-tour-completed .tour-ask-compact-symbol{
    width:34px;
    height:34px;
    color:#c69437;
    background:transparent;
}
.tour-ask-card.is-compact.is-tour-completed .tour-ask-compact-copy strong{font-size:17px}
.tour-ask-card.is-compact.is-tour-completed .tour-ask-compact-copy span{
    color:rgba(3,32,80,.72);
    font-size:13px;
    line-height:1.42;
}
.tour-ask-card.is-compact.is-tour-completed .tour-ask-input-row{
    min-height:52px;
    margin-top:12px;
    margin-left:0;
    padding-left:15px;
    border-radius:17px;
    background:rgba(255,255,255,.90);
}
.tour-ask-card.is-compact.is-tour-completed .tour-ask-input{font-size:14px}
.tour-ask-card.is-compact.is-tour-completed .tour-ask-send{
    width:46px;
    height:46px;
    margin-right:2px;
    border-radius:999px;
    color:#fff;
    background:var(--localia-ink);
}
.tour-ask-card.is-compact.is-tour-completed .tour-ask-send svg{width:23px;height:23px}
.guided-tour-completed-source-note{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    margin:19px 0 0;
    color:rgba(3,32,80,.48);
    font-size:11.5px;
    line-height:1.35;
    text-align:center;
}
.guided-tour-completed-source-note > span:first-child{
    width:18px;
    height:18px;
    flex:0 0 auto;
    color:#c88f27;
}
.guided-tour-completed-source-note svg{width:100%;height:100%}

@media(min-width:600px){
    .guided-tour-completed-hero{height:455px}
    .guided-tour-completed-content{padding-inline:54px}
    .guided-tour-completed-progress{padding-inline:26px}
}
@media(max-width:390px){
    .guided-tour-completed-hero{height:300px}
    .guided-tour-completed-content{padding-inline:16px}
    .guided-tour-completed-check{width:108px;height:108px;margin-top:-58px}
    .guided-tour-completed-heading h1{font-size:44px}
    .guided-tour-completed-progress{padding-inline:5px}
    .guided-tour-completed-stat{padding-inline:5px}
    .guided-tour-completed-action{min-height:56px;border-radius:15px;font-size:15px}
}
@media(max-width:360px){
    .guided-tour-completed-brand .localia-logo-image{width:145px}
    .guided-tour-completed-heading h1{font-size:40px}
    .guided-tour-completed-heading h2{font-size:29px}
    .guided-tour-completed-stat strong{font-size:27px}
    .tour-ask-card.is-compact.is-tour-completed .tour-ask-compact-copy span{font-size:12px}
}
@media(prefers-reduced-motion:reduce){
    .guided-tour-completed-action:active{transform:none}
}



/* ==========================================================================
   SCREEN: NEARBY / AROUND ME — APPROVED PREMIUM PRODUCTION DESIGN
   --------------------------------------------------------------------------
   Full-bleed location hero with the shared Localia header over the image.
   The white content panel contains the existing Google Maps search, eight
   quick actions and the concise explanation of how Nearby works.

   Functional contract:
   - search and quick actions still open external Google Maps URLs
   - no Google Places API or embedded map is introduced
   - analytics hooks remain on the existing data-nearby-* attributes
   ========================================================================== */
.localia-app.is-screen-nearby {
    background: linear-gradient(180deg, #f7f4ed 0%, #fbfaf7 62%, #f5f1e9 100%);
}

.localia-app.is-screen-nearby .localia-screen {
    overflow: hidden;
    padding-top: 0;
}

/* Header is part of the full-bleed hero on this screen only. */
.localia-app.is-screen-nearby .app-header {
    position: absolute;
    z-index: 40;
    top: max(20px, env(safe-area-inset-top));
    left: clamp(24px, 6.2vw, 48px);
    right: clamp(24px, 6.2vw, 48px);
    min-height: 52px;
    padding: 0;
}

.localia-app.is-screen-nearby .localia-logo-image {
    width: clamp(176px, 46vw, 236px);
    filter: drop-shadow(0 3px 10px rgba(0, 10, 35, .22));
}

.localia-app.is-screen-nearby .guest-language-summary {
    height: 48px;
    padding-inline: 15px;
    color: #fff;
    border-color: rgba(255, 255, 255, .76);
    background: rgba(2, 22, 55, .34);
    box-shadow: 0 10px 28px rgba(0, 12, 42, .22);
    backdrop-filter: blur(14px);
}

.localia-app.is-screen-nearby .guest-language-options {
    color: var(--localia-ink);
}

.localia-app.is-screen-nearby .screen-content {
    padding-bottom: 18px;
}

.nearby-premium-screen {
    position: relative;
}

.nearby-premium-hero {
    position: relative;
    isolation: isolate;
    height: clamp(365px, 45svh, 455px);
    margin-inline: calc(-1 * clamp(14px, 4.5vw, 34px));
    overflow: hidden;
    background: #031d49;
}

.nearby-premium-hero-image,
.nearby-premium-hero-overlay {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.nearby-premium-hero-image {
    z-index: 0;
    object-fit: cover;
    object-position: 61% center;
    transform: scale(1.015);
}

.nearby-premium-hero-overlay {
    z-index: 1;
    background:
        linear-gradient(90deg,
            rgba(2, 21, 52, .97) 0%,
            rgba(2, 24, 59, .90) 37%,
            rgba(2, 25, 61, .48) 67%,
            rgba(2, 25, 61, .14) 100%),
        linear-gradient(180deg,
            rgba(1, 16, 42, .18) 0%,
            rgba(1, 16, 42, .03) 66%,
            rgba(1, 16, 42, .30) 100%);
    pointer-events: none;
}

.nearby-premium-hero-copy {
    position: absolute;
    z-index: 2;
    left: clamp(32px, 8vw, 66px);
    top: clamp(145px, 18svh, 185px);
    width: min(66%, 475px);
    color: #fff;
}

.nearby-premium-eyebrow,
.nearby-premium-section-label {
    color: var(--localia-gold);
    font-size: clamp(11px, 2.9vw, 14px);
    font-weight: 600;
    line-height: 1.15;
    letter-spacing: .17em;
    text-transform: uppercase;
}

.nearby-premium-title {
    max-width: 470px;
    margin: 17px 0 0;
    color: #fff;
    font-family: "Localia Display", var(--localia-font-display);
    font-size: clamp(43px, 10.9vw, 65px);
    font-weight: 400;
    line-height: .99;
    letter-spacing: -.035em;
    text-wrap: balance;
}

.nearby-premium-intro {
    max-width: 430px;
    margin: 24px 0 0;
    color: rgba(255, 255, 255, .92);
    font-size: clamp(15px, 3.8vw, 20px);
    font-weight: 400;
    line-height: 1.48;
}

.nearby-premium-panel {
    position: relative;
    z-index: 5;
    /* Slight hero overlap creates the shared rounded-panel transition. */
    margin: -16px calc(-1 * clamp(14px, 4.5vw, 34px)) 0;
    padding: clamp(30px, 7vw, 48px) clamp(20px, 5.2vw, 38px) 28px;
    border-radius: 38px 38px 0 0;
    background: linear-gradient(180deg, rgba(255, 255, 255, .995), #fbfaf7 68%, #f7f4ed 100%);
    box-shadow: 0 -12px 36px rgba(1, 21, 53, .12);
}

.nearby-premium-search {
    padding-bottom: clamp(25px, 6vw, 34px);
    border-bottom: 1px solid rgba(3, 32, 80, .11);
}

.nearby-premium-search-label {
    display: block;
    margin-top: 10px;
    color: var(--localia-ink);
    font-family: "Localia Display", var(--localia-font-display);
    font-size: clamp(31px, 7.8vw, 43px);
    font-weight: 400;
    line-height: 1.05;
    letter-spacing: -.025em;
}

.nearby-premium-search-row {
    display: grid;
    /* Search field and Maps action use separate full-width rows. */
    grid-template-columns: minmax(0, 1fr);
    align-items: center;
    gap: 11px;
    margin-top: 24px;
}

.nearby-premium-input-wrap {
    position: relative;
    min-width: 0;
}

.nearby-premium-search-input {
    width: 100%;
    height: 58px;
    padding: 0 51px 0 20px;
    border: 1.5px solid rgba(186, 153, 86, .58);
    border-radius: 999px;
    outline: 0;
    color: var(--localia-ink);
    background: rgba(255, 255, 255, .88);
    box-shadow:
        0 8px 20px rgba(3, 32, 80, .055),
        inset 0 1px 0 rgba(255, 255, 255, .95);
    font-size: clamp(14px, 3.5vw, 17px);
    font-weight: 400;
    transition: border-color 160ms ease, box-shadow 160ms ease;
}

.nearby-premium-search-input::placeholder {
    color: rgba(3, 32, 80, .42);
}

.nearby-premium-search-input:focus {
    border-color: rgba(186, 153, 86, .72);
    box-shadow: 0 0 0 4px rgba(186, 153, 86, .11);
}

.nearby-premium-search-icon {
    position: absolute;
    top: 50%;
    right: 17px;
    width: 23px;
    height: 23px;
    color: rgba(3, 32, 80, .72);
    transform: translateY(-50%);
    pointer-events: none;
}

.nearby-premium-search-icon svg {
    display: block;
    width: 100%;
    height: 100%;
}

.nearby-premium-search-button {
    width: 100%;
    min-width: 0;
    height: 58px;
    padding-inline: 20px;
    border: 0;
    border-radius: 999px;
    color: #fff;
    background: linear-gradient(135deg, #032050 0%, #052c69 100%);
    box-shadow: 0 12px 26px rgba(3, 32, 80, .17);
    font-size: clamp(13px, 3.25vw, 16px);
    font-weight: 600;
    white-space: nowrap;
    cursor: pointer;
}

.nearby-premium-search-button:active {
    transform: translateY(1px);
}

.nearby-premium-search-hint {
    margin: 18px 2px 0;
    color: rgba(3, 32, 80, .58);
    font-size: clamp(12px, 3vw, 15px);
    font-weight: 400;
    line-height: 1.45;
}

.nearby-premium-options {
    padding-top: clamp(26px, 6.4vw, 38px);
}

.nearby-premium-heading-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 18px;
}

.nearby-premium-heading {
    margin: 0;
    color: var(--localia-ink);
    font-size: clamp(17px, 4.2vw, 22px);
    font-weight: 600;
    line-height: 1.15;
    letter-spacing: .01em;
    text-transform: uppercase;
}

.nearby-premium-location-hint {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 7px;
    color: var(--localia-gold);
    font-size: clamp(11px, 2.8vw, 14px);
    font-weight: 600;
    line-height: 1.2;
    text-align: right;
}

.nearby-premium-location-hint > span {
    flex: 0 0 auto;
    width: 20px;
    height: 20px;
}

.nearby-premium-location-hint svg {
    display: block;
    width: 100%;
    height: 100%;
}

.nearby-premium-action-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(9px, 2.6vw, 14px);
}

.nearby-premium-action-card {
    position: relative;
    min-width: 0;
    min-height: clamp(112px, 29vw, 145px);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 13px;
    padding: 15px 7px 13px;
    border: 1px solid rgba(3, 32, 80, .075);
    border-radius: clamp(19px, 5vw, 26px);
    color: var(--localia-ink);
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 10px 25px rgba(3, 32, 80, .075);
    text-decoration: none;
    transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}

.nearby-premium-action-card:active {
    transform: translateY(1px);
}

.nearby-premium-action-icon {
    width: clamp(37px, 9.6vw, 48px);
    height: clamp(37px, 9.6vw, 48px);
    color: var(--localia-ink);
}

.nearby-premium-action-icon svg {
    display: block;
    width: 100%;
    height: 100%;
}

.nearby-premium-action-label {
    max-width: 100%;
    color: var(--localia-ink);
    font-size: clamp(11px, 2.85vw, 14px);
    font-weight: 600;
    line-height: 1.16;
    text-align: center;
    overflow-wrap: anywhere;
}

.nearby-premium-action-arrow {
    position: absolute;
    right: 10px;
    bottom: 12px;
    width: 14px;
    height: 14px;
    color: var(--localia-ink);
}

.nearby-premium-action-arrow svg {
    display: block;
    width: 100%;
    height: 100%;
}

.nearby-premium-info {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 15px;
    margin-top: clamp(24px, 6vw, 34px);
    padding: clamp(18px, 4.7vw, 25px);
    border: 1px solid rgba(186, 153, 86, .28);
    border-radius: clamp(20px, 5vw, 27px);
    color: var(--localia-ink);
    background: rgba(255, 255, 255, .72);
    box-shadow: 0 10px 25px rgba(3, 32, 80, .045);
}

.nearby-premium-info-icon {
    width: 35px;
    height: 35px;
    color: var(--localia-gold);
}

.nearby-premium-info-icon svg {
    display: block;
    width: 100%;
    height: 100%;
}

.nearby-premium-info-title {
    margin-top: 1px;
    color: var(--localia-ink);
    font-size: clamp(16px, 4vw, 20px);
    font-weight: 600;
    line-height: 1.2;
}

.nearby-premium-info p {
    margin: 7px 0 0;
    color: rgba(3, 32, 80, .72);
    font-size: clamp(12px, 3.1vw, 15px);
    font-weight: 400;
    line-height: 1.52;
}

@media (hover: hover) and (pointer: fine) {
    .nearby-premium-action-card:hover {
        transform: translateY(-2px);
        border-color: rgba(186, 153, 86, .32);
        box-shadow: 0 15px 30px rgba(3, 32, 80, .11);
    }

    .nearby-premium-search-button:hover {
        box-shadow: 0 15px 30px rgba(3, 32, 80, .22);
    }
}

@media (max-width: 389px) {
    .localia-app.is-screen-nearby .app-header {
        left: 19px;
        right: 19px;
    }

    .localia-app.is-screen-nearby .localia-logo-image {
        width: 163px;
    }

    .localia-app.is-screen-nearby .guest-language-summary {
        height: 44px;
        padding-inline: 12px;
    }

    .nearby-premium-hero {
        height: 355px;
    }

    .nearby-premium-hero-copy {
        left: 26px;
        top: 137px;
        width: 69%;
    }

    .nearby-premium-title {
        font-size: 39px;
    }

    .nearby-premium-intro {
        margin-top: 19px;
        font-size: 14px;
    }

    .nearby-premium-panel {
        margin-top: -13px;
        padding-inline: 17px;
        border-radius: 32px 32px 0 0;
    }

    .nearby-premium-search-row {
        gap: 8px;
    }

    .nearby-premium-search-input,
    .nearby-premium-search-button {
        height: 54px;
    }

    .nearby-premium-search-button {
        min-width: 0;
        padding-inline: 14px;
        font-size: 12px;
    }

    .nearby-premium-action-grid {
        gap: 8px;
    }

    .nearby-premium-action-card {
        min-height: 106px;
        padding-inline: 4px;
    }

    .nearby-premium-action-label {
        font-size: 10.5px;
    }
}

@media (min-width: 600px) {
    .localia-app.is-screen-nearby .app-header {
        top: 30px;
        left: 44px;
        right: 44px;
    }

    .localia-app.is-screen-nearby .localia-logo-image {
        width: 255px;
    }

    .nearby-premium-hero {
        height: 500px;
    }

    .nearby-premium-hero-copy {
        top: 180px;
        left: 58px;
    }

    .nearby-premium-panel {
        margin-top: -18px;
        padding-inline: 44px;
    }

    .nearby-premium-action-grid {
        gap: 16px;
    }

    .nearby-premium-action-card {
        min-height: 154px;
    }
}

/* ==========================================================================
   10. SCREEN: ASK LOCALIA — APPROVED PREMIUM LANDING + CONVERSATION
   The empty state follows the approved 2026-07-23 render. Once a question is
   sent, the same screen becomes a compact conversation without a long history
   on the initial landing state.
   ========================================================================== */

.localia-app.is-screen-ask{
    background:
        radial-gradient(circle at 52% 18%,rgba(255,255,255,.98) 0 24%,rgba(250,247,241,.88) 58%,rgba(246,242,234,.96) 100%);
}
.localia-app.is-screen-ask .localia-screen{
    width:min(100%,760px);
    padding-top:max(18px,env(safe-area-inset-top));
}
.localia-app.is-screen-ask .screen-content{
    padding-bottom:18px;
}
.localia-app.is-screen-ask .app-header.is-ask-landing{
    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:start;
    min-height:112px;
    margin-bottom:0;
    padding:0;
}
.localia-app.is-screen-ask .app-header.is-ask-landing .localia-brand{
    grid-column:2;
    justify-self:center;
    padding-top:10px;
}
.localia-app.is-screen-ask .app-header.is-ask-landing .localia-logo-image{
    width:clamp(166px,45vw,218px);
}
.localia-app.is-screen-ask .app-header.is-ask-landing .app-header-side{
    grid-column:3;
    justify-self:end;
}
.localia-app.is-screen-ask .app-header.is-ask-landing .guest-language-summary{
    height:44px;
    padding:0 13px;
    border-color:rgba(186,153,86,.55);
    background:rgba(255,255,255,.70);
}
.ask-screen-premium{
    width:100%;
    min-width:0;
    color:var(--localia-ink);
}
.ask-screen-premium.is-landing{
    display:block;
    padding:0 0 4px;
}
.ask-landing-hero{
    position:relative;
    min-height:455px;
    margin:0 calc(clamp(14px,4.5vw,34px) * -1);
    padding:86px clamp(22px,7vw,54px) 0;
    overflow:hidden;
    text-align:center;
}
.ask-landing-title{
    position:relative;
    z-index:2;
    margin:0;
    color:var(--localia-ink);
    font-family:"Localia Display",var(--localia-font-display);
    font-size:clamp(34px,9.1vw,52px);
    font-weight:400;
    line-height:1.02;
    letter-spacing:-.035em;
    white-space:nowrap;
}
.ask-title-divider{
    position:relative;
    z-index:2;
    width:192px;
    display:grid;
    grid-template-columns:1fr 14px 1fr;
    align-items:center;
    gap:9px;
    margin:23px auto 20px;
    color:var(--localia-gold);
}
.ask-title-divider span{
    height:1px;
    background:linear-gradient(90deg,transparent,rgba(186,153,86,.88));
}
.ask-title-divider span:last-child{
    transform:scaleX(-1);
}
.ask-title-divider i{
    position:relative;
    width:9px;
    height:9px;
    display:block;
    transform:rotate(45deg);
    background:var(--localia-gold);
}
.ask-title-divider i::after{
    content:"";
    position:absolute;
    inset:3px -5px;
    border-top:1px solid rgba(186,153,86,.65);
    border-bottom:1px solid rgba(186,153,86,.65);
}
.ask-landing-intro{
    position:relative;
    z-index:2;
    max-width:520px;
    margin:0 auto;
    color:rgba(20,28,43,.88);
    font-size:clamp(15px,4.1vw,19px);
    font-weight:300;
    line-height:1.48;
}
.ask-landing-illustration{
    position:absolute;
    z-index:1;
    left:0;
    right:0;
    bottom:0;
    height:252px;
    background:url("../images/ask/ask-porec-line-art.png") center bottom/cover no-repeat;
    opacity:.82;
    pointer-events:none;
}
.ask-landing-illustration::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,rgba(249,247,242,.90) 0%,rgba(249,247,242,.12) 30%,rgba(249,247,242,0) 100%);
}
.ask-premium-composer{
    position:relative;
    z-index:5;
    width:100%;
    min-height:78px;
    display:grid;
    grid-template-columns:minmax(0,1fr) 54px 58px;
    align-items:center;
    gap:8px;
    padding:10px 11px 10px 20px;
    border:1.35px solid rgba(186,153,86,.88);
    border-radius:31px;
    background:rgba(255,255,255,.88);
    box-shadow:0 17px 35px rgba(3,32,80,.08),inset 0 1px 0 rgba(255,255,255,.96);
    backdrop-filter:blur(16px);
}
.ask-premium-composer.is-landing{
    margin-top:-2px;
}
.ask-premium-composer input{
    width:100%;
    min-width:0;
    border:0;
    outline:0;
    padding:0;
    color:var(--localia-ink);
    background:transparent;
    font-family:var(--localia-font-ui);
    font-size:clamp(14px,4vw,17px);
    font-weight:300;
    line-height:1.3;
}
.ask-premium-composer input::placeholder{
    color:rgba(54,62,75,.56);
    opacity:1;
}
.ask-microphone-button,
.ask-send-button{
    border:0;
    display:grid;
    place-items:center;
    border-radius:999px;
    cursor:pointer;
    transition:transform 180ms ease,box-shadow 180ms ease,background 180ms ease;
}
.ask-microphone-button{
    width:50px;
    height:50px;
    color:var(--localia-gold);
    background:rgba(250,248,244,.96);
    box-shadow:inset 0 0 0 1px rgba(3,32,80,.045);
}
.ask-send-button{
    width:56px;
    height:56px;
    color:#fff;
    background:linear-gradient(145deg,#d5ad62,#b88a3c);
    box-shadow:0 9px 20px rgba(186,153,86,.28);
}
.ask-microphone-button svg{width:25px;height:25px}
.ask-send-button svg{width:26px;height:26px}
.ask-microphone-button:hover,
.ask-send-button:hover{transform:translateY(-1px)}
.ask-microphone-button.is-listening{
    color:#fff;
    background:var(--localia-gold);
    animation:askListeningPulse 1.2s ease-in-out infinite;
}
.ask-microphone-button:disabled,
.ask-send-button:disabled{
    cursor:default;
    opacity:.46;
    transform:none;
    box-shadow:none;
}
@keyframes askListeningPulse{
    50%{box-shadow:0 0 0 8px rgba(186,153,86,.13)}
}
.ask-suggestion-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
    margin:20px 0 22px;
}
.ask-suggestion-card{
    min-width:0;
    min-height:132px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    gap:12px;
    padding:18px 7px 13px;
    border:1px solid rgba(3,32,80,.055);
    border-radius:20px;
    color:var(--localia-ink);
    background:rgba(255,255,255,.72);
    box-shadow:0 12px 26px rgba(3,32,80,.07);
    font-size:clamp(11px,3.1vw,14px);
    font-weight:400;
    line-height:1.28;
    text-align:center;
    cursor:pointer;
    transition:transform 180ms ease,box-shadow 180ms ease,border-color 180ms ease;
}
.ask-suggestion-card:hover{
    transform:translateY(-2px);
    border-color:rgba(186,153,86,.30);
    box-shadow:0 16px 31px rgba(3,32,80,.10);
}
.ask-suggestion-icon{
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    color:var(--localia-gold);
}
.ask-suggestion-icon svg{width:100%;height:100%}
.ask-trust-note{
    max-width:570px;
    margin:0 auto;
    padding:0 5px 8px;
    color:rgba(40,47,58,.68);
}
.ask-trust-primary{
    display:grid;
    grid-template-columns:42px minmax(0,1fr);
    align-items:center;
    gap:12px;
    padding:0 0 13px;
    border-bottom:1px solid rgba(186,153,86,.62);
}
.ask-trust-primary p,
.ask-trust-disclaimer{margin:0}
.ask-trust-primary p{
    font-size:13px;
    font-weight:300;
    line-height:1.38;
}
.ask-trust-icon{
    width:38px;
    height:38px;
    color:var(--localia-gold);
}
.ask-trust-icon svg{width:100%;height:100%}
.ask-trust-disclaimer{
    padding:12px 0 0;
    font-size:11px;
    font-weight:300;
    line-height:1.42;
    text-align:center;
}

/* Conversation state: compact, readable, and still part of the same concierge. */
.localia-app.is-screen-ask .app-header.is-ask-conversation{
    min-height:58px;
    margin-bottom:10px;
}
.localia-app.is-screen-ask .app-header.is-ask-conversation .localia-logo-image{
    width:clamp(142px,39vw,184px);
}
.ask-screen-premium.has-conversation{
    min-height:calc(100svh - 190px);
    display:flex;
    justify-content:flex-start;
    padding:5px 0 0;
}
.ask-screen-premium.has-conversation .ask-context-row{
    margin:0 0 14px;
}
.ask-screen-premium.has-conversation .ask-back-button{
    display:inline-flex;
    align-items:center;
    gap:7px;
    min-height:38px;
    padding:8px 12px;
    border:1px solid rgba(3,32,80,.10);
    border-radius:999px;
    color:var(--localia-ink);
    background:rgba(255,255,255,.70);
    font-size:12px;
    font-weight:400;
}
.ask-screen-premium.has-conversation .ask-back-button span{
    width:16px;
    height:16px;
}
.ask-screen-premium.has-conversation .ask-back-button svg{width:100%;height:100%}
.ask-screen-premium.has-conversation .ask-context-pill{
    padding:8px 11px;
    border:1px solid rgba(186,153,86,.25);
    border-radius:999px;
    color:rgba(3,32,80,.72);
    background:rgba(186,153,86,.08);
    font-size:11px;
    font-weight:500;
}
.ask-conversation-title{
    margin:0 0 14px;
    color:var(--localia-ink);
    font-family:"Localia Display",var(--localia-font-display);
    font-size:34px;
    font-weight:400;
    line-height:1.08;
}
.ask-screen-premium.has-conversation .ask-messages{
    flex:1;
    max-height:none;
    min-height:210px;
    padding:4px 1px 18px;
    scrollbar-width:thin;
}
.ask-screen-premium.has-conversation .ask-bubble{
    max-width:88%;
    padding:13px 15px;
    border-radius:19px;
    font-size:13px;
    font-weight:300;
    line-height:1.5;
}
.ask-screen-premium.has-conversation .ask-bubble.user{
    background:var(--localia-ink);
    border-bottom-right-radius:7px;
}
.ask-screen-premium.has-conversation .ask-bubble.localia{
    border-color:rgba(3,32,80,.08);
    border-bottom-left-radius:7px;
    background:rgba(255,255,255,.83);
}
.ask-screen-premium.has-conversation .ask-premium-composer{
    position:sticky;
    bottom:calc(92px + env(safe-area-inset-bottom));
    min-height:66px;
    grid-template-columns:minmax(0,1fr) 44px 48px;
    padding:8px 9px 8px 17px;
    border-radius:26px;
}
.ask-screen-premium.has-conversation .ask-microphone-button{width:42px;height:42px}
.ask-screen-premium.has-conversation .ask-send-button{width:46px;height:46px}
.ask-screen-premium.has-conversation .ask-microphone-button svg,
.ask-screen-premium.has-conversation .ask-send-button svg{width:22px;height:22px}

@media (max-width:430px){
    .localia-app.is-screen-ask .localia-screen{
        padding-left:20px;
        padding-right:20px;
    }
    .localia-app.is-screen-ask .app-header.is-ask-landing{
        min-height:105px;
    }
    .ask-landing-hero{
        min-height:438px;
        margin-left:-20px;
        margin-right:-20px;
        padding-top:82px;
    }
    .ask-landing-illustration{
        height:235px;
        background-size:auto 235px;
    }
}
@media (max-width:380px){
    .localia-app.is-screen-ask .localia-screen{
        padding-left:16px;
        padding-right:16px;
    }
    .localia-app.is-screen-ask .app-header.is-ask-landing .localia-logo-image{
        width:154px;
    }
    .localia-app.is-screen-ask .app-header.is-ask-landing .guest-language-summary{
        height:42px;
        gap:6px;
        padding:0 10px;
    }
    .localia-app.is-screen-ask .app-header.is-ask-landing .guest-language-globe{width:19px;height:19px}
    .ask-landing-hero{
        min-height:412px;
        margin-left:-16px;
        margin-right:-16px;
        padding:72px 18px 0;
    }
    .ask-landing-title{
        font-size:33px;
        letter-spacing:-.045em;
    }
    .ask-landing-intro{font-size:14px}
    .ask-landing-illustration{
        height:218px;
        background-size:auto 218px;
    }
    .ask-premium-composer{
        min-height:70px;
        grid-template-columns:minmax(0,1fr) 46px 50px;
        gap:6px;
        padding-left:16px;
    }
    .ask-microphone-button{width:44px;height:44px}
    .ask-send-button{width:48px;height:48px}
    .ask-suggestion-grid{gap:7px}
    .ask-suggestion-card{
        min-height:122px;
        padding:15px 5px 10px;
        border-radius:17px;
        font-size:10.5px;
    }
    .ask-suggestion-icon{width:33px;height:33px}
}
@media (min-width:600px){
    .ask-landing-hero{min-height:500px;padding-top:100px}
    .ask-premium-composer,
    .ask-suggestion-grid{max-width:650px;margin-left:auto;margin-right:auto}
    .ask-suggestion-card{min-height:145px}
}

/* ASK LANDING micro-alignment after 360/390/430 responsive comparison. */
.localia-app.is-screen-ask .app-header.is-ask-landing .guest-language-summary{
    height:42px;
    gap:5px;
    padding:0 9px;
}
.localia-app.is-screen-ask .app-header.is-ask-landing .guest-language-globe{width:19px;height:19px}
.localia-app.is-screen-ask .app-header.is-ask-landing .guest-language-chevron{width:13px;height:13px}
.localia-app.is-screen-ask .app-header.is-ask-landing .guest-language-current{font-size:13px}
.ask-premium-composer{
    grid-template-columns:minmax(0,1fr) 50px 54px;
}
.ask-premium-composer input{
    font-size:clamp(12px,3.25vw,15px);
}
.ask-microphone-button{width:48px;height:48px}
.ask-send-button{width:52px;height:52px}
@media (max-width:380px){
    .localia-app.is-screen-ask .app-header.is-ask-landing .guest-language-summary{
        height:40px;
        gap:4px;
        padding:0 8px;
    }
    .localia-app.is-screen-ask .app-header.is-ask-landing .guest-language-current{font-size:12px}
    .ask-premium-composer{
        grid-template-columns:minmax(0,1fr) 44px 48px;
    }
    .ask-premium-composer input{font-size:11.7px}
    .ask-microphone-button{width:42px;height:42px}
    .ask-send-button{width:46px;height:46px}
}

/* ========================================================================== 
   LOCALIA GUEST YOUR STAY — PREMIUM APPROVED PRODUCTION 01
   Approved hero-led hotel information hub. Public data still comes from the
   existing Stay API and Hotel Knowledge Layer; this block changes presentation
   and interaction only.
   ========================================================================== */
.localia-app.is-screen-stay .localia-screen{
    background:var(--localia-paper);
}
.localia-app.is-screen-stay .app-header{
    position:relative;
    z-index:30;
    margin-bottom:0;
}
.localia-app.is-screen-stay .localia-logo-image{
    width:clamp(130px,35vw,176px);
    filter:drop-shadow(0 1px 2px rgba(255,255,255,.45));
}
.localia-app.is-screen-stay .guest-language-summary{
    border-color:rgba(255,255,255,.82);
    background:rgba(255,255,255,.91);
    box-shadow:0 8px 24px rgba(3,20,42,.12);
}
.stay-premium-screen{
    position:relative;
    margin:0;
    color:var(--localia-ink);
    font-family:"Localia Avenir",var(--localia-font-ui);
}
.stay-premium-hero{
    position:relative;
    isolation:isolate;
    height:clamp(425px,56svh,535px);
    margin:calc(-58px - max(20px,env(safe-area-inset-top))) calc(-1 * clamp(14px,4.5vw,34px)) 0;
    overflow:hidden;
    background:#eee7dc;
}
.stay-premium-hero-image,
.stay-premium-hero-overlay{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
}
.stay-premium-hero-image{
    object-fit:cover;
    object-position:58% center;
    filter:saturate(.92) contrast(.98) brightness(1.03);
}
.stay-premium-hero-overlay{
    z-index:1;
    background:
        linear-gradient(90deg,rgba(250,247,240,.99) 0%,rgba(250,247,240,.96) 31%,rgba(250,247,240,.69) 51%,rgba(250,247,240,.13) 80%),
        linear-gradient(180deg,rgba(255,255,255,.02) 0%,rgba(255,255,255,0) 64%,rgba(247,244,237,.20) 86%,rgba(247,244,237,.66) 100%);
    pointer-events:none;
}
.stay-premium-back{
    position:absolute;
    z-index:3;
    top:clamp(104px,14svh,132px);
    left:clamp(24px,6vw,50px);
    width:46px;
    height:46px;
    display:grid;
    place-items:center;
    border:1px solid rgba(186,153,86,.42);
    border-radius:999px;
    color:#ba9956;
    background:rgba(255,255,255,.64);
    box-shadow:0 8px 22px rgba(3,20,42,.08);
    backdrop-filter:blur(10px);
    cursor:pointer;
}
.stay-premium-back svg{width:23px;height:23px}
.stay-premium-hero-copy{
    position:absolute;
    z-index:3;
    left:clamp(25px,6.5vw,54px);
    right:clamp(22px,6vw,50px);
    bottom:clamp(54px,7.6svh,78px);
    max-width:610px;
}
.stay-premium-hero-copy h1{
    width:max-content;
    max-width:100%;
    margin:0;
    color:var(--localia-ink);
    font-family:"Localia Display",var(--localia-font-display);
    font-size:clamp(52px,14vw,80px);
    font-weight:400;
    line-height:.94;
    letter-spacing:-.043em;
}
.stay-premium-rule{
    display:block;
    width:48px;
    height:2px;
    margin:20px 0 17px;
    border-radius:999px;
    background:#ba9956;
}
.stay-premium-hero-copy p{
    max-width:470px;
    margin:0;
    color:rgba(3,32,80,.90);
    font-size:clamp(16px,4.15vw,21px);
    font-weight:400;
    line-height:1.52;
    letter-spacing:-.012em;
}
.stay-premium-panel{
    position:relative;
    z-index:5;
    margin:0 calc(-1 * clamp(2px,.55vw,4px));
    padding:clamp(19px,4.8vw,28px) clamp(4px,1.4vw,10px) clamp(28px,6vw,42px);
    background:linear-gradient(180deg,rgba(255,255,255,.995),rgba(250,248,244,.97));
    box-shadow:0 -6px 30px rgba(3,32,80,.06);
}
.stay-premium-notices{
    display:grid;
    gap:10px;
}
.stay-premium-notice{
    position:relative;
    display:grid;
    grid-template-columns:58px minmax(0,1fr);
    align-items:center;
    gap:16px;
    min-height:112px;
    padding:19px clamp(18px,4.5vw,26px);
    overflow:hidden;
    border:1px solid rgba(186,153,86,.30);
    border-radius:clamp(22px,5.4vw,28px);
    background:rgba(255,255,255,.97);
    box-shadow:0 13px 32px rgba(3,32,80,.08);
}
.stay-premium-notice.stay-notice-urgent{border-color:rgba(166,27,27,.30)}
.stay-premium-notice-icon{
    width:58px;
    height:58px;
    display:grid;
    place-items:center;
    border-radius:999px;
    color:#ba9956;
    background:#fbf4e8;
}
.stay-premium-notice-urgent .stay-premium-notice-icon{
    color:#a61b1b;
    background:rgba(166,27,27,.07);
}
.stay-premium-notice-icon svg{width:31px;height:31px}
.stay-premium-notice-copy h2{
    margin:0;
    color:var(--localia-ink);
    font-size:clamp(16px,4.1vw,20px);
    font-weight:600;
    line-height:1.2;
}
.stay-premium-notice-copy p{
    margin:7px 0 0;
    color:rgba(3,32,80,.75);
    font-size:clamp(13px,3.45vw,16px);
    font-weight:400;
    line-height:1.5;
}
.stay-premium-more-notices{
    border:1px solid rgba(3,32,80,.07);
    border-radius:18px;
    background:rgba(255,255,255,.72);
}
.stay-premium-more-notices > summary{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:12px 16px;
    color:rgba(3,32,80,.66);
    cursor:pointer;
    list-style:none;
    font-size:13px;
    font-weight:500;
}
.stay-premium-more-notices > summary::-webkit-details-marker{display:none}
.stay-premium-more-notices > summary svg{width:18px;height:18px;transition:transform 180ms ease}
.stay-premium-more-notices[open] > summary svg{transform:rotate(180deg)}
.stay-premium-more-notices-list{display:grid;gap:10px;padding:0 10px 10px}
.stay-premium-more-notices-list .stay-premium-notice{min-height:auto;box-shadow:none}
.stay-premium-key-card{
    margin-top:clamp(16px,4vw,22px);
    padding:clamp(18px,4.6vw,27px) clamp(8px,2vw,16px);
    border:1px solid rgba(3,32,80,.08);
    border-radius:clamp(23px,5.8vw,29px);
    background:rgba(255,255,255,.98);
    box-shadow:0 15px 36px rgba(3,32,80,.09);
}
.stay-premium-key-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
}
.stay-premium-key-item{
    position:relative;
    min-width:0;
    padding:0 clamp(6px,2vw,15px);
    text-align:center;
}
.stay-premium-key-item + .stay-premium-key-item::before{
    content:"";
    position:absolute;
    left:0;
    top:2px;
    bottom:2px;
    width:1px;
    background:rgba(186,153,86,.28);
}
.stay-premium-key-icon{
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    margin:0 auto 10px;
    color:#ba9956;
}
.stay-premium-key-icon svg{width:39px;height:39px}
.stay-premium-key-item h2{
    margin:0;
    overflow-wrap:anywhere;
    color:var(--localia-ink);
    font-size:clamp(11px,3vw,15px);
    font-weight:500;
    line-height:1.25;
}
.stay-premium-key-value{
    margin-top:7px;
    overflow-wrap:anywhere;
    color:rgba(3,32,80,.78);
    font-family:"Localia Display",var(--localia-font-display);
    font-size:clamp(15px,4.2vw,23px);
    font-weight:400;
    line-height:1.14;
}
.stay-premium-ask{
    min-height:78px;
    display:grid;
    grid-template-columns:34px minmax(0,1fr) 48px 52px;
    align-items:center;
    gap:8px;
    margin-top:clamp(18px,4.8vw,26px);
    padding:10px 11px 10px clamp(15px,4vw,22px);
    border:1px solid rgba(186,153,86,.34);
    border-radius:999px;
    background:rgba(255,255,255,.98);
    box-shadow:0 14px 34px rgba(3,32,80,.09);
}
.stay-premium-ask-sparkle{
    width:28px;
    height:28px;
    display:grid;
    place-items:center;
    color:rgba(3,32,80,.52);
}
.stay-premium-ask-sparkle svg{width:100%;height:100%}
.stay-premium-ask input{
    min-width:0;
    width:100%;
    border:0;
    outline:0;
    padding:10px 4px;
    color:var(--localia-ink);
    background:transparent;
    font-size:clamp(14px,3.75vw,18px);
    font-weight:400;
}
.stay-premium-ask input::placeholder{color:rgba(3,32,80,.42)}
.stay-premium-ask-microphone,
.stay-premium-ask-send{
    display:grid;
    place-items:center;
    border-radius:999px;
    cursor:pointer;
}
.stay-premium-ask-microphone{
    width:46px;
    height:46px;
    border:1px solid rgba(3,32,80,.07);
    color:#ba9956;
    background:#fbfaf7;
}
.stay-premium-ask-microphone:disabled{opacity:.42;cursor:not-allowed}
.stay-premium-ask-microphone.is-listening{animation:localiaVoicePulse 1.2s ease-in-out infinite}
.stay-premium-ask-send{
    width:52px;
    height:52px;
    border:0;
    color:#fff;
    background:#c59b4c;
    box-shadow:0 8px 18px rgba(186,153,86,.30);
}
.stay-premium-ask-microphone svg{width:23px;height:23px}
.stay-premium-ask-send svg{width:25px;height:25px}
.stay-premium-module-grid{
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:clamp(10px,2.8vw,16px);
    margin-top:clamp(20px,5vw,28px);
}
.stay-premium-module{
    min-width:0;
    overflow:hidden;
    border:1px solid rgba(3,32,80,.08);
    border-radius:clamp(19px,4.8vw,24px);
    background:rgba(255,255,255,.98);
    box-shadow:0 13px 31px rgba(3,32,80,.08);
    transition:box-shadow 180ms ease,border-color 180ms ease;
}
.stay-premium-module.is-third{grid-column:span 2}
.stay-premium-module.is-half{grid-column:span 3}
.stay-premium-module.is-full{grid-column:1/-1}
.stay-premium-module[open]{grid-column:1/-1;border-color:rgba(186,153,86,.24);box-shadow:0 16px 40px rgba(3,32,80,.10)}
.stay-premium-module > summary{
    position:relative;
    min-height:178px;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-start;
    gap:12px;
    padding:clamp(16px,4.2vw,23px);
    color:var(--localia-ink);
    cursor:pointer;
    list-style:none;
}
.stay-premium-module > summary::-webkit-details-marker{display:none}
.stay-premium-module-icon{
    width:46px;
    height:46px;
    display:grid;
    place-items:center;
    color:var(--localia-ink);
    flex:0 0 auto;
}
.stay-premium-module-icon svg{width:43px;height:43px}
.stay-premium-module-copy{
    min-width:0;
    width:100%;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-start;
    gap:8px;
    padding-right:28px;
    flex:1 1 auto;
}
.stay-premium-module-copy strong{
    display:block;
    width:100%;
    color:var(--localia-ink);
    font-family:"Localia Display",var(--localia-font-display);
    font-size:clamp(19px,4.9vw,27px);
    font-weight:400;
    line-height:1.05;
    letter-spacing:-.025em;
}
.stay-premium-module-copy small{
    display:block;
    width:100%;
    max-width:24ch;
    color:rgba(3,32,80,.64);
    font-size:clamp(11px,2.9vw,14px);
    font-weight:400;
    line-height:1.45;
}
.stay-premium-module-chevron{
    position:absolute;
    right:clamp(16px,4.2vw,23px);
    bottom:clamp(16px,4.2vw,23px);
    display:grid;
    place-items:center;
    width:20px;
    height:20px;
    color:rgba(3,32,80,.62);
    transition:transform 180ms ease;
}
.stay-premium-module-chevron svg{width:100%;height:100%}
.stay-premium-module[open] .stay-premium-module-chevron{transform:rotate(90deg)}
.stay-premium-module[open] > summary{min-height:auto;gap:10px;padding-bottom:16px}
.stay-premium-module[open] .stay-premium-module-copy small{display:none}
.stay-premium-module-content{
    border-top:1px solid rgba(3,32,80,.07);
    padding:clamp(13px,3.6vw,21px);
    background:rgba(250,248,244,.64);
}
.stay-premium-detail-list{display:grid;gap:11px}
.stay-premium-detail-card{
    display:grid;
    grid-template-columns:48px minmax(0,1fr);
    gap:13px;
    padding:15px;
    border:1px solid rgba(3,32,80,.07);
    border-radius:18px;
    background:#fff;
}
.stay-premium-detail-icon{
    width:46px;
    height:46px;
    display:grid;
    place-items:center;
    border-radius:15px;
    color:#ba9956;
    background:#fbf4e8;
}
.stay-premium-detail-icon svg{width:28px;height:28px}
.stay-premium-detail-copy h3{
    margin:0;
    color:var(--localia-ink);
    font-family:"Localia Display",var(--localia-font-display);
    font-size:21px;
    font-weight:400;
    line-height:1.13;
}
.stay-premium-detail-value{
    margin-top:5px;
    color:#967438;
    font-size:14px;
    font-weight:600;
}
.stay-premium-detail-copy p{
    margin:7px 0 0;
    color:rgba(3,32,80,.68);
    font-size:13px;
    font-weight:400;
    line-height:1.55;
}
.stay-premium-detail-copy p.stay-premium-detail-lead{color:rgba(3,32,80,.77)}
.stay-premium-detail-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}
.stay-premium-detail-meta span{
    padding:6px 9px;
    border:1px solid rgba(3,32,80,.07);
    border-radius:999px;
    color:rgba(3,32,80,.72);
    background:rgba(3,32,80,.035);
    font-size:11px;
    font-weight:500;
}
.stay-premium-action-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:11px}
.stay-premium-action-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:36px;
    padding:7px 12px;
    border:1px solid rgba(186,153,86,.32);
    border-radius:999px;
    color:var(--localia-ink);
    background:#fff;
    text-decoration:none;
    font-size:12px;
    font-weight:500;
}
.stay-premium-faq-list{display:grid;gap:9px}
.stay-premium-faq-item{
    overflow:hidden;
    border:1px solid rgba(3,32,80,.07);
    border-radius:16px;
    background:#fff;
}
.stay-premium-faq-item > summary{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    padding:14px 15px;
    color:var(--localia-ink);
    cursor:pointer;
    list-style:none;
    font-size:14px;
    font-weight:500;
    line-height:1.4;
}
.stay-premium-faq-item > summary::-webkit-details-marker{display:none}
.stay-premium-faq-indicator{
    flex:0 0 auto;
    width:27px;
    height:27px;
    display:grid;
    place-items:center;
    border-radius:999px;
    color:#967438;
    background:#fbf4e8;
    font-size:18px;
    transition:transform 180ms ease;
}
.stay-premium-faq-item[open] .stay-premium-faq-indicator{transform:rotate(45deg)}
.stay-premium-faq-answer{
    padding:0 15px 15px;
    color:rgba(3,32,80,.68);
    font-size:13px;
    font-weight:400;
    line-height:1.55;
}
.stay-premium-map-list{display:grid;gap:9px}
.stay-premium-map-card{
    display:grid;
    grid-template-columns:42px minmax(0,1fr) 20px;
    align-items:center;
    gap:12px;
    padding:14px;
    border:1px solid rgba(3,32,80,.07);
    border-radius:16px;
    color:var(--localia-ink);
    background:#fff;
    text-decoration:none;
}
.stay-premium-map-card > span:first-child{width:40px;height:40px;color:#ba9956}
.stay-premium-map-card svg{width:100%;height:100%}
.stay-premium-map-card strong{display:block;font-family:"Localia Display",var(--localia-font-display);font-size:19px;font-weight:400}
.stay-premium-map-card small{display:block;margin-top:3px;color:rgba(3,32,80,.58);font-size:12px}
.stay-premium-disclaimer{
    display:grid;
    grid-template-columns:48px minmax(0,1fr);
    align-items:center;
    gap:14px;
    margin-top:clamp(20px,5vw,28px);
    padding:16px clamp(16px,4vw,22px);
    border:1px solid rgba(186,153,86,.20);
    border-radius:20px;
    background:rgba(251,247,239,.74);
}
.stay-premium-disclaimer-icon{
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    color:#ba9956;
}
.stay-premium-disclaimer-icon svg{width:38px;height:38px}
.stay-premium-disclaimer p{
    margin:0;
    color:rgba(3,32,80,.68);
    font-size:clamp(11px,3vw,14px);
    font-weight:400;
    line-height:1.5;
}
@media(min-width:600px){
    .stay-premium-hero{height:560px}
    .stay-premium-panel{margin-left:18px;margin-right:18px;padding-left:18px;padding-right:18px}
    .stay-premium-module > summary{min-height:182px}
}
@media(max-width:430px){
    .stay-premium-hero-image{object-position:61% center}
    .stay-premium-panel{padding-left:2px;padding-right:2px}
}
@media(max-width:430px){
    .stay-premium-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .stay-premium-module.is-third,
    .stay-premium-module.is-half{grid-column:span 1}
    .stay-premium-module.is-full,
    .stay-premium-module[open]{grid-column:1/-1}
    .stay-premium-module > summary{min-height:172px}
    .stay-premium-module-copy strong{font-size:clamp(18px,5vw,24px)}
    .stay-premium-module-copy small{font-size:12px;line-height:1.4}
}
@media(max-width:390px){
    .stay-premium-key-card{padding-left:3px;padding-right:3px}
    .stay-premium-key-item{padding-inline:4px}
    .stay-premium-ask{grid-template-columns:29px minmax(0,1fr) 43px 48px;gap:5px;padding-left:14px;padding-right:8px}
    .stay-premium-ask-microphone{width:42px;height:42px}
    .stay-premium-ask-send{width:48px;height:48px}
    .stay-premium-module > summary{padding:15px 12px}.stay-premium-module-chevron{right:12px;bottom:15px}
}
@media(max-width:370px){
    .localia-app.is-screen-stay .localia-logo-image{width:118px}
    .stay-premium-hero{height:410px;margin-left:-12px;margin-right:-12px}
    .stay-premium-back{top:97px;left:19px;width:42px;height:42px}
    .stay-premium-hero-copy{left:20px;right:18px;bottom:51px}
    .stay-premium-hero-copy h1{font-size:48px}
    .stay-premium-hero-copy p{font-size:15px;line-height:1.46}
    .stay-premium-notice{grid-template-columns:48px minmax(0,1fr);gap:12px;padding:16px 14px}
    .stay-premium-notice-icon{width:48px;height:48px}
    .stay-premium-key-grid{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:20px}
    .stay-premium-key-item:nth-child(3)::before{display:none}
    .stay-premium-key-item:nth-child(n+3){padding-top:18px;border-top:1px solid rgba(186,153,86,.20)}
    .stay-premium-ask{grid-template-columns:27px minmax(0,1fr) 42px;min-height:70px}
    .stay-premium-ask-microphone{display:none}
    .stay-premium-module.is-third,
    .stay-premium-module.is-half{grid-column:span 3}
    .stay-premium-module[open]{grid-column:1/-1}
    .stay-premium-module > summary{min-height:154px}
    .stay-premium-module-copy strong{font-size:20px}
    .stay-premium-module-copy small{font-size:11px}
}
@media(prefers-reduced-motion:reduce){
    .stay-premium-module,
    .stay-premium-module-chevron,
    .stay-premium-faq-indicator,
    .stay-premium-more-notices > summary svg{transition:none}
}

/* YOUR STAY render comparison correction 02 */
.stay-premium-hero-image{object-position:82% center}
.stay-premium-key-value.is-compact{
    font-family:"Localia Avenir",var(--localia-font-ui);
    font-size:clamp(11px,2.75vw,15px);
    font-weight:500;
    line-height:1.28;
    letter-spacing:-.01em;
}
@media(max-width:430px){.stay-premium-hero-image{object-position:82% center}}


/* ==========================================================================
   10. SCREEN: EVENTS — V1 GUEST MODULE SHELL
   Separate time-sensitive module. No event facts are rendered until the
   verified Events database and approved-source pipeline are connected.
   ========================================================================== */

.localia-app.is-screen-home .home-module-card[data-screen="events"]{
    background:
        radial-gradient(circle at 84% 25%,rgba(186,153,86,.40) 0 2px,transparent 3px),
        radial-gradient(circle at 73% 65%,rgba(255,255,255,.18) 0 1px,transparent 2px),
        linear-gradient(132deg,#032050 0%,#0d3567 58%,#365678 100%);
}
.localia-app.is-screen-home .home-module-card[data-screen="events"]::before{
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(115deg,transparent 0 58%,rgba(186,153,86,.16) 58% 59%,transparent 59% 66%,rgba(255,255,255,.08) 66% 67%,transparent 67%),
        radial-gradient(circle at 82% 46%,transparent 0 22px,rgba(186,153,86,.24) 23px 24px,transparent 25px);
    pointer-events:none;
}
.localia-app.is-screen-home .home-module-card[data-screen="events"]::after{
    background:linear-gradient(90deg,rgba(2,19,44,.62),rgba(3,32,80,.24) 64%,rgba(3,32,80,.05)) !important;
}
.localia-app.is-screen-home .home-module-card[data-screen="events"] .home-module-icon,
.localia-app.is-screen-home .home-module-card[data-screen="events"] .home-module-arrow{
    border-color:rgba(255,255,255,.44) !important;
    background:rgba(255,255,255,.08) !important;
}

.localia-app.is-screen-events{
    background:#f8f5ee;
}
.localia-app.is-screen-events .screen-content{
    padding-bottom:116px;
}
.events-screen{
    width:min(100%,780px);
    margin:0 auto;
    padding:clamp(86px,20vw,118px) clamp(16px,4.8vw,28px) 36px;
    color:#032050;
}
.events-hero{
    position:relative;
    overflow:hidden;
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    align-items:center;
    gap:clamp(18px,5vw,30px);
    min-height:clamp(210px,55vw,310px);
    padding:clamp(24px,6vw,42px);
    border:1px solid rgba(186,153,86,.20);
    border-radius:clamp(25px,6vw,34px);
    background:
        radial-gradient(circle at 82% 16%,rgba(186,153,86,.24),transparent 28%),
        linear-gradient(135deg,#032050,#123d70 66%,#365b7d);
    box-shadow:0 24px 55px rgba(3,32,80,.15);
    color:#fff;
}
.events-hero::after{
    content:"";
    position:absolute;
    right:-36px;
    bottom:-58px;
    width:190px;
    height:190px;
    border:1px solid rgba(255,255,255,.13);
    border-radius:50%;
    box-shadow:0 0 0 25px rgba(255,255,255,.035),0 0 0 52px rgba(186,153,86,.035);
}
.events-hero-calendar{
    position:relative;
    z-index:1;
    width:clamp(96px,24vw,136px);
    aspect-ratio:1/.98;
    display:grid;
    grid-template-rows:auto 1fr auto;
    place-items:center;
    padding:13px 12px 14px;
    border:1px solid rgba(255,255,255,.32);
    border-radius:24px;
    background:rgba(255,255,255,.10);
    backdrop-filter:blur(8px);
}
.events-hero-calendar span{width:25px;height:25px;color:#e2c98f}
.events-hero-calendar span svg{width:100%;height:100%}
.events-hero-calendar strong{
    font-family:"Localia Display",var(--localia-font-display);
    font-size:clamp(42px,12vw,68px);
    font-weight:400;
    line-height:.85;
}
.events-hero-calendar small{
    color:rgba(255,255,255,.78);
    font-size:12px;
    font-weight:700;
    letter-spacing:.18em;
    text-transform:uppercase;
}
.events-hero-copy{position:relative;z-index:1;min-width:0}
.events-eyebrow{
    margin-bottom:8px;
    color:#d7bb7b;
    font-size:11px;
    font-weight:700;
    letter-spacing:.16em;
    text-transform:uppercase;
}
.events-hero-copy h1{
    margin:0;
    font-family:"Localia Display",var(--localia-font-display);
    font-size:clamp(44px,11vw,72px);
    font-weight:350;
    line-height:.92;
    letter-spacing:-.035em;
}
.events-hero-copy p{
    max-width:43ch;
    margin:14px 0 0;
    color:rgba(255,255,255,.77);
    font-size:clamp(12px,3.1vw,15px);
    line-height:1.55;
}
.events-source-note{
    display:grid;
    grid-template-columns:42px minmax(0,1fr);
    align-items:center;
    gap:12px;
    margin:16px 0 0;
    padding:14px 16px;
    border:1px solid rgba(186,153,86,.24);
    border-radius:18px;
    background:rgba(255,255,255,.82);
    box-shadow:0 10px 28px rgba(3,32,80,.05);
}
.events-source-note span{width:31px;height:31px;color:#a9853f}
.events-source-note span svg{width:100%;height:100%}
.events-source-note p{margin:0;color:rgba(3,32,80,.68);font-size:12px;line-height:1.48}
.events-filter-section{margin-top:24px}
.events-range-tabs{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
    padding:6px;
    border:1px solid rgba(3,32,80,.08);
    border-radius:999px;
    background:rgba(255,255,255,.76);
}
.events-range-tabs button,
.events-category-scroll button{
    border:0;
    font:inherit;
    cursor:pointer;
}
.events-range-tabs button{
    min-height:42px;
    border-radius:999px;
    color:rgba(3,32,80,.64);
    background:transparent;
    font-size:12px;
    font-weight:700;
}
.events-range-tabs button.is-active{
    color:#fff;
    background:#032050;
    box-shadow:0 7px 17px rgba(3,32,80,.18);
}
.events-category-scroll{
    display:flex;
    gap:8px;
    overflow-x:auto;
    margin-top:12px;
    padding:2px 1px 7px;
    scrollbar-width:none;
}
.events-category-scroll::-webkit-scrollbar{display:none}
.events-category-scroll button{
    flex:0 0 auto;
    min-height:36px;
    padding:0 14px;
    border:1px solid rgba(3,32,80,.10);
    border-radius:999px;
    color:rgba(3,32,80,.66);
    background:rgba(255,255,255,.78);
    font-size:11px;
    font-weight:650;
    white-space:nowrap;
}
.events-category-scroll button.is-active{
    border-color:rgba(186,153,86,.42);
    color:#032050;
    background:rgba(186,153,86,.16);
}
.events-empty-state{
    margin-top:22px;
    padding:clamp(28px,8vw,48px) clamp(20px,7vw,38px);
    border:1px dashed rgba(3,32,80,.18);
    border-radius:26px;
    background:rgba(255,255,255,.58);
    text-align:center;
}
.events-empty-icon{
    width:58px;
    height:58px;
    display:grid;
    place-items:center;
    margin:0 auto 15px;
    border:1px solid rgba(186,153,86,.26);
    border-radius:20px;
    color:#a9853f;
    background:rgba(186,153,86,.10);
}
.events-empty-icon svg{width:31px;height:31px}
.events-empty-state h2{
    margin:0;
    font-family:"Localia Display",var(--localia-font-display);
    font-size:clamp(25px,7vw,36px);
    font-weight:400;
    line-height:1.08;
}
.events-empty-state p{
    max-width:48ch;
    margin:11px auto 0;
    color:rgba(3,32,80,.62);
    font-size:12px;
    line-height:1.55;
}
.events-ask-card{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:end;
    gap:18px;
    margin-top:16px;
    padding:20px;
    border:1px solid rgba(3,32,80,.08);
    border-radius:24px;
    background:#fff;
    box-shadow:0 14px 34px rgba(3,32,80,.07);
}
.events-ask-card > div{min-width:0}
.events-ask-icon{display:block;width:25px;height:25px;margin-bottom:9px;color:#b18e4e}
.events-ask-icon svg{width:100%;height:100%}
.events-ask-card h2{
    margin:0;
    font-family:"Localia Display",var(--localia-font-display);
    font-size:24px;
    font-weight:400;
    line-height:1.05;
}
.events-ask-card p{margin:7px 0 0;color:rgba(3,32,80,.62);font-size:11px;line-height:1.48}
.events-ask-card button{
    min-height:44px;
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:0 15px;
    border:0;
    border-radius:999px;
    color:#fff;
    background:#032050;
    font:inherit;
    font-size:11px;
    font-weight:700;
    white-space:nowrap;
    cursor:pointer;
}
.events-ask-card button span{width:16px;height:16px}
.events-ask-card button span svg{width:100%;height:100%}
@media(max-width:430px){
    .events-hero{grid-template-columns:88px minmax(0,1fr);gap:15px;padding:22px 18px;min-height:225px}
    .events-hero-calendar{width:88px;border-radius:20px;padding-inline:8px}
    .events-hero-copy h1{font-size:45px}
    .events-hero-copy p{font-size:11px;line-height:1.48}
    .events-eyebrow{font-size:9px}
    .events-ask-card{grid-template-columns:1fr;align-items:start}
    .events-ask-card button{justify-self:start}
}
@media(max-width:360px){
    .events-screen{padding-inline:12px}
    .events-hero{grid-template-columns:74px minmax(0,1fr);gap:12px;padding:20px 14px}
    .events-hero-calendar{width:74px;border-radius:18px}
    .events-hero-calendar strong{font-size:38px}
    .events-hero-copy h1{font-size:39px}
    .events-range-tabs button{font-size:10px}
}

/* ========================================================================== 
   EVENTS — VERIFIED RESULTS + DETAIL
   Structured destination events from approved official sources.
   ========================================================================== */
.events-results{margin-top:22px}
.events-results-heading{
    margin:0 0 10px 4px;
    color:rgba(3,32,80,.58);
    font-size:11px;
    font-weight:700;
    letter-spacing:.04em;
    text-transform:uppercase;
}
.events-card-list{display:grid;gap:12px}
.event-card{
    width:100%;
    display:grid;
    grid-template-columns:66px minmax(0,1fr) 22px;
    align-items:center;
    gap:14px;
    padding:15px 15px 15px 13px;
    border:1px solid rgba(3,32,80,.08);
    border-radius:22px;
    color:#032050;
    background:rgba(255,255,255,.96);
    box-shadow:0 13px 32px rgba(3,32,80,.07);
    text-align:left;
    font:inherit;
    cursor:pointer;
}
.event-card-date{
    min-height:72px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(186,153,86,.26);
    border-radius:18px;
    background:rgba(186,153,86,.10);
    color:#032050;
}
.event-card-date strong{
    font-family:"Localia Display",var(--localia-font-display);
    font-size:31px;
    font-weight:450;
    line-height:.95;
}
.event-card-date small{
    margin-top:4px;
    color:#9b793a;
    font-size:10px;
    font-weight:800;
    letter-spacing:.12em;
    text-transform:uppercase;
}
.event-card-copy{min-width:0;display:flex;flex-direction:column;align-items:flex-start}
.event-card-meta{color:#a58242;font-size:10px;font-weight:750;line-height:1.3;text-transform:uppercase;letter-spacing:.04em}
.event-card-copy > strong{
    margin-top:5px;
    font-family:"Localia Display",var(--localia-font-display);
    font-size:clamp(20px,5.6vw,27px);
    font-weight:430;
    line-height:1.08;
    letter-spacing:-.018em;
}
.event-card-copy > small{margin-top:6px;color:rgba(3,32,80,.62);font-size:11px;line-height:1.4}
.event-card-verified{
    display:inline-flex;
    align-items:center;
    gap:5px;
    margin-top:9px;
    color:rgba(3,32,80,.53);
    font-size:9px;
    line-height:1.3;
}
.event-card-verified svg{width:15px;height:15px;color:#a9853f;flex:0 0 auto}
.event-card-arrow{width:20px;height:20px;color:rgba(3,32,80,.48)}
.event-card-arrow svg{width:100%;height:100%}
.event-card:focus-visible{outline:3px solid rgba(186,153,86,.42);outline-offset:2px}
.event-card:hover{border-color:rgba(186,153,86,.25);box-shadow:0 17px 38px rgba(3,32,80,.10)}

.localia-app.is-screen-event-detail{background:#f8f5ee}
.localia-app.is-screen-event-detail .screen-content{padding-bottom:116px}
.event-detail-screen{
    width:min(100%,720px);
    margin:0 auto;
    padding:clamp(92px,22vw,126px) clamp(16px,4.8vw,30px) 38px;
    color:#032050;
}
.event-detail-back{
    display:inline-flex;
    align-items:center;
    gap:8px;
    min-height:42px;
    margin-bottom:16px;
    padding:0 13px;
    border:1px solid rgba(3,32,80,.10);
    border-radius:999px;
    color:#032050;
    background:rgba(255,255,255,.82);
    font:inherit;
    font-size:11px;
    font-weight:700;
    cursor:pointer;
}
.event-detail-back svg{width:17px;height:17px}
.event-detail-hero{
    position:relative;
    overflow:hidden;
    padding:clamp(28px,7vw,46px);
    border-radius:30px;
    color:#fff;
    background:linear-gradient(135deg,#032050,#174774 70%,#416783);
    box-shadow:0 24px 54px rgba(3,32,80,.16);
}
.event-detail-hero::after{
    content:"";
    position:absolute;
    right:-68px;
    bottom:-88px;
    width:230px;
    height:230px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:50%;
    box-shadow:0 0 0 33px rgba(255,255,255,.028),0 0 0 67px rgba(186,153,86,.03);
}
.event-detail-date{position:relative;z-index:1;color:#d9be82;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.event-detail-hero h1{
    position:relative;
    z-index:1;
    max-width:15ch;
    margin:10px 0 0;
    font-family:"Localia Display",var(--localia-font-display);
    font-size:clamp(38px,10vw,64px);
    font-weight:380;
    line-height:.98;
    letter-spacing:-.035em;
}
.event-detail-hero p{position:relative;z-index:1;max-width:55ch;margin:18px 0 0;color:rgba(255,255,255,.78);font-size:13px;line-height:1.6}
.event-detail-facts{display:grid;gap:10px;margin-top:16px}
.event-detail-facts article{
    display:grid;
    grid-template-columns:44px minmax(0,1fr);
    align-items:center;
    gap:12px;
    padding:15px 16px;
    border:1px solid rgba(3,32,80,.08);
    border-radius:20px;
    background:#fff;
    box-shadow:0 10px 27px rgba(3,32,80,.055);
}
.event-detail-facts article > span{width:36px;height:36px;display:grid;place-items:center;color:#a9853f}
.event-detail-facts article > span svg{width:29px;height:29px}
.event-detail-facts small{display:block;color:rgba(3,32,80,.52);font-size:9px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}
.event-detail-facts strong{display:block;margin-top:4px;font-size:13px;font-weight:650;line-height:1.45}
.event-detail-verification{
    display:grid;
    grid-template-columns:44px minmax(0,1fr);
    align-items:start;
    gap:12px;
    margin-top:16px;
    padding:16px;
    border:1px solid rgba(186,153,86,.25);
    border-radius:20px;
    background:rgba(255,255,255,.72);
}
.event-detail-verification > span{width:36px;height:36px;color:#a9853f}
.event-detail-verification > span svg{width:100%;height:100%}
.event-detail-verification strong{display:block;font-size:12px;line-height:1.42}
.event-detail-verification small{display:block;margin-top:5px;color:rgba(3,32,80,.58);font-size:10px;line-height:1.4}
.event-detail-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}
.event-detail-actions a{
    min-height:52px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    padding:0 15px;
    border:1px solid rgba(3,32,80,.11);
    border-radius:17px;
    color:#032050;
    background:#fff;
    font-size:11px;
    font-weight:750;
    text-decoration:none;
}
.event-detail-actions a.is-primary{border-color:#032050;color:#fff;background:#032050}
.event-detail-actions a svg{width:19px;height:19px}
@media(max-width:430px){
    .event-card{grid-template-columns:59px minmax(0,1fr) 18px;gap:11px;padding:13px 12px 13px 11px}
    .event-card-date{min-height:66px;border-radius:16px}
    .event-card-date strong{font-size:28px}
    .event-card-copy > strong{font-size:21px}
    .event-card-verified{font-size:8.5px}
    .event-detail-actions{grid-template-columns:1fr}
}
@media(max-width:360px){
    .event-card{grid-template-columns:54px minmax(0,1fr);align-items:start}
    .event-card-arrow{display:none}
    .event-card-date{min-height:61px}
    .event-card-copy > strong{font-size:19px}
}

/* Ask Localia — verified Events results */
.ask-screen-premium .ask-event-results{
    display:grid;
    gap:9px;
    margin-top:12px;
}
.ask-screen-premium .ask-event-result{
    padding:11px 12px;
    border:1px solid rgba(3,32,80,.09);
    border-radius:14px;
    background:rgba(250,248,243,.82);
}
.ask-screen-premium .ask-event-result-title{
    color:var(--localia-ink);
    font-size:13px;
    font-weight:600;
    line-height:1.35;
}
.ask-screen-premium .ask-event-result-meta,
.ask-screen-premium .ask-event-result-location{
    margin-top:4px;
    color:rgba(3,32,80,.68);
    font-size:12px;
    font-weight:400;
    line-height:1.4;
}
.ask-screen-premium .ask-event-result-location{
    color:rgba(3,32,80,.56);
}

/* ========================================================================== 
   EVENTS — FINAL CONTENT POLISH + MULTI-OCCURRENCE GROUPING (12)
   One real event remains one guest card, even when the official programme
   publishes several confirmed dates. The treatment stays deliberately quiet:
   verified facts first, decorative elements second.
   ========================================================================== */
.events-results-heading{
    display:flex;
    align-items:center;
    gap:12px;
    margin:0 2px 12px;
    letter-spacing:.055em;
}
.events-results-heading::after{
    content:"";
    height:1px;
    flex:1 1 auto;
    background:linear-gradient(90deg,rgba(186,153,86,.32),rgba(3,32,80,.035));
}
.events-card-list{gap:11px}
.event-card{
    position:relative;
    overflow:hidden;
    grid-template-columns:64px minmax(0,1fr) 20px;
    gap:13px;
    padding:14px 14px 14px 12px;
    border-color:rgba(3,32,80,.075);
    border-radius:23px;
    background:linear-gradient(145deg,rgba(255,255,255,.99),rgba(252,250,246,.96));
    box-shadow:0 12px 30px rgba(3,32,80,.065);
    transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.event-card::after{
    content:"";
    position:absolute;
    top:0;
    right:0;
    width:78px;
    height:78px;
    background:radial-gradient(circle at 100% 0,rgba(186,153,86,.09),transparent 68%);
    pointer-events:none;
}
.event-card-date{
    position:relative;
    z-index:1;
    min-height:70px;
    border-color:rgba(186,153,86,.29);
    background:linear-gradient(155deg,rgba(186,153,86,.15),rgba(186,153,86,.065));
}
.event-card-kicker{
    width:100%;
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:5px 8px;
    color:#9a783b;
    font-size:8.5px;
    font-weight:800;
    line-height:1.25;
    letter-spacing:.075em;
    text-transform:uppercase;
}
.event-card-kicker > span + span{
    position:relative;
    padding-left:10px;
    color:rgba(3,32,80,.46);
    letter-spacing:.035em;
}
.event-card-kicker > span + span::before{
    content:"";
    position:absolute;
    left:0;
    top:50%;
    width:3px;
    height:3px;
    border-radius:50%;
    background:#ba9956;
    transform:translateY(-50%);
}
.event-card-copy > strong{
    margin-top:6px;
    font-size:clamp(20px,5.25vw,26px);
}
.event-card-copy > small{
    margin-top:5px;
    color:rgba(3,32,80,.57);
}
.event-card-meta{
    display:block;
    margin-top:9px;
    color:#9a783b;
    font-size:10px;
    font-weight:730;
    line-height:1.4;
    letter-spacing:.025em;
    text-transform:none;
}
.event-card-occurrences{
    width:100%;
    display:grid;
    gap:5px;
    margin-top:10px;
}
.event-card-occurrences > span{
    position:relative;
    display:block;
    padding:6px 9px 6px 23px;
    border:1px solid rgba(3,32,80,.065);
    border-radius:10px;
    color:rgba(3,32,80,.72);
    background:rgba(255,255,255,.68);
    font-size:10px;
    font-weight:620;
    line-height:1.35;
}
.event-card-occurrences > span::before{
    content:"";
    position:absolute;
    left:10px;
    top:50%;
    width:5px;
    height:5px;
    border:1px solid #ad8847;
    border-radius:50%;
    transform:translateY(-50%);
}
.event-card-occurrences > em{
    justify-self:start;
    color:rgba(3,32,80,.48);
    font-size:9px;
    font-style:normal;
    font-weight:700;
}
.event-card-verified{
    margin-top:10px;
    font-size:8.5px;
}
.event-card-arrow{
    position:relative;
    z-index:1;
}
@media(hover:hover) and (pointer:fine){
    .event-card:hover{
        border-color:rgba(186,153,86,.28);
        box-shadow:0 18px 40px rgba(3,32,80,.105);
        transform:translateY(-1px);
    }
}

.event-detail-date-fact{
    align-items:start !important;
}
.event-detail-date-fact > span{
    margin-top:1px;
}
.event-detail-occurrences{
    display:grid;
    gap:7px;
    margin-top:8px;
}
.event-detail-occurrences strong{
    position:relative;
    margin:0 !important;
    padding:8px 10px 8px 24px;
    border:1px solid rgba(3,32,80,.07);
    border-radius:11px;
    background:rgba(248,245,238,.72);
    font-size:12px !important;
    font-weight:620 !important;
}
.event-detail-occurrences strong::before{
    content:"";
    position:absolute;
    left:10px;
    top:50%;
    width:5px;
    height:5px;
    border:1px solid #ad8847;
    border-radius:50%;
    transform:translateY(-50%);
}

.ask-screen-premium .ask-event-result-dates{
    display:grid;
    gap:5px;
    margin-top:7px;
}
.ask-screen-premium .ask-event-result-dates > span{
    position:relative;
    display:block;
    padding:6px 8px 6px 22px;
    border:1px solid rgba(3,32,80,.065);
    border-radius:9px;
    color:rgba(3,32,80,.68);
    background:rgba(255,255,255,.66);
    font-size:11px;
    font-weight:520;
    line-height:1.35;
}
.ask-screen-premium .ask-event-result-dates > span::before{
    content:"";
    position:absolute;
    left:9px;
    top:50%;
    width:4px;
    height:4px;
    border:1px solid #aa8545;
    border-radius:50%;
    transform:translateY(-50%);
}
.ask-screen-premium .ask-event-result:not(.has-multiple-dates) .ask-event-result-dates > span{
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
}
.ask-screen-premium .ask-event-result:not(.has-multiple-dates) .ask-event-result-dates > span::before{
    display:none;
}

@media(max-width:430px){
    .events-results-heading{margin-bottom:10px}
    .event-card{
        grid-template-columns:57px minmax(0,1fr) 17px;
        gap:10px;
        padding:12px 11px 12px 10px;
        border-radius:20px;
    }
    .event-card-date{min-height:63px;border-radius:15px}
    .event-card-date strong{font-size:27px}
    .event-card-copy > strong{font-size:20px}
    .event-card-occurrences > span{font-size:9.5px}
}
@media(max-width:360px){
    .event-card{grid-template-columns:51px minmax(0,1fr);gap:9px}
    .event-card-date{min-height:58px}
    .event-card-copy > strong{font-size:18px}
    .event-card-kicker{font-size:8px}
    .event-card-occurrences > span{padding-right:7px}
}


/* ========================================================================== 
   EVENTS — NEXT DATE + REMAINING DATES SAFETY HOTFIX (13)
   The closest verified date stays primary. Later dates remain visible but
   secondary, so a recurring programme reads as one event with a schedule.
   ========================================================================== */
.event-detail-primary-occurrence{
    margin-top:5px !important;
    font-size:13px !important;
    font-weight:680 !important;
}
.event-detail-other-occurrences{
    margin-top:11px;
    padding-top:10px;
    border-top:1px solid rgba(3,32,80,.075);
}
.event-detail-other-occurrences > em{
    display:block;
    margin-bottom:7px;
    color:rgba(3,32,80,.48);
    font-size:9px;
    font-style:normal;
    font-weight:780;
    letter-spacing:.07em;
    line-height:1.35;
    text-transform:uppercase;
}
.event-detail-other-occurrences > span{
    display:grid;
    gap:6px;
}
.event-detail-other-occurrences strong{
    position:relative;
    margin:0 !important;
    padding:7px 9px 7px 22px;
    border:1px solid rgba(3,32,80,.065);
    border-radius:10px;
    color:rgba(3,32,80,.72);
    background:rgba(248,245,238,.70);
    font-size:11px !important;
    font-weight:620 !important;
}
.event-detail-other-occurrences strong::before{
    content:"";
    position:absolute;
    left:9px;
    top:50%;
    width:5px;
    height:5px;
    border:1px solid #ad8847;
    border-radius:50%;
    transform:translateY(-50%);
}

/* =======================================================================
   HOME EVENTS CARD — EVENT-THEMED IMAGE ALIGNMENT HOTFIX 17
   Scope intentionally limited to the Home "Događanja" module only.
   Replaces the overly solid blue card with an event-themed image so the
   module remains visually distinct from "U blizini" while staying inside
   the approved homepage language.
   ======================================================================= */
.localia-app.is-screen-home .home-module-card[data-screen="events"]{
    background:
        linear-gradient(180deg,rgba(3,32,80,.05),rgba(3,32,80,.12)),
        url("../images/home/home-events.jpg") center center / cover no-repeat !important;
}
.localia-app.is-screen-home .home-module-card[data-screen="events"]::before{
    content:none !important;
    display:none !important;
}
.localia-app.is-screen-home .home-module-card[data-screen="events"]::after{
    background:
        linear-gradient(90deg,
            rgba(2,19,44,.74) 0%,
            rgba(3,32,80,.48) 30%,
            rgba(3,32,80,.18) 58%,
            rgba(3,32,80,.04) 80%,
            rgba(3,32,80,.02) 100%) !important;
}
.localia-app.is-screen-home .home-module-card[data-screen="events"] .home-module-icon,
.localia-app.is-screen-home .home-module-card[data-screen="events"] .home-module-arrow{
    border-color:rgba(255,255,255,.64) !important;
    background:rgba(3,32,80,.16) !important;
    box-shadow:0 10px 24px rgba(2,19,44,.16) !important;
}
.localia-app.is-screen-home .home-module-card[data-screen="events"] .home-module-title,
.localia-app.is-screen-home .home-module-card[data-screen="events"] .home-module-text{
    text-shadow:0 2px 10px rgba(2,19,44,.28) !important;
}

/* =======================================================================
   EVENTS TAB — APPROVED HERO + IMAGE-FREE VERIFIED LIST CSS 18
   Scope is intentionally limited to the guest Events list screen.
   No event data, source, Ask, detail, automation, admin or hotel CSS changes.
   ======================================================================= */
.localia-app.is-screen-events{
    background:#f7f4ed !important;
}
.localia-app.is-screen-events .localia-screen{
    background:#f7f4ed !important;
}
.localia-app.is-screen-events .app-header{
    position:relative !important;
    z-index:40 !important;
    margin-bottom:0 !important;
}
.localia-app.is-screen-events .localia-logo-image{
    width:clamp(132px,35vw,178px) !important;
    filter:brightness(0) invert(1) drop-shadow(0 2px 10px rgba(2,19,44,.24)) !important;
}
.localia-app.is-screen-events .guest-language-summary{
    border-color:rgba(255,255,255,.92) !important;
    background:rgba(255,255,255,.94) !important;
    box-shadow:0 10px 28px rgba(2,19,44,.18) !important;
    backdrop-filter:blur(14px) !important;
}
.localia-app.is-screen-events .screen-content{
    padding-bottom:116px !important;
}
.localia-app.is-screen-events .events-screen{
    position:relative !important;
    isolation:isolate !important;
    width:auto !important;
    max-width:none !important;
    display:flex !important;
    flex-direction:column !important;
    margin:0 !important;
    padding:0 0 36px !important;
    color:#032050 !important;
}
.localia-app.is-screen-events .events-screen::before{
    content:"";
    position:absolute;
    z-index:-1;
    top:calc(clamp(455px,62svh,565px) - 58px);
    left:calc(-1 * clamp(14px,4.5vw,34px));
    right:calc(-1 * clamp(14px,4.5vw,34px));
    bottom:0;
    border-radius:30px 30px 0 0;
    background:#fbfaf7;
    box-shadow:0 -14px 42px rgba(3,32,80,.08);
}

.localia-app.is-screen-events .events-hero{
    position:relative !important;
    isolation:isolate !important;
    order:1 !important;
    display:block !important;
    min-height:0 !important;
    height:clamp(455px,62svh,565px) !important;
    margin:calc(-58px - max(20px,env(safe-area-inset-top))) calc(-1 * clamp(14px,4.5vw,34px)) 0 !important;
    padding:0 !important;
    overflow:hidden !important;
    border:0 !important;
    border-radius:0 !important;
    background:#061b38 url("../images/home/home-events.jpg") center center / cover no-repeat !important;
    box-shadow:none !important;
    color:#fff !important;
}
.localia-app.is-screen-events .events-hero::before{
    content:"";
    position:absolute;
    z-index:0;
    inset:0;
    background:
        linear-gradient(90deg,rgba(2,19,44,.76) 0%,rgba(3,32,80,.53) 38%,rgba(3,32,80,.19) 72%,rgba(3,32,80,.08) 100%),
        linear-gradient(180deg,rgba(2,19,44,.14) 0%,rgba(2,19,44,.08) 42%,rgba(2,19,44,.58) 100%);
    pointer-events:none;
}
.localia-app.is-screen-events .events-hero::after{
    content:"" !important;
    position:absolute !important;
    z-index:1 !important;
    left:0 !important;
    right:0 !important;
    top:auto !important;
    bottom:0 !important;
    width:auto !important;
    height:88px !important;
    border:0 !important;
    border-radius:0 !important;
    background:linear-gradient(180deg,rgba(247,244,237,0),rgba(247,244,237,.16)) !important;
    box-shadow:none !important;
    pointer-events:none !important;
}
.localia-app.is-screen-events .events-hero-calendar{
    display:none !important;
}
.localia-app.is-screen-events .events-hero-copy{
    position:absolute !important;
    z-index:3 !important;
    left:clamp(26px,6.6vw,54px) !important;
    right:clamp(22px,6vw,50px) !important;
    bottom:clamp(82px,10svh,108px) !important;
    max-width:530px !important;
}
.localia-app.is-screen-events .events-eyebrow{
    display:none !important;
}
.localia-app.is-screen-events .events-hero-copy h1{
    margin:0 !important;
    color:#fff !important;
    font-family:"Localia Display",var(--localia-font-display) !important;
    font-size:clamp(61px,16.5vw,92px) !important;
    font-weight:400 !important;
    line-height:.91 !important;
    letter-spacing:-.045em !important;
    text-shadow:0 3px 18px rgba(2,19,44,.42) !important;
}
.localia-app.is-screen-events .events-hero-copy h1::after{
    content:"";
    display:block;
    width:46px;
    height:2px;
    margin:21px 0 17px;
    border-radius:999px;
    background:#ba9956;
    box-shadow:0 1px 4px rgba(2,19,44,.34);
}
.localia-app.is-screen-events .events-hero-copy p{
    max-width:330px !important;
    margin:0 !important;
    color:rgba(255,255,255,.96) !important;
    font-size:clamp(16px,4.25vw,22px) !important;
    font-weight:400 !important;
    line-height:1.46 !important;
    letter-spacing:-.015em !important;
    text-shadow:0 2px 12px rgba(2,19,44,.46) !important;
}

.localia-app.is-screen-events .events-filter-section{
    position:relative !important;
    z-index:6 !important;
    order:2 !important;
    margin:-58px clamp(2px,1.2vw,10px) 0 !important;
    padding:clamp(22px,5.4vw,30px) clamp(17px,4.5vw,28px) 17px !important;
    border:1px solid rgba(3,32,80,.07) !important;
    border-radius:clamp(26px,6.5vw,32px) clamp(26px,6.5vw,32px) 0 0 !important;
    background:rgba(255,255,255,.985) !important;
    box-shadow:0 24px 58px rgba(3,32,80,.15) !important;
    backdrop-filter:blur(18px) !important;
}
.localia-app.is-screen-events .events-range-tabs{
    gap:0 !important;
    padding:4px !important;
    border:1px solid rgba(3,32,80,.09) !important;
    border-radius:22px !important;
    background:#f8f7f4 !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.8) !important;
}
.localia-app.is-screen-events .events-range-tabs button{
    min-height:48px !important;
    border-radius:18px !important;
    color:rgba(3,32,80,.78) !important;
    background:transparent !important;
    font-size:clamp(12px,3.15vw,15px) !important;
    font-weight:560 !important;
    box-shadow:none !important;
}
.localia-app.is-screen-events .events-range-tabs button.is-active{
    color:#fff !important;
    background:#032050 !important;
    box-shadow:0 8px 20px rgba(3,32,80,.20) !important;
}
.localia-app.is-screen-events .events-category-scroll{
    gap:8px !important;
    margin-top:15px !important;
    padding:1px 0 5px !important;
}
.localia-app.is-screen-events .events-category-scroll button{
    min-height:40px !important;
    padding:0 15px !important;
    border:1px solid rgba(3,32,80,.09) !important;
    border-radius:999px !important;
    color:rgba(3,32,80,.72) !important;
    background:#faf9f6 !important;
    font-size:11px !important;
    font-weight:570 !important;
    box-shadow:0 5px 14px rgba(3,32,80,.035) !important;
}
.localia-app.is-screen-events .events-category-scroll button.is-active{
    border-color:#032050 !important;
    color:#fff !important;
    background:#032050 !important;
    box-shadow:0 8px 18px rgba(3,32,80,.16) !important;
}

.localia-app.is-screen-events .events-results,
.localia-app.is-screen-events .events-empty-state{
    position:relative !important;
    z-index:5 !important;
    order:3 !important;
    margin:0 clamp(2px,1.2vw,10px) !important;
    padding:6px clamp(17px,4.5vw,28px) 18px !important;
    border:0 !important;
    border-radius:0 !important;
    background:rgba(255,255,255,.985) !important;
    box-shadow:none !important;
}
.localia-app.is-screen-events .events-results-heading{
    display:none !important;
}
.localia-app.is-screen-events .events-card-list{
    gap:10px !important;
}
.localia-app.is-screen-events .event-card{
    grid-template-columns:clamp(58px,14vw,68px) minmax(0,1fr) 23px !important;
    gap:clamp(12px,3.2vw,17px) !important;
    min-height:122px !important;
    padding:16px 15px 16px 14px !important;
    border:1px solid rgba(3,32,80,.09) !important;
    border-radius:21px !important;
    background:#fff !important;
    box-shadow:0 10px 26px rgba(3,32,80,.055) !important;
}
.localia-app.is-screen-events .event-card::after{
    width:62px !important;
    height:62px !important;
    background:radial-gradient(circle at 100% 0,rgba(186,153,86,.065),transparent 70%) !important;
}
.localia-app.is-screen-events .event-card-date{
    width:clamp(58px,14vw,68px) !important;
    min-height:clamp(58px,14vw,68px) !important;
    aspect-ratio:1 !important;
    border:0 !important;
    border-radius:999px !important;
    background:#f7f4ed !important;
    box-shadow:inset 0 0 0 1px rgba(186,153,86,.08) !important;
}
.localia-app.is-screen-events .event-card-date strong{
    font-size:clamp(27px,7vw,34px) !important;
    font-weight:430 !important;
}
.localia-app.is-screen-events .event-card-date small{
    margin-top:3px !important;
    color:#9b793a !important;
    font-size:9px !important;
}
.localia-app.is-screen-events .event-card-kicker{
    color:#a17d3b !important;
    font-size:8px !important;
}
.localia-app.is-screen-events .event-card-copy > strong{
    margin-top:6px !important;
    font-size:clamp(22px,5.8vw,29px) !important;
    font-weight:420 !important;
    line-height:1.05 !important;
}
.localia-app.is-screen-events .event-card-copy > small{
    margin-top:6px !important;
    color:rgba(3,32,80,.62) !important;
    font-size:11px !important;
}
.localia-app.is-screen-events .event-card-meta{
    margin-top:8px !important;
    color:rgba(3,32,80,.72) !important;
    font-size:10.5px !important;
    font-weight:610 !important;
}
.localia-app.is-screen-events .event-card-occurrences{
    gap:4px !important;
    margin-top:8px !important;
}
.localia-app.is-screen-events .event-card-occurrences > span{
    padding:4px 0 4px 16px !important;
    border:0 !important;
    border-radius:0 !important;
    color:rgba(3,32,80,.72) !important;
    background:transparent !important;
    font-size:10px !important;
}
.localia-app.is-screen-events .event-card-occurrences > span::before{
    left:2px !important;
    width:5px !important;
    height:5px !important;
}
.localia-app.is-screen-events .event-card-verified{
    margin-top:9px !important;
    color:rgba(3,32,80,.46) !important;
    font-size:8.5px !important;
}
.localia-app.is-screen-events .event-card-arrow{
    width:22px !important;
    height:22px !important;
    color:#032050 !important;
}

.localia-app.is-screen-events .events-source-note{
    position:relative !important;
    z-index:5 !important;
    order:4 !important;
    grid-template-columns:25px minmax(0,1fr) !important;
    gap:9px !important;
    margin:0 clamp(2px,1.2vw,10px) !important;
    padding:12px clamp(18px,4.7vw,29px) 16px !important;
    border:0 !important;
    border-radius:0 0 clamp(26px,6.5vw,32px) clamp(26px,6.5vw,32px) !important;
    background:rgba(255,255,255,.985) !important;
    box-shadow:0 20px 48px rgba(3,32,80,.10) !important;
}
.localia-app.is-screen-events .events-source-note span{
    width:23px !important;
    height:23px !important;
    color:#a9853f !important;
}
.localia-app.is-screen-events .events-source-note p{
    color:rgba(3,32,80,.58) !important;
    font-size:10px !important;
    line-height:1.45 !important;
}

.localia-app.is-screen-events .events-empty-state{
    padding-top:28px !important;
    padding-bottom:34px !important;
    text-align:center !important;
}
.localia-app.is-screen-events .events-empty-icon{
    background:#f7f4ed !important;
}
.localia-app.is-screen-events .events-ask-card{
    position:relative !important;
    z-index:4 !important;
    order:5 !important;
    margin:16px clamp(2px,1.2vw,10px) 0 !important;
    border-radius:22px !important;
    box-shadow:0 12px 30px rgba(3,32,80,.065) !important;
}

@media(max-width:370px){
    .localia-app.is-screen-events .events-hero{
        height:440px !important;
    }
    .localia-app.is-screen-events .events-screen::before{
        top:382px !important;
    }
    .localia-app.is-screen-events .events-hero-copy{
        left:24px !important;
        bottom:78px !important;
    }
    .localia-app.is-screen-events .events-hero-copy h1{
        font-size:57px !important;
    }
    .localia-app.is-screen-events .events-hero-copy p{
        max-width:285px !important;
        font-size:15px !important;
    }
    .localia-app.is-screen-events .events-filter-section{
        margin-top:-54px !important;
        padding-inline:14px !important;
    }
    .localia-app.is-screen-events .events-results,
    .localia-app.is-screen-events .events-empty-state,
    .localia-app.is-screen-events .events-source-note{
        padding-inline:14px !important;
    }
    .localia-app.is-screen-events .events-range-tabs button{
        min-height:44px !important;
        font-size:11px !important;
    }
    .localia-app.is-screen-events .event-card{
        grid-template-columns:54px minmax(0,1fr) 20px !important;
        gap:10px !important;
        padding-inline:11px !important;
    }
    .localia-app.is-screen-events .event-card-date{
        width:54px !important;
        min-height:54px !important;
    }
    .localia-app.is-screen-events .event-card-copy > strong{
        font-size:21px !important;
    }
}

@media(min-width:600px){
    .localia-app.is-screen-events .events-hero{
        height:610px !important;
        background-position:center 48% !important;
    }
    .localia-app.is-screen-events .events-screen::before{
        top:552px !important;
    }
    .localia-app.is-screen-events .events-filter-section,
    .localia-app.is-screen-events .events-results,
    .localia-app.is-screen-events .events-empty-state,
    .localia-app.is-screen-events .events-source-note,
    .localia-app.is-screen-events .events-ask-card{
        width:min(100% - 36px,690px) !important;
        margin-left:auto !important;
        margin-right:auto !important;
    }
    .localia-app.is-screen-events .events-hero-copy{
        bottom:118px !important;
    }
    .localia-app.is-screen-events .events-card-list{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
}

/* =======================================================================
   EVENTS TAB — TYPOGRAPHY ONLY HOTFIX 19
   Scope strictly limited to typography on the guest Events screen.
   No date badge, icons, layout, content, data or interaction changes.
   ======================================================================= */
.localia-app.is-screen-events .events-hero-copy p{
    max-width:300px !important;
    font-size:clamp(13px,3.55vw,16px) !important;
    line-height:1.42 !important;
    letter-spacing:-.01em !important;
}
.localia-app.is-screen-events .event-card-copy > strong{
    font-size:clamp(18px,4.85vw,23px) !important;
    line-height:1.06 !important;
}
.localia-app.is-screen-events .event-card-copy > small{
    font-size:10px !important;
    line-height:1.34 !important;
}
.localia-app.is-screen-events .event-card-meta{
    font-size:9.5px !important;
}
.localia-app.is-screen-events .event-card-verified{
    font-size:8px !important;
}
@media(max-width:430px){
    .localia-app.is-screen-events .events-hero-copy p{
        max-width:275px !important;
        font-size:13px !important;
    }
    .localia-app.is-screen-events .event-card-copy > strong{
        font-size:clamp(17px,4.6vw,21px) !important;
    }
}

/* =======================================================================
   EVENTS TAB — PREMIUM SQUARE DATE BADGE 20
   Scope strictly limited to the date badge inside guest Events result cards.
   Approved visual: compact rounded square, fine gold border, warm ivory fill,
   navy Newsreader day number and understated gold month label.
   ======================================================================= */
.localia-app.is-screen-events .event-card-date{
    width:clamp(58px,14vw,68px) !important;
    min-height:clamp(68px,17vw,76px) !important;
    aspect-ratio:auto !important;
    border:1px solid rgba(186,153,86,.42) !important;
    border-radius:14px !important;
    background:
        linear-gradient(145deg,rgba(255,255,255,.96),rgba(248,244,235,.96)) !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.92),
        0 6px 16px rgba(3,32,80,.045) !important;
}
.localia-app.is-screen-events .event-card-date strong{
    color:#032050 !important;
    font-size:clamp(26px,6.7vw,32px) !important;
    font-weight:430 !important;
    line-height:.92 !important;
    letter-spacing:-.025em !important;
}
.localia-app.is-screen-events .event-card-date small{
    margin-top:7px !important;
    color:#a27d38 !important;
    font-size:8.5px !important;
    font-weight:760 !important;
    line-height:1 !important;
    letter-spacing:.14em !important;
}
@media(max-width:370px){
    .localia-app.is-screen-events .event-card-date{
        width:54px !important;
        min-height:66px !important;
        border-radius:13px !important;
    }
    .localia-app.is-screen-events .event-card-date strong{
        font-size:25px !important;
    }
}

/* =======================================================================
   EVENT DETAIL — TITLE LINE-HEIGHT HOTFIX 21
   Scope strictly limited to the event detail hero title.
   ======================================================================= */
.localia-app.is-screen-event-detail .event-detail-hero h1{
    line-height:1.08 !important;
}

/* =======================================================================
   EVENT DETAIL — NEUTRAL PHOTO HEADER OPTION B 22
   Scope strictly limited to the guest Event detail screen.
   Uses one neutral, non-event-specific ambient photo for every event detail,
   with a soft fade into the established warm background. No event facts,
   cards, actions or data logic are changed.
   ======================================================================= */
.localia-app.is-screen-event-detail .localia-screen{
    position:relative !important;
    isolation:isolate !important;
    overflow:hidden !important;
    background:#f8f5ee !important;
}
.localia-app.is-screen-event-detail .localia-screen::before{
    content:"";
    position:absolute;
    z-index:0;
    top:0;
    left:0;
    right:0;
    height:clamp(270px,72vw,390px);
    pointer-events:none;
    background:
        linear-gradient(180deg,
            rgba(248,245,238,.08) 0%,
            rgba(248,245,238,.02) 36%,
            rgba(248,245,238,.20) 66%,
            rgba(248,245,238,.82) 88%,
            #f8f5ee 100%),
        linear-gradient(90deg,rgba(248,245,238,.10),transparent 42%,rgba(248,245,238,.04)),
        url("../images/events/event-detail-neutral.jpg") center 48% / cover no-repeat;
}
.localia-app.is-screen-event-detail .app-header,
.localia-app.is-screen-event-detail .screen-content{
    position:relative !important;
    z-index:1 !important;
}
.localia-app.is-screen-event-detail .event-detail-screen{
    padding-top:clamp(190px,49vw,255px) !important;
}
.localia-app.is-screen-event-detail .event-detail-back{
    background:rgba(255,255,255,.91) !important;
    box-shadow:0 9px 24px rgba(3,32,80,.07) !important;
    backdrop-filter:blur(12px) !important;
}
.localia-app.is-screen-event-detail .event-detail-hero h1{
    font-size:clamp(34px,8.7vw,54px) !important;
    line-height:1.08 !important;
}
@media(max-width:370px){
    .localia-app.is-screen-event-detail .localia-screen::before{
        height:255px;
    }
    .localia-app.is-screen-event-detail .event-detail-screen{
        padding-top:175px !important;
    }
    .localia-app.is-screen-event-detail .event-detail-hero h1{
        font-size:32px !important;
    }
}
@media(min-width:600px){
    .localia-app.is-screen-event-detail .event-detail-screen{
        padding-top:265px !important;
    }
}

/* =======================================================================
   EVENT DETAIL — NEUTRAL PHOTO SCALE/FIT HOTFIX 23
   Scope strictly limited to the neutral photo header on event detail.
   Shows a wider portion of the approved image and reduces header height.
   ======================================================================= */
.localia-app.is-screen-event-detail .localia-screen::before{
    height:clamp(205px,54vw,285px) !important;
    background:
        linear-gradient(180deg,
            rgba(248,245,238,.04) 0%,
            rgba(248,245,238,.04) 42%,
            rgba(248,245,238,.28) 68%,
            rgba(248,245,238,.84) 88%,
            #f8f5ee 100%),
        linear-gradient(90deg,rgba(248,245,238,.06),transparent 46%,rgba(248,245,238,.04)),
        url("../images/events/event-detail-neutral.jpg") center top / 115% auto no-repeat !important;
}
.localia-app.is-screen-event-detail .event-detail-screen{
    padding-top:clamp(150px,39vw,195px) !important;
}
@media(max-width:370px){
    .localia-app.is-screen-event-detail .localia-screen::before{
        height:195px !important;
        background-size:118% auto !important;
    }
    .localia-app.is-screen-event-detail .event-detail-screen{
        padding-top:142px !important;
    }
}
@media(min-width:600px){
    .localia-app.is-screen-event-detail .localia-screen::before{
        height:300px !important;
        background-size:100% auto !important;
    }
    .localia-app.is-screen-event-detail .event-detail-screen{
        padding-top:215px !important;
    }
}

/* =======================================================================
   EVENT DETAIL — APPROVED HEADER MATCH HOTFIX 25
   Scope: event detail decorative header only.
   Uses a taller re-rendered neutral photo with built-in fade so production
   matches the approved visual more closely.
   ======================================================================= */
.localia-app.is-screen-event-detail .localia-screen::before{
    height:clamp(220px,56vw,280px) !important;
    background:url("../images/events/event-detail-neutral.jpg") center top / 100% auto no-repeat !important;
}
.localia-app.is-screen-event-detail .event-detail-screen{
    padding-top:clamp(154px,40vw,190px) !important;
}
@media (max-width: 370px){
    .localia-app.is-screen-event-detail .localia-screen::before{
        height:210px !important;
        background-size:100% auto !important;
    }
    .localia-app.is-screen-event-detail .event-detail-screen{
        padding-top:148px !important;
    }
}
@media (min-width: 600px){
    .localia-app.is-screen-event-detail .localia-screen::before{
        height:300px !important;
        background-size:100% auto !important;
    }
    .localia-app.is-screen-event-detail .event-detail-screen{
        padding-top:205px !important;
    }
}

/* =======================================================================
   EVENT DETAIL — APPROVED HEADER RESET HOTFIX 26
   Scope: event detail decorative top image only.
   This resets the header treatment from scratch against the approved mockup,
   using a fresh wider/taller asset rather than trying to repair prior crops.
   ======================================================================= */
.localia-app.is-screen-event-detail .localia-screen::before{
    height:clamp(248px,65vw,305px) !important;
    background:url("../images/events/event-detail-neutral.jpg") center top / 100% auto no-repeat !important;
}
.localia-app.is-screen-event-detail .event-detail-screen{
    padding-top:clamp(176px,45vw,214px) !important;
}
@media (max-width: 370px){
    .localia-app.is-screen-event-detail .localia-screen::before{
        height:238px !important;
        background-size:100% auto !important;
    }
    .localia-app.is-screen-event-detail .event-detail-screen{
        padding-top:170px !important;
    }
}
@media (min-width: 600px){
    .localia-app.is-screen-event-detail .localia-screen::before{
        height:330px !important;
        background-size:100% auto !important;
    }
    .localia-app.is-screen-event-detail .event-detail-screen{
        padding-top:230px !important;
    }
}

/* =======================================================================
   EVENT DETAIL — BOTTOM FADE ONLY HOTFIX 27
   Scope: event detail decorative header image only.
   Adds a soft fade only at the bottom edge of the approved header image.
   No side fade, no other layout changes.
   ======================================================================= */
.localia-app.is-screen-event-detail .localia-screen::before{
    background:
        linear-gradient(180deg,
            rgba(248,245,238,0) 0%,
            rgba(248,245,238,0) 68%,
            rgba(248,245,238,.18) 80%,
            rgba(248,245,238,.58) 90%,
            rgba(248,245,238,.88) 96%,
            #f8f5ee 100%),
        url("../images/events/event-detail-neutral.jpg") center top / 100% auto no-repeat !important;
}

/* =======================================================================
   PATCH 105 — ATTRACTION DETAIL HEADER POLISH
   Scope: attraction detail header only.
   Removes the visual capsule behind the Localia wordmark and reduces the
   language selector so it remains available without competing with content.
   ======================================================================= */
.localia-app.is-screen-attraction-detail .attraction-detail-premium-brand{
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
}
.localia-app.is-screen-attraction-detail .attraction-detail-premium-brand .localia-logo-image{
    width:clamp(118px,31vw,148px);
    filter:
        drop-shadow(0 1px 0 rgba(255,255,255,.88))
        drop-shadow(0 3px 10px rgba(3,20,42,.16));
}
.localia-app.is-screen-attraction-detail .attraction-detail-premium-language .guest-language-summary{
    height:40px;
    min-width:0;
    gap:6px;
    padding:0 10px;
    border-color:rgba(255,255,255,.88);
    background:rgba(255,255,255,.88);
    box-shadow:0 6px 18px rgba(3,20,42,.12);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
}
.localia-app.is-screen-attraction-detail .attraction-detail-premium-language .guest-language-globe{
    width:17px;
    height:17px;
}
.localia-app.is-screen-attraction-detail .attraction-detail-premium-language .guest-language-current{
    font-size:12px;
    font-weight:600;
    line-height:1;
    letter-spacing:.04em;
}
.localia-app.is-screen-attraction-detail .attraction-detail-premium-language .guest-language-chevron{
    width:11px;
    height:11px;
}
@media(max-width:370px){
    .localia-app.is-screen-attraction-detail .attraction-detail-premium-brand .localia-logo-image{
        width:106px;
    }
    .localia-app.is-screen-attraction-detail .attraction-detail-premium-language .guest-language-summary{
        height:38px;
        gap:5px;
        padding:0 9px;
    }
    .localia-app.is-screen-attraction-detail .attraction-detail-premium-language .guest-language-globe{
        width:16px;
        height:16px;
    }
    .localia-app.is-screen-attraction-detail .attraction-detail-premium-language .guest-language-current{
        font-size:11px;
    }
}

/* =======================================================================
   PATCH 106 — GLOBAL GUEST HEADER + HUB HERO TYPOGRAPHY
   Scope: all guest screens.
   - One consistent compact language selector everywhere.
   - Removes decorative capsules behind Localia wordmarks on detail headers.
   - Uses one responsive title scale for Istraži, Događanja and Vaš boravak.
   ======================================================================= */

/* One compact language control across the complete guest application. */
.localia-app .guest-language-summary{
    height:40px !important;
    min-height:40px !important;
    min-width:0 !important;
    gap:6px !important;
    padding:0 10px !important;
    color:var(--localia-ink) !important;
    border-color:rgba(255,255,255,.88) !important;
    background:rgba(255,255,255,.90) !important;
    box-shadow:0 6px 18px rgba(3,20,42,.12) !important;
    backdrop-filter:blur(12px) !important;
    -webkit-backdrop-filter:blur(12px) !important;
}
.localia-app .guest-language-globe{
    width:17px !important;
    height:17px !important;
    flex:0 0 17px !important;
}
.localia-app .guest-language-current{
    font-size:12px !important;
    font-weight:500 !important;
    line-height:1 !important;
    letter-spacing:.04em !important;
}
.localia-app .guest-language-chevron{
    width:11px !important;
    height:11px !important;
    flex:0 0 11px !important;
}

/* Wordmark remains directly on the image instead of looking like a sticker. */
.localia-app .attraction-detail-premium-brand,
.localia-app .guided-tour-detail-brand{
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
}
.localia-app .attraction-detail-premium-brand .localia-logo-image,
.localia-app .guided-tour-detail-brand .localia-logo-image{
    filter:
        drop-shadow(0 1px 0 rgba(255,255,255,.82))
        drop-shadow(0 3px 10px rgba(3,20,42,.16)) !important;
}

/* Shared premium scale for the three main guest hubs. */
:root{
    --localia-guest-hub-title-size:clamp(57px,15.4vw,82px);
}
.localia-app.is-screen-explore .explore-hub-title,
.localia-app.is-screen-events .events-hero-copy h1,
.localia-app.is-screen-stay .stay-premium-hero-copy h1{
    font-family:"Localia Display",var(--localia-font-display) !important;
    font-size:var(--localia-guest-hub-title-size) !important;
    font-weight:400 !important;
    line-height:.93 !important;
    letter-spacing:-.038em !important;
    text-rendering:optimizeLegibility !important;
    -webkit-font-smoothing:antialiased !important;
}
.localia-app.is-screen-explore .explore-hub-title,
.localia-app.is-screen-events .events-hero-copy h1{
    color:rgba(255,255,255,.96) !important;
    text-shadow:0 2px 12px rgba(2,19,44,.22) !important;
}
.localia-app.is-screen-stay .stay-premium-hero-copy h1{
    color:rgba(3,32,80,.95) !important;
    text-shadow:none !important;
}

@media(max-width:370px){
    .localia-app .guest-language-summary{
        height:38px !important;
        min-height:38px !important;
        gap:5px !important;
        padding:0 9px !important;
    }
    .localia-app .guest-language-globe{
        width:16px !important;
        height:16px !important;
        flex-basis:16px !important;
    }
    .localia-app .guest-language-current{
        font-size:11px !important;
    }
    .localia-app .guest-language-chevron{
        width:10px !important;
        height:10px !important;
        flex-basis:10px !important;
    }
}

/* =======================================================================
   PATCH 107 — ASK LANDING HEADER + CENTERING FIX
   Scope: Ask Localia landing screen, with shared header-control alignment.
   - Prevents the Localia wordmark from running beneath privacy/language controls.
   - Gives privacy and language controls one consistent compact height.
   - Keeps the Ask landing title truly centered and allows safe wrapping in
     longer translated versions instead of clipping outside the viewport.
   ======================================================================= */

/* Header controls must always remain one compact, non-wrapping group. */
.localia-app .app-header-side{
    flex:0 0 auto !important;
    flex-wrap:nowrap !important;
    gap:8px !important;
    white-space:nowrap;
}
.localia-app .guest-privacy-button{
    width:40px !important;
    height:40px !important;
    min-width:40px !important;
    min-height:40px !important;
    flex:0 0 40px !important;
    padding:0 !important;
    border-color:rgba(255,255,255,.88) !important;
    background:rgba(255,255,255,.90) !important;
    box-shadow:0 6px 18px rgba(3,20,42,.12) !important;
    backdrop-filter:blur(12px) !important;
    -webkit-backdrop-filter:blur(12px) !important;
}
.localia-app .guest-privacy-button svg{
    width:16px !important;
    height:16px !important;
}

/* Ask uses two real columns: available logo space + fixed controls. */
.localia-app.is-screen-ask .app-header.is-ask-landing{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    align-items:center !important;
    column-gap:12px !important;
    min-height:76px !important;
    padding:0 !important;
}
.localia-app.is-screen-ask .app-header.is-ask-landing .localia-brand{
    grid-column:1 !important;
    justify-self:start !important;
    align-self:center !important;
    min-width:0 !important;
    padding-top:0 !important;
}
.localia-app.is-screen-ask .app-header.is-ask-landing .localia-logo-image{
    display:block !important;
    width:clamp(126px,34vw,146px) !important;
    max-width:100% !important;
    height:auto !important;
}
.localia-app.is-screen-ask .app-header.is-ask-landing .app-header-side{
    grid-column:2 !important;
    justify-self:end !important;
    align-self:center !important;
}

/* The title may wrap for longer translations, but always stays balanced. */
.localia-app.is-screen-ask .ask-landing-title{
    width:min(100%,560px) !important;
    max-width:100% !important;
    margin-inline:auto !important;
    padding-inline:0 !important;
    white-space:normal !important;
    overflow-wrap:normal !important;
    text-align:center !important;
    text-wrap:balance;
    font-size:clamp(31px,8.1vw,50px) !important;
    font-weight:400 !important;
    line-height:1.07 !important;
    letter-spacing:-.032em !important;
}
.localia-app.is-screen-ask .ask-landing-intro{
    width:min(100%,520px) !important;
    margin-inline:auto !important;
    text-align:center !important;
    text-wrap:balance;
}

@media(max-width:420px){
    .localia-app.is-screen-ask .app-header.is-ask-landing{
        min-height:72px !important;
        column-gap:10px !important;
    }
    .localia-app.is-screen-ask .app-header.is-ask-landing .localia-logo-image{
        width:clamp(120px,33vw,132px) !important;
    }
    .localia-app.is-screen-ask .ask-landing-title{
        width:min(100%,342px) !important;
    }
}

@media(max-width:350px){
    .localia-app .app-header-side{
        gap:6px !important;
    }
    .localia-app .guest-privacy-button{
        width:38px !important;
        height:38px !important;
        min-width:38px !important;
        min-height:38px !important;
        flex-basis:38px !important;
    }
    .localia-app.is-screen-ask .app-header.is-ask-landing{
        column-gap:8px !important;
    }
    .localia-app.is-screen-ask .app-header.is-ask-landing .localia-logo-image{
        width:112px !important;
    }
    .localia-app.is-screen-ask .ask-landing-title{
        font-size:30px !important;
    }
}

/* =======================================================================
   PATCH 109 — GLOBAL GUEST HERO TYPOGRAPHY SYSTEM
   Scope: the primary guest destination hubs and their two Explore collections:
   Istraži, Znamenitosti, Vođene ture, Događanja and Vaš boravak.
   - One identical title size, weight and line-height in every language.
   - No German-only or other language-specific font scaling.
   - Safe wrapping and hyphenation prevent translations from leaving the
     viewport; long titles wrap instead of silently becoming smaller.
   - Intro text uses one shared size and readable measure on every page.
   ======================================================================= */

:root{
    --localia-guest-hub-title-size:clamp(46px,11.8vw,60px);
    --localia-guest-hub-title-line-height:.96;
    --localia-guest-hub-copy-size:clamp(15px,3.85vw,17px);
    --localia-guest-hub-copy-line-height:1.48;
    --localia-guest-hub-safe-inline:clamp(24px,6vw,50px);
}

/* Every primary hero copy area uses the same safe horizontal canvas. */
.localia-app.is-screen-explore .explore-hub-copy,
.localia-app.is-screen-explore-attractions .attractions-premium-hero-copy,
.localia-app.is-screen-explore-tours .guided-tours-approved-hero-copy,
.localia-app.is-screen-events .events-hero-copy,
.localia-app.is-screen-stay .stay-premium-hero-copy{
    left:var(--localia-guest-hub-safe-inline) !important;
    right:var(--localia-guest-hub-safe-inline) !important;
    width:auto !important;
    max-width:none !important;
    min-width:0 !important;
    box-sizing:border-box !important;
}

/* One real title system — identical in HR, EN, DE and IT. */
html[lang] .localia-app.is-screen-explore .explore-hub-title,
html[lang] .localia-app.is-screen-explore-attractions .attractions-premium-hero-copy h1,
html[lang] .localia-app.is-screen-explore-tours .guided-tours-approved-hero-copy h1,
html[lang] .localia-app.is-screen-events .events-hero-copy h1,
html[lang] .localia-app.is-screen-stay .stay-premium-hero-copy h1{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin-left:0 !important;
    margin-right:0 !important;
    font-family:"Localia Display",var(--localia-font-display) !important;
    font-size:var(--localia-guest-hub-title-size) !important;
    font-weight:400 !important;
    line-height:var(--localia-guest-hub-title-line-height) !important;
    letter-spacing:-.036em !important;
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:anywhere !important;
    hyphens:auto !important;
    -webkit-hyphens:auto !important;
    text-wrap:balance;
    text-rendering:optimizeLegibility !important;
    -webkit-font-smoothing:antialiased !important;
    font-synthesis:none !important;
}

/* Existing page-specific title margins are normalized as well. */
html[lang] .localia-app.is-screen-explore-tours .guided-tours-approved-hero-copy h1{
    margin-bottom:17px !important;
}

/* Shared supporting copy: same scale, rhythm and readable line length. */
html[lang] .localia-app.is-screen-explore .explore-hub-intro,
html[lang] .localia-app.is-screen-explore-attractions .attractions-premium-hero-copy p,
html[lang] .localia-app.is-screen-explore-tours .guided-tours-approved-hero-copy p,
html[lang] .localia-app.is-screen-events .events-hero-copy p,
html[lang] .localia-app.is-screen-stay .stay-premium-hero-copy p{
    width:100% !important;
    max-width:32ch !important;
    min-width:0 !important;
    margin-left:0 !important;
    margin-right:0 !important;
    font-size:var(--localia-guest-hub-copy-size) !important;
    font-weight:400 !important;
    line-height:var(--localia-guest-hub-copy-line-height) !important;
    letter-spacing:-.01em !important;
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:break-word !important;
    hyphens:auto !important;
    -webkit-hyphens:auto !important;
    text-wrap:pretty;
}

/* Preserve light/dark contrast without changing the common typography. */
html[lang] .localia-app.is-screen-explore .explore-hub-title,
html[lang] .localia-app.is-screen-explore-attractions .attractions-premium-hero-copy h1,
html[lang] .localia-app.is-screen-explore-tours .guided-tours-approved-hero-copy h1,
html[lang] .localia-app.is-screen-events .events-hero-copy h1{
    color:rgba(255,255,255,.97) !important;
    text-shadow:0 2px 12px rgba(2,19,44,.25) !important;
}
html[lang] .localia-app.is-screen-stay .stay-premium-hero-copy h1{
    color:rgba(3,32,80,.96) !important;
    text-shadow:none !important;
}

/* Narrow phones keep the same shared typography rules. Only the shared scale
   changes slightly; no individual page or language receives a special size. */
@media(max-width:370px){
    :root{
        --localia-guest-hub-title-size:43px;
        --localia-guest-hub-copy-size:14.5px;
        --localia-guest-hub-safe-inline:20px;
    }
}


/* =======================================================================
   PATCH 112 — EVENT DETAIL LANGUAGE MENU INTERACTION LAYER
   Scope strictly limited to the Event detail screen.

   The Event detail photo treatment previously assigned the header and the
   content the same z-index. Because the content is rendered after the header,
   its transparent layer could receive taps over the open language menu. The
   menu remained visible, but its language options were not clickable.

   Keep the decorative image at layer 0, content at layer 1 and the interactive
   header/menu safely above both. No visual dimensions or event content change.
   ======================================================================= */
.localia-app.is-screen-event-detail .screen-content{
    position:relative !important;
    z-index:1 !important;
}
.localia-app.is-screen-event-detail .app-header{
    position:relative !important;
    z-index:80 !important;
    isolation:isolate;
}
.localia-app.is-screen-event-detail .app-header-side,
.localia-app.is-screen-event-detail .guest-language-menu{
    position:relative;
    z-index:81;
}
.localia-app.is-screen-event-detail .guest-language-menu[open]{
    z-index:1000;
}
.localia-app.is-screen-event-detail .guest-language-options{
    z-index:1001;
    pointer-events:auto;
    touch-action:manipulation;
}
.localia-app.is-screen-event-detail .guest-language-option{
    position:relative;
    z-index:1;
    pointer-events:auto;
    touch-action:manipulation;
}

/* =======================================================================
   PATCH 119 — BOTTOM NAV CENTERING + VISIBLE EVENT FILTERS
   - Centers the fixed bottom navigation inside the real document viewport,
     excluding a classic desktop scrollbar from the available width.
   - Keeps the existing responsive gutters and detail-screen widths.
   - Shows every event category without a hidden horizontal-scroll gesture.
   ======================================================================= */
.bottom-nav{
    --localia-bottom-nav-max-width:720px;
    --localia-bottom-nav-inline-gutter:20px;
}

@media(min-width:600px){
    .bottom-nav{
        --localia-bottom-nav-max-width:700px;
        --localia-bottom-nav-inline-gutter:42px;
    }
}

@media(max-width:370px){
    .bottom-nav{
        --localia-bottom-nav-inline-gutter:12px;
    }
}

.localia-app.is-screen-attraction-detail .bottom-nav,
.localia-app.is-screen-tour-detail .bottom-nav,
.localia-app.is-screen-tour-stop .bottom-nav{
    --localia-bottom-nav-max-width:700px;
    --localia-bottom-nav-inline-gutter:28px;
}

/* Container-query units use the root content box, unlike viewport units they
   do not include the width occupied by a classic browser scrollbar. */
@supports (width:1cqw){
    html{
        container-type:inline-size;
    }

    .bottom-nav{
        left:50cqw !important;
        width:min(
            var(--localia-bottom-nav-max-width),
            calc(100cqw - var(--localia-bottom-nav-inline-gutter))
        ) !important;
    }
}

.localia-app.is-screen-events .events-category-scroll{
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:center !important;
    overflow-x:visible !important;
    column-gap:8px !important;
    row-gap:8px !important;
    padding-bottom:1px !important;
}

.localia-app.is-screen-events .events-category-scroll button{
    padding-inline:11px !important;
}


/* ==========================================================================
   PATCH 121 — NOTICE PREVIEW, FULL DIALOG AND SAFE AUTOMATIC ORDER
   - compact previews prevent long notices from breaking guest cards
   - full content opens above the app and preserves typed line breaks
   - SVG arrows replace encoding-sensitive generated glyphs
   ========================================================================== */
body.is-notice-dialog-open{
    overflow:hidden !important;
}

.localia-app .home-notice-card,
.localia-app .stay-premium-notice{
    cursor:pointer;
}

.localia-app.is-screen-home .home-notice-card{
    padding-right:50px !important;
}

.localia-app.is-screen-home .home-notice-card::after{
    content:none !important;
    display:none !important;
}

.localia-app.is-screen-home .home-notice-title,
.localia-app.is-screen-home .home-notice-text{
    display:-webkit-box !important;
    overflow:hidden !important;
    -webkit-box-orient:vertical !important;
    overflow-wrap:anywhere !important;
    white-space:normal !important;
}

.localia-app.is-screen-home .home-notice-title{
    -webkit-line-clamp:2 !important;
}

.localia-app.is-screen-home .home-notice-text{
    -webkit-line-clamp:3 !important;
}

.localia-app.is-screen-home .home-notice-open-icon{
    position:absolute;
    right:16px;
    top:50%;
    width:22px;
    height:22px;
    display:grid;
    place-items:center;
    color:rgba(3,32,80,.46);
    transform:translateY(-50%);
    pointer-events:none;
}

.localia-app.is-screen-home .home-notice-open-icon svg{
    width:20px;
    height:20px;
}

.stay-premium-notice{
    width:100%;
    grid-template-columns:58px minmax(0,1fr) 24px;
    border-style:solid;
    color:inherit;
    font:inherit;
    text-align:left;
    appearance:none;
}

.stay-premium-notice-copy{
    min-width:0;
    display:block;
}

.stay-premium-notice-title{
    display:-webkit-box;
    margin:0;
    overflow:hidden;
    color:var(--localia-ink);
    font-size:clamp(16px,4.1vw,20px);
    font-weight:600;
    line-height:1.2;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow-wrap:anywhere;
}

.stay-premium-notice-text{
    display:-webkit-box;
    margin:7px 0 0;
    overflow:hidden;
    color:rgba(3,32,80,.75);
    font-size:clamp(13px,3.45vw,16px);
    font-weight:400;
    line-height:1.5;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:3;
    overflow-wrap:anywhere;
    white-space:normal;
}

.stay-premium-notice-open{
    width:24px;
    height:24px;
    display:grid;
    place-items:center;
    align-self:center;
    color:rgba(3,32,80,.46);
    pointer-events:none;
}

.stay-premium-notice-open svg{
    width:21px;
    height:21px;
}

.guest-notice-dialog-layer{
    position:fixed;
    inset:0;
    z-index:10050;
    display:flex;
    align-items:flex-end;
    justify-content:center;
    padding:max(18px,env(safe-area-inset-top)) 12px max(18px,env(safe-area-inset-bottom));
    background:rgba(3,20,48,.54);
    backdrop-filter:blur(7px);
    opacity:0;
    transition:opacity 180ms ease;
}

.guest-notice-dialog-layer.is-open{
    opacity:1;
}

.guest-notice-dialog{
    width:min(100%,560px);
    max-height:min(82dvh,760px);
    display:grid;
    grid-template-rows:auto minmax(0,1fr);
    overflow:hidden;
    border:1px solid rgba(186,153,86,.30);
    border-radius:28px;
    background:linear-gradient(180deg,#fffdf9 0%,#fff 100%);
    box-shadow:0 28px 80px rgba(3,20,48,.30);
    transform:translateY(18px);
    transition:transform 220ms cubic-bezier(.22,.8,.32,1);
}

.guest-notice-dialog-layer.is-open .guest-notice-dialog{
    transform:translateY(0);
}

.guest-notice-dialog-urgent{
    border-color:rgba(166,27,27,.34);
}

.guest-notice-dialog-header{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
    padding:22px 20px 17px;
    border-bottom:1px solid rgba(3,32,80,.08);
}

.guest-notice-dialog-priority{
    display:flex;
    align-items:center;
    gap:7px;
    margin-bottom:8px;
    color:#9a671d;
    font-family:var(--localia-font-ui);
    font-size:11px;
    font-weight:700;
    letter-spacing:.15em;
    text-transform:uppercase;
}

.guest-notice-dialog-urgent .guest-notice-dialog-priority{
    color:#a61b1b;
}

.guest-notice-dialog-header h2{
    margin:0;
    color:var(--localia-ink);
    font-family:var(--localia-font-ui);
    font-size:clamp(21px,5.5vw,29px);
    font-weight:600;
    line-height:1.18;
    letter-spacing:-.02em;
    overflow-wrap:anywhere;
}

.guest-notice-dialog-close{
    flex:0 0 auto;
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border:1px solid rgba(3,32,80,.10);
    border-radius:999px;
    color:var(--localia-ink);
    background:rgba(255,255,255,.90);
    box-shadow:0 7px 18px rgba(3,32,80,.08);
    cursor:pointer;
}

.guest-notice-dialog-close svg{
    width:21px;
    height:21px;
}

.guest-notice-dialog-body{
    min-height:0;
    overflow-y:auto;
    overscroll-behavior:contain;
    padding:19px 20px 26px;
}

.guest-notice-dialog-message{
    color:rgba(3,32,80,.78);
    font-family:var(--localia-font-ui);
    font-size:clamp(15px,4vw,18px);
    font-weight:400;
    line-height:1.62;
    white-space:pre-wrap;
    overflow-wrap:anywhere;
}

@media(min-width:700px){
    .guest-notice-dialog-layer{
        align-items:center;
        padding:28px;
    }
}

@media(max-width:430px){
    .stay-premium-notice{
        grid-template-columns:48px minmax(0,1fr) 20px;
    }

    .stay-premium-notice-open{
        width:20px;
        height:20px;
    }

    .guest-notice-dialog{
        border-radius:24px;
    }
}


/* ==========================================================================
   PATCH 122 — NOTICE PRIORITY COLOR HIERARCHY
   - urgent stays the strongest dark red
   - important returns to a clear red treatment
   - regular notices remain calm gold/neutral
   ========================================================================== */
.localia-app.is-screen-home .home-notice-card.home-notice-urgent{
    border-color:rgba(137,20,20,.44) !important;
    background:linear-gradient(180deg,rgba(255,239,239,.99),rgba(255,255,255,.97)) !important;
    box-shadow:0 12px 30px rgba(137,20,20,.14) !important;
}
.localia-app.is-screen-home .home-notice-card.home-notice-important{
    border-color:rgba(180,54,45,.34) !important;
    background:linear-gradient(180deg,rgba(255,246,244,.99),rgba(255,255,255,.97)) !important;
    box-shadow:0 11px 27px rgba(180,54,45,.10) !important;
}
.localia-app.is-screen-home .home-notice-card.home-notice-normal{
    border-color:rgba(186,153,86,.22) !important;
    background:rgba(255,255,255,.98) !important;
    box-shadow:0 10px 24px rgba(3,32,80,.08) !important;
}
.localia-app.is-screen-home .home-notice-urgent .notice-priority-label{
    color:#891414 !important;
}
.localia-app.is-screen-home .home-notice-important .notice-priority-label{
    color:#a92f28 !important;
}
.localia-app.is-screen-home .home-notice-normal .notice-priority-label{
    color:#9a671d !important;
}

.stay-premium-notice.stay-notice-urgent{
    border-color:rgba(137,20,20,.42) !important;
    background:linear-gradient(180deg,rgba(255,239,239,.99),rgba(255,255,255,.97)) !important;
}
.stay-premium-notice.stay-notice-important{
    border-color:rgba(180,54,45,.32) !important;
    background:linear-gradient(180deg,rgba(255,246,244,.99),rgba(255,255,255,.97)) !important;
}
.stay-premium-notice.stay-notice-normal{
    border-color:rgba(186,153,86,.24) !important;
    background:rgba(255,255,255,.98) !important;
}
.stay-premium-notice-urgent .stay-premium-notice-icon{
    color:#891414 !important;
    background:rgba(137,20,20,.08) !important;
}
.stay-premium-notice-important .stay-premium-notice-icon{
    color:#a92f28 !important;
    background:rgba(180,54,45,.075) !important;
}
.stay-premium-notice-normal .stay-premium-notice-icon{
    color:#9a671d !important;
    background:#fbf4e8 !important;
}

.guest-notice-dialog-urgent{
    border-color:rgba(137,20,20,.42) !important;
}
.guest-notice-dialog-important{
    border-color:rgba(180,54,45,.32) !important;
}
.guest-notice-dialog-urgent .guest-notice-dialog-priority{
    color:#891414 !important;
}
.guest-notice-dialog-important .guest-notice-dialog-priority{
    color:#a92f28 !important;
}
.guest-notice-dialog-normal .guest-notice-dialog-priority{
    color:#9a671d !important;
}

/* PATCH 136 — named Vidi bliže sections */
.attraction-detail-guide-section{
  display:grid;
  gap:10px;
  padding-top:4px;
}
.attraction-detail-guide-section + .attraction-detail-guide-section{
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid rgba(3,32,80,.1);
}
.attraction-detail-guide-section-title{
  margin:0;
  color:var(--guest-deep-blue,#032050);
  font-size:18px;
  line-height:1.25;
}
.attraction-detail-guide-section-images{
  display:grid;
  gap:12px;
}

/* PATCH 137 — multiple named attraction detail sections */
.attraction-detail-sections {
    display: grid;
    gap: 18px;
}
.attraction-detail-section {
    display: grid;
    gap: 12px;
    padding: 16px;
    border: 1px solid rgba(3, 32, 80, .10);
    border-radius: 18px;
    background: rgba(255,255,255,.88);
    box-shadow: 0 10px 28px rgba(3,32,80,.06);
}
.attraction-detail-section-heading {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
}
.attraction-detail-section-heading > span {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border: 1px solid rgba(181,126,16,.28);
    border-radius: 11px;
    color: #9a6b0d;
    font-size: 11px;
    font-weight: 900;
}
.attraction-detail-section-heading h3 {
    margin: 0;
    color: #032050;
    font-size: 19px;
    line-height: 1.2;
}
.attraction-detail-section-text {
    margin: 0;
    color: #536786;
    line-height: 1.65;
    white-space: pre-line;
}

/* =======================================================================
   PATCH 152 — MOBILE LANDSCAPE RESPONSIVE MODE
   Scope: guest app only.
   - Prevents a phone rotated to landscape from being treated as a desktop/tablet.
   - Removes the desktop card shell on short landscape viewports.
   - Uses dynamic viewport height, compact heroes/header/navigation and normal
     vertical scrolling so content is never trapped behind the fixed nav.
   ======================================================================= */
@media (orientation: landscape) and (max-height: 520px) {
    html,
    body {
        min-height:100%;
        overflow-x:hidden;
    }

    .localia-app {
        min-height:100vh !important;
        min-height:100dvh !important;
    }

    .localia-screen {
        width:100% !important;
        max-width:none !important;
        min-height:100vh !important;
        min-height:100dvh !important;
        margin:0 auto !important;
        padding:max(10px,env(safe-area-inset-top)) 14px calc(78px + env(safe-area-inset-bottom)) !important;
        overflow:visible !important;
        border:0 !important;
        border-radius:0 !important;
        box-shadow:none !important;
    }

    .app-header {
        min-height:46px !important;
        padding:0 4px !important;
    }

    .localia-app .localia-logo-image,
    .localia-app.is-screen-home .localia-logo-image,
    .localia-app.is-screen-stay .localia-logo-image,
    .localia-app.is-screen-events .localia-logo-image {
        width:132px !important;
        max-width:132px !important;
    }

    .localia-app .app-header-side {
        gap:6px !important;
    }

    .localia-app .guest-privacy-button {
        width:36px !important;
        height:36px !important;
        min-width:36px !important;
        min-height:36px !important;
        flex-basis:36px !important;
    }

    .localia-app .guest-language-summary {
        height:36px !important;
        min-height:36px !important;
        gap:6px !important;
        padding:0 10px !important;
    }

    .localia-app .guest-language-globe {
        width:17px !important;
        height:17px !important;
    }

    .localia-app .guest-language-current {
        font-size:11px !important;
    }

    .localia-app .guest-language-chevron {
        width:11px !important;
        height:11px !important;
    }

    .screen-content,
    .localia-app.is-screen-events .screen-content {
        padding-bottom:76px !important;
    }

    .bottom-nav {
        bottom:max(6px,env(safe-area-inset-bottom)) !important;
        width:min(720px,calc(100% - 24px)) !important;
        min-height:62px !important;
        padding:5px 8px 6px !important;
        border-radius:22px !important;
    }

    .bottom-nav button {
        gap:2px !important;
        padding:3px 2px !important;
        font-size:10px !important;
    }

    .bottom-nav-icon {
        width:22px !important;
        height:22px !important;
    }

    .bottom-nav button.is-primary {
        width:54px !important;
        height:54px !important;
        margin-top:-22px !important;
    }

    .bottom-nav button.is-primary .bottom-nav-label {
        top:calc(100% + 4px) !important;
    }

    /* Home */
    .home-hero {
        height:290px !important;
        margin:calc(-46px - max(10px,env(safe-area-inset-top))) -14px 0 !important;
    }

    .home-hero-content {
        left:28px !important;
        top:100px !important;
        width:calc(100% - 56px) !important;
    }

    .home-hero-title {
        font-size:clamp(40px,7vw,56px) !important;
    }

    .home-hero-text {
        max-width:460px !important;
        font-size:15px !important;
    }

    .home-hero-rule {
        margin:14px 0 12px !important;
    }

    .home-ask-card {
        margin-top:-30px !important;
    }

    /* Explore hub */
    .explore-hub-hero {
        height:300px !important;
        margin:calc(-46px - max(10px,env(safe-area-inset-top))) -14px 0 !important;
    }

    .explore-hub-copy {
        left:28px !important;
        right:28px !important;
        bottom:52px !important;
        max-width:520px !important;
    }

    .explore-hub-title {
        font-size:50px !important;
    }

    .explore-hub-rule {
        margin:13px 0 11px !important;
    }

    .explore-hub-intro {
        max-width:390px !important;
        font-size:15px !important;
        line-height:1.38 !important;
    }

    .explore-hub-panel {
        margin-top:-40px !important;
        padding:15px 18px 18px !important;
    }

    .explore-hub-option {
        min-height:78px !important;
        grid-template-columns:48px minmax(0,1fr) 21px !important;
        gap:12px !important;
        padding:9px 5px !important;
    }

    .explore-hub-option-icon {
        width:48px !important;
        height:48px !important;
    }

    .explore-hub-option-copy strong {
        font-size:24px !important;
    }

    .explore-hub-option-copy small {
        margin-top:4px !important;
        font-size:11px !important;
    }

    .explore-hub-option.is-featured {
        min-height:90px !important;
        margin-top:14px !important;
        grid-template-columns:48px minmax(0,1fr) 42px !important;
        padding:10px 12px !important;
    }

    /* Explore Attractions / Guided Tours and their detail heroes */
    .attractions-premium-hero,
    .guided-tours-approved-hero,
    .guided-tour-detail-hero,
    .guided-tour-stop-hero,
    .attraction-detail-premium-hero,
    .nearby-premium-hero {
        height:300px !important;
        min-height:300px !important;
    }

    .guided-tours-approved-hero-copy,
    .guided-tour-detail-hero-copy,
    .guided-tour-stop-hero-copy,
    .attractions-premium-hero-copy,
    .attraction-detail-premium-hero-copy,
    .nearby-premium-hero-copy {
        bottom:40px !important;
    }

    /* Events */
    .localia-app.is-screen-events .events-hero {
        height:305px !important;
        min-height:305px !important;
        margin:calc(-46px - max(10px,env(safe-area-inset-top))) -14px 0 !important;
        background-position:center 44% !important;
    }

    .localia-app.is-screen-events .events-screen::before {
        top:247px !important;
    }

    .localia-app.is-screen-events .events-hero-copy {
        left:28px !important;
        right:28px !important;
        bottom:50px !important;
    }

    .localia-app.is-screen-events .events-hero-copy h1 {
        font-size:50px !important;
    }

    .localia-app.is-screen-events .events-hero-copy h1::after {
        margin:13px 0 11px !important;
    }

    .localia-app.is-screen-events .events-hero-copy p {
        max-width:410px !important;
        font-size:13px !important;
        line-height:1.38 !important;
    }

    .localia-app.is-screen-events .events-filter-section {
        width:min(100% - 24px,720px) !important;
        margin-top:-42px !important;
        padding:15px 16px 13px !important;
    }

    .localia-app.is-screen-events .events-range-tabs button {
        min-height:40px !important;
    }

    /* Your Stay */
    .stay-premium-hero {
        height:300px !important;
        margin:calc(-46px - max(10px,env(safe-area-inset-top))) -14px 0 !important;
    }

    .stay-premium-back {
        top:74px !important;
        left:24px !important;
        width:40px !important;
        height:40px !important;
    }

    .stay-premium-hero-copy {
        left:28px !important;
        right:28px !important;
        bottom:40px !important;
    }

    .stay-premium-hero-copy h1 {
        font-size:48px !important;
    }

    .stay-premium-rule {
        margin:13px 0 11px !important;
    }

    .stay-premium-hero-copy p {
        max-width:470px !important;
        font-size:14px !important;
        line-height:1.4 !important;
    }

    .stay-premium-panel {
        margin-left:0 !important;
        margin-right:0 !important;
        padding:16px 10px 28px !important;
    }

    .stay-premium-notice {
        min-height:88px !important;
        grid-template-columns:46px minmax(0,1fr) !important;
        gap:12px !important;
        padding:13px 16px !important;
    }

    .stay-premium-notice-icon {
        width:46px !important;
        height:46px !important;
    }

    .stay-premium-key-card {
        margin-top:12px !important;
        padding:14px 8px !important;
    }

    /* Ask landing: short landscape viewports must remain scrollable. */
    .localia-app.is-screen-ask .localia-screen {
        min-height:100dvh !important;
        overflow:visible !important;
    }

    .ask-landing-hero {
        min-height:250px !important;
        padding-top:56px !important;
    }
}

/* Patch 157 — compact verified web sources for Ask Localia. */
.ask-screen-premium .ask-source-list{
    margin-top:12px;
    padding-top:10px;
    border-top:1px solid rgba(6,38,91,.10);
    font-size:11px;
    line-height:1.35;
}
.ask-screen-premium .ask-source-label{
    display:block;
    margin-bottom:5px;
    color:rgba(6,38,91,.55);
    font-weight:700;
    letter-spacing:.04em;
    text-transform:uppercase;
}
.ask-screen-premium .ask-source-links{
    display:flex;
    flex-wrap:wrap;
    gap:6px 10px;
}
.ask-screen-premium .ask-source-links a{
    color:#06265b;
    text-decoration:underline;
    text-decoration-thickness:1px;
    text-underline-offset:2px;
    overflow-wrap:anywhere;
}
