/* ═══════════════════════════════════════════
 * El Arte del Cómic — Custom Styles
 * Premium gallery aesthetics for WooCommerce
 * ═══════════════════════════════════════════ */


/* === VARIABLES === */
:root {
  --eadc-black: #000000;
  --eadc-white: #FFFFFF;
  --eadc-off-white: #FAFAFA;
  --eadc-gray-100: #F5F5F5;
  --eadc-gray-200: #EEEEEE;
  --eadc-gray-300: #E0E0E0;
  --eadc-gray-400: #BDBDBD;
  --eadc-gray-500: #9E9E9E;
  --eadc-gray-600: #757575;
  --eadc-gray-700: #616161;
  --eadc-gray-800: #424242;
  --eadc-gray-900: #212121;
  --eadc-pink: #E81E75;
  --eadc-green: #96BF19;
}


/* === GLOBAL RESET & BASE === */
body {
  font-family: 'Manrope', sans-serif;
  color: var(--eadc-gray-900);
  background: var(--eadc-white);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

::selection {
  background: var(--eadc-black);
  color: var(--eadc-white);
}

img { max-width: 100%; display: block; }


/* === TYPOGRAPHY HELPERS === */
.eadc-font-mono {
  font-family: 'JetBrains Mono', monospace;
  font-variant-numeric: tabular-nums;
}

.eadc-font-bodoni {
  font-family: 'Bodoni Moda', serif;
}

.eadc-font-outfit {
  font-family: 'Outfit', sans-serif;
}

.eadc-eyebrow {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: var(--eadc-gray-500);
}

.eadc-section-title {
  font-size: 28px;
  font-weight: 800;
  color: var(--eadc-black);
  letter-spacing: -0.5px;
}

.eadc-section-title em {
  font-style: italic;
  font-weight: 300;
  color: var(--eadc-gray-500);
}


/* === LOGO — PLACA MUSEO === */
.eadc-logo-placa {
  display: inline-block;
  background: var(--eadc-black);
  padding: 10px 24px 0;
  text-align: center;
  text-decoration: none;
}

.eadc-logo-placa .eadc-logo-text {
  font-family: 'Outfit', sans-serif;
  font-size: 14px;
  font-weight: 700;
  color: var(--eadc-white);
  letter-spacing: 4px;
  text-transform: uppercase;
  white-space: nowrap;
}

.eadc-logo-placa .eadc-logo-accent {
  height: 3px;
  background: var(--eadc-pink);
  margin: 8px -24px 0;
}

/* Header transparent variant */
.eadc-header-transparent .eadc-logo-placa {
  background: var(--eadc-white);
}
.eadc-header-transparent .eadc-logo-placa .eadc-logo-text {
  color: var(--eadc-black);
}

/* Footer logo variant */
.eadc-logo-footer {
  display: inline-block;
  background: var(--eadc-white);
  padding: 10px 24px 0;
  text-align: center;
}
.eadc-logo-footer .eadc-logo-text {
  font-family: 'Outfit', sans-serif;
  font-size: 13px;
  font-weight: 700;
  color: var(--eadc-black);
  letter-spacing: 4px;
  text-transform: uppercase;
}
.eadc-logo-footer .eadc-logo-accent {
  height: 3px;
  background: var(--eadc-pink);
  margin: 8px -24px 0;
}


/* === NAVIGATION === */
.eadc-nav a {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--eadc-gray-700);
  text-decoration: none;
  transition: color 0.2s;
}
.eadc-nav a:hover { color: var(--eadc-black); }

.eadc-header-transparent .eadc-nav a {
  color: rgba(255,255,255,0.7);
}
.eadc-header-transparent .eadc-nav a:hover {
  color: var(--eadc-white);
}


/* === BADGES — WOOCOMMERCE PRODUCT LOOP === */
.eadc-badge {
  position: absolute;
  z-index: 2;
  font-family: 'Manrope', sans-serif;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 3px;
  text-transform: uppercase;
  padding: 6px 14px;
  line-height: 1;
}

.eadc-badge--sold {
  bottom: 0; left: 0;
  background: var(--eadc-black);
  color: var(--eadc-white);
}

/* Origin (USA / European) — top-LEFT, the primary taxonomy marker */
.eadc-badge--origin {
  top: 16px; left: 16px;
  background: var(--eadc-white);
  color: var(--eadc-black);
  border: 1px solid var(--eadc-gray-300);
}

/* New / Sale — top-RIGHT so they don't collide with --origin */
.eadc-badge--new {
  top: 16px; right: 16px;
  background: var(--eadc-pink);
  color: var(--eadc-white);
}

.eadc-badge--sale {
  top: 16px; right: 16px;
  background: var(--eadc-green);
  color: var(--eadc-white);
}

/* Reserved — bottom-LEFT strip (same slot as --sold) */
.eadc-badge--reserved {
  bottom: 0; left: 0;
  background: var(--eadc-gray-800);
  color: var(--eadc-gray-300);
}

/* Soft 15-min hold notice on single-product page (when another visitor has the
   piece in their cart). Sits above the CTA row to set expectations. */
.eadc-resv-notice {
  margin: 12px 0 16px;
  padding: 14px 16px;
  background: #fff8ec;
  border: 1px solid #e8d8b0;
  border-left: 3px solid #b09a78;
  border-radius: 4px;
  font-size: 14px;
  line-height: 1.5;
  color: #5a4a30;
}
.eadc-resv-notice strong {
  display: block;
  font-weight: 600;
  color: #2a1f0e;
  margin-bottom: 2px;
}
.eadc-resv-notice [data-eadc-resv-countdown] {
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  color: #2a1f0e;
}

/* Form loading state — shared spinner used on contact, checkout, cart updates. */
.eadc-spinner {
  display: inline-block;
  width: 14px; height: 14px;
  margin-right: 8px;
  border: 2px solid rgba(255,255,255,0.4);
  border-top-color: #fff;
  border-radius: 50%;
  vertical-align: -3px;
  animation: eadc-spin .7s linear infinite;
}
button.is-loading,
input.is-loading {
  opacity: .85;
  cursor: progress !important;
  pointer-events: none;
}
button.is-loading .eadc-loading-label { letter-spacing: .02em; }
/* Outline buttons get a darker spinner so it shows on light bg */
.eadc-btn-outline.is-loading .eadc-spinner,
button.button.is-loading .eadc-spinner {
  border-color: rgba(0,0,0,0.2);
  border-top-color: #18120D;
}
@keyframes eadc-spin {
  to { transform: rotate(360deg); }
}
@media (prefers-reduced-motion: reduce) {
  .eadc-spinner { animation-duration: 2s; }
}


/* ═══════════════════════════════════════════════════════════════════════════
 *  Seasonal catalogue PDF — designed for browser print → PDF.
 *  Screen view: clean preview of what the printed catalog will look like.
 *  Print:       one piece per page, no nav/footer, professional spec sheet.
 * ═══════════════════════════════════════════════════════════════════════════ */
.eadc-catalog-pdf {
  max-width: 920px;
  margin: 0 auto;
  padding: 32px 24px 80px;
  background: #fff;
  color: #18120D;
  font-family: 'Manrope', sans-serif;
}
.eadc-catalog-toolbar {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 16px 0 24px;
  border-bottom: 1px solid #E6DFD3;
  margin-bottom: 32px;
  flex-wrap: wrap;
}
.eadc-catalog-toolbar-hint {
  font-size: 13px;
  color: #6b5e51;
  margin: 0;
  flex: 1;
  min-width: 240px;
}

/* Print-only mode — page hides the catalog body on screen and shows a clean
   landing panel with the export CTA. The pieces are still in the DOM so the
   browser print dialog can paginate them. */
.eadc-catalog-pdf--print-only .eadc-catalog-body {
  display: none;
}
.eadc-catalog-intro {
  text-align: center;
  padding: 80px 32px 96px;
  max-width: 640px;
  margin: 0 auto;
  border: 1px solid #E6DFD3;
  background: linear-gradient(180deg, #fff 0%, #fafaf6 100%);
}
.eadc-catalog-intro-eyebrow {
  font-family: 'Manrope', sans-serif;
  font-size: 11px;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: #6b5e51;
  margin: 0 0 28px;
}
.eadc-catalog-intro-title {
  font-family: 'Playfair Display', serif;
  font-size: clamp(36px, 5vw, 52px);
  font-weight: 500;
  line-height: 1.1;
  margin: 0 0 14px;
  color: #18120D;
}
.eadc-catalog-intro-subtitle {
  font-family: 'Cormorant Garamond', serif;
  font-style: italic;
  font-size: 20px;
  color: #4a3f33;
  margin: 0 0 24px;
}
.eadc-catalog-intro-count {
  font-family: 'Manrope', sans-serif;
  font-size: 12px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #6b5e51;
  margin: 0 0 36px;
}
/* Triple-specificity + !important to defeat Elementor Kit's default <button>
   styling which otherwise paints this as the brand pink pill. Same pattern as
   the cookie banner / wishlist buttons. */
.eadc-catalog-pdf .eadc-catalog-intro .eadc-catalog-print-btn,
button.eadc-catalog-print-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  font-family: 'Manrope', sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  padding: 18px 36px !important;
  background: #18120D !important;
  background-image: none !important;
  color: #fff !important;
  border: 1px solid #18120D !important;
  border-radius: 0 !important;
  cursor: pointer !important;
  box-shadow: none !important;
  text-shadow: none !important;
  min-height: 52px !important;
  line-height: 1 !important;
  transition: background .15s ease, border-color .15s ease, transform .15s ease !important;
}
.eadc-catalog-pdf .eadc-catalog-intro .eadc-catalog-print-btn:hover,
button.eadc-catalog-print-btn:hover {
  background: #b09a78 !important;
  border-color: #b09a78 !important;
  color: #fff !important;
  transform: translateY(-1px) !important;
}
.eadc-catalog-pdf .eadc-catalog-intro .eadc-catalog-print-btn span,
button.eadc-catalog-print-btn span {
  font-size: 16px !important;
  letter-spacing: 0 !important;
}
.eadc-catalog-intro-hint {
  font-size: 13px;
  line-height: 1.6;
  color: #6b5e51;
  margin: 28px auto 0;
  max-width: 480px;
}
.eadc-catalog-intro-hint strong { color: #18120D; font-weight: 600; }
@media (max-width: 640px) {
  .eadc-catalog-intro { padding: 56px 20px 64px; }
  .eadc-catalog-intro-title { font-size: 32px; }
  .eadc-catalog-print-btn { padding: 16px 24px; font-size: 11px; }
}

/* In print, force the body to render even if --print-only had hidden it. */
@media print {
  .eadc-catalog-pdf--print-only .eadc-catalog-body { display: block !important; }
  .eadc-catalog-intro { display: none !important; }
}
.eadc-catalog-cover {
  min-height: 720px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  border: 1px solid #E6DFD3;
  margin-bottom: 48px;
  padding: 80px 32px;
  background: linear-gradient(180deg, #fff 0%, #fafaf6 100%);
}
.eadc-catalog-cover-eyebrow {
  font-size: 11px;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: #6b5e51;
  margin-bottom: 32px;
}
.eadc-catalog-cover-title {
  font-family: 'Playfair Display', serif;
  font-size: 56px;
  font-weight: 500;
  line-height: 1.1;
  margin: 0 0 16px;
  color: #18120D;
}
.eadc-catalog-cover-subtitle {
  font-family: 'Cormorant Garamond', serif;
  font-style: italic;
  font-size: 22px;
  color: #4a3f33;
  margin: 0 0 48px;
  max-width: 540px;
  margin-left: auto;
  margin-right: auto;
}
.eadc-catalog-cover-meta {
  font-size: 12px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #6b5e51;
}
.eadc-catalog-piece {
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  gap: 40px;
  margin-bottom: 48px;
  padding-bottom: 48px;
  border-bottom: 1px solid #E6DFD3;
  page-break-inside: avoid;
  break-inside: avoid;
}
.eadc-catalog-piece-img img {
  width: 100%;
  height: auto;
  display: block;
  border: 1px solid #E6DFD3;
}
.eadc-catalog-piece-artist {
  font-size: 11px;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: #6b5e51;
  margin-bottom: 8px;
}
.eadc-catalog-piece-title {
  font-family: 'Playfair Display', serif;
  font-size: 28px;
  font-weight: 500;
  line-height: 1.2;
  margin: 0 0 6px;
}
.eadc-catalog-piece-series {
  font-size: 14px;
  color: #6b5e51;
  margin-bottom: 24px;
}
.eadc-catalog-piece-specs {
  display: grid;
  grid-template-columns: 110px 1fr;
  gap: 6px 16px;
  font-size: 13px;
  margin: 0 0 24px;
}
.eadc-catalog-piece-specs dt {
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #6b5e51;
  font-weight: 500;
  font-size: 11px;
  align-self: center;
}
.eadc-catalog-piece-specs dd {
  margin: 0;
  color: #18120D;
}
.eadc-catalog-piece-price {
  font-family: 'Playfair Display', serif;
  font-size: 22px;
  font-weight: 500;
  padding-top: 16px;
  border-top: 1px solid #E6DFD3;
}
.eadc-catalog-sold {
  display: inline-block;
  padding: 4px 10px;
  background: #18120D;
  color: #fff;
  font-family: 'Manrope', sans-serif;
  font-size: 11px;
  letter-spacing: 2px;
  text-transform: uppercase;
  font-weight: 600;
}
.eadc-catalog-back {
  margin-top: 80px;
  padding-top: 48px;
  border-top: 1px solid #E6DFD3;
  text-align: center;
  page-break-before: always;
  break-before: page;
}
.eadc-catalog-back-eyebrow {
  font-family: 'Playfair Display', serif;
  font-size: 18px;
  margin: 0 0 16px;
}
.eadc-catalog-back-contact {
  font-size: 12px;
  line-height: 1.7;
  color: #6b5e51;
  margin: 0;
}

@media (max-width: 720px) {
  .eadc-catalog-piece {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .eadc-catalog-cover { min-height: 480px; padding: 48px 16px; }
  .eadc-catalog-cover-title { font-size: 40px; }
}

@media print {
  /* Hide everything outside the catalog so the print is just the catalog. */
  body * { visibility: hidden !important; }
  .eadc-catalog-pdf, .eadc-catalog-pdf * { visibility: visible !important; }
  .eadc-catalog-pdf {
    position: absolute;
    left: 0; top: 0;
    width: 100%;
    max-width: none;
    padding: 0;
    margin: 0;
  }
  .no-print, .eadc-site-header, .eadc-site-footer, .eadc-btt, .eadc-cookie-banner,
  .eadc-cookie-prefs-link, .eadc-skip-link { display: none !important; }
  .eadc-catalog-cover {
    border: none;
    background: none;
    min-height: auto;
    height: 100vh;
    page-break-after: always;
    break-after: page;
    margin: 0;
    padding: 80px 40px;
  }
  .eadc-catalog-piece {
    border: none;
    margin: 0;
    padding: 24px 24px 0;
    page-break-after: always;
    break-after: page;
    page-break-inside: avoid;
    break-inside: avoid;
  }
  .eadc-catalog-piece:last-of-type { page-break-after: auto; break-after: auto; }
  .eadc-catalog-back {
    page-break-before: always;
    break-before: page;
    border: none;
    padding: 80px 40px;
  }
  @page { margin: 18mm; }
}


/* === PRODUCT CARDS — LOOP === */
.woocommerce ul.products li.product {
  position: relative;
  cursor: crosshair;
}

.woocommerce ul.products li.product .woocommerce-loop-product__link {
  text-decoration: none;
}

/* Image container */
.woocommerce ul.products li.product .attachment-woocommerce_thumbnail {
  transition: transform 0.6s ease;
}
.woocommerce ul.products li.product:hover .attachment-woocommerce_thumbnail {
  transform: scale(1.02);
}

/* Product info — hover reveal */
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .eadc-card-meta {
  opacity: 0;
  transform: translateY(6px);
  transition: all 0.3s ease;
}
.woocommerce ul.products li.product:hover .price,
.woocommerce ul.products li.product:hover .eadc-card-meta {
  opacity: 1;
  transform: translateY(0);
}

/* Product title (WooCommerce archive grid) */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: 'Playfair Display', 'Cormorant Garamond', Georgia, serif;
  font-size: 19px;
  font-weight: 500;
  color: var(--eadc-ink, #18120D);
  line-height: 1.2;
  letter-spacing: -0.005em;
  margin-bottom: 4px;
}

/* Artist name above title */
.eadc-card-artist {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--eadc-gold, #b09a78);
  margin-bottom: 6px;
}

/* Price — mono font */
.woocommerce ul.products li.product .price {
  font-family: 'JetBrains Mono', monospace;
  font-size: 16px;
  font-weight: 700;
  color: var(--eadc-black);
  font-variant-numeric: tabular-nums;
}

/* Sold overlay */
.eadc-product--sold .woocommerce-LoopProduct-link::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(255,255,255,0.4);
  pointer-events: none;
}

/* Sold price strikethrough */
.eadc-product--sold .price {
  color: var(--eadc-gray-400) !important;
  text-decoration: line-through;
}


/* === SINGLE PRODUCT — HUBERTY STYLE === */

/* Breadcrumb */
.woocommerce-breadcrumb {
  font-size: 11px;
  color: var(--eadc-gray-500);
  padding: 20px 0 24px;
  border-bottom: 1px solid var(--eadc-gray-200);
  margin-bottom: 48px;
}
.woocommerce-breadcrumb a {
  color: var(--eadc-gray-500);
  text-decoration: none;
}
.woocommerce-breadcrumb a:hover {
  color: var(--eadc-black);
}

/* Product image — crosshair + zoom */
.woocommerce div.product div.images {
  cursor: crosshair;
}

/* Product title */
.woocommerce div.product .product_title {
  font-family: 'Manrope', sans-serif;
  font-size: 28px;
  font-weight: 800;
  color: var(--eadc-black);
  letter-spacing: -0.5px;
  line-height: 1.2;
  margin-bottom: 24px;
}

/* Price — single product */
.woocommerce div.product .price {
  font-family: 'JetBrains Mono', monospace;
  font-size: 32px;
  font-weight: 700;
  color: var(--eadc-black);
  letter-spacing: -1px;
  font-variant-numeric: tabular-nums;
  padding: 24px 0 0;
  border-top: 1px solid var(--eadc-gray-200);
}


/* === PRODUCT META — PROVENANCE/PUBLICATIONS/EXHIBITIONS === */
.eadc-product-meta {
  margin: 24px 0;
}

.eadc-data-section {
  padding: 20px 0;
  border-top: 1px solid var(--eadc-gray-200);
}
.eadc-data-section:first-child {
  border-top: none;
  padding-top: 0;
}

.eadc-data-row {
  display: grid;
  grid-template-columns: 140px 1fr;
  gap: 4px 24px;
  font-size: 13px;
  margin-bottom: 6px;
}

.eadc-data-k {
  color: var(--eadc-gray-500);
}

.eadc-data-v {
  color: var(--eadc-black);
  font-weight: 500;
}

.eadc-data-title {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--eadc-gray-400);
  margin-bottom: 12px;
}

.eadc-provenance-item {
  font-size: 13px;
  color: var(--eadc-black);
  padding: 6px 0;
  border-bottom: 1px solid var(--eadc-gray-100);
  font-weight: 500;
}
.eadc-provenance-item:last-child { border-bottom: none; }

.eadc-provenance-detail {
  font-weight: 400;
  color: var(--eadc-gray-500);
}


/* === GALLERY VERIFIED SEAL === */
.eadc-verified {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--eadc-gray-400);
  margin-bottom: 8px;
}

.eadc-verified-icon {
  width: 14px; height: 14px;
  border-radius: 50%;
  background: var(--eadc-black);
  color: var(--eadc-white);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 8px;
  font-weight: 800;
}


/* === SOCIAL PROOF === */
.eadc-social-proof {
  font-size: 11px;
  color: var(--eadc-gray-400);
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 12px;
}

.eadc-social-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--eadc-green);
  animation: eadcPulse 2s ease-in-out infinite;
}

@keyframes eadcPulse {
  0%, 100% { opacity: 0.4; }
  50% { opacity: 1; }
}


/* === ARTIST DECORATED NAME === */
.eadc-artist-decorated {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 4px;
}

.eadc-artist-line {
  width: 3px;
  height: 48px;
  background: var(--eadc-black);
  flex-shrink: 0;
}

.eadc-artist-name {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--eadc-gray-500);
}

.eadc-artist-year {
  font-size: 13px;
  color: var(--eadc-gray-400);
  margin-top: 2px;
}


/* === CERTIFICATE OF AUTHENTICITY === */
.eadc-certificate {
  border: 1px solid var(--eadc-gray-300);
  padding: 32px;
  margin-top: 32px;
  position: relative;
}
.eadc-certificate::before {
  content: '';
  position: absolute;
  inset: 6px;
  border: 1px solid var(--eadc-gray-200);
  pointer-events: none;
}

.eadc-cert-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--eadc-gray-200);
}

.eadc-cert-title {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: var(--eadc-black);
}

.eadc-cert-seal {
  width: 52px; height: 52px;
  border-radius: 50%;
  border: 1.5px solid var(--eadc-black);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--eadc-black);
  line-height: 1.2;
}

.eadc-cert-seal-num {
  font-size: 16px;
  font-weight: 800;
}

.eadc-cert-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px 32px;
  font-size: 12px;
  margin-bottom: 20px;
}

.eadc-cert-k {
  color: var(--eadc-gray-500);
  font-weight: 500;
  text-transform: uppercase;
  font-size: 10px;
  letter-spacing: 1px;
}

.eadc-cert-v {
  color: var(--eadc-black);
  font-weight: 600;
}

.eadc-cert-footer {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  padding-top: 20px;
  border-top: 1px solid var(--eadc-gray-200);
}

.eadc-cert-sig {
  font-size: 18px;
  font-weight: 800;
  color: var(--eadc-black);
  font-style: italic;
}

.eadc-cert-ref {
  font-size: 10px;
  color: var(--eadc-gray-500);
  letter-spacing: 1px;
}


/* === CONDITION METER === */
.eadc-condition {
  display: flex;
  align-items: center;
  gap: 8px;
}

.eadc-condition-bar {
  flex: 1;
  height: 4px;
  background: var(--eadc-gray-200);
  overflow: hidden;
}

.eadc-condition-fill {
  height: 100%;
  background: var(--eadc-black);
}
.eadc-condition--excellent .eadc-condition-fill { width: 95%; }
.eadc-condition--very-good .eadc-condition-fill { width: 80%; }
.eadc-condition--good .eadc-condition-fill { width: 65%; }
.eadc-condition--fair .eadc-condition-fill { width: 45%; }

.eadc-condition-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--eadc-gray-700);
}


/* === SHARE ROW === */
.eadc-share {
  display: flex;
  align-items: center;
  gap: 22px;
  padding: 22px 0;
  border-top: 1px solid var(--eadc-line, #E6DFD3);
  margin-top: 24px;
}

.eadc-share-label {
  font-family: 'Manrope', sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--eadc-ink-soft, #6b5e51);
}

.eadc-share-icons {
  display: flex;
  gap: 10px;
  align-items: center;
}

/* Force-reset every visual property — multi-selector to defeat Elementor Kit
   `button` styles that paint the native-share button as a coral/salmon pill. */
.eadc-share .eadc-share-icons .eadc-share-icon,
button.eadc-share-icon,
a.eadc-share-icon {
  width: 42px !important;
  height: 42px !important;
  min-height: 42px !important;
  padding: 0 !important;
  border: 1px solid var(--eadc-line, #E6DFD3) !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--eadc-ink, #18120D) !important;
  background: #fff !important;
  background-image: none !important;
  cursor: pointer !important;
  transition: background .15s ease, border-color .15s ease, color .15s ease, transform .15s ease !important;
  text-decoration: none !important;
  font: inherit !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  box-shadow: none !important;
  text-shadow: none !important;
  text-transform: none !important;
}
.eadc-share .eadc-share-icons .eadc-share-icon svg { display: block; width: 18px; height: 18px; }
.eadc-share .eadc-share-icons .eadc-share-icon:hover,
button.eadc-share-icon:hover,
a.eadc-share-icon:hover {
  background: var(--eadc-ink, #18120D) !important;
  border-color: var(--eadc-ink, #18120D) !important;
  color: #fff !important;
  transform: translateY(-1px) !important;
}
.eadc-share .eadc-share-icons .eadc-share-icon.is-copied,
button.eadc-share-icon.is-copied {
  background: var(--eadc-gold, #b09a78) !important;
  border-color: var(--eadc-gold, #b09a78) !important;
  color: #fff !important;
}

/* Native share — primary CTA: filled dark by default to signal "the main action". */
.eadc-share .eadc-share-icons .eadc-share-native,
button.eadc-share-native {
  background: var(--eadc-ink, #18120D) !important;
  border-color: var(--eadc-ink, #18120D) !important;
  color: #fff !important;
}
.eadc-share .eadc-share-icons .eadc-share-native:hover,
button.eadc-share-native:hover {
  background: var(--eadc-gold, #b09a78) !important;
  border-color: var(--eadc-gold, #b09a78) !important;
}

/* When native share is available on mobile, hide social-network fallbacks
   (mailto/whatsapp/facebook). Copy-link stays — still useful. */
@media (max-width: 740px) {
  .eadc-share--native-ready .eadc-share-fallback { display: none !important; }
}


/* === PRIVATE VIEWING CTA === */
.eadc-btn-private {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: transparent;
  color: var(--eadc-ink, #18120D);
  padding: 13px 28px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-decoration: none;
  font-family: var(--eadc-sans, 'Inter', -apple-system, sans-serif);
  border: 1px solid var(--eadc-ink, #18120D);
  border-radius: 999px;
  cursor: pointer;
  transition: background .2s ease, color .2s ease, transform .2s ease;
  margin-top: 10px;
}
.eadc-btn-private:hover {
  background: var(--eadc-ink, #18120D);
  color: #fff;
  transform: translateY(-1px);
}


/* === ADVISORY BLOCK === */
.eadc-advisory {
  text-align: center;
  padding: 64px 48px;
  border-top: 1px solid var(--eadc-gray-200);
  margin-top: 48px;
}

.eadc-advisory-title {
  font-size: 22px;
  font-weight: 800;
  color: var(--eadc-black);
  margin-bottom: 12px;
  letter-spacing: -0.5px;
}

.eadc-advisory-desc {
  font-size: 14px;
  color: var(--eadc-gray-500);
  line-height: 1.7;
  max-width: 480px;
  margin: 0 auto 24px;
}


/* === CONTEXT MOCKUP (WORKS IN SPACE) === */
.eadc-context-mockup {
  margin-top: 32px;
  padding: 32px;
  background: var(--eadc-gray-100);
}

.eadc-context-room {
  width: 100%;
  height: 280px;
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}

.eadc-context-wall {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, #F0EFEB 0%, #E8E6E1 100%);
}

.eadc-context-floor {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 60px;
  background: linear-gradient(180deg, #D4CFC6 0%, #C8C3BA 100%);
}

.eadc-context-frame {
  position: relative;
  z-index: 1;
  width: 140px; height: 180px;
  background: var(--eadc-white);
  border: 3px solid #2A2A2A;
  box-shadow: 0 4px 20px rgba(0,0,0,0.15);
  margin-bottom: 70px;
}

.eadc-context-label {
  text-align: center;
  margin-top: 16px;
  font-size: 11px;
  color: var(--eadc-gray-500);
  font-style: italic;
}


/* === DROP CAP FOR EDITORIAL TEXT === */
.eadc-editorial p:first-of-type::first-letter {
  font-size: 56px;
  font-weight: 800;
  float: left;
  line-height: 0.8;
  margin: 4px 12px 0 0;
  color: var(--eadc-black);
}


/* === EXHIBITION PAGE === */
.eadc-exh-tabs {
  display: flex;
  gap: 0;
  border-bottom: 1px solid var(--eadc-gray-200);
  margin-bottom: 32px;
}

.eadc-exh-tab {
  padding: 12px 24px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--eadc-gray-500);
  cursor: pointer;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
}
.eadc-exh-tab.active {
  color: var(--eadc-black);
  border-bottom-color: var(--eadc-black);
}


/* === SCROLL REVEAL ANIMATION === */
.eadc-reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}
.eadc-reveal.visible {
  opacity: 1;
  transform: translateY(0);
}


/* === LIGHTBOX MUSEUM === */
.eadc-lightbox {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: var(--eadc-black);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: zoom-out;
  animation: eadcLbFade 0.3s ease;
}

@keyframes eadcLbFade {
  from { opacity: 0; }
  to { opacity: 1; }
}

.eadc-lightbox img {
  max-width: 90vw;
  max-height: 90vh;
  object-fit: contain;
}

.eadc-lightbox-close {
  position: absolute;
  top: 24px; right: 24px;
  color: var(--eadc-gray-500);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 3px;
  text-transform: uppercase;
  cursor: pointer;
}


/* === BACK TO TOP === */
.eadc-btt {
  position: fixed;
  bottom: 32px; right: 32px;
  width: 44px; height: 44px;
  background: var(--eadc-black);
  color: var(--eadc-white);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  cursor: pointer;
  z-index: 90;
  opacity: 0;
  transform: translateY(12px);
  transition: all 0.3s;
  text-decoration: none;
}
.eadc-btt.show {
  opacity: 1;
  transform: translateY(0);
}
.eadc-btt:hover {
  background: var(--eadc-gray-800);
  color: var(--eadc-white);
}


/* === BUTTONS === */
.eadc-btn-dark {
  display: inline-block;
  background: var(--eadc-black);
  color: var(--eadc-white);
  padding: 16px 40px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase;
  text-decoration: none;
  font-family: 'Manrope', sans-serif;
  border: none;
  cursor: pointer;
  transition: background 0.2s;
}
.eadc-btn-dark:hover {
  background: var(--eadc-gray-800);
  color: var(--eadc-white);
}

.eadc-btn-outline {
  display: inline-block;
  background: transparent;
  color: var(--eadc-black);
  padding: 14px 38px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase;
  text-decoration: none;
  font-family: 'Manrope', sans-serif;
  border: 2px solid var(--eadc-black);
  cursor: pointer;
  transition: all 0.2s;
}
.eadc-btn-outline:hover {
  background: var(--eadc-black);
  color: var(--eadc-white);
}

.eadc-link-arrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--eadc-black);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: gap 0.2s;
}
.eadc-link-arrow:hover { gap: 12px; }


/* === COUNTER BAR === */
.eadc-counter-bar {
  background: var(--eadc-black);
  padding: 40px 48px;
}

.eadc-counter-inner {
  max-width: 1400px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  text-align: center;
}

.eadc-counter-num {
  font-size: 44px;
  font-weight: 800;
  color: var(--eadc-white);
  line-height: 1;
  margin-bottom: 6px;
}

.eadc-counter-label {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--eadc-gray-600);
}


/* === RESPONSIVE === */
@media (max-width: 768px) {
  /* Hover reveal always visible on touch */
  .woocommerce ul.products li.product .price,
  .woocommerce ul.products li.product .eadc-card-meta {
    opacity: 1;
    transform: none;
  }

  .eadc-data-row {
    grid-template-columns: 120px 1fr;
  }

  .eadc-certificate { padding: 20px; }
  .eadc-cert-grid { grid-template-columns: 1fr; }

  .eadc-advisory { padding: 40px 20px; }
  .eadc-advisory-title { font-size: 18px; }

  .eadc-btn-private {
    width: 100%;
    text-align: center;
  }

  .eadc-counter-inner {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
  .eadc-counter-num { font-size: 36px; }

  .eadc-btt {
    bottom: 20px; right: 20px;
    width: 38px; height: 38px;
    font-size: 16px;
  }

  .eadc-editorial p:first-of-type::first-letter {
    font-size: 42px;
  }

  .eadc-context-room { height: 220px; }
  .eadc-context-frame { width: 100px; height: 130px; margin-bottom: 55px; }
}

@media (max-width: 480px) {
  .eadc-data-row {
    grid-template-columns: 1fr;
    gap: 2px;
  }

  .eadc-counter-num { font-size: 30px; }
  .eadc-counter-label { font-size: 9px; }

  .eadc-advisory { padding: 32px 16px; }
  .eadc-advisory-title { font-size: 16px; }

  .eadc-editorial p:first-of-type::first-letter {
    font-size: 36px;
    margin-right: 8px;
  }

  .eadc-context-mockup { padding: 16px; }
  .eadc-context-room { height: 180px; }
  .eadc-context-frame { width: 80px; height: 105px; margin-bottom: 48px; }
}


/* === WOOCOMMERCE OVERRIDES === */

/* Remove default WooCommerce sale flash */
.woocommerce span.onsale { display: none !important; }

/* Clean product image container */
.woocommerce ul.products li.product a img {
  margin-bottom: 0;
}

/* Product loop — image wrapper */
.woocommerce ul.products li.product .woocommerce-loop-product__link {
  position: relative;
  overflow: hidden;
}

/* Hide star ratings in loop */
.woocommerce ul.products li.product .star-rating {
  display: none;
}

/* Single product — hide default meta */
.woocommerce div.product .product_meta {
  font-size: 11px;
  color: var(--eadc-gray-500);
  border-top: 1px solid var(--eadc-gray-200);
  padding-top: 12px;
  margin-top: 24px;
}

/* Single product tabs */
.woocommerce div.product .woocommerce-tabs ul.tabs {
  border-bottom: 1px solid var(--eadc-gray-200);
  padding: 0;
  margin: 0 0 24px;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
  border: none;
  background: none;
  padding: 0;
  margin: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  padding: 12px 24px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--eadc-gray-500);
  border-bottom: 2px solid transparent;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  color: var(--eadc-black);
  border-bottom-color: var(--eadc-black);
}

/* Related products */
.woocommerce div.product .related.products h2 {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--eadc-gray-400);
  margin-bottom: 20px;
}


/* ═══════════════════════════════════════════
 * SINGLE PRODUCT — ELEMENTOR TEMPLATE LAYOUT
 * (used by [eadc_product_page] shortcode)
 * ═══════════════════════════════════════════ */

.eadc-single-product {
  background: var(--eadc-white);
  padding: 0 0 100px;
}
.eadc-sp-inner {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 48px;
}

/* Breadcrumb */
.eadc-breadcrumb {
  font-size: 11px;
  color: var(--eadc-gray-500);
  padding: 20px 0 24px;
  border-bottom: 1px solid var(--eadc-gray-200);
  margin-bottom: 48px;
}
.eadc-breadcrumb a { color: var(--eadc-gray-500); text-decoration: none; }
.eadc-breadcrumb a:hover { color: var(--eadc-black); }
.eadc-breadcrumb .eadc-sep { margin: 0 8px; color: var(--eadc-gray-300); }
.eadc-breadcrumb-current { color: var(--eadc-gray-700); }

/* Two-column layout */
.eadc-product-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: start;
}
.eadc-product-gallery .woocommerce-product-gallery {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
}
.eadc-product-gallery .woocommerce-product-gallery__image img {
  width: 100%;
  height: auto;
  display: block;
}

/* Sticky info column on desktop */
@media (min-width: 900px) {
  .eadc-info-col {
    position: sticky;
    top: 100px;
    align-self: start;
  }
}

/* Product title */
.eadc-product-title {
  font-family: 'Playfair Display', 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(28px, 3.6vw, 40px);
  font-weight: 500;
  color: var(--eadc-ink, #18120D);
  margin: 8px 0 24px;
  line-height: 1.15;
  letter-spacing: -0.015em;
}

/* Product card titles across the site — related grids, search, wishlist, 404 */
.eadc-related-name,
.eadc-search-card-name,
.eadc-wl-title,
.eadc-404-card-name,
.eadc-contact-success-card-name,
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: 'Playfair Display', 'Cormorant Garamond', Georgia, serif !important;
  font-weight: 500 !important;
  letter-spacing: -0.005em !important;
}

/* Price — JetBrains Mono tabular */
.eadc-product-price {
  font-family: 'JetBrains Mono', monospace;
  font-size: 32px;
  font-weight: 700;
  color: var(--eadc-black);
  letter-spacing: -1px;
  font-variant-numeric: tabular-nums;
  padding: 24px 0 0;
  border-top: 1px solid var(--eadc-gray-200);
  margin-top: 24px;
}
.eadc-product-price del { color: var(--eadc-gray-400); font-size: 20px; margin-right: 12px; font-weight: 400; }
.eadc-product-price ins { background: transparent; text-decoration: none; }

/* CTAs */
.eadc-cta-row {
  padding: 24px 0 12px;
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

/* Related works by artist */
.eadc-related {
  margin-top: 64px;
  padding-top: 48px;
  border-top: 1px solid var(--eadc-gray-200);
}
.eadc-related-title {
  font-family: 'Playfair Display', 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(26px, 3.4vw, 36px);
  font-weight: 500;
  letter-spacing: -0.012em;
  text-transform: none;
  color: var(--eadc-ink, #18120D);
  line-height: 1.15;
  margin: 0 0 28px;
}
.eadc-related-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
}
.eadc-related-work {
  display: block;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
}
.eadc-related-img {
  aspect-ratio: 3/4;
  background: var(--eadc-gray-100);
  overflow: hidden;
  margin-bottom: 12px;
}
.eadc-related-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s;
  display: block;
}
.eadc-related-work:hover .eadc-related-img img { transform: scale(1.02); }
.eadc-related-name {
  font-size: 17px;
  font-weight: 500;
  color: var(--eadc-ink, #18120D);
  line-height: 1.25;
  margin-top: 8px;
  letter-spacing: -0.005em;
}
.eadc-related-detail {
  font-size: 12px;
  color: var(--eadc-ink-soft, #6b5e51);
  margin-top: 4px;
  letter-spacing: 0.02em;
}

/* Recently viewed strip — wraps an .eadc-related grid; just adds breathing room
   so it doesn't collide visually with the related-works section above it. */
.eadc-recent-viewed {
  display: block;
  margin-top: 16px;
}
.eadc-recent-viewed[hidden] { display: none; }
.eadc-recent-viewed .eadc-related-title::before {
  content: "↻ ";
  margin-right: 2px;
  opacity: .7;
}
/* On the home page give it the same horizontal padding as the other home sections. */
.eadc-home-main .eadc-recent-viewed {
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 32px 64px;
}
@media (max-width: 740px) {
  .eadc-home-main .eadc-recent-viewed { padding: 0 16px 32px; }
}

/* Advisory — "Looking for something specific?" */
.eadc-advisory {
  text-align: center;
  padding: 64px 48px;
  border-top: 1px solid var(--eadc-gray-200);
  margin-top: 48px;
}
.eadc-advisory-title {
  font-size: 22px;
  font-weight: 800;
  color: var(--eadc-black);
  margin: 0 0 12px;
  letter-spacing: -0.5px;
}
.eadc-advisory-desc {
  font-size: 14px;
  color: var(--eadc-gray-500);
  line-height: 1.7;
  max-width: 480px;
  margin: 0 auto 24px;
}

/* Responsive */
@media (max-width: 900px) {
  .eadc-product-layout { grid-template-columns: 1fr; gap: 40px; }
  .eadc-sp-inner { padding: 0 20px; }
  .eadc-related-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; }
  .eadc-advisory { padding: 48px 20px; }
}
@media (max-width: 560px) {
  .eadc-related-grid { grid-template-columns: 1fr; }
  .eadc-product-title { font-size: 24px; }
  .eadc-product-price { font-size: 26px; }
}


/* Product excerpt (short description) */
.eadc-product-excerpt {
  font-size: 15px;
  line-height: 1.7;
  color: var(--eadc-gray-700);
  margin: 0 0 24px;
}
.eadc-product-excerpt p { margin: 0 0 12px; }
.eadc-product-excerpt p:last-child { margin-bottom: 0; }

/* Long description ("About this work") */
.eadc-about-section {
  margin-top: 64px;
  padding-top: 48px;
  border-top: 1px solid var(--eadc-gray-200);
  max-width: 720px;
}
.eadc-about-body {
  font-size: 15px;
  line-height: 1.8;
  color: var(--eadc-gray-800, #212121);
  margin-top: 16px;
}
.eadc-about-body p { margin: 0 0 16px; }
.eadc-about-body p:last-child { margin-bottom: 0; }

/* Robust gallery display: force visible even if flexslider JS never fires.
   The upstream noscript-only rule leaves .opacity:0 inline-styled when JS fails. */
.eadc-product-gallery .woocommerce-product-gallery { opacity: 1 !important; }
.eadc-product-gallery .woocommerce-product-gallery__image { display: block; }
.eadc-product-gallery .flex-control-nav,
.eadc-product-gallery .flex-control-thumbs {
  display: flex;
  gap: 8px;
  margin-top: 12px;
  padding: 0;
  list-style: none;
}
.eadc-product-gallery .flex-control-thumbs li {
  width: 72px;
  height: 72px;
  overflow: hidden;
  cursor: pointer;
}
.eadc-product-gallery .flex-control-thumbs img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.6;
  transition: opacity 0.2s;
}
.eadc-product-gallery .flex-control-thumbs img:hover,
.eadc-product-gallery .flex-control-thumbs img.flex-active {
  opacity: 1;
}


/* Product price — sold / on-request states */
.eadc-product-price--sold {
  display: flex;
  align-items: center;
}
.eadc-sold-badge {
  font-family: 'Manrope', sans-serif;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 4px;
  text-transform: uppercase;
  background: var(--eadc-black);
  color: var(--eadc-white);
  padding: 10px 18px;
  display: inline-block;
}
.eadc-product-price--on-request {
  font-family: 'Manrope', sans-serif !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  letter-spacing: 1px;
  color: var(--eadc-gray-500) !important;
  text-transform: uppercase;
}


/* Artist link in decorated block */
.eadc-artist-link {
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color 0.2s;
}
.eadc-artist-link:hover {
  border-bottom-color: var(--eadc-black);
  color: var(--eadc-black);
}

/* Artist bio block — lives inside the product info column, directly below the
   meta table (after the Reference row). Compact typography to fit a narrow,
   sticky column. */
.eadc-artist-bio {
  margin: 20px 0 0;
  padding: 20px 0 0;
  border-top: 1px solid var(--eadc-gray-200);
}
.eadc-artist-bio .eadc-data-title {
  /* section label, matches the "Provenance / Publications" style of the meta block */
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--eadc-gray-400);
  margin: 0 0 10px;
}
.eadc-artist-bio-name {
  font-family: 'Manrope', sans-serif;
  font-size: 15px;
  font-weight: 700;
  color: var(--eadc-black);
  margin: 0 0 10px;
  letter-spacing: -0.1px;
}
.eadc-artist-bio-body {
  font-size: 13px;
  line-height: 1.7;
  color: var(--eadc-gray-700);
}
.eadc-artist-bio-body p { margin: 0 0 10px; }
.eadc-artist-bio-body p:last-child { margin-bottom: 0; }
.eadc-artist-bio-body em { font-style: italic; }
.eadc-artist-bio-more {
  display: inline-block;
  margin-top: 12px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--eadc-gray-500);
  text-decoration: none;
  border-bottom: 1px solid var(--eadc-gray-300);
  padding-bottom: 3px;
  transition: color 0.2s, border-color 0.2s;
}
.eadc-artist-bio-more:hover {
  color: var(--eadc-black);
  border-bottom-color: var(--eadc-black);
}


/* ═══════════════════════════════════════════
 * ARTIST ARCHIVE — /artists/
 * ═══════════════════════════════════════════ */

.eadc-artists-archive {
  background: var(--eadc-white);
  padding: 0 0 100px;
}
.eadc-artists-archive-inner {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 48px;
}
.eadc-artists-archive-head {
  padding: 64px 0 48px;
  border-bottom: 1px solid var(--eadc-gray-200);
  margin-bottom: 48px;
  text-align: center;
}
.eadc-artists-archive-eyebrow {
  font-family: 'Manrope', sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: var(--eadc-gray-500);
  margin: 0 0 12px;
}
.eadc-artists-archive-title {
  font-family: 'Manrope', sans-serif;
  font-size: 48px;
  font-weight: 800;
  color: var(--eadc-black);
  margin: 0 0 16px;
  letter-spacing: -1.5px;
  line-height: 1;
}
.eadc-artists-archive-desc {
  font-size: 14px;
  color: var(--eadc-gray-500);
  max-width: 520px;
  margin: 0 auto;
  line-height: 1.7;
}

.eadc-artists-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px 32px;
}

.eadc-artist-card {
  display: block;
  text-decoration: none;
  color: inherit;
}
.eadc-artist-card-thumb {
  aspect-ratio: 1 / 1;
  background: var(--eadc-gray-100);
  overflow: hidden;
  margin-bottom: 14px;
  position: relative;
}
.eadc-artist-card-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s;
  display: block;
}
.eadc-artist-card:hover .eadc-artist-card-thumb img { transform: scale(1.03); }
.eadc-artist-card-placeholder {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Outfit', sans-serif;
  font-size: 64px;
  font-weight: 300;
  color: var(--eadc-gray-300);
  letter-spacing: -2px;
  transition: color 0.3s;
}
.eadc-artist-card:hover .eadc-artist-card-placeholder { color: var(--eadc-gray-500); }
.eadc-artist-card-name {
  font-size: 14px;
  font-weight: 700;
  color: var(--eadc-black);
  letter-spacing: -0.2px;
  margin-bottom: 4px;
}
.eadc-artist-card-nat {
  font-size: 11px;
  color: var(--eadc-gray-500);
  margin-bottom: 6px;
}
.eadc-artist-card-count {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  font-weight: 500;
  color: var(--eadc-gray-400);
  letter-spacing: 1px;
  text-transform: uppercase;
}

@media (max-width: 1100px) {
  .eadc-artists-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 720px) {
  .eadc-artists-archive-inner { padding: 0 20px; }
  .eadc-artists-archive-title { font-size: 36px; }
  .eadc-artists-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; }
}
@media (max-width: 460px) {
  .eadc-artists-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
}


/* ═══════════════════════════════════════════
 * ARTIST SINGLE — /artists/{slug}/
 * ═══════════════════════════════════════════ */

.eadc-artist-single {
  background: var(--eadc-white);
  padding: 0 0 100px;
}
.eadc-artist-single-inner {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 48px;
}
.eadc-artist-single-head {
  padding: 48px 0 32px;
  margin-bottom: 24px;
}
.eadc-artist-single-title {
  font-family: 'Manrope', sans-serif;
  font-size: 48px;
  font-weight: 800;
  color: var(--eadc-black);
  margin: 0;
  letter-spacing: -1.5px;
  line-height: 1.05;
}
.eadc-artist-single-bio {
  font-size: 16px;
  line-height: 1.8;
  color: var(--eadc-gray-800, #212121);
  max-width: 720px;
  margin: 0 0 48px;
}
.eadc-artist-single-bio p { margin: 0 0 16px; }
.eadc-artist-single-bio em { font-style: italic; }

.eadc-artist-single-notable {
  max-width: 720px;
  margin: 0 0 64px;
  padding-top: 24px;
  border-top: 1px solid var(--eadc-gray-200);
}
.eadc-artist-single-notable ul {
  list-style: none;
  padding: 0;
  margin: 16px 0 0;
  columns: 2;
  column-gap: 32px;
}
.eadc-artist-single-notable li {
  font-size: 14px;
  color: var(--eadc-black);
  padding: 6px 0;
  break-inside: avoid;
}

.eadc-artist-works {
  padding-top: 48px;
  border-top: 1px solid var(--eadc-gray-200);
}
.eadc-artist-works-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
}
.eadc-artist-work {
  display: block;
  text-decoration: none;
  color: inherit;
}
.eadc-artist-work-img {
  aspect-ratio: 3/4;
  background: var(--eadc-gray-100);
  overflow: hidden;
  margin-bottom: 12px;
  position: relative;
}
.eadc-artist-work-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.5s;
}
.eadc-artist-work:hover .eadc-artist-work-img img { transform: scale(1.02); }
.eadc-artist-work-sold {
  position: absolute;
  top: 12px;
  right: 12px;
  background: var(--eadc-black);
  color: var(--eadc-white);
  font-family: 'Manrope', sans-serif;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 2px;
  text-transform: uppercase;
  padding: 4px 8px;
}
.eadc-artist-work-name {
  font-size: 13px;
  font-weight: 600;
  color: var(--eadc-black);
}
.eadc-artist-work-detail {
  font-size: 11px;
  color: var(--eadc-gray-500);
  margin-top: 4px;
}

@media (max-width: 900px) {
  .eadc-artist-single-inner { padding: 0 20px; }
  .eadc-artist-single-title { font-size: 36px; }
  .eadc-artist-works-grid { grid-template-columns: repeat(3, 1fr); gap: 20px; }
  .eadc-artist-single-notable ul { columns: 1; }
}
@media (max-width: 600px) {
  .eadc-artist-works-grid { grid-template-columns: repeat(2, 1fr); }
}


/* "View all works by …" / "Browse all European works" link under each strip */
.eadc-related-more {
  display: inline-block;
  margin-top: 28px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--eadc-gray-500);
  text-decoration: none;
  border-bottom: 1px solid var(--eadc-gray-300);
  padding-bottom: 4px;
  transition: color 0.2s, border-color 0.2s;
}
.eadc-related-more:hover {
  color: var(--eadc-black);
  border-bottom-color: var(--eadc-black);
}


/* ═══════════════════════════════════════════
 * PRODUCT ARCHIVE — /shop/ and /product-category/*
 * ═══════════════════════════════════════════ */

/* Push the Woo content into our standard gutter */
.woocommerce.post-type-archive-product #primary,
.woocommerce.tax-product_cat #primary {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 48px;
}

/* Archive header — centred, museum-plate feel */
.woocommerce-products-header {
  text-align: center;
  padding: 64px 0 40px;
  border-bottom: 1px solid var(--eadc-gray-200);
  margin-bottom: 24px;
}

/* Breadcrumb moved below the title on archive pages — subtle, centred,
   no own border. The header already provides the divider above. */
.woocommerce.post-type-archive-product .woocommerce-breadcrumb,
.woocommerce.tax-product_cat .woocommerce-breadcrumb,
.woocommerce.tax-product_tag .woocommerce-breadcrumb {
  text-align: center;
  border: none;
  padding: 0 0 28px;
  margin: 0 0 16px;
  font-size: 11px;
  letter-spacing: 0.5px;
  color: var(--eadc-gray-500);
}
.woocommerce.post-type-archive-product .woocommerce-breadcrumb a,
.woocommerce.tax-product_cat .woocommerce-breadcrumb a,
.woocommerce.tax-product_tag .woocommerce-breadcrumb a {
  color: var(--eadc-gray-500);
}
.woocommerce.post-type-archive-product .woocommerce-breadcrumb a:hover,
.woocommerce.tax-product_cat .woocommerce-breadcrumb a:hover,
.woocommerce.tax-product_tag .woocommerce-breadcrumb a:hover {
  color: var(--eadc-black);
}
.woocommerce-products-header__title {
  font-family: 'Manrope', sans-serif;
  font-size: 40px;
  font-weight: 800;
  color: var(--eadc-black);
  letter-spacing: -1.2px;
  margin: 0 0 12px;
  line-height: 1;
}
.term-description {
  font-size: 14px;
  color: var(--eadc-gray-500);
  max-width: 560px;
  margin: 0 auto;
  line-height: 1.7;
}

/* Result count + sort row */
.woocommerce .woocommerce-result-count,
.woocommerce-page .woocommerce-result-count {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  color: var(--eadc-gray-500);
  letter-spacing: 1px;
  margin: 0 0 32px;
  float: none;
  display: inline-block;
}
.woocommerce .woocommerce-ordering,
.woocommerce-page .woocommerce-ordering {
  float: right;
  margin: 0 0 32px;
}
.woocommerce .woocommerce-ordering select {
  font-family: 'Manrope', sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--eadc-gray-700);
  background: var(--eadc-white);
  border: 1px solid var(--eadc-gray-200);
  padding: 10px 32px 10px 14px;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path fill='%23616161' d='M0 0l5 6 5-6z'/></svg>");
  background-repeat: no-repeat;
  background-position: right 12px center;
}
.woocommerce .woocommerce-ordering select:focus {
  outline: none;
  border-color: var(--eadc-black);
}

/* Grid gaps */
.woocommerce ul.products {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
  clear: both;
}
/* Woo's default clearfix pseudo-elements become phantom grid cells when we
   switch the <ul> from float to grid — creating an empty "first item" in
   the top-left slot. Neutralise them. */
.woocommerce ul.products::before,
.woocommerce ul.products::after {
  content: none !important;
  display: none !important;
}
.woocommerce ul.products.columns-3 { grid-template-columns: repeat(3, 1fr); }
.woocommerce ul.products.columns-2 { grid-template-columns: repeat(2, 1fr); }
.woocommerce ul.products li.product {
  width: 100% !important;
  margin: 0 !important;
  float: none !important;
  padding: 0 !important;
}

/* Card content spacing — artist above title */
.woocommerce ul.products li.product .eadc-card-artist {
  margin-top: 14px;
}

/* Pagination */
.woocommerce nav.woocommerce-pagination {
  margin: 48px 0 64px;
  text-align: center;
}
.woocommerce nav.woocommerce-pagination ul {
  display: inline-flex;
  gap: 8px;
  border: none;
}
.woocommerce nav.woocommerce-pagination ul li {
  border: none;
}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  font-weight: 600;
  padding: 10px 14px;
  border: 1px solid var(--eadc-gray-200);
  background: var(--eadc-white);
  color: var(--eadc-gray-700);
  min-width: 36px;
  text-align: center;
  transition: all 0.2s;
}
.woocommerce nav.woocommerce-pagination ul li a:hover {
  border-color: var(--eadc-black);
  color: var(--eadc-black);
  background: var(--eadc-white);
}
.woocommerce nav.woocommerce-pagination ul li span.current {
  background: var(--eadc-black);
  color: var(--eadc-white);
  border-color: var(--eadc-black);
}

/* Responsive */
@media (max-width: 900px) {
  .woocommerce.post-type-archive-product #primary,
  .woocommerce.tax-product_cat #primary { padding: 0 20px; }
  .woocommerce-products-header__title { font-size: 32px; }
  .woocommerce ul.products { grid-template-columns: repeat(3, 1fr); gap: 20px; }
}
@media (max-width: 640px) {
  .woocommerce ul.products { grid-template-columns: repeat(2, 1fr); gap: 14px; }
  .woocommerce .woocommerce-ordering { float: none; display: block; margin-top: 8px; }
  .woocommerce .woocommerce-ordering select { width: 100%; }
}


/* Series bio block — sits directly below the artist bio, same compact style
   for the narrow info column. Visually mirrored so the two blocks read as
   paired context ("About the artist" / "About this series"). */
.eadc-series-bio {
  margin: 20px 0 0;
  padding: 20px 0 0;
  border-top: 1px solid var(--eadc-gray-200);
}
.eadc-series-bio .eadc-data-title {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--eadc-gray-400);
  margin: 0 0 10px;
}
.eadc-series-bio-name {
  font-family: 'Manrope', sans-serif;
  font-size: 15px;
  font-weight: 700;
  color: var(--eadc-black);
  margin: 0 0 10px;
  letter-spacing: -0.1px;
  font-style: italic;
}
.eadc-series-bio-body {
  font-size: 13px;
  line-height: 1.7;
  color: var(--eadc-gray-700);
}
.eadc-series-bio-body p { margin: 0; }


/* ═══════════════════════════════════════════
 * "1/1 ORIGINAL" SEAL — circular stamp overlaid on every product thumbnail
 * ═══════════════════════════════════════════ */
.eadc-orig-seal {
  position: absolute;
  z-index: 3;
  border: 1px solid var(--eadc-black);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(4px);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: var(--eadc-black);
  line-height: 1;
  text-align: center;
  pointer-events: none;
  font-family: 'Manrope', sans-serif;
}
.eadc-orig-seal-num {
  font-weight: 800;
}
.eadc-orig-seal-lbl {
  font-weight: 700;
  text-transform: uppercase;
  margin-top: 2px;
}
/* Sizes — always pinned to BOTTOM-RIGHT of the image container. */
.eadc-orig-seal--sm { width: 42px; height: 42px; bottom: 12px; right: 12px; }
.eadc-orig-seal--sm .eadc-orig-seal-num { font-size: 11px; }
.eadc-orig-seal--sm .eadc-orig-seal-lbl { font-size: 6px; letter-spacing: 1.2px; margin-top: 1px; }

.eadc-orig-seal--md { width: 56px; height: 56px; bottom: 16px; right: 16px; }
.eadc-orig-seal--md .eadc-orig-seal-num { font-size: 14px; }
.eadc-orig-seal--md .eadc-orig-seal-lbl { font-size: 7px; letter-spacing: 1.5px; }

.eadc-orig-seal--lg { width: 84px; height: 84px; bottom: 24px; right: 24px; }
.eadc-orig-seal--lg .eadc-orig-seal-num { font-size: 22px; }
.eadc-orig-seal--lg .eadc-orig-seal-lbl { font-size: 9px; letter-spacing: 2px; margin-top: 4px; }

/* Ensure thumbnail containers are positioned for the seal */
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
.eadc-product-gallery,
.eadc-related-img,
.eadc-artist-work-img {
  position: relative;
}


/* ═══════════════════════════════════════════════════════════════════════════
 * "FAVORITE" SEAL — circular pink stamp with rotating text + heart centre.
 * Shown only on as-of-hearts curated products that are still available.
 * Pinned TOP-LEFT so it doesn't collide with the 1/1 ORIGINAL seal (bottom-right).
 * ═══════════════════════════════════════════════════════════════════════════ */
.eadc-fav-seal {
  position: absolute;
  z-index: 4;
  display: inline-block;
  pointer-events: none;
  /* WHITE outer disc — guarantees the pink text always reads, no matter what
     image is behind. Full circle with subtle shadow for the "wax seal" lift. */
  background: #fff;
  border-radius: 50%;
  box-shadow:
    0 4px 14px -4px rgba(0,0,0,0.25),
    0 0 0 1px rgba(216,58,124,0.15);
}
.eadc-fav-seal-svg {
  display: block;
  width: 100%;
  height: 100%;
  /* Rotating text path — slow continuous spin */
  animation: eadc-fav-spin 14s linear infinite;
}
@keyframes eadc-fav-spin {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}
@media (prefers-reduced-motion: reduce) {
  .eadc-fav-seal-svg { animation: none; }
}
/* Pink center disc behind the heart */
.eadc-fav-seal::before {
  content: "";
  position: absolute;
  inset: 26%;
  border-radius: 50%;
  background: var(--eadc-pink, #d83a7c);
}
.eadc-fav-seal-heart {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
  color: #fff;
}
.eadc-fav-seal-heart svg {
  width: 32%;
  height: 32%;
  display: block;
}
/* Rotating "FAVORITE" textPath — pink letters always sitting on the white
   outer disc so contrast stays high against any product image. */
.eadc-fav-seal-text {
  font-family: var(--eadc-sans, 'Inter', -apple-system, sans-serif);
  font-weight: 700;
  fill: var(--eadc-pink, #d83a7c);
  letter-spacing: 0.18em;
}

/* Sizes — pinned TOP-LEFT (counterpoint to the 1/1 seal in bottom-right) */
.eadc-fav-seal--sm { width: 56px; height: 56px; bottom: 10px; left: 10px; }
.eadc-fav-seal--sm .eadc-fav-seal-text { font-size: 12px; }

.eadc-fav-seal--md { width: 76px; height: 76px; bottom: 14px; left: 14px; }
.eadc-fav-seal--md .eadc-fav-seal-text { font-size: 11px; }

.eadc-fav-seal--lg { width: 110px; height: 110px; bottom: 20px; left: 20px; }
.eadc-fav-seal--lg .eadc-fav-seal-text { font-size: 9.5px; }

/* Add brand pink token if missing */
:root { --eadc-pink: #d83a7c; }
/* Hide seal on sold items inside archive (optional — not always wanted).
   Keeping it ON for now: a sold original is still an original. */


/* ═══════════════════════════════════════════
 * EDITORIAL STRIP — top of single product page
 * ═══════════════════════════════════════════ */
.eadc-origin-strip {
  background: var(--eadc-off-white, #FAFAFA);
  border-top: 1px solid var(--eadc-gray-200);
  border-bottom: 1px solid var(--eadc-gray-200);
  padding: 28px 48px;
  margin-top: 12px;
  text-align: center;
  font-family: 'Manrope', sans-serif;
  font-size: 11px;
  color: var(--eadc-gray-600);
  letter-spacing: 0.3px;
  line-height: 1.6;
}
.eadc-origin-strip-eyebrow {
  font-weight: 800;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--eadc-black);
  margin-right: 8px;
}
.eadc-origin-strip-copy {
  color: var(--eadc-gray-600);
}
@media (max-width: 720px) {
  .eadc-origin-strip { padding: 24px 20px 16px; margin-top: 16px; font-size: 10px; }
  .eadc-origin-strip-eyebrow { display: block; margin: 0 0 4px; letter-spacing: 2px; }
}


/* ═══════════════════════════════════════════
 * CERTIFICATE OF AUTHENTICITY — foot of single product page
 * ═══════════════════════════════════════════ */
/* ═══════════════════════════════════════════════════════════════════════════
 * CERTIFICATE OF AUTHENTICITY — premium inline panel (single product page)
 * ═══════════════════════════════════════════════════════════════════════════
 * Compact card with cream background + 3px gold left accent, decorative
 * corner brackets, tighter typography. Reads as an "official document"
 * fragment without being heavy.
 */
.eadc-cert {
  margin: 56px 0 24px;
  max-width: 720px;
}
.eadc-cert-inner {
  position: relative;
  background: var(--eadc-cream, #FBF8F3);
  border: 1px solid var(--eadc-line, #E6DFD3);
  border-left: 3px solid var(--eadc-gold, #b09a78);
  padding: 26px 32px 24px;
}
/* Decorative corner brackets — subtle, official-document feel */
.eadc-cert-inner::before,
.eadc-cert-inner::after {
  content: "";
  position: absolute;
  width: 14px; height: 14px;
  border: 1px solid var(--eadc-gold, #b09a78);
  pointer-events: none;
}
.eadc-cert-inner::before { top: 8px;    right: 8px;    border-left: 0; border-bottom: 0; }
.eadc-cert-inner::after  { bottom: 8px; right: 8px; border-left: 0; border-top: 0; }

.eadc-cert-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding-bottom: 14px;
  margin-bottom: 16px;
  border-bottom: 1px dashed var(--eadc-line, #E6DFD3);
}
.eadc-cert-title {
  font-family: var(--eadc-sans, 'Inter', -apple-system, sans-serif);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--eadc-ink-soft, #6b5e51);
  margin: 0;
}
.eadc-cert-stamp {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px 4px 8px;
  background: #fff;
  border: 1px solid var(--eadc-gold, #b09a78);
  border-radius: 999px;
}
.eadc-cert-stamp-num {
  font-family: 'Playfair Display', 'Cormorant Garamond', Georgia, serif;
  font-size: 14px;
  font-weight: 600;
  color: var(--eadc-ink, #18120D);
  letter-spacing: 0;
  line-height: 1;
}
.eadc-cert-stamp-lbl {
  font-family: var(--eadc-sans, 'Inter', sans-serif);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--eadc-gold, #b09a78);
}

.eadc-cert-grid {
  padding: 0 0 16px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px 32px;
  border-bottom: 1px dashed var(--eadc-line, #E6DFD3);
  margin-bottom: 14px;
}
.eadc-cert-row {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.eadc-cert-k {
  font-family: var(--eadc-sans, 'Inter', sans-serif);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--eadc-ink-soft, #6b5e51);
}
.eadc-cert-v {
  font-family: 'Playfair Display', 'Cormorant Garamond', Georgia, serif;
  font-size: 16px;
  font-weight: 500;
  color: var(--eadc-ink, #18120D);
  letter-spacing: -0.005em;
  line-height: 1.25;
}

.eadc-cert-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  font-size: 11px;
}
.eadc-cert-foot-left,
.eadc-cert-foot-right { flex: 0 0 auto; }
.eadc-cert-foot-right { text-align: right; }
.eadc-cert-ref {
  font-family: var(--eadc-sans, 'Inter', sans-serif);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--eadc-ink-soft, #6b5e51);
  margin-bottom: 2px;
}
.eadc-cert-sig {
  font-family: 'Playfair Display', 'Cormorant Garamond', Georgia, serif;
  font-size: 13px;
  font-weight: 500;
  font-style: italic;
  color: var(--eadc-ink, #18120D);
  letter-spacing: 0;
}
.eadc-cert-date {
  font-family: 'JetBrains Mono', 'SFMono-Regular', monospace;
  font-size: 12px;
  font-weight: 500;
  color: var(--eadc-ink, #18120D);
  letter-spacing: 0.04em;
}

/* Actions row — Download primary + verify text inline-end */
.eadc-cert-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px dashed var(--eadc-line, #E6DFD3);
  flex-wrap: wrap;
}
.eadc-cert-download {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 9px 16px;
  background: var(--eadc-ink, #18120D);
  color: #fff !important;
  text-decoration: none !important;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border: 1px solid var(--eadc-ink, #18120D);
  transition: background .2s ease, color .2s ease, transform .15s ease;
}
.eadc-cert-download svg { width: 14px; height: 14px; stroke: currentColor; }
.eadc-cert-download:hover {
  background: transparent;
  color: var(--eadc-ink, #18120D) !important;
  transform: translateY(-1px);
}
.eadc-cert-verify {
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--eadc-ink-soft, #6b5e51) !important;
  text-decoration: none !important;
  border-bottom: 1px solid var(--eadc-gold, #b09a78);
  padding-bottom: 1px;
  transition: color .15s, border-color .15s;
}
.eadc-cert-verify:hover {
  color: var(--eadc-ink, #18120D) !important;
  border-bottom-color: var(--eadc-ink, #18120D);
}

@media (max-width: 640px) {
  .eadc-cert { margin: 40px 0 16px; }
  .eadc-cert-inner { padding: 22px 22px 20px; }
  .eadc-cert-grid { grid-template-columns: 1fr; gap: 12px; }
  .eadc-cert-foot { flex-direction: column; align-items: flex-start; gap: 8px; }
  .eadc-cert-foot-right { text-align: left; }
  .eadc-cert-actions { flex-direction: column; align-items: stretch; }
  .eadc-cert-download { justify-content: center; }
  .eadc-cert-verify { text-align: center; }
}


/* ═══════════════════════════════════════════
 * ARTIST ARCHIVE — enhanced directory UI
 * ═══════════════════════════════════════════ */

/* Header stats */
.eadc-artists-archive-stats {
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  color: var(--eadc-gray-500);
  letter-spacing: 1px;
  margin: 20px 0 0;
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
}
.eadc-artists-archive-stats strong {
  color: var(--eadc-black);
  font-weight: 700;
}
.eadc-stats-sep {
  color: var(--eadc-gray-300);
}

/* Featured — larger cards with bio snippet */
.eadc-artists-featured {
  margin: 0 0 56px;
  padding-bottom: 56px;
  border-bottom: 1px solid var(--eadc-gray-200);
}
.eadc-artists-featured-title {
  font-family: 'Manrope', sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: var(--eadc-gray-500);
  margin: 0 0 8px;
}
.eadc-artists-featured-desc {
  font-size: 13px;
  color: var(--eadc-gray-500);
  margin: 0 0 28px;
}
.eadc-artists-featured-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 28px;
}
.eadc-artist-featured-card {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
}
.eadc-artist-featured-thumb {
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: var(--eadc-gray-100);
  margin-bottom: 14px;
  position: relative;
}
.eadc-artist-featured-thumb img {
  width: 100%; height: 100%; object-fit: cover;
  transition: transform 0.5s; display: block;
}
.eadc-artist-featured-card:hover .eadc-artist-featured-thumb img {
  transform: scale(1.03);
}
.eadc-artist-featured-name {
  font-family: 'Manrope', sans-serif;
  font-size: 15px;
  font-weight: 700;
  color: var(--eadc-black);
  letter-spacing: -0.2px;
  margin-bottom: 4px;
}
.eadc-artist-featured-sub {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  color: var(--eadc-gray-500);
  letter-spacing: 0.5px;
  margin-bottom: 8px;
  display: flex;
  gap: 6px;
  align-items: center;
  flex-wrap: wrap;
}
.eadc-artist-featured-bio {
  font-size: 13px;
  line-height: 1.55;
  color: var(--eadc-gray-700);
  margin: 0;
}

/* ═══════════════════════════════════════════
 * FILTER BAR — minimalist rewrite
 * Aggressive `all: unset` on form controls to wipe Elementor's kit styles
 * (coral-red button bg, pill radius, etc.) before redefining minimally.
 * ═══════════════════════════════════════════ */

/* Reset any button/input/select inside the filters to a clean slate */
.eadc-artists-filters button,
.eadc-artists-filters input[type="search"],
.eadc-artists-filters select,
.eadc-artists-filters input[type="checkbox"] {
  all: unset;
  box-sizing: border-box;
  -webkit-appearance: none;
  appearance: none;
}

.eadc-artists-filters {
  margin: 0 0 40px;
  padding: 20px 0;
  border-top: 1px solid var(--eadc-gray-200);
  border-bottom: 1px solid var(--eadc-gray-200);
  background: var(--eadc-white);
}

/* Row 1: search + sort + toggle on same line */
.eadc-artists-row-search {
  display: flex;
  align-items: center;
  gap: 32px;
  margin-bottom: 18px;
  flex-wrap: wrap;
}
.eadc-artists-search-input {
  flex: 1 1 280px;
  min-width: 200px;
  border-bottom: 1px solid var(--eadc-gray-300) !important;
  padding: 8px 0 !important;
  font-family: 'Manrope', sans-serif !important;
  font-size: 13px !important;
  color: var(--eadc-black) !important;
  background: transparent !important;
  cursor: text !important;
  letter-spacing: 0.2px !important;
}
.eadc-artists-search-input:focus {
  border-bottom-color: var(--eadc-black) !important;
}
.eadc-artists-search-input::placeholder {
  color: var(--eadc-gray-400);
  font-style: italic;
}

.eadc-artists-tools {
  display: inline-flex;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
}
.eadc-artists-sort {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: 'Manrope', sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--eadc-gray-500);
}
.eadc-artists-sort select {
  font-family: 'Manrope', sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  color: var(--eadc-black) !important;
  background: transparent !important;
  border-bottom: 1px solid var(--eadc-gray-300) !important;
  padding: 4px 16px 4px 2px !important;
  cursor: pointer !important;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='5' viewBox='0 0 8 5'><path fill='%23616161' d='M0 0l4 5 4-5z'/></svg>") !important;
  background-repeat: no-repeat !important;
  background-position: right 2px center !important;
}
.eadc-artists-sort select:focus {
  border-bottom-color: var(--eadc-black) !important;
}

.eadc-artists-stubs-toggle {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-family: 'Manrope', sans-serif;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--eadc-gray-500);
  cursor: pointer;
  user-select: none;
}
.eadc-artists-stubs-toggle input[type="checkbox"] {
  width: 12px !important;
  height: 12px !important;
  border: 1px solid var(--eadc-gray-400) !important;
  cursor: pointer !important;
  background: var(--eadc-white) !important;
  position: relative !important;
  flex-shrink: 0 !important;
}
.eadc-artists-stubs-toggle input[type="checkbox"]:checked {
  background: var(--eadc-black) !important;
  border-color: var(--eadc-black) !important;
}
.eadc-artists-stubs-toggle input[type="checkbox"]:checked::after {
  content: '';
  position: absolute;
  left: 3px; top: 0;
  width: 4px; height: 7px;
  border: solid var(--eadc-white);
  border-width: 0 1.5px 1.5px 0;
  transform: rotate(45deg);
}

/* Row 2: nationality pills — text-only with middot separators */
.eadc-artists-nat {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  margin-bottom: 16px;
  align-items: baseline;
}
.eadc-artists-pill {
  font-family: 'Manrope', sans-serif !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: var(--eadc-gray-500) !important;
  background: transparent !important;
  border: none !important;
  padding: 4px 0 !important;
  cursor: pointer !important;
  transition: color 0.15s !important;
  border-bottom: 1px solid transparent !important;
  line-height: 1.6 !important;
  border-radius: 0 !important;
}
.eadc-artists-pill:not(:last-child)::after {
  content: '·';
  color: var(--eadc-gray-300);
  margin: 0 10px;
  font-weight: 400;
}
.eadc-artists-pill:hover {
  color: var(--eadc-black) !important;
}
.eadc-artists-pill.is-active {
  color: var(--eadc-black) !important;
  border-bottom-color: var(--eadc-black) !important;
}
.eadc-artists-pill-n {
  font-family: 'JetBrains Mono', monospace !important;
  font-weight: 500 !important;
  font-size: 9px !important;
  margin-left: 4px !important;
  color: var(--eadc-gray-400) !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
.eadc-artists-pill.is-active .eadc-artists-pill-n {
  color: var(--eadc-gray-600) !important;
}

/* Row 3: alphabet — plain letters, underline on hover/active */
.eadc-artists-alpha {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  align-items: baseline;
}
.eadc-artists-alpha-btn {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  color: var(--eadc-gray-700) !important;
  background: transparent !important;
  border: none !important;
  padding: 4px 6px !important;
  cursor: pointer !important;
  transition: color 0.15s !important;
  border-bottom: 1px solid transparent !important;
  border-radius: 0 !important;
  margin: 0 2px !important;
  line-height: 1 !important;
}
.eadc-artists-alpha-btn:hover:not(:disabled) {
  color: var(--eadc-black) !important;
  border-bottom-color: var(--eadc-black) !important;
}
.eadc-artists-alpha-btn.is-disabled,
.eadc-artists-alpha-btn:disabled {
  color: var(--eadc-gray-300) !important;
  cursor: default !important;
}

/* Grouped sections with big letter headers */
.eadc-artists-section {
  margin-bottom: 48px;
}
.eadc-artists-section-letter {
  font-family: 'Manrope', sans-serif;
  font-size: 72px;
  font-weight: 800;
  color: var(--eadc-gray-200);
  letter-spacing: -3px;
  line-height: 0.9;
  margin: 0 0 20px;
  border-bottom: 1px solid var(--eadc-gray-200);
  padding-bottom: 12px;
}
.eadc-artists-section[hidden] { display: none; }

/* Empty state */
.eadc-artists-empty {
  text-align: center;
  padding: 80px 0;
  color: var(--eadc-gray-500);
  font-size: 14px;
}
.eadc-artists-empty[hidden] { display: none; }

/* CRITICAL — the native [hidden] attribute has lower specificity than our
   explicit display rules on .eadc-artist-card (display:block) and the
   Elementor/WC button cascade on pills. Force-hide when the JS toggles
   `hidden=true` so search / nationality / stubs filters actually work. */
.eadc-artist-card[hidden],
.eadc-artists-featured[hidden],
.eadc-artists-section[hidden] {
  display: none !important;
}

/* (Previous override block removed — the filter-bar rewrite above uses
   `all: unset` which cleanly wipes Elementor's button kit styles.) */

/* Responsive */
@media (max-width: 1100px) {
  .eadc-artists-featured-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 720px) {
  .eadc-artists-featured-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; }
  .eadc-artists-section-letter { font-size: 48px; }
  .eadc-artists-tools { flex-direction: column; align-items: flex-start; }
  .eadc-artists-filters { position: static; }
}
@media (max-width: 460px) {
  .eadc-artists-featured-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
  .eadc-artists-alpha-btn { padding: 3px 4px !important; font-size: 10px !important; margin: 0 1px !important; }
}


/* ═══════════════════════════════════════════
 * ARTIST BIO STRIP on /collections/{artist-slug}/
 * Horizontal strip with thumbnail left + bio right.
 * ═══════════════════════════════════════════ */
.eadc-artist-cat-strip {
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 40px;
  align-items: center;
  padding: 40px 0;
  margin: 0 0 32px;
  border-bottom: 1px solid var(--eadc-gray-200);
  text-align: left;
}
.eadc-artist-cat-strip-thumb {
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: var(--eadc-gray-100);
}
.eadc-artist-cat-strip-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.eadc-artist-cat-strip-eyebrow {
  font-family: 'Manrope', sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: var(--eadc-gray-500);
  margin: 0 0 8px;
}
.eadc-artist-cat-strip-name {
  font-family: 'Manrope', sans-serif;
  font-size: 32px;
  font-weight: 800;
  color: var(--eadc-black);
  letter-spacing: -0.8px;
  margin: 0 0 8px;
  line-height: 1;
}
.eadc-artist-cat-strip-context {
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  color: var(--eadc-gray-500);
  letter-spacing: 0.5px;
  margin: 0 0 16px;
}
.eadc-artist-cat-strip-bio {
  font-size: 14px;
  line-height: 1.7;
  color: var(--eadc-gray-700);
  max-width: 680px;
}
.eadc-artist-cat-strip-bio p { margin: 0 0 10px; }
.eadc-artist-cat-strip-bio p:last-child { margin-bottom: 0; }
.eadc-artist-cat-strip-bio em { font-style: italic; }
.eadc-artist-cat-strip-link {
  display: inline-block;
  margin-top: 16px;
  font-family: 'Manrope', sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--eadc-gray-600);
  text-decoration: none;
  border-bottom: 1px solid var(--eadc-gray-300);
  padding-bottom: 3px;
  transition: color 0.2s, border-color 0.2s;
}
.eadc-artist-cat-strip-link:hover {
  color: var(--eadc-black);
  border-bottom-color: var(--eadc-black);
}

@media (max-width: 720px) {
  .eadc-artist-cat-strip {
    grid-template-columns: 1fr;
    gap: 20px;
    padding: 24px 0;
  }
  .eadc-artist-cat-strip-thumb {
    max-width: 200px;
    margin: 0 auto;
  }
  .eadc-artist-cat-strip-name { font-size: 28px; }
}


/* ═══════════════════════════════════════════
 * HOME — HERO CAROUSEL (3-layer curated)
 * ═══════════════════════════════════════════
 * Per slide:
 *   Layer 1  .eadc-hero-bg-blur   — fondo blurred + tinted, scale 1.15
 *   Layer 2  .eadc-hero-cover     — fondo sharp, right 28%, hidden <768px
 *   Layer 3  .eadc-hero-book      — libro PNG floating with bookFloat anim
 *   Layer 4  .eadc-hero-text-shade + .eadc-hero-text — gradient + copy
 * Track translates X via JS, clone of slide 0 appended at end for loop.
 */
.eadc-hero {
  position: relative;
  width: 100%;
  height: 78vh;
  min-height: 560px;
  max-height: 820px;
  overflow: hidden;
  background: #0e0a07;
}
.eadc-hero-track {
  display: flex;
  width: 100%;
  height: 100%;
  will-change: transform;
}
.eadc-hero-slide {
  position: relative;
  flex: 0 0 100%;
  width: 100%;
  height: 100%;
  overflow: hidden;
  /* Inline style sets the gradient fallback per slide (color_dark/mid).
     If no fondo image is uploaded, the gradient + an overlaid radial vignette
     keeps the slide looking deliberate (not "broken"/blank). */
}
/* Decorative radial vignette — visible on every slide, blends into bg image
   when present, makes a "bare" gradient slide look intentional + atmospheric. */
.eadc-hero-slide::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 60% 50% at 30% 50%, rgba(176,154,120,0.08) 0%, transparent 70%),
    radial-gradient(ellipse 80% 60% at 75% 30%, rgba(255,255,255,0.04) 0%, transparent 60%);
  z-index: 1;
  pointer-events: none;
}

/* Layer 1 — full-bleed background image.
   Default crop is `center`. Per-slide overrides via inline styles set from
   hero-data.php (`bg_position` and `bg_filter` fields). No global filter so
   the photographer's intent on each slide is preserved by default. */
.eadc-hero-bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  z-index: 0;
}

/* Layer 3 — floating book PNG */
.eadc-hero-book {
  position: absolute;
  right: 4%;
  bottom: 5%;
  height: 72%;
  z-index: 2;
  pointer-events: none;
  animation: bookFloat 4s ease-in-out infinite;
  transform-origin: 50% 100%;
}
.eadc-hero-book img {
  height: 100%;
  width: auto;
  display: block;
  object-fit: contain;
  filter: drop-shadow(0 32px 64px rgba(0,0,0,0.65)) drop-shadow(0 6px 12px rgba(0,0,0,0.4));
}
@keyframes bookFloat {
  0%, 100% { transform: translateY(0) rotate(-0.5deg); }
  50%      { transform: translateY(-14px) rotate(0.5deg); }
}
@media (prefers-reduced-motion: reduce) {
  .eadc-hero-book { animation: none; }
}

/* Layer 4 — gradient shade + text overlay
   Two-axis gradient (left + bottom) so text reads on any bg image. */
.eadc-hero-text-shade {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(to top,    rgba(0,0,0,0.55) 0%,  rgba(0,0,0,0.15) 35%, transparent 60%),
    linear-gradient(to right,  rgba(0,0,0,0.7)  0%,  rgba(0,0,0,0.25) 45%, transparent 70%);
  z-index: 3;
  pointer-events: none;
}
.eadc-hero-text {
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 4;
  padding: 0 56px 96px 56px;
  max-width: 620px;
  color: #fff;
}
.eadc-hero-text .eadc-hero-eyebrow {
  font-family: var(--eadc-sans, 'Inter', -apple-system, sans-serif);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: #b09a78;
  margin: 0 0 18px;
}
.eadc-hero-text .eadc-hero-artist {
  font-family: var(--eadc-sans, 'Inter', sans-serif);
  font-size: 42px;
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: -0.02em;
  color: #fff;
  margin: 0 0 10px;
}
.eadc-hero-text .eadc-hero-work {
  font-family: var(--eadc-serif, 'Cormorant Garamond', Georgia, serif);
  font-size: 18px;
  font-style: italic;
  line-height: 1.35;
  color: rgba(255,255,255,0.92);
  margin: 0 0 18px;
  letter-spacing: 0.005em;
}
.eadc-hero-text .eadc-hero-brief {
  font-family: var(--eadc-sans, 'Inter', sans-serif);
  font-size: 14px;
  line-height: 1.55;
  color: rgba(255,255,255,0.78);
  margin: 0 0 14px;
  max-width: 480px;
}
.eadc-hero-text .eadc-hero-detail {
  font-family: 'JetBrains Mono', 'SFMono-Regular', monospace;
  font-size: 12px;
  letter-spacing: 0.06em;
  color: rgba(255,255,255,0.6);
  margin: 0 0 24px;
}
.eadc-hero-text .eadc-hero-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 13px 28px;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.35);
  color: #fff;
  text-decoration: none !important;
  font-family: var(--eadc-sans, 'Inter', sans-serif);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  border-radius: 999px;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  transition: background .2s, border-color .2s, transform .2s;
}
.eadc-hero-text .eadc-hero-cta:hover {
  background: #b09a78;
  border-color: #b09a78;
  color: #18120D;
  transform: translateY(-1px);
}

/* Arrows */
.eadc-hero-arrow {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  z-index: 10 !important;
  width: 52px !important;
  height: 52px !important;
  border: 1px solid rgba(255,255,255,0.4) !important;
  background: rgba(0,0,0,0.35) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  color: #fff !important;
  font-size: 24px !important;
  font-weight: 300 !important;
  line-height: 1 !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 50% !important;
  padding: 0 !important;
  transition: background .2s, border-color .2s, transform .2s !important;
  font-family: var(--eadc-sans, 'Inter', sans-serif) !important;
}
.eadc-hero-arrow:hover {
  background: rgba(176,154,120,0.95) !important;
  border-color: #b09a78 !important;
  color: #18120D !important;
  transform: translateY(-50%) scale(1.05) !important;
}
.eadc-hero-arrow--prev { left: 32px !important; }
.eadc-hero-arrow--next { right: 32px !important; }

/* Controls cluster bottom-right: dots + counter */
.eadc-hero-controls {
  position: absolute;
  bottom: 36px;
  right: 56px;
  z-index: 10;
  display: flex;
  align-items: center;
  gap: 24px;
}
.eadc-hero-dots {
  display: flex;
  gap: 8px;
}
/* Hero dots — Elementor Kit's button styles try to take over <button>
   elements. Using `all: unset` PLUS !important on every visual property to
   guarantee the kit's coral pill defaults can never win specificity. */
.eadc-site-header .eadc-hero-dot,
.eadc-hero .eadc-hero-dot,
button.eadc-hero-dot {
  all: unset !important;
  display: inline-block !important;
  width: 28px !important;
  height: 2px !important;
  background: rgba(255,255,255,0.35) !important;
  cursor: pointer !important;
  transition: background .2s, width .2s !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  font-size: 0 !important;
  text-align: initial !important;
  line-height: 0 !important;
  min-height: 0 !important;
  min-width: 0 !important;
  /* Bigger hit-area for touch — invisible expansion via padding-trick.
     Outer button stays 28×2 visually but accepts taps in 28×16 zone. */
  position: relative;
}
.eadc-hero .eadc-hero-dot::after {
  content: "";
  position: absolute;
  inset: -7px 0;
  /* invisible touch buffer 16px tall */
}
.eadc-hero .eadc-hero-dot.is-active {
  background: #b09a78 !important;
  width: 36px !important;
}
.eadc-hero .eadc-hero-dot:hover { background: rgba(255,255,255,0.7) !important; }
.eadc-hero-counter {
  font-family: 'JetBrains Mono', 'SFMono-Regular', monospace;
  font-size: 11px;
  color: rgba(255,255,255,0.65);
  letter-spacing: 0.12em;
  display: flex;
  gap: 6px;
  align-items: center;
}
.eadc-hero-counter-sep { color: rgba(255,255,255,0.3); }

/* Tablet — text moves to top so it reads against the gradient from above */
@media (max-width: 768px) {
  .eadc-hero { height: 70vh; min-height: 480px; max-height: none; }
  .eadc-hero-book {
    right: 50%;
    transform: translateX(50%);
    bottom: 4%;
    height: 50%;
  }
  .eadc-hero-text {
    bottom: auto;
    top: 0;
    padding: 56px 24px 0 24px;
    max-width: 100%;
  }
  .eadc-hero-text-shade {
    background: linear-gradient(to bottom, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0.45) 35%, transparent 60%);
  }
  .eadc-hero-text .eadc-hero-artist { font-size: 32px; }
  .eadc-hero-text .eadc-hero-work { font-size: 16px; }
  .eadc-hero-arrow {
    width: 42px !important;
    height: 42px !important;
    font-size: 20px !important;
  }
  .eadc-hero-arrow--prev { left: 12px !important; }
  .eadc-hero-arrow--next { right: 12px !important; }
  .eadc-hero-controls { bottom: 18px; right: 24px; gap: 16px; }
  /* Reset book float on touch — animation can feel jittery on iOS scroll */
  .eadc-hero-book { animation-duration: 6s; }
}

/* Mobile — taller hero, hide brief + counter */
@media (max-width: 480px) {
  .eadc-hero { height: 75vh; min-height: 520px; }
  .eadc-hero-text { padding: 44px 20px 0 20px; }
  .eadc-hero-text .eadc-hero-artist { font-size: 28px; }
  .eadc-hero-text .eadc-hero-brief { display: none; }
  .eadc-hero-text .eadc-hero-detail { margin-bottom: 18px; }
  .eadc-hero-counter { display: none; }
  .eadc-hero-controls { right: 20px; }
  .eadc-hero-book { height: 42%; bottom: 6%; }
}

/* Intro strip */
.eadc-home-intro {
  padding: 72px 48px;
  text-align: center;
  border-bottom: 1px solid var(--eadc-gray-200);
  background: var(--eadc-white);
}
.eadc-home-intro-eyebrow {
  font-family: 'Manrope', sans-serif;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 5px;
  text-transform: uppercase;
  color: var(--eadc-gray-500);
  margin: 0 0 16px;
}
/* H1 */
h1.eadc-home-intro-copy,
.eadc-home-intro-copy {
  font-family: var(--eadc-serif, 'Cormorant Garamond', Georgia, serif);
  font-size: clamp(32px, 4.4vw, 52px);
  font-weight: 500;
  color: var(--eadc-ink, #18120D);
  max-width: 880px;
  margin: 0 auto 18px;
  line-height: 1.1;
  letter-spacing: -0.015em;
}
/* H2 sub-heading */
h2.eadc-home-intro-subhead,
.eadc-home-intro-subhead {
  font-family: var(--eadc-sans, 'Inter', -apple-system, sans-serif);
  font-size: clamp(15px, 1.8vw, 19px);
  font-weight: 400;
  color: var(--eadc-ink-soft, #4a4138);
  max-width: 700px;
  margin: 0 auto;
  line-height: 1.55;
  letter-spacing: 0;
}
@media (max-width: 720px) {
  .eadc-home-intro { padding: 48px 20px; }
  h1.eadc-home-intro-copy,
  .eadc-home-intro-copy { font-size: 28px; }
  h2.eadc-home-intro-subhead,
  .eadc-home-intro-subhead { font-size: 14px; }
}

/* Home sections */
.eadc-home-section {
  padding: 80px 0;
  background: var(--eadc-white);
}
.eadc-home-section:nth-of-type(even) {
  background: var(--eadc-off-white, #FAFAFA);
}
.eadc-home-section-inner {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 48px;
}
.eadc-home-section-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 32px;
  flex-wrap: wrap;
  gap: 16px;
}
.eadc-home-section-title {
  font-family: 'Manrope', sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: var(--eadc-gray-500);
  margin: 0;
}
.eadc-home-section-link {
  font-family: 'Manrope', sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--eadc-gray-600);
  text-decoration: none;
  border-bottom: 1px solid var(--eadc-gray-300);
  padding-bottom: 3px;
  transition: color 0.2s, border-color 0.2s;
}
.eadc-home-section-link:hover {
  color: var(--eadc-black);
  border-bottom-color: var(--eadc-black);
}

.eadc-home-artists-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 24px;
}
@media (max-width: 1100px) {
  .eadc-home-artists-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 720px) {
  /* Drastically tighter on mobile — was wasting half the screen on whitespace */
  .eadc-home-section { padding: 16px 0 32px !important; }
  .eadc-home-section-inner { padding: 0 18px; }
  .eadc-home-artists-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
  .eadc-home-intro { padding: 36px 18px 12px !important; border-bottom: 0 !important; }
  .eadc-home-section-head { margin-bottom: 16px !important; }
}


/* ═══════════════════════════════════════════
 * CONTACT / REQUEST INFORMATION FORM
 * ═══════════════════════════════════════════ */
.eadc-contact {
  background: var(--eadc-white);
  padding: 0 0 100px;
}
.eadc-contact-inner {
  max-width: 720px;
  margin: 0 auto;
  padding: 64px 24px 0;
}
.eadc-contact-head {
  text-align: center;
  margin-bottom: 40px;
  padding-bottom: 32px;
  border-bottom: 1px solid var(--eadc-gray-200);
}
.eadc-contact-eyebrow {
  font-family: 'Manrope', sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: var(--eadc-gray-500);
  margin: 0 0 12px;
}
.eadc-contact-title {
  font-family: 'Manrope', sans-serif;
  font-size: 36px;
  font-weight: 800;
  color: var(--eadc-black);
  letter-spacing: -1px;
  margin: 0 0 16px;
  line-height: 1.05;
}
.eadc-contact-copy {
  font-size: 14px;
  color: var(--eadc-gray-500);
  margin: 0;
  line-height: 1.7;
}
.eadc-contact-copy a {
  color: var(--eadc-black);
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* Product context card */
.eadc-contact-product {
  display: grid;
  grid-template-columns: 100px 1fr;
  gap: 20px;
  align-items: center;
  background: var(--eadc-off-white, #FAFAFA);
  border: 1px solid var(--eadc-gray-200);
  padding: 16px;
  margin-bottom: 32px;
}
.eadc-contact-product-thumb {
  display: block;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: var(--eadc-gray-100);
}
.eadc-contact-product-thumb img {
  width: 100%; height: 100%; object-fit: cover; display: block;
}
.eadc-contact-product-eyebrow {
  font-family: 'Manrope', sans-serif;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--eadc-gray-400);
  margin: 0 0 6px;
}
.eadc-contact-product-artist {
  font-family: 'Manrope', sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--eadc-gray-500);
  margin: 0 0 4px;
}
.eadc-contact-product-title {
  font-family: 'Manrope', sans-serif;
  font-size: 16px;
  font-weight: 700;
  color: var(--eadc-black);
  text-decoration: none;
  line-height: 1.2;
  display: block;
  margin: 0 0 4px;
}
.eadc-contact-product-title:hover { text-decoration: underline; }
.eadc-contact-product-detail {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  color: var(--eadc-gray-500);
  margin: 0;
}

/* Form */
.eadc-contact-form {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.eadc-contact-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
.eadc-contact-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.eadc-contact-label {
  font-family: 'Manrope', sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--eadc-gray-500);
}
.eadc-contact-optional {
  font-weight: 400;
  letter-spacing: 1px;
  color: var(--eadc-gray-400);
  text-transform: none;
  font-size: 10px;
}
.eadc-contact-form input,
.eadc-contact-form textarea {
  font-family: 'Manrope', sans-serif !important;
  font-size: 14px !important;
  color: var(--eadc-black) !important;
  background: var(--eadc-white) !important;
  border: 1px solid var(--eadc-gray-300) !important;
  padding: 12px 14px !important;
  border-radius: 0 !important;
  -webkit-appearance: none;
  appearance: none;
  width: 100%;
  box-sizing: border-box;
  transition: border-color 0.2s;
}
.eadc-contact-form input:focus,
.eadc-contact-form textarea:focus {
  outline: none;
  border-color: var(--eadc-black) !important;
}
.eadc-contact-form textarea {
  resize: vertical;
  line-height: 1.6;
  min-height: 160px;
}
.eadc-contact-actions {
  margin-top: 12px;
}
/* Elementor Kit aggressively skins ALL <button> with its coral palette. The
   `all: unset` wipes the kit defaults, then we re-apply the brand pill style
   explicitly. Order matters — `all: unset` MUST come first. */
.eadc-contact-form button[type="submit"],
.eadc-contact-form button.eadc-btn-dark {
  all: unset;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  background: var(--eadc-ink, #18120D) !important;
  color: #fff !important;
  font-family: var(--eadc-sans, 'Inter', -apple-system, sans-serif) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  padding: 13px 28px !important;
  border-radius: 999px !important;
  border: 1px solid var(--eadc-ink, #18120D) !important;
  cursor: pointer !important;
  transition: background .2s, color .2s, transform .15s !important;
  box-shadow: none !important;
  min-height: 44px;
  line-height: 1.2 !important;
}
.eadc-contact-form button[type="submit"]:hover,
.eadc-contact-form button.eadc-btn-dark:hover {
  background: transparent !important;
  color: var(--eadc-ink, #18120D) !important;
  transform: translateY(-1px);
}
.eadc-contact-form button[type="submit"]:disabled {
  opacity: 0.6 !important;
  cursor: not-allowed !important;
  transform: none !important;
}
.eadc-contact-error {
  background: #fff5f5;
  border: 1px solid #f5c2c2;
  color: #842029;
  padding: 14px 18px;
  font-size: 13px;
  margin-bottom: 8px;
}

/* Success state */
.eadc-contact-success {
  text-align: center;
  padding: 80px 20px;
  border: 1px solid var(--eadc-gray-200);
}
.eadc-contact-success-eyebrow {
  font-family: 'Manrope', sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: var(--eadc-gray-500);
  margin: 0 0 16px;
}
.eadc-contact-success-title {
  font-family: 'Manrope', sans-serif;
  font-size: 32px;
  font-weight: 800;
  color: var(--eadc-black);
  letter-spacing: -0.8px;
  margin: 0 0 12px;
}
.eadc-contact-success-copy {
  font-size: 14px;
  color: var(--eadc-gray-600);
  margin: 0;
  line-height: 1.7;
}

@media (max-width: 600px) {
  .eadc-contact-row { grid-template-columns: 1fr; }
  .eadc-contact-product { grid-template-columns: 80px 1fr; gap: 14px; padding: 12px; }
  .eadc-contact-title { font-size: 28px; }
}


/* ═══════════════════════════════════════════
 * SITE NAV — primary menu + Shopping mega-dropdown
 * ═══════════════════════════════════════════ */

.eadc-site-header .eadc-nav-list {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 32px;
  align-items: center;
}
.eadc-site-header .eadc-nav-list > li {
  position: relative;
}
.eadc-site-header .eadc-nav-list > li > a {
  font-family: 'Manrope', sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--eadc-gray-700);
  text-decoration: none;
  white-space: nowrap;
  transition: color 0.2s;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 8px 0;
}
.eadc-site-header .eadc-nav-list > li > a:hover { color: var(--eadc-black); }
.eadc-site-header .eadc-nav-caret { font-size: 10px; opacity: 0.5; }

/* Mega dropdown */
.eadc-site-header .eadc-mega {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(8px);
  min-width: 640px;
  background: var(--eadc-white);
  border: 1px solid var(--eadc-gray-200);
  padding: 32px 40px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.2s, visibility 0s linear 0.2s, transform 0.2s;
  z-index: 200;
  box-shadow: 0 16px 32px rgba(0,0,0,0.06);
}
.eadc-site-header .eadc-nav-has-mega:hover .eadc-mega,
.eadc-site-header .eadc-nav-has-mega.is-open .eadc-mega {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0);
  transition: opacity 0.2s, visibility 0s, transform 0.2s;
}
.eadc-mega-head {
  font-family: 'Manrope', sans-serif;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: var(--eadc-gray-400);
  margin: 0 0 14px;
}
.eadc-mega-col a {
  display: block;
  font-family: 'Manrope', sans-serif;
  font-size: 13px;
  font-weight: 500;
  color: var(--eadc-gray-800, #212121);
  text-decoration: none;
  padding: 6px 0;
  letter-spacing: 0;
  text-transform: none;
  transition: color 0.15s;
}
.eadc-mega-col a:hover {
  color: var(--eadc-black);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Burger (mobile) — `all: unset` FIRST then explicit display rules. Otherwise
   unset resets display:none back to button default (inline-block) and the
   button leaks on desktop picking up Elementor's coral kit background. */
.eadc-nav-burger {
  all: unset;
  display: none !important;
  width: 28px;
  height: 20px;
  cursor: pointer;
  position: relative;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.eadc-nav-burger span {
  display: block;
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background: var(--eadc-black);
  transition: transform 0.2s, opacity 0.2s, top 0.2s;
}
.eadc-nav-burger span:nth-child(1) { top: 2px; }
.eadc-nav-burger span:nth-child(2) { top: 9px; }
.eadc-nav-burger span:nth-child(3) { top: 16px; }
.eadc-nav-burger[aria-expanded="true"] span:nth-child(1) { top: 9px; transform: rotate(45deg); }
.eadc-nav-burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.eadc-nav-burger[aria-expanded="true"] span:nth-child(3) { top: 9px; transform: rotate(-45deg); }

@media (max-width: 900px) {
  .eadc-site-header .eadc-nav { position: static; }
  .eadc-nav-burger { display: block !important; order: -1; }
  .eadc-site-header .eadc-nav-list {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: var(--eadc-white);
    border-bottom: 1px solid var(--eadc-gray-200);
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    padding: 16px 20px 24px;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
    z-index: 150;
  }
  .eadc-site-header .eadc-nav[data-eadc-nav].is-open .eadc-nav-list {
    max-height: 80vh;
    overflow-y: auto;
  }
  .eadc-site-header .eadc-nav-list > li {
    width: 100%;
    border-bottom: 1px solid var(--eadc-gray-100);
  }
  .eadc-site-header .eadc-nav-list > li > a {
    width: 100%;
    padding: 14px 0;
    justify-content: space-between;
  }
  .eadc-site-header .eadc-mega {
    position: static;
    transform: none !important;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    min-width: 0;
    width: 100%;
    border: none;
    box-shadow: none;
    padding: 0 0 16px 12px;
    grid-template-columns: 1fr;
    gap: 20px;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
  }
  .eadc-site-header .eadc-nav-has-mega.is-open .eadc-mega {
    max-height: 1000px;
  }
  .eadc-site-header .eadc-nav-has-mega .eadc-nav-caret {
    transition: transform 0.2s;
  }
  .eadc-site-header .eadc-nav-has-mega.is-open .eadc-nav-caret {
    transform: rotate(180deg);
  }
  .eadc-mega-head { margin: 4px 0 8px; }
  .eadc-mega-col a { padding: 4px 0; }
}


/* ═══════════════════════════════════════════
 * ARCHIVE FILTER BAR — shop / category / tag pages
 * ═══════════════════════════════════════════ */
.eadc-archive-filter {
  margin: 0 0 28px;
  padding: 14px 0;
  border-top: 1px solid var(--eadc-gray-200);
  border-bottom: 1px solid var(--eadc-gray-200);
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.eadc-archive-filter-row {
  display: flex;
  align-items: baseline;
  gap: 20px;
  flex-wrap: wrap;
}
.eadc-archive-filter-label {
  font-family: 'Manrope', sans-serif;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--eadc-gray-400);
  min-width: 52px;
}
.eadc-archive-filter-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  align-items: baseline;
  flex: 1;
}
.eadc-archive-filter-link {
  font-family: 'Manrope', sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--eadc-gray-500);
  text-decoration: none;
  padding: 4px 0;
  border-bottom: 1px solid transparent;
  transition: color 0.15s, border-color 0.15s;
}
.eadc-archive-filter-link:not(:last-child)::after {
  content: '·';
  color: var(--eadc-gray-300);
  margin: 0 10px;
  font-weight: 400;
}
.eadc-archive-filter-link:hover {
  color: var(--eadc-black);
}
.eadc-archive-filter-link.is-active {
  color: var(--eadc-black);
  border-bottom-color: var(--eadc-black);
}

@media (max-width: 720px) {
  .eadc-archive-filter-row { gap: 8px; }
  .eadc-archive-filter-label { min-width: 0; font-size: 9px; }
}


/* Product loop — "Request information" link styled like a minimal CTA */
.woocommerce ul.products li.product a.button.eadc-loop-cta {
  display: inline-block !important;
  margin: 10px 0 0 !important;
  padding: 9px 16px !important;
  background: transparent !important;
  color: var(--eadc-gray-700) !important;
  border: 1px solid var(--eadc-gray-300) !important;
  border-radius: 0 !important;
  font-family: 'Manrope', sans-serif !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  text-shadow: none !important;
  box-shadow: none !important;
  transition: background 0.2s, color 0.2s, border-color 0.2s !important;
}
.woocommerce ul.products li.product a.button.eadc-loop-cta:hover,
.woocommerce ul.products li.product a.button.eadc-loop-cta:focus {
  background: var(--eadc-black) !important;
  color: var(--eadc-white) !important;
  border-color: var(--eadc-black) !important;
}


/* ═══════════════════════════════════════════
 * Loop card image wrapper — badges anchor to image bounds, not the full link
 * ═══════════════════════════════════════════ */
.eadc-card-image-wrap {
  position: relative;
  display: block;
  overflow: hidden;
}
.eadc-card-image-wrap img {
  width: 100%;
  height: auto;
  display: block;
}
/* Loop-card badges live in per-corner flex containers (.eadc-card-badges).
   Within a corner they stack VERTICALLY; the container is anchored to its
   corner, so whatever badges are present start from the top — if the first one
   (On sale) is absent, the second (New) simply takes the top slot, no gap.
   Fixes the original overlap (both badges were pinned to the same point). */
.woocommerce ul.products li.product .eadc-card-image-wrap .eadc-card-badges {
  position: absolute;
  z-index: 3;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.woocommerce ul.products li.product .eadc-card-image-wrap .eadc-card-badges--tl { top: 16px; left: 16px; align-items: flex-start; }
.woocommerce ul.products li.product .eadc-card-image-wrap .eadc-card-badges--tr { top: 16px; right: 16px; align-items: flex-end; }
.woocommerce ul.products li.product .eadc-card-image-wrap .eadc-card-badges--bl { bottom: 0; left: 0; align-items: flex-start; }
/* Inside a container the badges flow — drop the per-badge absolute pinning. */
.woocommerce ul.products li.product .eadc-card-image-wrap .eadc-card-badges .eadc-badge {
  position: static;
  top: auto; right: auto; bottom: auto; left: auto;
}

/* Compact the badges on phones — loop cards are ~2-up and narrow there, which
   is where they crowded most. */
@media (max-width: 600px) {
  .eadc-badge { font-size: 8px; letter-spacing: 1.5px; padding: 4px 9px; }
  .woocommerce ul.products li.product .eadc-card-image-wrap .eadc-card-badges { gap: 4px; }
  .woocommerce ul.products li.product .eadc-card-image-wrap .eadc-card-badges--tl { top: 9px; left: 9px; }
  .woocommerce ul.products li.product .eadc-card-image-wrap .eadc-card-badges--tr { top: 9px; right: 9px; }
}

/* Single-product CTA row — stacked vertically: Add to cart (primary, full
   width) on top, Request information (outline secondary) below. Qty input
   and the "In stock" label are hidden because every gallery piece is a 1/1
   original. */
.eadc-cta-row {
  display: flex !important;
  flex-direction: column;
  gap: 10px;
  align-items: stretch;
  padding: 24px 0 12px;
}
.eadc-buy-wrap {
  margin: 0;
  display: block;
  width: 100%;
  min-width: 0;
}
.eadc-buy-wrap .stock,
.eadc-buy-wrap .stock.in-stock {
  display: none !important;
}
.eadc-buy-wrap form.cart {
  margin: 0;
  display: block;
}
.eadc-buy-wrap form.cart .quantity {
  display: none !important;
}
.eadc-buy-wrap form.cart button.single_add_to_cart_button,
.eadc-buy-wrap form.cart button.button {
  display: block !important;
  width: 100% !important;
  font-family: 'Manrope', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  color: var(--eadc-white) !important;
  background: var(--eadc-black) !important;
  border: 1px solid var(--eadc-black) !important;
  border-radius: 0 !important;
  padding: 18px 24px !important;
  cursor: pointer !important;
  transition: background 0.2s, color 0.2s !important;
  text-shadow: none !important;
  box-shadow: none !important;
  line-height: 1 !important;
}
.eadc-buy-wrap form.cart button:hover {
  background: var(--eadc-gray-800) !important;
}

/* Outline sibling — full width below the Add to cart, same height as primary
   via matching padding. */
.eadc-cta-row .eadc-btn-outline {
  display: flex !important;
  width: 100%;
  align-items: center;
  justify-content: center;
  padding: 18px 24px !important;
  line-height: 1;
  text-align: center;
}


/* ═══════════════════════════════════════════
 * EXHIBITIONS ARCHIVE — /exhibitions/
 * Alternating left/right image layout.
 * ═══════════════════════════════════════════ */
.eadc-exh-archive {
  background: var(--eadc-white);
  padding: 0 0 100px;
}
.eadc-exh-head {
  max-width: 1400px;
  margin: 0 auto 48px;
  padding: 80px 48px 56px;
  text-align: center;
  border-bottom: 1px solid var(--eadc-gray-200);
}
.eadc-exh-eyebrow {
  font-family: 'Manrope', sans-serif;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 5px;
  text-transform: uppercase;
  color: var(--eadc-gray-500);
  margin: 0 0 16px;
}
.eadc-exh-title {
  font-family: 'Manrope', sans-serif;
  font-size: 56px;
  font-weight: 800;
  color: var(--eadc-black);
  letter-spacing: -1.8px;
  line-height: 1;
  margin: 0 0 20px;
}
.eadc-exh-desc {
  font-size: 15px;
  color: var(--eadc-gray-600);
  max-width: 620px;
  margin: 0 auto;
  line-height: 1.7;
}

.eadc-exh-list {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 48px;
  display: flex;
  flex-direction: column;
  gap: 96px;
}
.eadc-exh-item {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
}
.eadc-exh-item.is-reverse {
  direction: rtl;
}
.eadc-exh-item.is-reverse > * { direction: ltr; }

.eadc-exh-item-image {
  aspect-ratio: 4 / 3;
  background: var(--eadc-gray-100);
  overflow: hidden;
  position: relative;
}
.eadc-exh-item-image img {
  width: 100%; height: 100%; object-fit: cover; display: block;
}
.eadc-exh-item-placeholder {
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
  font-family: 'Outfit', sans-serif;
  font-size: 160px; font-weight: 300;
  color: var(--eadc-gray-300);
  letter-spacing: -4px;
}

.eadc-exh-item-body { }
.eadc-exh-item-eyebrow {
  font-family: 'Manrope', sans-serif;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: var(--eadc-gray-500);
  margin: 0 0 12px;
}
.eadc-exh-item-artist {
  font-family: 'Manrope', sans-serif;
  font-size: 48px;
  font-weight: 800;
  color: var(--eadc-black);
  letter-spacing: -1.2px;
  line-height: 1;
  margin: 0 0 12px;
}
.eadc-exh-item-subtitle {
  font-family: 'Bodoni Moda', 'Manrope', serif;
  font-style: italic;
  font-size: 22px;
  font-weight: 400;
  color: var(--eadc-gray-700);
  margin: 0 0 24px;
  line-height: 1.2;
}
.eadc-exh-item-quote {
  margin: 0 0 24px;
  padding: 16px 0 16px 24px;
  border-left: 2px solid var(--eadc-black);
}
.eadc-exh-item-quote p {
  font-family: 'Bodoni Moda', serif;
  font-style: italic;
  font-size: 17px;
  line-height: 1.55;
  color: var(--eadc-gray-800, #212121);
  margin: 0 0 10px;
}
.eadc-exh-item-quote cite {
  font-family: 'Manrope', sans-serif;
  font-style: normal;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--eadc-gray-500);
}
.eadc-exh-item-body-copy {
  font-size: 15px;
  line-height: 1.75;
  color: var(--eadc-gray-700);
  margin: 0 0 28px;
}
.eadc-exh-item-body-copy p:first-child { margin-top: 0; }
.eadc-exh-item-body-copy p:last-child { margin-bottom: 0; }

.eadc-exh-item-cta {
  display: inline-block;
  font-family: 'Manrope', sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--eadc-white);
  background: var(--eadc-black);
  border: 1px solid var(--eadc-black);
  text-decoration: none;
  padding: 16px 28px;
  transition: background 0.2s, color 0.2s;
}
.eadc-exh-item-cta:hover {
  background: var(--eadc-white);
  color: var(--eadc-black);
}

.eadc-exh-empty {
  max-width: 720px;
  margin: 0 auto;
  padding: 80px 48px;
  text-align: center;
  color: var(--eadc-gray-500);
}

@media (max-width: 900px) {
  .eadc-exh-head { padding: 56px 20px 40px; }
  .eadc-exh-title { font-size: 40px; letter-spacing: -1.2px; }
  .eadc-exh-list { padding: 0 20px; gap: 64px; }
  .eadc-exh-item {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .eadc-exh-item.is-reverse { direction: ltr; }
  .eadc-exh-item-artist { font-size: 32px; }
}


/* ═══════════════════════════════════════════
 * SINGLE EXHIBITION — /exhibitions/{slug}/
 * ═══════════════════════════════════════════ */
.eadc-exh-single {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 48px 100px;
}
.eadc-breadcrumb--exh {
  padding: 24px 0 8px;
  text-align: left;
  border: none;
  margin: 0;
}
.eadc-exh-s-head {
  text-align: center;
  padding: 40px 0 48px;
  border-bottom: 1px solid var(--eadc-gray-200);
  margin-bottom: 48px;
}
.eadc-exh-s-eyebrow {
  font-family: 'Manrope', sans-serif;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 5px;
  text-transform: uppercase;
  color: var(--eadc-gray-500);
  margin: 0 0 16px;
}
.eadc-exh-s-title {
  font-family: 'Manrope', sans-serif;
  font-size: 64px;
  font-weight: 800;
  color: var(--eadc-black);
  letter-spacing: -2px;
  line-height: 1;
  margin: 0 0 12px;
}
.eadc-exh-s-subtitle {
  font-family: 'Bodoni Moda', 'Manrope', serif;
  font-style: italic;
  font-size: 24px;
  font-weight: 400;
  color: var(--eadc-gray-700);
  margin: 0 0 12px;
  line-height: 1.2;
}
.eadc-exh-s-context {
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  color: var(--eadc-gray-500);
  letter-spacing: 1px;
  margin: 0;
}

.eadc-exh-s-hero {
  width: 100%;
  margin: 0 0 48px;
  background: var(--eadc-gray-100);
}
.eadc-exh-s-hero img {
  width: 100%; height: auto; display: block;
}

.eadc-exh-s-quote {
  max-width: 780px;
  margin: 0 auto 48px;
  padding: 0 24px;
  text-align: center;
}
.eadc-exh-s-quote blockquote {
  margin: 0;
  padding: 24px 0;
  border-top: 1px solid var(--eadc-gray-200);
  border-bottom: 1px solid var(--eadc-gray-200);
}
.eadc-exh-s-quote p {
  font-family: 'Bodoni Moda', serif;
  font-style: italic;
  font-size: 22px;
  line-height: 1.55;
  color: var(--eadc-black);
  margin: 0 0 14px;
}
.eadc-exh-s-quote cite {
  font-family: 'Manrope', sans-serif;
  font-style: normal;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--eadc-gray-500);
}

.eadc-exh-s-body {
  max-width: 720px;
  margin: 0 auto 64px;
}
.eadc-exh-s-intro {
  font-size: 17px;
  line-height: 1.8;
  color: var(--eadc-gray-800, #212121);
  margin: 0 0 48px;
}
.eadc-exh-s-intro p { margin: 0 0 20px; }
.eadc-exh-s-intro p:last-child { margin-bottom: 0; }

.eadc-exh-s-section-title {
  font-family: 'Manrope', sans-serif;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: var(--eadc-gray-500);
  margin: 0 0 24px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--eadc-gray-200);
}

.eadc-exh-s-bio {
  margin: 0 0 0;
}
.eadc-exh-s-bio-copy {
  font-size: 16px;
  line-height: 1.8;
  color: var(--eadc-gray-800, #212121);
  margin: 0 0 24px;
}
.eadc-exh-s-bio-copy p { margin: 0 0 18px; }
.eadc-exh-s-bio-copy em { font-style: italic; }

.eadc-exh-s-notable {
  padding: 20px 0 20px;
  border-top: 1px solid var(--eadc-gray-200);
  border-bottom: 1px solid var(--eadc-gray-200);
  margin-bottom: 24px;
}
.eadc-exh-s-label {
  font-family: 'Manrope', sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--eadc-gray-400);
  margin: 0 0 12px;
}
.eadc-exh-s-notable ul {
  list-style: none;
  padding: 0;
  margin: 0;
  columns: 2;
  column-gap: 32px;
}
.eadc-exh-s-notable li {
  font-size: 14px;
  color: var(--eadc-black);
  padding: 4px 0;
  break-inside: avoid;
}

.eadc-exh-s-artist-link {
  display: inline-block;
  font-family: 'Manrope', sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--eadc-gray-600);
  text-decoration: none;
  border-bottom: 1px solid var(--eadc-gray-300);
  padding-bottom: 3px;
  transition: color 0.2s, border-color 0.2s;
}
.eadc-exh-s-artist-link:hover {
  color: var(--eadc-black);
  border-bottom-color: var(--eadc-black);
}

.eadc-exh-s-references {
  margin: 0 0 64px;
}
.eadc-exh-s-ref-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 16px;
}
.eadc-exh-s-ref-item {
  display: block;
  text-decoration: none;
  color: inherit;
}
.eadc-exh-s-ref-img {
  aspect-ratio: 3/4;
  background: var(--eadc-gray-100);
  overflow: hidden;
  margin-bottom: 8px;
  position: relative;
}
.eadc-exh-s-ref-img img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  transition: transform 0.5s;
}
.eadc-exh-s-ref-item:hover .eadc-exh-s-ref-img img { transform: scale(1.03); }
.eadc-exh-s-ref-name {
  font-size: 11px;
  color: var(--eadc-gray-700);
  text-align: center;
}

.eadc-exh-s-works-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 32px;
  flex-wrap: wrap;
  gap: 16px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--eadc-gray-200);
}
.eadc-exh-s-works-head .eadc-exh-s-section-title {
  margin: 0;
  padding: 0;
  border: none;
}
.eadc-exh-s-all-link {
  font-family: 'Manrope', sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--eadc-gray-600);
  text-decoration: none;
  border-bottom: 1px solid var(--eadc-gray-300);
  padding-bottom: 3px;
  transition: color 0.2s, border-color 0.2s;
}
.eadc-exh-s-all-link:hover {
  color: var(--eadc-black);
  border-bottom-color: var(--eadc-black);
}
.eadc-exh-s-works-grid .eadc-related-grid {
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
}

@media (max-width: 900px) {
  .eadc-exh-single { padding: 0 20px 80px; }
  .eadc-exh-s-title { font-size: 44px; letter-spacing: -1.2px; }
  .eadc-exh-s-subtitle { font-size: 18px; }
  .eadc-exh-s-ref-grid { grid-template-columns: repeat(3, 1fr); }
  .eadc-exh-s-works-grid .eadc-related-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; }
  .eadc-exh-s-notable ul { columns: 1; }
}
@media (max-width: 560px) {
  .eadc-exh-s-ref-grid { grid-template-columns: repeat(2, 1fr); }
}


/* Exhibition single — bilingual intro + installation gallery */
.eadc-exh-s-intro-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  margin: 0 0 48px;
  padding-bottom: 48px;
  border-bottom: 1px solid var(--eadc-gray-200);
}
.eadc-exh-s-intro-col p {
  font-size: 15px;
  line-height: 1.75;
  color: var(--eadc-gray-800, #212121);
  margin: 0;
}
.eadc-exh-s-intro-col p.eadc-exh-s-intro-lang {
  font-family: 'Manrope', sans-serif;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 4px;
  color: var(--eadc-gray-400);
  margin: 0 0 10px;
}

.eadc-exh-s-gallery {
  margin: 0 0 64px;
}
.eadc-exh-s-gallery-grid {
  column-count: 3;
  column-gap: 8px;
}
.eadc-exh-s-gallery-item {
  display: block;
  break-inside: avoid;
  margin: 0 0 8px;
  overflow: hidden;
  background: var(--eadc-gray-100);
  transition: opacity 0.2s;
}
.eadc-exh-s-gallery-item:hover { opacity: 0.9; }
.eadc-exh-s-gallery-item img {
  width: 100%; height: auto; display: block;
}

@media (max-width: 900px) {
  .eadc-exh-s-intro-grid { grid-template-columns: 1fr; gap: 24px; margin-bottom: 32px; padding-bottom: 32px; }
  .eadc-exh-s-gallery-grid { column-count: 2; column-gap: 6px; }
}
@media (max-width: 560px) {
  .eadc-exh-s-gallery-grid { column-count: 1; }
}


/* ═══════════════════════════════════════════════════════════════════════════
 * EXHIBITION PAGES — Elementor widget overrides
 * ═══════════════════════════════════════════════════════════════════════════
 * These 6 pages render production Elementor data (heading/text-editor/image/
 * gallery/button/blockquote/video). The body class `.eadc-exh-page` is added
 * server-side via body_class filter so we can reskin without touching widgets.
 * ═══════════════════════════════════════════════════════════════════════════ */

/* Outer canvas — give the page room to breathe and align with our shop pages */
.eadc-exh-page .elementor-section-wrap,
.eadc-exh-page .elementor {
  background: var(--eadc-cream, #FBF8F3);
}
.eadc-exh-page .elementor-section.elementor-section-boxed > .elementor-container {
  max-width: 1180px;
}
.eadc-exh-page .elementor-section {
  padding-top: 28px;
  padding-bottom: 28px;
}
.eadc-exh-page .elementor-top-section:first-of-type {
  padding-top: 56px;
}
.eadc-exh-page .elementor-top-section:last-of-type {
  padding-bottom: 80px;
}

/* Headings — gallery serif treatment */
.eadc-exh-page .elementor-widget-heading .elementor-heading-title {
  font-family: var(--eadc-serif, 'Cormorant Garamond', Georgia, serif) !important;
  font-weight: 500 !important;
  letter-spacing: -0.01em;
  color: var(--eadc-ink, #18120D);
  line-height: 1.15;
  margin: 0;
}
.eadc-exh-page .elementor-widget-heading h1.elementor-heading-title {
  font-size: clamp(36px, 5vw, 64px);
  text-transform: none;
  letter-spacing: -0.015em;
  margin-bottom: 8px;
}
.eadc-exh-page .elementor-widget-heading h2.elementor-heading-title {
  font-size: clamp(26px, 3.2vw, 38px);
  padding-bottom: 14px;
  margin-bottom: 22px;
  border-bottom: 1px solid var(--eadc-line, #E6DFD3);
}
.eadc-exh-page .elementor-widget-heading h3.elementor-heading-title {
  font-size: clamp(20px, 2.4vw, 26px);
  font-weight: 600 !important;
}

/* Text-editor — body copy */
.eadc-exh-page .elementor-widget-text-editor {
  font-family: var(--eadc-sans, 'Inter', -apple-system, sans-serif) !important;
  font-size: 16px;
  line-height: 1.7;
  color: var(--eadc-ink-soft, #3a322a);
}
.eadc-exh-page .elementor-widget-text-editor p {
  margin: 0 0 16px;
}
.eadc-exh-page .elementor-widget-text-editor p:last-child {
  margin-bottom: 0;
}
.eadc-exh-page .elementor-widget-text-editor strong {
  color: var(--eadc-ink, #18120D);
  font-weight: 600;
}
.eadc-exh-page .elementor-widget-text-editor a {
  color: var(--eadc-ink, #18120D);
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-color: var(--eadc-line-strong, #b09a78);
}
.eadc-exh-page .elementor-widget-text-editor a:hover {
  text-decoration-color: var(--eadc-ink, #18120D);
}

/* Some prod text-editors are used as section titles (no heading widget).
   Pick up large, lone, single-line first paragraphs at top of containers and
   give them title-ish weight. Conservative — only when explicitly large in source. */
.eadc-exh-page .elementor-widget-text-editor h1,
.eadc-exh-page .elementor-widget-text-editor h2,
.eadc-exh-page .elementor-widget-text-editor h3 {
  font-family: var(--eadc-serif, 'Cormorant Garamond', Georgia, serif);
  font-weight: 500;
  color: var(--eadc-ink, #18120D);
  line-height: 1.2;
  margin: 24px 0 14px;
}
.eadc-exh-page .elementor-widget-text-editor h2 {
  font-size: clamp(26px, 3vw, 36px);
  padding-bottom: 12px;
  border-bottom: 1px solid var(--eadc-line, #E6DFD3);
}

/* Images — frame + subtle elevation */
.eadc-exh-page .elementor-widget-image img,
.eadc-exh-page .elementor-widget-image-gallery .gallery-item img {
  display: block;
  max-width: 100%;
  height: auto;
  background: #fff;
  box-shadow: 0 1px 0 rgba(0,0,0,0.04), 0 12px 32px -16px rgba(24,18,13,0.18);
  transition: transform .35s ease, box-shadow .35s ease;
}
.eadc-exh-page .elementor-widget-image:hover img {
  transform: translateY(-2px);
  box-shadow: 0 1px 0 rgba(0,0,0,0.04), 0 18px 40px -16px rgba(24,18,13,0.28);
}

/* Galleries — both `gallery` (basic) and `image-gallery` widgets */
.eadc-exh-page .elementor-widget-gallery .e-gallery-item,
.eadc-exh-page .elementor-widget-image-gallery .gallery-item {
  overflow: hidden;
  background: var(--eadc-gray-100, #f4ede1);
}
.eadc-exh-page .elementor-widget-gallery .e-gallery-image,
.eadc-exh-page .elementor-widget-gallery .e-gallery-item img,
.eadc-exh-page .elementor-widget-image-gallery .gallery-item img {
  transition: transform .5s ease, opacity .3s ease;
  opacity: 0.96;
}
.eadc-exh-page .elementor-widget-gallery .e-gallery-item:hover .e-gallery-image,
.eadc-exh-page .elementor-widget-gallery .e-gallery-item:hover img,
.eadc-exh-page .elementor-widget-image-gallery .gallery-item:hover img {
  transform: scale(1.03);
  opacity: 1;
}
.eadc-exh-page .gallery-icon img {
  border: none !important; /* WP default */
}

/* Buttons — adopt our pill style */
.eadc-exh-page .elementor-widget-button .elementor-button {
  background: var(--eadc-ink, #18120D) !important;
  color: #fff !important;
  font-family: var(--eadc-sans, 'Inter', sans-serif) !important;
  font-weight: 500 !important;
  font-size: 14px !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  padding: 14px 28px !important;
  border-radius: 999px !important;
  border: 1px solid var(--eadc-ink, #18120D) !important;
  box-shadow: none !important;
  transition: background .2s ease, color .2s ease, transform .2s ease !important;
}
.eadc-exh-page .elementor-widget-button .elementor-button:hover {
  background: transparent !important;
  color: var(--eadc-ink, #18120D) !important;
  transform: translateY(-1px);
}
.eadc-exh-page .elementor-widget-button .elementor-button-text {
  font-weight: inherit !important;
  letter-spacing: inherit !important;
}

/* Blockquote (Manara) */
.eadc-exh-page .elementor-widget-blockquote blockquote,
.eadc-exh-page .elementor-blockquote {
  border-left: 3px solid var(--eadc-line-strong, #b09a78) !important;
  padding: 8px 0 8px 28px !important;
  background: transparent !important;
  margin: 24px 0 !important;
}
.eadc-exh-page .elementor-blockquote__content,
.eadc-exh-page .elementor-widget-blockquote p {
  font-family: var(--eadc-serif, 'Cormorant Garamond', Georgia, serif) !important;
  font-style: italic;
  font-size: clamp(20px, 2.4vw, 26px) !important;
  line-height: 1.4 !important;
  color: var(--eadc-ink, #18120D) !important;
}
.eadc-exh-page .elementor-blockquote__author,
.eadc-exh-page .elementor-widget-blockquote cite {
  font-family: var(--eadc-sans, 'Inter', sans-serif) !important;
  font-style: normal !important;
  font-size: 12px !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--eadc-ink-soft, #3a322a) !important;
  display: block;
  margin-top: 12px;
}

/* Video (Manara) */
.eadc-exh-page .elementor-widget-video {
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0 12px 40px -16px rgba(24,18,13,0.3);
}

/* HTML widget — likely separators or custom markup */
.eadc-exh-page .elementor-widget-html hr {
  border: none;
  height: 1px;
  background: var(--eadc-line, #E6DFD3);
  margin: 32px 0;
}

/* Reset prod inline color overrides that fight the brand palette
   (e.g. WP block presets like vivid-red, pale-pink) — only inside text content */
.eadc-exh-page .elementor-widget-text-editor [style*="vivid-red"],
.eadc-exh-page .elementor-widget-text-editor [style*="vivid-purple"],
.eadc-exh-page .elementor-widget-text-editor [style*="vivid-cyan-blue"],
.eadc-exh-page .elementor-widget-text-editor [style*="luminous-vivid-orange"],
.eadc-exh-page .elementor-widget-text-editor [style*="luminous-vivid-amber"] {
  color: var(--eadc-ink, #18120D) !important;
  background-color: transparent !important;
}

/* Mobile tightening */
@media (max-width: 768px) {
  .eadc-exh-page .elementor-top-section:first-of-type { padding-top: 32px; }
  .eadc-exh-page .elementor-top-section:last-of-type  { padding-bottom: 56px; }
  .eadc-exh-page .elementor-section { padding-top: 18px; padding-bottom: 18px; }
  .eadc-exh-page .elementor-widget-button .elementor-button {
    padding: 12px 22px !important;
    font-size: 13px !important;
  }
}


/* ═══════════════════════════════════════════════════════════════════════════
 * CERTIFICATE OF AUTHENTICITY — CTA on product page
 * ═══════════════════════════════════════════════════════════════════════════
 * The actual certificate page renders its own inline CSS (it's a standalone
 * printable document). This block only styles the CTA card embedded in the
 * single-product summary.
 * ═══════════════════════════════════════════════════════════════════════════ */
.eadc-cert-cta {
  margin: 18px 0 8px;
}
.eadc-cert-cta-link {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 18px;
  background: #fff;
  border: 1px solid var(--eadc-line, #E6DFD3);
  border-radius: 4px;
  text-decoration: none !important;
  color: var(--eadc-ink, #18120D);
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
  position: relative;
}
.eadc-cert-cta-link:hover {
  border-color: var(--eadc-gold, #b09a78);
  box-shadow: 0 4px 18px -8px rgba(176,154,120,0.45);
  transform: translateY(-1px);
}
.eadc-cert-cta-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px; height: 38px;
  flex-shrink: 0;
  background: var(--eadc-cream, #FBF8F3);
  border-radius: 50%;
  color: var(--eadc-gold, #b09a78);
}
.eadc-cert-cta-text {
  flex: 1;
  display: flex;
  flex-direction: column;
  line-height: 1.25;
}
.eadc-cert-cta-title {
  font-family: var(--eadc-serif, 'Cormorant Garamond', Georgia, serif);
  font-size: 16px;
  font-weight: 500;
  color: var(--eadc-ink, #18120D);
  letter-spacing: -0.005em;
}
.eadc-cert-cta-sub {
  font-family: var(--eadc-sans, 'Inter', sans-serif);
  font-size: 11px;
  color: var(--eadc-ink-soft, #6b5e51);
  letter-spacing: 0.04em;
  margin-top: 2px;
}
.eadc-cert-cta-arrow {
  font-size: 18px;
  color: var(--eadc-ink-soft, #6b5e51);
  transition: transform .2s ease, color .2s ease;
}
.eadc-cert-cta-link:hover .eadc-cert-cta-arrow {
  transform: translateX(3px);
  color: var(--eadc-gold, #b09a78);
}

@media (max-width: 480px) {
  .eadc-cert-cta-link { padding: 12px 14px; gap: 10px; }
  .eadc-cert-cta-icon { width: 32px; height: 32px; }
  .eadc-cert-cta-title { font-size: 15px; }
  .eadc-cert-cta-sub { font-size: 10px; }
}

/* Inline certificate panel — Download + Verify actions row */
.eadc-cert-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px dashed var(--eadc-line, #E6DFD3);
  flex-wrap: wrap;
}
.eadc-cert-download {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  background: var(--eadc-ink, #18120D);
  color: #fff !important;
  text-decoration: none !important;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border: 1px solid var(--eadc-ink, #18120D);
  transition: background .2s ease, color .2s ease, transform .2s ease;
}
.eadc-cert-download:hover {
  background: transparent;
  color: var(--eadc-ink, #18120D) !important;
  transform: translateY(-1px);
}
.eadc-cert-download svg { stroke: currentColor; }
.eadc-cert-verify {
  font-size: 12px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--eadc-ink-soft, #6b5e51) !important;
  text-decoration: none !important;
  border-bottom: 1px solid transparent;
  padding-bottom: 2px;
  transition: color .15s ease, border-color .15s ease;
}
.eadc-cert-verify:hover {
  color: var(--eadc-ink, #18120D) !important;
  border-bottom-color: var(--eadc-gold, #b09a78);
}

@media (max-width: 480px) {
  .eadc-cert-actions { flex-direction: column; align-items: stretch; gap: 10px; }
  .eadc-cert-download { justify-content: center; }
  .eadc-cert-verify { text-align: center; }
}


/* ═══════════════════════════════════════════════════════════════════════════
 * INSTITUTIONAL PAGES — about / shipping / terms / privacy / faq
 * ═══════════════════════════════════════════════════════════════════════════ */
.eadc-static-page {
  max-width: 760px;
  margin: 0 auto;
  padding: 24px 24px 80px;
}
.eadc-breadcrumb--static { margin-bottom: 32px; }

/* Suppress parent theme's auto entry-title — our shortcode renders its own.
   Applies to all pages flagged with .eadc-page-static OR .eadc-suppress-entry-title
   (exhibitions, artists, wishlist, etc.) to prevent duplicate H1s. */
body.eadc-page-static .entry-title,
body.eadc-page-static .page-header,
body.eadc-page-static header.page-header,
body.eadc-suppress-entry-title .entry-title,
body.eadc-suppress-entry-title .page-header,
body.eadc-suppress-entry-title header.page-header {
  display: none !important;
}
.eadc-static-head {
  border-bottom: 1px solid var(--eadc-line, #E6DFD3);
  padding-bottom: 28px;
  margin-bottom: 40px;
}
.eadc-static-eyebrow {
  font-family: var(--eadc-sans, 'Inter', sans-serif);
  font-size: 11px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--eadc-ink-soft, #6b5e51);
  margin: 0 0 12px;
}
.eadc-static-title {
  font-family: var(--eadc-serif, 'Cormorant Garamond', Georgia, serif);
  font-size: clamp(36px, 5vw, 56px);
  font-weight: 500;
  letter-spacing: -0.015em;
  color: var(--eadc-ink, #18120D);
  line-height: 1.1;
  margin: 0 0 18px;
}
.eadc-static-tagline {
  font-family: var(--eadc-serif, 'Cormorant Garamond', Georgia, serif);
  font-size: clamp(20px, 2.4vw, 26px);
  font-weight: 500;
  font-style: italic;
  color: var(--eadc-gold, #b09a78);
  margin: 0 0 22px;
  letter-spacing: 0.005em;
  line-height: 1.3;
}
.eadc-static-tagline::before { content: "“ "; opacity: 0.5; }
.eadc-static-tagline::after  { content: " ”"; opacity: 0.5; }

.eadc-static-intro {
  font-family: var(--eadc-serif, 'Cormorant Garamond', Georgia, serif);
  font-size: clamp(18px, 2vw, 22px);
  line-height: 1.5;
  color: var(--eadc-ink-soft, #3a322a);
  margin: 0;
  font-style: italic;
}
.eadc-static-intro p { margin: 0 0 14px; }
.eadc-static-intro p:last-child { margin-bottom: 0; }
.eadc-static-intro strong { color: var(--eadc-ink, #18120D); font-style: normal; font-weight: 600; }

/* Stats row — three highlight numbers under the intro */
.eadc-static-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin: 0 0 48px;
  padding: 28px 0;
  border-top: 1px solid var(--eadc-line, #E6DFD3);
  border-bottom: 1px solid var(--eadc-line, #E6DFD3);
}
.eadc-static-stat {
  text-align: center;
  padding: 0 12px;
  position: relative;
}
.eadc-static-stat + .eadc-static-stat::before {
  content: "";
  position: absolute;
  left: 0; top: 12%; bottom: 12%;
  width: 1px;
  background: var(--eadc-line, #E6DFD3);
}
.eadc-static-stat-num {
  display: block;
  font-family: var(--eadc-serif, 'Cormorant Garamond', Georgia, serif);
  font-size: clamp(32px, 4.4vw, 48px);
  font-weight: 500;
  color: var(--eadc-ink, #18120D);
  letter-spacing: -0.015em;
  line-height: 1;
  margin-bottom: 8px;
}
.eadc-static-stat-lbl {
  display: block;
  font-family: var(--eadc-sans, 'Inter', sans-serif);
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--eadc-ink-soft, #6b5e51);
  line-height: 1.4;
}

/* Featured quote — large pull-quote between body sections */
.eadc-static-quote {
  margin: 56px 0;
  padding: 40px 32px;
  background: var(--eadc-cream, #FBF8F3);
  border-left: 3px solid var(--eadc-gold, #b09a78);
  position: relative;
}
.eadc-static-quote::before {
  content: "“";
  position: absolute;
  left: 18px; top: 8px;
  font-family: var(--eadc-serif, 'Cormorant Garamond', Georgia, serif);
  font-size: 64px;
  color: var(--eadc-gold, #b09a78);
  opacity: 0.35;
  line-height: 1;
}
.eadc-static-quote-text {
  font-family: var(--eadc-serif, 'Cormorant Garamond', Georgia, serif);
  font-size: clamp(20px, 2.4vw, 26px);
  font-style: italic;
  line-height: 1.45;
  color: var(--eadc-ink, #18120D);
  margin: 0 0 16px;
  position: relative;
  z-index: 1;
}
.eadc-static-quote-author {
  font-family: var(--eadc-sans, 'Inter', sans-serif);
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--eadc-ink-soft, #6b5e51);
  margin: 0;
}

/* Roster — pill cloud of artist names linking to their pages */
.eadc-static-roster {
  margin: 48px 0;
  padding: 32px 28px;
  border: 1px solid var(--eadc-line, #E6DFD3);
}
.eadc-static-roster-label {
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--eadc-ink-soft, #6b5e51);
  margin: 0 0 18px;
  text-align: center;
}
.eadc-static-roster-list {
  list-style: none;
  padding: 0;
  margin: 0 0 22px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 6px;
}
.eadc-static-roster-list li { display: inline-block; }
.eadc-static-roster-list a,
.eadc-static-roster-list span {
  display: inline-block;
  padding: 7px 14px;
  font-family: var(--eadc-sans, 'Inter', sans-serif);
  font-size: 13px;
  color: var(--eadc-ink, #18120D);
  background: #fff;
  border: 1px solid var(--eadc-line, #E6DFD3);
  border-radius: 999px;
  text-decoration: none !important;
  transition: background .15s ease, border-color .15s ease, color .15s ease;
}
.eadc-static-roster-list a:hover {
  background: var(--eadc-ink, #18120D);
  border-color: var(--eadc-ink, #18120D);
  color: #fff;
}
.eadc-static-roster-list span { color: var(--eadc-ink-soft, #6b5e51); cursor: default; }
.eadc-static-roster-more {
  display: block;
  text-align: center;
  font-family: var(--eadc-sans, 'Inter', sans-serif);
  font-size: 12px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--eadc-ink-soft, #6b5e51);
  text-decoration: none !important;
  border-top: 1px dashed var(--eadc-line, #E6DFD3);
  padding-top: 18px;
  transition: color .15s ease;
}
.eadc-static-roster-more:hover { color: var(--eadc-ink, #18120D); }

@media (max-width: 600px) {
  .eadc-static-stats { grid-template-columns: 1fr; gap: 24px; padding: 22px 0; }
  .eadc-static-stat + .eadc-static-stat::before { display: none; }
  .eadc-static-stat + .eadc-static-stat { padding-top: 24px; border-top: 1px solid var(--eadc-line, #E6DFD3); }
  .eadc-static-quote { padding: 32px 22px; margin: 40px 0; }
  .eadc-static-roster { padding: 26px 18px; }
}
.eadc-static-section {
  margin: 0 0 36px;
}
.eadc-static-h {
  font-family: var(--eadc-serif, 'Cormorant Garamond', Georgia, serif);
  font-size: clamp(22px, 2.6vw, 28px);
  font-weight: 500;
  color: var(--eadc-ink, #18120D);
  letter-spacing: -0.005em;
  margin: 0 0 14px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--eadc-line, #E6DFD3);
}
.eadc-static-prose {
  font-family: var(--eadc-sans, 'Inter', sans-serif);
  font-size: 15.5px;
  line-height: 1.72;
  color: var(--eadc-ink-soft, #3a322a);
}
.eadc-static-prose p { margin: 0 0 14px; }
.eadc-static-prose p:last-child { margin-bottom: 0; }
.eadc-static-prose strong { color: var(--eadc-ink, #18120D); font-weight: 600; }
.eadc-static-prose em { color: var(--eadc-ink, #18120D); }
.eadc-static-prose a {
  color: var(--eadc-ink, #18120D);
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-color: var(--eadc-gold, #b09a78);
  text-decoration-thickness: 1px;
}
.eadc-static-prose a:hover { text-decoration-color: var(--eadc-ink, #18120D); }
.eadc-static-prose ul,
.eadc-static-prose ol { padding-left: 22px; margin: 0 0 14px; }
.eadc-static-prose li { margin-bottom: 6px; }

/* Privacy policy table — finalidad / base legal */
.eadc-static-prose .eadc-privacy-table {
  width: 100%;
  border-collapse: collapse;
  margin: 8px 0 16px;
  font-size: 14px;
}
.eadc-static-prose .eadc-privacy-table th,
.eadc-static-prose .eadc-privacy-table td {
  border: 1px solid var(--eadc-line, #E6DFD3);
  padding: 10px 14px;
  text-align: left;
  vertical-align: top;
  line-height: 1.5;
}
.eadc-static-prose .eadc-privacy-table th {
  background: #fafaf6;
  font-weight: 600;
  color: var(--eadc-ink, #18120D);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.eadc-privacy-rev {
  margin-top: 18px;
  font-size: 13px;
  color: var(--eadc-ink-soft, #6b5e51);
}
@media (max-width: 640px) {
  .eadc-static-prose .eadc-privacy-table,
  .eadc-static-prose .eadc-privacy-table thead,
  .eadc-static-prose .eadc-privacy-table tbody,
  .eadc-static-prose .eadc-privacy-table tr,
  .eadc-static-prose .eadc-privacy-table th,
  .eadc-static-prose .eadc-privacy-table td { display: block; }
  .eadc-static-prose .eadc-privacy-table thead { display: none; }
  .eadc-static-prose .eadc-privacy-table tr {
    margin-bottom: 12px;
    border: 1px solid var(--eadc-line, #E6DFD3);
  }
  .eadc-static-prose .eadc-privacy-table td { border: 0; border-bottom: 1px dashed var(--eadc-line, #E6DFD3); }
  .eadc-static-prose .eadc-privacy-table td:last-child { border-bottom: 0; }
  .eadc-static-prose .eadc-privacy-table td:first-child::before {
    content: "Finalidad: ";
    font-weight: 600;
    color: var(--eadc-ink, #18120D);
  }
  .eadc-static-prose .eadc-privacy-table td:last-child::before {
    content: "Base legal: ";
    font-weight: 600;
    color: var(--eadc-ink, #18120D);
  }
}

/* Press mentions list — shown on /about/ when press_mentions array is populated */
.eadc-static-press {
  margin: 56px 0 0;
  padding-top: 36px;
  border-top: 1px solid var(--eadc-line, #E6DFD3);
}
.eadc-static-press-title {
  font-family: 'Playfair Display', 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(22px, 2.6vw, 28px);
  font-weight: 500;
  color: var(--eadc-ink, #18120D);
  margin: 0 0 22px;
}
.eadc-static-press-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.eadc-static-press-list li {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 14px;
  padding: 14px 0;
  border-top: 1px dashed var(--eadc-line, #E6DFD3);
  font-size: 14px;
}
.eadc-static-press-list li:first-child { border-top: 0; padding-top: 0; }
.eadc-static-press-outlet {
  font-family: 'Inter', -apple-system, sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--eadc-gold, #b09a78);
  flex: 0 0 auto;
  min-width: 110px;
}
.eadc-static-press-title-link,
.eadc-static-press-title-text {
  flex: 1 1 auto;
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 16px;
  font-weight: 500;
  color: var(--eadc-ink, #18120D);
  text-decoration: none !important;
  line-height: 1.35;
}
.eadc-static-press-title-link:hover { color: var(--eadc-gold, #b09a78); }
.eadc-static-press-date {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  color: var(--eadc-ink-soft, #6b5e51);
  letter-spacing: 0.04em;
  flex: 0 0 auto;
}

/* Press kit CTA aside — shown after press list, links to /press/ */
.eadc-static-press-kit {
  margin: 28px 0 0;
  padding: 22px 24px;
  background: #fff;
  border: 1px solid var(--eadc-line, #E6DFD3);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  flex-wrap: wrap;
}
.eadc-static-press-kit-text {
  flex: 1;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  color: var(--eadc-ink-soft, #4a4138);
  margin: 0;
  min-width: 240px;
}
@media (max-width: 600px) {
  .eadc-static-press { margin-top: 36px; padding-top: 24px; }
  .eadc-static-press-list li { flex-direction: column; gap: 4px; padding: 12px 0; }
  .eadc-static-press-outlet { min-width: 0; }
  .eadc-static-press-kit { padding: 18px; flex-direction: column; align-items: stretch; gap: 12px; }
}


.eadc-static-cta {
  margin-top: 56px;
  padding: 32px 28px;
  background: var(--eadc-cream, #FBF8F3);
  border-left: 3px solid var(--eadc-gold, #b09a78);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
}
.eadc-static-cta-text {
  font-family: var(--eadc-serif, 'Cormorant Garamond', Georgia, serif);
  font-size: 18px;
  font-style: italic;
  color: var(--eadc-ink, #18120D);
  margin: 0;
  flex: 1;
  min-width: 280px;
  line-height: 1.4;
}

/* Buying FAQ — list-of-Q&A treatment: each section heading reads as a question */
.eadc-static-faq .eadc-static-section { margin-bottom: 28px; padding-bottom: 28px; border-bottom: 1px dashed var(--eadc-line, #E6DFD3); }
.eadc-static-faq .eadc-static-section:last-child { border-bottom: 0; }
.eadc-static-faq .eadc-static-h {
  font-family: var(--eadc-serif, 'Cormorant Garamond', Georgia, serif);
  font-size: 22px;
  border-bottom: 0;
  padding-bottom: 0;
  margin-bottom: 12px;
  position: relative;
  padding-left: 28px;
}
.eadc-static-faq .eadc-static-h::before {
  content: 'Q.';
  position: absolute;
  left: 0; top: 0;
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  letter-spacing: 0.08em;
  color: var(--eadc-gold, #b09a78);
  font-weight: 500;
  padding-top: 6px;
}

@media (max-width: 600px) {
  .eadc-static-page { padding: 20px 18px 56px; }
  .eadc-static-head { padding-bottom: 22px; margin-bottom: 28px; }
  .eadc-static-section { margin-bottom: 28px; }
  .eadc-static-cta { padding: 24px 20px; }
}


/* ═══════════════════════════════════════════════════════════════════════════
 * CONTACT — anti-spam honeypot + enriched success page
 * ═══════════════════════════════════════════════════════════════════════════ */
.eadc-honeypot {
  /* Visually hidden but reachable by bots. Don't use display:none — some bots
     skip hidden inputs. */
  position: absolute !important;
  left: -10000px !important;
  top: auto !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

.eadc-contact-success {
  text-align: center;
  padding: 56px 32px;
  background: var(--eadc-cream, #FBF8F3);
  border: 1px solid var(--eadc-line, #E6DFD3);
  border-radius: 6px;
}
.eadc-contact-success-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 88px; height: 88px;
  border-radius: 50%;
  background: #fff;
  color: #1f6e36;
  margin: 0 auto 24px;
  box-shadow: 0 4px 16px -8px rgba(31,110,54,0.35);
}
.eadc-contact-success-eyebrow {
  font-size: 11px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--eadc-ink-soft, #6b5e51);
  margin: 0 0 10px;
  font-weight: 500;
}
.eadc-contact-success-title {
  font-family: var(--eadc-serif, 'Cormorant Garamond', Georgia, serif);
  font-size: clamp(36px, 5vw, 52px);
  font-weight: 500;
  letter-spacing: -0.015em;
  color: var(--eadc-ink, #18120D);
  margin: 0 0 14px;
  line-height: 1.1;
}
.eadc-contact-success-copy {
  max-width: 480px;
  margin: 0 auto 36px;
  font-size: 15px;
  line-height: 1.65;
  color: var(--eadc-ink-soft, #4a4138);
}

.eadc-contact-success-more {
  margin-top: 36px;
  padding-top: 32px;
  border-top: 1px dashed var(--eadc-line, #E6DFD3);
}
.eadc-contact-success-more-label {
  font-family: var(--eadc-serif, 'Cormorant Garamond', Georgia, serif);
  font-size: 18px;
  color: var(--eadc-ink, #18120D);
  margin: 0 0 20px;
  font-style: italic;
}
.eadc-contact-success-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin: 0 auto;
  max-width: 720px;
}
.eadc-contact-success-card {
  text-decoration: none !important;
  color: var(--eadc-ink, #18120D);
  display: block;
  transition: transform .2s ease;
}
.eadc-contact-success-card:hover { transform: translateY(-2px); }
.eadc-contact-success-card-img {
  background: #fff;
  border: 1px solid var(--eadc-line, #E6DFD3);
  aspect-ratio: 1 / 1;
  overflow: hidden;
  margin-bottom: 8px;
}
.eadc-contact-success-card-img img {
  width: 100%; height: 100%;
  object-fit: cover; display: block;
}
.eadc-contact-success-card-name {
  font-size: 11px;
  letter-spacing: 0.04em;
  text-align: center;
  color: var(--eadc-ink-soft, #4a4138);
  line-height: 1.3;
}

.eadc-contact-success-actions {
  margin-top: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
}

.eadc-contact-form button[type="submit"]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

@media (max-width: 720px) {
  .eadc-contact-success { padding: 44px 22px; }
  .eadc-contact-success-icon { width: 72px; height: 72px; }
  .eadc-contact-success-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .eadc-contact-success-actions { flex-direction: column; align-items: stretch; }
  .eadc-contact-success-actions a { text-align: center; justify-content: center; }
}


/* ═══════════════════════════════════════════════════════════════════════════
 * MOBILE QA — touch targets, viewport, generic safety net
 * ═══════════════════════════════════════════════════════════════════════════
 * iOS auto-zooms when an input has font-size < 16px. Lift the floor everywhere.
 * Touch targets must be ≥ 44px (Apple HIG). And on very small screens the
 * gallery padding can squeeze content — soften it.
 */
@media (max-width: 768px) {
  /* Prevent iOS zoom on input focus */
  input[type="text"],
  input[type="email"],
  input[type="tel"],
  input[type="number"],
  input[type="search"],
  input[type="url"],
  input[type="password"],
  textarea,
  select {
    font-size: 16px !important;
  }

  /* Touch-target floor for all primary CTAs */
  .eadc-btn-dark,
  .eadc-btn-outline,
  .eadc-btn-private,
  .eadc-cert-download,
  .eadc-cta-row a,
  .eadc-cta-row button {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  /* Tighten container padding on very small screens */
  .eadc-product-page,
  .eadc-contact-inner,
  .eadc-static-page {
    padding-left: 18px;
    padding-right: 18px;
  }

  /* Make the hamburger easier to hit */
  .eadc-burger { min-width: 44px; min-height: 44px; }
}

@media (max-width: 480px) {
  /* Smaller hero typography on phones */
  .eadc-hero-title,
  .eadc-static-title {
    font-size: clamp(28px, 8vw, 36px) !important;
  }
  /* Cards a single column */
  .eadc-related-grid,
  .eadc-archive-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 8px !important;
  }
}


/* ═══════════════════════════════════════════════════════════════════════════
 * SEARCH RESULTS — branded /?s={query} page (search.php template)
 * ═══════════════════════════════════════════════════════════════════════════ */
.eadc-search-page {
  max-width: 1280px;
  margin: 0 auto;
  padding: 24px 32px 80px;
}
.eadc-breadcrumb--search { margin-bottom: 32px; }

.eadc-search-head {
  text-align: center;
  border-bottom: 1px solid var(--eadc-line, #E6DFD3);
  padding-bottom: 36px;
  margin-bottom: 36px;
}
.eadc-search-eyebrow {
  font-size: 11px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--eadc-ink-soft, #6b5e51);
  margin: 0 0 12px;
}
.eadc-search-title {
  font-family: var(--eadc-serif, 'Cormorant Garamond', Georgia, serif);
  font-size: clamp(32px, 5vw, 56px);
  font-weight: 500;
  letter-spacing: -0.015em;
  color: var(--eadc-ink, #18120D);
  margin: 0 0 14px;
  line-height: 1.1;
}
.eadc-search-meta {
  font-size: 14px;
  color: var(--eadc-ink-soft, #6b5e51);
  margin: 0 0 28px;
}
.eadc-search-bar {
  display: flex;
  max-width: 540px;
  margin: 0 auto;
  background: #fff;
  border: 1px solid var(--eadc-line, #E6DFD3);
  border-radius: 999px;
  overflow: hidden;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.eadc-search-bar:focus-within {
  border-color: var(--eadc-gold, #b09a78);
  box-shadow: 0 0 0 3px rgba(176,154,120,0.15);
}
.eadc-search-bar input[type="search"] {
  flex: 1;
  border: 0;
  background: transparent;
  padding: 14px 22px;
  font-size: 15px;
  font-family: var(--eadc-sans, 'Inter', sans-serif);
  color: var(--eadc-ink, #18120D);
  outline: none;
}
.eadc-search-bar button {
  background: var(--eadc-ink, #18120D);
  border: 0;
  color: #fff;
  width: 52px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background .2s ease;
}
.eadc-search-bar button:hover { background: var(--eadc-gold, #b09a78); }

.eadc-search-tabs {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0 0 36px;
}
.eadc-search-tab {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  background: #fff;
  border: 1px solid var(--eadc-line, #E6DFD3);
  border-radius: 999px;
  text-decoration: none !important;
  color: var(--eadc-ink, #18120D);
  font-size: 13px;
  font-weight: 500;
  transition: all .15s ease;
}
.eadc-search-tab:hover {
  border-color: var(--eadc-gold, #b09a78);
  color: var(--eadc-ink, #18120D);
}
.eadc-search-tab.is-active {
  background: var(--eadc-ink, #18120D);
  border-color: var(--eadc-ink, #18120D);
  color: #fff;
}
.eadc-search-tab-count {
  font-size: 11px;
  color: var(--eadc-ink-soft, #6b5e51);
  background: var(--eadc-cream, #FBF8F3);
  padding: 2px 8px;
  border-radius: 999px;
  font-family: 'JetBrains Mono', 'SFMono-Regular', monospace;
  letter-spacing: 0;
}
.eadc-search-tab.is-active .eadc-search-tab-count {
  background: rgba(255,255,255,0.15);
  color: #fff;
}

.eadc-search-section {
  margin: 0 0 56px;
}
.eadc-search-section-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  border-bottom: 1px solid var(--eadc-line, #E6DFD3);
  padding-bottom: 12px;
  margin-bottom: 24px;
}
.eadc-search-section-title {
  font-family: var(--eadc-serif, 'Cormorant Garamond', Georgia, serif);
  font-size: 26px;
  font-weight: 500;
  letter-spacing: -0.005em;
  color: var(--eadc-ink, #18120D);
  margin: 0;
}
.eadc-search-section-more {
  font-size: 12px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--eadc-ink-soft, #6b5e51);
  text-decoration: none !important;
  border-bottom: 1px solid transparent;
  transition: color .15s, border-color .15s;
  padding-bottom: 1px;
}
.eadc-search-section-more:hover {
  color: var(--eadc-ink, #18120D);
  border-bottom-color: var(--eadc-gold, #b09a78);
}

.eadc-search-grid {
  display: grid;
  gap: 20px;
}
.eadc-search-grid--product,
.eadc-search-grid--exhibition {
  grid-template-columns: repeat(4, 1fr);
}
.eadc-search-grid--eadc_artist {
  grid-template-columns: repeat(4, 1fr);
}
.eadc-search-grid--page {
  grid-template-columns: repeat(2, 1fr);
}

.eadc-search-card {
  display: block;
  text-decoration: none !important;
  color: var(--eadc-ink, #18120D);
  transition: transform .2s ease;
}
.eadc-search-card:hover { transform: translateY(-2px); }
.eadc-search-card-img {
  position: relative;
  background: #fff;
  border: 1px solid var(--eadc-line, #E6DFD3);
  aspect-ratio: 1 / 1;
  overflow: hidden;
  margin-bottom: 10px;
}
.eadc-search-card-img img {
  width: 100%; height: 100%;
  object-fit: cover; display: block;
}
.eadc-search-card-img--artist {
  border-radius: 50%;
  background: var(--eadc-cream, #FBF8F3);
  display: flex;
  align-items: center;
  justify-content: center;
}
.eadc-search-card-img--artist img {
  border-radius: 50%;
  object-fit: cover;
}
.eadc-search-card-initials {
  font-family: var(--eadc-serif, 'Cormorant Garamond', Georgia, serif);
  font-size: 32px;
  color: var(--eadc-gold, #b09a78);
  font-weight: 500;
  letter-spacing: 0.02em;
}
.eadc-search-card-eyebrow {
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--eadc-ink-soft, #6b5e51);
  text-align: center;
  margin-bottom: 4px;
}
.eadc-search-card-name {
  font-family: 'Playfair Display', 'Cormorant Garamond', Georgia, serif;
  font-size: 18px;
  font-weight: 500;
  text-align: center;
  color: var(--eadc-ink, #18120D);
  line-height: 1.25;
  letter-spacing: -0.005em;
}
.eadc-search-card--artist .eadc-search-card-name {
  font-weight: 500;
}

/* Page result — text-only card */
.eadc-search-card--page {
  padding: 20px 22px;
  background: var(--eadc-cream, #FBF8F3);
  border: 1px solid var(--eadc-line, #E6DFD3);
  text-align: left;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.eadc-search-card-page-eyebrow {
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--eadc-gold, #b09a78);
  font-weight: 600;
}
.eadc-search-card-page-name {
  font-family: var(--eadc-serif, 'Cormorant Garamond', Georgia, serif);
  font-size: 22px;
  color: var(--eadc-ink, #18120D);
  line-height: 1.2;
}
.eadc-search-card-page-excerpt {
  font-size: 13px;
  line-height: 1.55;
  color: var(--eadc-ink-soft, #4a4138);
  margin: 0;
}
.eadc-search-card-page-cta {
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--eadc-ink-soft, #6b5e51);
  margin-top: 4px;
  transition: color .15s;
}
.eadc-search-card--page:hover .eadc-search-card-page-cta {
  color: var(--eadc-ink, #18120D);
}

.eadc-search-pager {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  margin-top: 48px;
  padding-top: 24px;
  border-top: 1px solid var(--eadc-line, #E6DFD3);
  font-size: 13px;
}
.eadc-search-pager a {
  color: var(--eadc-ink, #18120D);
  text-decoration: none !important;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-size: 12px;
  padding: 8px 16px;
  border: 1px solid var(--eadc-line, #E6DFD3);
  border-radius: 999px;
  transition: all .15s;
}
.eadc-search-pager a:hover {
  background: var(--eadc-ink, #18120D);
  border-color: var(--eadc-ink, #18120D);
  color: #fff !important;
}
.eadc-search-pager-status {
  color: var(--eadc-ink-soft, #6b5e51);
  font-size: 12px;
  letter-spacing: 0.06em;
}

.eadc-search-empty {
  text-align: center;
  padding: 56px 20px 80px;
  color: var(--eadc-ink-soft, #4a4138);
  font-size: 16px;
  line-height: 1.6;
}
.eadc-search-empty--zero h2 {
  font-family: var(--eadc-serif, 'Cormorant Garamond', Georgia, serif);
  font-size: clamp(24px, 3vw, 32px);
  font-weight: 500;
  margin: 0 0 14px;
  color: var(--eadc-ink, #18120D);
}
.eadc-search-empty-cta {
  display: flex;
  gap: 12px;
  justify-content: center;
  margin-top: 28px;
  flex-wrap: wrap;
}

@media (max-width: 900px) {
  .eadc-search-grid--product,
  .eadc-search-grid--exhibition,
  .eadc-search-grid--eadc_artist {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 640px) {
  .eadc-search-page { padding: 20px 18px 56px; }
  .eadc-search-head { padding-bottom: 24px; margin-bottom: 24px; }
  .eadc-search-grid--product,
  .eadc-search-grid--exhibition,
  .eadc-search-grid--eadc_artist {
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
  }
  .eadc-search-grid--page { grid-template-columns: 1fr; }
  .eadc-search-section-head { flex-direction: column; align-items: flex-start; gap: 6px; }
  .eadc-search-tabs { gap: 6px; }
  .eadc-search-tab { padding: 7px 12px; font-size: 12px; }
}


/* ═══════════════════════════════════════════════════════════════════════════
 * WISHLIST — toggle button state + /wishlist/ page + contact multi-list
 * ═══════════════════════════════════════════════════════════════════════════ */
[data-wishlist].is-wishlisted {
  background: var(--eadc-gold, #b09a78) !important;
  color: #fff !important;
  border-color: var(--eadc-gold, #b09a78) !important;
}

.eadc-wishlist-page {
  max-width: 1100px;
  margin: 0 auto;
  padding: 24px 32px 80px;
}
.eadc-wishlist-head {
  text-align: center;
  border-bottom: 1px solid var(--eadc-line, #E6DFD3);
  padding-bottom: 28px;
  margin-bottom: 36px;
}
.eadc-wishlist-eyebrow {
  font-size: 11px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--eadc-ink-soft, #6b5e51);
  margin: 0 0 12px;
}
.eadc-wishlist-title {
  font-family: var(--eadc-serif, 'Cormorant Garamond', Georgia, serif);
  font-size: clamp(36px, 5vw, 56px);
  font-weight: 500;
  letter-spacing: -0.015em;
  color: var(--eadc-ink, #18120D);
  line-height: 1.1;
  margin: 0 0 12px;
}
.eadc-wishlist-meta {
  font-size: 14px;
  color: var(--eadc-ink-soft, #6b5e51);
  margin: 0;
}

.eadc-wishlist-empty {
  text-align: center;
  padding: 56px 22px;
  background: var(--eadc-cream, #FBF8F3);
  border: 1px solid var(--eadc-line, #E6DFD3);
}
.eadc-wishlist-empty p {
  font-family: var(--eadc-serif, 'Cormorant Garamond', Georgia, serif);
  font-size: 22px;
  font-style: italic;
  color: var(--eadc-ink, #18120D);
  margin: 0 0 12px;
}
.eadc-wishlist-empty-hint {
  font-family: var(--eadc-sans, 'Inter', sans-serif) !important;
  font-size: 14px !important;
  font-style: normal !important;
  color: var(--eadc-ink-soft, #4a4138) !important;
  max-width: 480px;
  margin: 0 auto 22px !important;
  line-height: 1.6;
}
.eadc-wl-heart-mini {
  display: inline-block;
  background: var(--eadc-gold, #b09a78);
  color: #fff;
  padding: 0 6px;
  border-radius: 4px;
  font-size: 12px;
}

.eadc-wishlist-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.eadc-wl-item {
  background: #fff;
  border: 1px solid var(--eadc-line, #E6DFD3);
  display: flex;
  flex-direction: column;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.eadc-wl-item:hover {
  border-color: var(--eadc-gold, #b09a78);
  box-shadow: 0 8px 24px -16px rgba(176,154,120,0.4);
}
.eadc-wl-img {
  display: block;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: var(--eadc-cream, #FBF8F3);
}
.eadc-wl-img img {
  width: 100%; height: 100%;
  object-fit: cover; display: block;
}
.eadc-wl-meta {
  padding: 18px 20px 20px;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.eadc-wl-artist {
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--eadc-gold, #b09a78);
  margin-bottom: 6px;
}
.eadc-wl-title {
  font-family: 'Playfair Display', 'Cormorant Garamond', Georgia, serif;
  font-size: 19px;
  font-weight: 500;
  color: var(--eadc-ink, #18120D);
  text-decoration: none !important;
  line-height: 1.2;
  margin-bottom: 6px;
  letter-spacing: -0.005em;
}
.eadc-wl-title:hover { color: var(--eadc-gold, #b09a78); }
.eadc-wl-detail {
  font-size: 12px;
  color: var(--eadc-ink-soft, #6b5e51);
  margin-bottom: 14px;
}
.eadc-wl-actions {
  margin-top: auto;
  padding-top: 14px;
  border-top: 1px dashed var(--eadc-line, #E6DFD3);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
/* Triple-specificity + !important on the remove button — Elementor Kit's
   default button styling otherwise renders it as a coral/salmon pill that
   doesn't match the gallery aesthetic. Same approach as the cookie banner. */
.eadc-wishlist-page .eadc-wl-actions .eadc-wl-enquire,
a.eadc-wl-enquire {
  font-family: var(--eadc-sans, 'Inter', sans-serif) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--eadc-ink, #18120D) !important;
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-bottom: 1px solid var(--eadc-gold, #b09a78) !important;
  border-radius: 0 !important;
  padding: 0 0 2px 0 !important;
  text-decoration: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
  transition: color .15s ease, border-color .15s ease !important;
}
.eadc-wishlist-page .eadc-wl-actions .eadc-wl-enquire:hover,
a.eadc-wl-enquire:hover {
  color: var(--eadc-gold, #b09a78) !important;
  border-bottom-color: var(--eadc-ink, #18120D) !important;
}
.eadc-wishlist-page .eadc-wl-actions .eadc-wl-remove,
button.eadc-wl-remove {
  font-family: var(--eadc-sans, 'Inter', sans-serif) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--eadc-ink-soft, #6b5e51) !important;
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 4px 0 !important;
  cursor: pointer !important;
  box-shadow: none !important;
  text-shadow: none !important;
  min-height: auto !important;
  transition: color .15s ease !important;
}
.eadc-wishlist-page .eadc-wl-actions .eadc-wl-remove:hover,
button.eadc-wl-remove:hover {
  color: #8b1f1f !important;
  background: transparent !important;
}

.eadc-wishlist-bulk {
  margin-top: 48px;
  padding: 32px 28px;
  background: var(--eadc-cream, #FBF8F3);
  border-left: 3px solid var(--eadc-gold, #b09a78);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
}
.eadc-wishlist-bulk-text {
  flex: 1;
  font-family: var(--eadc-serif, 'Cormorant Garamond', Georgia, serif);
  font-size: 17px;
  font-style: italic;
  line-height: 1.5;
  color: var(--eadc-ink, #18120D);
  margin: 0;
  min-width: 280px;
}
/* Same Elementor-defeating pattern for the bulk-area buttons. */
.eadc-wishlist-page .eadc-wishlist-bulk .eadc-wishlist-clear,
button.eadc-wishlist-clear {
  font-family: var(--eadc-sans, 'Inter', sans-serif) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--eadc-ink-soft, #6b5e51) !important;
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 10px 0 !important;
  cursor: pointer !important;
  box-shadow: none !important;
  text-shadow: none !important;
  min-height: auto !important;
  transition: color .15s ease !important;
}
.eadc-wishlist-page .eadc-wishlist-bulk .eadc-wishlist-clear:hover,
button.eadc-wishlist-clear:hover {
  color: #8b1f1f !important;
  background: transparent !important;
}
/* Bulk "Request all N pieces" CTA — keep eadc-btn-dark look but force it
   against any Elementor pill override. */
.eadc-wishlist-page .eadc-wishlist-bulk a.eadc-btn-dark,
.eadc-wishlist-page .eadc-wishlist-bulk a.eadc-btn-dark:link,
.eadc-wishlist-page .eadc-wishlist-bulk a.eadc-btn-dark:visited {
  font-family: var(--eadc-sans, 'Inter', sans-serif) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: #fff !important;
  background: var(--eadc-ink, #18120D) !important;
  background-image: none !important;
  border: 1px solid var(--eadc-ink, #18120D) !important;
  border-radius: 0 !important;
  padding: 14px 26px !important;
  text-decoration: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
  transition: background .15s ease, border-color .15s ease, color .15s ease !important;
}
.eadc-wishlist-page .eadc-wishlist-bulk a.eadc-btn-dark:hover,
.eadc-wishlist-page .eadc-wishlist-bulk a.eadc-btn-dark:focus {
  background: var(--eadc-gold, #b09a78) !important;
  border-color: var(--eadc-gold, #b09a78) !important;
  color: #fff !important;
}

/* Contact form — multi-piece wishlist preview */
.eadc-contact-wishlist {
  margin: 0 0 28px;
  padding: 22px 24px;
  background: var(--eadc-cream, #FBF8F3);
  border: 1px solid var(--eadc-line, #E6DFD3);
}
.eadc-contact-wishlist-list {
  list-style: none;
  margin: 12px 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px 16px;
}
.eadc-contact-wishlist-item {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none !important;
  color: var(--eadc-ink, #18120D);
  font-size: 13px;
  padding: 6px 8px;
  background: #fff;
  border: 1px solid transparent;
  transition: border-color .15s;
}
.eadc-contact-wishlist-item:hover { border-color: var(--eadc-gold, #b09a78); }
.eadc-contact-wishlist-item img {
  width: 44px; height: 44px;
  object-fit: cover;
  background: var(--eadc-cream, #FBF8F3);
  flex-shrink: 0;
}
.eadc-contact-wishlist-item span {
  line-height: 1.3;
  font-family: var(--eadc-sans, 'Inter', sans-serif);
}
.eadc-contact-wishlist-item strong {
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--eadc-gold, #b09a78);
  font-weight: 600;
}

@media (max-width: 720px) {
  .eadc-wishlist-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
  .eadc-wishlist-bulk { padding: 24px 20px; }
  .eadc-contact-wishlist-list { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
  .eadc-wishlist-grid { grid-template-columns: 1fr; }
}


/* ═══════════════════════════════════════════════════════════════════════════
 * WOOCOMMERCE — cart / checkout / order-received / my-account reskin
 * ═══════════════════════════════════════════════════════════════════════════
 * Default Woo HTML, our brand. Targets body.woocommerce-{page} classes.
 * ═══════════════════════════════════════════════════════════════════════════ */

/* ── Container + reset ──────────────────────────────────────────────────── */
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce,
.woocommerce-account .woocommerce,
.woocommerce-order-received .woocommerce {
  max-width: 1180px;
  margin: 0 auto;
  padding: 32px 24px 80px;
  font-family: var(--eadc-sans, 'Inter', -apple-system, sans-serif);
  color: var(--eadc-ink, #18120D);
  font-size: 15px;
  line-height: 1.6;
}

/* Suppress duplicate WP entry-title on these pages — Woo provides its own UX */
body.woocommerce-cart .entry-title,
body.woocommerce-checkout .entry-title,
body.woocommerce-account .entry-title,
body.woocommerce-order-received .entry-title { display: none !important; }

/* ── Notices ────────────────────────────────────────────────────────────── */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-notice {
  background: var(--eadc-cream, #FBF8F3);
  border-left: 3px solid var(--eadc-gold, #b09a78);
  color: var(--eadc-ink, #18120D);
  padding: 14px 18px;
  margin: 0 0 24px;
  font-size: 14px;
  border-radius: 0;
}
.woocommerce-error { border-left-color: #8b1f1f; background: #f9e7e7; }
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before { display: none; }
.woocommerce-message a.button,
.woocommerce-info a.button {
  background: var(--eadc-ink, #18120D);
  color: #fff;
  padding: 8px 16px;
  border-radius: 999px;
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-weight: 500;
  text-decoration: none;
  margin-left: 12px;
}

/* ── Cart: empty state ──────────────────────────────────────────────────── */
.woocommerce-cart .cart-empty {
  text-align: center;
  padding: 48px 22px;
  background: var(--eadc-cream, #FBF8F3);
  border: 1px solid var(--eadc-line, #E6DFD3);
  font-family: var(--eadc-serif, 'Cormorant Garamond', Georgia, serif);
  font-size: 22px;
  font-style: italic;
  color: var(--eadc-ink, #18120D);
  margin-bottom: 24px;
}
.woocommerce-cart .return-to-shop {
  text-align: center;
  margin-top: 16px;
}
.woocommerce-cart .return-to-shop .button {
  display: inline-block;
  background: var(--eadc-ink, #18120D);
  color: #fff;
  padding: 14px 28px;
  border-radius: 999px;
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-weight: 500;
  text-decoration: none;
  border: 1px solid var(--eadc-ink, #18120D);
  transition: background .2s, color .2s;
}
.woocommerce-cart .return-to-shop .button:hover {
  background: transparent;
  color: var(--eadc-ink, #18120D);
}

/* ── Cart: page header ──────────────────────────────────────────────────── */
.woocommerce-cart .woocommerce::before,
.woocommerce-checkout .woocommerce::before {
  content: "";
  display: block;
}

/* ── Cart: product table ────────────────────────────────────────────────── */
.woocommerce table.shop_table {
  border: 1px solid var(--eadc-line, #E6DFD3);
  border-collapse: collapse;
  width: 100%;
  background: #fff;
  margin: 0 0 32px;
  border-radius: 0;
}
.woocommerce table.shop_table th {
  background: var(--eadc-cream, #FBF8F3);
  padding: 14px 16px;
  font-family: var(--eadc-sans, 'Inter', sans-serif);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--eadc-ink-soft, #6b5e51);
  text-align: left;
  border-bottom: 1px solid var(--eadc-line, #E6DFD3);
}
.woocommerce table.shop_table td {
  padding: 18px 16px;
  border-bottom: 1px solid var(--eadc-line, #E6DFD3);
  vertical-align: middle;
  font-size: 14px;
}
.woocommerce table.shop_table tr:last-child td { border-bottom: 0; }
.woocommerce table.shop_table .product-thumbnail img {
  width: 70px; height: 70px;
  object-fit: cover;
  border: 1px solid var(--eadc-line, #E6DFD3);
}
.woocommerce table.shop_table .product-name a {
  font-family: var(--eadc-serif, 'Cormorant Garamond', Georgia, serif);
  font-size: 17px;
  color: var(--eadc-ink, #18120D);
  text-decoration: none;
  transition: color .15s;
}
.woocommerce table.shop_table .product-name a:hover { color: var(--eadc-gold, #b09a78); }
.woocommerce table.shop_table .product-price,
.woocommerce table.shop_table .product-subtotal,
.woocommerce table.shop_table .amount {
  font-family: 'JetBrains Mono', 'SFMono-Regular', monospace;
  font-size: 14px;
  color: var(--eadc-ink, #18120D);
}
.woocommerce table.shop_table .product-remove a {
  color: var(--eadc-ink-soft, #6b5e51);
  background: transparent !important;
  font-size: 20px;
  width: auto;
  height: auto;
  line-height: 1;
  border: 0 !important;
  text-decoration: none;
  transition: color .15s;
}
.woocommerce table.shop_table .product-remove a:hover { color: #8b1f1f; background: transparent !important; }
.woocommerce table.shop_table .quantity input.qty {
  width: 60px;
  padding: 8px 10px;
  border: 1px solid var(--eadc-line, #E6DFD3);
  border-radius: 4px;
  text-align: center;
  font-family: 'JetBrains Mono', monospace;
}

/* ── Cart: actions row (coupon + update) ────────────────────────────────── */
.woocommerce .cart .actions {
  background: transparent;
  border-top: 1px solid var(--eadc-line, #E6DFD3);
  padding-top: 18px;
}
.woocommerce .cart .actions .coupon {
  display: flex;
  gap: 8px;
  align-items: center;
}
.woocommerce .cart .actions .coupon label { display: none; }
.woocommerce .cart .actions .coupon input.input-text {
  border: 1px solid var(--eadc-line, #E6DFD3);
  padding: 10px 14px;
  font-size: 13px;
  border-radius: 999px 0 0 999px;
  background: #fff;
}
.woocommerce .cart .actions .coupon button,
.woocommerce .cart .actions button[name="update_cart"] {
  background: var(--eadc-ink, #18120D);
  color: #fff;
  border: 1px solid var(--eadc-ink, #18120D);
  padding: 10px 18px;
  border-radius: 999px;
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
  font-family: inherit;
  font-weight: 500;
  transition: background .2s, color .2s;
}
.woocommerce .cart .actions button[name="update_cart"] {
  background: transparent;
  color: var(--eadc-ink, #18120D);
}
.woocommerce .cart .actions .coupon button:hover {
  background: transparent; color: var(--eadc-ink, #18120D);
}
.woocommerce .cart .actions button[name="update_cart"]:hover {
  background: var(--eadc-ink, #18120D); color: #fff;
}

/* ── Cart: totals box ───────────────────────────────────────────────────── */
.woocommerce .cart-collaterals,
.woocommerce-cart .cart-collaterals { display: block; max-width: none; }
.woocommerce .cart_totals {
  background: var(--eadc-cream, #FBF8F3);
  border: 1px solid var(--eadc-line, #E6DFD3);
  padding: 28px 28px 24px;
  margin-top: 32px;
}
.woocommerce .cart_totals h2 {
  font-family: var(--eadc-serif, 'Cormorant Garamond', Georgia, serif);
  font-size: 26px;
  font-weight: 500;
  letter-spacing: -0.005em;
  color: var(--eadc-ink, #18120D);
  margin: 0 0 18px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--eadc-line, #E6DFD3);
}
.woocommerce .cart_totals table.shop_table {
  border: 0;
  background: transparent;
}
.woocommerce .cart_totals table.shop_table th,
.woocommerce .cart_totals table.shop_table td {
  background: transparent;
  border: 0;
  padding: 10px 0;
}
.woocommerce .cart_totals table.shop_table .order-total .amount {
  font-size: 22px;
  font-weight: 600;
  color: var(--eadc-ink, #18120D);
}
.woocommerce .cart_totals .wc-proceed-to-checkout {
  padding-top: 18px;
  margin-top: 14px;
  border-top: 1px solid var(--eadc-line, #E6DFD3);
}
.woocommerce .cart_totals .wc-proceed-to-checkout {
  text-align: right;
}
.woocommerce .cart_totals .wc-proceed-to-checkout .checkout-button {
  display: inline-block;
  width: auto;
  background: var(--eadc-ink, #18120D);
  color: #fff;
  text-align: center;
  padding: 11px 26px;
  border-radius: 999px;
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-decoration: none;
  font-weight: 500;
  border: 1px solid var(--eadc-ink, #18120D);
  transition: background .2s, color .2s, transform .15s;
}
.woocommerce .cart_totals .wc-proceed-to-checkout .checkout-button:hover {
  background: transparent;
  color: var(--eadc-ink, #18120D);
  transform: translateY(-1px);
}

/* ── Checkout: typography (let Woo handle layout) ───────────────────────── */
.woocommerce-checkout h3 {
  font-family: var(--eadc-serif, 'Cormorant Garamond', Georgia, serif);
  font-size: 24px;
  font-weight: 500;
  letter-spacing: -0.005em;
  color: var(--eadc-ink, #18120D);
  margin: 0 0 16px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--eadc-line, #E6DFD3);
}
.woocommerce-checkout h3#order_review_heading { margin-top: 32px; }
.woocommerce-checkout p.form-row label {
  display: block;
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--eadc-ink-soft, #6b5e51);
  font-weight: 500;
  margin-bottom: 6px;
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-checkout .select2-selection {
  border: 1px solid var(--eadc-line, #E6DFD3) !important;
  border-radius: 4px !important;
  padding: 12px 14px !important;
  font-size: 15px !important;
  font-family: inherit !important;
  background: #fff !important;
  color: var(--eadc-ink, #18120D) !important;
  width: 100% !important;
  box-sizing: border-box;
  transition: border-color .15s, box-shadow .15s;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
  border-color: var(--eadc-gold, #b09a78) !important;
  outline: 0;
  box-shadow: 0 0 0 3px rgba(176,154,120,0.15);
}
.woocommerce-checkout #order_review {
  background: var(--eadc-cream, #FBF8F3);
  border: 1px solid var(--eadc-line, #E6DFD3);
  padding: 24px;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}
.woocommerce-checkout #order_review .shop_table { border: 0; background: transparent; }
.woocommerce-checkout #order_review .shop_table th,
.woocommerce-checkout #order_review .shop_table td { background: transparent; padding: 8px 0; font-size: 13px; }
.woocommerce-checkout #order_review .order-total .amount {
  font-size: 20px;
  font-weight: 600;
}
.woocommerce-checkout #payment {
  background: transparent !important;
  border-top: 1px solid var(--eadc-line, #E6DFD3);
  padding-top: 18px;
  margin-top: 18px;
}
.woocommerce-checkout #payment ul.payment_methods {
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
}
.woocommerce-checkout #payment ul.payment_methods li {
  background: #fff;
  border: 1px solid var(--eadc-line, #E6DFD3);
  border-radius: 4px;
  padding: 14px 16px;
  margin-bottom: 8px;
}
.woocommerce-checkout #payment #place_order {
  background: var(--eadc-ink, #18120D) !important;
  color: #fff !important;
  width: 100%;
  padding: 16px 20px !important;
  border-radius: 999px !important;
  border: 1px solid var(--eadc-ink, #18120D) !important;
  font-size: 13px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  font-family: inherit !important;
  margin-top: 16px !important;
  transition: background .2s, color .2s;
  cursor: pointer;
}
.woocommerce-checkout #payment #place_order:hover {
  background: transparent !important;
  color: var(--eadc-ink, #18120D) !important;
}

/* Trust strip — injected via PHP at the bottom of cart and checkout */
.eadc-checkout-trust {
  margin-top: 40px;
  padding: 28px 24px;
  background: #fff;
  border: 1px solid var(--eadc-line, #E6DFD3);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.eadc-checkout-trust-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: 13px;
  line-height: 1.5;
  color: var(--eadc-ink-soft, #4a4138);
}
.eadc-checkout-trust-item svg {
  width: 22px; height: 22px;
  color: var(--eadc-gold, #b09a78);
  flex-shrink: 0;
  margin-top: 2px;
}
.eadc-checkout-trust-item strong {
  display: block;
  color: var(--eadc-ink, #18120D);
  font-weight: 600;
  font-size: 13px;
  margin-bottom: 2px;
  letter-spacing: 0.02em;
}

/* ── Order received (thank-you page) ────────────────────────────────────── */
.woocommerce-order-received .woocommerce {
  max-width: 760px;
}
.woocommerce-order-received .woocommerce-notice--success,
.woocommerce-order-received .woocommerce-thankyou-order-received {
  text-align: center;
  font-family: var(--eadc-serif, 'Cormorant Garamond', Georgia, serif);
  font-size: clamp(28px, 4vw, 42px);
  font-weight: 500;
  color: var(--eadc-ink, #18120D);
  background: transparent;
  border: 0;
  padding: 32px 0 12px;
  margin: 0;
  letter-spacing: -0.015em;
}
.woocommerce-order-received .woocommerce-thankyou-order-received::before {
  content: "✓";
  display: block;
  font-family: var(--eadc-sans, 'Inter', sans-serif);
  font-size: 36px;
  width: 72px; height: 72px;
  line-height: 72px;
  color: #1f6e36;
  background: #e8f5ec;
  border-radius: 50%;
  margin: 0 auto 24px;
  font-weight: 600;
}
.woocommerce-order-received .woocommerce-order-overview {
  background: var(--eadc-cream, #FBF8F3);
  border: 1px solid var(--eadc-line, #E6DFD3);
  padding: 22px 24px;
  margin: 28px 0;
  display: flex;
  flex-wrap: wrap;
  gap: 14px 28px;
  list-style: none;
  justify-content: center;
}
.woocommerce-order-received .woocommerce-order-overview li {
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--eadc-ink-soft, #6b5e51);
  border: 0;
  padding: 0;
}
.woocommerce-order-received .woocommerce-order-overview li strong {
  display: block;
  font-family: 'JetBrains Mono', monospace;
  color: var(--eadc-ink, #18120D);
  font-size: 14px;
  letter-spacing: 0;
  text-transform: none;
  margin-top: 4px;
}
.woocommerce-order-received .woocommerce-order-details h2 {
  font-family: var(--eadc-serif, 'Cormorant Garamond', Georgia, serif);
  font-size: 22px;
  font-weight: 500;
  margin: 32px 0 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--eadc-line, #E6DFD3);
}

/* My account */
.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.woocommerce-account .woocommerce-MyAccount-navigation li {
  border-bottom: 1px solid var(--eadc-line, #E6DFD3);
}
.woocommerce-account .woocommerce-MyAccount-navigation a {
  display: block;
  padding: 12px 0;
  font-size: 13px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--eadc-ink-soft, #4a4138);
  text-decoration: none;
  transition: color .15s;
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation a:hover {
  color: var(--eadc-ink, #18120D);
  border-left: 3px solid var(--eadc-gold, #b09a78);
  padding-left: 12px;
}

/* ── Brand fixes for default WP/Woo blue links + red asterisks ──────────── */
/* Coupon notice — "Have a coupon? Click here to enter your code" */
.woocommerce form.checkout_coupon,
.woocommerce-form-coupon-toggle .woocommerce-info,
.woocommerce-cart .woocommerce-info {
  background: var(--eadc-cream, #FBF8F3);
}
.woocommerce-form-coupon-toggle .woocommerce-info a,
.woocommerce-cart .woocommerce-info a,
.woocommerce form.checkout_coupon a,
.woocommerce-checkout .showcoupon,
.woocommerce a.showcoupon {
  color: var(--eadc-ink, #18120D) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
  text-decoration-color: var(--eadc-gold, #b09a78) !important;
  font-weight: 500;
}
.woocommerce-form-coupon-toggle .woocommerce-info a:hover,
.woocommerce-cart .woocommerce-info a:hover,
.woocommerce a.showcoupon:hover {
  color: var(--eadc-gold, #b09a78) !important;
}

/* Cart: shipping calculator "Change address" link + truck icon */
.woocommerce .shipping-calculator-button,
.woocommerce a.shipping-calculator-button {
  color: var(--eadc-ink, #18120D) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
  text-decoration-color: var(--eadc-gold, #b09a78) !important;
  font-weight: 500;
}
.woocommerce .shipping-calculator-button::after,
.woocommerce .shipping-calculator-button img {
  filter: grayscale(1) brightness(0.4);
}

/* Required field asterisks — red → gallery gold */
.woocommerce form .form-row .required,
.woocommerce form .form-row label .required,
.woocommerce-checkout label abbr.required,
.woocommerce-checkout .required {
  color: var(--eadc-gold, #b09a78) !important;
  text-decoration: none !important;
  border: 0 !important;
  font-weight: 600;
}

/* Generic catch-all for any remaining default-blue inside Woo containers */
.woocommerce-cart a:not(.button):not(.checkout-button):not(.eadc-btn-dark):not(.eadc-btn-outline),
.woocommerce-checkout a:not(.button):not(.checkout-button):not(.eadc-btn-dark):not(.eadc-btn-outline),
.woocommerce-account a:not(.button):not(.eadc-btn-dark):not(.eadc-btn-outline),
.woocommerce-order-received a:not(.button):not(.eadc-btn-dark):not(.eadc-btn-outline) {
  color: var(--eadc-ink, #18120D);
  text-decoration-color: var(--eadc-gold, #b09a78);
}
.woocommerce-cart a:not(.button):hover,
.woocommerce-checkout a:not(.button):hover {
  color: var(--eadc-gold, #b09a78);
}

/* Cart totals "shipping" row — change-address inline link */
.woocommerce .shop_table .shipping a {
  color: var(--eadc-ink, #18120D);
  text-decoration: underline;
  text-decoration-color: var(--eadc-gold, #b09a78);
}

@media (max-width: 768px) {
  .eadc-checkout-trust { grid-template-columns: 1fr; gap: 14px; }
  .woocommerce table.shop_table .product-thumbnail img { width: 56px; height: 56px; }
  .woocommerce-checkout #order_review { margin-top: 24px; }
}


/* ═══════════════════════════════════════════════════════════════════════════
 * BOTTOM SPACING — keep archives breathing room above the footer
 * ═══════════════════════════════════════════════════════════════════════════
 * WC product archives, taxonomy archives, CPT archives and our shop pages
 * all flush against the dark footer by default. Add a generous bottom pad
 * so the last row of cards doesn't visually collide with the footer.
 */
.woocommerce-shop main,
.woocommerce-shop .site-main,
.tax-product_cat main,
.tax-product_cat .site-main,
.tax-product_tag main,
.tax-product_tag .site-main,
.post-type-archive-product main,
.post-type-archive-product .site-main,
.post-type-archive-eadc_artist main,
.post-type-archive-eadc_artist .site-main,
.post-type-archive-exhibition main,
.post-type-archive-exhibition .site-main,
.archive main,
.archive .site-main {
  padding-bottom: 96px;
}

/* Even when WC archive renders without a wrapping main, pad the products list */
.woocommerce ul.products {
  margin-bottom: 56px;
}
.woocommerce nav.woocommerce-pagination {
  margin-bottom: 80px;
}


/* ═══════════════════════════════════════════════════════════════════════════
 * ACCESSIBILITY — keyboard focus, skip-link, screen reader helpers (WCAG AA)
 * ═══════════════════════════════════════════════════════════════════════════ */

/* Visible focus ring for keyboard navigation. :focus-visible is the modern
   standard — only fires for keyboard / non-mouse focus, so mouse clicks don't
   leave a halo on every button. */
:focus-visible {
  outline: 3px solid var(--eadc-gold, #b09a78);
  outline-offset: 2px;
  border-radius: 2px;
}
/* Inputs with their own focus styling — keep ours subtle so it composes */
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
  outline: 3px solid var(--eadc-gold, #b09a78);
  outline-offset: 1px;
}
/* Buttons get a stronger ring */
button:focus-visible,
a.eadc-btn-dark:focus-visible,
a.eadc-btn-outline:focus-visible,
a.eadc-cert-download:focus-visible {
  outline: 3px solid var(--eadc-gold, #b09a78);
  outline-offset: 3px;
}

/* Skip-to-content link — visually hidden until focused via Tab, then jumps
   into the top of the viewport so keyboard users can skip the nav. */
.skip-link,
.eadc-skip-link {
  position: absolute;
  left: -9999px;
  top: 8px;
  background: var(--eadc-ink, #18120D);
  color: #fff !important;
  padding: 12px 20px;
  border-radius: 4px;
  text-decoration: none !important;
  font-size: 14px;
  font-weight: 500;
  z-index: 10000;
  letter-spacing: 0.04em;
}
.skip-link:focus,
.eadc-skip-link:focus,
.skip-link:focus-visible,
.eadc-skip-link:focus-visible {
  left: 16px;
}

/* Screen-reader only utility — visually hidden but available to assistive tech */
.eadc-sr-only,
.screen-reader-text {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Reduce motion support — disable animations for users who request it */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}


/* ═══════════════════════════════════════════════════════════════════════════
 * 404 — branded recovery page
 * ═══════════════════════════════════════════════════════════════════════════ */
.eadc-404-page {
  max-width: 1200px;
  margin: 0 auto;
  padding: 56px 32px 96px;
}
.eadc-404-head {
  text-align: center;
  border-bottom: 1px solid var(--eadc-line, #E6DFD3);
  padding-bottom: 40px;
  margin-bottom: 40px;
}
.eadc-404-eyebrow {
  font-family: 'JetBrains Mono', 'SFMono-Regular', monospace;
  font-size: 11px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--eadc-gold, #b09a78);
  margin: 0 0 14px;
}
.eadc-404-title {
  font-family: var(--eadc-serif, 'Cormorant Garamond', Georgia, serif);
  font-size: clamp(34px, 5vw, 56px);
  font-weight: 500;
  letter-spacing: -0.015em;
  color: var(--eadc-ink, #18120D);
  line-height: 1.1;
  margin: 0 0 18px;
}
.eadc-404-copy {
  max-width: 580px;
  margin: 0 auto 30px;
  font-size: 15px;
  line-height: 1.65;
  color: var(--eadc-ink-soft, #4a4138);
}

.eadc-404-search {
  display: flex;
  max-width: 540px;
  margin: 0 auto;
  background: #fff;
  border: 1px solid var(--eadc-line, #E6DFD3);
  border-radius: 999px;
  overflow: hidden;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.eadc-404-search:focus-within {
  border-color: var(--eadc-gold, #b09a78);
  box-shadow: 0 0 0 3px rgba(176,154,120,0.15);
}
.eadc-404-search input[type="search"] {
  flex: 1;
  border: 0;
  background: transparent;
  padding: 14px 22px;
  font-size: 15px;
  font-family: var(--eadc-sans, 'Inter', sans-serif);
  color: var(--eadc-ink, #18120D);
  outline: none;
}
.eadc-404-search button {
  background: var(--eadc-ink, #18120D);
  border: 0;
  color: #fff;
  width: 52px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background .2s ease;
}
.eadc-404-search button:hover { background: var(--eadc-gold, #b09a78); }

.eadc-404-jumps {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 12px;
  margin: 0 0 56px;
}
.eadc-404-jump {
  display: block;
  padding: 18px 16px;
  background: var(--eadc-cream, #FBF8F3);
  border: 1px solid var(--eadc-line, #E6DFD3);
  text-decoration: none !important;
  color: var(--eadc-ink, #18120D);
  text-align: center;
  transition: border-color .15s, background .15s, transform .15s;
}
.eadc-404-jump:hover {
  border-color: var(--eadc-gold, #b09a78);
  background: #fff;
  transform: translateY(-2px);
}
.eadc-404-jump-label {
  display: block;
  font-family: var(--eadc-serif, 'Cormorant Garamond', Georgia, serif);
  font-size: 18px;
  font-weight: 500;
  margin-bottom: 4px;
}
.eadc-404-jump-desc {
  display: block;
  font-size: 11px;
  letter-spacing: 0.06em;
  color: var(--eadc-ink-soft, #6b5e51);
  text-transform: uppercase;
}

.eadc-404-suggest {
  margin-top: 8px;
}
.eadc-404-suggest-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  border-bottom: 1px solid var(--eadc-line, #E6DFD3);
  padding-bottom: 12px;
  margin-bottom: 24px;
}
.eadc-404-suggest-title {
  font-family: var(--eadc-serif, 'Cormorant Garamond', Georgia, serif);
  font-size: 26px;
  font-weight: 500;
  letter-spacing: -0.005em;
  color: var(--eadc-ink, #18120D);
  margin: 0;
}
.eadc-404-suggest-more {
  font-size: 12px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--eadc-ink-soft, #6b5e51);
  text-decoration: none !important;
  border-bottom: 1px solid transparent;
  transition: color .15s, border-color .15s;
  padding-bottom: 1px;
}
.eadc-404-suggest-more:hover {
  color: var(--eadc-ink, #18120D);
  border-bottom-color: var(--eadc-gold, #b09a78);
}

.eadc-404-suggest-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.eadc-404-card {
  display: block;
  text-decoration: none !important;
  color: var(--eadc-ink, #18120D);
  transition: transform .2s ease;
}
.eadc-404-card:hover { transform: translateY(-2px); }
.eadc-404-card-img {
  position: relative;
  background: #fff;
  border: 1px solid var(--eadc-line, #E6DFD3);
  aspect-ratio: 1 / 1;
  overflow: hidden;
  margin-bottom: 12px;
}
.eadc-404-card-img img {
  width: 100%; height: 100%;
  object-fit: cover; display: block;
}
.eadc-404-card-artist {
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--eadc-gold, #b09a78);
  text-align: center;
  margin-bottom: 4px;
}
.eadc-404-card-name {
  font-family: 'Playfair Display', 'Cormorant Garamond', Georgia, serif;
  font-size: 18px;
  font-weight: 500;
  text-align: center;
  line-height: 1.25;
  letter-spacing: -0.005em;
}

@media (max-width: 900px) {
  .eadc-404-jumps { grid-template-columns: repeat(2, 1fr); }
  .eadc-404-suggest-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
}
@media (max-width: 480px) {
  .eadc-404-page { padding: 36px 18px 56px; }
  .eadc-404-jumps { grid-template-columns: 1fr; }
  .eadc-404-suggest-grid { grid-template-columns: 1fr; }
  .eadc-404-suggest-head { flex-direction: column; align-items: flex-start; gap: 6px; }
}


/* ═══════════════════════════════════════════════════════════════════════════
 * CATALOGS SECTION — /catalogs/ page
 * ═══════════════════════════════════════════════════════════════════════════
 * Differentiated from regular product cards: each cover has a faux book-spine
 * gradient on its left edge plus a deep drop-shadow that suggests a real
 * printed publication, not a shippable artwork. Title sits below in serif.
 * ═══════════════════════════════════════════════════════════════════════════ */
.eadc-catalogs-page {
  max-width: 1280px;
  margin: 0 auto;
  padding: 24px 32px 96px;
}
.eadc-breadcrumb--cat { margin-bottom: 32px; }

.eadc-catalogs-head {
  text-align: center;
  border-bottom: 1px solid var(--eadc-line, #E6DFD3);
  padding-bottom: 36px;
  margin-bottom: 56px;
}
.eadc-catalogs-eyebrow {
  font-family: var(--eadc-sans, 'Inter', sans-serif);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--eadc-gold, #b09a78);
  margin: 0 0 14px;
}
.eadc-catalogs-title {
  font-family: 'Playfair Display', 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(36px, 5vw, 56px);
  font-weight: 500;
  letter-spacing: -0.015em;
  color: var(--eadc-ink, #18120D);
  line-height: 1.1;
  margin: 0 0 18px;
}
.eadc-catalogs-intro {
  max-width: 620px;
  margin: 0 auto;
  font-size: 16px;
  line-height: 1.6;
  color: var(--eadc-ink-soft, #4a4138);
}

.eadc-catalogs-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 56px 40px;
}

.eadc-catalog-card {
  display: flex;
  flex-direction: column;
}
.eadc-catalog-card.is-sold .eadc-catalog-cover-inner img { opacity: 0.6; filter: grayscale(0.4); }

.eadc-catalog-cover {
  display: block;
  text-decoration: none !important;
  position: relative;
  /* The book lift — main shadow + a hint underneath simulating ground */
  filter: drop-shadow(0 18px 28px rgba(24,18,13,0.22)) drop-shadow(0 4px 8px rgba(24,18,13,0.18));
  margin-bottom: 22px;
  transition: transform .35s ease;
}
.eadc-catalog-cover:hover { transform: translateY(-4px); }

.eadc-catalog-cover-inner {
  position: relative;
  display: block;
  background: #fff;
  overflow: hidden;
}
.eadc-catalog-cover-inner img {
  display: block;
  width: 100%;
  height: auto;
  transition: transform .5s ease;
}
.eadc-catalog-cover:hover .eadc-catalog-cover-inner img { transform: scale(1.015); }

/* Faux book-spine — vertical gradient on the left edge of the cover */
.eadc-catalog-spine {
  position: absolute;
  top: 0; bottom: 0; left: 0;
  width: 12px;
  background:
    linear-gradient(to right,
      rgba(0,0,0,0.42) 0%,
      rgba(0,0,0,0.18) 35%,
      rgba(0,0,0,0.05) 70%,
      transparent 100%);
  pointer-events: none;
}
/* And a subtle highlight on the right edge (page-side) */
.eadc-catalog-cover-inner::after {
  content: "";
  position: absolute;
  top: 0; right: 0; bottom: 0;
  width: 4px;
  background: linear-gradient(to left, rgba(0,0,0,0.08), transparent);
  pointer-events: none;
}

.eadc-catalog-status {
  position: absolute;
  top: 14px; right: 14px;
  background: var(--eadc-ink, #18120D);
  color: #fff;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  padding: 5px 10px;
  border-radius: 999px;
  z-index: 2;
}

.eadc-catalog-meta {
  display: flex;
  flex-direction: column;
  flex: 1;
}
.eadc-catalog-eyebrow {
  font-family: var(--eadc-sans, 'Inter', sans-serif);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--eadc-gold, #b09a78);
  margin: 0 0 6px;
}
.eadc-catalog-name {
  font-family: 'Playfair Display', 'Cormorant Garamond', Georgia, serif;
  font-size: 22px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -0.005em;
  margin: 0 0 6px;
}
.eadc-catalog-name a {
  color: var(--eadc-ink, #18120D);
  text-decoration: none !important;
  transition: color .15s;
}
.eadc-catalog-name a:hover { color: var(--eadc-gold, #b09a78); }
.eadc-catalog-artist {
  font-size: 13px;
  color: var(--eadc-ink-soft, #6b5e51);
  margin: 0 0 4px;
  letter-spacing: 0.005em;
}
.eadc-catalog-detail {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  color: var(--eadc-ink-soft, #6b5e51);
  margin: 0 0 16px;
  letter-spacing: 0.02em;
}

.eadc-catalog-foot {
  margin-top: auto;
  padding-top: 14px;
  border-top: 1px dashed var(--eadc-line, #E6DFD3);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}
.eadc-catalog-price {
  font-family: 'JetBrains Mono', monospace;
  font-size: 16px;
  font-weight: 600;
  color: var(--eadc-ink, #18120D);
  letter-spacing: 0;
}
.eadc-catalog-price .woocommerce-Price-amount { color: inherit; }
.eadc-catalog-cta {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: var(--eadc-ink, #18120D);
  color: #fff !important;
  text-decoration: none !important;
  padding: 10px 18px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border: 1px solid var(--eadc-ink, #18120D);
  transition: background .2s, color .2s, transform .15s;
}
.eadc-catalog-cta:hover {
  background: transparent;
  color: var(--eadc-ink, #18120D) !important;
  transform: translateY(-1px);
}
.eadc-catalog-sold {
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--eadc-ink-soft, #6b5e51);
}

.eadc-catalogs-empty {
  text-align: center;
  padding: 64px 24px;
  background: var(--eadc-cream, #FBF8F3);
  border: 1px solid var(--eadc-line, #E6DFD3);
}
.eadc-catalogs-empty p {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 18px;
  font-style: italic;
  color: var(--eadc-ink-soft, #4a4138);
  margin: 0;
}

.eadc-catalogs-cta {
  margin-top: 80px;
  padding: 36px 32px;
  background: var(--eadc-cream, #FBF8F3);
  border-left: 3px solid var(--eadc-gold, #b09a78);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
}
.eadc-catalogs-cta-text {
  flex: 1;
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 18px;
  font-style: italic;
  color: var(--eadc-ink, #18120D);
  margin: 0;
  min-width: 280px;
}

@media (max-width: 900px) {
  .eadc-catalogs-grid { grid-template-columns: repeat(2, 1fr); gap: 40px 28px; }
}
@media (max-width: 600px) {
  .eadc-catalogs-page { padding: 20px 18px 64px; }
  .eadc-catalogs-head { padding-bottom: 24px; margin-bottom: 36px; }
  .eadc-catalogs-grid { grid-template-columns: 1fr; gap: 36px; }
  .eadc-catalog-name { font-size: 20px; }
  .eadc-catalogs-cta { padding: 26px 22px; flex-direction: column; align-items: stretch; }
}


/* ═══════════════════════════════════════════════════════════════════════════
 * MOBILE COMPREHENSIVE PASS
 * ═══════════════════════════════════════════════════════════════════════════
 * Goes after every other rule so it wins specificity ties and serves as the
 * single source of truth for ≤900 / ≤600 / ≤480 / ≤375 phone behaviour.
 * ═══════════════════════════════════════════════════════════════════════════ */

/* No element ever causes horizontal scroll — common cause of "sticky scroll"
   on mobile when something escapes the viewport (wide image, table, iframe). */
html, body { overflow-x: hidden; max-width: 100vw; }
img, video, iframe, svg { max-width: 100%; height: auto; }

/* ── ≤900px (tablet portrait) ──────────────────────────────────────────── */
@media (max-width: 900px) {
  /* Header: collapse padding, allow nav burger to take over */
  .eadc-site-header .eadc-header-inner {
    padding: 14px 18px !important;
    gap: 12px !important;
  }
  .eadc-site-header .eadc-header-right { gap: 16px; }

  /* Featured artists grid → 2 columns */
  .eadc-home-artists-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 18px; }

  /* Static intro padding */
  .eadc-home-intro { padding: 56px 22px !important; }
}

/* ── ≤600px (large phone) ──────────────────────────────────────────────── */
@media (max-width: 600px) {

  /* Container padding: tighten everywhere */
  .eadc-product-page,
  .eadc-static-page,
  .eadc-search-page,
  .eadc-wishlist-page,
  .eadc-404-page,
  .eadc-contact-inner,
  .eadc-single-product .eadc-sp-inner {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  /* === HOME ============================================================ */
  .eadc-home-intro { padding: 40px 20px 16px !important; border-bottom: 0 !important; }
  h1.eadc-home-intro-copy { font-size: 40px !important; line-height: 1.05 !important; margin-bottom: 18px !important; }
  h2.eadc-home-intro-subhead { font-size: 17px !important; line-height: 1.45 !important; }

  /* Featured artists 2-col phone */
  .eadc-home-artists-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 14px !important;
  }

  /* === HERO ============================================================ */
  .eadc-hero { height: 78vh !important; min-height: 580px; max-height: 760px; }
  /* Text top-left, large + readable */
  .eadc-hero-text {
    padding: 30px 22px 0 !important;
    max-width: 100%;
    top: 0 !important;
    bottom: auto !important;
    transform: none !important;
    text-align: left;
  }
  .eadc-hero-text .eadc-hero-eyebrow {
    font-size: 11px !important;
    letter-spacing: 0.22em !important;
    margin-bottom: 14px !important;
    color: #f5e9d3 !important;
  }
  .eadc-hero-text .eadc-hero-artist {
    font-size: 44px !important;
    line-height: 0.95 !important;
    margin-bottom: 14px !important;
    color: #fff !important;
    text-shadow: 0 2px 12px rgba(0,0,0,0.35);
  }
  .eadc-hero-text .eadc-hero-work {
    font-size: 16px !important;
    margin-bottom: 14px !important;
    color: #fff !important;
    text-shadow: 0 1px 6px rgba(0,0,0,0.4);
  }
  .eadc-hero-text .eadc-hero-brief { display: none; }
  .eadc-hero-text .eadc-hero-detail {
    font-size: 12px !important;
    margin-bottom: 22px !important;
    color: rgba(255,255,255,0.85) !important;
  }
  .eadc-hero-text .eadc-hero-cta {
    padding: 13px 26px !important;
    font-size: 11px !important;
    background: rgba(0,0,0,0.4) !important;
    border-color: rgba(255,255,255,0.6) !important;
  }
  /* Strong gradient — top + left so the top-left text reads on bright images */
  .eadc-hero-text-shade {
    background:
      linear-gradient(to bottom, rgba(0,0,0,0.6) 0%, rgba(0,0,0,0.25) 35%, transparent 60%),
      linear-gradient(to right,  rgba(0,0,0,0.55) 0%, rgba(0,0,0,0.15) 50%, transparent 80%) !important;
  }
  .eadc-hero-arrow { width: 36px !important; height: 36px !important; font-size: 18px !important; }
  .eadc-hero-arrow--prev { left: 8px !important; }
  .eadc-hero-arrow--next { right: 8px !important; }
  .eadc-hero-controls { right: 16px; bottom: 16px; gap: 10px; }
  .eadc-hero-counter { display: none; }
  /* Book — small, bottom-right (text is top-left so they don't overlap) */
  .eadc-hero-book {
    display: block !important;
    right: 4% !important;
    bottom: 5% !important;
    height: 32% !important;
    transform: none !important;
    z-index: 5;
  }

  /* === SHOP ARCHIVE GRID =============================================== */
  /* Make WC product cards readable on phone — tighter, 2 cols, smaller titles */
  .woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-size: 15px !important;
    line-height: 1.2 !important;
  }
  .woocommerce ul.products li.product .eadc-card-artist {
    font-size: 9px !important;
    letter-spacing: 0.14em !important;
    margin-bottom: 4px !important;
  }
  .woocommerce ul.products li.product .price {
    font-size: 13px !important;
  }
  .woocommerce ul.products li.product .eadc-card-meta { font-size: 11px !important; }
  /* "Request information" CTA on archive cards — full width pill */
  .woocommerce ul.products li.product .eadc-loop-cta {
    width: 100% !important;
    padding: 10px 12px !important;
    font-size: 11px !important;
    letter-spacing: 0.06em !important;
  }
  /* Original/favorite seals: scale down so they don't dominate small thumbs */
  .eadc-orig-seal--sm { width: 36px !important; height: 36px !important; bottom: 8px !important; right: 8px !important; }
  .eadc-orig-seal--sm .eadc-orig-seal-num { font-size: 9px !important; }
  .eadc-orig-seal--sm .eadc-orig-seal-lbl { font-size: 5px !important; letter-spacing: 1px !important; }
  .eadc-fav-seal--sm { width: 44px !important; height: 44px !important; bottom: 8px !important; left: 8px !important; }
  .eadc-fav-seal--sm .eadc-fav-seal-text { font-size: 11px !important; }

  /* === RELATED GRIDS =================================================== */
  .eadc-related-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }
  .eadc-related-name { font-size: 14px !important; margin-top: 6px !important; }
  .eadc-related-detail { font-size: 11px !important; }
  .eadc-related-title {
    font-size: 24px !important;
    margin-bottom: 18px !important;
    letter-spacing: -0.012em !important;
    text-transform: none !important;
  }

  /* === SINGLE PRODUCT ================================================== */
  .eadc-product-layout { gap: 24px !important; }
  .eadc-product-title { font-size: 26px !important; margin: 8px 0 18px !important; }
  /* CTA row vertical on phone */
  .eadc-cta-row { flex-direction: column !important; gap: 8px !important; }
  .eadc-cta-row > a, .eadc-cta-row > button, .eadc-cta-row .eadc-buy-wrap { width: 100%; text-align: center; }
  .eadc-buy-wrap .button, .eadc-buy-wrap .single_add_to_cart_button { width: 100% !important; }
  /* Native Woo qty + add-to-cart row breaks ugly on phone */
  .eadc-buy-wrap form.cart {
    display: flex; flex-direction: column; gap: 10px;
  }
  .eadc-buy-wrap form.cart .quantity input.qty { width: 100% !important; max-width: none; }
  .eadc-btn-private {
    width: 100%;
    text-align: center;
    margin-top: 8px;
  }
  /* Share row keeps horizontal but allows wrap */
  .eadc-share { gap: 10px !important; flex-wrap: wrap; }
  .eadc-share-icons { gap: 6px; }

  /* === CART (Woo) ====================================================== */
  /* Convert the shop_table from horizontal table to stacked cards */
  .woocommerce-cart .shop_table thead { display: none; }
  .woocommerce-cart .shop_table tbody tr.cart_item {
    display: grid;
    grid-template-columns: 80px 1fr;
    gap: 8px 14px;
    padding: 16px 12px;
    border: 1px solid var(--eadc-line, #E6DFD3);
    background: #fff;
    margin-bottom: 12px;
  }
  .woocommerce-cart .shop_table tr.cart_item td {
    display: block;
    border: 0;
    padding: 0;
  }
  .woocommerce-cart .shop_table .product-remove {
    grid-column: 2;
    grid-row: 4;
    text-align: right;
  }
  .woocommerce-cart .shop_table .product-thumbnail {
    grid-column: 1; grid-row: 1 / span 4;
  }
  .woocommerce-cart .shop_table .product-thumbnail img {
    width: 80px !important; height: 80px !important;
  }
  .woocommerce-cart .shop_table .product-name  { grid-column: 2; grid-row: 1; }
  .woocommerce-cart .shop_table .product-price { grid-column: 2; grid-row: 2; font-size: 13px; }
  .woocommerce-cart .shop_table .product-price::before { content: 'Price: '; color: var(--eadc-ink-soft); font-size: 11px; }
  .woocommerce-cart .shop_table .product-quantity { grid-column: 2; grid-row: 3; }
  .woocommerce-cart .shop_table .product-subtotal { grid-column: 2; grid-row: 3; text-align: right; }
  .woocommerce-cart .shop_table .product-subtotal::before { display: none; }
  /* Cart actions row */
  .woocommerce-cart .actions .coupon { flex-direction: column; }
  .woocommerce-cart .actions .coupon input.input-text { border-radius: 999px !important; width: 100%; }
  .woocommerce-cart .actions .coupon button { width: 100%; }
  .woocommerce-cart .actions button[name="update_cart"] { width: 100%; margin-top: 8px; }
  .woocommerce-cart .cart_totals .wc-proceed-to-checkout { text-align: stretch; }
  .woocommerce-cart .cart_totals .wc-proceed-to-checkout .checkout-button {
    display: block; width: 100% !important;
  }

  /* === STATIC PAGES ==================================================== */
  .eadc-static-head { padding-bottom: 22px !important; margin-bottom: 26px !important; }
  .eadc-static-title { font-size: 30px !important; margin-bottom: 14px !important; }
  .eadc-static-tagline { font-size: 17px !important; margin-bottom: 16px !important; }
  .eadc-static-intro { font-size: 15px !important; }
  .eadc-static-h { font-size: 20px !important; margin-bottom: 12px !important; }
  .eadc-static-prose { font-size: 14.5px !important; }
  .eadc-static-cta { padding: 22px 18px !important; flex-direction: column; align-items: stretch !important; gap: 14px; }
  .eadc-static-cta-text { font-size: 16px !important; }

  /* === ROSTER PILLS ==================================================== */
  .eadc-static-roster-list a,
  .eadc-static-roster-list span { font-size: 12px !important; padding: 6px 11px !important; }

  /* === CONTACT FORM ==================================================== */
  .eadc-contact-row { grid-template-columns: 1fr !important; gap: 14px !important; }
  .eadc-contact-title { font-size: 30px !important; }
  .eadc-contact-product { flex-direction: column !important; align-items: flex-start !important; }
  .eadc-contact-product-thumb { width: 100% !important; max-height: 220px; overflow: hidden; }
  .eadc-contact-product-thumb img { width: 100%; height: auto; }

  /* === SEARCH ========================================================== */
  .eadc-search-title { font-size: 28px !important; }

  /* === HEADER ICONS =================================================== */
  .eadc-site-header .eadc-header-right a { font-size: 16px; }
  .eadc-cart-count, .eadc-wishlist-count {
    min-width: 16px; height: 16px;
    line-height: 16px; font-size: 9px;
    top: -6px; right: -8px;
  }
}

/* ── ≤480px (small phone) ──────────────────────────────────────────────── */
@media (max-width: 480px) {
  /* Cert panel: ultra-tight */
  .eadc-cert-inner { padding: 18px 16px 16px !important; }
  .eadc-cert-grid { gap: 10px !important; }
  .eadc-cert-v { font-size: 14px !important; }
  .eadc-cert-stamp-num { font-size: 12px !important; }
  .eadc-cert-stamp-lbl { font-size: 8px !important; }
  .eadc-cert-download { padding: 10px 16px !important; font-size: 10.5px !important; }

  /* Footer trust strip */
  .eadc-checkout-trust { padding: 18px 14px; }
  .eadc-checkout-trust-item { font-size: 12px; }

  /* Wishlist counter pill on header */
  .eadc-cta-row a, .eadc-cta-row button { font-size: 12px !important; }
}

/* ── ≤375px (iPhone SE / ultra-narrow) ─────────────────────────────────── */
@media (max-width: 375px) {
  .eadc-site-header .eadc-header-inner { padding: 12px 14px !important; gap: 8px !important; }
  .eadc-site-header .eadc-header-right { gap: 12px; }
  .eadc-site-header .eadc-logo .eadc-logo-text { font-size: 14px; letter-spacing: 0.04em; }

  /* Hero ultra-compact */
  .eadc-hero { min-height: 480px; }
  .eadc-hero-text .eadc-hero-artist { font-size: 22px !important; }
  .eadc-hero-text { padding-top: 26px !important; }
  .eadc-hero-book { height: 32% !important; }

  /* Static page typography */
  .eadc-static-title { font-size: 26px !important; }
}


/* ═══════════════════════════════════════════════════════════════════════════
 * MOBILE NAV PANEL — quick-actions row inside the burger menu
 * ═══════════════════════════════════════════════════════════════════════════
 * The header strips out search/wishlist/contact icons on mobile (only
 * cart-pill + burger remain). Those actions move INTO the burger panel as
 * a horizontal row of icon-text buttons at the bottom. Hidden on desktop.
 */
.eadc-nav-mobile-actions { display: none !important; }

@media (max-width: 900px) {
  .eadc-site-header .eadc-nav-list .eadc-nav-mobile-actions {
    display: flex !important;
    flex-direction: row;
    justify-content: space-between;
    gap: 4px;
    padding: 16px 0 8px !important;
    margin-top: 8px;
    border-top: 1px solid var(--eadc-line, #E6DFD3);
    border-bottom: 0 !important;
  }
  .eadc-site-header .eadc-nav-list .eadc-nav-mobile-actions a {
    flex: 1;
    display: flex !important;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    padding: 10px 6px !important;
    width: auto !important;
    background: var(--eadc-cream, #FBF8F3);
    border-radius: 6px;
    font-size: 11px !important;
    color: var(--eadc-ink, #18120D) !important;
    text-decoration: none !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    font-weight: 500 !important;
    border: 0 !important;
    position: relative;
    line-height: 1.2;
    min-height: 56px;
    justify-content: center !important;
  }
  .eadc-site-header .eadc-nav-list .eadc-nav-mobile-actions a:hover {
    background: var(--eadc-line, #E6DFD3);
  }
  .eadc-site-header .eadc-nav-list .eadc-nav-mobile-actions a > span:first-child {
    font-size: 18px;
    line-height: 1;
  }
  .eadc-site-header .eadc-nav-list .eadc-nav-mobile-actions .eadc-cart-count,
  .eadc-site-header .eadc-nav-list .eadc-nav-mobile-actions .eadc-wishlist-count {
    position: absolute;
    top: 4px;
    right: 6px;
  }

  /* Cleaner mobile menu — compact, scannable */
  .eadc-site-header .eadc-nav-list {
    padding: 4px 22px 12px !important;
    background: #fff !important;
    border-bottom: 1px solid var(--eadc-line, #E6DFD3) !important;
    box-shadow: 0 12px 24px -16px rgba(0,0,0,0.18);
  }
  .eadc-site-header .eadc-nav-list > li {
    border-bottom: 1px solid var(--eadc-line, #E6DFD3) !important;
  }
  .eadc-site-header .eadc-nav-list > li > a {
    font-family: 'Playfair Display', 'Cormorant Garamond', Georgia, serif;
    font-size: 17px !important;
    font-weight: 500 !important;
    letter-spacing: -0.005em !important;
    color: var(--eadc-ink, #18120D) !important;
    padding: 12px 0 !important;
    text-transform: none !important;
    min-height: 44px;
    display: flex !important;
    align-items: center;
    line-height: 1.2 !important;
  }
  .eadc-site-header .eadc-nav-list > li > a:hover {
    color: var(--eadc-gold, #b09a78) !important;
  }
  /* Mega panel — compact: small heading then tight item list */
  .eadc-site-header .eadc-mega {
    padding: 4px 0 8px 8px !important;
    gap: 10px !important;
  }
  .eadc-site-header .eadc-mega-col {
    padding: 0 !important;
  }
  .eadc-site-header .eadc-mega-head {
    font-family: var(--eadc-sans, 'Inter', sans-serif);
    font-size: 9.5px !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase;
    color: var(--eadc-gold, #b09a78);
    margin: 4px 0 2px !important;
    padding: 0 !important;
    line-height: 1 !important;
  }
  .eadc-site-header .eadc-mega-col a {
    padding: 5px 0 !important;
    font-size: 14px !important;
    color: var(--eadc-ink-soft, #4a4138) !important;
    min-height: 0 !important;
    line-height: 1.4 !important;
    display: block !important;
  }
  .eadc-site-header .eadc-mega-col a:hover {
    color: var(--eadc-ink, #18120D) !important;
  }
}


/* ═══════════════════════════════════════════════════════════════════════════
 * MOBILE FINAL POLISH — fixes from real-device screenshot review
 * ═══════════════════════════════════════════════════════════════════════════ */

/* Hero — ensure arrows are visible on dark images (more opaque background) */
@media (max-width: 768px) {
  .eadc-hero-arrow {
    background: rgba(0,0,0,0.55) !important;
    border-color: rgba(255,255,255,0.5) !important;
  }
  /* Make sure dots controls cluster doesn't overlap arrows */
  .eadc-hero-controls { bottom: 18px !important; right: 18px !important; }

  /* Hero text — push it down a bit so it doesn''t hide under header */
  .eadc-hero-text { padding-top: 48px !important; }
  /* Eyebrow more prominent */
  .eadc-hero-text .eadc-hero-eyebrow {
    font-size: 10px !important;
    margin-bottom: 12px !important;
  }
}

/* Touch-target floor: 44px for any interactive element on mobile */
@media (max-width: 900px) {
  a, button, input[type="submit"] {
    min-height: 32px;  /* relaxed for inline links */
  }
  .eadc-btn-dark, .eadc-btn-outline, .eadc-btn-private,
  .eadc-cert-download, .eadc-cert-cta-link, .eadc-catalog-cta,
  .eadc-loop-cta, .checkout-button, #place_order,
  .eadc-share-icon, .eadc-search-icon, .eadc-wl-enquire {
    min-height: 44px !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  /* Nav burger — 44px square hit area */
  .eadc-nav-burger {
    min-width: 44px !important;
    min-height: 44px !important;
    padding: 12px 8px !important;
  }
  .eadc-site-header .eadc-cart-link {
    min-width: 44px !important;
    min-height: 44px !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
  }
}

/* Catalogs page — ensure cards stack cleanly + cover doesn't overflow */
@media (max-width: 600px) {
  .eadc-catalogs-page { padding-bottom: 56px; }
  .eadc-catalogs-grid { gap: 32px !important; }
  .eadc-catalog-name { font-size: 19px !important; }
  .eadc-catalog-foot { gap: 10px; }
}

/* Body anchor offset — when navigating to #content via skip link, give it some
   breathing room so the header doesn't immediately overlap. */
#content {
  scroll-margin-top: 80px;
}

/* Mobile H1/H2 home intro — bumped further per user feedback */
@media (max-width: 600px) {
  .eadc-home-intro h1.eadc-home-intro-copy {
    font-size: 40px !important;
    line-height: 1.02 !important;
    letter-spacing: -0.02em !important;
  }
  .eadc-home-intro h2.eadc-home-intro-subhead {
    font-size: 17px !important;
    line-height: 1.45 !important;
    margin-top: 10px !important;
  }
}
@media (max-width: 380px) {
  .eadc-home-intro h1.eadc-home-intro-copy { font-size: 34px !important; }
  .eadc-home-intro h2.eadc-home-intro-subhead { font-size: 16px !important; }
}


/* ═══════════════════════════════════════════════════════════════════════════
 * MOBILE NAV OVERLAY — backdrop + body lock when burger menu is open
 * ═══════════════════════════════════════════════════════════════════════════ */
body.eadc-nav-locked {
  overflow: hidden !important;
  /* Compensate for scrollbar disappearance to avoid layout shift */
  position: relative;
}
body.eadc-nav-locked::before {
  content: "";
  position: fixed;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0.45) 0%, rgba(0,0,0,0.7) 100%);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
  z-index: 150;
  animation: eadc-fade-in .25s ease both;
  pointer-events: none;
}
@keyframes eadc-fade-in {
  from { opacity: 0; }
  to { opacity: 1; }
}
/* Ensure header sits ABOVE the overlay so the burger stays tappable */
body.eadc-nav-locked .eadc-site-header { z-index: 250 !important; position: relative; }
/* And the open panel itself */
body.eadc-nav-locked .eadc-site-header .eadc-nav-list { z-index: 260; }


/* ═══════════════════════════════════════════════════════════════════════════
 * MOBILE CART — clean stacked card per row (rewritten)
 * ═══════════════════════════════════════════════════════════════════════════
 * Each cart_item row becomes a card. Each cell is a flex row label/value.
 * Suppresses WC's default mobile data-title pseudo-labels so we control them.
 */
@media (max-width: 600px) {
  /* Hide table header on mobile */
  body.woocommerce-cart .shop_table thead { display: none !important; }

  /* Each row = card */
  body.woocommerce-cart .shop_table tbody tr.cart_item {
    display: block !important;
    background: #fff;
    border: 1px solid var(--eadc-line, #E6DFD3);
    border-radius: 4px;
    padding: 14px;
    margin-bottom: 12px;
    position: relative;
  }

  /* Each cell = own row, label-value flex (or block for thumb/name) */
  body.woocommerce-cart .shop_table tbody tr.cart_item td {
    display: flex !important;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 8px 0 !important;
    border: 0 !important;
    width: auto !important;
    text-align: left !important;
  }
  /* Remove any native ::before pseudo-labels WC might inject on mobile */
  body.woocommerce-cart .shop_table tbody tr.cart_item td::before {
    content: none !important;
    display: none !important;
  }

  /* Generated label (we add via CSS pseudo) */
  body.woocommerce-cart .shop_table .product-price::after,
  body.woocommerce-cart .shop_table .product-quantity::after,
  body.woocommerce-cart .shop_table .product-subtotal::after {
    display: none;
  }

  /* Thumbnail centered + bigger */
  body.woocommerce-cart .shop_table .product-thumbnail {
    display: block !important;
    text-align: center;
    border-bottom: 1px solid var(--eadc-line) !important;
    margin-bottom: 6px;
    padding-bottom: 12px !important;
  }
  body.woocommerce-cart .shop_table .product-thumbnail img {
    width: 90px !important; height: 90px !important;
    margin: 0 auto;
    border: 1px solid var(--eadc-line);
  }

  /* Product name — take full width, serif, no label */
  body.woocommerce-cart .shop_table .product-name {
    display: block !important;
    text-align: center !important;
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 17px;
    font-weight: 500;
    padding: 0 0 12px !important;
    border-bottom: 1px dashed var(--eadc-line) !important;
    margin-bottom: 4px;
  }
  body.woocommerce-cart .shop_table .product-name a { text-decoration: none; color: var(--eadc-ink, #18120D); }

  /* Price / Quantity / Subtotal — label + value rows */
  body.woocommerce-cart .shop_table .product-price::before,
  body.woocommerce-cart .shop_table .product-quantity::before,
  body.woocommerce-cart .shop_table .product-subtotal::before {
    content: attr(data-label);
    font-size: 10px !important;
    font-weight: 600 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    color: var(--eadc-ink-soft, #6b5e51) !important;
    display: inline !important;
  }
  /* If WC doesn't supply data-label, we hardcode strings via :before */
  body.woocommerce-cart .shop_table .product-price::before { content: "Price"; }
  body.woocommerce-cart .shop_table .product-quantity::before { content: "Quantity"; }
  body.woocommerce-cart .shop_table .product-subtotal::before { content: "Subtotal"; }

  /* Quantity input — compact aligned right */
  body.woocommerce-cart .shop_table .product-quantity input.qty {
    width: 60px !important;
    padding: 6px 8px !important;
    text-align: center;
  }

  /* Subtotal stand-out */
  body.woocommerce-cart .shop_table .product-subtotal {
    border-top: 1px dashed var(--eadc-line) !important;
    padding-top: 12px !important;
    margin-top: 4px;
  }
  body.woocommerce-cart .shop_table .product-subtotal .amount {
    font-size: 16px;
    font-weight: 600;
  }

  /* Remove (×) button — top-right corner, absolute */
  body.woocommerce-cart .shop_table .product-remove {
    position: absolute;
    top: 8px; right: 8px;
    padding: 0 !important;
  }
  body.woocommerce-cart .shop_table .product-remove a.remove {
    background: transparent !important;
    color: var(--eadc-ink-soft) !important;
    width: auto !important; height: auto !important;
    border: 0 !important;
    font-size: 22px !important;
    line-height: 1 !important;
  }

  /* Cart actions row — coupon stacks, update spans full */
  body.woocommerce-cart .cart .actions { padding: 14px 0 0 !important; border-top: 1px solid var(--eadc-line) !important; }
  body.woocommerce-cart .cart .actions .coupon { display: flex; flex-direction: column; gap: 8px; margin-bottom: 12px; }
  body.woocommerce-cart .cart .actions .coupon input.input-text { width: 100% !important; border-radius: 999px !important; }
  body.woocommerce-cart .cart .actions .coupon button[name="apply_coupon"] { width: 100% !important; }
  body.woocommerce-cart .cart .actions button[name="update_cart"] { width: 100% !important; }

  /* Cart totals — visible, full width */
  body.woocommerce-cart .cart_totals { padding: 22px 18px !important; margin-top: 18px !important; }
  body.woocommerce-cart .cart_totals .wc-proceed-to-checkout .checkout-button {
    width: 100% !important;
    padding: 14px 18px !important;
  }
}


/* ═══════════════════════════════════════════════════════════════════════════
 * FOOTER on WC pages — force colours so items don't blend into the dark bg
 * ═══════════════════════════════════════════════════════════════════════════
 * WooCommerce + Elementor Kit apply broad `a { color: ... }` rules that
 * override the footer's local link colors. On dark-bg pages (cart, checkout,
 * order-received, my-account) this turns footer items invisible. Force every
 * footer text color with the highest specificity we can without going crazy.
 */
body.woocommerce-cart .eadc-site-footer,
body.woocommerce-checkout .eadc-site-footer,
body.woocommerce-account .eadc-site-footer,
body.woocommerce-order-received .eadc-site-footer {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Brand block + tagline + description */
body .eadc-site-footer .eadc-footer-logo {
  color: #fff !important;
}
body .eadc-site-footer .eadc-footer-tagline {
  color: #b09a78 !important;
}
body .eadc-site-footer .eadc-footer-desc,
body .eadc-site-footer p {
  color: #9b8f80 !important;
}

/* Section H4 headers */
body .eadc-site-footer .eadc-footer-col h4 {
  color: #b09a78 !important;
}

/* Column links */
body .eadc-site-footer .eadc-footer-col a,
body .eadc-site-footer .eadc-footer-col a:link,
body .eadc-site-footer .eadc-footer-col a:visited {
  color: #bdb1a2 !important;
  text-decoration: none !important;
}
body .eadc-site-footer .eadc-footer-col a:hover,
body .eadc-site-footer .eadc-footer-col a:focus {
  color: #fff !important;
}

/* Social pill links */
body .eadc-site-footer .eadc-footer-social a,
body .eadc-site-footer .eadc-footer-social a:link,
body .eadc-site-footer .eadc-footer-social a:visited {
  color: #9b8f80 !important;
  background: transparent !important;
  border-color: #2a221b !important;
}
body .eadc-site-footer .eadc-footer-social a:hover {
  color: #0e0a07 !important;
  background: #b09a78 !important;
  border-color: #b09a78 !important;
}

/* Trust strip lines */
body .eadc-site-footer .eadc-footer-trust .eadc-trust-line {
  color: #7a6f60 !important;
}
body .eadc-site-footer .eadc-footer-trust svg {
  color: #b09a78 !important;
}

/* Bottom row */
body .eadc-site-footer .eadc-footer-bottom,
body .eadc-site-footer .eadc-footer-bottom span {
  color: #6a604f !important;
}
body .eadc-site-footer .eadc-footer-bottom a,
body .eadc-site-footer .eadc-footer-bottom a:link,
body .eadc-site-footer .eadc-footer-bottom a:visited {
  color: #9b8f80 !important;
  text-decoration: none !important;
}
body .eadc-site-footer .eadc-footer-bottom a:hover {
  color: #fff !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
 * COOKIE BANNER — GDPR / LSSI consent UI (bottom-fixed)
 * ═══════════════════════════════════════════════════════════════════════════ */
.eadc-cookie-banner {
  position: fixed;
  left: 16px; right: 16px; bottom: 16px;
  z-index: 9999;
  background: #fff;
  border: 1px solid var(--eadc-line, #E6DFD3);
  border-left: 3px solid var(--eadc-gold, #b09a78);
  box-shadow: 0 16px 40px -12px rgba(0,0,0,0.25), 0 4px 12px rgba(0,0,0,0.08);
  padding: 22px 26px 22px 24px;
  max-width: 720px;
  margin: 0 auto;
  font-family: var(--eadc-sans, 'Inter', sans-serif);
  animation: eadc-cookie-rise .4s cubic-bezier(.2,.7,.2,1) both;
}
.eadc-cookie-banner[hidden] { display: none !important; }
@keyframes eadc-cookie-rise {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}
.eadc-cookie-banner-inner {
  display: flex;
  align-items: center;
  gap: 22px;
  position: relative;
}
.eadc-cookie-banner-text { flex: 1 1 auto; min-width: 0; }
.eadc-cookie-banner-title {
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--eadc-gold, #b09a78);
  margin: 0 0 6px;
  line-height: 1;
}
.eadc-cookie-banner-text p {
  margin: 0;
  font-size: 13.5px;
  line-height: 1.5;
  color: var(--eadc-ink-soft, #4a4138);
}
.eadc-cookie-banner-text a {
  color: var(--eadc-ink, #18120D);
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-color: var(--eadc-gold, #b09a78);
  text-decoration-thickness: 1px;
}
.eadc-cookie-banner-actions {
  display: flex;
  gap: 8px;
  flex: 0 0 auto;
}
/* Triple-specificity + !important to defeat Elementor Kit's `button` overrides
   that otherwise paint these as the brand pink/coral colour. */
.eadc-cookie-banner .eadc-cookie-banner-actions .eadc-cookie-btn {
  font-family: var(--eadc-sans, 'Inter', sans-serif) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  padding: 12px 22px !important;
  border-radius: 0 !important;
  border-style: solid !important;
  border-width: 1px !important;
  cursor: pointer !important;
  transition: background .15s ease, color .15s ease, border-color .15s ease !important;
  white-space: nowrap !important;
  min-height: 44px !important;
  line-height: 1 !important;
  text-decoration: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
  background-image: none !important;
}
.eadc-cookie-banner .eadc-cookie-banner-actions .eadc-cookie-btn--reject,
.eadc-cookie-banner .eadc-cookie-banner-actions .eadc-cookie-btn--reject:visited {
  background: transparent !important;
  color: var(--eadc-ink-soft, #6b5e51) !important;
  border-color: var(--eadc-line, #E6DFD3) !important;
}
.eadc-cookie-banner .eadc-cookie-banner-actions .eadc-cookie-btn--reject:hover,
.eadc-cookie-banner .eadc-cookie-banner-actions .eadc-cookie-btn--reject:focus {
  background: transparent !important;
  border-color: var(--eadc-ink, #18120D) !important;
  color: var(--eadc-ink, #18120D) !important;
}
.eadc-cookie-banner .eadc-cookie-banner-actions .eadc-cookie-btn--accept,
.eadc-cookie-banner .eadc-cookie-banner-actions .eadc-cookie-btn--accept:visited {
  background: var(--eadc-ink, #18120D) !important;
  color: #fff !important;
  border-color: var(--eadc-ink, #18120D) !important;
}
.eadc-cookie-banner .eadc-cookie-banner-actions .eadc-cookie-btn--accept:hover,
.eadc-cookie-banner .eadc-cookie-banner-actions .eadc-cookie-btn--accept:focus {
  background: var(--eadc-gold, #b09a78) !important;
  border-color: var(--eadc-gold, #b09a78) !important;
  color: #fff !important;
}
.eadc-cookie-banner-close {
  position: absolute;
  top: -10px; right: -10px;
  width: 28px; height: 28px;
  border-radius: 50%;
  background: var(--eadc-ink, #18120D);
  color: #fff;
  border: 0;
  font-size: 18px;
  line-height: 28px;
  text-align: center;
  cursor: pointer;
  padding: 0;
  display: none; /* hidden on desktop, shown on small screens */
}

/* Footer "Cookie preferences" link — small text-only link bottom-right */
.eadc-cookie-prefs-link {
  position: fixed;
  bottom: 8px; right: 12px;
  font-family: var(--eadc-sans, sans-serif);
  font-size: 10px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(0,0,0,0.4);
  text-decoration: none !important;
  z-index: 50;
  background: rgba(255,255,255,0.85);
  padding: 4px 10px;
  border-radius: 999px;
  backdrop-filter: blur(4px);
}
.eadc-cookie-prefs-link:hover { color: var(--eadc-ink, #18120D); }
/* Hide the prefs link when banner is showing (avoid duplication) */
.eadc-cookie-banner:not([hidden]) ~ .eadc-cookie-prefs-link { display: none; }

@media (max-width: 700px) {
  /* Full-width sheet anchored to the bottom edge — feels like a native iOS
     sheet rather than a free-floating card. */
  .eadc-cookie-banner {
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    margin: 0 !important;
    max-width: none !important;
    padding: 22px 20px 22px !important;
    border: 0 !important;
    border-top: 1px solid var(--eadc-line, #E6DFD3) !important;
    border-radius: 0 !important;
    box-shadow: 0 -10px 30px -8px rgba(0,0,0,0.18) !important;
  }
  .eadc-cookie-banner-inner {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 16px !important;
    padding-right: 0 !important;
  }
  .eadc-cookie-banner-text { padding-right: 36px; } /* leave room for close (×) */
  .eadc-cookie-banner-title {
    font-size: 10px !important;
    margin-bottom: 8px !important;
  }
  .eadc-cookie-banner-text p {
    font-size: 13px !important;
    line-height: 1.55 !important;
  }
  /* Buttons stack: full-width, large touch targets, accept first as primary. */
  .eadc-cookie-banner-actions {
    flex-direction: column-reverse !important;
    gap: 10px !important;
  }
  .eadc-cookie-banner .eadc-cookie-banner-actions .eadc-cookie-btn {
    width: 100% !important;
    flex: none !important;
    padding: 14px 18px !important;
    font-size: 11px !important;
    min-height: 48px !important;
  }
  /* Discrete close pill, top-right corner, NOT the loud coral one. */
  .eadc-cookie-banner-close {
    display: block !important;
    position: absolute !important;
    top: 12px !important;
    right: 12px !important;
    width: 32px !important;
    height: 32px !important;
    line-height: 1 !important;
    font-size: 22px !important;
    background: transparent !important;
    color: var(--eadc-ink-soft, #6b5e51) !important;
    border: 0 !important;
    border-radius: 50% !important;
    padding: 0 !important;
    box-shadow: none !important;
  }
  .eadc-cookie-banner-close:hover,
  .eadc-cookie-banner-close:focus {
    background: rgba(0,0,0,0.04) !important;
    color: var(--eadc-ink, #18120D) !important;
  }
  /* Hide the persistent "Preferencias de cookies" pill on mobile — once the
     user has decided we don't keep nagging on small screens. They can still
     manage preferences from the privacy page. */
  .eadc-cookie-prefs-link { display: none !important; }
}


/* "made by jaime.digital" credit — terminal-style signature.
   Muted on purpose: it's a small attribution, shouldn't compete with the
   gallery's own copy. Left-aligned so it sits at the very edge of the footer. */
body .eadc-site-footer .eadc-footer-credit {
  text-align: left !important;
  border-top-color: rgba(255,255,255,0.06) !important;
}
body .eadc-site-footer .eadc-footer-credit .jd-term,
body .eadc-site-footer .eadc-footer-credit .jd-term:link,
body .eadc-site-footer .eadc-footer-credit .jd-term:visited {
  color: rgba(255,255,255,0.32) !important;
  text-decoration: none !important;
  opacity: 1 !important;
}
body .eadc-site-footer .eadc-footer-credit .jd-term:hover {
  color: rgba(255,255,255,0.55) !important;
}
body .eadc-site-footer .eadc-footer-credit .jd-term .prompt {
  color: rgba(255,255,255,0.28) !important;
}
body .eadc-site-footer .eadc-footer-credit .jd-term strong {
  font-weight: 500 !important;
  color: rgba(255,255,255,0.45) !important;
}
body .eadc-site-footer .eadc-footer-credit .jd-term .cursor {
  background: rgba(255,255,255,0.32) !important;
}


/* ═══════════════════════════════════════════════════════════════════════════
 * LAZY-LOAD ELEGANT REVEAL — artist cards (featured + alphabetical grid)
 * Skeleton shimmer while loading, blur-up fade-in once the image arrives.
 * Works with browser-native loading="lazy" — no extra JS for the deferral,
 * just for the reveal class once each <img> finishes loading.
 * ═══════════════════════════════════════════════════════════════════════════ */
.eadc-artist-card-thumb,
.eadc-artist-featured-thumb {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, #f4ede1 0%, #faf6ec 25%, #f4ede1 50%, #faf6ec 75%, #f4ede1 100%);
  background-size: 220% 220%;
  animation: eadc-skel-shimmer 2.6s ease-in-out infinite;
}
.eadc-artist-card-thumb img,
.eadc-artist-featured-thumb img {
  opacity: 0;
  filter: blur(10px);
  transform: scale(1.04);
  transition: opacity .55s ease, filter .65s ease, transform .65s ease;
  will-change: opacity, filter, transform;
}
.eadc-artist-card-thumb img.is-loaded,
.eadc-artist-featured-thumb img.is-loaded {
  opacity: 1;
  filter: blur(0);
  transform: scale(1);
}
/* Once any child img has loaded, freeze the shimmer so it stops animating. */
.eadc-artist-card-thumb:has(img.is-loaded),
.eadc-artist-featured-thumb:has(img.is-loaded) {
  background: var(--eadc-gray-100, #f4ede1);
  animation: none;
}
@keyframes eadc-skel-shimmer {
  0%   { background-position: 0% 0%; }
  50%  { background-position: 100% 100%; }
  100% { background-position: 0% 0%; }
}
@media (prefers-reduced-motion: reduce) {
  .eadc-artist-card-thumb,
  .eadc-artist-featured-thumb { animation: none; }
  .eadc-artist-card-thumb img,
  .eadc-artist-featured-thumb img {
    filter: none;
    transform: none;
    transition: opacity .25s ease;
  }
}

/* Same lazy-reveal for WooCommerce product cards (shop, category archives,
   tag archives, on-sale, as-of-hearts, etc — they all share this loop).
   No transform on the reveal here: the cards already use a `:hover scale(1.02)`
   and we don't want the two transforms fighting during a slow load. */
.woocommerce ul.products li.product .eadc-card-image-wrap {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, #f4ede1 0%, #faf6ec 25%, #f4ede1 50%, #faf6ec 75%, #f4ede1 100%);
  background-size: 220% 220%;
  animation: eadc-skel-shimmer 2.6s ease-in-out infinite;
}
.woocommerce ul.products li.product .eadc-card-image-wrap img {
  opacity: 0;
  filter: blur(10px);
  transition: opacity .55s ease, filter .65s ease;
  will-change: opacity, filter;
}
.woocommerce ul.products li.product .eadc-card-image-wrap img.is-loaded {
  opacity: 1;
  filter: blur(0);
}
/* Stop the shimmer once the image has rendered. */
.woocommerce ul.products li.product .eadc-card-image-wrap:has(img.is-loaded) {
  background: var(--eadc-gray-100, #f4ede1);
  animation: none;
}
@media (prefers-reduced-motion: reduce) {
  .woocommerce ul.products li.product .eadc-card-image-wrap { animation: none; }
  .woocommerce ul.products li.product .eadc-card-image-wrap img {
    filter: none;
    transition: opacity .2s ease;
  }
}


/* ═══════════════════════════════════════════════════════════════════════════
 * MOBILE FORCE-TIGHTEN — burger menu, footer, intro→section gap
 * ═══════════════════════════════════════════════════════════════════════════
 * Several elements (footer columns, burger menu items, home intro) had way
 * too much vertical breathing room on mobile because of inherited line-heights
 * and inline kit styles. These rules use high specificity + !important to
 * win against everything else.
 */
@media (max-width: 900px) {

  /* Burger BUTTON — center the 3 lines vertically inside the 44px button.
     Original spans were positioned top:2/9/16 (designed for a 20px-tall
     button). On 44px button they sat at the top — visually unbalanced. */
  body .eadc-site-header .eadc-nav-burger {
    padding: 0 8px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    width: 44px !important;
    height: 44px !important;
    box-sizing: border-box;
  }
  body .eadc-site-header .eadc-nav-burger span:nth-child(1) { top: 14px !important; }
  body .eadc-site-header .eadc-nav-burger span:nth-child(2) { top: 21px !important; }
  body .eadc-site-header .eadc-nav-burger span:nth-child(3) { top: 28px !important; }
  body .eadc-site-header .eadc-nav-burger[aria-expanded="true"] span:nth-child(1) { top: 21px !important; transform: rotate(45deg); }
  body .eadc-site-header .eadc-nav-burger[aria-expanded="true"] span:nth-child(3) { top: 21px !important; transform: rotate(-45deg); }

  /* Burger menu — generous spacing on top-level items */
  body .eadc-site-header .eadc-nav-list > li > a {
    padding: 22px 0 !important;
    min-height: 64px !important;
    font-size: 19px !important;
    line-height: 1.15 !important;
  }
  /* Shopping mega submenu — collapsed by default, expands on tap.
     `max-height` transition reveals the cream-bg panel with 3 sections. */
  body .eadc-site-header .eadc-mega {
    display: block !important;
    max-height: 0 !important;
    overflow: hidden !important;
    transition: max-height .3s ease !important;
    margin: 0 -22px !important;
    padding: 0 22px !important;
    background: var(--eadc-cream, #FBF8F3) !important;
  }
  body .eadc-site-header .eadc-nav-has-mega.is-open .eadc-mega {
    max-height: 1500px !important;
    padding: 12px 22px 18px !important;
  }
  body .eadc-site-header .eadc-mega-col {
    margin: 0 !important;
    padding: 14px 0 !important;
    border-bottom: 1px solid var(--eadc-line, #E6DFD3);
  }
  body .eadc-site-header .eadc-mega-col:last-child {
    border-bottom: 0;
    padding-bottom: 4px !important;
  }
  body .eadc-site-header .eadc-mega-head {
    margin: 0 0 8px !important;
    padding: 0 !important;
    line-height: 1 !important;
    font-size: 10px !important;
    letter-spacing: 0.22em !important;
    color: var(--eadc-gold, #b09a78) !important;
    font-weight: 700 !important;
  }
  body .eadc-site-header .eadc-mega-col a {
    padding: 12px 4px !important;
    margin: 0 !important;
    font-size: 15px !important;
    line-height: 1.3 !important;
    min-height: 44px !important;
    display: flex !important;
    align-items: center;
    color: var(--eadc-ink-soft, #4a4138) !important;
    border-radius: 4px;
  }
  body .eadc-site-header .eadc-mega-col a:hover,
  body .eadc-site-header .eadc-mega-col a:focus {
    color: var(--eadc-ink, #18120D) !important;
    background: rgba(176,154,120,0.08);
  }

  /* Footer — controlled, predictable spacing on mobile.
     The col--help had display:grid 2-col from the 1100px breakpoint inline
     style, never reset for narrow screens — that's why items showed with
     huge implicit row gaps. Force back to block layout. */
  body .eadc-site-footer .eadc-footer-col,
  body .eadc-site-footer .eadc-footer-col--help {
    display: block !important;
    grid-column: auto !important;
    grid-template-columns: none !important;
    margin-bottom: 0 !important;
  }
  body .eadc-site-footer .eadc-footer-col a {
    margin: 0 !important;
    padding: 10px 0 !important;
    font-size: 14px !important;
    line-height: 1.3 !important;
    min-height: 0 !important;
    display: block !important;
    border-bottom: 1px solid rgba(255,255,255,0.04);
  }
  body .eadc-site-footer .eadc-footer-col a:last-of-type {
    border-bottom: 0;
  }
  body .eadc-site-footer .eadc-footer-col h4 {
    margin: 28px 0 4px !important;
    padding-bottom: 10px !important;
    font-size: 10px !important;
    line-height: 1 !important;
    border-bottom: 1px solid rgba(255,255,255,0.08) !important;
  }
  body .eadc-site-footer .eadc-footer-grid > .eadc-footer-col:first-child h4 {
    margin-top: 8px !important;
  }
  body .eadc-site-footer {
    padding: 40px 22px 24px !important;
  }
  body .eadc-site-footer .eadc-footer-grid {
    display: block !important;
    grid-template-columns: none !important;
    gap: 0 !important;
    margin-bottom: 24px !important;
  }
  body .eadc-site-footer .eadc-footer-trust {
    margin-top: 16px !important;
    padding-top: 14px !important;
    border-top: 1px dashed rgba(255,255,255,0.1) !important;
  }
  body .eadc-site-footer .eadc-footer-trust .eadc-trust-line {
    margin-bottom: 6px !important;
    font-size: 11px !important;
    line-height: 1.4 !important;
  }
  body .eadc-site-footer .eadc-footer-bottom {
    padding-top: 18px !important;
    flex-direction: column;
    gap: 12px;
    text-align: center;
  }
}
