/* ============================================================
   DARLOUMA — Homepage + global brand layer
   Fonts enqueued separately (Fraunces + Jost) by the mu-plugin.
   ============================================================ */

.dl-page{
  --ink:          oklch(0.26 0.02 165);
  --emerald:      oklch(0.42 0.085 168);
  --emerald-deep: oklch(0.34 0.075 168);
  --gold:         oklch(0.70 0.075 80);
  --gold-soft:    oklch(0.86 0.045 84);
  --cream:        oklch(0.975 0.012 90);
  --cream-2:      oklch(0.945 0.016 88);
  --line:         oklch(0.88 0.012 90);
  --serif: "Fraunces", Georgia, "Times New Roman", serif;
  --sans:  "Jost", system-ui, -apple-system, "Segoe UI", sans-serif;
  --quint: cubic-bezier(0.22, 1, 0.36, 1);
  --t-fast: 240ms;
  --wrap: 1240px;
  --pad: clamp(1.25rem, 5vw, 4rem);
  background: var(--cream);
  color: var(--ink);
  font-family: var(--sans);
  font-weight: 400;
  font-size: 1.0625rem;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
.dl-page *,.dl-page *::before,.dl-page *::after{ box-sizing: border-box; }
.dl-page p{ max-width: 68ch; }
.dl-page a{ color: inherit; text-decoration: none; }

.dl-eyebrow{ font-family: var(--sans); font-weight: 500; font-size: .8rem; letter-spacing: .22em; text-transform: uppercase; color: var(--emerald); margin: 0 0 1rem; }
.dl-eyebrow--gold{ color: var(--gold-soft); }
.dl-h2{ font-family: var(--serif); font-weight: 500; font-size: clamp(1.75rem, 4vw, 2.65rem); line-height: 1.12; letter-spacing: -0.01em; margin: 0 0 1.25rem; }

.dl-btn{ display:inline-flex; align-items:center; justify-content:center; font-family:var(--sans); font-weight:500; font-size:.95rem; letter-spacing:.02em; padding:.9em 1.6em; border-radius:999px; border:1.5px solid transparent; cursor:pointer; transition: transform var(--t-fast) var(--quint), box-shadow var(--t-fast) var(--quint), background-color var(--t-fast) var(--quint), color var(--t-fast) var(--quint); will-change: transform; }
.dl-btn--primary{ background: var(--emerald); color: var(--cream); }
.dl-btn--primary:hover,.dl-btn--primary:focus-visible{ transform: translateY(-1px); box-shadow:0 10px 24px -8px oklch(0.34 0.075 168 / .55); background: var(--emerald-deep); }
.dl-btn--ghost{ background: transparent; color: var(--emerald); border-color: currentColor; }
.dl-btn--ghost:hover,.dl-btn--ghost:focus-visible{ transform: translateY(-1px); background: oklch(0.42 0.085 168 / .07); }
.dl-hero .dl-btn--ghost{ color: var(--cream); }
.dl-hero .dl-btn--ghost:hover{ background: oklch(1 0 0 / .1); }
.dl-textlink{ font-weight:500; color: var(--emerald); border-bottom:1.5px solid var(--gold-soft); padding-bottom:2px; transition: border-color var(--t-fast) var(--quint), color var(--t-fast) var(--quint); }
.dl-textlink:hover{ color: var(--emerald-deep); border-color: var(--gold); }

/* HERO */
.dl-hero{ position:relative; min-height: clamp(560px, 88vh, 880px); display:flex; align-items:flex-end; overflow:hidden; isolation:isolate; }
.dl-hero__media{ position:absolute; inset:0; background-size:cover; background-position:center 28%; z-index:-2; }
.dl-hero__scrim{ position:absolute; inset:0; z-index:-1; background: linear-gradient(90deg, oklch(0.30 0.07 168 / .92) 0%, oklch(0.30 0.07 168 / .62) 38%, oklch(0.30 0.07 168 / .12) 72%, transparent 100%), linear-gradient(0deg, oklch(0.26 0.06 168 / .55) 0%, transparent 45%); }
.dl-hero__inner{ width:100%; max-width:var(--wrap); margin:0 auto; padding: clamp(3rem,9vh,7rem) var(--pad) clamp(3rem,8vh,6rem); color: var(--cream); }
.dl-hero__eyebrow{ font-weight:500; font-size:.8rem; letter-spacing:.26em; text-transform:uppercase; color: var(--gold-soft); margin:0 0 1.4rem; }
.dl-hero__title{ font-family:var(--serif); font-weight:500; font-size: clamp(2.2rem,6vw,4rem); line-height:1.04; letter-spacing:-0.01em; margin:0; max-width:16ch; text-wrap:balance; }
.dl-hero__sub{ margin:1.5rem 0 2.25rem; font-weight:300; font-size: clamp(1.0625rem,1.6vw,1.2rem); line-height:1.6; max-width:46ch; color: oklch(0.97 0.012 90 / .92); }
.dl-hero__actions{ display:flex; flex-wrap:wrap; gap:.9rem; }

/* TRUST */
.dl-trust{ background: var(--cream-2); border-top:1px solid var(--gold-soft); }
.dl-trust__row{ list-style:none; margin:0 auto; max-width:var(--wrap); padding:1.15rem var(--pad); display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:1rem 1.75rem; }
.dl-trust__item{ display:inline-flex; align-items:center; gap:.6rem; font-size:.92rem; font-weight:400; color: var(--ink); white-space:nowrap; }
.dl-ico{ width:22px; height:22px; flex:none; stroke: var(--emerald); stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; fill:none; }

/* COLLECTIONS */
.dl-collections{ max-width:var(--wrap); margin:0 auto; padding: clamp(4rem,10vh,7rem) var(--pad) clamp(2rem,6vh,4rem); }
.dl-collections__head{ margin-bottom: clamp(2rem,5vh,3rem); }
.dl-collections__grid{ display:grid; grid-template-columns:1fr; gap: clamp(1rem,2vw,1.5rem); }
@media (min-width:760px){ .dl-collections__grid{ grid-template-columns:1.55fr 1fr; grid-auto-rows:1fr; } .dl-card--feature{ grid-row: span 2; } }
.dl-card{ position:relative; display:block; min-height:300px; border-radius:14px; overflow:hidden; background-size:cover; background-position:center; color: var(--cream); isolation:isolate; transition: transform 420ms var(--quint), box-shadow 420ms var(--quint); }
.dl-card--feature{ min-height:420px; }
@media (min-width:760px){ .dl-card--feature{ min-height:100%; } }
.dl-card__scrim{ position:absolute; inset:0; z-index:0; background: linear-gradient(0deg, oklch(0.26 0.06 168 / .88) 0%, oklch(0.30 0.06 168 / .35) 38%, transparent 68%); transition: opacity var(--t-fast) var(--quint); }
.dl-card__body{ position:absolute; inset:auto 0 0 0; z-index:1; padding: clamp(1.4rem,3vw,2.1rem); display:block; }
.dl-card__label{ display:block; font-family:var(--serif); font-weight:500; font-size: clamp(1.4rem,2.6vw,2rem); line-height:1.1; letter-spacing:-0.01em; }
.dl-card__line{ display:block; height:1.5px; width:28px; margin:.7rem 0; background: var(--gold); transition: width 360ms var(--quint); }
.dl-card__meta{ display:block; font-weight:300; font-size:.95rem; color: oklch(0.97 0.012 90 / .85); max-width:30ch; }
.dl-card__tag{ position:absolute; top: clamp(1rem,2vw,1.4rem); left: clamp(1rem,2vw,1.4rem); z-index:1; font-size:.72rem; font-weight:500; letter-spacing:.12em; text-transform:uppercase; color: var(--ink); background: var(--gold-soft); padding:.4em .85em; border-radius:999px; }
@media (hover:hover){ .dl-card:hover{ transform: translateY(-3px); box-shadow:0 22px 44px -22px oklch(0.26 0.06 168 / .7); } .dl-card:hover .dl-card__line{ width:64px; } }
.dl-card:focus-visible{ outline:2px solid var(--gold); outline-offset:3px; }

/* STORY */
.dl-story{ max-width:var(--wrap); margin:0 auto; padding: clamp(4rem,11vh,8rem) var(--pad); display:grid; grid-template-columns:1fr; gap: clamp(2rem,5vw,4rem); align-items:center; }
@media (min-width:860px){ .dl-story{ grid-template-columns:1.05fr 1fr; } }
.dl-story__media{ background-size:cover; background-position:center; border-radius:14px; min-height: clamp(320px,52vh,560px); }
.dl-story__text p{ margin:0 0 1.15rem; color: oklch(0.30 0.02 165 / .9); }
.dl-story__text p:last-child{ margin-top:1.6rem; margin-bottom:0; }

/* CONCIERGE */
.dl-concierge{ background: var(--emerald-deep); color: var(--cream); }
.dl-concierge__inner{ max-width:760px; margin:0 auto; padding: clamp(3.5rem,9vh,6rem) var(--pad); text-align:center; }
.dl-concierge__inner p{ margin-left:auto; margin-right:auto; }
.dl-concierge__title{ font-family:var(--serif); font-weight:500; font-size: clamp(1.9rem,4.4vw,3rem); line-height:1.1; letter-spacing:-0.01em; margin:0 0 1.1rem; text-wrap:balance; }
.dl-concierge__sub{ font-weight:300; font-size:1.08rem; line-height:1.6; color: oklch(0.97 0.012 90 / .88); max-width:52ch; margin-bottom:2.1rem; }
.dl-concierge .dl-btn--primary{ background: var(--cream); color: var(--emerald-deep); }
.dl-concierge .dl-btn--primary:hover{ background: var(--gold-soft); color: var(--ink); box-shadow:0 12px 28px -10px oklch(0 0 0 / .35); }

/* FOOTER */
.dl-footer{ background: var(--emerald-deep); color: oklch(0.97 0.012 90 / .82); font-size:.95rem; }
.dl-footer__cols{ max-width:var(--wrap); margin:0 auto; padding: clamp(3rem,7vh,5rem) var(--pad) clamp(2rem,4vh,3rem); display:grid; grid-template-columns:1fr; gap:2.25rem; }
@media (min-width:600px){ .dl-footer__cols{ grid-template-columns:1fr 1fr; } }
@media (min-width:980px){ .dl-footer__cols{ grid-template-columns:1.4fr repeat(4,1fr); } }
.dl-footer__logo{ font-family:var(--serif); font-weight:500; font-size:1.6rem; color: var(--cream); margin:0 0 .4rem; letter-spacing:-0.01em; }
.dl-footer__tag{ font-weight:300; margin:0; color: var(--gold-soft); }
.dl-footer__h{ font-family:var(--sans); font-weight:500; font-size:.8rem; letter-spacing:.18em; text-transform:uppercase; color: var(--gold-soft); margin:0 0 1rem; }
.dl-footer__col ul{ list-style:none; margin:0; padding:0; }
.dl-footer__col li{ margin-bottom:.65rem; }
.dl-footer__col a{ transition: color var(--t-fast) var(--quint); }
.dl-footer__col a:hover{ color: var(--cream); }
.dl-footer__base{ max-width:var(--wrap); margin:0 auto; padding:1.5rem var(--pad) clamp(2rem,4vh,3rem); border-top:1px solid oklch(0.70 0.075 80 / .35); display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:.75rem; font-size:.85rem; }
.dl-footer__reassure{ margin:0; color: oklch(0.97 0.012 90 / .72); }
.dl-footer__copy{ margin:0; color: oklch(0.97 0.012 90 / .6); }

/* MOTION */
.dl-reveal{ opacity:0; transform: translateY(10px); transition: opacity 500ms var(--quint), transform 500ms var(--quint); }
.dl-reveal.is-in{ opacity:1; transform:none; }
.dl-reveal.is-in:nth-child(2){ transition-delay:70ms; }
.dl-reveal.is-in:nth-child(3){ transition-delay:140ms; }
.dl-reveal.is-in:nth-child(4){ transition-delay:210ms; }
.dl-collections__grid .dl-reveal.is-in:nth-child(2){ transition-delay:90ms; }
.dl-collections__grid .dl-reveal.is-in:nth-child(3){ transition-delay:180ms; }
@media (prefers-reduced-motion: reduce){ .dl-page *,.dl-page *::before,.dl-page *::after{ animation:none !important; transition-duration:.01ms !important; } .dl-reveal{ opacity:1; transform:none; } }

/* Front page: let hero/footer go edge-to-edge inside Astra container */
.home .dl-page{ margin: 0; }
.home .site-content .ast-container{ max-width:100%; padding:0; }
.home #primary{ margin:0; padding:0; }
.home .entry-content{ margin-top:0; }

/* ============================================================
   GLOBAL BRAND LAYER (store-wide cohesion: shop, product, pages)
   ============================================================ */
:root{ --dl-emerald:#0f5e4e; --dl-emerald-deep:#0b4a3d; --dl-gold:#b08d57; }
body{ font-family:"Jost", system-ui, sans-serif; }
h1,h2,h3,.entry-title,.woocommerce-loop-product__title,.product_title,.widget-title{ font-family:"Fraunces", Georgia, serif; font-weight:500; letter-spacing:-0.01em; }
a{ color: var(--dl-emerald); }
/* WooCommerce buttons → brand */
.woocommerce a.button,.woocommerce button.button,.woocommerce button.button.alt,.woocommerce .button,.wc-block-components-button,.single_add_to_cart_button,.added_to_cart{
  background: var(--dl-emerald) !important; color:#fdfdfb !important; border-radius:999px !important; border:none !important;
}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce button.button.alt:hover,.single_add_to_cart_button:hover{ background: var(--dl-emerald-deep) !important; }
.woocommerce ul.products li.product .price,.woocommerce div.product p.price,.woocommerce div.product span.price{ color: var(--dl-emerald); font-weight:500; }
/* Astra primary accents */
.ast-button,.menu-toggle{ background: var(--dl-emerald); }
