/* Explicit surface colours prevent dark-theme text from leaking onto light panels. */
:root{--rai-ink:#123b35;--rai-paper:#f7f4ea;--rai-action:#153b35;--rai-action-text:#fff8ee}
.journey-home .waisai-guide,.city-chooser{background:var(--rai-paper)!important;color:var(--rai-ink)!important;--line:#9baea5;--rai-rule:#9baea5}
.journey-home .waisai-guide :is(h1,h2,h3,h4,p,li,ul,ol,span,strong,b,small,label,legend,figcaption),.city-chooser>h2{color:var(--rai-ink)!important;text-shadow:none!important;opacity:1}
.journey-home .waisai-guide .city-subheading,.journey-home .waisai-guide .place-type{color:#65491d!important}
.journey-home .waisai-guide li::marker{color:#65491d!important}
.journey-home .waisai-guide .sorong-options>details{background:transparent!important;border-color:#9baea5}
/* A directory card is always a light surface, including cards inside photographic sections. */
body :is(.sorong-place,.sorong-practical-note){background:var(--rai-paper)!important;color:var(--rai-ink)!important;border:1px solid #9baea5;border-radius:8px;padding:1.15rem;margin:1rem 0;text-shadow:none!important}
body :is(.sorong-place,.sorong-practical-note) :is(h1,h2,h3,h4,p,li,span,strong,b,small){color:var(--rai-ink)!important;text-shadow:none!important;opacity:1}
body .sorong-place .place-type{color:#65491d!important}
/* Opening controls have a solid button surface, border and an expansion indicator. */
body :is(.sorong-options,.travel-guide,.knowledge-home,.faq-list,.conditions,.info-topic,.knowledge-article) summary,
body summary.weather-option,body .weather-option>summary{
 background:var(--rai-action)!important;color:var(--rai-action-text)!important;border:1px solid #d2b375!important;border-radius:8px;min-height:48px;padding:.9rem 2.8rem .9rem 1rem!important;font-family:var(--sans,system-ui,sans-serif)!important;font-size:1.05rem;line-height:1.5;font-weight:650;cursor:pointer;position:relative;list-style:none;text-shadow:none!important;overflow-wrap:anywhere;box-sizing:border-box
}
body summary::-webkit-details-marker{display:none}
body :is(.sorong-options,.travel-guide,.knowledge-home,.faq-list,.conditions,.info-topic,.weather-option) summary::after{content:'+';position:absolute;inset-inline-end:1rem;top:.8rem;font:700 1.3rem/1.5 system-ui;color:#fff8ee!important}
body :is(.sorong-options,.travel-guide,.knowledge-home,.faq-list,.conditions,.info-topic,.weather-option) details[open]>summary::after{content:'−'}
body :is(.sorong-options,.travel-guide,.knowledge-home,.faq-list,.conditions,.info-topic,.knowledge-article) summary :is(span,strong){color:#fff8ee!important;text-shadow:none!important}
body :is(.info-index a,.knowledge-home-links a,.knowledge-shortcuts a,.city-switch,.city-action,.pc-entry,.knowledge-read,.partner-link,.sorong-place a,.travel-references a,.conditions a,.hero-note-link){display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:44px;padding:.65rem 1rem;margin-block:.3rem;border:1px solid #d2b375!important;border-radius:7px;background:#153b35!important;color:#fff8ee!important;font:600 1rem/1.5 var(--sans,system-ui,sans-serif);text-decoration:none!important;text-shadow:none!important;box-sizing:border-box;max-width:100%;white-space:normal;overflow-wrap:anywhere}
body .info-index a,body .knowledge-home-links a{display:flex;justify-content:space-between}
body .sorong-place a{border-color:#153b35!important;font-size:.95rem}
.site-header nav :is(a,summary){border:1px solid #9baea5;border-radius:7px;background:#f7f4ea;color:#123b35!important;padding:.65rem .8rem;min-height:44px;box-sizing:border-box;text-decoration:none}
.site-header nav a.button{background:#d3b375!important;color:#123b35!important;border-color:#b49455;font-weight:750}
body :is(a,button,summary,select,input,textarea):focus-visible{outline:3px solid #1b8580!important;outline-offset:3px}
body :is(.info-index a,.knowledge-home-links a,.city-action,.city-switch,.partner-link,.sorong-place a,summary):hover{filter:brightness(1.12)}
body input::placeholder,body textarea::placeholder{opacity:1}
#intake-dialog{background:#f7f4ea;color:#123b35}
#intake-dialog :is(p,li,label,legend,small){color:#123b35;opacity:1}
#intake-dialog .success-next-step :is(p,li,small){color:#fff8ee}
#intake-dialog .success-next-step h4{color:#f4d8a4}
body .journey-summary:not([data-photo]){background:#153b35;color:#fff8ee}
/* Buttons on the standalone communities and preparation pages. */
body:not(.journey-home):not(.journey-itinerary) :is(a.home-link,#home,a[href^='mailto:'],.actions a,.card h2 a){display:inline-flex;align-items:center;min-height:44px;padding:.6rem .9rem;border:1px solid #ddb97a;border-radius:7px;background:#153b35;color:#fff8ee;text-decoration:none}
body .community-choice{background:#153b35;border:1px solid #ddb97a}
body .community-choice h2{color:#fff8ee}
body .money-guidance{line-height:1.8;font-size:1rem;opacity:1}
.partner-link{margin-inline-end:.7rem}
.partner-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1.8rem 0}
.partner-options article{border:1px solid #829b90;background:#153b35;padding:1.3rem;border-radius:8px;min-width:0}
.partner-options h2{color:#f4d8a4;font:600 1.3rem/1.5 system-ui}
body.partners-page .partner-primary{background:#f4d8a4!important;color:#123b35!important;font-weight:700}
body.partners-page #policy{border-inline-start:3px solid #ddb97a;padding:1rem}
@media(max-width:900px){
 /* Cover the whole mobile text width, including Arabic, with a sufficiently dark photo overlay. */
 body.journey-home [data-photo]:not(.hero),html[dir=rtl] body.journey-home [data-photo]:not(.hero),body.journey-itinerary [data-photo]{background-image:linear-gradient(rgba(3,18,18,.76),rgba(3,18,18,.76)),var(--photo)!important}
 body.journey-home .hero-shade,html[dir=rtl] body.journey-home .hero-shade{background:rgba(3,18,18,.76)}
 body.journey-home .hero h1 em{color:#f4d8a4!important}
 .partner-options{grid-template-columns:1fr}
 body :is(.sorong-place a,.city-action,.city-switch){font-size:1rem}
 body .sorong-options>details{padding:.8rem}
 body .info-index a{width:100%}
}
@media print{body.journey-itinerary [data-photo],body.journey-itinerary [data-photo] *{background:white!important;color:#123b35!important;text-shadow:none!important}}

body.journey-home .hero h1 em{color:#f4d8a4!important}
body .knowledge-header nav a,body .knowledge-card h3 a,body .knowledge-related a,body .knowledge-correction>a,body .knowledge-footer>a{display:inline-flex;align-items:center;min-height:44px;padding:.65rem 1rem;border:1px solid #829b90;border-radius:7px;background:#153b35;color:#fff8ee;text-decoration:none}
body .journey-summary strong{color:#fff8ee!important}

/* Text that spans a photographic panel needs its own opaque reading surface. */
body .sorong-guide .money-guidance{background:#153b35;color:#fff8ee!important;padding:1rem;border-radius:7px;text-shadow:none!important}
@media(min-width:901px){
 body.journey-home .hero-shade{background:linear-gradient(90deg,rgba(3,18,18,.86) 0%,rgba(3,18,18,.80) 53%,rgba(3,18,18,.2) 72%,transparent 88%)}
 html[dir=rtl] body.journey-home .hero-shade{background:linear-gradient(270deg,rgba(3,18,18,.86) 0%,rgba(3,18,18,.80) 53%,rgba(3,18,18,.2) 72%,transparent 88%)}
 body.journey-home .hero-note{background:#153b35;padding:.8rem 1rem;border-radius:7px;color:#fff8ee}
}
/* City ferry information uses the same readable surface in both city views. */
body .city-ferry{background:#153b35!important;color:#fff8ee!important;border:1px solid #d2b375!important;border-radius:8px!important;padding:1.2rem;margin:1.2rem 0;width:100%;max-width:100%;box-sizing:border-box}
body .city-ferry :is(h3,h4,h5,p,span,strong,small,th,td),body.journey-home .waisai-guide .city-ferry :is(h3,h4,h5,p,span,strong,small,th,td){color:#fff8ee!important;text-shadow:none!important}
body .city-ferry .table-scroll,body .city-ferry table,body .city-ferry :is(th,td){background:#153b35!important;border-color:#829b90!important}
body .city-ferry table{width:100%;font:1rem/1.5 var(--sans,system-ui,sans-serif)}
body .city-ferry :is(th,td){padding:.65rem;text-align:start;white-space:normal;overflow-wrap:normal}
body .city-ferry h4{font-size:1.3rem;line-height:1.4}
body .city-ferry h5{font:650 1rem/1.5 var(--sans,system-ui,sans-serif);margin:1rem 0 .5rem}
body .city-ferry .ferry-note{font-size:1rem;line-height:1.7}
@media(max-width:600px){body .city-ferry{padding:.9rem}body .city-ferry :is(th,td){padding:.5rem;font-size:.9rem}}

/* Partner navigation must override light header text rules on its dark surface. */
body .site-header nav a.partner-link,body .site-header nav a.partner-link *,body .site-header .header-secondary>a.community-entry,body .site-header .header-secondary>a.community-entry *{background:#153b35!important;color:#fff8ee!important;opacity:1!important;text-shadow:none!important;-webkit-text-fill-color:#fff8ee!important}
.partner-options>details{border:1px solid #829b90;background:#153b35;border-radius:8px;min-width:0;align-self:start}
.partner-options>details>summary{color:#f4d8a4!important;min-height:64px;padding:1.3rem 3rem 1.3rem 1.3rem;font:650 1.3rem/1.5 system-ui;cursor:pointer;list-style:none;position:relative;overflow-wrap:anywhere}
.partner-options>details>summary::after{content:'+';position:absolute;inset-inline-end:1.2rem;color:#fff8ee}
.partner-options>details[open]>summary::after{content:'−'}
.partner-detail{padding:0 1.3rem 1.3rem;color:#fff8ee}
.partner-detail p{color:#fff8ee;line-height:1.8}
.partner-actions{display:flex;flex-wrap:wrap;gap:.75rem}
body.partners-page .partner-actions a{display:flex;align-items:center;min-height:44px;max-width:100%;padding:.75rem 1rem;border:1px solid #ddb97a;border-radius:7px;background:#153b35;color:#fff8ee;text-decoration:none;white-space:normal;overflow-wrap:anywhere}
