/* Tourism hero sizing and image treatment. */
.tourism-hero__grid {
    grid-template-columns: minmax(0, 1fr) 460px;
    gap: 56px;
    min-height: 390px;
    padding-block: 36px;
}

/* Editorial municipal-service panels without decorative numbering. */
.tourism-service-list article {
    position: relative;
    display: block;
    padding: 30px 32px 30px 38px;
    border: 0;
    border-radius: 4px;
    background: #fff;
    box-shadow: 0 10px 26px rgba(0, 46, 93, 0.06);
}

.tourism-service-list article::before {
    position: absolute;
    top: 28px;
    bottom: 28px;
    left: 0;
    width: 3px;
    content: "";
    background: #ffc936;
}

.tourism-service-list article > div {
    text-align: center;
}

@media (max-width: 700px) {
    .tourism-service-list article {
        display: block !important;
        grid-template-columns: 1fr !important;
        padding: 26px 20px;
    }

    .tourism-service-list article::before {
        top: 0;
        bottom: auto;
        left: 50%;
        width: 44px;
        height: 2px;
        transform: translateX(-50%);
    }
}

/* Final narrow-screen refinement: preserve navigation access and keep controls clear of copy. */
@media (max-width: 520px) {
    .tourism-section-nav { overflow: hidden; }
    .tourism-section-nav .tourism-container { width: 100%; gap: 0; padding-inline: 8px; scroll-padding-inline: 8px; scrollbar-width: none; }
    .tourism-section-nav .tourism-container::-webkit-scrollbar { display: none; }
    .tourism-section-nav a { flex: 0 0 auto; padding: 14px 11px; }
    .tourism-card { min-height: 218px; padding: 20px 18px; }
    .tourism-card__number { width: 40px; height: 40px; }
    .tourism-feature-card { min-height: 238px; padding: 23px 19px; }
    .tourism-service-list article { padding-block: 21px; }
    html body .lgu-scroll-top { right: 8px !important; bottom: 8px !important; width: 39px !important; height: 39px !important; opacity: .94; }
}

@media (max-width: 520px) {
    .tourism-section-nav .tourism-container {
        justify-content: flex-start;
    }
    .tourism-section-nav a {
        font-weight: 600 !important;
        letter-spacing: 0 !important;
    }
}

.tourism-hero h1 {
    margin: 9px 0 15px;
    font-size: clamp(2.65rem, 4.8vw, 4.15rem);
    line-height: 1;
}

.tourism-hero p {
    font-size: .96rem;
    line-height: 1.65;
}

.tourism-hero nav { margin-top: 20px; }

.tourism-hero figure {
    height: 270px;
    border-color: rgba(255, 255, 255, .38);
    background: rgba(8, 122, 199, .18);
    backdrop-filter: blur(5px);
}

.tourism-hero figure img { opacity: .86; }

.tourism-hero figure::after {
    background: linear-gradient(120deg, rgba(0, 46, 93, .38), rgba(8, 122, 199, .1) 48%, rgba(0, 30, 65, .5));
}

/* Center only each section introduction; retain left-aligned card content. */
.tourism-heading {
    margin-right: auto;
    margin-left: auto;
    text-align: center;
}

.tourism-heading p {
    max-width: 780px;
    margin-right: auto;
    margin-left: auto;
}

@media (max-width: 1100px) {
    .tourism-hero__grid {
        grid-template-columns: 1fr 360px;
        gap: 34px;
        min-height: 360px;
    }

    .tourism-hero figure { height: 240px; }
}

@media (max-width: 760px) {
    .tourism-hero__grid {
        grid-template-columns: 1fr;
        min-height: 0;
        padding-block: 32px;
    }

    .tourism-hero figure {
        width: min(100%, 460px);
        height: 220px;
    }

    .tourism-hero h1 { font-size: 2.65rem; }
}

@media (max-width: 520px) {
    .tourism-container { width: calc(100% - 28px); }

    .tourism-hero__grid {
        gap: 20px;
        padding-block: 27px 29px;
        text-align: center;
    }

    .tourism-hero h1 {
        max-width: 340px;
        margin: 8px auto 13px;
        font-size: 2.35rem;
        line-height: 1.03;
    }

    .tourism-hero p {
        max-width: 370px;
        margin-inline: auto;
        font-size: .82rem;
        line-height: 1.65;
    }

    .tourism-hero nav {
        justify-content: flex-start;
        margin-top: 20px;
        text-align: left;
    }

    .tourism-hero figure {
        width: 100%;
        height: 185px;
        padding: 8px;
    }

    .tourism-hero figure::after { inset: 8px; }

    .tourism-hero figcaption {
        right: 0;
        bottom: 13px;
        width: min(280px, calc(100% - 76px));
        padding: 11px 14px;
        text-align: center;
    }

    .tourism-section-nav > div { gap: 24px; }
    .tourism-section-nav a { padding-block: 14px; font-size: .67rem; }
    .tourism-section { padding-block: 38px; }

    .tourism-heading { margin-bottom: 24px; }
    .tourism-heading h2 { font-size: 1.9rem; line-height: 1.12; }
    .tourism-heading p { font-size: .79rem; line-height: 1.62; }

    .tourism-card-grid { gap: 14px; }
    .tourism-card {
        min-height: 232px;
        align-items: center;
        padding: 22px 20px;
        text-align: center;
    }
    .tourism-card h3 { margin: 14px 0 8px; }
    .tourism-card p { max-width: 320px; }

    .tourism-button {
        align-self: center;
        width: auto;
        min-width: 142px;
        margin-top: 20px;
        padding-inline: 16px;
    }

    .tourism-feature-grid { gap: 14px; }
    .tourism-feature-card { min-height: 255px; padding: 26px 22px; text-align: center; }
    .tourism-feature-card > div { align-items: center; }
    .tourism-feature-card h3 { font-size: 1.35rem; }

    .tourism-service-list { gap: 0; }
    .tourism-service-list article {
        grid-template-columns: 44px minmax(0, 1fr);
        gap: 14px;
        min-height: 0;
        padding: 24px 0;
    }
    .tourism-service-list article > div { text-align: center; }
    .tourism-service-list .tourism-button { margin-inline: auto; }

    .travel-advisory, .tourism-hotlines { padding: 24px 20px; text-align: center; }
    .travel-advisory > div { align-items: center; }

    html body .lgu-scroll-top {
        right: 10px !important;
        bottom: 10px !important;
        width: 42px !important;
        height: 42px !important;
    }
}

/* Unified municipal hero: remove the inset collage and reveal the hall itself. */
.tourism-hero{
    background:#00345f url('../../uploads/Municipal-hall-1.jpg') center 44%/cover no-repeat!important;
}
.tourism-hero::before{
    background:linear-gradient(90deg,rgba(0,30,65,.92) 0%,rgba(0,46,93,.74) 42%,rgba(0,46,93,.38) 68%,rgba(0,46,93,.12) 100%)!important;
}
.tourism-hero__gloss{display:none!important}
.tourism-hero__grid{grid-template-columns:minmax(0,920px)!important;justify-content:start!important}
.tourism-hero figure{display:none!important}

/* Keep the visitor hero compact so the directory begins sooner. */
.tourism-hero__grid{
    min-height:310px!important;
    padding-block:24px!important;
}
.tourism-section-nav > .tourism-container{
    justify-content:center!important;
    flex-wrap:wrap!important;
    overflow:visible!important;
}

@media(max-width:700px){
    .tourism-hero{background-position:center 42%!important}
    .tourism-hero__grid{min-height:270px!important;padding-block:28px!important}
    .tourism-section-nav > .tourism-container{gap:8px 22px!important}
    .tourism-section-nav a{white-space:nowrap}
}

/* Deterministic feature-card treatment for clean/private browser sessions. */
.tourism-feature-card{
    background:
        linear-gradient(90deg,rgba(0,38,76,.90),rgba(0,66,116,.70)),
        url('../../uploads/Municipal-hall-1.jpg') center/cover no-repeat!important;
    color:#fff!important;
}
.tourism-feature-card:nth-child(even){
    background:
        linear-gradient(90deg,rgba(0,46,88,.88),rgba(8,92,145,.66)),
        url('../../uploads/Municipal-hall-1.jpg') center/cover no-repeat!important;
}
.tourism-feature-card :is(h3,p,.section-label){
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
    opacity:1!important;
    visibility:visible!important;
}
.tourism-feature-card p{color:#e8f1f8!important;-webkit-text-fill-color:#e8f1f8!important}
.tourism-feature-card .tourism-button{
    background:#fff!important;
    border-color:#fff!important;
    color:#00345f!important;
    -webkit-text-fill-color:#00345f!important;
    opacity:1!important;
    visibility:visible!important;
}

/* Keep the compact editorial treatment authoritative on phone layouts. */
@media (max-width:700px) {
    .tourism-service-list article {
        display:block!important;
        grid-template-columns:1fr!important;
        gap:0!important;
        padding:26px 20px!important;
    }

    .tourism-service-list article::before {
        top:0!important;
        right:auto!important;
        bottom:auto!important;
        left:50%!important;
        width:44px!important;
        height:2px!important;
        border-radius:0!important;
        transform:translateX(-50%)!important;
    }

    .tourism-service-list article > div {
        text-align:center!important;
    }
}

/* Premium editorial treatment for Explore and Visitor Directory cards. */
.tourism-card-grid--four{
    gap:18px!important;
    align-items:stretch;
}
.tourism-card-grid--four .tourism-card{
    position:relative;
    min-height:300px;
    padding:26px;
    overflow:hidden;
    border:1px solid #d5e1e9;
    border-radius:10px;
    background:linear-gradient(180deg,#fff 0%,#fbfdff 100%);
    box-shadow:0 14px 32px rgba(0,30,65,.06);
    transition:background-color 180ms ease,border-color 180ms ease,box-shadow 180ms ease!important;
}
.tourism-card-grid--four .tourism-card::after{
    display:none;
}
.tourism-card-grid--four .tourism-card:hover,
.tourism-card-grid--four .tourism-card:focus-within{
    border-color:#b7ccd9;
    background:#f7fbfe;
    box-shadow:0 16px 36px rgba(0,30,65,.085);
    transform:none!important;
}
.tourism-card-grid--four .tourism-card__number{
    display:none;
}
.tourism-card-grid--four .tourism-card h3{
    margin:4px 0 11px;
    color:#002e5d;
    font-size:1.05rem;
    line-height:1.3;
}
.tourism-card-grid--four .tourism-card__eyebrow{
    width:max-content;
    margin:0 0 13px;
    padding:5px 8px;
    border-radius:4px;
    background:#eef4f8;
    color:#705000;
    letter-spacing:.09em;
}
.tourism-card-grid--four .tourism-card p{
    color:#5d7180;
    font-size:.8rem;
    line-height:1.65;
}
.tourism-card-grid--four .tourism-button{
    align-self:flex-start;
    width:auto;
    min-width:0!important;
    min-height:34px;
    padding:0 13px;
    border:0;
    border-radius:4px;
    background:#00345f;
    color:#fff;
    font-size:.63rem;
    line-height:1.15;
    box-shadow:none;
    transition:background-color 160ms ease-out,color 160ms ease-out!important;
}
.tourism-card-grid--four .tourism-button:is(:hover,:focus,:focus-visible){
    background:#06456f;
    color:#fff;
    outline:0;
}
.tourism-card-grid--four .tourism-button:active{background:#002846}
@media(max-width:760px){
    .tourism-card-grid--four .tourism-card{min-height:0;padding:23px}
    .tourism-card-grid--four .tourism-card__number{width:42px;height:42px}
}

/* Distinct destinations for the Events & Festivals feature cards. */
.tourism-destination--calendar{padding-top:44px;background:linear-gradient(180deg,#f2f6f9 0%,#fff 82%)}
.event-destination-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.7fr);gap:24px;align-items:stretch}
.event-destination-main,.event-destination-aside{position:relative;overflow:hidden;border-radius:16px;background:#fff;box-shadow:0 20px 50px rgba(0,30,65,.09)}
.event-destination-main{padding:34px 38px 30px;border:1px solid rgba(0,46,93,.07)}
.event-destination-main::before{display:none;content:none}
.event-destination-heading{max-width:820px;padding-bottom:23px;border-bottom:1px solid #e3eaf0}
.event-destination-heading h2{margin-bottom:12px;font-size:clamp(1.7rem,2.8vw,2.35rem);letter-spacing:-.045em}
.event-destination-heading p{margin:0;color:#536d80;font-size:.95rem;line-height:1.72}
.event-pathway{position:relative;display:grid;gap:9px;margin:22px 0}
.event-pathway::before{display:none;content:none}
.event-pathway article{position:relative;display:block;padding:18px 20px;border:1px solid #e2eaf0;border-radius:9px;background:#fbfcfd;box-shadow:0 7px 18px rgba(0,30,65,.035)}
.event-pathway strong,.event-pathway span{display:block}.event-pathway strong{color:#002e5d;font:800 .94rem Manrope,sans-serif}.event-pathway span{margin-top:5px;color:#60778a;font-size:.82rem;line-height:1.58}
.event-action-row{display:flex;align-items:center;gap:16px}.event-action-row>span{max-width:380px;color:#677e8f;font-size:.74rem;line-height:1.55}
.event-primary-action{min-height:38px!important;padding-inline:17px!important;border-radius:5px!important;background:#00345f!important;box-shadow:0 8px 18px rgba(0,52,95,.16)!important}
.event-primary-action:hover,.event-primary-action:focus-visible{background:#001e41!important;color:#fff!important}
.event-destination-aside{padding:31px 32px;background:linear-gradient(155deg,#002e5d,#003e73);color:#fff}
.event-destination-aside::after{display:none;content:none}
.event-panel-label{color:#f2c94c;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
html body .tourism-detail-page .event-destination-aside h3{margin:9px 0 25px;color:#fff!important;-webkit-text-fill-color:#fff!important;font-size:1.42rem}.event-destination-aside dl{position:relative;z-index:1;margin:0}.event-destination-aside dl div{padding:17px 0;border-top:1px solid rgba(255,255,255,.15)}
.event-destination-aside dt{color:#b9d2e4;font-size:.66rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.event-destination-aside dd{margin:6px 0 0;color:#fff;font-size:.86rem;font-weight:700;line-height:1.5}.event-destination-aside p{position:relative;z-index:1;margin:20px 0 0;padding:17px 0 0;border-top:1px solid #51779a;border-radius:0;background:transparent;color:#e6f0f6!important;-webkit-text-fill-color:#e6f0f6!important;font-size:.78rem;font-weight:500;line-height:1.65}
.tourism-destination--festivals{background:#faf8f2}
.festival-intro{display:grid;grid-template-columns:1.35fr .65fr;gap:24px;align-items:stretch}.festival-intro>div,.festival-intro>aside{padding:36px;border-radius:14px;background:#fff;box-shadow:0 18px 44px rgba(0,30,65,.07)}
.festival-intro>aside{display:flex;flex-direction:column;justify-content:center;background:#002e5d}.festival-intro>aside span{color:#f2c94c;font-size:.64rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.festival-intro>aside strong{margin-top:12px;color:#fff;font:700 1rem/1.6 Manrope,sans-serif}
.festival-guide-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:20px}.festival-guide-grid article{position:relative;padding:25px 24px;border:1px solid #e7ebed;border-radius:10px;background:#fcfdfd;box-shadow:0 6px 18px rgba(0,30,65,.025)}.festival-guide-grid article>span{display:none}.festival-guide-grid h3{margin:0 0 9px;color:#173b5d;font-size:.94rem}.festival-guide-grid p{margin:0;color:#667b8b;font-size:.73rem;line-height:1.65}
.festival-action-band{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:20px;padding:22px 26px;border-radius:11px;background:#002e5d;color:#fff}.festival-action-band span,.festival-action-band strong{display:block}.festival-action-band span{color:#f2c94c;font-size:.63rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.festival-action-band strong{margin-top:5px;font-size:.82rem}.festival-actions{display:flex;gap:9px;flex-shrink:0}.festival-actions .tourism-button--light{background:#fff!important;color:#002e5d!important}
@media(max-width:850px){.event-destination-grid,.festival-intro{grid-template-columns:1fr}.festival-guide-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.event-destination-main,.event-destination-aside,.festival-intro>div,.festival-intro>aside{padding:23px}.event-action-row{align-items:flex-start;flex-direction:column}.festival-guide-grid{grid-template-columns:1fr}.festival-action-band{align-items:flex-start;flex-direction:column}.festival-actions{flex-wrap:wrap}}

/* Purpose-built Visitor Directory destinations. */
.directory-destination{background:#f5f8fa}.directory-destination-grid,.dining-destination-layout,.shopping-destination-header,.transport-destination-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(290px,.65fr);gap:22px;align-items:start}.directory-destination-main,.directory-destination-panel,.dining-destination-intro,.dining-guide-list,.shopping-destination-header>div,.shopping-destination-header>aside,.transport-route-guide,.transport-info-panel{padding:32px;border-radius:14px;background:#fff;box-shadow:0 16px 40px rgba(0,30,65,.07)}.directory-check-grid,.shopping-guide-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:11px;margin-top:25px}.directory-check-grid article,.shopping-guide-grid article,.dining-guide-list article{padding:18px;border-radius:8px;background:#f3f7f9}.directory-check-grid strong,.shopping-guide-grid strong,.dining-guide-list span,.transport-steps strong{display:block;color:#002e5d;font:800 .84rem Manrope,sans-serif}.directory-check-grid p,.shopping-guide-grid p,.dining-guide-list p{margin:5px 0 0;font-size:.73rem;line-height:1.58}.directory-destination-panel,.transport-info-panel{background:#002e5d;color:#fff}.directory-destination-panel>span,.transport-info-panel>span,.shopping-destination-header>aside>span{color:#f2c94c;font-size:.64rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.directory-destination-panel h3,.transport-info-panel h3{margin:7px 0 16px;color:#fff}.directory-destination-panel ul{padding-left:18px;color:#d9e6ef;font-size:.76rem;line-height:1.65}.directory-destination-panel .tourism-button,.transport-info-panel .tourism-button{margin-top:15px;background:#fff!important;color:#002e5d!important}.dining-destination-layout{grid-template-columns:.8fr 1.2fr}.dining-notice{margin-top:24px;padding:17px;border-radius:8px;background:#fff6d9}.dining-notice strong,.dining-notice span{display:block}.dining-notice strong{color:#654d08}.dining-notice span{margin-top:5px;color:#685f47;font-size:.72rem}.dining-guide-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.dining-guide-list article{background:#f6f8fa}.directory-contact-band{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px;padding:20px 24px;border-radius:10px;background:#002e5d;color:#fff}.directory-contact-band span,.directory-contact-band strong{display:block}.directory-contact-band span{color:#f2c94c;font-size:.61rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.directory-contact-band strong{margin-top:4px;font-size:.78rem}.directory-contact-band .tourism-button{flex-shrink:0;background:#fff!important;color:#002e5d!important}.shopping-destination-header>aside{background:#002e5d;color:#fff}.shopping-destination-header>aside strong{display:block;margin-top:8px;color:#fff}.shopping-destination-header>aside p{color:#d6e4ed;font-size:.73rem}.shopping-guide-grid{margin-top:18px}.shopping-guide-grid article{background:#fff;box-shadow:0 10px 28px rgba(0,30,65,.05)}.transport-steps{display:grid;gap:9px;margin-top:24px}.transport-steps article{padding:16px 18px;border-radius:8px;background:#f2f6f9}.transport-steps span{display:block;margin-top:4px;color:#60778a;font-size:.73rem;line-height:1.55}.transport-info-panel dl{margin:0}.transport-info-panel dl div{padding:14px 0;border-top:1px solid rgba(255,255,255,.15)}.transport-info-panel dt{color:#aec8da;font-size:.61rem;letter-spacing:.1em;text-transform:uppercase}.transport-info-panel dd{margin:4px 0 0;color:#fff;font-size:.75rem;line-height:1.5}
@media(max-width:850px){.directory-destination-grid,.dining-destination-layout,.shopping-destination-header,.transport-destination-grid{grid-template-columns:1fr}}
@media(max-width:560px){.directory-destination-main,.directory-destination-panel,.dining-destination-intro,.dining-guide-list,.shopping-destination-header>div,.shopping-destination-header>aside,.transport-route-guide,.transport-info-panel{padding:23px}.directory-check-grid,.shopping-guide-grid,.dining-guide-list{grid-template-columns:1fr}.directory-contact-band{align-items:flex-start;flex-direction:column}}

/* Premium governance and safety sections on the Tourism landing page. */
#office.tourism-section{border:0;background:linear-gradient(180deg,#f5f8fa,#fff)}
#office .tourism-heading,#safety .tourism-heading{max-width:820px;margin-inline:auto;text-align:center}
#office .tourism-service-list{gap:16px}
#office .tourism-service-list article{display:block;min-height:260px;padding:28px;border:1px solid #e1e8ed;border-radius:13px;background:#fff;box-shadow:0 15px 38px rgba(0,30,65,.065)}
#office .tourism-service-list article::before{display:none!important;content:none!important}
#office .tourism-service-list article>div{display:flex;height:100%;flex-direction:column;text-align:left}
#office .tourism-service-list .tourism-card__eyebrow{width:max-content;padding:5px 8px;border-radius:4px;background:#eef3f6;color:#846000;font-size:.62rem;letter-spacing:.1em}
#office .tourism-service-list h3{margin:17px 0 10px;font-size:1.03rem}
#office .tourism-service-list p{font-size:.78rem;line-height:1.65}
#office .tourism-service-list .tourism-card__meta{margin-top:15px}
#office .tourism-service-list .tourism-button{align-self:flex-start;margin-top:auto}
#safety.tourism-section{border:0;background:#fff}
#safety .tourism-safety-grid{overflow:hidden;border:0;border-radius:15px;background:#fff;box-shadow:0 20px 48px rgba(0,30,65,.1)}
#safety .travel-advisory,#safety .tourism-hotlines{min-height:310px;padding:40px}
#safety .travel-advisory{border:1px solid #e0e8ee;border-right:0}
#safety .travel-advisory>span,#safety .tourism-hotlines>span{font-size:.65rem}
#safety .travel-advisory>div{align-items:center}
#safety .tourism-button{min-height:35px;padding-inline:14px;border-radius:5px}

/* Unique governance and travel-safety destinations. */
.civic-tourism-grid,.statistics-destination-grid,.safety-destination-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.65fr);gap:22px}.civic-tourism-grid>article,.civic-tourism-grid>aside,.permit-destination-header,.permit-guide-grid article,.statistics-destination-grid>article,.statistics-destination-grid>aside,.safety-destination-grid>article,.safety-destination-grid>aside{padding:32px;border-radius:14px;background:#fff;box-shadow:0 16px 40px rgba(0,30,65,.07)}.civic-info-list,.statistics-principles,.safety-checklist{display:grid;gap:9px;margin-top:25px}.civic-info-list>div,.statistics-principles>div,.safety-checklist>div{padding:17px;border-radius:8px;background:#f2f6f9}.civic-info-list strong,.civic-info-list span,.statistics-principles strong,.statistics-principles span,.safety-checklist strong,.safety-checklist span{display:block}.civic-info-list strong,.statistics-principles strong,.safety-checklist strong{color:#002e5d;font:800 .84rem Manrope,sans-serif}.civic-info-list span,.statistics-principles span,.safety-checklist span{margin-top:4px;color:#60778a;font-size:.73rem;line-height:1.55}.civic-tourism-grid>aside,.statistics-destination-grid>aside,.safety-destination-grid>aside{background:#002e5d;color:#fff}.civic-tourism-grid>aside>span,.statistics-destination-grid>aside>span,.safety-destination-grid>aside>span{color:#f2c94c;font-size:.64rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.civic-tourism-grid>aside h3,.statistics-destination-grid>aside h3,.safety-destination-grid>aside h3{margin:8px 0 12px;color:#fff}.civic-tourism-grid>aside p,.statistics-destination-grid>aside p,.safety-destination-grid>aside p{color:#d9e7f0;font-size:.76rem}.civic-tourism-grid>aside .tourism-button,.statistics-destination-grid>aside .tourism-button,.safety-destination-grid>aside .tourism-button{margin-top:16px;background:#fff!important;color:#002e5d!important}.permit-destination-header{max-width:900px;margin-inline:auto;text-align:center}.permit-guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}.permit-guide-grid article strong{color:#002e5d;font:800 .86rem Manrope,sans-serif}.permit-guide-grid article p{margin:7px 0 0;font-size:.74rem}.safety-destination{background:#f5f8fa}.safety-destination-grid>aside>div{display:flex;flex-wrap:wrap;gap:8px}.safety-destination-grid>aside .tourism-button--light{background:transparent!important;color:#fff!important;border-color:#8baac1!important}
@media(max-width:850px){.civic-tourism-grid,.statistics-destination-grid,.safety-destination-grid{grid-template-columns:1fr}.permit-guide-grid{grid-template-columns:1fr}}
@media(max-width:560px){#safety .travel-advisory,#safety .tourism-hotlines{min-height:0;padding:25px}.civic-tourism-grid>article,.civic-tourism-grid>aside,.permit-destination-header,.permit-guide-grid article,.statistics-destination-grid>article,.statistics-destination-grid>aside,.safety-destination-grid>article,.safety-destination-grid>aside{padding:23px}}

/* Accommodation booking panel: stronger hierarchy and accessible contrast. */
html body .tourism-detail-page .directory-destination--stay .directory-destination-panel{
  display:flex!important;
  min-height:0!important;
  padding:32px!important;
  flex-direction:column!important;
  justify-content:center!important;
  background:#002e5d!important;
}
html body .tourism-detail-page .directory-destination--stay .directory-destination-panel>span{
  color:#f2c94c!important;
  font-size:.72rem!important;
  line-height:1.4!important;
}
html body .tourism-detail-page .directory-destination--stay .directory-destination-panel h3{
  display:block!important;
  margin:10px 0 18px!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font-size:1.4rem!important;
  line-height:1.25!important;
}
html body .tourism-detail-page .directory-destination--stay .directory-destination-panel ul{
  margin:0!important;
  padding-left:20px!important;
  color:#e3edf4!important;
  font-size:.86rem!important;
  line-height:1.75!important;
}
html body .tourism-detail-page .directory-destination--stay .directory-destination-panel li{
  padding-left:3px!important;
}
html body .tourism-detail-page .directory-destination--stay .directory-destination-panel .tourism-button{
  align-self:flex-start!important;
  min-height:38px!important;
  margin-top:24px!important;
  padding-inline:15px!important;
  font-size:.72rem!important;
}
@media(max-width:560px){html body .tourism-detail-page .directory-destination--stay .directory-destination-panel{padding:24px!important}}

/* Purpose-built tourism destination pages. */
.tourism-detail-content .detail-note,
.directory-standard,
.advisory-status{margin-top:28px;padding:20px 22px;border-radius:10px;background:#f3f7fa}
.tourism-detail-content .detail-note strong,
.directory-standard h3,
.advisory-status strong{display:block;color:#002e5d;font-family:Manrope,sans-serif}
.tourism-detail-content .detail-note p,
.directory-standard p{margin:7px 0 0}
.directory-standard{background:linear-gradient(135deg,#f7f4eb,#f4f7f9)}
.directory-standard>span,.advisory-status>span{display:block;margin-bottom:7px;color:#966900;font-size:.63rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.event-readiness{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:28px 0}
.event-readiness article{padding:20px;border-radius:10px;background:#f4f7f9;box-shadow:inset 0 0 0 1px rgba(0,30,65,.04)}
.event-readiness small,.event-readiness strong{display:block}.event-readiness small{color:#966900;font-size:.61rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.event-readiness strong{margin-top:7px;color:#002e5d;font:800 .9rem Manrope,sans-serif}.event-readiness p{margin:8px 0 0!important;font-size:.76rem!important;line-height:1.6!important}
.service-pathway{display:grid;gap:10px;margin:28px 0}.service-pathway article{display:grid;grid-template-columns:42px minmax(0,1fr);gap:15px;align-items:start;padding:17px;border-radius:10px;background:#f4f7f9}.service-pathway b{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#002e5d;color:#f2c94c;font-size:.67rem}.service-pathway strong{display:block;color:#002e5d;font:800 .88rem Manrope,sans-serif}.service-pathway p{margin:5px 0 0!important;font-size:.75rem!important;line-height:1.55!important}
.detail-events .tourism-detail-main{box-shadow:0 18px 44px rgba(0,46,93,.09)}
.detail-directory .tourism-detail-main{background:linear-gradient(180deg,#fff,#fcfdfd)}
.detail-services .tourism-detail-main{box-shadow:inset 4px 0 0 #d5a922,0 18px 44px rgba(0,30,65,.07)}
.detail-advisory .advisory-status{margin:0 0 24px;background:#002e5d;color:#fff}.detail-advisory .advisory-status>span{color:#f2c94c}.detail-advisory .advisory-status strong{color:#fff;font-size:1rem}
@media(max-width:650px){.event-readiness{grid-template-columns:1fr}.service-pathway article{grid-template-columns:36px 1fr}.service-pathway b{width:34px;height:34px}}
@media(prefers-reduced-motion:reduce){
    .tourism-card-grid--four .tourism-card,.tourism-card-grid--four .tourism-button{transition:none!important}
}

/* Consistent compact actions throughout the Tourism page. */
.tourism-page .tourism-button{
    width:auto;
    min-width:0;
    min-height:34px;
    padding:0 13px;
    font-size:.63rem;
    line-height:1.15;
}

/* Full tourism information pages. */
.tourism-detail-hero{position:relative;padding:46px 0;color:#fff;background:#00345f;isolation:isolate;overflow:hidden}
.tourism-detail-hero::before{position:absolute;z-index:-2;inset:0;content:"";background:var(--detail-image) center 48%/cover no-repeat;transform:scale(1.01)}
.tourism-detail-hero::after{position:absolute;z-index:-1;inset:0;content:"";background:linear-gradient(90deg,rgba(0,22,51,.94) 0%,rgba(0,46,93,.84) 55%,rgba(0,46,93,.58) 100%)}
.tourism-detail-hero nav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:30px;color:#cbdbe7;font-size:.7rem}.tourism-detail-hero nav a{color:#fff}.tourism-detail-hero nav span{color:#ffc936}.tourism-detail-hero h1{max-width:900px;margin:8px 0 12px;font:400 clamp(3rem,6vw,5.2rem)/1.04 "Satisfy",cursive;letter-spacing:0}.tourism-detail-hero p{max-width:760px;margin:0;color:#deebf4;font-size:.94rem;line-height:1.65}
.tourism-detail-content{padding:48px 0;background:#fff}.tourism-detail-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(290px,.7fr);gap:26px;align-items:start}.tourism-detail-main,.tourism-detail-aside>section{padding:28px;border:1px solid #d5e1e9;border-radius:10px;background:#fff;box-shadow:0 12px 30px rgba(0,30,65,.055)}.tourism-detail-main h2,.tourism-detail-aside h2{margin:7px 0 14px;color:#002e5d;font:800 1.55rem/1.2 Manrope,sans-serif}.tourism-detail-main h3{margin:27px 0 8px;color:#002e5d;font:800 1rem Manrope,sans-serif}.tourism-detail-main p{color:#536b7b;font-size:.86rem;line-height:1.75}.tourism-detail-image{display:block;width:100%;max-height:430px;margin-bottom:28px;border-radius:7px;object-fit:cover}.tourism-detail-features ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none}.tourism-detail-features li{padding:12px 14px;border-left:3px solid #00345f;background:#f2f7fa;color:#314e63;font-size:.77rem;font-weight:700}.tourism-detail-aside{display:grid;gap:18px}.tourism-detail-aside dl{margin:18px 0}.tourism-detail-aside dl div{padding:12px 0;border-top:1px solid #dce6ec}.tourism-detail-aside dt{color:#6b7f8d;font-size:.62rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.tourism-detail-aside dd{margin:4px 0 0;color:#163b5b;font-size:.79rem;font-weight:700}.tourism-related-list{display:grid}.tourism-related-list a{padding:13px 0;border-top:1px solid #dce6ec;color:#002e5d}.tourism-related-list strong,.tourism-related-list small{display:block}.tourism-related-list small{margin-top:4px;color:#647987;font-size:.68rem;line-height:1.45}
@media(max-width:800px){.tourism-detail-grid{grid-template-columns:1fr}.tourism-detail-content{padding:32px 0}.tourism-detail-main,.tourism-detail-aside>section{padding:22px}.tourism-detail-features ul{grid-template-columns:1fr}}

/* Purpose-built tourism destination pages. */
.tourism-destination{padding:54px 0 66px;background:#f6f8fa;color:#17364f}.tourism-destination h2,.tourism-destination h3{color:#002e5d;font-family:Manrope,"DM Sans",sans-serif}.tourism-destination h2{margin:8px 0 16px;font-size:clamp(1.8rem,3vw,2.55rem);line-height:1.15;letter-spacing:-.035em}.tourism-destination p{color:#597083;line-height:1.75}.destination-intro-grid,.destination-map-layout,.culture-story-grid,.itinerary-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(290px,.65fr);gap:22px;align-items:start}.destination-lead,.destination-planner,.destination-map-canvas,.destination-map-tools,.culture-story,.culture-pillars,.culture-etiquette,.itinerary-main,.itinerary-options{border:1px solid #dce5eb;border-radius:12px;background:#fff;box-shadow:0 12px 34px rgba(0,46,93,.055)}.destination-lead,.destination-map-canvas,.culture-story,.itinerary-main{padding:34px}.destination-planner,.destination-map-tools,.itinerary-options{padding:28px}.destination-planner>span{color:#8b6500;font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.destination-planner h3,.destination-map-tools h3,.itinerary-options h3{margin:6px 0 17px;font-size:1.18rem}.destination-planner ol,.destination-map-tools ul,.culture-etiquette ul{margin:0;padding-left:20px;color:#466176}.destination-planner li,.destination-map-tools li,.culture-etiquette li{padding:7px 0;line-height:1.5}.destination-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:26px}.destination-feature-grid>div{padding:16px;border-radius:7px;background:#eff4f7}.destination-feature-grid strong,.destination-feature-grid span{display:block}.destination-feature-grid strong{color:#002e5d;font-size:.78rem}.destination-feature-grid span{margin-top:5px;color:#6a7d8c;font-size:.68rem;line-height:1.5}.destination-band{display:grid;grid-template-columns:repeat(3,1fr);margin-top:18px;border-radius:10px;background:#002e5d;color:#fff}.destination-band>div{padding:19px 22px}.destination-band>div+div{border-left:1px solid rgba(255,255,255,.14)}.destination-band span,.destination-band strong{display:block}.destination-band span{color:#f1c647;font-size:.62rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.destination-band strong{margin-top:5px;font-size:.78rem}
.destination-map-canvas{position:relative;overflow:hidden;min-height:430px;background-color:#edf4f8;background-image:linear-gradient(rgba(0,46,93,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(0,46,93,.055) 1px,transparent 1px);background-size:32px 32px}.map-compass{position:absolute;right:24px;top:24px;display:grid;width:42px;height:42px;border-radius:50%;background:#002e5d;color:#fff;place-items:center;font-weight:800}.map-route{display:grid;grid-template-columns:18px 1fr;gap:0 14px;margin-top:30px}.map-route i{position:relative;width:14px;height:14px;margin-top:3px;border:4px solid #fff;border-radius:50%;background:#087ac7;box-shadow:0 0 0 2px #087ac7}.map-route i:not(:nth-last-of-type(1)):after{position:absolute;left:3px;top:12px;width:2px;height:56px;background:#9bbfd5;content:""}.map-route div{min-height:73px}.map-route strong,.map-route span{display:block}.map-route strong{color:#002e5d}.map-route span{margin-top:4px;color:#60778a;font-size:.76rem}.destination-map-tools p{padding:13px;border-radius:6px;background:#fff8df;color:#705714;font-size:.72rem}
.tourism-destination--culture{background:#faf8f3}.culture-story-grid{grid-template-columns:.8fr 1.2fr}.culture-story{padding:38px;background:#002e5d;color:#fff}.culture-story h2{color:#fff}.culture-story p{color:#dbe8f1}.culture-story blockquote{margin:28px 0 0;padding:18px 0 0;border-top:1px solid rgba(255,255,255,.18);color:#f1cf68;font:400 1.05rem/1.65 Georgia,serif}.culture-pillars{display:grid;grid-template-columns:repeat(3,1fr);overflow:hidden}.culture-pillars article{padding:30px 24px}.culture-pillars article+article{border-left:1px solid #e2e8ed}.culture-pillars article>span{color:#a77b13;font-size:.68rem;font-weight:800}.culture-pillars h3{margin:15px 0 9px;font-size:1.05rem}.culture-pillars p{font-size:.77rem}.culture-etiquette{margin-top:18px;padding:25px 30px}.culture-etiquette h3{margin:0 0 12px}.culture-etiquette ul{display:grid;grid-template-columns:repeat(2,1fr);gap:2px 28px}
.itinerary-timeline{margin-top:28px}.itinerary-timeline>div{display:grid;grid-template-columns:95px 1fr;gap:18px}.itinerary-timeline time{padding-top:14px;color:#8a6500;font-size:.72rem;font-weight:800}.itinerary-timeline section{position:relative;padding:12px 0 24px 24px;border-left:2px solid #cadce7}.itinerary-timeline section:before{position:absolute;left:-7px;top:17px;width:12px;height:12px;border:3px solid #fff;border-radius:50%;background:#087ac7;box-shadow:0 0 0 2px #087ac7;content:""}.itinerary-timeline strong,.itinerary-timeline span{display:block}.itinerary-timeline strong{color:#002e5d}.itinerary-timeline span{margin-top:5px;color:#647c8d;font-size:.75rem}.itinerary-options article{padding:14px 0;border-top:1px solid #e1e8ed}.itinerary-options article strong,.itinerary-options article span{display:block}.itinerary-options article strong{color:#002e5d}.itinerary-options article span{margin-top:4px;color:#687f90;font-size:.72rem;line-height:1.5}
.destination-related{margin-top:30px}.destination-related>div{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:10px}.destination-related a{padding:17px;border-radius:8px;background:#fff;box-shadow:0 7px 22px rgba(0,46,93,.05)}.destination-related strong,.destination-related a span{display:block}.destination-related strong{color:#002e5d}.destination-related a span{margin-top:5px;color:#667c8d;font-size:.7rem;line-height:1.45}
@media(max-width:850px){.destination-intro-grid,.destination-map-layout,.culture-story-grid,.itinerary-layout{grid-template-columns:1fr}.destination-feature-grid,.culture-pillars,.destination-related>div{grid-template-columns:1fr}.culture-pillars article+article{border-left:0;border-top:1px solid #e2e8ed}.destination-band{grid-template-columns:1fr}.destination-band>div+div{border-left:0;border-top:1px solid rgba(255,255,255,.14)}.culture-etiquette ul{grid-template-columns:1fr}}
@media(max-width:520px){.tourism-destination{padding:34px 0 45px}.destination-lead,.destination-map-canvas,.culture-story,.itinerary-main,.destination-planner,.destination-map-tools,.itinerary-options{padding:22px}.itinerary-timeline>div{grid-template-columns:74px 1fr;gap:10px}}

/* Keep the heritage editorial panel opaque and legible across global surface rules. */
html body .tourism-detail-page .tourism-destination--culture .culture-story{
    display:block!important;
    min-height:0!important;
    height:auto!important;
    padding:34px 36px!important;
    border:0!important;
    border-radius:12px!important;
    background:#002e5d!important;
    background-color:#002e5d!important;
    color:#fff!important;
    box-shadow:0 16px 38px rgba(0,30,65,.14)!important;
}
html body .tourism-detail-page .culture-story .tourism-kicker{color:#f1c647!important}
html body .tourism-detail-page .culture-story h2{margin:9px 0 14px!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
html body .tourism-detail-page .culture-story p{margin:0!important;color:#dbe8f1!important;-webkit-text-fill-color:#dbe8f1!important;font-size:.84rem!important;line-height:1.7!important}
html body .tourism-detail-page .culture-story blockquote{margin:24px 0 0!important;padding:19px 0 0!important;border-top:1px solid rgba(255,255,255,.18)!important;color:#f1cf68!important;-webkit-text-fill-color:#f1cf68!important;font-size:1rem!important;line-height:1.6!important}
@media(max-width:520px){html body .tourism-detail-page .tourism-destination--culture .culture-story{padding:26px 22px!important}}

/* Premium tourism detail surfaces without heavy blue rules. */
.tourism-detail-main,
.tourism-detail-aside>section{
    border:0;
    border-radius:14px;
    box-shadow:0 18px 44px rgba(0,30,65,.075);
}
.tourism-detail-features ul{gap:12px}
.tourism-detail-features li{
    position:relative;
    min-height:62px;
    padding:18px 18px 18px 42px;
    display:flex;
    align-items:center;
    border:0;
    border-radius:9px;
    background:linear-gradient(135deg,#f7f9fb,#edf3f7);
    color:#26445c;
    box-shadow:inset 0 0 0 1px rgba(0,30,65,.045);
}
.tourism-detail-features li::before{
    position:absolute;
    left:18px;
    width:8px;
    height:8px;
    border-radius:50%;
    background:#c79518;
    box-shadow:0 0 0 5px rgba(199,149,24,.1);
    content:"";
}
.tourism-detail-aside dl{display:grid;gap:9px}
.tourism-detail-aside dl div{
    padding:13px 14px;
    border:0;
    border-radius:8px;
    background:#f6f8fa;
}
.tourism-related-list{gap:8px;margin-top:16px}
.tourism-related-list a{
    padding:13px 14px;
    border:0;
    border-radius:8px;
    background:#f6f8fa;
    transition:background-color .2s ease,color .2s ease;
}
.tourism-related-list a:hover,
.tourism-related-list a:focus-visible{background:#e8f0f5;color:#001e41;outline:0}

/* Premium events and festivals presentation. */
#events.tourism-section{
    padding-block:62px 68px;
    border:0;
    background:linear-gradient(180deg,#f8fafc 0%,#fff 100%);
}
#events .tourism-heading{max-width:780px;margin:0 auto 32px;text-align:center}
#events .tourism-heading h2{margin-top:8px;letter-spacing:-.035em}
#events .tourism-heading p{max-width:720px;margin-inline:auto}
#events .tourism-feature-grid{gap:24px}
#events .tourism-feature-card{
    position:relative;
    min-height:340px;
    padding:38px 40px;
    overflow:hidden;
    border:0;
    border-radius:16px;
    background:
        linear-gradient(90deg,rgba(0,24,54,.96),rgba(0,53,96,.72)),
        url('../../uploads/Municipal-hall-1.jpg') center 46%/cover no-repeat!important;
    box-shadow:0 22px 48px rgba(0,30,65,.14);
}
#events .tourism-feature-card:nth-child(even){
    background:
        linear-gradient(90deg,rgba(0,35,70,.95),rgba(7,76,121,.68)),
        url('../../uploads/Municipal-hall-1.jpg') center 46%/cover no-repeat!important;
}
#events .tourism-feature-card::after{
    position:absolute;
    inset:12px;
    border:1px solid rgba(255,255,255,.14);
    border-radius:10px;
    content:"";
    pointer-events:none;
}
#events .tourism-feature-card>div{position:relative;z-index:1;max-width:680px}
#events .tourism-feature-card>div>span{color:#f2c94c;font-size:.64rem;letter-spacing:.14em}
#events .tourism-feature-card h3{margin:10px 0 12px;font-size:1.7rem;letter-spacing:-.025em}
#events .tourism-feature-card p{max-width:620px;font-size:.79rem;line-height:1.7}
#events .tourism-feature-card .tourism-button{
    min-height:36px;
    margin-top:25px;
    padding-inline:16px;
    border:0!important;
    border-radius:6px;
    background:#fff!important;
    color:#001e41!important;
    box-shadow:0 6px 18px rgba(0,15,35,.13);
}
#events .tourism-feature-card .tourism-button:hover,
#events .tourism-feature-card .tourism-button:focus-visible{background:#e5eef5!important;color:#001e41!important}
@media(max-width:760px){
    #events.tourism-section{padding-block:44px}
    #events .tourism-feature-grid{gap:16px}
    #events .tourism-feature-card{min-height:290px;padding:30px 26px}
    #events .tourism-feature-card h3{font-size:1.45rem}
}

/* Final typography overrides for information cards. */
body .transport-info-panel>span,body .civic-tourism-grid>aside>span,body .statistics-destination-grid>aside>span,body #safety .tourism-hotlines>span,body #safety .travel-advisory>span{font-size:.78rem;line-height:1.4}
body .transport-info-panel h3,body .civic-tourism-grid>aside h3,body .statistics-destination-grid>aside h3,body #safety .tourism-hotlines h3{font-size:1.55rem;line-height:1.25}
body #safety .travel-advisory h3{font-size:1.65rem;line-height:1.25}
body .transport-info-panel dt{font-size:.75rem;line-height:1.4}
body .transport-info-panel dd,body .civic-tourism-grid>aside p,body .statistics-destination-grid>aside p,body #safety .tourism-hotlines>p,body #safety .travel-advisory>p{font-size:1rem;line-height:1.7}
body .transport-info-panel .tourism-button,body .civic-tourism-grid>aside .tourism-button,body .statistics-destination-grid>aside .tourism-button,body #safety .tourism-hotlines .tourism-button,body #safety .travel-advisory .tourism-button{min-height:40px;padding-inline:15px;font-size:.72rem}
body #safety .travel-advisory .tourism-card__meta span{font-size:.82rem}
@media(max-width:560px){body .transport-info-panel h3,body .civic-tourism-grid>aside h3,body .statistics-destination-grid>aside h3,body #safety .tourism-hotlines h3,body #safety .travel-advisory h3{font-size:1.4rem}body .transport-info-panel dd,body .civic-tourism-grid>aside p,body .statistics-destination-grid>aside p,body #safety .tourism-hotlines>p,body #safety .travel-advisory>p{font-size:.95rem}}
