/*
Theme Name: DATUM Botiga Child
Theme URI: https://dheeraj.generativemarketing.in
Description: DATUM — independent eyewear house. Botiga child theme. Forest canopy design system. Instrument frames, measured fit. Elementor Free + WooCommerce Free.
Author: DATUM
Author URI: https://dheeraj.generativemarketing.in
Template: botiga
Version: 16.1.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: datum
Tags: e-commerce, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, theme-options, translation-ready, block-styles, wide-blocks, accessibility-ready, botiga-child
*/

:root {
  /* DATUM Forest Canopy design system — canopy / moss / brass / vellum */
  --dt-espresso: #0C1410;
  --dt-walnut: #152019;
  --dt-ivory: #EBE6D8;
  --dt-soft-ivory: #EBE6D8;
  --dt-champagne: #C4A15A;
  --dt-taupe: #3E6B4F;
  --dt-black: #0C1410;
  --dt-dark: #0C1410;
  --dt-brown: #152019;
  --dt-light: #152019;
  --dt-bone: #EBE6D8;
  --dt-card: #152019;
  --dt-gold: #C4A15A;
  --dt-gold-light: #EBE6D8;
  --dt-gold-muted: #3E6B4F;
  --dt-text: #EBE6D8;
  --dt-muted: rgba(235, 230, 216, 0.62);
  --dt-border: rgba(196, 161, 90, 0.22);
  --dt-border-strong: rgba(196, 161, 90, 0.40);
  --dt-font-display: "Cormorant Garamond", "Times New Roman", Georgia, serif;
  --dt-font-body: "Inter", system-ui, -apple-system, sans-serif;
  --dt-max: 1320px;
  --dt-header-h: 72px;
  --dt-space-1: 8px;
  --dt-space-2: 16px;
  --dt-space-3: 24px;
  --dt-space-4: 40px;
  --dt-space-5: 64px;
  --dt-space-6: 96px;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-font-smoothing: antialiased; }
body, body.datum {
  margin: 0;
  font-family: var(--dt-font-body);
  font-size: 16px;
  line-height: 1.65;
  background: var(--dt-dark);
  color: var(--dt-text);
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--dt-gold); text-decoration: none; }
a:hover { color: var(--dt-gold-light); }
h1, h2, h3, h4, h5, h6 {
  font-family: var(--dt-font-display);
  font-weight: 400;
  letter-spacing: -0.02em;
  line-height: 1.12;
  margin: 0 0 0.6em;
  color: var(--dt-gold-light);
}
p { margin: 0 0 1em; }
::selection { background: var(--dt-gold); color: var(--dt-dark); }

/* Announce */
.dt-announce {
  background: var(--dt-brown);
  color: var(--dt-gold);
  text-align: center;
  font-size: 10px;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  padding: 10px 16px;
  border-bottom: 1px solid var(--dt-border);
}

/* Header */
.dt-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(26, 18, 11, 0.95);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid var(--dt-border);
}
.dt-header__inner {
  max-width: var(--dt-max);
  margin: 0 auto;
  padding: 0 24px;
  min-height: var(--dt-header-h);
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 16px;
}
.dt-nav-left, .dt-nav-right {
  display: none;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 0 28px;
  align-items: center;
}
.dt-nav-right { justify-content: flex-end; }
@media (min-width: 1100px) {
  .dt-nav-left, .dt-nav-right { display: flex; }
  .dt-menu-toggle { display: none !important; }
  .dt-header-bag-mobile { display: none !important; }
}
.dt-nav-left > li, .dt-nav-right > li { position: relative; list-style: none; }
.dt-nav-left a, .dt-nav-right a {
  font-size: 10.5px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 500;
  color: var(--dt-gold);
  text-decoration: none;
  padding: 24px 0;
  display: inline-block;
}
.dt-nav-left a:hover, .dt-nav-right a:hover { color: var(--dt-gold-light); }
.dt-logo {
  font-family: var(--dt-font-display);
  font-size: 1.35rem;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  text-decoration: none !important;
  text-align: center;
  color: var(--dt-gold-light) !important;
}
.dt-menu-toggle {
  background: none;
  border: 0;
  font-size: 10.5px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--dt-gold);
  cursor: pointer;
  justify-self: start;
  padding: 8px 0;
}
.dt-header-bag-mobile {
  justify-self: end;
  font-size: 10.5px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--dt-gold);
  text-decoration: none;
}

/* Mega-style dropdown */
.dt-nav-left .sub-menu,
.dt-nav-right .sub-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 260px;
  margin: 0;
  padding: 20px 0;
  list-style: none;
  background: var(--dt-brown);
  border: 1px solid var(--dt-border);
  border-top: 1px solid var(--dt-border-strong);
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.5);
  z-index: 120;
}
.dt-nav-right .sub-menu { left: auto; right: 0; }
.dt-nav-left > li:hover > .sub-menu,
.dt-nav-right > li:hover > .sub-menu,
.dt-nav-left > li:focus-within > .sub-menu,
.dt-nav-right > li:focus-within > .sub-menu {
  display: block;
}
.dt-nav-left .sub-menu li,
.dt-nav-right .sub-menu li { list-style: none; }
.dt-nav-left .sub-menu a,
.dt-nav-right .sub-menu a {
  display: block;
  padding: 10px 24px;
  font-size: 12px;
  letter-spacing: 0.06em;
  text-transform: none;
  color: rgba(168, 173, 178, 0.72);
  font-weight: 400;
}
.dt-nav-left .sub-menu a:hover,
.dt-nav-right .sub-menu a:hover {
  color: var(--dt-gold);
  background: rgba(184, 181, 173, 0.06);
}
.dt-nav-left .sub-menu .sub-menu,
.dt-nav-right .sub-menu .sub-menu {
  top: 0;
  left: 100%;
}

/* Mobile panel */
.dt-mobile-panel {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 200;
  background: var(--dt-dark);
  color: var(--dt-text);
  padding: 24px 28px 48px;
  overflow-y: auto;
}
.dt-mobile-panel.is-open { display: block; }
.dt-mobile-panel a {
  display: block;
  padding: 12px 0;
  border-bottom: 1px solid var(--dt-border);
  color: var(--dt-gold-light);
  text-decoration: none;
  font-size: 13px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.dt-mobile-panel .dt-mob-label {
  margin-top: 28px;
  margin-bottom: 8px;
  font-size: 10px;
  letter-spacing: 0.22em;
  color: var(--dt-gold-muted);
  text-transform: uppercase;
  font-family: var(--dt-font-display);
}
.dt-mobile-close {
  background: none;
  border: 0;
  color: var(--dt-gold);
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  cursor: pointer;
  margin-bottom: 24px;
}

/* Layout */
.site { min-height: 100vh; display: flex; flex-direction: column; background: var(--dt-dark); }
.site-content { flex: 1; }
.dt-wrap { max-width: var(--dt-max); margin: 0 auto; padding-left: 24px; padding-right: 24px; }
.dt-section { padding: clamp(3.5rem, 7vw, 6.5rem) 0; }
.dt-section--card { background: var(--dt-brown); }
.dt-section--light { background: var(--dt-light); }
.dt-eyebrow {
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--dt-gold-muted);
  margin: 0 0 1rem;
  font-family: var(--dt-font-display);
}
.dt-lead {
  font-size: 1.05rem;
  line-height: 1.7;
  color: var(--dt-muted);
  max-width: 36rem;
}
.dt-gold-line {
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(184, 181, 173, 0.35), transparent);
  border: 0;
  margin: 2rem 0;
}

.dt-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 28px;
  font-family: var(--dt-font-body);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  text-decoration: none !important;
  border: 0;
  cursor: pointer;
  transition: background 0.25s, color 0.25s, border-color 0.25s;
}
.dt-btn--gold {
  background: var(--dt-gold);
  color: var(--dt-dark) !important;
}
.dt-btn--gold:hover { background: var(--dt-gold-light); }
.dt-btn--outline {
  background: transparent;
  color: var(--dt-gold) !important;
  box-shadow: inset 0 0 0 1px var(--dt-border-strong);
}
.dt-btn--outline:hover { box-shadow: inset 0 0 0 1px var(--dt-gold); color: var(--dt-gold-light) !important; }
.dt-btn-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 2rem; }

/* Hero */
.dt-hero {
  position: relative;
  min-height: min(88vh, 780px);
  display: flex;
  align-items: flex-end;
  background: var(--dt-brown);
  color: var(--dt-text);
}
.dt-hero__media {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(to top, rgba(26,18,11,0.92) 0%, rgba(26,18,11,0.4) 55%, rgba(26,18,11,0.5) 100%),
    radial-gradient(ellipse at 50% 30%, var(--dt-walnut) 0%, var(--dt-espresso) 70%);
}
.dt-hero__content {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: var(--dt-max);
  margin: 0 auto;
  padding: clamp(3rem, 8vw, 5.5rem) 24px;
}
.dt-hero h1 {
  font-size: clamp(2.8rem, 1.2rem + 6vw, 5.2rem);
  color: var(--dt-gold-light);
  max-width: 12ch;
}
.dt-hero p { max-width: 28rem; color: var(--dt-muted); }

/* Cards / grid */
.dt-grid {
  display: grid;
  gap: 24px 18px;
  grid-template-columns: repeat(2, 1fr);
}
@media (min-width: 768px) { .dt-grid { grid-template-columns: repeat(3, 1fr); } }
.dt-card {
  display: flex;
  flex-direction: column;
  text-decoration: none !important;
  color: inherit;
  background: var(--dt-card);
  border: 1px solid var(--dt-border);
  transition: border-color 0.35s, transform 0.35s;
}
.dt-card:hover {
  border-color: var(--dt-border-strong);
  transform: translateY(-2px);
  color: inherit;
}
.dt-card__media {
  aspect-ratio: 4 / 5;
  background: var(--dt-light);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
}
.dt-card__media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 10%;
}
.dt-card__badge {
  position: absolute;
  top: 12px;
  left: 12px;
  font-size: 9px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  background: var(--dt-dark);
  color: var(--dt-gold);
  padding: 6px 10px;
  border: 1px solid var(--dt-border);
}
.dt-card h3 {
  font-family: var(--dt-font-display);
  font-size: 1.05rem;
  letter-spacing: 0.04em;
  margin: 1rem 1rem 0.35rem;
  color: var(--dt-gold);
}
.dt-card p {
  margin: 0 1rem;
  font-size: 11px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--dt-muted);
}
.dt-card__price {
  margin: 0.5rem 1rem 1.25rem !important;
  color: var(--dt-gold-light) !important;
  font-size: 13px !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.dt-intent {
  display: grid;
  gap: 12px;
  grid-template-columns: 1fr;
}
@media (min-width: 700px) { .dt-intent { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1000px) { .dt-intent { grid-template-columns: repeat(6, 1fr); } }
.dt-intent a {
  display: flex;
  align-items: flex-end;
  min-height: 120px;
  padding: 20px;
  background: var(--dt-card);
  border: 1px solid var(--dt-border);
  text-decoration: none !important;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--dt-gold);
  transition: border-color 0.3s;
}
.dt-intent a:hover { border-color: var(--dt-border-strong); color: var(--dt-gold-light); }

.dt-service-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: 1fr;
}
@media (min-width: 700px) { .dt-service-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1000px) { .dt-service-grid { grid-template-columns: repeat(3, 1fr); } }
.dt-service-grid a {
  display: block;
  padding: 28px 24px;
  background: var(--dt-card);
  border: 1px solid var(--dt-border);
  text-decoration: none !important;
  min-height: 160px;
  color: inherit;
  transition: border-color 0.3s;
}
.dt-service-grid a:hover { border-color: var(--dt-border-strong); }
.dt-service-grid h3 {
  font-family: var(--dt-font-body);
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin: 0 0 0.75rem;
  color: var(--dt-gold);
}
.dt-service-grid p { margin: 0; font-size: 14px; color: var(--dt-muted); }

/* Page hero */
.dt-page-hero {
  padding: clamp(3rem, 6vw, 5rem) 0 2rem;
  border-bottom: 1px solid var(--dt-border);
}
.dt-page-hero h1 {
  font-size: clamp(2.2rem, 1.2rem + 3.5vw, 3.75rem);
  color: var(--dt-gold-light);
}
.dt-page-hero .dt-sub {
  font-family: var(--dt-font-display);
  font-size: clamp(1.1rem, 1rem + 0.8vw, 1.4rem);
  color: var(--dt-gold-muted);
  margin-bottom: 1rem;
}
.dt-cat-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 20px;
  margin: 1.75rem 0 0;
  padding: 0;
  list-style: none;
}
.dt-cat-nav a {
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--dt-muted);
}
.dt-cat-nav a:hover { color: var(--dt-gold); }

.dt-prose {
  max-width: 720px;
  margin: 0 auto;
  padding: clamp(3rem, 6vw, 5rem) 24px;
  color: var(--dt-muted);
}
.dt-prose h2 { color: var(--dt-gold-light); margin-top: 2.5rem; }
.dt-prose h3 {
  font-family: var(--dt-font-body);
  font-size: 0.8rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--dt-gold);
  margin-top: 1.75rem;
}
.dt-faq details { border-bottom: 1px solid var(--dt-border); padding: 1.1rem 0; }
.dt-faq summary { cursor: pointer; color: var(--dt-gold-light); font-weight: 500; list-style: none; }
.dt-faq summary::-webkit-details-marker { display: none; }
.dt-faq details p { margin: 0.75rem 0 0; color: var(--dt-muted); font-size: 14px; }

.dt-newsletter { display: flex; flex-wrap: wrap; gap: 8px; max-width: 420px; }
.dt-newsletter input[type="email"] {
  flex: 1 1 200px;
  min-height: 44px;
  border: 1px solid var(--dt-border);
  background: rgba(247,241,232,0.04);
  padding: 0 16px;
  font-family: inherit;
  font-size: 13px;
  color: var(--dt-text);
}
.dt-newsletter input::placeholder { color: var(--dt-muted); }

/* Footer — menu driven */
.dt-footer {
  background: var(--dt-brown);
  color: var(--dt-text);
  padding: 4.5rem 0 2rem;
  margin-top: auto;
  border-top: 1px solid var(--dt-border);
}
.dt-footer a {
  color: rgba(168, 173, 178, 0.68);
  text-decoration: none;
  font-size: 12px;
}
.dt-footer a:hover { color: var(--dt-gold); }
.dt-footer__grid {
  display: grid;
  gap: 2.5rem;
  grid-template-columns: 1fr;
}
@media (min-width: 700px) { .dt-footer__grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1100px) { .dt-footer__grid { grid-template-columns: 1.3fr repeat(4, 1fr); } }
.dt-footer h4 {
  font-family: var(--dt-font-body);
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--dt-gold-muted);
  margin: 0 0 1rem;
}
.dt-footer ul { list-style: none; margin: 0; padding: 0; }
.dt-footer li { margin-bottom: 0.5rem; }
.dt-footer .menu { list-style: none; margin: 0; padding: 0; }
.dt-footer .menu a {
  display: block;
  padding: 0.2rem 0;
  font-size: 12px;
  color: rgba(168, 173, 178, 0.68);
}
.dt-footer .menu a:hover { color: var(--dt-gold); }
.dt-footer__bottom {
  margin-top: 3.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--dt-border);
  display: flex;
  flex-wrap: wrap;
  gap: 12px 24px;
  justify-content: space-between;
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--dt-muted);
}
.dt-footer__bottom a { color: var(--dt-muted); font-size: 10px; }

/* Woo */
.woocommerce .button,
.woocommerce a.button,
.woocommerce button.button {
  background: var(--dt-gold) !important;
  color: var(--dt-dark) !important;
  border-radius: 0 !important;
  font-size: 11px !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
}
.woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px 18px;
}
@media (min-width: 768px) {
  .woocommerce ul.products { grid-template-columns: repeat(3, 1fr); }
}
.woocommerce ul.products li.product {
  width: 100% !important;
  margin: 0 !important;
  float: none !important;
  background: var(--dt-card);
  border: 1px solid var(--dt-border);
  padding: 0 0 1rem !important;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--dt-font-display);
  color: var(--dt-gold);
  font-size: 1rem;
  padding: 0 1rem;
}
.woocommerce ul.products li.product .price { color: var(--dt-gold-light) !important; padding: 0 1rem; }

.screen-reader-text {
  border: 0; clip: rect(1px,1px,1px,1px); clip-path: inset(50%);
  height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px;
}

/* Mobile WP menus */
.dt-mobile-menu {
  list-style: none;
  margin: 0;
  padding: 0;
}
.dt-mobile-menu a {
  display: block;
  padding: 12px 0;
  border-bottom: 1px solid var(--dt-border);
  color: var(--dt-gold-light);
  text-decoration: none;
  font-size: 13px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.dt-mobile-menu .sub-menu {
  list-style: none;
  margin: 0;
  padding: 0 0 0 16px;
}
.dt-mobile-menu .sub-menu a {
  font-size: 12px;
  text-transform: none;
  letter-spacing: 0.06em;
  color: var(--dt-muted);
}

.dt-footer-brand {
  font-family: var(--dt-font-display);
  font-size: 1.25rem;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  margin: 0 0 0.75rem;
  color: var(--dt-gold);
}
.dt-footer-tagline {
  margin: 0;
  font-size: 13px;
  line-height: 1.6;
  color: var(--dt-muted);
}
.dt-grid {
  grid-template-columns: repeat(2, 1fr);
}
@media (min-width: 768px) {
  .dt-grid { grid-template-columns: repeat(5, 1fr); }
}

.dt-breadcrumbs{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--dt-muted);padding:1rem 0;}
.dt-breadcrumbs a{color:var(--dt-champagne);}

/* Botiga top bar → DATUM announcement look */
body.datum-botiga-child .top-bar {
  background: var(--dt-espresso, #0C1410) !important;
  color: var(--dt-champagne, #C4A15A) !important;
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-align: center;
  padding: 0.55rem 1rem;
}
body.datum-botiga-child .top-bar a { color: inherit; }
body.datum-botiga-child .top-bar-text { width: 100%; text-align: center; }


/* Mobile panel: single instance, closed by default */
.dt-mobile-panel[hidden],
.dt-mobile-panel[aria-hidden="true"]{display:none!important}
.dt-mobile-panel.is-open{display:block!important}
/* Avoid printing desktop+mobile navs as both visible on desktop */
@media(min-width:901px){
  .dt-mobile-panel{display:none!important}
  .dt-menu-toggle,.dt-header-bag-mobile{display:none}
}
@media(max-width:900px){
  .dt-nav-desktop-left,.dt-nav-desktop-right{display:none!important}
}



/* Light island: use sparingly on long pages so the dark gallery has a visual rest. */
.dt-section--bone {
  background: var(--dt-bone) !important;
  color: var(--dt-espresso) !important;
}
.dt-section--bone .elementor-heading-title,
.dt-section--bone h1,
.dt-section--bone h2,
.dt-section--bone h3,
.dt-section--bone h4,
.dt-section--bone p,
.dt-section--bone .dt-lead,
.dt-section--bone .dt-section-header .dt-eyebrow,
.dt-section--bone .elementor-tab-title,
.dt-section--bone .elementor-tab-content {
  color: var(--dt-espresso) !important;
}
.dt-section--bone a { color: var(--dt-espresso) !important; }
.dt-section--bone .elementor-tabs-wrapper,
.dt-section--bone .elementor-tabs-content-wrapper { border-color: rgba(26,18,11,.16) !important; }
.dt-section--bone .dt-btn--gold,
.dt-section--bone .elementor-button {
  background: var(--dt-espresso) !important;
  color: var(--dt-ivory) !important;
}

/* —— Product detail / trust (WooCommerce single) —— */
.dt-product-story{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(184, 181, 173, .25)}
.dt-pdp-meas,.dt-card-meas{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--dt-champagne,#C4A15A);margin:.25rem 0}
.dt-pdp-emi{font-size:14px;margin:.5rem 0;color:rgba(241, 236, 226, .88)}
.dt-pdp-trust{font-size:13px;margin:.5rem 0 1rem;color:rgba(241, 236, 226, .72)}
.dt-section--bone{background:var(--dt-ivory,#EBE6D8);color:var(--dt-espresso,#0C1410)}
.dt-btn--dark{background:var(--dt-espresso,#0C1410);color:var(--dt-ivory,#EBE6D8)}
.dt-steps{list-style:decimal;padding-left:1.25rem;margin:1rem 0}
.dt-steps li{margin:.5rem 0}
.dt-service-card{background:var(--dt-walnut,#152019);padding:1.25rem;border-radius:2px}
.dt-craft-split{display:grid;gap:1.5rem}
@media(min-width:768px){.dt-craft-split{grid-template-columns:1fr 1fr}}


/* v15.5 — Elementor-native visual system */
.dt-hero { overflow:hidden; }
.dt-hero__visual .elementor-widget-image img { width:100%; height:min(86vh,820px); object-fit:cover; }
.dt-hero__content { padding-right:clamp(0px,4vw,64px); }
.dt-hero__title .elementor-heading-title { font-size:clamp(3.2rem,6.6vw,7rem); line-height:.94; }
.dt-statement .elementor-heading-title { font-size:clamp(2rem,5vw,5rem); line-height:.95; }
.dt-section-header { max-width:760px; }
.dt-product-grid > .elementor-element { flex:0 0 calc(25% - 14px); max-width:calc(25% - 14px); }
.dt-product-card { transition:transform .28s ease, background .28s ease; }
.dt-product-card:hover { transform:translateY(-5px); background:#152019!important; }
.dt-product-card__image img { aspect-ratio:1/1; object-fit:contain; }
.dt-product-card__name .elementor-heading-title { font-size:1.45rem; }
.dt-product-card__meta p { color:rgba(168, 173, 178, .68); font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; }
.dt-product-card__price { color:#C4A15A; margin-top:.45rem; }
.dt-feature-grid > .elementor-element { flex:0 0 calc(25% - 18px); max-width:calc(25% - 18px); }
.dt-editorial__image img { width:100%; height:100%; min-height:560px; object-fit:cover; }
.dt-editorial__content { padding:clamp(48px,7vw,100px); }
.dt-about-grid > .elementor-element, .dt-journal-grid > .elementor-element { flex:1 1 0; min-width:220px; }
.dt-filter-row { gap:10px; }
.dt-filter-row .elementor-widget-button { width:auto; }
.dt-rich-content { width:100%; }
.dt-rich-content h2 { margin-top:2.4em; }
.dt-rich-content h3 { margin-top:1.8em; }
.dt-rich-content ul, .dt-rich-content ol { padding-left:1.25rem; }
.dt-accordion .elementor-tab-title, .dt-tabs .elementor-tab-title { color:#EBE6D8!important; border-color:rgba(184, 181, 173, .25)!important; }
.dt-accordion .elementor-tab-content, .dt-tabs .elementor-tab-content { color:rgba(241, 236, 226, .72)!important; border-color:rgba(184, 181, 173, .20)!important; }
.dt-button-row { gap:12px; }
.dt-divider .elementor-divider-separator { border-top-color:rgba(184, 181, 173, .38)!important; }
@media(max-width:1099px){
  .dt-product-grid > .elementor-element { flex-basis:calc(50% - 9px); max-width:calc(50% - 9px); }
  .dt-feature-grid > .elementor-element { flex-basis:calc(50% - 12px); max-width:calc(50% - 12px); }
  .dt-hero__visual .elementor-widget-image img { height:62vh; min-height:440px; }
}
@media(max-width:767px){
  .dt-hero { flex-direction:column!important; min-height:auto!important; }
  .dt-hero__content { padding:48px 0 20px!important; }
  .dt-hero__visual .elementor-widget-image img { height:auto; min-height:0; aspect-ratio:4/5; }
  .dt-product-grid > .elementor-element, .dt-feature-grid > .elementor-element { flex-basis:100%; max-width:100%; }
  .dt-editorial__image img { min-height:360px; }
  .dt-editorial__content { padding:56px 28px; }
  .dt-about-grid > .elementor-element, .dt-journal-grid > .elementor-element { min-width:100%; }
}

.dt-page-layout > .elementor-element { box-sizing:border-box; }
.dt-page-side { border:1px solid rgba(184, 181, 173, .16); }
.dt-page-side .elementor-widget-icon-box { padding-bottom:22px; margin-bottom:22px; border-bottom:1px solid rgba(184, 181, 173, .14); }
.dt-page-side .elementor-widget-icon-box:last-child { border-bottom:0; margin-bottom:0; padding-bottom:0; }
.dt-page-main { padding-right:clamp(0px,4vw,64px); }
@media(max-width:767px){ .dt-page-main { padding-right:0; } .dt-page-layout { flex-direction:column!important; } .dt-page-layout > .elementor-element { flex-basis:100%!important; max-width:100%!important; } }


/* FULL WIDTH LAYOUT — Botiga content box override */
body.datum-botiga-child .content-wrapper,
body.datum-botiga-child #content,
body.datum-botiga-child .site-content,
body.datum-botiga-child #primary,
body.datum-botiga-child .site-main {
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
body.datum-botiga-child .elementor-section.elementor-section-boxed > .elementor-container {
  max-width: min(1320px, 100%) !important;
}
body.datum-botiga-child .elementor-section.elementor-section-full_width,
body.datum-botiga-child .e-con-full {
  width: 100% !important;
  max-width: 100% !important;
}

/* —— DATUM page layout (GitHub parity) —— */
.dt-home-hero {
  display: grid;
  min-height: 78vh;
  grid-template-columns: 1fr;
  background: var(--dt-dark, #0C1410);
  color: var(--dt-text, #EBE6D8);
}
@media (min-width: 1024px) {
  .dt-home-hero { grid-template-columns: 1fr 1fr; }
}
.dt-home-hero__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 4rem clamp(1.25rem, 4vw, 3rem);
  background: var(--dt-dark, #0C1410);
}
.dt-home-hero__copy h1 {
  font-family: var(--dt-font-display, "Cormorant Garamond", Georgia, serif);
  font-size: clamp(2.75rem, 6vw, 4.5rem);
  line-height: 0.95;
  margin: 1rem 0 0;
  color: var(--dt-ivory, #EBE6D8);
  font-weight: 400;
}
.dt-home-hero__media {
  min-height: 42vh;
  background-size: cover;
  background-position: center;
  background-color: var(--dt-brown, #152019);
}
.dt-eyebrow {
  font-size: 11px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--dt-gold, #C4A15A);
  margin: 0;
}
.dt-lead {
  max-width: 28rem;
  color: var(--dt-muted, rgba(235,230,216,0.62));
  line-height: 1.65;
  margin: 1.25rem 0 0;
}
.dt-btn-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 2rem;
}
.dt-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 1.5rem;
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  text-decoration: none !important;
  border: 1px solid transparent;
}
.dt-btn--gold {
  background: var(--dt-gold, #C4A15A);
  color: var(--dt-dark, #0C1410) !important;
  border-color: var(--dt-gold, #C4A15A);
}
.dt-btn--outline {
  background: transparent;
  color: var(--dt-text, #EBE6D8) !important;
  border-color: var(--dt-border, rgba(196,161,90,0.35));
}
.dt-btn--outline:hover {
  border-color: var(--dt-gold, #C4A15A);
  color: var(--dt-gold, #C4A15A) !important;
}
.dt-section {
  padding: 4rem 0;
  background: var(--dt-dark, #0C1410);
  color: var(--dt-text, #EBE6D8);
}
.dt-section--center { text-align: center; }
.dt-section--center .dt-lead { margin-left: auto; margin-right: auto; }
.dt-wrap {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 clamp(1.25rem, 4vw, 2rem);
  width: 100%;
  box-sizing: border-box;
}
.dt-wrap--narrow { max-width: 42rem; }
.dt-display {
  font-family: var(--dt-font-display, "Cormorant Garamond", Georgia, serif);
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  line-height: 1.25;
  margin: 1.5rem 0 0;
  color: var(--dt-ivory, #EBE6D8);
}
.dt-italic {
  font-style: italic;
  color: var(--dt-muted, rgba(235,230,216,0.62));
  margin-top: 1.5rem;
}
.dt-section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 2rem;
}
.dt-section-head h2 {
  font-family: var(--dt-font-display, "Cormorant Garamond", Georgia, serif);
  font-size: clamp(2rem, 4vw, 2.75rem);
  margin: 0;
  font-weight: 400;
}
.dt-link-caps {
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--dt-gold, #C4A15A) !important;
}
.dt-cards-3 {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: 1fr;
}
@media (min-width: 768px) {
  .dt-cards-3 { grid-template-columns: repeat(3, 1fr); }
}
.dt-card {
  display: block;
  border: 1px solid var(--dt-border, rgba(196,161,90,0.22));
  background: var(--dt-card, #152019);
  padding: 2rem;
  color: inherit;
  text-decoration: none !important;
  transition: border-color 0.2s;
}
.dt-card:hover { border-color: var(--dt-gold, #C4A15A); }
.dt-card h3 {
  font-family: var(--dt-font-display, "Cormorant Garamond", Georgia, serif);
  font-size: 1.75rem;
  margin: 0.75rem 0 0;
  font-weight: 400;
  color: var(--dt-ivory, #EBE6D8);
}
.dt-card p:last-child {
  margin-top: 1rem;
  font-size: 0.9rem;
  color: var(--dt-muted, rgba(235,230,216,0.62));
  line-height: 1.6;
}
.dt-split {
  display: grid;
  grid-template-columns: 1fr;
  border: 1px solid var(--dt-border, rgba(196,161,90,0.22));
  overflow: hidden;
}
@media (min-width: 1024px) {
  .dt-split { grid-template-columns: 1fr 1fr; }
}
.dt-split__media {
  min-height: 18rem;
  background-size: cover;
  background-position: center;
  background-color: var(--dt-brown, #152019);
}
.dt-split__copy {
  background: var(--dt-card, #152019);
  padding: 2.5rem;
}
.dt-split__copy h2 {
  font-family: var(--dt-font-display, "Cormorant Garamond", Georgia, serif);
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  margin: 0.75rem 0 0;
  font-weight: 400;
}
.dt-page-hero {
  background: var(--dt-dark, #0C1410);
  color: var(--dt-text, #EBE6D8);
  padding: 4rem clamp(1.25rem, 4vw, 3rem) 2rem;
}
.dt-page-hero h1 {
  font-family: var(--dt-font-display, "Cormorant Garamond", Georgia, serif);
  font-size: clamp(2.5rem, 5vw, 3.5rem);
  font-weight: 400;
  margin: 0.5rem 0 0;
  color: var(--dt-ivory, #EBE6D8);
}
.dt-page-hero .dt-sub { color: var(--dt-gold, #C4A15A); font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; }
.dt-prose { padding-bottom: 3rem; max-width: 42rem; }
.dt-prose h2, .dt-prose h3 {
  font-family: var(--dt-font-display, "Cormorant Garamond", Georgia, serif);
  font-weight: 400;
  color: var(--dt-ivory, #EBE6D8);
}
.dt-prose p, .dt-prose li { color: var(--dt-muted, rgba(235,230,216,0.75)); line-height: 1.7; }
.dt-step { margin-bottom: 2rem; }
.dt-step h2 { margin: 0.35rem 0 0.5rem; font-size: 1.75rem; }
.dt-cat-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
  list-style: none;
  margin: 0 0 2rem;
  padding: 0;
}
.dt-cat-nav a {
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--dt-gold, #C4A15A) !important;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}
