.elementor-kit-199{--e-global-color-accent:#111111;--e-global-color-secondary:#1A1A1A;--e-global-color-primary:#777777;--e-global-color-text:#AD8A56;--e-global-color-twbb_primary_inv:#ffffffff;--e-global-color-twbb_text_inv:#ffffffff;--e-global-color-twbb_button:#000000;--e-global-color-twbb_button_inv:#ffffffff;--e-global-color-twbb_accent_hover:#c0b283CC;--e-global-color-twbb_bg_inv:#000000;--e-global-color-twbb_bg_primary:#ffffffff;--e-global-color-twbb_bg_3:#f3f4f6ff;--e-global-color-twbb_bg_1_dark:#c0b2831A;--e-global-color-twbb_bg_2_dark:#a9a9a91A;--e-global-color-twbb_bg_1:#c0b2830D;--e-global-color-twbb_bg_2:#a9a9a90D;--e-global-color-twbb_transparent:#00000000;--e-global-color-twbb_link:#c0b283;--e-global-color-twbb_black_50:#00000080;--e-global-color-twbb_black_20:#00000033;--e-global-color-twbb_black_10:#0000001A;--e-global-color-twbb_black_15:#00000026;--e-global-color-twbb_black_5:#0000000d;--e-global-color-twbb_white_50:#ffffff80;--e-global-color-twbb_white_20:#ffffff33;--e-global-color-twbb_white_30:#ffffff4D;--e-global-color-twbb_white_15:#ffffff26;--e-global-typography-primary-font-family:"Playfair Display";--e-global-typography-primary-font-size:36px;--e-global-typography-primary-font-weight:500;--e-global-typography-primary-text-transform:none;--e-global-typography-primary-font-style:normal;--e-global-typography-primary-text-decoration:none;--e-global-typography-primary-line-height:41px;--e-global-typography-secondary-font-family:"Playfair Display";--e-global-typography-secondary-font-size:32px;--e-global-typography-secondary-font-weight:300;--e-global-typography-secondary-text-transform:none;--e-global-typography-secondary-font-style:normal;--e-global-typography-secondary-text-decoration:none;--e-global-typography-secondary-line-height:39px;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-size:14px;--e-global-typography-text-font-weight:normal;--e-global-typography-text-text-transform:none;--e-global-typography-text-font-style:normal;--e-global-typography-text-text-decoration:none;--e-global-typography-text-line-height:26px;--e-global-typography-accent-font-family:"Inter";--e-global-typography-accent-font-size:12px;--e-global-typography-accent-font-weight:medium;--e-global-typography-accent-text-transform:none;--e-global-typography-accent-font-style:normal;--e-global-typography-accent-text-decoration:none;--e-global-typography-accent-line-height:20px;--e-global-typography-twbb_h3-font-family:"Inter";--e-global-typography-twbb_h3-font-size:18px;--e-global-typography-twbb_h3-font-weight:300;--e-global-typography-twbb_h3-text-transform:none;--e-global-typography-twbb_h3-font-style:normal;--e-global-typography-twbb_h3-text-decoration:none;--e-global-typography-twbb_h3-line-height:48px;--e-global-typography-twbb_h4-font-family:"Inter";--e-global-typography-twbb_h4-font-size:14px;--e-global-typography-twbb_h4-text-transform:none;--e-global-typography-twbb_h4-font-style:normal;--e-global-typography-twbb_h4-text-decoration:none;--e-global-typography-twbb_h4-line-height:40px;--e-global-typography-twbb_h5-font-family:"Inter";--e-global-typography-twbb_h5-font-size:12px;--e-global-typography-twbb_h5-text-transform:none;--e-global-typography-twbb_h5-font-style:normal;--e-global-typography-twbb_h5-text-decoration:none;--e-global-typography-twbb_h5-line-height:32px;--e-global-typography-twbb_h6-font-family:"Inter";--e-global-typography-twbb_h6-font-size:10px;--e-global-typography-twbb_h6-text-transform:none;--e-global-typography-twbb_h6-font-style:normal;--e-global-typography-twbb_h6-text-decoration:none;--e-global-typography-twbb_h6-line-height:28px;--e-global-typography-twbb_bold-font-family:"Inter";--e-global-typography-twbb_bold-font-size:14px;--e-global-typography-twbb_bold-font-weight:400;--e-global-typography-twbb_bold-text-transform:none;--e-global-typography-twbb_bold-font-style:normal;--e-global-typography-twbb_bold-text-decoration:none;--e-global-typography-twbb_bold-line-height:24px;--e-global-typography-twbb_p1-font-family:"Inter";--e-global-typography-twbb_p1-font-size:12px;--e-global-typography-twbb_p1-font-weight:normal;--e-global-typography-twbb_p1-text-transform:none;--e-global-typography-twbb_p1-font-style:normal;--e-global-typography-twbb_p1-text-decoration:none;--e-global-typography-twbb_p1-line-height:1.6em;--e-global-typography-twbb_p3-font-family:"Inter";--e-global-typography-twbb_p3-font-size:10px;--e-global-typography-twbb_p3-font-weight:normal;--e-global-typography-twbb_p3-text-transform:none;--e-global-typography-twbb_p3-font-style:normal;--e-global-typography-twbb_p3-text-decoration:none;--e-global-typography-twbb_p3-line-height:1.6em;--e-global-typography-twbb_p4-font-family:"Inter";--e-global-typography-twbb_p4-font-size:8px;--e-global-typography-twbb_p4-font-weight:normal;--e-global-typography-twbb_p4-text-transform:none;--e-global-typography-twbb_p4-font-style:normal;--e-global-typography-twbb_p4-text-decoration:none;--e-global-typography-twbb_p4-line-height:1.6em;--e-global-typography-twbb_p5-font-family:"Inter";--e-global-typography-twbb_p5-font-size:16px;--e-global-typography-twbb_p5-font-weight:normal;--e-global-typography-twbb_p5-text-transform:none;--e-global-typography-twbb_p5-font-style:normal;--e-global-typography-twbb_p5-text-decoration:none;--e-global-typography-twbb_p5-line-height:1.6em;--e-global-typography-twbb_label-font-family:"Playfair";--e-global-typography-twbb_label-font-size:12px;--e-global-typography-twbb_label-font-weight:500;--e-global-typography-twbb_label-text-transform:uppercase;--e-global-typography-twbb_label-font-style:normal;--e-global-typography-twbb_label-text-decoration:none;--e-global-typography-twbb_label-line-height:20px;--e-global-typography-twbb_link-font-family:"Playfair";--e-global-typography-twbb_link-font-size:12px;--e-global-typography-twbb_link-text-transform:none;--e-global-typography-twbb_link-text-decoration:underline;--e-global-typography-twbb_link_hover-font-family:"Playfair Display";--e-global-typography-twbb_link_hover-text-transform:none;--e-global-typography-twbb_link_hover-text-decoration:none;background-color:var( --e-global-color-twbb_bg_primary );color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );text-transform:var( --e-global-typography-text-text-transform );font-style:var( --e-global-typography-text-font-style );text-decoration:var( --e-global-typography-text-text-decoration );line-height:var( --e-global-typography-text-line-height );--e-page-transition-entrance-animation:e-page-transition-fade-out;--e-page-transition-animation-duration:0.6s;}.elementor-kit-199 button,.elementor-kit-199 input[type="button"],.elementor-kit-199 input[type="submit"],.elementor-kit-199 .elementor-button{background-color:#111111;font-family:var( --e-global-typography-accent-font-family ), sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );text-transform:var( --e-global-typography-accent-text-transform );font-style:var( --e-global-typography-accent-font-style );text-decoration:var( --e-global-typography-accent-text-decoration );line-height:var( --e-global-typography-accent-line-height );color:#ffffffff;box-shadow:0px 0px 0px 0px rgba(0, 0, 0, 0);border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-accent );border-radius:0px 0px 0px 0px;padding:14px 32px 0px 0px;}.elementor-kit-199 button:hover,.elementor-kit-199 button:focus,.elementor-kit-199 input[type="button"]:hover,.elementor-kit-199 input[type="button"]:focus,.elementor-kit-199 input[type="submit"]:hover,.elementor-kit-199 input[type="submit"]:focus,.elementor-kit-199 .elementor-button:hover,.elementor-kit-199 .elementor-button:focus{background-color:#000000;color:#FFFFFF;}.elementor-kit-199 e-page-transition{background-color:#FFBC7D;}.elementor-kit-199 p{margin-block-end:18px;}.elementor-kit-199 a{color:var( --e-global-color-twbb_link );font-family:var( --e-global-typography-twbb_link_hover-font-family ), sans-serif;text-transform:var( --e-global-typography-twbb_link_hover-text-transform );text-decoration:var( --e-global-typography-twbb_link_hover-text-decoration );line-height:var( --e-global-typography-twbb_link_hover-line-height );}.elementor-kit-199 h1{color:var( --e-global-color-primary );font-family:var( --e-global-typography-primary-font-family ), sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );text-transform:var( --e-global-typography-primary-text-transform );font-style:var( --e-global-typography-primary-font-style );text-decoration:var( --e-global-typography-primary-text-decoration );line-height:var( --e-global-typography-primary-line-height );}.elementor-kit-199 h2{color:var( --e-global-color-primary );font-family:var( --e-global-typography-secondary-font-family ), sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );text-transform:var( --e-global-typography-secondary-text-transform );font-style:var( --e-global-typography-secondary-font-style );text-decoration:var( --e-global-typography-secondary-text-decoration );line-height:var( --e-global-typography-secondary-line-height );}.elementor-kit-199 h3{color:var( --e-global-color-primary );font-family:var( --e-global-typography-twbb_h3-font-family ), sans-serif;font-size:var( --e-global-typography-twbb_h3-font-size );font-weight:var( --e-global-typography-twbb_h3-font-weight );text-transform:var( --e-global-typography-twbb_h3-text-transform );font-style:var( --e-global-typography-twbb_h3-font-style );text-decoration:var( --e-global-typography-twbb_h3-text-decoration );line-height:var( --e-global-typography-twbb_h3-line-height );}.elementor-kit-199 h4{color:var( --e-global-color-primary );font-family:var( --e-global-typography-twbb_h4-font-family ), sans-serif;font-size:var( --e-global-typography-twbb_h4-font-size );text-transform:var( --e-global-typography-twbb_h4-text-transform );font-style:var( --e-global-typography-twbb_h4-font-style );text-decoration:var( --e-global-typography-twbb_h4-text-decoration );line-height:var( --e-global-typography-twbb_h4-line-height );}.elementor-kit-199 h5{color:var( --e-global-color-primary );font-family:var( --e-global-typography-twbb_h5-font-family ), sans-serif;font-size:var( --e-global-typography-twbb_h5-font-size );text-transform:var( --e-global-typography-twbb_h5-text-transform );font-style:var( --e-global-typography-twbb_h5-font-style );text-decoration:var( --e-global-typography-twbb_h5-text-decoration );line-height:var( --e-global-typography-twbb_h5-line-height );}.elementor-kit-199 h6{color:var( --e-global-color-primary );font-family:var( --e-global-typography-twbb_h6-font-family ), sans-serif;font-size:var( --e-global-typography-twbb_h6-font-size );text-transform:var( --e-global-typography-twbb_h6-text-transform );font-style:var( --e-global-typography-twbb_h6-font-style );text-decoration:var( --e-global-typography-twbb_h6-text-decoration );line-height:var( --e-global-typography-twbb_h6-line-height );}.elementor-kit-199 img{border-radius:0px 0px 0px 0px;}.elementor-kit-199 label{color:#444444;font-family:var( --e-global-typography-twbb_p4-font-family ), sans-serif;font-size:var( --e-global-typography-twbb_p4-font-size );font-weight:var( --e-global-typography-twbb_p4-font-weight );text-transform:var( --e-global-typography-twbb_p4-text-transform );font-style:var( --e-global-typography-twbb_p4-font-style );text-decoration:var( --e-global-typography-twbb_p4-text-decoration );line-height:var( --e-global-typography-twbb_p4-line-height );}.elementor-kit-199 input:not([type="button"]):not([type="submit"]),.elementor-kit-199 textarea,.elementor-kit-199 .elementor-field-textual{font-family:"Inter", sans-serif;font-size:14px;color:var( --e-global-color-twbb_button );accent-color:var( --e-global-color-secondary );background-color:#FFFFFF;box-shadow:0px 0px 0px 0px rgba(0, 0, 0, 0);border-style:solid;border-width:1px 1px 1px 1px;border-color:#EDEDED;border-radius:0px 0px 0px 0px;padding:14px 14px 14px 14px;}.elementor-kit-199 input:focus:not([type="button"]):not([type="submit"]),.elementor-kit-199 textarea:focus,.elementor-kit-199 .elementor-field-textual:focus{border-style:solid;border-width:1px 1px 1px 1px;border-color:#111111;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1320px;}.e-con{--container-max-width:1320px;--container-default-padding-top:60px;--container-default-padding-right:0px;--container-default-padding-bottom:60px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 24px;--widgets-spacing-row:20px;--widgets-spacing-column:24px;}{}h1.entry-title{display:var(--page-title-display);}.elementor-lightbox{background-color:var( --e-global-color-twbb_transparent );--lightbox-ui-color:var( --e-global-color-secondary );--lightbox-ui-color-hover:var( --e-global-color-accent );--lightbox-text-color:var( --e-global-color-text );}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-header .site-branding .site-logo img{width:0px;max-width:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-199{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-199 a{line-height:var( --e-global-typography-twbb_link_hover-line-height );}.elementor-kit-199 h1{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-kit-199 h2{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-kit-199 h3{font-size:var( --e-global-typography-twbb_h3-font-size );line-height:var( --e-global-typography-twbb_h3-line-height );}.elementor-kit-199 h4{font-size:var( --e-global-typography-twbb_h4-font-size );line-height:var( --e-global-typography-twbb_h4-line-height );}.elementor-kit-199 h5{font-size:var( --e-global-typography-twbb_h5-font-size );line-height:var( --e-global-typography-twbb_h5-line-height );}.elementor-kit-199 h6{font-size:var( --e-global-typography-twbb_h6-font-size );line-height:var( --e-global-typography-twbb_h6-line-height );}.elementor-kit-199 button,.elementor-kit-199 input[type="button"],.elementor-kit-199 input[type="submit"],.elementor-kit-199 .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-kit-199 label{font-size:var( --e-global-typography-twbb_p4-font-size );line-height:var( --e-global-typography-twbb_p4-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-199{--e-global-typography-primary-font-size:40px;--e-global-typography-primary-line-height:48px;--e-global-typography-secondary-font-size:28px;--e-global-typography-secondary-line-height:44px;--e-global-typography-text-font-size:16px;--e-global-typography-text-line-height:24px;--e-global-typography-twbb_h3-font-size:32px;--e-global-typography-twbb_h3-line-height:40px;--e-global-typography-twbb_h4-font-size:24px;--e-global-typography-twbb_h4-line-height:32px;--e-global-typography-twbb_h5-font-size:20px;--e-global-typography-twbb_h5-line-height:28px;--e-global-typography-twbb_h6-font-size:18px;--e-global-typography-twbb_h6-line-height:26px;--e-global-typography-twbb_bold-font-size:16px;--e-global-typography-twbb_bold-line-height:24px;--e-global-typography-twbb_p1-font-size:18px;--e-global-typography-twbb_p1-line-height:26px;--e-global-typography-twbb_p3-font-size:14px;--e-global-typography-twbb_p3-line-height:20px;--e-global-typography-twbb_p4-font-size:14px;--e-global-typography-twbb_p4-line-height:20px;--e-global-typography-twbb_p5-font-size:12px;--e-global-typography-twbb_p5-line-height:18px;--e-global-typography-twbb_label-font-size:14px;--e-global-typography-twbb_label-line-height:20px;font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-199 p{margin-block-end:16px;}.elementor-kit-199 a{line-height:var( --e-global-typography-twbb_link_hover-line-height );}.elementor-kit-199 h1{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-kit-199 h2{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-kit-199 h3{font-size:var( --e-global-typography-twbb_h3-font-size );line-height:var( --e-global-typography-twbb_h3-line-height );}.elementor-kit-199 h4{font-size:var( --e-global-typography-twbb_h4-font-size );line-height:var( --e-global-typography-twbb_h4-line-height );}.elementor-kit-199 h5{font-size:var( --e-global-typography-twbb_h5-font-size );line-height:var( --e-global-typography-twbb_h5-line-height );}.elementor-kit-199 h6{font-size:var( --e-global-typography-twbb_h6-font-size );line-height:var( --e-global-typography-twbb_h6-line-height );}.elementor-kit-199 button,.elementor-kit-199 input[type="button"],.elementor-kit-199 input[type="submit"],.elementor-kit-199 .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-kit-199 label{font-size:var( --e-global-typography-twbb_p4-font-size );line-height:var( --e-global-typography-twbb_p4-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS */div[data-elementor-type="twbb_header"] {z-index: 9999;}
/* === Elementor Site Settings: CUSTOM CSS ===
   Demure & Co — Global design system, accessibility, layout, components.
   Paste this entire block into Elementor -> Site Settings -> Custom CSS.
   If you must rollback quickly, wrap site-level overrides in .demure-reset { } (commented below).
*/

/* =========================
   0. Safety / Scope Prefix
   =========================
   Use .demure- namespace to avoid collisions. Very minimal global resets.
*/

/* :demure-reset wrapper (for emergency rollback)
.demure-reset { } /* remove comment to enable wrapper */

/* =========================
   1. Root variables & base
   ========================= */
:root{
  /* Brand tokens */
  --brand-primary: #0f1724; /* very dark navy */
  --brand-accent: #b98f5a;  /* warm gold/bronze */
  --brand-muted: #9b9b9b;
  --bg: #ffffff;
  --surface: #f8f7f5;
  --text: #111827;
  --radius: 10px;

  /* Typography scale */
  --step-0: 0.875rem;  /* small */
  --body: 1rem;        /* 16px */
  --lead: 1.125rem;    /* 18px */
  --h3: 1.75rem;       /* 28px */
  --h2: 2.25rem;       /* 36px */
  --h1: 3rem;          /* 48px */

  /* Layout */
  --container-max: 1400px;
  --gutter: 1.5rem;    /* 24px */
  --card-gap: 1rem;
  --transition-fast: 180ms;
  --transition-base: 300ms;
  --shadow-soft: 0 6px 20px rgba(12,15,20,0.06);
  --z-header: 9999;
}

/* Fluid H1 (clamp between small and large) */
h1 {
  font-size: clamp(2rem, 1.4rem + 3.2vw, var(--h1));
}

/* =========================
   2. Global resets & helpers
   ========================= */
html { box-sizing: border-box; -webkit-text-size-adjust: 100%; }
*, *::before, *::after { box-sizing: inherit; }
body {
  margin: 0;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
  color: var(--text);
  background-color: var(--bg);
  line-height: 1.45;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

/* Images and media */
img, picture, video { max-width: 100%; height: auto; display: block; }

/* Link and focus */
a { color: var(--brand-primary); text-decoration: none; }
a:hover { text-decoration: underline; }
:focus { outline: none; }
:focus-visible {
  outline: 3px solid rgba(185,143,90,0.18);
  outline-offset: 3px;
  border-radius: 4px;
}

/* Screen-reader utilities */
.sr-only, .visually-hidden {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

/* =========================
   3. Container system
   ========================= */
.site-container {
  width: 100%;
  max-width: var(--container-max);
  margin-left: auto;
  margin-right: auto;
  padding-left: calc(var(--gutter));
  padding-right: calc(var(--gutter));
}

/* wide container for hero / product hero */
.site-container--wide { max-width: 1600px; }

/* =========================
   4. Header / nav / sticky
   ========================= */
/* Header wrapper (Elementor header should have class .demure-header) */
.demure-header {
  background: color-mix(in srgb, var(--bg) 95%, transparent);
  position: relative;
  z-index: var(--z-header);
  transition: backdrop-filter var(--transition-fast) ease, background-color var(--transition-fast) ease;
}

/* Sticky style toggle (JS or theme can add .demure-sticky) */
.demure-sticky {
  position: sticky;
  top: 0;
  backdrop-filter: saturate(1.05) blur(6px);
  background: rgba(255,255,255,0.85);
  box-shadow: var(--shadow-soft);
}

/* Header layout */
.demure-header__inner { display:flex; align-items:center; gap:1rem; justify-content:space-between; padding:1rem 0; }

/* Logo */
.demure-logo img { height:40px; width:auto; display:block; }

/* Primary nav */
.demure-nav { display:flex; gap:1.25rem; align-items:center; }
.demure-nav a { font-weight:500; color:var(--brand-primary); padding:0.25rem 0.5rem; }
.demure-nav a:focus-visible { outline-offset:2px; }

/* Mobile collapse hint — element hidden on desktop */
.demure-menu-toggle { display:none; border:0; background:transparent; }

/* Responsive */
@media (max-width: 768px) {
  .demure-nav { display:none; }
  .demure-menu-toggle { display:inline-flex; align-items:center; gap:.5rem; }
}

/* Mega menu hint (structure used by menu plugin) */
.demure-mega { position:absolute; left:0; top:100%; width:100%; background:var(--bg); padding:1.25rem; box-shadow:var(--shadow-soft); display:none; }
.nav-item:hover > .demure-mega, .nav-item:focus-within > .demure-mega { display:block; }

/* Ensure keyboard accessible columns */
.demure-mega [role="menu"] { display:flex; gap:1.25rem; }

/* =========================
   5. Buttons
   ========================= */
.button, button, .demure-btn {
  display:inline-flex; align-items:center; justify-content:center;
  gap:.5rem; padding:.6rem 1rem; border-radius: calc(var(--radius) / 1.6);
  border: 1px solid transparent; background: var(--brand-primary); color: #fff;
  font-weight:600; cursor:pointer; transition: transform var(--transition-fast) ease, box-shadow var(--transition-fast);
}
.button--ghost { background: transparent; color: var(--brand-primary); border-color: rgba(17,24,39,0.06); }
.button:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(12,15,20,0.06); }
.button:active { transform: translateY(0); }
.button:focus-visible { box-shadow: 0 0 0 4px rgba(185,143,90,0.14); }

/* CTA Accent (Gold outline or filled) */
.button--accent { background: linear-gradient(180deg,var(--brand-accent), color-mix(in srgb,var(--brand-accent) 92%,#2d2d2d 8%)); color:#fff; border:0; }

/* Small button */
.button--sm { padding:.45rem .75rem; font-size:.9rem; }

/* =========================
   6. Product grid & cards
   ========================= */
.demure-grid {
  display:grid;
  gap: var(--card-gap);
  grid-template-columns: repeat(4, 1fr);
}

/* Responsive columns */
@media (max-width: 1024px) { .demure-grid { grid-template-columns: repeat(3,1fr); } }
@media (max-width: 768px) { .demure-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 420px) { .demure-grid { grid-template-columns: 1fr; } }

/* Product card */
.demure-card {
  background: var(--surface);
  border-radius: calc(var(--radius) / 1.2);
  overflow: hidden;
  transition: transform var(--transition-base) ease, box-shadow var(--transition-base) ease;
  position: relative;
}
.demure-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-soft); }

/* image ratio lock (1:1.2) */
.demure-card__media { width:100%; aspect-ratio: 5 / 6; overflow:hidden; background:#fff; display:block; }
.demure-card__media img { width:100%; height:100%; object-fit:cover; object-position:center; transition: transform 350ms ease; }
.demure-card:hover .demure-card__media img { transform: scale(1.03); }

/* Card body */
.demure-card__body { padding:.85rem; display:flex; flex-direction:column; gap:.5rem; }
.demure-card__title { font-weight:600; font-size:1rem; color:var(--brand-primary); }
.demure-card__price { font-weight:700; color:var(--brand-primary); }

/* Quick view overlay (desktop only) */
.demure-quickview { position:absolute; top:0; right:0; margin:.75rem; display:none; }
.demure-card:hover .demure-quickview { display:inline-flex; }

/* =========================
   7. Product single (gallery & meta)
   ========================= */
.demure-product {
  display:grid; gap:1.5rem; grid-template-columns: 1fr 420px;
}
@media (max-width: 1024px) { .demure-product { grid-template-columns: 1fr; } }

/* Gallery */
.demure-gallery { display:flex; gap:.75rem; align-items:flex-start; }
.demure-gallery__main { flex:1; border-radius:8px; overflow:hidden; background:#fff; }
.demure-gallery__thumbnails { display:flex; flex-direction:column; gap:.5rem; width:80px; }
.demure-gallery__thumb { width:100%; aspect-ratio: 1 / 1; overflow:hidden; cursor:pointer; border-radius:6px; border:1px solid rgba(0,0,0,0.04); }

/* Product meta */
.demure-meta { padding:1rem; background:transparent; }
.demure-meta h1 { margin:0 0 .6rem 0; }
.demure-meta .price { font-size:1.25rem; font-weight:700; }
.demure-meta .variant-swatch { display:inline-flex; width:32px; height:32px; border-radius:50%; border:1px solid rgba(0,0,0,0.06); margin-right:.4rem; cursor:pointer; }

/* Accordions for description, care etc. Use elementor widget; style the headings */
.demure-accordion .elementor-accordion-title { font-weight:600; color:var(--brand-primary); }
.demure-accordion .elementor-tab-content { color:var(--brand-muted); }

/* =========================
   8. Forms (checkout, contact)
   ========================= */
input[type="text"], input[type="email"], select, textarea {
  width:100%; padding:.6rem .75rem; border-radius:6px; border:1px solid #e6e6e6; background:#fff; font-size:1rem;
}
input:focus, select:focus, textarea:focus {
  border-color: color-mix(in srgb, var(--brand-accent) 30%, var(--brand-primary) 10%);
  box-shadow: 0 8px 18px rgba(185,143,90,0.06);
  outline: none;
}
.form-row { display:flex; gap:1rem; }
@media (max-width:768px){ .form-row { flex-direction:column; } }

/* Error state */
.input--error { border-color:#c72b2b; box-shadow: 0 6px 18px rgba(199,43,43,0.06); }
.field-error { color:#c72b2b; font-size:0.875rem; margin-top:.25rem; }

/* =========================
   9. Modals & overlays
   ========================= */
.demure-modal {
  position: fixed; inset: 0; display:flex; align-items:center; justify-content:center;
  background: rgba(11,13,16,0.55); z-index:12000; padding:1rem;
}
.demure-modal__panel { width:100%; max-width:900px; background:var(--bg); border-radius:12px; padding:1.25rem; box-shadow:var(--shadow-soft); }

/* Accessibility hint only — real aria control must be handled by JS */
[aria-hidden="true"] .demure-modal { display:none !important; }

/* =========================
   10. Utilities
   ========================= */
.u-center { text-align:center; }
.u-hide-mobile { display:block; }
@media (max-width:768px){ .u-hide-mobile { display:none !important; } }
.u-hide-desktop { display:none; }
@media (max-width:768px){ .u-hide-desktop { display:block; } }

/* Grid utilities (simple) */
.u-grid-2 { display:grid; grid-template-columns:repeat(2,1fr); gap:var(--card-gap); }
@media (max-width:768px){ .u-grid-2 { grid-template-columns:1fr; } }

/* =========================
   11. Print styles
   ========================= */
@media print {
  nav, .demure-header, .demure-footer, .demure-cookie { display:none !important; }
  .site-container { width:100%; padding:0; }
  body { color:#000; background:#fff; }
}

/* =========================
   12. Motion / reduced motion
   ========================= */
@media (prefers-reduced-motion: reduce){
  * { transition: none !important; animation: none !important; }
}

/* =========================
   End of stylesheet
   ========================= */
/* ============================================================
   DEMURE & CO — FOOTER DESIGN SYSTEM
   Auto-styles ANY footer built using Elementor Theme Builder.
   Paste inside Elementor → Site Settings → Custom CSS.
   ============================================================ */

/* ------------------------------
   Footer wrapper
   Add class .demure-footer to your Elementor footer container
   ------------------------------ */
.demure-footer {
  background: var(--brand-primary);
  color: #ffffff;
  padding-top: 4rem;
  padding-bottom: 3rem;
}

/* ------------------------------
   Footer grid columns
   ------------------------------ */
.demure-footer .elementor-container {
  max-width: var(--container-max);
}

.demure-footer .elementor-column {
  margin-bottom: 2rem;
}

/* ------------------------------
   Footer titles (Links / About / Customer Service)
   ------------------------------ */
.demure-footer h2,
.demure-footer h3,
.demure-footer h4 {
  color: #ffffff;
  font-weight: 600;
  margin-bottom: 1rem;
  font-size: 1.15rem; /* clean + elegant */
  letter-spacing: .3px;
}

/* ------------------------------
   Footer text
   ------------------------------ */
.demure-footer,
.demure-footer p {
  color: rgba(255, 255, 255, 0.85);
  font-size: 0.97rem;
  line-height: 1.5rem;
}

/* ------------------------------
   Footer links
   ------------------------------ */
.demure-footer a {
  color: rgba(255, 255, 255, 0.85);
  text-decoration: none;
  transition: color var(--transition-base) ease,
              padding-left var(--transition-fast) ease;
  display: inline-block;
  padding-left: 0;
}

.demure-footer a:hover {
  color: var(--brand-accent);
  padding-left: 4px;
}

/* Keyboard focus */
.demure-footer a:focus-visible {
  outline: 2px solid var(--brand-accent);
  outline-offset: 3px;
  border-radius: 2px;
}

/* ------------------------------
   Social icons
   ------------------------------ */
.demure-footer .social-icons a,
.demure-footer .elementor-social-icon {
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
  width: 40px;
  height: 40px;
  padding: 10px;
  border-radius: 50%;
  transition: background var(--transition-fast), transform var(--transition-fast);
}

.demure-footer .elementor-social-icon:hover {
  background: var(--brand-accent);
  transform: translateY(-3px);
}

/* ------------------------------
   Newsletter form
   ------------------------------ */
.demure-footer input[type="email"],
.demure-footer input[type="text"] {
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255,255,255,0.22);
  color: #fff;
  padding: .75rem 1rem;}
  bo
body {-webkit-font-smoothing: antialiased;}
h1,h2,h3,.elementor-heading-title {letter-spacing: 0.3px;}
a {color:#111;transition:0.25s ease;}
a:hover {color:#000;}
.elementor-section {padding-left:20px;padding-right:20px;}
.luxury-separator {width:100px;height:1px;background:#EDEDED;margin:0 auto 30px;}
.woocommerce-loop-product__title {font-weight:300;font-size:14px;letter-spacing:0.3px;}
.price {font-weight:300;font-size:13px;color:#444;}
.button, .woocommerce button.button {border-radius:0;box-shadow:none;}/* End custom CSS */