/*
Theme Name:   Haida
Theme URI:    https://haidahome.pl
Description:  Haida Soy Candles — custom WooCommerce shop theme
Author:       Haida
Version:      1.0.1
Text Domain:  haida
Requires at least: 6.4
Requires PHP: 8.0
*/

/* ─────────────────────────────────────────
   Veleka — self-hosted font
───────────────────────────────────────── */
@font-face {
  font-family: 'Veleka';
  src: url('assets/fonts/Veleka-Regular.otf') format('opentype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Veleka';
  src: url('assets/fonts/Veleka-Italic.otf') format('opentype');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Veleka';
  src: url('assets/fonts/Veleka-Bold.otf') format('opentype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Veleka';
  src: url('assets/fonts/Veleka-BoldItalic.otf') format('opentype');
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

/* Logo brand fonts (from haida logo.pdf): Yeseva One + Montserrat */
@font-face {
  font-family: 'Yeseva One';
  src: url('assets/fonts/YesevaOne-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Montserrat';
  src: url('assets/fonts/Montserrat-Variable.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Playfair Display';
  src: url('assets/fonts/PlayfairDisplay-Variable.ttf') format('truetype');
  font-weight: 400 900;
  font-style: normal;
  font-display: swap;
}

/* ─────────────────────────────────────────
   Variables
───────────────────────────────────────── */
:root {
  --hd-ch:     #2C1810;
  --hd-gold:   #C8913A;
  --hd-gold-d: #A87830;
  --hd-gold-l: #E8C080;
  --hd-cream:  #FAF7F2;
  --hd-beige:  #F0E4CC;
  --hd-mid:    #E2CDA8;
  --hd-text:   #3A2416;
  --hd-muted:  #8A7060;
  --hd-line:   #EAE0D0;
  /* Font families */
  --hd-font-display: 'Yeseva One', serif;
  --hd-font-body:    'Yeseva One', serif;
  --hd-font-veleka:  'Yeseva One', serif;
}

body {
  background: var(--hd-cream);
  color: var(--hd-text);
  font-family: 'Yeseva One', serif;
  font-weight: 300;
  font-size: 18px;
  line-height: 1.6;
}

/* ─────────────────────────────────────────
   Announcement bar
───────────────────────────────────────── */
.hd-bar {
  background: #fff;
  color: #1a1a1a;
  text-align: center;
  padding: 9px 16px;
  font-family: 'Playfair Display', serif;
  font-size: 14px;
  letter-spacing: .04em;
  line-height: 1.5;
  border-bottom: 1px solid rgba(0,0,0,.08);
}
.hd-bar strong,
.hd-bar span  { color: #1a1a1a; font-weight: 600; }

/* ─────────────────────────────────────────
   Category header
───────────────────────────────────────── */
.hd-cat-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
  padding: 52px 48px 32px;
  border-bottom: 1px solid var(--hd-line);
  background: var(--hd-cream);
}
.hd-breadcrumb {
  font-size: 11px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--hd-muted);
  margin-bottom: 12px;
}
.hd-breadcrumb a { color: var(--hd-muted); text-decoration: none; transition: color .2s; }
.hd-breadcrumb a:hover { color: var(--hd-gold); }
.hd-cat-title {
  font-family: 'Yeseva One', serif;
  font-size: clamp(2rem, 4.5vw, 3.2rem);
  font-weight: 300;
  line-height: 1.05;
  color: var(--hd-ch);
  margin: 0;
}
.hd-cat-title em { font-style: italic; color: var(--hd-gold); }
.hd-cat-count {
  font-size: 12px;
  color: var(--hd-muted);
  margin-top: 10px;
  letter-spacing: .1em;
}
.hd-cat-right {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

/* Filter pills */
.hd-filter-pills-wrap { display: grid; gap: 7px; }
.hd-filter-pills { display: flex; gap: 7px; flex-wrap: wrap; }
.hd-filter-pills--sub { padding-top: 2px; }
.hd-pill {
  display: inline-block;
  padding: 6px 16px;
  border: 1px solid var(--hd-line);
  background: transparent;
  font-family: 'Forum', serif;
  font-size: 10.5px;
  letter-spacing: .16em;
  text-transform: uppercase;
  cursor: pointer;
  color: var(--hd-muted);
  text-decoration: none;
  transition: all .2s;
  white-space: nowrap;
  line-height: 1.4;
}
.hd-pill:hover, .hd-pill.is-active {
  background: var(--hd-ch);
  border-color: var(--hd-ch);
  color: var(--hd-cream);
}

.hd-pill--scope {
  border-style: dashed;
}

/* WooCommerce ordering (sort select) — higher specificity to beat WC default */
.woocommerce .woocommerce-ordering,
.woocommerce-ordering { margin: 0; }
.woocommerce-ordering select {
  padding: 6px 32px 6px 12px;
  height: 30px;
  box-sizing: border-box;
  border: 1px solid var(--hd-line);
  background: var(--hd-cream);
  color: var(--hd-text);
  font-family: 'Forum', serif;
  font-size: 11px;
  line-height: 1;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%238A7060'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 10px center;
  outline: none;
  letter-spacing: .08em;
  vertical-align: middle;
}
.woocommerce-ordering select:focus { border-color: var(--hd-gold); }

/* View toggle */
.hd-view-toggle { display: flex; gap: 5px; }
.hd-view-btn {
  width: 34px;
  height: 34px;
  border: 1px solid var(--hd-line);
  background: transparent;
  cursor: pointer;
  color: var(--hd-muted);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all .2s;
  padding: 0;
}
.hd-view-btn:hover, .hd-view-btn.is-active {
  border-color: var(--hd-ch);
  color: var(--hd-ch);
}

/* ─────────────────────────────────────────
   Shop wrapper
───────────────────────────────────────── */
.hd-shop {
  max-width: 1540px;
  margin: 0 auto;
  padding: 0 48px 80px;
}

/* ─────────────────────────────────────────
   Search page
───────────────────────────────────────── */
.hd-search-page {
  padding-top: 42px;
}
.hd-search-head {
  padding: 0 0 20px;
  border-bottom: 1px solid var(--hd-line);
  margin-bottom: 26px;
}
.hd-search-eyebrow {
  margin: 0 0 10px;
  color: var(--hd-gold);
  font-size: 11px;
  letter-spacing: .2em;
  text-transform: uppercase;
}
.hd-search-title {
  margin: 0;
  font-family: 'Yeseva One', serif;
  font-weight: 300;
  font-size: clamp(2rem, 4vw, 3.1rem);
  color: var(--hd-ch);
  line-height: 1.08;
}
.hd-search-title em {
  font-style: italic;
  color: var(--hd-gold);
}
.hd-search-count {
  margin: 10px 0 0;
  color: var(--hd-muted);
  font-size: 12px;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.hd-search-section + .hd-search-section {
  margin-top: 34px;
}
.hd-search-section-title {
  margin: 0 0 14px;
  color: var(--hd-ch);
  font-size: 13px;
  letter-spacing: .14em;
  text-transform: uppercase;
  font-weight: 500;
}

.hd-search-grid {
  display: grid;
  gap: 14px;
}

.hd-search-card {
  display: grid;
  grid-template-columns: 110px minmax(0, 1fr);
  gap: 16px;
  background: #fff;
  border: 1px solid var(--hd-line);
  padding: 12px;
  transition: border-color .2s, box-shadow .25s, transform .2s;
}
.hd-search-card:hover {
  border-color: var(--hd-mid);
  box-shadow: 0 14px 28px rgba(44,24,16,.08);
  transform: translateY(-1px);
}

.hd-search-card-thumb {
  display: block;
  width: 110px;
  height: 110px;
  border: 1px solid var(--hd-line);
  background: var(--hd-cream);
  overflow: hidden;
  text-decoration: none;
}
.hd-search-card-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.hd-search-card-placeholder {
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
  font-family: 'Yeseva One', serif;
  font-size: 20px;
  color: var(--hd-muted);
}

.hd-search-card-kicker {
  margin: 2px 0 8px;
  color: var(--hd-gold);
  font-size: 10px;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.hd-search-card-title {
  margin: 0 0 6px;
  font-size: clamp(1.08rem, 1.3vw, 1.32rem);
  line-height: 1.25;
}
.hd-search-card-title a {
  color: var(--hd-ch);
  text-decoration: none;
}
.hd-search-card-title a:hover {
  color: var(--hd-gold);
}
.hd-search-card-excerpt {
  margin: 0;
  color: var(--hd-muted);
  line-height: 1.7;
  font-size: 14px;
}
.hd-search-card-price {
  margin: 10px 0 0;
  color: var(--hd-ch);
  font-weight: 500;
}

.hd-search-pagination {
  margin-top: 30px;
}
.hd-search-pagination .nav-links {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
}
.hd-search-pagination .page-numbers {
  min-width: 40px;
  height: 40px;
  padding: 0 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--hd-line);
  background: #fff;
  color: var(--hd-muted);
  text-decoration: none;
  font-family: 'Forum', serif;
  font-size: 12px;
  letter-spacing: .02em;
  transition: transform .15s ease, border-color .2s ease, background .2s ease, color .2s ease, box-shadow .2s ease;
}
.hd-search-pagination a.page-numbers:hover {
  border-color: var(--hd-gold);
  color: var(--hd-ch);
  background: #fff;
  transform: translateY(-1px);
  box-shadow: 0 8px 16px rgba(44,24,16,.08);
}
.hd-search-pagination .page-numbers.current {
  background: var(--hd-ch);
  border-color: var(--hd-ch);
  color: var(--hd-cream);
  box-shadow: 0 8px 16px rgba(44,24,16,.14);
}
.hd-search-pagination .page-numbers.prev,
.hd-search-pagination .page-numbers.next {
  min-width: 64px;
  padding: 0 14px;
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.hd-search-pagination .page-numbers.dots {
  border: none;
  background: transparent;
  min-width: auto;
  padding: 0 4px;
  color: var(--hd-muted);
}
.hd-search-pagination a.page-numbers:focus-visible {
  outline: 2px solid var(--hd-gold);
  outline-offset: 2px;
}

.hd-search-empty {
  border: 1px dashed var(--hd-mid);
  background: #fff;
  padding: 24px;
}
.hd-search-empty h2 {
  margin: 0 0 8px;
  font-family: 'Yeseva One', serif;
  font-size: 2rem;
  color: var(--hd-ch);
  font-weight: 300;
}
.hd-search-empty p {
  margin: 0;
  color: var(--hd-muted);
}
.hd-search-empty p + p {
  margin-top: 12px;
}
.hd-search-empty a {
  color: var(--hd-gold);
  text-decoration: none;
}

@media (max-width: 700px) {
  .hd-search-page {
    padding-top: 28px;
  }
  .hd-search-card {
    grid-template-columns: 88px minmax(0, 1fr);
    gap: 12px;
    padding: 10px;
  }
  .hd-search-card-thumb {
    width: 88px;
    height: 88px;
  }
  .hd-search-card-excerpt {
    font-size: 13px;
    line-height: 1.6;
  }
  .hd-search-pagination .page-numbers {
    min-width: 36px;
    height: 36px;
  }
  .hd-search-pagination .page-numbers.prev,
  .hd-search-pagination .page-numbers.next {
    min-width: 54px;
    padding: 0 10px;
    letter-spacing: .1em;
  }
}

/* Woo result count */
.woocommerce-result-count { display: none; }

/* ─────────────────────────────────────────
   Products grid
───────────────────────────────────────── */
.hd-products {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  list-style: none;
  margin: 40px 0 0;
  padding: 0;
  border-left: 1px solid var(--hd-line);
  border-top: 1px solid var(--hd-line);
}
.hd-products.hd-cols-3 { grid-template-columns: repeat(3, 1fr); }
.hd-products.hd-cols-5 { grid-template-columns: repeat(5, 1fr); }
.hd-products.hd-list   { grid-template-columns: 1fr; }

/* ─────────────────────────────────────────
   Product card
───────────────────────────────────────── */
.hd-pc {
  position: relative;
  border-right: 1px solid var(--hd-line);
  border-bottom: 1px solid var(--hd-line);
  background: var(--hd-cream);
  transition: background .2s, box-shadow .3s;
  overflow: hidden;
}
.hd-pc:hover {
  background: #fff;
  box-shadow: 0 8px 40px rgba(44,24,16,.1);
  z-index: 2;
}
.hd-pc-inner {
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* Image */
.hd-pc-img {
  position: relative;
  padding-bottom: 100%;
  overflow: hidden;
  background: var(--hd-beige);
  flex-shrink: 0;
}
.hd-pc-img img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .65s cubic-bezier(.22,1,.36,1), filter .35s;
}
.hd-pc:hover .hd-pc-img img {
  transform: scale(1.06);
  filter: brightness(1.02) saturate(1.05);
}
.hd-pc-img > a { display: block; position: absolute; inset: 0; }

.hd-product-gradient-placeholder {
  display: block;
  width: 100%;
  height: 100%;
  background: linear-gradient(160deg, #f6e9d7 0%, #dfc3a4 52%, #b98b57 100%);
}

.hd-product-gradient-placeholder--card {
  position: absolute;
  inset: 0;
}

.hd-pc:hover .hd-product-gradient-placeholder--card {
  transform: scale(1.04);
  transition: transform .65s cubic-bezier(.22,1,.36,1);
}

/* Badges */
.hd-badges {
  position: absolute;
  top: 12px;
  left: 12px;
  display: flex;
  flex-direction: column;
  gap: 5px;
  z-index: 3;
  pointer-events: none;
}
.hd-badge {
  font-family: 'Yeseva One', serif;
  font-size: 11px;
  letter-spacing: .18em;
  text-transform: uppercase;
  padding: 3px 8px;
  font-weight: 500;
  line-height: 1.4;
}
.hd-badge-new  { background: var(--hd-ch);   color: var(--hd-cream); }
.hd-badge-sale { background: #b85a3a;         color: #fff; }
.hd-badge-hand { background: rgba(250,247,242,.92); color: var(--hd-ch); }
.hd-badge-feat { background: var(--hd-gold);  color: #fff; }

/* Hide WooCommerce's default .onsale badge everywhere — we use .hd-badges instead */
span.onsale { display: none !important; }

/* ── Toast notifications ── */
#hd-toast-wrap {
  position: fixed; bottom: 32px; right: 32px; z-index: 9999;
  display: flex; flex-direction: column; gap: 10px;
  pointer-events: none;
}
.hd-toast {
  padding: 14px 22px; border-radius: 2px;
  font-family: 'Yeseva One', serif; font-size: 15px; letter-spacing: .03em;
  pointer-events: auto; max-width: 320px; min-width: 180px;
  box-shadow: 0 4px 24px rgba(44,24,16,.14);
  opacity: 0; transform: translateY(10px);
  transition: opacity .25s ease, transform .25s ease;
}
.hd-toast.visible { opacity: 1; transform: translateY(0); }
.hd-toast-success { background: var(--hd-ch); color: var(--hd-cream); }
.hd-toast-error   { background: #b85a3a; color: #fff; }
.hd-toast-info    { background: var(--hd-beige); color: var(--hd-ch); border: 1px solid var(--hd-line); }
@media (max-width: 480px) {
  #hd-toast-wrap { bottom: 16px; right: 16px; left: 16px; }
  .hd-toast { max-width: 100%; }
}

/* ATC button — loading state */
.single_add_to_cart_button.loading { opacity: .55; cursor: wait; pointer-events: none; }

/* Hover actions */
.hd-pc-actions {
  position: absolute;
  top: 12px;
  right: 12px;
  display: flex;
  flex-direction: column;
  gap: 7px;
  opacity: 0;
  transform: translateX(6px);
  transition: all .28s cubic-bezier(.22,1,.36,1);
  z-index: 4;
}
.hd-pc:hover .hd-pc-actions { opacity: 1; transform: none; }
.hd-action-btn {
  box-sizing: border-box;
  width: 36px;
  height: 36px;
  background: var(--hd-cream);
  border: none !important;
  outline: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--hd-ch) !important;
  line-height: 1;
  transition: background .2s, color .2s;
  border-radius: 50%;
  box-shadow: 0 2px 10px rgba(44,24,16,.12);
  text-decoration: none !important;
  flex-shrink: 0;
}
.hd-action-btn:hover {
  background: var(--hd-ch);
  color: var(--hd-cream) !important;
  text-decoration: none !important;
}
.hd-action-btn svg { width: 14px; height: 14px; display: block; }

/* Quick view bar */
.hd-pc-qv {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(44,24,16,.85);
  color: var(--hd-cream);
  text-align: center;
  padding: 10px;
  font-family: 'Yeseva One', serif;
  font-size: 12px;
  letter-spacing: .22em;
  text-transform: uppercase;
  opacity: 0;
  transform: translateY(3px);
  transition: all .22s;
  z-index: 4;
  cursor: pointer;
  border: none;
  width: 100%;
}
.hd-pc:hover .hd-pc-qv { opacity: 1; transform: none; }
.hd-pc-qv:hover { background: rgba(44,24,16,.95); }

/* Info */
.hd-pc-info {
  padding: 15px 17px 18px;
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  min-width: 0;
}
.hd-pc-cat {
  font-size: 12px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--hd-gold);
  margin-bottom: 4px;
}
.hd-pc-stars { display: flex; gap: 2px; margin-bottom: 5px; }
.hd-star { font-size: 12px; color: var(--hd-gold-l); line-height: 1; }
.hd-star.is-full { color: var(--hd-gold); }
.hd-pc-name {
  font-family: 'Yeseva One', serif;
  font-size: 1.18rem;
  font-weight: 400;
  line-height: 1.25;
  color: var(--hd-ch);
  margin: 0 0 3px;
  text-decoration: none;
}
.hd-pc-name a { color: inherit; text-decoration: none; }
.hd-pc-name a:hover { color: var(--hd-gold); }
.hd-pc-sub {
  font-size: 11px;
  color: var(--hd-muted);
  line-height: 1.45;
  margin-bottom: auto;
  padding-bottom: 12px;
}
.hd-pc-bottom {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 10px;
  border-top: 1px solid var(--hd-line);
  padding-top: 12px;
  margin-top: auto;
}

/* Price */
.hd-pc-price {
  font-family: 'Yeseva One', serif;
  font-size: 1.28rem;
  font-weight: 400;
  color: var(--hd-ch);
  line-height: 1.1;
  min-width: 0;
  flex: 1 1 auto;
}
.hd-pc-price del {
  font-size: .92rem;
  color: var(--hd-muted);
  display: block;
  margin-bottom: 1px;
  text-decoration: line-through;
}
.hd-pc-price ins {
  color: #b85a3a;
  text-decoration: none;
  display: block;
}
/* Override WooCommerce price wrapper */
.hd-pc .price {
  font-family: 'Yeseva One', serif;
  font-size: 1.28rem;
  font-weight: 400;
  color: var(--hd-ch);
  line-height: 1.2;
  display: block;
}
.hd-pc .price del { font-size: .94rem; color: var(--hd-muted); margin-bottom: 1px; display: block; text-decoration: line-through; }
.hd-pc .price ins { color: #b85a3a; text-decoration: none; display: block; font-style: normal; }
.hd-pc .price .amount { font-family: 'Yeseva One', serif; font-size: 1.28rem; font-weight: 400; }
.hd-pc .price .screen-reader-text,
.hd-pc-bottom .screen-reader-text { display: none; }

/* Add to cart */
.hd-pc .button,
.hd-pc .add_to_cart_button {
  box-sizing: border-box;
  padding: 10px 18px;
  background: transparent;
  border: 1px solid var(--hd-ch);
  color: var(--hd-ch);
  font-family: 'Yeseva One', serif;
  font-size: 12px;
  letter-spacing: .18em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background .22s, color .22s;
  white-space: nowrap;
  text-decoration: none;
  display: flex;
  width: 100%;
  justify-content: center;
  align-items: center;
  border-radius: 0;
}
.hd-pc .button:hover,
.hd-pc .add_to_cart_button:hover {
  background: var(--hd-ch);
  color: var(--hd-cream);
}
.hd-pc .added_to_cart,
.hd-pc .added {
  background: var(--hd-gold) !important;
  border-color: var(--hd-gold) !important;
  color: #fff !important;
}

/* ─── List view ─── */
.hd-products.hd-list .hd-pc { border-right: none; }
.hd-products.hd-list .hd-pc-inner { flex-direction: row; }
.hd-products.hd-list .hd-pc-img { width: 240px; padding-bottom: 0; height: 240px; flex-shrink: 0; }
.hd-products.hd-list .hd-pc-info { padding: 30px 36px; justify-content: center; }
.hd-products.hd-list .hd-pc-name { font-size: 1.5rem; }
.hd-products.hd-list .hd-pc-actions { top: 50%; bottom: auto; right: 24px; flex-direction: row; transform: translateY(-50%) translateX(0); }
.hd-products.hd-list .hd-pc:hover .hd-pc-actions { transform: translateY(-50%); }
.hd-products.hd-list .hd-pc-qv { display: none; }

/* ─────────────────────────────────────────
   Pagination
───────────────────────────────────────── */
.woocommerce-pagination,
nav.woocommerce-pagination {
  text-align: center;
  padding: 48px 0 0;
}
.woocommerce-pagination ul {
  display: inline-flex;
  gap: 4px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.woocommerce-pagination ul li span,
.woocommerce-pagination ul li a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 38px;
  height: 38px;
  padding: 0 4px;
  border: 1px solid var(--hd-line);
  color: var(--hd-muted);
  font-family: 'Forum', serif;
  font-size: 12px;
  text-decoration: none;
  transition: all .2s;
}
.woocommerce-pagination ul li a:hover { border-color: var(--hd-ch); color: var(--hd-ch); }
.woocommerce-pagination ul li span.current { background: var(--hd-ch); border-color: var(--hd-ch); color: var(--hd-cream); }

/* ─────────────────────────────────────────
   Quick view lightbox
───────────────────────────────────────── */
.hd-lb {
  position: fixed;
  inset: 0;
  background: rgba(20,12,8,.92);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  z-index: 100000;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity .3s;
  padding: 20px;
}
.hd-lb.is-open { opacity: 1; pointer-events: all; }
.hd-lb-wrap {
  display: flex;
  max-width: min(96vw, 960px);
  width: 100%;
  max-height: 88vh;
  min-height: 420px;
  background: var(--hd-cream);
  box-shadow: 0 32px 80px rgba(0,0,0,.5);
  overflow: hidden;
  position: relative;
}
/* Inner content wrapper — must be flex so two columns align */
.hd-lb-content {
  display: flex;
  width: 100%;
  min-height: 0;
  overflow: hidden;
}
.hd-lb-col-img {
  width: 50%;
  flex-shrink: 0;
  background: var(--hd-beige);
  position: relative;
}
.hd-product-gradient-placeholder--quick {
  position: absolute;
  inset: 0;
  background: linear-gradient(165deg, #efe2d0 0%, #d3b291 55%, #8e6642 100%);
}
.hd-lb-col-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transform: scale(.98);
  transition: transform .4s cubic-bezier(.22,1,.36,1);
}
.hd-lb.is-open .hd-lb-col-img img { transform: scale(1); }
.hd-lb-col-info {
  flex: 1;
  padding: 36px 40px;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-width: 0;
}
.hd-lb-brand {
  font-size: 10px;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--hd-gold);
}
.hd-lb-name {
  font-family: 'Yeseva One', serif;
  font-size: 1.9rem;
  font-weight: 300;
  line-height: 1.1;
  color: var(--hd-ch);
  margin: 0;
}
.hd-lb-name em { font-style: italic; }
.hd-lb-stars { display: flex; align-items: center; gap: 3px; }
.hd-lb-stars .hd-star { font-size: 13px; }
.hd-lb-stars .hd-star-count { font-size: 11px; color: var(--hd-muted); margin-left: 6px; }
.hd-lb-cats {
  font-size: 11px;
  color: var(--hd-muted);
  letter-spacing: .1em;
  text-transform: uppercase;
}
.hd-lb-cats a { color: var(--hd-gold); text-decoration: none; }
.hd-lb-desc {
  font-size: 12.5px;
  color: var(--hd-muted);
  line-height: 1.8;
  border-top: 1px solid var(--hd-line);
  padding-top: 14px;
}
.hd-lb-price {
  font-family: 'Yeseva One', serif;
  font-size: 1.7rem;
  color: var(--hd-ch);
  border-top: 1px solid var(--hd-line);
  padding: 14px 0 12px;
}
.hd-lb-price del { color: var(--hd-muted); font-size: 1.1rem; margin-right: 10px; }
.hd-lb-price ins { color: #b85a3a; text-decoration: none; }
.hd-lb-price .amount { font-family: 'Yeseva One', serif; font-size: 1.7rem; }
.hd-lb-props {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px 24px;
  border-top: 1px solid var(--hd-line);
  padding-top: 12px;
  margin-top: 2px;
}
.hd-lb-prop strong {
  display: block;
  font-size: 10px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--hd-muted);
  font-weight: 400;
  margin-bottom: 2px;
}
.hd-lb-prop span { font-size: 13px; color: var(--hd-ch); }
.hd-lb-btn {
  width: 100%;
  padding: 14px;
  background: var(--hd-ch);
  color: var(--hd-cream);
  border: none;
  font-family: 'Forum', serif;
  font-size: 11px;
  letter-spacing: .22em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background .22s;
  text-decoration: none;
  display: block;
  text-align: center;
  margin-top: auto;   /* push to bottom of flex column */
  flex-shrink: 0;
  box-sizing: border-box;
}
.hd-lb-btn:hover { background: var(--hd-gold); color: #fff; }
.hd-lb-close {
  position: absolute;
  top: 14px;
  right: 14px;
  background: rgba(250,247,242,.9);
  border: none;
  width: 34px;
  height: 34px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--hd-ch);
  border-radius: 50%;
  font-size: 15px;
  z-index: 5;
  transition: background .2s, color .2s;
}
.hd-lb-close:hover { background: var(--hd-ch); color: var(--hd-cream); }
.hd-lb-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(250,247,242,.82);
  border: none;
  width: 38px;
  height: 38px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--hd-ch);
  font-size: 16px;
  transition: background .2s;
  z-index: 5;
}
.hd-lb-nav:hover { background: var(--hd-cream); }
#hd-lb-prev { left: 10px; }
#hd-lb-next { right: 10px; }
.hd-lb-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 300px;
  color: var(--hd-muted);
  font-size: 12px;
  letter-spacing: .2em;
  text-transform: uppercase;
}
.hd-lb-loading::after {
  content: '';
  width: 24px;
  height: 24px;
  border: 2px solid var(--hd-line);
  border-top-color: var(--hd-gold);
  border-radius: 50%;
  animation: hd-spin .7s linear infinite;
  margin-left: 12px;
}
@keyframes hd-spin { to { transform: rotate(360deg); } }

/* ─────────────────────────────────────────
   Back to top
───────────────────────────────────────── */
.hd-btt {
  position: fixed;
  bottom: 28px;
  right: 28px;
  width: 42px;
  height: 42px;
  background: var(--hd-ch);
  border: 1px solid var(--hd-gold);
  color: var(--hd-cream);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  opacity: 0;
  transform: translateY(10px);
  transition: all .3s;
  z-index: 50;
}
.hd-btt.is-visible { opacity: 1; transform: none; }
.hd-btt:hover { background: var(--hd-gold); }

/* ─────────────────────────────────────────
   Navigation
───────────────────────────────────────── */
.hd-skip-link {
  position: absolute;
  left: -9999px;
}
.hd-skip-link:focus {
  left: 16px;
  top: 16px;
  z-index: 99999;
  background: var(--hd-ch);
  color: var(--hd-cream);
  padding: 8px 16px;
  font-size: 12px;
}
/* Light header wrapper (white bg, black text) */
.hd-header {
  background: #fff;
  position: sticky;
  top: 0;
  z-index: 200;
}
.hd-nav {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding: 14px 48px;
  background: #fff;
  gap: 24px;
}
/* ── Strefa lewa: kontakt ── */
.hd-nav-left {
  display: flex;
  align-items: center;
  gap: 18px;
  justify-self: start;
  min-width: 0;
}
.hd-nav-contact {
  display: flex;
  flex-direction: column;
  gap: 2px;
  font-family: 'Montserrat', sans-serif;
  font-size: 12px;
  letter-spacing: .02em;
}
.hd-nav-contact-line {
  color: #1a1a1a;
  text-decoration: none;
  font-weight: 500;
  white-space: nowrap;
}
.hd-nav-contact-line:first-child { font-weight: 600; }
.hd-nav-contact-line:hover { color: var(--hd-gold); }

/* ── Strefa środkowa: logo ── */
.hd-nav-logo {
  color: #1a1a1a;
  text-decoration: none;
  white-space: nowrap;
  line-height: 1;
  justify-self: center;
}
/* Brand text logo — matches haida logo.pdf (Yeseva One + Montserrat) */
.hd-logo {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  line-height: 1;
}
.hd-logo-name {
  font-family: 'Yeseva One', serif;
  font-weight: 400;
  font-size: 1.7rem;
  letter-spacing: .14em;
  /* Yeseva One has built-in letter-spacing on the right edge */
  text-indent: .14em;
}
.hd-logo-sub {
  font-family: 'Montserrat', sans-serif;
  font-weight: 400;
  text-transform: lowercase;
  font-size: .62rem;
  letter-spacing: .42em;
  text-indent: .42em;
  margin-top: .28em;
}
/* Footer logo: dark text on light footer, slightly larger */
.hd-foot-logo {
  text-decoration: none;
  color: inherit;
}
.hd-foot-logo .hd-logo-name { font-size: 2.1rem; }
.hd-foot-logo .hd-logo-sub  { font-size: .7rem; }
/* ── Drugi rząd: wycentrowane menu ── */
.hd-nav-row {
  display: flex;
  justify-content: center;
  background: #fff;
  border-top: 1px solid rgba(0,0,0,.08);
  border-bottom: 1px solid rgba(0,0,0,.08);
  padding: 0 48px;
}
.hd-nav-links {
  display: flex;
  justify-content: center;
  gap: 34px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.hd-nav-links a {
  display: inline-block;
  padding: 14px 0;
  font-family: 'Montserrat', sans-serif;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #1a1a1a;
  text-decoration: none;
  transition: color .2s;
}
.hd-nav-links a:hover,
.hd-nav-links a[aria-current="page"] {
  color: var(--hd-gold);
}

/* ── Dropdown sub-menu ── */
.hd-nav-links > li {
  position: relative;
}
/* Chevron indicator for items that have a sub-menu */
.hd-nav-links > li.menu-item-has-children > a::after {
  content: '';
  display: inline-block;
  width: 6px;
  height: 6px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg) translateY(-2px);
  margin-left: 6px;
  opacity: .6;
  vertical-align: middle;
  transition: transform .2s;
}
.hd-nav-links > li.menu-item-has-children:hover > a::after,
.hd-nav-links > li.menu-item-has-children:focus-within > a::after,
.hd-nav-links > li.menu-item-has-children.is-dropdown-open > a::after {
  transform: rotate(-135deg) translateY(-2px);
  opacity: 1;
}
.hd-nav-links .sub-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  min-width: 200px;
  background: #fff;
  border: 1px solid rgba(0,0,0,.1);
  box-shadow: 0 8px 24px rgba(0,0,0,.12);
  list-style: none;
  margin: 0;
  margin-top: 0;
  padding: 12px 0 8px;
  z-index: 9999;
}
.hd-nav-links .sub-menu::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -16px;
  height: 16px;
}
.hd-nav-links > li:hover > .sub-menu,
.hd-nav-links > li:focus-within > .sub-menu,
.hd-nav-links > li.is-dropdown-open > .sub-menu {
  display: block;
}
.hd-nav-links .sub-menu a {
  display: block;
  padding: 9px 20px;
  white-space: nowrap;
  font-family: 'Montserrat', sans-serif;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #1a1a1a;
  text-decoration: none;
  transition: color .2s, background .2s;
}
.hd-nav-links .sub-menu a:hover {
  color: var(--hd-gold);
  background: rgba(0,0,0,.04);
}

/* position:relative для li підменю щоб вкладений sub-menu позиціонувався відносно нього */
.hd-nav-links .sub-menu > li {
  position: relative;
}

/* ── Nested sub-menus (2-й рівень і глибше — будь-яка вкладеність) ── */
/* Chevron → на пунктах з вкладеним підменю */
.hd-nav-links .sub-menu li.menu-item-has-children > a::after {
  content: '';
  display: inline-block;
  width: 5px;
  height: 5px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(-45deg) translateY(-1px);
  margin-left: 8px;
  opacity: .6;
  vertical-align: middle;
  transition: transform .2s, opacity .2s;
}
.hd-nav-links .sub-menu li.menu-item-has-children:hover > a::after,
.hd-nav-links .sub-menu li.menu-item-has-children.is-dropdown-open > a::after {
  opacity: 1;
}
/* Вкладене підменю — відображається праворуч */
.hd-nav-links .sub-menu .sub-menu {
  display: none;
  position: absolute;
  top: -8px;
  left: 100%;
  min-width: 200px;
  background: #1a1a1a;
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 8px 24px rgba(0,0,0,.35);
  list-style: none;
  margin: 0;
  padding: 8px 0;
  z-index: 9999;
}
/* Міст hover — невидима смужка зліва щоб не "злітав" hover при переміщенні миші (всі рівні) */
.hd-nav-links .sub-menu .sub-menu::before {
  content: "";
  position: absolute;
  top: 0;
  left: -12px;
  width: 12px;
  height: 100%;
}
.hd-nav-links .sub-menu li:hover > .sub-menu,
.hd-nav-links .sub-menu li:focus-within > .sub-menu,
.hd-nav-links .sub-menu li.is-dropdown-open > .sub-menu {
  display: block;
}

/* Mobile-only chevron toggle button — hidden on desktop */
.hd-sub-toggle { display: none; }

.hd-nav-right {
  display: flex;
  align-items: center;
  gap: 22px;
  flex-shrink: 0;
  justify-self: end;
}

/* ── Social icons in nav (left zone) ── */
.hd-nav-social {
  display: flex;
  align-items: center;
  gap: 12px;
}
.hd-nav-social-link {
  color: #1a1a1a;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: color .2s;
  line-height: 1;
}
.hd-nav-social-link:hover { color: var(--hd-gold); }
/* На мобільному ховаємо соц.іконки/контакти в шапці (є в мобільному меню) */
@media (max-width: 900px) {
  .hd-nav-social { display: none; }
  .hd-nav-left { display: none; }
}
.hd-nav-icon {
  background: none;
  border: none;
  cursor: pointer;
  color: #1a1a1a;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  padding: 4px;
  transition: color .2s;
  text-decoration: none;
  position: relative;
}
.hd-nav-icon:hover { color: var(--hd-gold); }
.hd-nav-icon-label {
  font-family: 'Montserrat', sans-serif;
  font-size: 10px;
  font-weight: 500;
  letter-spacing: .1em;
  text-transform: uppercase;
}
@media (max-width: 600px) {
  .hd-nav-icon-label { display: none; }
}
.hd-cart-count {
  background: var(--hd-gold);
  color: #fff;
  font-size: 9px;
  font-weight: 600;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: -4px;
  right: -6px;
  pointer-events: none;
}
/* Search bar (hidden by default) */
.hd-search {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: #fff;
  border-bottom: 1px solid rgba(0,0,0,.1);
  box-shadow: 0 8px 24px rgba(0,0,0,.08);
  padding: 14px 48px;
  display: none;
  z-index: 190;
}
.hd-search.is-open { display: block; }
.hd-search form {
  display: flex;
  gap: 0;
  max-width: 600px;
  margin: 0 auto;
}
.hd-search input[type="search"] {
  flex: 1;
  padding: 10px 16px;
  border: 1px solid rgba(0,0,0,.2);
  border-right: none;
  background: #fff;
  font-family: 'Montserrat', sans-serif;
  font-size: 15px;
  outline: none;
  color: #1a1a1a;
}
.hd-search input[type="search"]:focus { border-color: var(--hd-gold); }
.hd-search button[type="submit"] {
  padding: 10px 18px;
  background: var(--hd-ch);
  color: var(--hd-cream);
  border: none;
  font-family: 'Yeseva One', serif;
  font-size: 13px;
  letter-spacing: .14em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background .2s;
}
.hd-search button[type="submit"]:hover { background: var(--hd-gold); }
/* Hamburger (mobile) */
.hd-nav-hamburger {
  display: none;
  background: none;
  border: none;
  cursor: pointer;
  color: #1a1a1a;
  padding: 4px;
  width: 36px;
  height: 36px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  flex-shrink: 0;
}
.hd-hbg-bar {
  display: block;
  width: 22px;
  height: 1.5px;
  background: currentColor;
  transform-origin: center;
  transition: transform .22s ease, opacity .18s ease;
  border-radius: 1px;
}
.hd-nav-hamburger[aria-expanded="true"] .hd-hbg-bar:nth-child(1) {
  transform: translateY(6.5px) rotate(45deg);
}
.hd-nav-hamburger[aria-expanded="true"] .hd-hbg-bar:nth-child(2) {
  opacity: 0;
  transform: scaleX(0);
}
.hd-nav-hamburger[aria-expanded="true"] .hd-hbg-bar:nth-child(3) {
  transform: translateY(-6.5px) rotate(-45deg);
}

/* ─────────────────────────────────────────
   Global buttons
───────────────────────────────────────── */
.btn-primary,
a.btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 14px 36px;
  background: var(--hd-gold);
  color: #fff !important;
  font-family: 'Forum', serif;
  font-size: 10px;
  font-weight: 400;
  letter-spacing: .22em;
  text-transform: uppercase;
  text-decoration: none !important;
  border: 1px solid var(--hd-gold);
  cursor: pointer;
  transition: background .22s, border-color .22s;
  border-radius: 0;
}
.btn-primary:hover,
a.btn-primary:hover {
  background: var(--hd-gold-d, #A87830);
  border-color: var(--hd-gold-d, #A87830);
}

.btn-outline,
a.btn-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 14px 36px;
  background: transparent;
  color: var(--hd-ch) !important;
  font-family: 'Forum', serif;
  font-size: 10px;
  font-weight: 400;
  letter-spacing: .22em;
  text-transform: uppercase;
  text-decoration: none !important;
  border: 1px solid var(--hd-ch);
  cursor: pointer;
  transition: background .22s, color .22s;
  border-radius: 0;
}
.btn-outline:hover,
a.btn-outline:hover {
  background: var(--hd-ch);
  color: var(--hd-cream) !important;
}

/* ── WooCommerce global button normalization ──
   Applies primary (gold) style to all generic WC buttons
   (cart page, checkout, account, etc.) not otherwise overridden */
/* ── WooCommerce Cart Block — proceed button ── */
.wc-block-cart__submit-button,
.wc-block-components-button.wc-block-cart__submit-button,
.wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button,

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-checkout #payment #place_order,
.wc-block-components-checkout-place-order-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  padding: 13px 32px !important;
  background: var(--hd-gold) !important;
  color: #fff !important;
  font-family: 'Forum', serif !important;
  font-size: 10px !important;
  font-weight: 400 !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  border: 1px solid var(--hd-gold) !important;
  border-radius: 0 !important;
  cursor: pointer !important;
  transition: background .22s, border-color .22s !important;
  height: auto !important;
}
.wc-block-cart__submit-button:hover,
.wc-block-components-button.wc-block-cart__submit-button:hover,
.wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button:hover,

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce-checkout #payment #place_order:hover,
.wc-block-components-checkout-place-order-button:hover {
  background: var(--hd-gold-d) !important;
  border-color: var(--hd-gold-d) !important;
  color: #fff !important;
}
/* Keep archive-card button as outline (higher specificity: 0-3-0 beats 0-2-1) */
.woocommerce .hd-pc .button,
.woocommerce .hd-pc .add_to_cart_button,
.woocommerce .hd-pc .product_type_variable,
.woocommerce .hd-pc .product_type_simple,
.hd-pc .button,
.hd-pc .add_to_cart_button,
.hd-pc .product_type_variable,
.hd-pc .product_type_simple {
  background: transparent !important;
  color: var(--hd-ch) !important;
  border: 1px solid var(--hd-ch) !important;
}
.woocommerce .hd-pc .button:hover,
.woocommerce .hd-pc .add_to_cart_button:hover,
.woocommerce .hd-pc .product_type_variable:hover,
.woocommerce .hd-pc .product_type_simple:hover,
.hd-pc .button:hover,
.hd-pc .add_to_cart_button:hover,
.hd-pc .product_type_variable:hover,
.hd-pc .product_type_simple:hover {
  background: var(--hd-ch) !important;
  color: var(--hd-cream) !important;
}

/* ─────────────────────────────────────────
   Woo checkout - Thank you page
───────────────────────────────────────── */
.hd-thankyou-wrap {
  max-width: 1040px;
  margin: 40px auto 80px;
  padding: 0 20px;
}

/* Remove extra default heading injected above custom thank-you layout. */
.woocommerce-order-received .woocommerce-order > h2:first-child {
  display: none;
}

.hd-thankyou {
  background: linear-gradient(145deg, #fff 0%, #fcf9f4 100%);
  border: 1px solid var(--hd-line);
  padding: 34px 30px;
  position: relative;
  overflow: hidden;
}
.hd-thankyou::before {
  content: '';
  position: absolute;
  top: -80px;
  right: -70px;
  width: 240px;
  height: 240px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(200,145,58,.15) 0%, rgba(200,145,58,0) 65%);
  pointer-events: none;
}

.hd-thankyou-eyebrow {
  margin: 0 0 12px;
  color: var(--hd-gold);
  font-size: 11px;
  letter-spacing: .2em;
  text-transform: uppercase;
}
.hd-thankyou-title {
  margin: 0;
  color: var(--hd-ch);
  font-family: 'Yeseva One', serif;
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 300;
  line-height: 1.1;
}
.hd-thankyou-subtitle {
  margin: 12px 0 0;
  color: var(--hd-muted);
  line-height: 1.75;
  max-width: 680px;
}
.hd-thankyou-subtitle strong {
  color: var(--hd-ch);
  font-weight: 500;
}

.hd-thankyou-meta {
  margin: 22px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
.hd-thankyou-meta li {
  border: 1px solid var(--hd-line);
  background: #fff;
  padding: 12px 14px;
  display: grid;
  gap: 6px;
}
.hd-thankyou-meta span {
  color: var(--hd-muted);
  font-size: 10px;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.hd-thankyou-meta strong {
  color: var(--hd-ch);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.35;
}

.hd-thankyou-actions {
  margin-top: 20px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.hd-thankyou-wrap .woocommerce-order-details,
.hd-thankyou-wrap .woocommerce-customer-details {
  margin-top: 24px;
  border: 1px solid var(--hd-line);
  background: #fff;
  padding: 24px;
}

.hd-thankyou-wrap .woocommerce-order-details__title,
.hd-thankyou-wrap .woocommerce-column__title {
  margin: 0 0 14px;
  color: var(--hd-ch);
  font-family: 'Yeseva One', serif;
  font-size: 1.8rem;
  font-weight: 300;
}

.hd-thankyou-wrap table.shop_table {
  border-color: var(--hd-line);
}

.hd-thankyou-wrap table.shop_table th,
.hd-thankyou-wrap table.shop_table td {
  border-color: var(--hd-line);
}

.hd-thankyou-wrap .woocommerce-customer-details address {
  border: 1px solid var(--hd-line);
  background: var(--hd-cream);
  padding: 14px;
  line-height: 1.75;
}

@media (max-width: 900px) {
  .hd-thankyou-meta {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .hd-thankyou-wrap {
    margin: 28px auto 60px;
    padding: 0 14px;
  }
  .hd-thankyou {
    padding: 24px 18px;
  }
  .hd-thankyou-meta {
    grid-template-columns: 1fr;
  }
}

/* ─────────────────────────────────────────
   My account - View order
───────────────────────────────────────── */
.hd-account-order {
  max-width: 1540px;
  margin: 38px auto 80px;
  padding: 0 24px;
}

.hd-account-order-head {
  border: 1px solid var(--hd-line);
  background: linear-gradient(160deg, #fff 0%, #fcf9f4 100%);
  padding: 26px 24px;
}

.hd-account-order-eyebrow {
  margin: 0 0 8px;
  color: var(--hd-gold);
  font-size: 10px;
  letter-spacing: .2em;
  text-transform: uppercase;
}

.hd-account-order-title {
  margin: 0;
  color: var(--hd-ch);
  font-family: 'Yeseva One', serif;
  font-size: clamp(1.9rem, 3.8vw, 2.9rem);
  font-weight: 300;
  line-height: 1.1;
}

.hd-account-order-subtitle {
  margin: 10px 0 0;
  color: var(--hd-muted);
  line-height: 1.7;
}
.hd-account-order-subtitle strong {
  color: var(--hd-ch);
  font-weight: 500;
}

.hd-account-order-meta {
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.hd-account-order-meta li {
  border: 1px solid var(--hd-line);
  background: #fff;
  padding: 12px 14px;
  display: grid;
  gap: 6px;
}

.hd-account-order-meta span {
  color: var(--hd-muted);
  font-size: 10px;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.hd-account-order-meta strong {
  color: var(--hd-ch);
  font-size: 14px;
  line-height: 1.35;
  font-weight: 500;
}

.hd-account-order-actions {
  margin-top: 14px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.hd-account-order-updates {
  margin-top: 22px;
  border: 1px solid var(--hd-line);
  background: #fff;
  padding: 20px;
}

.hd-account-order-updates h2 {
  margin: 0 0 12px;
  color: var(--hd-ch);
  font-family: 'Yeseva One', serif;
  font-size: 1.7rem;
  font-weight: 300;
}

.hd-account-order-notes {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 10px;
}

.hd-account-order-notes li {
  border: 1px solid var(--hd-line);
  background: var(--hd-cream);
  padding: 12px 14px;
}

.hd-account-order-note-date {
  margin: 0 0 6px;
  color: var(--hd-muted);
  font-size: 11px;
  letter-spacing: .06em;
}

.hd-account-order-note-text p {
  margin: 0;
  color: var(--hd-text);
  line-height: 1.75;
}

.hd-account-order-details {
  margin-top: 22px;
  border: 1px solid var(--hd-line);
  background: #fff;
  padding: 20px;
}

.hd-account-order-details .woocommerce-order-details,
.hd-account-order-details .woocommerce-customer-details {
  margin-top: 0;
}

/* .woocommerce-order-details__title removed physically in order/order-details.php override */

.hd-account-order-details .woocommerce-column__title {
  margin: 0 0 12px;
  color: var(--hd-ch);
  font-family: 'Yeseva One', serif;
  font-size: 1.7rem;
  font-weight: 300;
}

@media (max-width: 900px) {
  .hd-account-order-meta {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .hd-account-order {
    margin: 26px auto 60px;
    padding: 0 14px;
  }
  .hd-account-order-head,
  .hd-account-order-updates,
  .hd-account-order-details {
    padding: 16px;
  }
  .hd-account-order-meta {
    grid-template-columns: 1fr;
  }
}

/* ─────────────────────────────────────────
   Woo - My account pages
───────────────────────────────────────── */

/* Remove hd-shop side padding for account pages so shell can breathe */
.woocommerce-account .hd-shop {
  padding-left: 0;
  padding-right: 0;
}

/* Woo's own .woocommerce div is just a pass-through */
.woocommerce-account .woocommerce {
  max-width: none;
  margin: 0;
  padding: 0;
  display: block;
  float: none;
  width: auto;
}

/* The actual layout shell */
.woocommerce-account .hd-account-shell {
  max-width: 1540px;
  margin: 38px auto 80px;
  padding: 0 24px;
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 24px;
  align-items: start;
}

.woocommerce-account .hd-account-shell-head {
  grid-column: 1 / -1;
  border: 1px solid var(--hd-line);
  background: linear-gradient(160deg, #fff 0%, #fcf9f4 100%);
  padding: 22px 24px;
}

.woocommerce-account .hd-account-shell-eyebrow {
  margin: 0 0 8px;
  color: var(--hd-gold);
  font-size: 10px;
  letter-spacing: .2em;
  text-transform: uppercase;
}

.woocommerce-account .hd-account-shell-title {
  margin: 0;
  color: var(--hd-ch);
  font-family: 'Yeseva One', serif;
  font-size: clamp(1.8rem, 3.4vw, 2.6rem);
  font-weight: 300;
  line-height: 1.1;
}

.woocommerce-account .hd-account-shell-meta {
  margin-top: 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.woocommerce-account .hd-account-shell-meta span {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  border: 1px solid var(--hd-line);
  background: #fff;
  color: var(--hd-muted);
  font-size: 10px;
  letter-spacing: .1em;
  text-transform: uppercase;
}

/* Keep notices/full-width helper blocks from breaking the 2-column layout. */
.woocommerce-account .woocommerce > .woocommerce-notices-wrapper,
.woocommerce-account .woocommerce > .woocommerce-message,
.woocommerce-account .woocommerce > .woocommerce-info,
.woocommerce-account .woocommerce > .woocommerce-error,
.woocommerce-account .hd-account-shell > .woocommerce-notices-wrapper,
.woocommerce-account .hd-account-shell > .woocommerce-message,
.woocommerce-account .hd-account-shell > .woocommerce-info,
.woocommerce-account .hd-account-shell > .woocommerce-error {
  grid-column: 1 / -1;
}

/* Override legacy Woo float layout in favor of CSS grid. */
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content {
  float: none;
  width: auto;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
  border: 1px solid var(--hd-line);
  background: linear-gradient(155deg, #fff 0%, #fbf8f3 100%);
  padding: 14px;
  align-self: start;
  position: sticky;
  top: 22px;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 6px;
}

.woocommerce-account .woocommerce-MyAccount-navigation-link a {
  display: flex;
  align-items: center;
  min-height: 42px;
  padding: 10px 12px;
  border: 1px solid transparent;
  color: var(--hd-text);
  text-decoration: none;
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
  background: transparent;
  transition: border-color .2s, background .2s, color .2s, transform .15s;
}

.woocommerce-account .woocommerce-MyAccount-navigation-link a:hover {
  border-color: var(--hd-line);
  background: #fff;
  color: var(--hd-ch);
  transform: translateX(1px);
}

.woocommerce-account .woocommerce-MyAccount-navigation-link.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation-link a[aria-current="page"] {
  border-color: var(--hd-ch);
  background: var(--hd-ch);
  color: var(--hd-cream);
}

.woocommerce-account .woocommerce-MyAccount-content {
  border: 1px solid var(--hd-line);
  background: #fff;
  padding: 24px;
  min-width: 0;
  max-width: 100%;
  overflow-x: visible;
}

.woocommerce-account .woocommerce-MyAccount-content > :first-child {
  margin-top: 0;
}

.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3 {
  color: var(--hd-ch);
  font-family: 'Yeseva One', serif;
  font-weight: 300;
  line-height: 1.15;
}

.woocommerce-account .woocommerce-MyAccount-content h2 {
  margin: 0 0 14px;
  font-size: clamp(1.7rem, 3.2vw, 2.3rem);
}

.woocommerce-account .woocommerce-MyAccount-content h3 {
  margin: 18px 0 10px;
  font-size: clamp(1.35rem, 2.6vw, 1.8rem);
}

.woocommerce-account .woocommerce-MyAccount-content p {
  color: var(--hd-text);
  line-height: 1.75;
}

.woocommerce-account .hd-account-dashboard {
  display: grid;
  gap: 14px;
}

.woocommerce-account .hd-account-dashboard-welcome {
  margin: 0;
  color: var(--hd-text);
}

.woocommerce-account .hd-account-dashboard-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.woocommerce-account .hd-account-dashboard-card {
  border: 1px solid var(--hd-line);
  background: linear-gradient(160deg, #fff 0%, #fcf9f4 100%);
  padding: 14px;
  text-decoration: none;
  display: grid;
  gap: 6px;
  transition: border-color .2s, transform .15s;
}

.woocommerce-account .hd-account-dashboard-card:hover {
  border-color: var(--hd-gold);
  transform: translateY(-1px);
}

.woocommerce-account .hd-account-dashboard-card span {
  color: var(--hd-gold);
  font-size: 10px;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.woocommerce-account .hd-account-dashboard-card strong {
  color: var(--hd-ch);
  font-weight: 500;
  line-height: 1.4;
}

.woocommerce-account .hd-account-dashboard-last-order {
  border: 1px solid var(--hd-line);
  background: #fff;
  padding: 14px;
}

.woocommerce-account .hd-account-dashboard-last-order-eyebrow {
  margin: 0 0 6px;
  color: var(--hd-muted);
  font-size: 10px;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.woocommerce-account .hd-account-dashboard-last-order p {
  margin: 0 0 10px;
}

.woocommerce-account .hd-account-dashboard-logout {
  margin: 0;
}

.woocommerce-account .hd-account-orders-head h2 {
  margin-bottom: 6px;
}

.woocommerce-account .hd-account-orders-head p {
  margin: 0 0 14px;
  color: var(--hd-muted);
}

.woocommerce-account .hd-account-table-wrap {
  width: 100%;
}

.woocommerce-account .woocommerce-MyAccount-content a {
  color: var(--hd-gold);
}

.woocommerce-account .woocommerce-MyAccount-content table.shop_table,
.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: auto;
  border-color: var(--hd-line);
}

.woocommerce-account .woocommerce-MyAccount-content table.shop_table th,
.woocommerce-account .woocommerce-MyAccount-content table.shop_table td,
.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table th,
.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table td {
  padding: 12px 10px;
  border-color: var(--hd-line);
  vertical-align: middle;
}

.woocommerce-account .woocommerce-MyAccount-content table.shop_table td,
.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table td {
  word-break: break-word;
  overflow-wrap: anywhere;
}

.hd-account-order-details .woocommerce-order-details,
.hd-account-order-details .woocommerce-customer-details {
  overflow-x: auto;
}

/* ── Order details table ── */
.hd-account-order-details table.shop_table {
  width: 100%;
  border-collapse: collapse;
  table-layout: auto;
  border: 1px solid var(--hd-line);
}

.hd-account-order-details table.shop_table th,
.hd-account-order-details table.shop_table td {
  padding: 12px 14px;
  border-bottom: 1px solid var(--hd-line);
  vertical-align: middle;
}

/* Header row */
.hd-account-order-details table.shop_table thead th {
  background: var(--hd-cream);
  color: var(--hd-muted);
  font-size: 10px;
  letter-spacing: .16em;
  text-transform: uppercase;
  font-weight: 500;
  font-family: 'Forum', serif;
}

/* Product name column */
.hd-account-order-details table.shop_table .product-name a {
  color: var(--hd-ch);
  text-decoration: none;
  font-weight: 500;
}
.hd-account-order-details table.shop_table .product-name a:hover {
  color: var(--hd-gold);
}
.hd-account-order-details table.shop_table .product-quantity {
  color: var(--hd-muted);
  font-weight: 400;
}

/* Variation meta */
.hd-account-order-details table.shop_table .wc-item-meta {
  list-style: none;
  margin: 6px 0 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 4px 12px;
}
.hd-account-order-details table.shop_table .wc-item-meta li {
  display: flex;
  align-items: baseline;
  gap: 4px;
  font-size: 11px;
  color: var(--hd-muted);
}
.hd-account-order-details table.shop_table .wc-item-meta .wc-item-meta-label {
  font-weight: 500;
  color: var(--hd-muted);
  font-size: 10px;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.hd-account-order-details table.shop_table .wc-item-meta p {
  margin: 0;
  font-size: 11px;
  color: var(--hd-text);
}

/* Price column */
.hd-account-order-details table.shop_table .product-total {
  text-align: right;
  white-space: nowrap;
  font-weight: 500;
}

/* Body rows hover */
.hd-account-order-details table.shop_table tbody tr:hover {
  background: var(--hd-cream);
}

/* Footer rows (totals) */
.hd-account-order-details table.shop_table tfoot tr:last-child td,
.hd-account-order-details table.shop_table tfoot tr:last-child th {
  border-bottom: none;
}
.hd-account-order-details table.shop_table tfoot th {
  color: var(--hd-muted);
  font-size: 10px;
  letter-spacing: .14em;
  text-transform: uppercase;
  font-weight: 500;
  text-align: left;
}
.hd-account-order-details table.shop_table tfoot td {
  text-align: right;
  font-weight: 500;
}
.hd-account-order-details table.shop_table tfoot tr:last-of-type td,
.hd-account-order-details table.shop_table tfoot tr:last-of-type th {
  font-size: 1rem;
  font-weight: 700;
  color: var(--hd-ch);
}
.hd-account-order-details table.shop_table tfoot .shipped_via {
  color: var(--hd-muted);
  font-size: 11px;
  font-weight: 400;
}

/* ── Customer address columns ── */
.hd-account-order-details .woocommerce-customer-details {
  margin-top: 24px;
}
.hd-account-order-details .woocommerce-columns--addresses {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin: 0;
}
/* Reset WooCommerce float-based columns */
.hd-account-order-details .woocommerce-columns--addresses .col-1,
.hd-account-order-details .woocommerce-columns--addresses .col-2 {
  float: none;
  width: auto;
  padding: 0;
  margin: 0;
}
.hd-account-order-details .woocommerce-column {
  border: 1px solid var(--hd-line);
  background: var(--hd-cream);
  padding: 16px 18px;
}
.hd-account-order-details .woocommerce-column__title {
  margin: 0 0 10px !important;
  font-size: 10px !important;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--hd-muted) !important;
  font-family: 'Forum', serif !important;
  font-weight: 500 !important;
}
.hd-account-order-details address {
  font-style: normal;
  font-size: 13px;
  line-height: 1.7;
  color: var(--hd-text);
}
.hd-account-order-details address .woocommerce-customer-details--phone,
.hd-account-order-details address .woocommerce-customer-details--email {
  margin: 4px 0 0;
  color: var(--hd-muted);
  font-size: 12px;
}

@media (max-width: 620px) {
  .hd-account-order-details .woocommerce-columns--addresses {
    grid-template-columns: 1fr;
  }
}

.woocommerce-account .woocommerce-MyAccount-content table.shop_table th,
.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table th {
  color: var(--hd-muted);
  font-size: 10px;
  letter-spacing: .16em;
  text-transform: uppercase;
  font-weight: 500;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-actions .button {
  padding: 9px 14px !important;
  font-size: 10px !important;
  letter-spacing: .14em !important;
}

/* Order status badges */
.hd-order-status {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 20px;
  font-size: 11px;
  font-weight: 500;
  font-family: 'Forum', serif;
  letter-spacing: .04em;
  white-space: normal;
  word-break: break-word;
  max-width: 180px;
}
.hd-order-status--processing  { background: #FFF5DC; color: #7a5c00; }
.hd-order-status--on-hold     { background: #FFF0DC; color: #7a4200; }
.hd-order-status--pending     { background: #EEF0FA; color: #3a3a82; }
.hd-order-status--completed   { background: #E4F3E6; color: #1a5e30; }
.hd-order-status--cancelled   { background: #F3E4E4; color: #7a1a1a; }
.hd-order-status--failed      { background: #F3E4E4; color: #7a1a1a; }
.hd-order-status--refunded    { background: #F0F0ED; color: #5a5a55; }

/* Row hover */
.woocommerce-account .hd-orders-table tbody tr:hover {
  background: var(--hd-cream);
  transition: background .15s;
}

/* My account addresses (billing/shipping) */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  align-items: start;
}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses .col-1,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses .col-2,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses .u-column1,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses .u-column2 {
  float: none !important;
  clear: none !important;
  width: 100% !important;
  max-width: none;
  margin: 0;
  padding: 0;
}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses .col-1,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses .u-column1 {
  grid-column: 1;
}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses .col-2,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses .u-column2 {
  grid-column: 2;
}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses .woocommerce-Address {
  border: 1px solid var(--hd-line);
  background: var(--hd-cream);
  display: flex;
  flex-direction: column;
  min-height: 100%;
}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin: 0;
  padding: 14px 16px;
  border-bottom: 1px solid var(--hd-line);
}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title h2 {
  margin: 0;
  font-size: clamp(1.8rem, 2.8vw, 2.4rem);
  line-height: 1.06;
}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title .edit {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 10px;
  border: 1px solid var(--hd-line);
  text-decoration: none;
  color: var(--hd-gold);
  font-size: 10px;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address address {
  margin: 0;
  padding: 14px 16px 16px;
  border: none;
  background: transparent;
  font-style: normal;
  line-height: 1.7;
}


.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields,
.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-EditAccountForm {
  border: 1px solid var(--hd-line);
  padding: 16px;
  background: linear-gradient(160deg, #fff 0%, #fcf9f4 100%);
}

.woocommerce-account .woocommerce-MyAccount-content .form-row label {
  color: var(--hd-muted);
  font-size: 10px;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.woocommerce-account .woocommerce-MyAccount-content input.input-text,
.woocommerce-account .woocommerce-MyAccount-content select,
.woocommerce-account .woocommerce-MyAccount-content textarea {
  border: 1px solid var(--hd-line);
  background: #fff;
  color: var(--hd-text);
}

.woocommerce-account .woocommerce-MyAccount-content input.input-text:focus,
.woocommerce-account .woocommerce-MyAccount-content select:focus,
.woocommerce-account .woocommerce-MyAccount-content textarea:focus {
  border-color: var(--hd-gold);
  outline: none;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-error {
  border: 1px solid var(--hd-line);
  background: #fff;
  color: var(--hd-text);
  margin-bottom: 14px;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message {
  border-left: 3px solid #6a9e6a;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info {
  border-left: 3px solid var(--hd-gold);
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-error {
  border-left: 3px solid #b85a3a;
}

@media (max-width: 980px) {
  .woocommerce-account .hd-account-shell {
    grid-template-columns: 1fr;
    gap: 12px;
    margin-top: 26px;
    padding: 0 14px;
  }
  .woocommerce-account .woocommerce-MyAccount-navigation {
    position: static;
  }
  .woocommerce-account .woocommerce-MyAccount-navigation ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .woocommerce-account .hd-account-dashboard-cards {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 620px) {
  .woocommerce-account .woocommerce-MyAccount-content {
    padding: 16px;
  }
  .woocommerce-account .woocommerce-MyAccount-navigation ul {
    grid-template-columns: 1fr;
  }

  .woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses .col-1,
  .woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses .col-2,
  .woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses .u-column1,
  .woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses .u-column2 {
    grid-column: auto;
  }
  .woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title {
    flex-direction: column;
    align-items: flex-start;
    padding: 12px 14px;
  }
  .woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title .edit {
    min-height: 0;
    padding: 0;
    border: none;
    letter-spacing: .08em;
  }

  /* Mobile card layout for orders table */
  .woocommerce-account .hd-orders-table thead {
    display: none;
  }
  .woocommerce-account .hd-orders-table,
  .woocommerce-account .hd-orders-table tbody {
    display: block;
    width: 100%;
  }
  .woocommerce-account .hd-orders-table tr {
    display: block;
    border: 1px solid var(--hd-line);
    background: #fff;
    padding: 4px 12px;
    margin-bottom: 12px;
    box-sizing: border-box;
    overflow: hidden;
  }
  .woocommerce-account .hd-orders-table th,
  .woocommerce-account .hd-orders-table td {
    display: flex !important;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    padding: 9px 0;
    border: none !important;
    border-bottom: 1px solid var(--hd-line) !important;
    float: none !important;
    width: 100% !important;
    box-sizing: border-box;
    overflow-wrap: anywhere;
    word-break: break-word;
  }
  .woocommerce-account .hd-orders-table tr > th:last-child,
  .woocommerce-account .hd-orders-table tr > td:last-child {
    border-bottom: none !important;
  }
  .woocommerce-account .hd-orders-table th::before,
  .woocommerce-account .hd-orders-table td::before {
    content: attr(data-title);
    flex-shrink: 0;
    color: var(--hd-muted);
    font-size: 10px;
    letter-spacing: .14em;
    text-transform: uppercase;
    font-weight: 500;
    float: none !important;
  }
  .woocommerce-account .hd-orders-table .woocommerce-orders-table__cell-order-actions {
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: space-between;
  }
  .woocommerce-account .hd-orders-table .woocommerce-orders-table__cell-order-actions .button {
    margin: 0;
  }
}

/* Dark background variant (hero, about strip) */
.btn-outline-light,
a.btn-outline-light {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 14px 36px;
  background: transparent;
  color: var(--hd-cream) !important;
  font-family: 'Forum', serif;
  font-size: 10px;
  font-weight: 400;
  letter-spacing: .22em;
  text-transform: uppercase;
  text-decoration: none !important;
  border: 1px solid rgba(240,228,204,.45);
  cursor: pointer;
  transition: background .22s, border-color .22s;
  border-radius: 0;
}
.btn-outline-light:hover,
a.btn-outline-light:hover {
  background: rgba(240,228,204,.12);
  border-color: rgba(240,228,204,.7);
}

/* ─────────────────────────────────────────
   Footer
───────────────────────────────────────── */
.hd-footer {
  background: #000;
  color: rgba(255,255,255,.78);
  padding: 64px 0 0;
}
.hd-footer-inner {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 48px;
  padding: 0 48px 48px;
  max-width: 1540px;
  margin: 0 auto;
  border-bottom: 1px solid rgba(255,255,255,.12);
}
.hd-foot-logo {
  font-family: 'Yeseva One', serif;
  font-size: 1.725rem;
  font-weight: 300;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: .18em;
  margin-bottom: 16px;
  display: block;
  text-decoration: none;
  line-height: 1;
}
.hd-foot-tagline {
  font-size: 14px;
  color: rgba(255,255,255,.66);
  line-height: 1.8;
  margin: 0;
}
/* Column heading — both <p class="hd-foot-col-hdg"> and widget <h5> */
.hd-foot-col-hdg,
.hd-footer h5 {
  font-family: 'Yeseva One', serif;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--hd-gold);
  margin: 0 0 18px;
  padding: 0;
}
.hd-foot-toggle {
  width: 100%;
  text-align: left;
  background: none;
  border: none;
  cursor: default;
}
.hd-footer ul,
.hd-foot-links {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.hd-footer li a,
.hd-foot-links li a {
  font-size: 14px;
  color: rgba(255,255,255,.78);
  text-decoration: none;
  transition: color .2s;
}
.hd-footer li a:hover,
.hd-foot-links li a:hover { color: var(--hd-gold); }
/* Strip nav menu <nav> container styles */
.hd-footer nav { display: block; }
.hd-footer .hd-foot-links { /* same as above */ }
.hd-foot-bottom {
  max-width: 1540px;
  margin: 0 auto;
  padding: 24px 48px;
  display: flex;
  justify-content: space-between;
  font-size: 13px;
  letter-spacing: .1em;
  color: rgba(255,255,255,.45);
  flex-wrap: wrap;
  gap: 8px;
}

/* ─────────────────────────────────────────
   No products
───────────────────────────────────────── */
.hd-empty {
  padding: 80px 48px;
  text-align: center;
}
.hd-empty p {
  color: var(--hd-muted);
  font-size: 14px;
  letter-spacing: .1em;
}

/* ─────────────────────────────────────────
   Responsive
───────────────────────────────────────── */
@media (max-width: 1200px) {
  .hd-products { grid-template-columns: repeat(3, 1fr); }
  .hd-products.hd-cols-5 { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 900px) {
  .hd-cat-header, .hd-shop { padding-left: 20px; padding-right: 20px; }
  .hd-products,
  .hd-products.hd-cols-3,
  .hd-products.hd-cols-5 { grid-template-columns: repeat(2, 1fr); }
  .hd-nav {
    grid-template-columns: 1fr auto 1fr;
    padding: 12px 20px;
  }
  .hd-nav-logo { justify-self: center; }
  .hd-nav-hamburger {
    order: 3;
  }
  .hd-nav-right { justify-self: end; gap: 14px; }
  /* Hide labels under icons on mobile to save space */
  .hd-nav-right .hd-nav-icon-label { display: none; }
  /* Second menu row collapses into the hamburger drawer on mobile */
  .hd-nav-row {
    border: 0;
    padding: 0;
  }
  .hd-nav-links { display: none; }
  .hd-nav-links.is-open {
    display: flex;
    flex-direction: column;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #fff;
    border-top: 1px solid rgba(0,0,0,.1);
    border-bottom: 1px solid rgba(0,0,0,.1);
    box-shadow: 0 8px 24px rgba(0,0,0,.1);
    padding: 20px 20px 28px;
    gap: 8px;
    z-index: 199;
  }
  /* Mobile menu links — dark text on white background */
  .hd-nav-links.is-open > li > a {
    color: #1a1a1a;
    font-size: 14px;
    letter-spacing: .14em;
    padding: 6px 0;
    display: block;
  }
  .hd-nav-links.is-open > li > a:hover {
    color: var(--hd-gold);
  }
  .hd-nav-hamburger { display: flex; }
  /* Sub-menu on mobile — collapsed by default, expanded via .is-mobile-open */
  .hd-nav-links .sub-menu,
  .hd-nav-links .sub-menu .sub-menu {
    display: none;
    position: static;
    transform: none;
    min-width: 0;
    background: none;
    border: none;
    box-shadow: none;
    padding: 4px 0 0 16px;
  }
  .hd-nav-links .menu-item-has-children.is-mobile-open > .sub-menu {
    display: block;
  }
  /* Hide the desktop CSS-only chevrons on mobile — we use the JS toggle button */
  .hd-nav-links > li.menu-item-has-children > a::after,
  .hd-nav-links .sub-menu li.menu-item-has-children > a::after {
    display: none;
  }
  /* Parent row: link grows, chevron sits on the right */
  .hd-nav-links.is-open .menu-item-has-children {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }
  .hd-nav-links.is-open .menu-item-has-children > a {
    flex: 1 1 auto;
  }
  .hd-nav-links.is-open .menu-item-has-children > .sub-menu {
    flex: 1 0 100%;
  }
  /* Chevron toggle button */
  .hd-sub-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    margin-left: 8px;
    padding: 0;
    background: transparent;
    border: 0;
    color: rgba(0,0,0,.55);
    cursor: pointer;
    transition: transform .2s, color .2s;
  }
  .hd-sub-toggle:hover { color: var(--hd-gold); }
  .hd-sub-toggle[aria-expanded="true"] { transform: rotate(180deg); color: var(--hd-gold); }
  .hd-nav-links .sub-menu a {
    padding: 6px 0;
    font-size: 11px;
    color: rgba(0,0,0,.65);
  }
  .hd-nav-links .sub-menu a:hover {
    color: var(--hd-gold-l);
  }
  .hd-footer { padding-top: 52px; }
  .hd-footer-inner {
    grid-template-columns: 1fr 1fr;
    gap: 30px 24px;
    padding-bottom: 34px;
    align-items: start;
  }
  .hd-foot-col-hdg,
  .hd-footer h5 {
    margin-bottom: 12px;
    letter-spacing: .18em;
  }
  .hd-foot-links,
  .hd-footer ul {
    gap: 0;
  }
  .hd-foot-links li a,
  .hd-footer li a {
    display: block;
    padding: 8px 0;
    font-size: 13px;
    line-height: 1.5;
  }
  .hd-foot-bottom, .hd-footer-inner { padding-left: 20px; padding-right: 20px; }
}
@media (max-width: 600px) {
  .hd-lb {
    align-items: flex-start;
    padding: 10px;
  }
  .hd-products,
  .hd-products.hd-cols-3,
  .hd-products.hd-cols-5 { grid-template-columns: repeat(2, 1fr); }
  .hd-cat-header { padding-top: 28px; }
  .hd-cat-header { flex-direction: column; align-items: flex-start; }
  .hd-lb-wrap {
    height: calc(100dvh - 20px);
    min-height: 0;
    max-height: calc(100dvh - 20px);
  }
  .hd-lb-content {
    flex-direction: column;
    flex: 1 1 auto;
    height: 100%;
    min-height: 0;
    overflow: hidden;
  }
  .hd-lb-col-img {
    width: 100%;
    height: min(60vw, 280px);
    min-height: 180px;
    flex-shrink: 0;
  }
  .hd-lb-col-info {
    width: 100%;
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-y;
    padding: 24px 20px;
  }
  .hd-footer { padding-top: 44px; }
  .hd-footer-inner {
    grid-template-columns: 1fr;
    gap: 22px;
    padding-bottom: 22px;
  }
  .hd-foot-brand { margin-bottom: 2px; }
  .hd-foot-logo { font-size: 1.4rem; margin-bottom: 10px; }
  .hd-foot-tagline { max-width: 34ch; }
  .hd-foot-col {
    border-bottom: 1px solid rgba(240,228,204,.1);
    padding-bottom: 14px;
  }
  .hd-foot-col:last-child {
    border-bottom: none;
    padding-bottom: 0;
  }
  .hd-foot-col-hdg,
  .hd-footer h5 {
    font-size: 11px;
    margin-bottom: 8px;
  }
  .hd-footer.js-foot-accordion .hd-foot-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    cursor: pointer;
    margin-bottom: 0;
    padding: 4px 0;
  }
  .hd-footer.js-foot-accordion .hd-foot-toggle::after {
    content: '+';
    font-size: 18px;
    line-height: 1;
    color: var(--hd-gold);
    transform-origin: center;
    transition: transform .2s ease;
  }
  .hd-footer.js-foot-accordion .hd-foot-toggle[aria-expanded="true"]::after {
    transform: rotate(45deg);
  }
  .hd-footer.js-foot-accordion .hd-foot-col .hd-foot-links {
    max-height: 0;
    overflow: hidden;
    transition: max-height .28s ease;
  }
  .hd-footer.js-foot-accordion .hd-foot-col.is-open .hd-foot-links {
    max-height: 480px;
  }
  .hd-footer.js-foot-accordion .hd-foot-col-hdg:focus-visible {
    outline: 2px solid var(--hd-gold);
    outline-offset: 3px;
  }
  .hd-foot-links li a,
  .hd-footer li a {
    padding: 10px 0;
    font-size: 13px;
  }
  .hd-footer li a:focus-visible,
  .hd-foot-links li a:focus-visible {
    outline: 2px solid var(--hd-gold);
    outline-offset: 2px;
  }
  .hd-foot-bottom {
    padding: 16px 20px 22px;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    font-size: 10px;
    letter-spacing: .08em;
  }
  /* Card info: smaller padding on narrow columns */
  .hd-pc-info { padding: 12px 12px 14px; }
}

/* ═══════════════════════════════════════════
   SINGLE PRODUCT PAGE
═══════════════════════════════════════════ */

/* Breadcrumb bar */
.hd-breadcrumb-bar {
  max-width: 1540px;
  margin: 0 auto;
  padding: 22px 48px 0;
}
.hd-breadcrumb-bar .hd-breadcrumb,
.hd-breadcrumb-bar nav.woocommerce-breadcrumb {
  font-size: 11px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--hd-muted);
}
.hd-breadcrumb-bar a { color: var(--hd-muted); text-decoration: none; transition: color .2s; }
.hd-breadcrumb-bar a:hover { color: var(--hd-gold); }

/* 2-column product layout */
.hd-sp {
  max-width: 1540px;
  margin: 0 auto;
  padding: 36px 48px 80px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: start;
}

/* ── Gallery (left column) ── */
.hd-sp-gallery { position: sticky; top: 88px; }
.hd-sp-fig { margin: 0; padding: 0; border: none; }

.hd-sp-img-wrap {
  position: relative;
  background: var(--hd-beige);
  overflow: hidden;
  aspect-ratio: 1;
}

/* Główne zdjęcie produktu */
.hd-sp-main-img {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
}
.hd-sp-photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .65s cubic-bezier(.22,1,.36,1);
}
.hd-sp-img-wrap:hover .hd-sp-photo { transform: scale(1.04); }

/* Thumbnails row */
.hd-sp-thumbs {
  display: flex;
  gap: 8px;
  margin-top: 10px;
  flex-wrap: wrap;
}
.hd-sp-thumb {
  width: 64px;
  height: 64px;
  border: 2px solid var(--hd-line);
  background: var(--hd-beige);
  padding: 0;
  cursor: pointer;
  overflow: hidden;
  flex-shrink: 0;
  transition: border-color .18s;
}
.hd-sp-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.hd-sp-thumb.is-active,
.hd-sp-thumb:hover { border-color: var(--hd-ch); }
.hd-product-gradient-placeholder--single {
  position: absolute;
  inset: 0;
  background: linear-gradient(160deg, #f5e7d6 0%, #d7b99a 58%, #9f734b 100%);
}
.hd-sp-img-el {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .65s cubic-bezier(.22,1,.36,1);
}
.hd-sp-img-wrap:hover .hd-sp-img-el { transform: scale(1.04); }
/* img transition for JS thumbnail swap */
.hd-sp-img-el { transition: transform .65s cubic-bezier(.22,1,.36,1), opacity .2s; }

/* Zoom button */
.hd-gallery-zoom {
  position: absolute; bottom: 14px; right: 14px;
  width: 38px; height: 38px; border-radius: 50%;
  background: rgba(250,247,242,.9); backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px);
  border: none; display: flex; align-items: center; justify-content: center;
  color: var(--hd-ch); box-shadow: 0 2px 12px rgba(44,24,16,.15);
  cursor: pointer; text-decoration: none;
  opacity: 0; transition: opacity .25s; z-index: 3;
}
.hd-sp-img-wrap:hover .hd-gallery-zoom { opacity: 1; }
.hd-gallery-zoom:hover { background: var(--hd-ch); color: var(--hd-cream); }

/* Prev / Next arrows — always visible */
.hd-gallery-arrow {
  position: absolute; top: 50%; transform: translateY(-50%);
  width: 38px; height: 38px; border-radius: 50%;
  background: rgba(250,247,242,.9); backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px);
  border: none; display: flex; align-items: center; justify-content: center;
  color: var(--hd-ch); box-shadow: 0 2px 12px rgba(44,24,16,.15);
  cursor: pointer; z-index: 3;
  opacity: 1; transition: background .2s, color .2s, opacity .2s;
}
.hd-gallery-prev { left: 12px; }
.hd-gallery-next { right: 12px; }
.hd-gallery-arrow:hover { background: var(--hd-ch); color: var(--hd-cream); }
.hd-gallery-arrow svg { display: block; }

/* Lightbox overlay */
.hd-glb {
  display: none;
  position: fixed; inset: 0; z-index: 10000;
  background: rgba(20,10,5,.92);
  align-items: center; justify-content: center;
}
.hd-glb.is-open { display: flex; }
.hd-glb-img {
  max-width: 92vw; max-height: 90vh;
  object-fit: contain;
  box-shadow: 0 8px 60px rgba(0,0,0,.5);
  display: block;
  user-select: none;
}
.hd-glb-close {
  position: absolute; top: 18px; right: 20px;
  width: 42px; height: 42px; border-radius: 50%;
  background: rgba(250,247,242,.12); border: none;
  display: flex; align-items: center; justify-content: center;
  color: var(--hd-cream); cursor: pointer;
  transition: background .2s;
}
.hd-glb-close:hover { background: rgba(250,247,242,.25); }
.hd-glb-close svg { display: block; }
.hd-glb-prev, .hd-glb-next {
  position: absolute; top: 50%; transform: translateY(-50%);
  width: 48px; height: 48px; border-radius: 50%;
  background: rgba(250,247,242,.12); border: none;
  display: flex; align-items: center; justify-content: center;
  color: var(--hd-cream); cursor: pointer;
  transition: background .2s;
}
.hd-glb-prev { left: 20px; }
.hd-glb-next { right: 20px; }
.hd-glb-prev:hover, .hd-glb-next:hover { background: rgba(250,247,242,.25); }
.hd-glb-prev svg, .hd-glb-next svg { display: block; }

/* Thumbnails */
.hd-sp-thumbs {
  display: flex; gap: 8px; margin-top: 10px; flex-wrap: wrap;
}
.hd-sp-thumb {
  width: calc(25% - 6px); aspect-ratio: 1;
  overflow: hidden; background: var(--hd-beige);
  border: 2px solid transparent; cursor: pointer; padding: 0;
  transition: border-color .2s;
}
.hd-sp-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.hd-sp-thumb.active { border-color: var(--hd-gold); }
.hd-sp-thumb:hover:not(.active) { border-color: var(--hd-mid); }

/* Share bar */
.hd-gallery-share {
  display: flex; align-items: center; gap: 10px; margin-top: 18px;
  font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--hd-muted);
}
.hd-share-btn {
  width: 32px; height: 32px; border: 1px solid var(--hd-line);
  background: none; display: flex; align-items: center; justify-content: center;
  color: var(--hd-muted); border-radius: 50%; transition: all .2s;
  cursor: pointer; text-decoration: none;
}
.hd-share-btn:hover { border-color: var(--hd-ch); color: var(--hd-ch); }

/* ── Info column (right) ── */
.hd-sp-info { padding-top: 8px; }

/* Category label — output by haida_sp_category() prio 4 */
.hd-sp-info .hd-pinfo-cat {
  font-size: 10.5px; letter-spacing: .2em; text-transform: uppercase;
  color: var(--hd-gold); margin-bottom: 10px;
}

/* [WC] woocommerce_template_single_title() prio 5 */
.hd-sp-info .product_title.entry-title {
  font-family: 'Yeseva One', serif;
  font-size: clamp(1.8rem, 3.5vw, 2.8rem);
  font-weight: 300; line-height: 1.1;
  color: var(--hd-ch); margin: 0 0 6px;
}

/* [WC] woocommerce_template_single_rating() prio 10 */
.hd-sp-info .woocommerce-product-rating {
  display: flex; align-items: center; gap: 10px; margin-bottom: 4px;
}
.hd-sp-info .star-rating { font-size: 13px; color: var(--hd-gold); }
.hd-sp-info .star-rating::before { color: var(--hd-mid); }
.hd-sp-info .star-rating > span::before { color: var(--hd-gold); }
.hd-sp-info .woocommerce-review-link {
  font-size: 12px; color: var(--hd-muted); text-decoration: none;
  border-bottom: 1px solid var(--hd-line); transition: color .2s;
}
.hd-sp-info .woocommerce-review-link:hover { color: var(--hd-gold); }

/* Divider — output by haida_sp_divider() prio 15 */
.hd-div { height: 1px; background: var(--hd-line); margin: 20px 0; }

/* [WC] woocommerce_template_single_price() prio 20 */
.hd-sp-info p.price,
.hd-sp-info span.price {
  font-family: 'Yeseva One', serif;
  font-size: clamp(1.6rem, 2.5vw, 2.1rem);
  font-weight: 300; color: var(--hd-ch);
  display: flex; align-items: baseline; gap: 12px; margin-bottom: 18px;
}
.hd-sp-info .price del { font-size: 1.15rem; color: var(--hd-muted); font-weight: 300; opacity: .7; }
.hd-sp-info .price ins { text-decoration: none; color: #b85a3a; }
.hd-sp-info .price .amount { font-size: inherit; font-family: inherit; font-weight: inherit; }

/* [WC] woocommerce_template_single_excerpt() prio 25 */
.hd-sp-info .woocommerce-product-details__short-description {
  font-size: 14px; color: var(--hd-muted); line-height: 1.75; margin-bottom: 20px;
}
.hd-sp-info .woocommerce-product-details__short-description p { margin-bottom: 8px; }

/* [WC] woocommerce_template_single_add_to_cart() prio 30 */
/* Stock status */
.hd-sp-info .stock {
  font-size: 12px; letter-spacing: .12em; text-transform: uppercase;
  display: flex; align-items: center; gap: 8px; margin-bottom: 14px;
  color: var(--hd-muted);
}
.hd-sp-info p.in-stock::before,
.hd-sp-info .availability .in-stock::before {
  content: ''; display: inline-block;
  width: 7px; height: 7px; border-radius: 50%; background: #6a9e6a; flex-shrink: 0;
}
.hd-sp-info p.out-of-stock::before,
.hd-sp-info .availability .out-of-stock::before {
  content: ''; display: inline-block;
  width: 7px; height: 7px; border-radius: 50%; background: #b85a3a; flex-shrink: 0;
}

/* Add to cart form row */
.hd-sp-info form.cart {
  display: flex; flex-direction: row; gap: 10px; align-items: stretch; flex-wrap: wrap; margin: 0 0 10px;
}

/* Quantity input wrapper */
.hd-sp-info .quantity {
  display: flex; align-items: stretch; border: 1px solid var(--hd-line);
  overflow: hidden; height: 52px; flex-shrink: 0;
}
.hd-sp-info .quantity .qty {
  width: 50px; min-width: 50px; flex: 0 0 50px; display: block;
  text-align: center; border: none; outline: none;
  font-family: 'Forum', serif; font-size: 15px;
  background: none; color: var(--hd-ch); height: 100%;
  opacity: 1; visibility: visible;
  -moz-appearance: textfield;
}
.hd-sp-info .quantity .qty::-webkit-outer-spin-button,
.hd-sp-info .quantity .qty::-webkit-inner-spin-button { -webkit-appearance: none; }
/* +/- buttons injected via JS (initQtyBtns) */
.hd-sp-info .quantity .qty-btn {
  width: 40px; height: 100%; flex-shrink: 0;
  background: none; border: none; border-right: 1px solid var(--hd-line);
  font-size: 18px; line-height: 1; color: var(--hd-muted);
  cursor: pointer; display: flex; align-items: center; justify-content: center;
  transition: background .2s, color .2s;
}
.hd-sp-info .quantity .qty-btn:last-child { border-right: none; border-left: 1px solid var(--hd-line); }
.hd-sp-info .quantity .qty-btn:hover { background: var(--hd-beige); color: var(--hd-ch); }

/* Add to cart button — gold primary */
.hd-sp-info .single_add_to_cart_button,
.hd-sp-info .button.alt {
  flex: 1 !important;
  width: auto !important;
  height: 52px !important;
  min-width: 140px !important;
  background: var(--hd-gold) !important;
  color: #fff !important;
  border: 1px solid var(--hd-gold) !important;
  border-radius: 0 !important;
  font-size: 11px !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
  font-family: 'Forum', serif !important;
  font-weight: 400 !important;
  cursor: pointer !important;
  padding: 0 32px !important;
  transition: background .22s, border-color .22s !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
}
.hd-sp-info .single_add_to_cart_button:hover { background: var(--hd-gold-d) !important; border-color: var(--hd-gold-d) !important; }
.hd-sp-info .single_add_to_cart_button.disabled,
.hd-sp-info .single_add_to_cart_button[disabled] { background: var(--hd-muted) !important; border-color: var(--hd-muted) !important; cursor: not-allowed !important; }
.hd-sp-info .single_add_to_cart_button.loading::after {
  content: '';
  display: inline-block;
  width: 14px; height: 14px;
  border: 2px solid rgba(255,255,255,.35);
  border-top-color: #fff;
  border-radius: 50%;
  animation: hd-spin .7s linear infinite;
  margin-left: 9px;
}

/* Variable product: variation selects */
.hd-sp-info .variations { width: 100%; border-collapse: collapse; margin-bottom: 14px; }
.hd-sp-info .variations tr { border: none; }
.hd-sp-info .variations td,
.hd-sp-info .variations th { padding: 0; vertical-align: middle; text-align: left; }
.hd-sp-info .variations td.value { padding-bottom: 14px; }
.hd-sp-info .variations label {
  font-size: 10.5px; letter-spacing: .18em; text-transform: uppercase;
  color: var(--hd-ch); font-weight: 500; margin-bottom: 9px; display: block;
}
.hd-sp-info .variations select {
  padding: 9px 32px 9px 12px; border: 1px solid var(--hd-line);
  background: var(--hd-cream); color: var(--hd-text);
  font-family: 'Forum', serif; font-size: 13px;
  cursor: pointer; appearance: none; -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%238A7060'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 10px center;
  outline: none; border-radius: 0; min-width: 160px; transition: border-color .2s;
}
.hd-sp-info .variations select:focus { border-color: var(--hd-gold); }
.hd-sp-info .reset_variations {
  font-size: 11px; color: var(--hd-muted); margin-top: 6px; display: inline-block;
}
.hd-sp-info .reset_variations:hover { color: var(--hd-gold); }
.hd-sp-info .woocommerce-variation.single-variation {
  margin-bottom: 12px; font-size: 14px; color: var(--hd-muted);
}
.hd-sp-info .woocommerce-variation-price .price { font-size: 1.8rem; }

/* Variation swatches plugin overrides (body.woo-variation-swatches) */
.hd-sp-info .variable-items-wrapper { display: flex; gap: 8px; flex-wrap: wrap; }
.hd-sp-info .variable-item { border: 1px solid var(--hd-line) !important; border-radius: 999px !important; }
.hd-sp-info .color-variable-item,
.hd-sp-info .image-variable-item { width: 32px !important; height: 32px !important; padding: 0 !important; overflow: hidden; }
.hd-sp-info .color-variable-item .variable-item-span,
.hd-sp-info .image-variable-item .variable-item-span { width: 100%; height: 100%; border-radius: inherit; display: block; }
.hd-sp-info .image-variable-item img { width: 100%; height: 100%; object-fit: cover; }
.hd-sp-info .variable-item.selected { border-color: var(--hd-ch) !important; }
.hd-sp-info .variable-item:not(.out-of-stock-variable-item):hover { border-color: var(--hd-ch) !important; }
.hd-sp-info .variable-item.text-variable-item {
  padding: 7px 16px !important; font-family: 'Forum', serif !important;
  font-size: 11px !important; letter-spacing: .1em !important; text-transform: uppercase !important;
}
.hd-sp-info .variable-item.button-variable-item.selected { background: var(--hd-ch) !important; color: var(--hd-cream) !important; }

/* ── Quick View swatches (.hdx-sw*) ──────────────────────────────────────────
   Використовується в haida-quick-view.php для відображення атрибутів варіацій.
   Типи: text (текстовий пілл), color (кольорове коло), image (зображення).
   ────────────────────────────────────────────────────────────────────────── */
.hdx-swatches {
  border-top: 1px solid var(--hd-line);
  padding-top: 14px;
  margin-bottom: 4px;
}
.hdx-sw-group {
  margin-bottom: 14px;
}
.hdx-sw-group-label {
  display: block;
  font-size: 10.5px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--hd-ch);
  font-weight: 500;
  margin-bottom: 9px;
}
.hdx-sw-group-options {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

/* ── Базовий стиль для всіх свотчів ── */
.hdx-sw {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  cursor: pointer;
  transition: border-color .18s, background .18s, color .18s, box-shadow .18s;
}

/* ── Текстовий пілл (Rozmiar, średnica тощо) ── */
.hdx-sw--text {
  padding: 6px 14px;
  border: 1px solid var(--hd-line);
  border-radius: 999px;
  background: transparent;
  color: var(--hd-text);
}
.hdx-sw--text .hdx-sw-text {
  font-family: 'Forum', serif;
  font-size: 12px;
  letter-spacing: .08em;
  white-space: nowrap;
  color: inherit;
}
.hdx-sw--text:hover {
  border-color: var(--hd-ch);
  color: var(--hd-ch);
}

/* ── Кольоровий свотч ── */
.hdx-sw--color {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 2px solid var(--hd-line);
  overflow: hidden;
}
.hdx-sw--color span {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
}
.hdx-sw--color:hover {
  border-color: var(--hd-ch);
  box-shadow: 0 0 0 2px rgba(0,0,0,.08);
}

/* ── Зображення-свотч ── */
.hdx-sw--image {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 2px solid var(--hd-line);
  overflow: hidden;
}
.hdx-sw--image span {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
}
.hdx-sw--image:hover {
  border-color: var(--hd-ch);
  box-shadow: 0 0 0 2px rgba(0,0,0,.08);
}

/* Trust badges — output by haida_sp_trust() prio 35 */
.hd-trust {
  display: flex; border: 1px solid var(--hd-line); margin: 18px 0 6px;
}
.hd-trust-item {
  flex: 1; padding: 13px 8px; text-align: center; border-right: 1px solid var(--hd-line);
  display: flex; flex-direction: column; align-items: center; gap: 5px;
}
.hd-trust-item:last-child { border-right: none; }
.hd-trust-item svg { color: var(--hd-gold); flex-shrink: 0; }
.hd-trust-item strong {
  font-size: 9.5px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--hd-ch); font-weight: 500; line-height: 1.3;
}
.hd-trust-item span { font-size: 9.5px; color: var(--hd-muted); }

/* [WC] woocommerce_template_single_meta() prio 40 */
.hd-sp-info .product_meta {
  margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--hd-line);
  display: flex; flex-direction: column; gap: 7px;
}
.hd-sp-info .product_meta > span {
  font-size: 12px; color: var(--hd-muted); letter-spacing: .06em;
  display: flex; gap: 6px; align-items: baseline;
}
.hd-sp-info .product_meta .label {
  font-size: 10px; letter-spacing: .18em; text-transform: uppercase;
  color: var(--hd-ch); font-weight: 400; white-space: nowrap;
}
.hd-sp-info .product_meta a { color: var(--hd-muted); text-decoration: none; transition: color .2s; }
.hd-sp-info .product_meta a:hover { color: var(--hd-gold); }

/* ── Tabs ── */
.hd-sp-tabs {
  border-top: 1px solid var(--hd-line);
  max-width: 1540px; margin: 0 auto; padding: 0 48px 80px;
}
.hd-sp-tabs-nav {
  display: flex; border-bottom: 1px solid var(--hd-line); margin-bottom: 48px;
  overflow: visible;
}
.hd-sp-tab-btn {
  padding: 20px 32px 18px; background: none; border: none; border-radius: 0;
  font-size: 10.5px; letter-spacing: .2em; text-transform: uppercase;
  color: var(--hd-muted); border-bottom: 2px solid transparent;
  margin-bottom: -1px; cursor: pointer; white-space: nowrap;
  font-family: 'Forum', serif; transition: color .2s, border-color .2s;
}
.hd-sp-tab-btn:hover { color: var(--hd-ch); }
.hd-sp-tab-btn.active { color: var(--hd-ch); border-bottom-color: var(--hd-gold); }
.hd-tab-count { color: var(--hd-muted); font-weight: 300; }
.hd-sp-tab-panel { display: none; }
.hd-sp-tab-panel.active { display: block; }
.hd-tab-content { max-width: 900px; }

/* Tab content typography */
.hd-tab-content h2 {
  font-family: 'Yeseva One', serif; font-size: 1.8rem;
  font-weight: 300; color: var(--hd-ch); margin-bottom: 20px;
}
.hd-tab-content p {
  font-size: 14px; color: var(--hd-muted); line-height: 1.8; margin-bottom: 14px;
}
/* [WC] additional_information tab — attributes table */
.hd-tab-content table.shop_attributes {
  width: 100%; border-collapse: collapse; max-width: 600px;
}
.hd-tab-content table.shop_attributes tr { border-bottom: 1px solid var(--hd-line); }
.hd-tab-content table.shop_attributes th,
.hd-tab-content table.shop_attributes .woocommerce-product-attributes-item__label {
  text-align: left; padding: 13px 16px; font-size: 10.5px;
  letter-spacing: .18em; text-transform: uppercase;
  color: var(--hd-ch); font-weight: 500; background: var(--hd-beige); width: 40%;
}
.hd-tab-content table.shop_attributes td,
.hd-tab-content table.shop_attributes .woocommerce-product-attributes-item__value {
  padding: 13px 16px; font-size: 13px; color: var(--hd-muted);
}
/* [WC] reviews tab — comment list */
#reviews .woocommerce-Reviews-title { display: none; }
#reviews #comments ol.commentlist { list-style: none; padding: 0; margin: 0 0 40px; }
#reviews #comments ol.commentlist li.comment { padding: 24px 0; border-bottom: 1px solid var(--hd-line); }
#reviews #comments ol.commentlist li .meta {
  display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 10px;
}
#reviews #comments .woocommerce-review__author {
  font-weight: 400; font-size: 14px; color: var(--hd-ch);
}
#reviews #comments .woocommerce-review__date {
  font-size: 11px; color: var(--hd-muted);
}
#reviews #comments .star-rating { font-size: 12px; margin-bottom: 5px; }
#reviews #comments .description { font-size: 14px; color: var(--hd-muted); line-height: 1.7; }
/* Review form */
#review_form_wrapper h3,
#respond .comment-reply-title {
  font-family: 'Yeseva One', serif; font-size: 1.6rem;
  font-weight: 300; color: var(--hd-ch); margin-bottom: 22px;
}
#review_form label,
#respond label {
  font-size: 10.5px; letter-spacing: .18em; text-transform: uppercase;
  color: var(--hd-ch); display: block; margin-bottom: 7px;
}
#review_form input[type="text"],
#review_form input[type="email"],
#review_form textarea,
#respond input[type="text"],
#respond input[type="email"],
#respond textarea {
  width: 100%; padding: 11px 16px; border: 1px solid var(--hd-line);
  background: #fff; font-family: 'Forum', serif; font-size: 14px;
  color: var(--hd-text); outline: none; transition: border-color .2s; resize: vertical;
  border-radius: 0;
}
#review_form input:focus, #review_form textarea:focus,
#respond input:focus, #respond textarea:focus { border-color: var(--hd-gold); }
#review_form .form-submit input[type="submit"],
#respond .form-submit input[type="submit"] {
  padding: 14px 40px; background: var(--hd-ch); color: var(--hd-cream);
  border: none; border-radius: 0;
  font-size: 11px; letter-spacing: .22em; text-transform: uppercase;
  font-family: 'Forum', serif; cursor: pointer;
  transition: background .25s; margin-top: 8px;
}
#review_form .form-submit input[type="submit"]:hover,
#respond .form-submit input[type="submit"]:hover { background: #4a2c1e; }
#respond #comment-notes { font-size: 13px; color: var(--hd-muted); margin-bottom: 16px; }

/* ── Related products ── */
.hd-sp-below .hd-related {
  border-top: 1px solid var(--hd-line);
  max-width: 1540px; margin: 0 auto; padding: 60px 48px 80px;
}
.hd-related-header {
  display: flex; justify-content: space-between; align-items: center; margin-bottom: 40px;
}
.hd-related-title {
  font-family: 'Yeseva One', serif;
  font-size: clamp(1.6rem, 3vw, 2.2rem); font-weight: 300; color: var(--hd-ch);
}
.hd-related-title em { font-style: italic; color: var(--hd-gold); }
.hd-related-link {
  font-size: 11px; letter-spacing: .18em; text-transform: uppercase;
  color: var(--hd-muted); border-bottom: 1px solid var(--hd-line);
  padding-bottom: 2px; text-decoration: none; transition: color .2s, border-color .2s;
}
.hd-related-link:hover { color: var(--hd-gold); border-color: var(--hd-gold); }
.hd-related-grid { margin-top: 0 !important; }

/* ── SP Responsive ── */
@media (max-width: 1024px) {
  .hd-sp { grid-template-columns: 1fr; gap: 36px; }
  .hd-sp-gallery { position: static; }
  .hd-sp-related-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
  .hd-sp,
  .hd-sp-tabs,
  .hd-sp-below .hd-related { padding-left: 20px; padding-right: 20px; }
}

/* =====================================================
   BLOG — archive, single
   ===================================================== */

/* ── Blog wrap ── */
.hd-blog-wrap { min-height: 70vh; }

/* ── Hero ── */
.hd-blog-hero {
  background: var(--hd-ch);
  padding: 72px 48px 64px;
  display: flex; flex-direction: column; align-items: center; text-align: center;
  gap: 16px; position: relative; overflow: hidden;
}
.hd-blog-hero::before {
  content: '';
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 60% 50%, rgba(200,145,58,.18) 0%, transparent 65%);
  pointer-events: none;
}
.hd-blog-hero-eyebrow {
  font-size: 10px; letter-spacing: .32em; text-transform: uppercase; color: var(--hd-gold);
  position: relative;
}
.hd-blog-hero-title {
  font-family: 'Yeseva One', serif;
  font-size: clamp(2.4rem, 5vw, 3.8rem); font-weight: 300; line-height: 1.1;
  color: var(--hd-cream); position: relative;
}
.hd-blog-hero-title em { font-style: italic; color: var(--hd-gold); }
.hd-blog-hero-sub {
  font-size: 13px; color: rgba(250,247,242,.6);
  max-width: 480px; line-height: 1.8; position: relative;
}

/* ── Category filter ── */
.hd-blog-filter {
  display: flex; align-items: center; justify-content: center;
  gap: 8px; flex-wrap: wrap;
  padding: 28px 24px; border-bottom: 1px solid var(--hd-line);
}
.hd-filter-btn {
  padding: 7px 18px; background: transparent;
  border: 1px solid var(--hd-line); color: var(--hd-muted);
  font-size: 10px; letter-spacing: .14em; text-transform: uppercase;
  cursor: pointer; transition: all .2s; text-decoration: none; display: inline-block;
}
.hd-filter-btn:hover, .hd-filter-btn.active {
  background: var(--hd-ch); color: var(--hd-cream); border-color: var(--hd-ch);
}

/* ── Featured post ── */
.hd-blog-featured {
  display: grid; grid-template-columns: 1fr 1fr;
  max-width: 1200px; margin: 56px auto 0; padding: 0 48px;
  gap: 56px; align-items: center;
}
.hd-blog-featured-img {
  display: block; aspect-ratio: 4/3; overflow: hidden; background: var(--hd-beige);
}
.hd-blog-featured-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s; }
.hd-blog-featured-img:hover img { transform: scale(1.04); }
.hd-blog-featured-img-placeholder { width: 100%; height: 100%; background: var(--hd-beige); }

.hd-blog-featured-info { display: flex; flex-direction: column; gap: 18px; }
.hd-blog-featured-tag {
  font-size: 10px; letter-spacing: .28em; text-transform: uppercase; color: var(--hd-gold);
}
.hd-blog-featured-tag a { color: inherit; text-decoration: none; }
.hd-blog-featured-tag a:hover { text-decoration: underline; }
.hd-blog-featured-info h2 {
  font-family: 'Yeseva One', serif;
  font-size: clamp(1.8rem, 3vw, 2.6rem); font-weight: 300; line-height: 1.15; color: var(--hd-ch);
}
.hd-blog-featured-info h2 a { color: inherit; text-decoration: none; }
.hd-blog-featured-info h2 a:hover { color: var(--hd-gold); }
.hd-blog-featured-meta {
  font-size: 11px; color: var(--hd-muted); letter-spacing: .08em;
  display: flex; gap: 0; align-items: center; flex-wrap: wrap;
}
.hd-blog-featured-meta span { margin-right: 16px; }
.hd-blog-featured-meta span + span::before { content: '·'; margin-right: 16px; }
.hd-blog-featured-excerpt {
  font-size: 13px; color: var(--hd-muted); line-height: 1.9;
}
.hd-blog-featured-cta { align-self: flex-start; }

/* ── Grid wrapper ── */
.hd-blog-grid-wrap {
  max-width: 1200px; margin: 64px auto 80px; padding: 0 48px;
}
.hd-blog-grid-header {
  display: flex; align-items: baseline; justify-content: space-between;
  margin-bottom: 36px; padding-bottom: 20px; border-bottom: 1px solid var(--hd-line);
}
.hd-blog-grid-header h3 {
  font-family: 'Yeseva One', serif; font-size: 1.5rem; font-weight: 300; color: var(--hd-ch);
}
.hd-blog-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 36px 28px;
}

/* ── Post card ── */
.hd-post-card { display: flex; flex-direction: column; }
.hd-post-card-img {
  display: block; aspect-ratio: 3/2; overflow: hidden;
  background: var(--hd-beige); position: relative; margin-bottom: 22px;
}
.hd-post-card-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s; }
.hd-post-card:hover .hd-post-card-img img { transform: scale(1.04); }
.hd-post-card-img-placeholder { width: 100%; height: 100%; background: var(--hd-beige); }
.hd-post-card-badge {
  position: absolute; bottom: 12px; right: 12px;
  background: rgba(44,24,16,.75); color: var(--hd-cream);
  font-size: 9px; letter-spacing: .14em; text-transform: uppercase; padding: 4px 9px;
}
.hd-post-card-cat {
  font-size: 10px; letter-spacing: .22em; text-transform: uppercase;
  color: var(--hd-gold); margin-bottom: 8px;
}
.hd-post-card-cat a { color: inherit; text-decoration: none; }
.hd-post-card-cat a:hover { text-decoration: underline; }
.hd-post-card h3 {
  font-family: 'Yeseva One', serif; font-size: 1.35rem;
  font-weight: 300; line-height: 1.25; color: var(--hd-ch); margin-bottom: 10px;
}
.hd-post-card h3 a { color: inherit; text-decoration: none; }
.hd-post-card h3 a:hover { color: var(--hd-gold); }
.hd-post-card-excerpt {
  font-size: 12px; color: var(--hd-muted); line-height: 1.85;
  margin-bottom: 18px; flex: 1;
}
.hd-post-card-meta {
  display: flex; align-items: center; gap: 12px;
  font-size: 10px; color: var(--hd-muted); letter-spacing: .07em;
  padding-top: 16px; border-top: 1px solid var(--hd-line); margin-top: auto;
}
.hd-post-card-meta-dot { width: 3px; height: 3px; border-radius: 50%; background: var(--hd-line); flex-shrink: 0; }
.hd-post-card-read {
  font-size: 10px; letter-spacing: .16em; text-transform: uppercase;
  color: var(--hd-ch); text-decoration: none; margin-top: 14px;
  display: inline-flex; align-items: center; gap: 6px; padding-bottom: 2px;
  border-bottom: 1px solid var(--hd-line); transition: border-color .2s, color .2s;
  align-self: flex-start;
}
.hd-post-card-read:hover { color: var(--hd-gold); border-color: var(--hd-gold); }

/* ── Pagination ── */
.hd-blog-pagination {
  display: flex; justify-content: center; align-items: center;
  gap: 4px; flex-wrap: wrap; margin-top: 56px;
}
.hd-blog-pagination .page-numbers {
  width: 38px; height: 38px; display: flex; align-items: center; justify-content: center;
  border: 1px solid var(--hd-line); background: none;
  font-size: 12px; color: var(--hd-muted); text-decoration: none; transition: all .2s;
}
.hd-blog-pagination .page-numbers:hover,
.hd-blog-pagination .page-numbers.current {
  border-color: var(--hd-ch); background: var(--hd-ch); color: var(--hd-cream);
}
.hd-blog-pagination .page-numbers.prev,
.hd-blog-pagination .page-numbers.next { width: auto; padding: 0 14px; font-size: 11px; letter-spacing: .1em; }
.hd-blog-pagination .page-numbers.dots { border: none; color: var(--hd-muted); }

/* ── Single post ── */
.hd-single-hero {
  background: var(--hd-cream); padding: 56px 48px 0;
  max-width: 860px; margin: 0 auto; text-align: center;
}
.hd-single-meta {
  font-size: 11px; color: var(--hd-muted); letter-spacing: .1em;
  display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; margin-bottom: 24px;
}
.hd-single-meta a { color: var(--hd-gold); text-decoration: none; }
.hd-single-meta a:hover { text-decoration: underline; }
.hd-single-title {
  font-family: 'Yeseva One', serif;
  font-size: clamp(2rem, 5vw, 3.2rem); font-weight: 300; line-height: 1.15;
  color: var(--hd-ch); margin-bottom: 28px;
}
.hd-single-thumb {
  max-width: 900px; margin: 40px auto 0; padding: 0 48px;
  aspect-ratio: 16/7; overflow: hidden;
}
.hd-single-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }

.hd-single-content {
  max-width: 720px; margin: 56px auto 80px; padding: 0 48px;
  font-size: 15px; line-height: 1.95; color: var(--hd-ch);
}
.hd-single-content h2,
.hd-single-content h3 { font-family: 'Yeseva One', serif; font-weight: 300; margin: 2.2em 0 .7em; color: var(--hd-ch); }
.hd-single-content h2 { font-size: clamp(1.6rem, 3vw, 2rem); }
.hd-single-content h3 { font-size: 1.35rem; }
.hd-single-content p { margin-bottom: 1.4em; }
.hd-single-content ul,
.hd-single-content ol { padding-left: 1.4em; margin-bottom: 1.4em; }
.hd-single-content li { margin-bottom: .4em; }
.hd-single-content a { color: var(--hd-gold); }
.hd-single-content a:hover { text-decoration: underline; }
.hd-single-content strong { font-weight: 500; }
.hd-single-content blockquote {
  border-left: 2px solid var(--hd-gold); margin: 2em 0;
  padding: 16px 24px; background: var(--hd-beige);
  font-family: 'Yeseva One', serif; font-size: 1.3rem;
  font-weight: 300; font-style: italic; color: var(--hd-ch);
}
.hd-single-content img { max-width: 100%; height: auto; display: block; margin: 2em auto; }
.hd-single-content figure { margin: 2em 0; }
.hd-single-content figcaption { font-size: 11px; color: var(--hd-muted); text-align: center; margin-top: 8px; }

.hd-single-back {
  max-width: 720px; margin: 0 auto 48px; padding: 0 48px;
}
.hd-single-back a {
  font-size: 11px; letter-spacing: .16em; text-transform: uppercase;
  color: var(--hd-muted); text-decoration: none;
  display: inline-flex; align-items: center; gap: 8px;
  border-bottom: 1px solid var(--hd-line); padding-bottom: 2px;
  transition: color .2s, border-color .2s;
}
.hd-single-back a:hover { color: var(--hd-gold); border-color: var(--hd-gold); }

/* =====================================================
   POLICY PAGES (Polityka prywatności, Regulamin, etc.)
   ===================================================== */

.hd-policy-wrap,
.page-id-3 .entry-content,
.page-id-11 .entry-content {
  max-width: 1440px;
  margin: 0 auto;
  padding: 56px 28px 80px;
}

/* Gutenberg constrained layout can over-squeeze long legal content. */
.hd-policy-wrap.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.page-id-3 .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.page-id-11 .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.page-id-3 .entry-content .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.page-id-11 .entry-content .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  max-width: 1180px;
}

/* Keep wide/full blocks visually proportional inside policy pages. */
.hd-policy-wrap .alignwide,
.page-id-3 .entry-content .alignwide,
.page-id-11 .entry-content .alignwide {
  max-width: 1320px;
}

/* Explicit override for current Gutenberg constrained container instance. */
.wp-container-core-group-is-layout-d134800c > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  max-width: 1180px !important;
}

@media (max-width: 1200px) {
  .hd-policy-wrap,
  .page-id-3 .entry-content,
  .page-id-11 .entry-content {
    padding: 44px 24px 68px;
  }

  .hd-policy-wrap.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
  .page-id-3 .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
  .page-id-11 .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
  .wp-container-core-group-is-layout-d134800c > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
  .page-id-3 .entry-content .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
  .page-id-11 .entry-content .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
    max-width: 980px;
  }
}

@media (max-width: 900px) {
  .hd-policy-wrap,
  .page-id-3 .entry-content,
  .page-id-11 .entry-content {
    padding: 36px 20px 60px;
  }

  .hd-policy-wrap.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
  .page-id-3 .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
  .page-id-11 .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
  .wp-container-core-group-is-layout-d134800c > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
  .page-id-3 .entry-content .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
  .page-id-11 .entry-content .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
    max-width: 100%;
  }
}

/* Date badge */
.hd-policy-updated {
  display: inline-block;
  font-size: 10px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--hd-muted);
  border: 1px solid var(--hd-line);
  padding: 5px 14px;
  margin-bottom: 40px;
}

/* Headings */
.hd-policy-wrap h2 {
  font-family: 'Yeseva One', serif;
  font-size: clamp(1.4rem, 2.5vw, 1.9rem);
  font-weight: 300;
  color: var(--hd-ch);
  margin: 2.6em 0 .6em;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--hd-line);
}
.hd-policy-wrap h2:first-of-type { margin-top: 0; }

.hd-policy-wrap h3 {
  font-family: 'Forum', serif;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--hd-muted);
  margin: 1.8em 0 .7em;
}

/* Body text */
.hd-policy-wrap p { font-size: 14px; line-height: 1.9; color: var(--hd-ch); margin-bottom: 1.2em; }
.hd-policy-wrap ul { padding-left: 0; list-style: none; margin-bottom: 1.2em; }
.hd-policy-wrap ul li {
  font-size: 14px; line-height: 1.8; color: var(--hd-ch);
  padding: 5px 0 5px 18px; position: relative;
  border-bottom: 1px solid var(--hd-line);
}
.hd-policy-wrap ul li::before {
  content: '–'; position: absolute; left: 0;
  color: var(--hd-gold); font-weight: 400;
}
.hd-policy-wrap ul li:last-child { border-bottom: none; }
.hd-policy-wrap a { color: var(--hd-gold); text-decoration: none; }
.hd-policy-wrap a:hover { text-decoration: underline; }
.hd-policy-wrap strong { font-weight: 500; color: var(--hd-ch); }

/* Tables */
.hd-policy-table { width: 100%; margin: 1.4em 0 2em; overflow-x: auto; }
.hd-policy-table table {
  width: 100%; border-collapse: collapse;
  font-size: 13px; line-height: 1.7;
}
.hd-policy-table th {
  background: var(--hd-ch); color: var(--hd-cream);
  font-family: 'Forum', serif; font-weight: 400;
  font-size: 10px; letter-spacing: .14em; text-transform: uppercase;
  padding: 10px 14px; text-align: left;
}
.hd-policy-table td {
  padding: 11px 14px; vertical-align: top;
  border-bottom: 1px solid var(--hd-line);
  color: var(--hd-ch);
}
.hd-policy-table tr:nth-child(even) td { background: var(--hd-beige); }
.hd-policy-table tr:last-child td { border-bottom: none; }

/* Responsive */
@media (max-width: 640px) {
  .hd-policy-wrap,
  .page-id-3 .entry-content,
  .page-id-11 .entry-content { padding: 32px 20px 56px; }

  .hd-policy-wrap.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
  .page-id-3 .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
  .page-id-11 .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
  .wp-container-core-group-is-layout-d134800c > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
  .page-id-3 .entry-content .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
  .page-id-11 .entry-content .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
    max-width: 100%;
  }

  .hd-policy-table { font-size: 12px; }
  .hd-policy-table th,
  .hd-policy-table td { padding: 8px 10px; }
}

/* ═══════════════════════════════════════════════════════
   404 PAGE
═══════════════════════════════════════════════════════ */
.hd-404-wrap {
  min-height: 70vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.hd-404-hero {
  background: var(--hd-ch);
  width: 100%;
  padding: 80px 48px 72px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 20px;
  position: relative;
  overflow: hidden;
  flex: 1;
}
.hd-404-hero::before {
  content: '';
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 50% 60%, rgba(200,145,58,.15) 0%, transparent 65%);
  pointer-events: none;
}

.hd-404-code {
  font-family: 'Yeseva One', serif;
  font-size: clamp(6rem, 18vw, 14rem);
  font-weight: 300;
  line-height: 1;
  color: rgba(200,145,58,.25);
  letter-spacing: -.02em;
  position: relative;
  user-select: none;
}

.hd-404-title {
  font-family: 'Yeseva One', serif;
  font-size: clamp(2rem, 5vw, 3.2rem);
  font-weight: 300;
  line-height: 1.15;
  color: var(--hd-cream);
  position: relative;
  margin: 0;
}
.hd-404-title em { font-style: italic; color: var(--hd-gold); }

.hd-404-sub {
  font-size: 14px;
  color: rgba(250,247,242,.55);
  max-width: 440px;
  line-height: 1.85;
  position: relative;
}

.hd-404-actions {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 8px;
  position: relative;
}

.hd-404-links {
  padding: 40px 48px;
  display: flex;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
  border-top: 1px solid var(--hd-line);
  width: 100%;
  justify-content: center;
}
.hd-404-links-label {
  font-size: 10px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--hd-muted);
  margin: 0;
  white-space: nowrap;
}
.hd-404-links ul {
  display: flex;
  gap: 0;
  list-style: none;
  margin: 0; padding: 0;
  flex-wrap: wrap;
}
.hd-404-links ul li::before { display: none; }
.hd-404-links ul li + li::before {
  content: '·';
  display: inline;
  color: var(--hd-line);
  margin: 0 12px;
}
.hd-404-links ul li a {
  font-size: 13px;
  color: var(--hd-ch);
  text-decoration: none;
  transition: color .2s;
}
.hd-404-links ul li a:hover { color: var(--hd-gold); }
.hd-404-links ul li a:focus-visible,
.hd-404-actions .btn:focus-visible,
.hd-404-actions .btn-outline:focus-visible {
  outline: 2px solid var(--hd-gold);
  outline-offset: 3px;
}

@media (max-width: 640px) {
  .hd-404-hero { padding: 56px 20px 48px; }
  .hd-404-links { padding: 28px 20px; gap: 16px; flex-direction: column; align-items: flex-start; }
  .hd-404-actions { flex-direction: column; align-items: stretch; }
  .hd-404-actions .btn,
  .hd-404-actions .btn-outline { text-align: center; }
}

/* ── Blog responsive ── */
@media (max-width: 1024px) {
  .hd-blog-featured { grid-template-columns: 1fr; gap: 32px; }
  .hd-blog-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .hd-blog-hero { padding: 48px 20px 40px; }
  .hd-blog-featured,
  .hd-blog-grid-wrap,
  .hd-single-hero,
  .hd-single-thumb,
  .hd-single-content,
  .hd-single-back { padding-left: 20px; padding-right: 20px; }
  .hd-blog-grid { grid-template-columns: 1fr; }
  .hd-blog-featured { margin-top: 32px; }
}

@media (max-width: 640px) {
  .hd-breadcrumb-bar { padding-left: 20px; padding-right: 20px; }
  .hd-sp-tabs-nav { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .hd-sp-tab-btn { padding: 16px 18px 14px; font-size: 10px; }
  .hd-trust { display: none; } /* Too compact on mobile — hide trust row */
  .hd-sp-info form.cart { flex-wrap: wrap; }
  .hd-sp-info .single_add_to_cart_button { min-width: 0; flex: 1; }
  .hd-related-header { flex-direction: column; align-items: flex-start; gap: 12px; }
}

/* ── Flexible Cookies plugin — mobile override ── */
#flexiblecookies_settings_container {
  box-sizing: border-box !important;
  max-width: 100vw !important;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
#flexiblecookies_settings_container table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
}
#flexiblecookies_settings_container table td {
  word-break: break-word;
  vertical-align: middle;
}
@media (max-width: 600px) {
  #flexiblecookies_settings_container {
    width: 100% !important;
    max-height: 80vh !important;
    padding: 16px !important;
    left: 0 !important;
    right: 0 !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    border-radius: 0 !important;
    box-sizing: border-box !important;
  }
  #flexiblecookies_settings_header h3 {
    font-size: 15px;
  }
  #flexiblecookies_settings {
    display: block;
    overflow-y: auto;
    max-height: calc(80vh - 120px);
  }
  #flexiblecookies_settings_container table {
    font-size: 13px;
  }
  #flexiblecookies_settings_container table td:first-child {
    max-width: 60vw;
  }
  .flexiblecookies-description p {
    font-size: 12px;
    line-height: 1.5;
  }
  .cookie_settings_bottom_row {
    padding-top: 12px;
  }
  #flexiblecookies_accept_settings_cookies {
    width: 100%;
    box-sizing: border-box;
  }
}

/* ═══════════════════════════════════════════════════════
   FAQ PAGE
═══════════════════════════════════════════════════════ */
.hd-faq-item {
  border-bottom: 1px solid var(--hd-line);
  margin: 0;
}
.hd-faq-item summary {
  list-style: none;
  padding: 18px 32px 18px 0;
  font-size: 15px;
  font-family: 'Yeseva One', serif;
  font-weight: 500;
  color: var(--hd-ch);
  cursor: pointer;
  position: relative;
  user-select: none;
  transition: color .2s;
}
.hd-faq-item summary::-webkit-details-marker { display: none; }
.hd-faq-item summary::after {
  content: '+';
  position: absolute;
  right: 0; top: 50%;
  transform: translateY(-50%);
  font-size: 20px;
  font-weight: 300;
  color: var(--hd-gold);
  line-height: 1;
  transition: transform .25s;
}
.hd-faq-item[open] summary::after {
  transform: translateY(-50%) rotate(45deg);
}
.hd-faq-item summary:hover { color: var(--hd-gold-d); }
.hd-faq-item summary:focus-visible {
  outline: 2px solid var(--hd-gold);
  outline-offset: 4px;
}
.hd-faq-item > *:not(summary) {
  padding: 0 0 20px 0;
  font-size: 14px;
  line-height: 1.85;
  color: #5a4a3a;
  animation: faqFadeIn .2s ease;
}
.hd-faq-item > p { margin: 0; }
.hd-faq-item a {
  color: var(--hd-gold-d);
  text-decoration-color: rgba(168,120,48,.45);
  text-underline-offset: 2px;
}
.hd-faq-item a:hover { color: var(--hd-ch); }
@keyframes faqFadeIn {
  from { opacity: 0; transform: translateY(-4px); }
  to   { opacity: 1; transform: translateY(0); }
}
/* Group headings between FAQ items */
.page-slug-faq .hd-policy-wrap h2:not(:first-of-type) {
  margin-top: 40px;
}

/* ═══════════════════════════════════════════════════════
   KONTAKT PAGE
═══════════════════════════════════════════════════════ */
.haida-kontakt-page {
  max-width: 1040px;
  margin: 0 auto;
  padding: 18px 0 64px;
}

.page-id-62 .hd-shop > h2 {
  display: none;
}

.haida-kontakt-page > h1 {
  font-family: 'Yeseva One', serif;
  font-size: clamp(2.2rem, 5vw, 3.8rem);
  font-weight: 300;
  line-height: 1.05;
  letter-spacing: .01em;
  margin: 8px 0 14px;
  color: var(--hd-ch);
}

.haida-kontakt-page > p {
  max-width: 720px;
  font-size: 14px;
  line-height: 1.9;
  color: #655244;
  margin: 0 0 28px;
}

.haida-kontakt-page .wp-block-columns {
  gap: 30px;
  align-items: stretch;
}

.haida-kontakt-page .wp-block-column {
  border: 1px solid var(--hd-line);
  background: linear-gradient(180deg, #fff 0%, #fcf8f1 100%);
  padding: 24px 24px 20px;
}

.haida-kontakt-page .wp-block-column h2 {
  font-family: 'Yeseva One', serif;
  font-size: 1.7rem;
  font-weight: 500;
  line-height: 1.2;
  margin: 0 0 14px;
  color: var(--hd-ch);
}

.haida-kontakt-page a {
  color: var(--hd-gold-d);
  text-decoration-color: rgba(168,120,48,.45);
  text-underline-offset: 2px;
}

.haida-kontakt-page a:hover { color: var(--hd-ch); }

.haida-kontakt-page p {
  font-size: 14px;
  line-height: 1.85;
  color: #5a4a3a;
}

.haida-kontakt-page hr {
  border: 0;
  border-top: 1px solid var(--hd-line);
  margin: 16px 0;
}

/* Contact form 7 polish */
.haida-kontakt-page .wpcf7 {
  margin-top: 8px;
}

.haida-kontakt-page .wpcf7 label {
  display: block;
  font-size: 10px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--hd-muted);
  margin: 0 0 7px;
}

.haida-kontakt-page .wpcf7 input[type="text"],
.haida-kontakt-page .wpcf7 input[type="email"],
.haida-kontakt-page .wpcf7 input[type="tel"],
.haida-kontakt-page .wpcf7 textarea {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  border: 1px solid var(--hd-line);
  background: #fff;
  padding: 12px 13px;
  border-radius: 0;
  font-size: 14px;
  line-height: 1.4;
  color: var(--hd-ch);
}

.haida-kontakt-page .wpcf7 textarea {
  min-height: 150px;
  resize: vertical;
}

.haida-kontakt-page .wpcf7 input[type="text"]:focus,
.haida-kontakt-page .wpcf7 input[type="email"]:focus,
.haida-kontakt-page .wpcf7 input[type="tel"]:focus,
.haida-kontakt-page .wpcf7 textarea:focus {
  border-color: var(--hd-gold);
  outline: none;
}

.haida-kontakt-page .wpcf7 .wpcf7-form-control-wrap {
  display: block;
  width: 100%;
}

.haida-kontakt-page .wpcf7 .haida-contact-form,
.haida-kontakt-page .wpcf7 .cf7-row,
.haida-kontakt-page .wpcf7 .cf7-col {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.haida-kontakt-page .wpcf7 .cf7-row {
  display: flex;
  gap: 14px;
}

.haida-kontakt-page .wpcf7 .cf7-col {
  flex: 1 1 0;
  min-width: 0;
}

@media (max-width: 700px) {
  .haida-kontakt-page .wpcf7 .cf7-row {
    flex-direction: column;
    gap: 0;
  }
}

.haida-kontakt-page .wpcf7 input[type="submit"] {
  border: 1px solid var(--hd-ch);
  background: var(--hd-ch);
  color: var(--hd-cream);
  padding: 10px 20px;
  font-size: 11px;
  letter-spacing: .2em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all .2s;
}

.haida-kontakt-page .wpcf7 input[type="submit"]:hover {
  background: transparent;
  color: var(--hd-ch);
}

@media (max-width: 900px) {
  .haida-kontakt-page .wp-block-columns {
    gap: 18px;
  }

  .haida-kontakt-page .wp-block-column {
    padding: 18px 16px 14px;
  }
}

/* ═══════════════════════════════════════════════════════
   FRONT PAGE MOCKUP
═══════════════════════════════════════════════════════ */
.hd-home {
  padding-bottom: 96px;
}

.hd-home-hero {
  background: var(--hd-cream);
  color: var(--hd-ch);
  padding: 72px 48px 64px;
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(320px, .85fr);
  gap: 40px;
  align-items: end;
  overflow: hidden;
  position: relative;
}

.hd-home-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 18% 28%, rgba(200,145,58,.18), transparent 30%),
    radial-gradient(circle at 78% 72%, rgba(232,192,128,.14), transparent 28%);
  pointer-events: none;
}

.hd-home-hero-inner,
.hd-home-hero-cards {
  position: relative;
  z-index: 1;
}

.hd-home-eyebrow,
.hd-home-kicker {
  margin: 0 0 12px;
  font-size: 10px;
  letter-spacing: .3em;
  text-transform: uppercase;
  color: var(--hd-gold);
}

.hd-home-title {
  margin: 0;
  max-width: 780px;
  font-family: 'Yeseva One', serif;
  font-size: clamp(2.8rem, 6vw, 5.4rem);
  line-height: .98;
  font-weight: 300;
  color: var(--hd-ch);
}

.hd-home-title em {
  font-style: italic;
  color: var(--hd-gold);
}

.hd-home-sub {
  max-width: 560px;
  margin: 22px 0 0;
  font-size: 14px;
  line-height: 1.95;
  color: rgba(44,24,16,.72);
}

.hd-home-actions {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 28px;
}

/* На світлому hero друга кнопка повинна мати темний контур/текст */
.hd-home-hero .btn-outline-light,
.hd-home-hero a.btn-outline-light {
  color: var(--hd-ch) !important;
  border-color: rgba(44,24,16,.4);
}
.hd-home-hero .btn-outline-light:hover,
.hd-home-hero a.btn-outline-light:hover {
  background: rgba(44,24,16,.06);
  border-color: rgba(44,24,16,.7);
}

.hd-home-hero-cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  align-self: stretch;
}

.hd-home-hero-card {
  min-height: 150px;
  padding: 22px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  background: rgba(250,247,242,.06);
  border: 1px solid rgba(240,228,204,.12);
  backdrop-filter: blur(2px);
  position: relative;
  overflow: hidden;
}

/* Фотографія у картці — через background-image на елементі */
.hd-home-hero-card.has-image {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-color: transparent;
}
/* Темний overlay щоб текст читався поверх фото */
.hd-home-hero-card.has-image::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(0,0,0,.72) 0%,
    rgba(0,0,0,.28) 55%,
    rgba(0,0,0,.08) 100%
  );
  z-index: 0;
}
/* Текст поверх overlay */
.hd-home-hero-card.has-image > * {
  position: relative;
  z-index: 1;
}
/* При фото — текст бордовий / кремовий */
.hd-home-hero-card.has-image span {
  color: rgba(255,255,255,.8);
  letter-spacing: .24em;
}
.hd-home-hero-card.has-image strong {
  color: #ffffff;
  text-shadow: 0 1px 8px rgba(0,0,0,.45);
}

.hd-home-hero-card.is-tall {
  grid-row: span 2;
  min-height: 316px;
  background: linear-gradient(180deg, rgba(240,228,204,.08) 0%, rgba(200,145,58,.11) 100%);
}

.hd-home-hero-card.is-accent {
  background: rgba(200,145,58,.12);
}

.hd-home-hero-card span {
  font-size: 10px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: rgba(255,255,255,.75);
}

.hd-home-hero-card strong {
  margin-top: 10px;
  font-family: 'Yeseva One', serif;
  font-size: 2rem;
  line-height: 1.05;
  font-weight: 400;
  color: #ffffff;
}

.hd-home-section,
.hd-home-story,
.hd-home-newsletter {
  max-width: 1440px;
  margin: 0 auto;
  padding-left: 48px;
  padding-right: 48px;
}

.hd-home-section {
  padding-top: 84px;
}

.hd-home-section-head {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 24px;
  flex-wrap: wrap;
  margin-bottom: 30px;
}

.hd-home-section-head h2,
.hd-home-story h2,
.hd-home-gift h2,
.hd-home-newsletter h2 {
  margin: 0;
  max-width: 840px;
  font-family: 'Yeseva One', serif;
  font-size: clamp(2rem, 4vw, 3.2rem);
  font-weight: 300;
  line-height: 1.06;
  color: var(--hd-ch);
}

.hd-home-collections-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.hd-home-collection {
  min-height: 280px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  background: linear-gradient(180deg, #f8f1e5 0%, #eee0c6 100%);
  border: 1px solid var(--hd-line);
  text-decoration: none;
  color: var(--hd-ch);
  transition: transform .2s, box-shadow .24s;
  position: relative;
  overflow: hidden;
}

/* Картка з фотографією товару/категорії */
.hd-home-collection.has-image {
  border-color: transparent;
  color: #fff;
  /* background-image встановлюється inline зі style="" */
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  transition: transform .2s, box-shadow .24s;
}
/* Фото zoom через scale на pseudo-element щоб не конфліктувати з overlay */
.hd-home-collection.has-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: inherit;
  background-size: cover;
  background-position: center;
  z-index: 0;
  transition: transform .55s cubic-bezier(.22,1,.36,1);
}
.hd-home-collection.has-image:hover::after {
  transform: scale(1.07);
}
/* Темний overlay поверх фото — текст читається */
.hd-home-collection.has-image::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(0,0,0,.72) 0%,
    rgba(0,0,0,.22) 55%,
    rgba(0,0,0,.04) 100%
  );
  z-index: 1;
  transition: background .3s;
}
.hd-home-collection.has-image:hover::before {
  background: linear-gradient(
    to top,
    rgba(0,0,0,.80) 0%,
    rgba(0,0,0,.32) 55%,
    rgba(0,0,0,.08) 100%
  );
}
/* Текст поверх обох pseudo-elements */
.hd-home-collection.has-image > * {
  position: relative;
  z-index: 2;
}
.hd-home-collection.has-image .hd-home-collection-label { color: rgba(255,255,255,.7); }
.hd-home-collection.has-image h3 { color: #fff; }
.hd-home-collection.has-image p  { color: rgba(255,255,255,.75); }

.hd-home-collection.is-dark {
  background: linear-gradient(180deg, #574032 0%, #2c1810 100%);
  color: var(--hd-cream);
}

.hd-home-collection:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 40px rgba(44,24,16,.08);
}

.hd-home-collection-label,
.hd-home-product-cat,
.hd-home-journal-meta {
  font-size: 10px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--hd-muted);
}

.hd-home-collection.is-dark .hd-home-collection-label,
.hd-home-collection.is-dark p {
  color: rgba(250,247,242,.7);
}

.hd-home-collection h3,
.hd-home-product h3,
.hd-home-journal-card h3 {
  margin: 10px 0 8px;
  font-family: 'Yeseva One', serif;
  font-size: 1.9rem;
  line-height: 1.06;
  font-weight: 500;
}

.hd-home-collection p,
.hd-home-product p,
.hd-home-journal-card p,
.hd-home-story-copy p,
.hd-home-gift p,
.hd-home-newsletter p {
  margin: 0;
  font-size: 14px;
  line-height: 1.9;
  color: #655244;
}

.hd-home-story {
  padding-top: 96px;
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
  gap: 36px;
  align-items: center;
}

.hd-home-story-copy {
  max-width: 560px;
}

.hd-home-story-copy .btn-outline {
  margin-top: 24px;
}

.hd-home-story-panels {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  grid-template-rows: 210px 170px;
  gap: 16px;
}

.hd-home-panel {
  background: linear-gradient(180deg, #f0e4cc 0%, #e2cda8 100%);
  border: 1px solid var(--hd-line);
}

.hd-home-panel.is-large {
  grid-row: span 2;
  background: linear-gradient(180deg, #f6ece0 0%, #dac0a5 100%);
}

.hd-home-panel.is-gold {
  background: linear-gradient(180deg, #dec298 0%, #c8913a 100%);
}

.hd-home-products {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.hd-home-product {
  border: 1px solid var(--hd-line);
  background: #fff;
  padding: 18px;
}

/* Placeholder (коли нема фото) */
.hd-home-product-media-placeholder,
.hd-home-journal-media {
  aspect-ratio: 1 / 1.05;
  background: linear-gradient(180deg, #f4e7d3 0%, #e0c29f 100%);
  margin-bottom: 16px;
}

/* Обгортка реального зображення товару */
.hd-home-product-media-wrap {
  display: block;
  aspect-ratio: 1 / 1.05;
  overflow: hidden;
  margin-bottom: 16px;
  background: var(--hd-beige);
}
.hd-home-product-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .45s ease;
}
.hd-home-product-media-wrap:hover .hd-home-product-img {
  transform: scale(1.05);
}

/* Обгортка зображення в Journal */
.hd-home-journal-media-wrap {
  display: block;
  overflow: hidden;
  background: var(--hd-beige);
  margin-bottom: 0;
}
.hd-home-journal-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .45s ease;
}
.hd-home-journal-media-wrap:hover .hd-home-journal-img {
  transform: scale(1.05);
}

.hd-home-product-bottom {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid var(--hd-line);
}

.hd-home-product-bottom span {
  font-size: 14px;
  letter-spacing: .08em;
  color: var(--hd-ch);
}

.hd-home-product-bottom a {
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: .2em;
  font-size: 10px;
  color: var(--hd-muted);
}

.hd-home-gift {
  margin-top: 84px;
  padding: 46px 42px;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 34px;
  background:
    radial-gradient(circle at 78% 24%, rgba(200,145,58,.22), transparent 36%),
    linear-gradient(135deg, #22120d 0%, #2c1810 52%, #3a2118 100%);
  border: 1px solid rgba(240,228,204,.14);
  box-shadow: 0 20px 60px rgba(44,24,16,.22);
  position: relative;
  overflow: hidden;
  color: var(--hd-cream);
}

.hd-home-gift::before {
  content: '';
  position: absolute;
  top: -70px;
  right: -70px;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  border: 1px solid rgba(240,228,204,.16);
  pointer-events: none;
}

.hd-home-gift::after {
  content: '';
  position: absolute;
  left: 30px;
  bottom: -48px;
  width: 170px;
  height: 170px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(200,145,58,.2) 0%, transparent 68%);
  pointer-events: none;
}

.hd-home-gift-copy,
.hd-home-gift .btn-outline-light {
  position: relative;
  z-index: 1;
}

.hd-home-gift-copy {
  max-width: 960px;
}

.hd-home-gift .hd-home-kicker {
  margin-bottom: 10px;
  color: rgba(232,192,128,.95);
}

.hd-home-gift .hd-home-kicker,
.hd-home-gift h2,
.hd-home-gift p {
  color: var(--hd-cream);
}

.hd-home-gift h2 {
  max-width: 900px;
}

.hd-home-gift p {
  max-width: 960px;
  color: rgba(250,247,242,.68);
  margin-top: 16px;
}

.hd-home-gift .btn-outline-light,
.hd-home-gift a.btn-outline-light {
  min-width: 260px;
  border-color: rgba(240,228,204,.62);
  background: rgba(240,228,204,.06);
}

.hd-home-gift .btn-outline-light:hover,
.hd-home-gift a.btn-outline-light:hover {
  background: rgba(240,228,204,.18);
  border-color: rgba(240,228,204,.85);
}

.hd-home-journal-grid {
  display: grid;
  grid-template-columns: 1.15fr .85fr .85fr;
  gap: 18px;
  align-items: start;
}
.hd-home-journal-card {
  border: 1px solid var(--hd-line);
  background: #fff;
  padding: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  height: 100%;
}
.hd-home-journal-card > div {
  padding: 20px 22px 24px;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.hd-home-journal-card h3 {
  margin: 4px 0 6px;
  font-size: 1.45rem;
}
.hd-home-journal-card h3 a {
  color: inherit;
  text-decoration: none;
}
.hd-home-journal-card h3 a:hover { color: var(--hd-gold); }

/* ── Featured card (ліва, велика) ── */
.hd-home-journal-card.is-featured {
  display: flex;
  flex-direction: column;
}
/* Зображення featured — фіксована висота, cover */
.hd-home-journal-card.is-featured .hd-home-journal-media-wrap {
  height: 240px;
  flex-shrink: 0;
  aspect-ratio: unset;
}
.hd-home-journal-card.is-featured .hd-home-journal-media {
  height: 240px;
  aspect-ratio: unset;
  margin-bottom: 0;
}

/* ── Малі картки (середня і права) ── */
.hd-home-journal-card:not(.is-featured) .hd-home-journal-media-wrap {
  height: 200px;
  flex-shrink: 0;
  aspect-ratio: unset;
}

.hd-home-reviews-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.hd-home-review-card {
  border: 1px solid var(--hd-line);
  background: #fff;
  padding: 20px;
  display: flex;
  flex-direction: column;
  min-height: 220px;
}

.hd-home-review-stars {
  margin: 0;
  color: var(--hd-gold);
  letter-spacing: .08em;
  font-size: 14px;
}

.hd-home-review-card h3 {
  margin: 10px 0 8px;
  font-family: 'Yeseva One', serif;
  font-size: 1.6rem;
  line-height: 1.1;
  color: var(--hd-ch);
  font-weight: 500;
}

.hd-home-review-card p {
  margin: 0;
  font-size: 14px;
  line-height: 1.85;
  color: #655244;
}

.hd-home-review-meta {
  margin-top: auto;
  padding-top: 14px;
  border-top: 1px solid var(--hd-line);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}

.hd-home-review-meta span {
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--hd-muted);
}

.hd-home-review-meta a {
  font-size: 10px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--hd-muted);
  text-decoration: none;
}

.hd-home-review-meta a:hover {
  color: var(--hd-gold-d);
}

.hd-home-reviews-empty {
  border: 1px dashed var(--hd-line);
  padding: 18px;
  color: var(--hd-muted);
  font-size: 13px;
  margin: 0;
}

.hd-home-newsletter {
  margin-top: 84px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 520px);
  gap: 24px;
  align-items: center;
}

.hd-home-newsletter-form {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
}

.hd-home-newsletter-form input {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid var(--hd-line);
  background: #fff;
  color: var(--hd-ch);
  padding: 14px 16px;
  font-size: 14px;
}

.hd-home-newsletter-form input:focus {
  outline: none;
  border-color: var(--hd-gold);
}

@media (max-width: 1100px) {
  .hd-home-hero,
  .hd-home-story,
  .hd-home-newsletter,
  .hd-home-journal-grid,
  .hd-home-reviews-grid,
  .hd-home-collections-grid,
  .hd-home-products {
    grid-template-columns: 1fr;
  }

  .hd-home-hero-cards,
  .hd-home-journal-card.is-featured {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 700px) {
  .hd-home-hero,
  .hd-home-section,
  .hd-home-story,
  .hd-home-newsletter {
    padding-left: 20px;
    padding-right: 20px;
  }

  .hd-home-hero {
    padding-top: 48px;
    padding-bottom: 42px;
  }

  .hd-home-hero-cards,
  .hd-home-journal-card.is-featured,
  .hd-home-story-panels,
  .hd-home-newsletter-form {
    grid-template-columns: 1fr;
  }

  .hd-home-gift {
    margin-top: 56px;
    padding: 32px 20px;
    flex-direction: column;
    align-items: flex-start;
  }

  .hd-home-gift .btn-outline-light,
  .hd-home-gift a.btn-outline-light {
    min-width: 0;
    width: 100%;
    justify-content: center;
  }

  .hd-home-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .hd-home-actions .btn-primary,
  .hd-home-actions .btn-outline-light,
  .hd-home-newsletter-form .btn-primary {
    width: 100%;
    justify-content: center;
  }
}

/* Shop AJAX loading state */
.hd-shop.is-loading {
  opacity: .4;
  pointer-events: none;
  transition: opacity .25s;
}

