/* Shared presentation contract, emitted by every page builder. Legacy rules
   remain scoped to their source pages; these component attributes take priority. */
:root{--ds-paper:var(--royal-ivory,#F9F5ED);--ds-matte:var(--royal-sand,#E9D7BD);--ds-ink:var(--royal-navy,#081F32);--ds-accent:var(--royal-orange,#F36B2B);--ds-radius:18px;--ds-gap:20px;--ds-photo-ratio:16/10;--ds-body-space:18px;--ds-border:1px solid #DAB16B77;--ds-shadow:0 8px 24px #081f320d}
html body[data-design-system] :is(main,#featured-tours) [data-ds-image]{object-fit:contain!important;object-position:center!important;max-width:100%;transform:none!important}
html body[data-design-system] :is(main,#featured-tours) [data-ds-card-grid]{align-items:stretch!important;grid-auto-rows:1fr;gap:var(--ds-gap)!important}
html body[data-design-system] :is(main,#featured-tours) [data-ds-card]{display:flex!important;flex-direction:column!important;min-width:0!important;height:auto!important;align-self:stretch!important;max-height:none!important;overflow:hidden!important;position:relative!important;border:var(--ds-border)!important;border-radius:var(--ds-radius)!important;background:var(--ds-paper)!important;color:var(--ds-ink)!important;box-shadow:var(--ds-shadow)!important;text-decoration:none}
html body[data-design-system] :is(main,#featured-tours) [data-ds-card]::before{pointer-events:none}
html body[data-design-system] :is(main,#featured-tours) [data-ds-card]{padding:0!important}
html body[data-design-system] :is(main,#featured-tours) [data-ds-card] :is(.service-card-top,.process-card-head,.assurance-card-top){display:flex!important;flex:0 0 auto!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;margin:0 0 12px!important;padding:0!important;width:100%!important}
html body[data-design-system] :is(main,#featured-tours) [data-ds-card="content"]::after{content:none!important}
html body[data-design-system] :is(main,#featured-tours) [data-ds-card] [data-ds-media]{display:block!important;position:relative!important;inset:auto!important;width:100%!important;min-width:0;min-height:0!important;height:auto!important;max-height:none!important;margin:0!important;padding:0!important;overflow:hidden!important;border-radius:0!important;background:var(--ds-matte)!important;flex:none!important}
html body[data-design-system] :is(main,#featured-tours) [data-ds-card] [data-ds-media]>img{display:block!important;position:static!important;inset:auto!important;width:100%!important;height:auto!important;aspect-ratio:var(--ds-photo-ratio)!important;max-width:100%!important;max-height:none!important;min-height:0!important;margin:0!important;border-radius:0!important;object-fit:contain!important;object-position:center!important;transform:none!important;filter:none!important}
html body[data-design-system] :is(main,#featured-tours) [data-ds-card-body]{display:flex!important;flex-direction:column!important;position:static!important;inset:auto!important;flex:1!important;min-width:0!important;width:100%!important;max-width:none!important;height:auto!important;margin:0!important;padding:var(--ds-body-space)!important;background:var(--ds-paper)!important;color:var(--ds-ink)!important;transform:none!important}
html body[data-design-system] :is(main,#featured-tours) [data-ds-card] :is(h2,h3){font-family:Georgia,'Noto Serif CJK JP','Noto Naskh Arabic',serif!important;font-size:20px!important;line-height:1.5!important;min-height:3em!important;height:auto!important;max-height:none!important;white-space:normal!important;overflow:visible!important;display:block!important;-webkit-line-clamp:unset!important;color:var(--ds-ink)!important;margin:0 0 12px!important;overflow-wrap:anywhere}
html body[data-design-system] :is(main,#featured-tours) [data-ds-card] :is(h2,h3)>a{color:inherit!important}
html body[data-design-system] :is(main,#featured-tours) [data-ds-card-body]>p{font-size:14px!important;line-height:1.7!important;color:var(--ds-ink)!important;white-space:normal!important}
html body[data-design-system] :is(main,#featured-tours) [data-ds-card] :is([data-ds-action],.royal-card-cta){display:inline-flex!important;justify-content:center!important;align-items:center!important;min-height:44px!important;max-width:100%;padding:10px 16px!important;border-radius:999px!important;border:0!important;background:var(--ds-accent)!important;color:var(--ds-ink)!important;font:600 13px/1.4 system-ui,sans-serif!important;text-decoration:none!important;white-space:normal!important}
html body[data-design-system] :is(main,#featured-tours) [data-ds-card-body]>[data-ds-action]{margin-top:auto!important;align-self:flex-start}
html body[data-design-system] :is(main,#featured-tours) [data-ds-card] .royal-card-foot{margin-top:auto!important}
/* Footer items wrap as whole controls when a card is too narrow for one row. */
html body[data-design-system] :is(main,#featured-tours) [data-ds-card] .royal-card-foot{flex-wrap:wrap!important;align-items:center!important;gap:10px!important}
html body[data-design-system] :is(main,#featured-tours) [data-ds-card] .royal-card-foot>.dp-card-price{flex:0 0 auto!important;max-width:100%!important;max-inline-size:100%!important}
html body[data-design-system] :is(main,#featured-tours) [data-ds-card] .royal-card-foot>.royal-card-cta{max-width:100%!important;max-inline-size:100%!important;flex:0 0 auto!important}
html body[data-design-system] :is(main,#featured-tours) [data-ds-card="content"]>a:has([data-ds-card-body]){display:flex!important;flex-direction:column!important;flex:1!important;height:auto!important;color:inherit!important;text-decoration:none}
html body[data-design-system] :is(main,#featured-tours) [data-ds-card] .journey-service-icon{position:static!important;inset:auto!important;transform:none!important;margin-bottom:12px}
html body[data-design-system] :is(main,#featured-tours) [data-ds-card].destination-wide{grid-column:auto!important}
/* The passport silhouette is shared by every program. Bands physically separate
   the image from its badge, stamp, rail and wave, including in Arabic RTL. */
html body[data-design-system] :is(main,#featured-tours) [data-ds-card="tour"] [data-ds-media]{padding:0 0 34px!important}
html body[data-design-system] :is(main,#featured-tours) [data-ds-card="tour"] [data-ds-media]>img{width:calc(100% - 56px)!important;margin-inline:8px 48px!important}
html body[data-design-system] :is(main,#featured-tours) [data-ds-card="tour"] .royal-card-badge{position:relative!important;inset:auto!important;top:auto!important;width:fit-content!important;margin:8px 10px!important;max-width:calc(100% - 58px)!important}
html body[data-design-system] :is(main,#featured-tours) [data-ds-card="tour"] .royal-stamp{bottom:0!important;width:32px!important;height:32px!important;transform:none!important}
html body[data-design-system] :is(main,#featured-tours) [data-ds-card="tour"] .royal-stamp .royal-icon{width:18px!important;height:16px!important}
html body[data-design-system] :is(main,#featured-tours) [data-ds-card="profile"]{max-width:330px!important;flex-direction:row!important;align-items:center;gap:12px;padding:12px!important}
html body[data-design-system] :is(main,#featured-tours) [data-ds-card="profile"] :is(small,strong,span,p,a){color:var(--ds-ink)!important}
html body[data-design-system] :is(main,#featured-tours) [data-ds-card="choice"]{flex-direction:row!important;align-items:center!important;gap:12px!important;padding:var(--ds-body-space)!important}
html body[data-design-system] :is(main,#featured-tours) [data-ds-card="profile"] [data-ds-media]{width:72px!important;flex:0 0 72px!important}
html body[data-design-system] :is(main,#featured-tours) [data-ds-card="profile"] [data-ds-media]>img{aspect-ratio:1!important}
html body[data-design-system] :is(main,#featured-tours) [data-ds-card="profile"] [data-ds-card-body]{padding:0!important}
/* ALL SITE HEROES: full-bleed photographic backdrop, copy over photo, never a card.
   Tour-card images above deliberately remain in contain mode. */
html body[data-design-system] :is(main,#featured-tours) [data-ds-hero]{
display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:stretch!important;
position:relative!important;isolation:isolate!important;overflow:hidden!important;width:100%!important;max-width:none!important;
min-height:clamp(460px,68vh,760px)!important;height:auto!important;margin:0!important;
padding:clamp(70px,8vw,128px) max(20px,calc((100vw - 1280px)/2)) calc(var(--hero-wave-height,64px) + 52px)!important;
box-sizing:border-box!important;background:var(--ds-ink)!important;color:var(--ds-paper)!important;border:0!important;border-radius:0!important}
html body[data-design-system] :is(main,#featured-tours) [data-ds-hero]::before{
content:""!important;display:block!important;position:absolute!important;inset:0!important;z-index:1!important;pointer-events:none!important;
background:linear-gradient(90deg,rgba(3,18,31,.88) 0%,rgba(3,18,31,.66) 49%,rgba(3,18,31,.34) 100%)!important}
html[dir="rtl"] body[data-design-system] :is(main,#featured-tours) [data-ds-hero]::before{
background:linear-gradient(270deg,rgba(3,18,31,.88) 0%,rgba(3,18,31,.66) 49%,rgba(3,18,31,.34) 100%)!important}
html body[data-design-system] :is(main,#featured-tours) [data-ds-hero]::after{content:none!important;display:none!important}
html body[data-design-system] :is(main,#featured-tours) [data-ds-hero]>[data-ds-hero-copy]{
display:block!important;position:relative!important;inset:auto!important;order:1!important;z-index:3!important;
width:100%!important;max-width:780px!important;min-width:0!important;margin:0!important;padding:0!important;
background:transparent!important;transform:none!important}
html body[data-design-system] :is(main,#featured-tours) [data-ds-hero-copy]>:is(div,section){width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
html body[data-design-system] :is(main,#featured-tours) [data-ds-hero-copy] :is(.hero-grid,.hero-cinematic-grid){display:block!important;grid-template-columns:minmax(0,1fr)!important}
html body[data-design-system] :is(main,#featured-tours) [data-ds-hero-copy] :is(h1,p,.kicker,.eyebrow,.hero-lead,.crumbs,.crumb,.badges){
color:#fff!important;text-shadow:0 2px 14px #001524b3!important}
html body[data-design-system] :is(main,#featured-tours) [data-ds-hero-copy] h1{font-size:clamp(30px,4vw,62px)!important;line-height:1.2!important;max-width:100%!important;white-space:normal!important;overflow-wrap:anywhere}
html body[data-design-system] :is(main,#featured-tours) [data-ds-hero-copy] [data-ds-card="profile"] :is(small,strong,span,p,a){color:var(--ds-ink)!important;text-shadow:none!important}
html body[data-design-system] :is(main,#featured-tours) [data-ds-hero]>[data-ds-hero-media]{
display:block!important;position:absolute!important;inset:0!important;order:0!important;
width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;
margin:0!important;padding:0!important;overflow:hidden!important;background:#102c40!important;
z-index:0!important;border:0!important;border-radius:0!important;transform:none!important;animation:none!important;pointer-events:none!important}
html body[data-design-system] :is(main,#featured-tours) [data-ds-hero-media]::before,html body[data-design-system] :is(main,#featured-tours) [data-ds-hero-media]::after{content:none!important;display:none!important}
html body[data-design-system] :is(main,#featured-tours) [data-ds-hero-media] figure{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;margin:0!important;padding:0!important}
html body[data-design-system] :is(main,#featured-tours) [data-ds-hero-media] img{display:block!important;position:absolute!important;inset:0!important;
width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;min-height:0!important;
aspect-ratio:auto!important;object-fit:cover!important;object-position:center!important;margin:0!important;padding:0!important;
transform:none!important;animation:none!important;filter:none!important;border:0!important;border-radius:0!important}
html body[data-design-system] :is(main,#featured-tours) [data-ds-hero-media] :is(.hero-cinematic-shade,.hero-image-overlay){display:none!important}
html body[data-design-system] :is(main,#featured-tours) [data-ds-hero-media] figcaption{position:absolute!important;inset:auto 12px 12px auto!important;max-width:min(90%,360px)!important;margin:0!important;padding:6px 10px!important;
font-size:11px!important;line-height:1.4!important;background:#081f32ba!important;color:#fff!important;z-index:1!important}
html body[data-design-system] :is(main,#featured-tours) [data-ds-hero]>.site-hero-wave{position:absolute!important;inset:auto 0 0!important;z-index:4!important;pointer-events:none!important}
@media(max-width:900px){
html body[data-design-system] :is(main,#featured-tours) [data-ds-hero]{min-height:clamp(480px,66svh,780px)!important;padding:72px 20px calc(var(--hero-wave-height,64px) + 36px)!important}
html body[data-design-system] :is(main,#featured-tours) [data-ds-hero]::before{background:linear-gradient(180deg,rgba(3,18,31,.82) 0%,rgba(3,18,31,.66) 58%,rgba(3,18,31,.44) 100%)!important}
html body[data-design-system] :is(main,#featured-tours) [data-ds-hero]>[data-ds-hero-copy]{max-width:100%!important}
html body[data-design-system] :is(main,#featured-tours) [data-ds-hero-copy] h1{font-size:clamp(28px,7vw,44px)!important}}
html body[data-design-system] :is(main,#featured-tours) [data-ds-hero-media] .ds-photo-unavailable{width:100%!important;height:100%!important;min-height:100%!important;aspect-ratio:auto!important;background:#102c40!important;color:#fff!important}

.ds-photo-unavailable{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;aspect-ratio:var(--ds-photo-ratio);min-height:120px;padding:20px;text-align:center;background:var(--ds-matte);color:var(--ds-ink);font-size:13px;line-height:1.6}
html body[data-design-system] :is(main,#featured-tours) [data-ds-hero-media] .ds-photo-unavailable{background:#102c40;color:var(--ds-paper)}

html body[data-design-system] :is(main,#featured-tours) [data-ds-card="content"] [data-ds-media]{padding:8px!important}

html body[data-design-system] :is(main,#featured-tours) [data-ds-card] [data-ds-media][role="img"]{aspect-ratio:var(--ds-photo-ratio)!important;display:flex!important;align-items:center;justify-content:center}

html body[data-design-system] :is(main,#featured-tours) [data-ds-panel]{border:var(--ds-border)!important;border-radius:var(--ds-radius)!important;background:var(--ds-paper)!important;box-shadow:var(--ds-shadow)!important}

/* The HTML hidden attribute is functional, including filtered card tracks. */
html body[data-design-system] :is(main,#featured-tours) [data-ds-card][hidden],html body[data-design-system] :is(main,#featured-tours) [data-ds-card-grid][hidden]{display:none!important}

/* Shared semantic variants preserve secondary actions and dark contextual cards. */
html body[data-design-system] :is(main,#featured-tours) [data-ds-card] [data-ds-action]:is(.light,.btn-light,.btn-ghost,.btn-outline,.hero-secondary-cta,.royal-button--secondary,.tp-btn--light,.tp-btn--subtle){background:transparent!important;border:1px solid var(--royal-gold,#DAB16B)!important;color:var(--ds-ink)!important}
html body[data-design-system] :is(main,#featured-tours) [data-ds-card="context"]{background:var(--ds-ink)!important;color:var(--ds-paper)!important}
html body[data-design-system] :is(main,#featured-tours) [data-ds-card="context"] :is(h2,h3,p,strong,small){color:var(--ds-paper)!important}
html body[data-design-system] :is(main,#featured-tours) [data-ds-card="context"] [data-ds-card-body]{background:transparent!important;color:var(--ds-paper)!important}

/* Site-wide Instagram shortcut: always present in the top header, including
   closed mobile navigation, without changing the selected booking CTA. */
html body.royal-site.daichan-identity .unified-header .royal-instagram-link{
 display:inline-flex!important;align-items:center!important;justify-content:center!important;
 flex:0 0 auto!important;gap:7px!important;box-sizing:border-box!important;
 min-width:44px!important;min-height:44px!important;padding:8px 10px!important;
 border:1px solid #DAB16B88!important;border-radius:999px!important;
 background:transparent!important;color:var(--royal-ivory,#F9F5ED)!important;
 text-decoration:none!important;white-space:nowrap!important;
 font:600 12px/1.2 system-ui,sans-serif!important;z-index:3!important;
}
html body.royal-site.daichan-identity .unified-header .royal-instagram-link .royal-instagram-icon{
 display:block!important;width:20px!important;height:20px!important;flex:none!important;
}
html body.royal-site.daichan-identity .unified-header .royal-instagram-link:hover,
html body.royal-site.daichan-identity .unified-header .royal-instagram-link:focus-visible{
 color:var(--royal-gold,#DAB16B)!important;border-color:var(--royal-gold,#DAB16B)!important;
}
@media(max-width:1399px){
 html body.royal-site.daichan-identity .unified-header .royal-instagram-label{display:none!important}
 html body.royal-site.daichan-identity .unified-header .royal-instagram-link{
  width:44px!important;min-width:44px!important;padding:0!important
 }
}
@media(max-width:1100px){
 html body.royal-site.daichan-identity .unified-header .royal-instagram-link{
  order:1!important;position:relative!important;margin:0!important;align-self:center!important;
 }
}
@media(max-width:390px){
 html body.royal-site.daichan-identity .unified-header .royal-header-inner{gap:5px!important}
 html body.royal-site.daichan-identity .unified-header .royal-brand-display{
  font-size:16px!important;letter-spacing:.08em!important;gap:5px!important
 }
 html body.royal-site.daichan-identity .unified-header .royal-language>summary{
  padding-inline:6px!important
 }
}
