/* Daima Journey — Gilded Everyday WordPress theme */
:root {
  --dj-ink: #29241f;
  --dj-ink-soft: #3a342d;
  --dj-ivory: #fbf7ed;
  --dj-stone: #eee8dd;
  --dj-gold: #d8ad52;
  --dj-gold-deep: #b68830;
  --dj-line: rgba(41, 36, 31, 0.11);
  --dj-muted: rgba(41, 36, 31, 0.62);
  --dj-radius: 0.35rem;
  --dj-ease: cubic-bezier(.23, 1, .32, 1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.daima-site { margin: 0; background: var(--dj-ivory); color: var(--dj-ink); font-family: Manrope, sans-serif; }
body.daima-site :where(a, button, input, select, textarea) { font: inherit; }
body.daima-site a { color: inherit; text-decoration: none; }
body.daima-site a:focus-visible, body.daima-site button:focus-visible, body.daima-site input:focus-visible, body.daima-site select:focus-visible { outline: 3px solid rgba(216, 173, 82, .55); outline-offset: 3px; }
body.daima-site a:active, body.daima-site button:active { transform: scale(.97); }

.dj-container { width: min(100% - 2rem, 1360px); margin-inline: auto; }
.dj-display { font-family: Sora, sans-serif; letter-spacing: -.055em; line-height: .96; }
.dj-kicker { font: 700 .68rem/1.3 Sora, sans-serif; letter-spacing: .17em; text-transform: uppercase; }
.dj-button { display: inline-flex; align-items: center; justify-content: center; gap: .65rem; min-height: 3.15rem; padding: .75rem 1.25rem; border: 1px solid var(--dj-gold); border-radius: var(--dj-radius); background: var(--dj-gold); color: var(--dj-ink); font: 700 .78rem/1 Sora, sans-serif; letter-spacing: .035em; transition: transform .16s var(--dj-ease), background .2s var(--dj-ease), border-color .2s var(--dj-ease); }
.dj-button:hover { background: #e1bd6f; }
.dj-button--light { border-color: rgba(255,255,255,.25); background: transparent; color: var(--dj-ivory); }
.dj-button--light:hover { border-color: var(--dj-gold); color: var(--dj-gold); background: rgba(255,255,255,.06); }
.dj-button--outline { border-color: var(--dj-line); background: transparent; color: var(--dj-ink); }
.dj-button--outline:hover { border-color: var(--dj-gold); }

.dj-site-header { position: sticky; top: 0; z-index: 80; border-bottom: 1px solid rgba(255,255,255,.12); background: rgba(41,36,31,.97); color: var(--dj-ivory); }
.dj-header-inner { display: flex; align-items: center; justify-content: space-between; min-height: 4.8rem; gap: 1.25rem; }
.dj-brand { display: inline-flex; align-items: center; gap: .7rem; min-width: max-content; }
.dj-brand img { width: 2.55rem; height: 2.55rem; object-fit: contain; }
.dj-brand-text { display: grid; gap: .05rem; font: 800 .96rem/1 Sora, sans-serif; letter-spacing: .1em; }
.dj-brand-text small { font: 700 .52rem/1 Sora, sans-serif; letter-spacing: .32em; }
.dj-desktop-nav { display: flex; align-items: center; gap: 1.3rem; margin-left: auto; }
.dj-nav-link, .dj-nav-trigger { border: 0; background: transparent; color: rgba(251,247,237,.72); font: 700 .69rem/1 Sora, sans-serif; letter-spacing: .1em; text-transform: uppercase; cursor: pointer; }
.dj-nav-link:hover, .dj-nav-trigger:hover { color: var(--dj-gold); }
.dj-nav-group { position: relative; }
.dj-nav-menu { display: none; position: absolute; top: calc(100% + 1rem); left: -1rem; min-width: 15rem; padding: .7rem; border: 1px solid rgba(255,255,255,.13); background: var(--dj-ink); box-shadow: 0 20px 50px rgba(0,0,0,.28); }
.dj-nav-group:focus-within .dj-nav-menu, .dj-nav-group:hover .dj-nav-menu { display: grid; }
.dj-nav-menu a { padding: .72rem .8rem; color: rgba(251,247,237,.7); font-size: .83rem; }
.dj-nav-menu a:hover { background: rgba(216,173,82,.12); color: var(--dj-ivory); }
.dj-header-actions { display: flex; align-items: center; gap: .75rem; }
.dj-mobile-toggle { display: none; width: 2.7rem; height: 2.7rem; border: 1px solid rgba(255,255,255,.24); background: transparent; color: var(--dj-ivory); cursor: pointer; }
.dj-mobile-panel { display: none; border-top: 1px solid rgba(255,255,255,.1); padding: 1.25rem 0 1.5rem; }
.dj-mobile-panel.is-open { display: block; }
.dj-mobile-panel nav { display: grid; gap: .35rem; }
.dj-mobile-panel a { padding: .9rem 0; border-bottom: 1px solid rgba(255,255,255,.08); color: rgba(251,247,237,.82); font: 700 .8rem/1 Sora, sans-serif; letter-spacing: .08em; text-transform: uppercase; }

.dj-grain { position: relative; isolation: isolate; }
.dj-grain::after { content:""; position:absolute; inset:0; pointer-events:none; opacity:.14; z-index:-1; background-image: radial-gradient(circle at 20% 30%,#fff 0 .65px,transparent .8px), radial-gradient(circle at 75% 65%,#fff 0 .55px,transparent .8px); background-size:6px 6px,8px 8px; mix-blend-mode:soft-light; }
.dj-route-grid { background-color: var(--dj-ivory); background-image: linear-gradient(to right, rgba(41,36,31,.04) 1px, transparent 1px), linear-gradient(to bottom, rgba(41,36,31,.04) 1px, transparent 1px); background-size: 64px 64px; }
.dj-route-line { position: absolute; inset: auto -10rem -16rem auto; width: 47rem; height: 47rem; border: 1px solid rgba(216,173,82,.32); border-radius: 50%; pointer-events: none; }

.dj-hero { position: relative; overflow: clip; background: linear-gradient(90deg, rgba(18,16,14,.94) 0%, rgba(18,16,14,.79) 52%, rgba(18,16,14,.26) 100%), url('../images/daima-hero.png') center/cover no-repeat, var(--dj-ink); color: var(--dj-ivory); }
.dj-hero__inner { display: grid; gap: 3rem; padding: clamp(4rem, 9vw, 8.5rem) 0; }
.dj-hero__copy { max-width: 50rem; }
.dj-hero__title { max-width: 52rem; margin: 1.4rem 0 0; font: 800 clamp(3.4rem, 7.1vw, 7.6rem)/.9 Sora, sans-serif; letter-spacing: -.075em; }
.dj-hero__title em { color: var(--dj-gold); font-weight: 500; }
.dj-hero__dek { max-width: 41rem; margin: 2rem 0 0; color: rgba(251,247,237,.67); font-size: clamp(1.02rem, 1.7vw, 1.25rem); line-height: 1.75; }
.dj-hero__actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 2rem; }
.dj-hero__aside { display: grid; align-content: end; }
.dj-page-hero { position: relative; overflow: hidden; padding: clamp(3.5rem, 8vw, 7.5rem) 0; background: var(--dj-ink); color: var(--dj-ivory); }
.dj-page-hero__layout { display: grid; align-items: end; gap: 2.75rem; }
.dj-page-hero h1 { max-width: 66rem; margin: 1.25rem 0 0; font: 800 clamp(3.15rem, 6.6vw, 6.8rem)/.91 Sora, sans-serif; letter-spacing: -.074em; }
.dj-page-hero p { max-width: 48rem; color: rgba(251,247,237,.68); font-size: 1.06rem; line-height: 1.75; }
.dj-plan-cue { max-width: 25rem; border-left: 2px solid var(--dj-gold); padding-left: 1.35rem; }
.dj-plan-cue p { margin: .7rem 0 0; font-size: .94rem; }

.dj-breadcrumbs { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0; padding: 0; list-style: none; color: rgba(251,247,237,.56); font: 700 .65rem/1.4 Sora, sans-serif; letter-spacing: .1em; text-transform: uppercase; }
.dj-breadcrumbs--light { color: rgba(41,36,31,.48); }
.dj-breadcrumbs a:hover { color: var(--dj-gold); }
.dj-breadcrumbs li + li::before { content: "/"; margin-right: .5rem; color: var(--dj-gold); }

.dj-section { padding: clamp(4rem, 8vw, 7.5rem) 0; }
.dj-section--white { background: #fff; }
.dj-section--stone { background: var(--dj-stone); }
.dj-section--route { background: var(--dj-ivory); }
.dj-section-heading { display: grid; gap: 1rem; max-width: 54rem; }
.dj-section-heading h2 { margin: 0; font: 800 clamp(2.25rem, 4.5vw, 4.6rem)/.96 Sora, sans-serif; letter-spacing: -.06em; }
.dj-section-heading p { margin: 0; color: var(--dj-muted); line-height: 1.8; }
.dj-feature-grid, .dj-card-grid { display: grid; gap: 1rem; margin-top: 2.5rem; }
.dj-feature { position: relative; padding: 1.75rem 0 0; border-top: 2px solid var(--dj-gold); }
.dj-feature__number { position: absolute; top: 1.25rem; right: 0; color: var(--dj-gold); font: 800 .7rem/1 Sora, sans-serif; letter-spacing: .16em; }
.dj-feature h3, .dj-card h3 { margin: 2.1rem 0 .5rem; font: 700 1.22rem/1.2 Sora, sans-serif; letter-spacing: -.035em; }
.dj-feature p, .dj-card p { margin: 0; color: var(--dj-muted); font-size: .9rem; line-height: 1.7; }
.dj-content-stage { display: grid; gap: 2rem; padding: 2rem; border: 1px solid var(--dj-line); background: rgba(255,255,255,.5); }
.dj-content-stage + .dj-content-stage { margin-top: 1rem; }
.dj-content-stage:nth-child(even) { background: #fff; }
.dj-stage-title { margin: .7rem 0 0; font: 700 clamp(1.8rem, 3vw, 2.75rem)/1.05 Sora, sans-serif; letter-spacing: -.05em; }
.dj-stage-body { color: var(--dj-muted); line-height: 1.82; }
.dj-stage-body p:first-child { margin-top: 0; }
.dj-stage-body p:last-child { margin-bottom: 0; }
.dj-check-list { display: grid; gap: .75rem; margin: 1.6rem 0 0; padding: 0; list-style: none; }
.dj-check-list li::before { content: "✓"; display:inline-grid; place-items:center; width:1.15rem; height:1.15rem; margin-right:.7rem; border:1px solid var(--dj-gold); color:var(--dj-gold-deep); font-weight:800; font-size:.72rem; }
.dj-note { margin-top: 1.5rem; border-left: 2px solid var(--dj-gold); padding: .9rem 1rem; background: rgba(216,173,82,.07); color: rgba(41,36,31,.68); font-size: .9rem; font-style: italic; line-height: 1.65; }

.dj-card-grid { grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); }
.dj-card { display: flex; min-height: 17rem; flex-direction: column; justify-content: space-between; border: 1px solid var(--dj-line); padding: 1.5rem; background: var(--dj-ivory); transition: transform .22s var(--dj-ease), box-shadow .22s var(--dj-ease), border-color .22s var(--dj-ease); }
.dj-card:hover { transform: translateY(-.3rem); border-color: rgba(216,173,82,.7); box-shadow: 0 20px 44px rgba(41,36,31,.08); }
.dj-card--ink { background: var(--dj-ink); color: var(--dj-ivory); }
.dj-card--ink p { color: rgba(251,247,237,.6); }
.dj-card__meta { color: var(--dj-gold); font: 700 .66rem/1.25 Sora, sans-serif; letter-spacing: .14em; text-transform: uppercase; }
.dj-card__arrow { margin-top: 1.4rem; color: var(--dj-gold); font: 700 .72rem/1 Sora, sans-serif; letter-spacing: .1em; text-transform: uppercase; }

.dj-compare { display: grid; gap: 1rem; margin-top: 2.5rem; }
.dj-compare-card { border: 1px solid var(--dj-line); padding: 1.5rem; background: var(--dj-ivory); }
.dj-compare-card h3 { margin: 0; color: var(--dj-gold-deep); font: 700 .8rem/1.2 Sora, sans-serif; letter-spacing: .1em; text-transform: uppercase; }
.dj-compare-card strong { display: block; margin-top: 1.5rem; font: 700 1rem/1.2 Sora, sans-serif; }
.dj-compare-card p { margin: .45rem 0 0; color: var(--dj-muted); font-size: .88rem; line-height: 1.65; }
.dj-faq { border-top: 1px solid var(--dj-line); }
.dj-faq details { border-bottom: 1px solid var(--dj-line); }
.dj-faq summary { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.3rem 0; cursor:pointer; font:700 1.05rem/1.35 Sora,sans-serif; }
.dj-faq summary::after { content:"+"; color:var(--dj-gold-deep); font-size:1.4rem; }
.dj-faq details[open] summary::after { content:"−"; }
.dj-faq__answer { max-width: 52rem; padding: 0 0 1.4rem; color: var(--dj-muted); line-height: 1.8; }

.dj-booking { border: 1px solid rgba(255,255,255,.14); padding: 1.35rem; background: var(--dj-ivory); color: var(--dj-ink); box-shadow: 0 24px 70px rgba(0,0,0,.28); }
.dj-booking h2 { margin: .5rem 0 1.4rem; font: 800 1.7rem/1.12 Sora, sans-serif; letter-spacing: -.04em; }
.dj-booking__tabs, .dj-booking__options { display: grid; grid-template-columns: repeat(2, 1fr); gap: .3rem; padding: .3rem; background: rgba(41,36,31,.07); }
.dj-booking__tabs button, .dj-booking__toggle button { border: 0; background: transparent; padding: .75rem .7rem; color: rgba(41,36,31,.56); text-align:left; font: 700 .68rem/1.25 Sora,sans-serif; letter-spacing:.1em; text-transform:uppercase; cursor:pointer; }
.dj-booking__tabs button.is-active, .dj-booking__toggle button.is-active { background: var(--dj-ink); color: var(--dj-ivory); }
.dj-booking form { display:grid; gap:.8rem; margin-top:1rem; }
.dj-field { display: grid; gap: .35rem; }
.dj-field label { font: 700 .63rem/1.2 Sora,sans-serif; letter-spacing:.1em; text-transform:uppercase; }
.dj-field input, .dj-field select { width:100%; min-height:3rem; border:1px solid var(--dj-line); border-radius:0; padding:.7rem .75rem; background:#fff; color:var(--dj-ink); }
.dj-booking__row { display:grid; grid-template-columns:1fr 1fr; gap:.65rem; }
.dj-booking__toggle { display:flex; gap:.35rem; }
.dj-booking__toggle button { border:1px solid var(--dj-line); border-radius:99rem; padding:.55rem .75rem; }
.dj-booking__extras { display:grid; grid-template-columns:repeat(3,1fr); gap:.45rem; }
.dj-booking__extras label { display:flex; align-items:center; gap:.35rem; min-height:2.7rem; border:1px solid var(--dj-line); padding:.45rem; color:var(--dj-muted); font-size:.7rem; }
.dj-booking__message { margin:0; padding:.75rem; background:rgba(216,173,82,.14); color:var(--dj-ink); font-size:.82rem; line-height:1.55; }
.dj-booking__fineprint { margin:0; color:rgba(41,36,31,.52); text-align:center; font-size:.67rem; line-height:1.45; }

.dj-guide-header { position:relative; overflow:hidden; background:var(--dj-stone); padding:clamp(3rem,7vw,6.3rem) 0; }
.dj-guide-header h1 { max-width:66rem; margin:1.25rem 0 0; font:800 clamp(3rem,6vw,6.2rem)/.94 Sora,sans-serif; letter-spacing:-.07em; }
.dj-guide-dek { max-width:48rem; color:var(--dj-muted); font-size:1.12rem; line-height:1.75; }
.dj-byline { display:flex; flex-wrap:wrap; gap:.85rem; align-items:center; margin-top:1.7rem; border-left:2px solid var(--dj-gold); padding-left:1rem; color:var(--dj-muted); font-size:.8rem; }
.dj-guide-layout { display:grid; gap:2.5rem; }
.dj-guide-aside { align-self:start; border:1px solid var(--dj-line); padding:1.5rem; background:var(--dj-ink); color:var(--dj-ivory); }
.dj-guide-aside p { color:rgba(251,247,237,.6); font-size:.88rem; line-height:1.65; }

.dj-site-footer { background: var(--dj-ink); color: var(--dj-ivory); padding: 4rem 0 1.8rem; }
.dj-footer-grid { display:grid; gap:2.5rem; padding-bottom:3rem; border-bottom:1px solid rgba(255,255,255,.1); }
.dj-footer-blurb { max-width:22rem; color:rgba(251,247,237,.5); line-height:1.7; font-size:.86rem; }
.dj-footer-nav { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:2rem; }
.dj-footer-nav h3 { margin:0 0 1rem; color:var(--dj-gold); font:700 .65rem/1 Sora,sans-serif; letter-spacing:.15em; text-transform:uppercase; }
.dj-footer-nav a { display:block; margin-top:.7rem; color:rgba(251,247,237,.62); font-size:.84rem; }
.dj-footer-nav a:hover { color:var(--dj-ivory); }
.dj-footer-bottom { display:flex; flex-wrap:wrap; justify-content:space-between; gap:1rem; padding-top:1.5rem; color:rgba(251,247,237,.35); font-size:.66rem; }

.dj-not-found { display:grid; place-items:center; min-height:55vh; padding:6rem 0; text-align:center; }
.dj-not-found h1 { margin:1rem 0; font:800 clamp(4rem,10vw,10rem)/.8 Sora,sans-serif; letter-spacing:-.1em; }
.dj-not-found p { max-width:32rem; color:var(--dj-muted); }

@media (min-width: 700px) {
  .dj-feature-grid { grid-template-columns: repeat(3, 1fr); gap: 2rem; }
  .dj-compare { grid-template-columns: repeat(3, 1fr); }
  .dj-booking { padding: 1.75rem; }
}
@media (min-width: 960px) {
  .dj-hero__inner { grid-template-columns: minmax(0, 1.05fr) minmax(23rem, .74fr); align-items:center; }
  .dj-page-hero__layout { grid-template-columns: minmax(0, 1.25fr) minmax(19rem, .65fr); }
  .dj-content-stage { grid-template-columns: minmax(15rem, .65fr) minmax(0, 1.35fr); gap: 4rem; padding: 2.8rem; }
  .dj-guide-layout { grid-template-columns: minmax(0, 1fr) 17rem; gap: 5rem; }
  .dj-guide-aside { position:sticky; top:6.8rem; }
  .dj-footer-grid { grid-template-columns: 1.2fr 1.8fr; }
  .dj-footer-nav { grid-template-columns:repeat(3, minmax(0,1fr)); }
}
@media (max-width: 1023px) { .dj-desktop-nav { display:none; } .dj-mobile-toggle { display:grid; place-items:center; } }
@media (max-width: 699px) { .dj-header-actions .dj-button { display:none; } .dj-hero__title { font-size:clamp(3.1rem,15vw,5.1rem); } .dj-booking__extras { grid-template-columns:1fr; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior:auto !important; transition-duration:.01ms !important; animation-duration:.01ms !important; } }
