/* =========================================================
   pages.css — Inner-page styles for Rathnalaya Silks
   Companion to styles.css (master stylesheet)
   ========================================================= */

/* ---------------------------------------------------------
   UTILITIES
   --------------------------------------------------------- */
.section-gap { padding-block: 72px; }
.section-gap--top-none { padding-top: 0; }
.text-center { text-align: center; }
.visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }

/* ---------------------------------------------------------
   INNER HERO BANNER
   --------------------------------------------------------- */
.inner-hero {
  position: relative;
  background-size: cover;
  background-position: center;
  min-height: 320px;
  display: flex;
  align-items: flex-end;
}
.inner-hero--short { min-height: 220px; }
.inner-hero__overlay {
  width: 100%;
  background: linear-gradient(to top, rgba(26,13,13,.78) 0%, rgba(26,13,13,.3) 60%, transparent 100%);
  padding: 40px 0 36px;
}
.inner-hero__title {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(2rem, 5vw, 3.2rem);
  font-weight: 600;
  color: #fff;
  margin: 8px 0 0;
  letter-spacing: .02em;
}
.inner-hero__sub {
  color: rgba(255,255,255,.8);
  font-size: 1rem;
  margin-top: 8px;
  max-width: 520px;
}

/* ---------------------------------------------------------
   BREADCRUMB
   --------------------------------------------------------- */
.breadcrumb ol {
  list-style: none;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0 4px;
  margin: 0;
  padding: 0;
  font-size: .82rem;
  color: rgba(255,255,255,.7);
  white-space: nowrap;
  overflow: hidden;
}
.breadcrumb li { display: flex; align-items: center; gap: 4px; white-space: nowrap; }
.breadcrumb li:last-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
.breadcrumb a { color: rgba(255,255,255,.7); text-decoration: none; }
.breadcrumb a:hover { color: var(--clr-gold-light, #E2B84A); }
.breadcrumb [aria-current="page"] { color: var(--clr-gold-light, #E2B84A); }

.page-breadcrumb {
  padding-top: 14px;
  padding-bottom: 12px;
}

.page-breadcrumb .breadcrumb {
  color: #8f7777;
}

.page-breadcrumb .breadcrumb a {
  color: #8f7777;
}

.page-breadcrumb .breadcrumb a:hover {
  color: var(--clr-primary, #D41A2A);
}

.page-breadcrumb .breadcrumb [aria-current="page"] {
  color: var(--clr-primary, #D41A2A);
}

/* ---------------------------------------------------------
   POLICY PAGES
   --------------------------------------------------------- */
.policy-layout { display: grid; grid-template-columns: 240px 1fr; gap: 56px; }
.policy-layout--single { display: block; max-width: 780px; margin-inline: auto; }

.policy-sidebar { position: sticky; top: calc(var(--header-h, 70px) + 30px); align-self: start; }
.policy-sidebar nav { display: flex; flex-direction: column; gap: 0; }
.policy-sidebar a {
  display: block;
  padding: 10px 14px;
  border-left: 2px solid #e8ddd4;
  color: var(--clr-dark, #0D1A3A);
  text-decoration: none;
  font-size: .9rem;
  transition: color .2s, border-color .2s;
}
.policy-sidebar a:hover,
.policy-sidebar a[aria-current] {
  color: var(--clr-primary, #D41A2A);
  border-color: var(--clr-primary, #D41A2A);
  font-weight: 600;
}

.policy-prose { color: #2a1a1a; line-height: 1.8; }
.policy-prose h2 {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.6rem;
  font-weight: 600;
  color: var(--clr-primary, #D41A2A);
  margin: 2.4em 0 .6em;
  padding-bottom: .4em;
  border-bottom: 1px solid #e8ddd4;
}
.policy-prose h3 {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.2rem;
  font-weight: 600;
  margin: 1.6em 0 .5em;
}
.policy-prose p { margin: 0 0 1em; }
.policy-prose ul,
.policy-prose ol { padding-left: 1.4em; margin: 0 0 1em; }
.policy-prose li { margin-bottom: .4em; }
.policy-prose a { color: var(--clr-primary, #D41A2A); }
.policy-prose a:hover { text-decoration: underline; }
.policy-updated { font-size: .82rem; color: #8a7070; margin-bottom: 2em; }

.policy-table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.2em 0 1.6em;
  font-size: .92rem;
}
.policy-table th,
.policy-table td {
  text-align: left;
  padding: 10px 14px;
  border: 1px solid #e8ddd4;
}
.policy-table thead th {
  background: #faf0e8;
  font-weight: 700;
  color: var(--clr-primary, #D41A2A);
}
.policy-table tbody tr:nth-child(even) { background: #fdf9f5; }

/* FAQ */
.faq-group { margin-bottom: 48px; }
.faq-group h2 {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.6rem;
  color: var(--clr-primary, #D41A2A);
  margin: 0 0 20px;
  padding-bottom: 10px;
  border-bottom: 2px solid #e8ddd4;
}

.accordion-item { border-bottom: 1px solid #e8ddd4; }
.accordion-trigger {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  background: none;
  border: none;
  padding: 16px 0;
  font-family: 'Lato', sans-serif;
  font-size: 1rem;
  font-weight: 600;
  color: var(--clr-dark, #0D1A3A);
  cursor: pointer;
  text-align: left;
  gap: 16px;
}
.accordion-trigger:hover { color: var(--clr-primary, #D41A2A); }
.accordion-trigger[aria-expanded="true"] { color: var(--clr-primary, #D41A2A); }
.accordion-icon {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  position: relative;
  transition: transform .25s;
}
.accordion-icon::before,
.accordion-icon::after {
  content: '';
  position: absolute;
  background: currentColor;
  border-radius: 2px;
}
.accordion-icon::before { width: 12px; height: 2px; top: 9px; left: 4px; }
.accordion-icon::after { width: 2px; height: 12px; top: 4px; left: 9px; transition: transform .25s; }
.accordion-trigger[aria-expanded="true"] .accordion-icon::after { transform: rotate(90deg); }

.accordion-body {
  overflow: hidden;
  max-height: 0;
  transition: max-height .3s ease;
}
.accordion-body[aria-hidden="false"] { max-height: 400px; }
.accordion-body__inner { padding: 0 0 20px; color: #4a3030; line-height: 1.75; font-size: .95rem; }
.accordion-body__inner p { margin: 0 0 .8em; }
.accordion-body__inner ul { padding-left: 1.2em; margin: 0 0 .8em; }

.faq-contact-box {
  background: #faf0e8;
  border: 1px solid #e8ddd4;
  border-radius: 12px;
  padding: 36px 40px;
  text-align: center;
  margin-top: 56px;
}
.faq-contact-box h2 { font-family: 'Cormorant Garamond', serif; font-size: 1.8rem; color: var(--clr-primary, #D41A2A); margin: 0 0 8px; }
.faq-contact-box p { color: #5a4040; margin: 0 0 24px; }
.faq-contact-box__actions { display: flex; justify-content: center; gap: 16px; flex-wrap: wrap; }

/* ---------------------------------------------------------
   COLLECTION PAGE
   --------------------------------------------------------- */
.coll-hero {
  position: relative;
  min-height: 260px;
  display: flex;
  align-items: stretch;
}
.coll-hero__bg {
  width: 100%;
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
}
.coll-hero__overlay {
  width: 100%;
  background: linear-gradient(to right, rgba(26,13,13,.7) 0%, rgba(26,13,13,.2) 60%, transparent 100%);
  padding: 48px 0;
}
.coll-hero__breadcrumb { margin-bottom: 12px; }
.coll-hero__title {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 600;
  color: #fff;
  margin: 0 0 8px;
}
.coll-hero__count { color: rgba(255,255,255,.7); font-size: .9rem; }

.coll-body {
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: 40px;
  padding-block: 56px;
}

/* Filter Sidebar */
.filter-sidebar {
  position: sticky;
  top: calc(var(--header-h, 70px) + 18px);
  align-self: start;
  background: #fff;
  border: 1px solid #ede3d8;
  border-radius: 10px;
  overflow: hidden;
}
.filter-sidebar__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 20px;
  border-bottom: 1px solid #ede3d8;
  background: #fdf9f5;
}
.filter-sidebar__header h2 { font-size: 1rem; font-weight: 700; margin: 0; }
.filter-clear { background: none; border: none; color: var(--clr-primary, #D41A2A); font-size: .82rem; cursor: pointer; text-decoration: underline; padding: 0; }
.filter-clear:hover { text-decoration: none; }

.filter-group { border-bottom: 1px solid #ede3d8; }
.filter-group:last-child { border-bottom: none; }
.filter-group__toggle {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  background: none;
  border: none;
  padding: 14px 20px;
  font-family: 'Lato', sans-serif;
  font-size: .9rem;
  font-weight: 700;
  color: var(--clr-dark, #0D1A3A);
  cursor: pointer;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.filter-group__toggle:hover { color: var(--clr-primary, #D41A2A); }
.filter-group__arrow { transition: transform .2s; }
.filter-group__toggle[aria-expanded="false"] .filter-group__arrow { transform: rotate(-90deg); }

.filter-group__list {
  padding: 4px 20px 16px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.filter-group__list label {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: .9rem;
  cursor: pointer;
  color: #4a3030;
}
.filter-group__list input[type="checkbox"] { accent-color: var(--clr-primary, #D41A2A); width: 15px; height: 15px; cursor: pointer; }

.price-range { padding: 4px 20px 16px; }
.price-range__inputs { display: flex; gap: 12px; }
.price-range__inputs input {
  width: 100%;
  padding: 8px 10px;
  border: 1px solid #ded4cc;
  border-radius: 6px;
  font-size: .88rem;
  background: #fdf9f5;
}

.filter-colours { display: flex; flex-wrap: wrap; gap: 8px; padding: 4px 20px 16px; }
.colour-swatch {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  border: 2px solid transparent;
  cursor: pointer;
  transition: transform .15s, border-color .15s;
  position: relative;
}
.colour-swatch:hover { transform: scale(1.15); }
.colour-swatch.active { border-color: var(--clr-primary, #D41A2A); }
.colour-swatch--bordered { border-color: #ded4cc !important; }
.colour-swatch[title] { /* tooltip via title attr */ }

/* Toolbar */
.coll-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 20px;
  border-bottom: 1px solid #ede3d8;
  margin-bottom: 24px;
  flex-wrap: wrap;
}
.coll-toolbar__left { display: flex; align-items: center; gap: 12px; }
.filter-toggle-btn {
  display: none;
  align-items: center;
  gap: 8px;
  background: none;
  border: 1px solid #ded4cc;
  padding: 8px 16px;
  border-radius: 6px;
  font-size: .88rem;
  cursor: pointer;
  color: var(--clr-dark, #0D1A3A);
}
.filter-toggle-btn:hover { border-color: var(--clr-primary, #D41A2A); color: var(--clr-primary, #D41A2A); }
.coll-result-count { font-size: .88rem; color: #8a7070; }

.coll-toolbar__right { display: flex; align-items: center; gap: 12px; }
.coll-sort {
  padding: 8px 12px;
  border: 1px solid #ded4cc;
  border-radius: 6px;
  font-size: .88rem;
  background: #fff;
  color: var(--clr-dark, #0D1A3A);
  cursor: pointer;
  min-width: 180px;
  max-width: 100%; /* prevent overflow inside flex/grid parents */
}
.coll-sort:focus { outline: 2px solid var(--clr-primary, #D41A2A); }

.coll-view-toggle { display: flex; gap: 4px; }
.view-btn {
  width: 34px;
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #ded4cc;
  border-radius: 6px;
  background: #fff;
  cursor: pointer;
  color: #8a7070;
  transition: color .2s, border-color .2s, background .2s;
}
.view-btn.active,
.view-btn:hover { background: var(--clr-primary, #D41A2A); color: #fff; border-color: var(--clr-primary, #D41A2A); }

.active-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 20px;
}
.filter-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #faf0e8;
  border: 1px solid #ddd0c4;
  border-radius: 20px;
  padding: 4px 12px 4px 14px;
  font-size: .82rem;
  color: var(--clr-primary, #D41A2A);
}
.filter-chip__remove {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  color: inherit;
  line-height: 1;
  font-size: 1rem;
}

/* Product Grid (used in collection + search) */
.product-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}
.product-grid--list .product-card {
  grid-column: 1 / -1;
  display: flex;
  gap: 24px;
}
.product-grid--list .product-card__img { width: 220px; flex-shrink: 0; }
.product-grid--list .product-card__body { display: flex; flex-direction: column; justify-content: center; }

.product-card {
  background: #fff;
  border: 1px solid #ede3d8;
  border-radius: 10px;
  overflow: hidden;
  transition: box-shadow .25s, transform .25s;
}
.product-card:hover { box-shadow: 0 8px 32px rgba(123,26,26,.1); transform: translateY(-4px); }

.product-card__img {
  position: relative;
  aspect-ratio: 3/4;
  overflow: hidden;
  background: #f5ede4;
}
.product-card__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity .3s;
}
.product-card__img .img-hover {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity .3s;
}
.product-card:hover .img-hover { opacity: 1; }
.product-card:hover .img-primary { opacity: 0; }

.product-card__badges {
  position: absolute;
  top: 12px;
  left: 12px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.badge {
  display: inline-block;
  padding: 3px 8px;
  border-radius: 4px;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.badge--new { background: var(--clr-primary, #D41A2A); color: #fff; }
.badge--sale { background: #C8962A; color: #fff; }
.badge--hot { background: #c0392b; color: #fff; }
.badge--bestseller { background: #2c7a4b; color: #fff; }

.product-card__actions {
  position: absolute;
  top: 12px;
  right: 12px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  opacity: 0;
  transform: translateX(8px);
  transition: opacity .2s, transform .2s;
}
.product-card:hover .product-card__actions { opacity: 1; transform: translateX(0); }
.card-action-btn {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  border: 1px solid #ede3d8;
  border-radius: 50%;
  cursor: pointer;
  color: #6a5050;
  transition: background .2s, color .2s, border-color .2s;
}
.card-action-btn:hover,
.card-action-btn.active { background: var(--clr-primary, #D41A2A); color: #fff; border-color: var(--clr-primary, #D41A2A); }

.product-card__body { padding: 16px 18px 18px; }
.product-card__cat { font-size: .75rem; color: #8a7070; text-transform: uppercase; letter-spacing: .08em; margin-bottom: 4px; }
.product-card__name { font-family: 'Cormorant Garamond', serif; font-size: 1.05rem; font-weight: 600; color: var(--clr-dark, #0D1A3A); margin: 0 0 8px; line-height: 1.3; }
.product-card__name a { color: inherit; text-decoration: none; }
.product-card__name a:hover { color: var(--clr-primary, #D41A2A); }
.product-card__price { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.price-current { font-size: 1.05rem; font-weight: 700; color: var(--clr-primary, #D41A2A); }
.price-original { font-size: .88rem; color: #aaa; text-decoration: line-through; }
.price-save { font-size: .78rem; color: #2c7a4b; font-weight: 600; }

.product-card__rating { display: flex; align-items: center; gap: 6px; margin: 6px 0 12px; }
.stars { color: #C8962A; font-size: .9rem; letter-spacing: 1px; }
.rating-count { font-size: .78rem; color: #8a7070; }

.card-add-btn {
  width: 100%;
  margin-top: 12px;
  padding: 10px;
  background: #faf0e8;
  border: 1px solid #e4d4c4;
  border-radius: 6px;
  font-family: 'Lato', sans-serif;
  font-size: .85rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--clr-primary, #D41A2A);
  cursor: pointer;
  transition: background .2s, color .2s;
}
.card-add-btn:hover { background: var(--clr-primary, #D41A2A); color: #fff; border-color: var(--clr-primary, #D41A2A); }

/* Pagination */
.pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 6px;
  margin-top: 48px;
}
.pagination__btn,
.pagination__page {
  width: 38px;
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #ded4cc;
  border-radius: 6px;
  background: #fff;
  cursor: pointer;
  font-size: .9rem;
  color: var(--clr-dark, #0D1A3A);
  transition: background .2s, color .2s, border-color .2s;
}
.pagination__page.active,
.pagination__btn:hover,
.pagination__page:hover { background: var(--clr-primary, #D41A2A); color: #fff; border-color: var(--clr-primary, #D41A2A); }
.pagination__btn:disabled { opacity: .4; cursor: not-allowed; pointer-events: none; }
.pagination__ellipsis { padding: 0 6px; color: #8a7070; }

/* ---------------------------------------------------------
   PRODUCT DETAIL PAGE
   --------------------------------------------------------- */
.product-page { padding-block: 48px; }
.product-page__layout { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: start; }

/* Gallery */
.product-gallery { display: flex; gap: 16px; }
.product-gallery__thumbs { display: flex; flex-direction: column; gap: 10px; flex-shrink: 0; }
.gallery-thumb {
  width: 72px;
  height: 90px;
  object-fit: cover;
  border-radius: 6px;
  border: 2px solid transparent;
  cursor: pointer;
  transition: border-color .2s;
}
.gallery-thumb.active,
.gallery-thumb:hover { border-color: var(--clr-primary, #D41A2A); }
.product-gallery__main { position: relative; flex: 1; border-radius: 10px; overflow: hidden; background: #f5ede4; aspect-ratio: 3/4; }
.product-gallery__main img { width: 100%; height: 100%; object-fit: cover; }
.gallery-zoom {
  position: absolute;
  bottom: 14px;
  right: 14px;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,.9);
  border: none;
  border-radius: 8px;
  cursor: pointer;
  color: var(--clr-dark, #0D1A3A);
  transition: background .2s;
}
.gallery-zoom:hover { background: #fff; }

/* Lightbox */
.lightbox {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.88);
  z-index: 2000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}
.lightbox[hidden] { display: none; }
.lightbox__img { max-width: 90vw; max-height: 88vh; object-fit: contain; border-radius: 8px; }
.lightbox__close {
  position: fixed;
  top: 20px;
  right: 24px;
  background: none;
  border: none;
  color: #fff;
  font-size: 2rem;
  cursor: pointer;
  line-height: 1;
  z-index: 2001;
}

/* Product Info */
.product-info__top { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; margin-bottom: 8px; }
.product-info__badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #e8f5ee;
  color: #2c7a4b;
  font-size: .78rem;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: 20px;
}
.product-info__name {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(1.8rem, 3vw, 2.4rem);
  font-weight: 600;
  color: var(--clr-dark, #0D1A3A);
  margin: 8px 0 12px;
  line-height: 1.2;
}
.product-info__rating { display: flex; align-items: center; gap: 10px; margin-bottom: 20px; }
.rating-stars { color: #C8962A; font-size: 1rem; }
.rating-score { font-size: .88rem; font-weight: 700; }
.rating-reviews { font-size: .82rem; color: #8a7070; }
.product-info__price { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; margin-bottom: 6px; }
.product-info__price .price-current { font-size: 1.7rem; }
.product-info__price .price-original { font-size: 1rem; }
.product-info__tax { font-size: .78rem; color: #8a7070; margin-bottom: 24px; }

/* Options */
.product-option { margin-bottom: 20px; }
.product-option__label { font-size: .88rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--clr-dark, #0D1A3A); margin-bottom: 10px; }
.product-option__label span { font-weight: 400; color: var(--clr-primary, #D41A2A); text-transform: none; letter-spacing: 0; }
.product-option__swatches { display: flex; flex-wrap: wrap; gap: 8px; }
.product-option__swatches .colour-swatch { width: 30px; height: 30px; }
.product-option__pills { display: flex; flex-wrap: wrap; gap: 8px; }
.option-pill {
  padding: 7px 16px;
  border: 1px solid #ded4cc;
  border-radius: 6px;
  background: #fff;
  font-size: .88rem;
  cursor: pointer;
  color: var(--clr-dark, #0D1A3A);
  transition: background .2s, color .2s, border-color .2s;
}
.option-pill:hover,
.option-pill.active { background: var(--clr-primary, #D41A2A); color: #fff; border-color: var(--clr-primary, #D41A2A); }
.option-pill.disabled { opacity: .4; cursor: not-allowed; text-decoration: line-through; }

/* CTA */
.product-cta { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin: 24px 0; }
.product-qty {
  display: flex;
  align-items: center;
  border: 1px solid #ded4cc;
  border-radius: 6px;
  overflow: hidden;
}
.qty-btn {
  width: 38px;
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fdf9f5;
  border: none;
  cursor: pointer;
  font-size: 1.2rem;
  color: var(--clr-dark, #0D1A3A);
  transition: background .2s;
}
.qty-btn:hover { background: #f0e4d8; }
.product-qty input {
  width: 48px;
  text-align: center;
  border: none;
  border-left: 1px solid #ded4cc;
  border-right: 1px solid #ded4cc;
  font-size: 1rem;
  font-family: 'Lato', sans-serif;
  height: 42px;
  background: #fff;
  -moz-appearance: textfield;
}
.product-qty input::-webkit-inner-spin-button { display: none; }
.product-wishlist-btn {
  width: 46px;
  height: 46px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #ded4cc;
  border-radius: 8px;
  background: #fff;
  cursor: pointer;
  color: #8a7070;
  transition: background .2s, color .2s, border-color .2s;
  flex-shrink: 0;
}
.product-wishlist-btn:hover,
.product-wishlist-btn.active { background: #fff0f0; color: #c0392b; border-color: #c0392b; }

/* Trust badges */
.trust-badges { display: flex; flex-wrap: wrap; gap: 16px; padding: 20px 0; border-top: 1px solid #ede3d8; border-bottom: 1px solid #ede3d8; margin: 20px 0; }
.trust-badge { display: flex; align-items: center; gap: 8px; font-size: .82rem; color: #5a4040; }
.trust-badge svg { color: var(--clr-primary, #D41A2A); flex-shrink: 0; }
.trust-badges--sm .trust-badge { font-size: .78rem; }

/* Product Accordion (Details/Care/Shipping) */
.product-accordion { margin-top: 24px; }
.product-specs { width: 100%; border-collapse: collapse; font-size: .9rem; }
.product-specs tr { border-bottom: 1px solid #f0e8e0; }
.product-specs td { padding: 8px 0; vertical-align: top; }
.product-specs td:first-child { width: 40%; color: #8a7070; padding-right: 16px; }

.care-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 8px; font-size: .9rem; color: #4a3030; }
.care-list li { display: flex; align-items: flex-start; gap: 10px; }
.care-list li::before { content: '✦'; color: var(--clr-gold, #C8962A); flex-shrink: 0; font-size: .8rem; margin-top: 2px; }

/* Share */
.product-share { display: flex; align-items: center; gap: 10px; margin-top: 20px; flex-wrap: wrap; }
.product-share__label { font-size: .82rem; color: #8a7070; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.share-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 7px 14px;
  border: 1px solid #ded4cc;
  border-radius: 20px;
  background: #fff;
  font-size: .82rem;
  cursor: pointer;
  color: var(--clr-dark, #0D1A3A);
  transition: background .2s, color .2s, border-color .2s;
  text-decoration: none;
}
.share-btn:hover { border-color: var(--clr-primary, #D41A2A); color: var(--clr-primary, #D41A2A); }
.share-btn--wa { border-color: #25D366; color: #25D366; }
.share-btn--wa:hover { background: #25D366; color: #fff; }

/* Reviews */
.reviews-section { padding-block: 56px; border-top: 1px solid #ede3d8; }
.reviews-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 32px; flex-wrap: wrap; gap: 12px; }
.reviews-header h2 { font-family: 'Cormorant Garamond', serif; font-size: 1.8rem; color: var(--clr-primary, #D41A2A); margin: 0; }

.reviews-summary { display: flex; gap: 40px; align-items: flex-start; margin-bottom: 40px; flex-wrap: wrap; }
.rating-big { text-align: center; }
.rating-number { font-family: 'Cormorant Garamond', serif; font-size: 4rem; font-weight: 600; color: var(--clr-primary, #D41A2A); line-height: 1; }
.rating-big .stars { font-size: 1.1rem; display: block; margin: 6px 0 4px; }
.rating-big p { font-size: .82rem; color: #8a7070; margin: 0; }
.rating-bars { flex: 1; min-width: 200px; display: flex; flex-direction: column; gap: 8px; }
.rating-bar-row { display: flex; align-items: center; gap: 10px; font-size: .82rem; color: #5a4040; }
.rating-bar { flex: 1; height: 8px; background: #ede3d8; border-radius: 4px; overflow: hidden; }
.rating-bar__fill { height: 100%; background: var(--clr-gold, #C8962A); border-radius: 4px; }

.review-list { display: flex; flex-direction: column; gap: 24px; }
.review-card { border: 1px solid #ede3d8; border-radius: 10px; padding: 22px 24px; }
.review-card__header { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 10px; flex-wrap: wrap; gap: 8px; }
.review-card__author { display: flex; align-items: center; gap: 12px; }
.review-avatar {
  width: 38px; height: 38px; border-radius: 50%;
  background: var(--clr-primary, #D41A2A);
  display: flex; align-items: center; justify-content: center;
  color: #fff; font-weight: 700; font-size: 1rem; flex-shrink: 0;
}
.review-name { font-weight: 700; font-size: .9rem; }
.review-tag { font-size: .72rem; padding: 2px 8px; border-radius: 10px; }
.review-tag.verified { background: #e8f5ee; color: #2c7a4b; }
.review-date { font-size: .78rem; color: #8a7070; }
.review-text { font-size: .92rem; color: #4a3030; line-height: 1.7; margin: 0; }

/* Write Review Form */
.write-review-form { background: #fdf9f5; border: 1px solid #ede3d8; border-radius: 10px; padding: 28px 30px; margin-top: 28px; }
.write-review-form h3 { font-family: 'Cormorant Garamond', serif; font-size: 1.3rem; color: var(--clr-primary, #D41A2A); margin: 0 0 20px; }
.star-select { display: flex; gap: 6px; margin-bottom: 16px; }
.star-select__star {
  font-size: 1.6rem; cursor: pointer; color: #ddd4c8; transition: color .15s;
  background: none; border: none; padding: 0; line-height: 1;
}
.star-select__star.active,
.star-select__star:hover ~ .star-select__star { color: #C8962A; }
.star-select:hover .star-select__star { color: #C8962A; }
.star-select .star-select__star:hover ~ .star-select__star { color: #ddd4c8; }

.related-section { padding-block: 56px; border-top: 1px solid #ede3d8; }
.related-section h2 { font-family: 'Cormorant Garamond', serif; font-size: 1.8rem; color: var(--clr-primary, #D41A2A); margin: 0 0 32px; }

/* ---------------------------------------------------------
   ABOUT PAGE
   --------------------------------------------------------- */
.about-story { padding-block: 72px; }
.about-story__layout { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
.about-story__img { position: relative; border-radius: 12px; overflow: hidden; aspect-ratio: 4/5; background: #f5ede4; }
.about-story__img img { width: 100%; height: 100%; object-fit: cover; }
.about-story__img-badge {
  position: absolute;
  bottom: -16px;
  right: -16px;
  width: 100px;
  height: 100px;
  background: var(--clr-primary, #D41A2A);
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: .72rem;
  text-align: center;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-weight: 700;
  border: 4px solid #fff;
  box-shadow: 0 4px 20px rgba(0,0,0,.15);
}
.about-story__img-badge strong { font-family: 'Cormorant Garamond', serif; font-size: 1.6rem; font-weight: 700; line-height: 1; display: block; }
.about-story__eyebrow { font-size: .78rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--clr-gold, #C8962A); margin-bottom: 12px; }
.about-story__text h2 { font-family: 'Cormorant Garamond', serif; font-size: clamp(1.8rem, 3vw, 2.6rem); font-weight: 600; color: var(--clr-dark, #0D1A3A); margin: 0 0 20px; }
.about-story__text p { color: #4a3030; line-height: 1.8; margin: 0 0 1em; }

/* Stats */
.about-stats { background: var(--clr-primary, #D41A2A); padding-block: 60px; }
.about-stats__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px; }
.stat-card { text-align: center; color: #fff; }
.stat-card__number { font-family: 'Cormorant Garamond', serif; font-size: 3.2rem; font-weight: 600; color: var(--clr-gold-light, #E2B84A); line-height: 1; }
.stat-card__label { font-size: .88rem; color: rgba(255,255,255,.8); margin-top: 8px; letter-spacing: .04em; }

/* Values */
.about-values { padding-block: 72px; background: #fdf9f5; }
.values-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; }
.value-card {
  background: #fff;
  border: 1px solid #ede3d8;
  border-radius: 12px;
  padding: 32px 24px;
  text-align: center;
  transition: box-shadow .25s, transform .25s;
}
.value-card:hover { box-shadow: 0 8px 28px rgba(123,26,26,.08); transform: translateY(-4px); }
.value-card__icon {
  width: 60px;
  height: 60px;
  margin: 0 auto 20px;
  background: #faf0e8;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--clr-primary, #D41A2A);
}
.value-card h3 { font-family: 'Cormorant Garamond', serif; font-size: 1.2rem; color: var(--clr-dark, #0D1A3A); margin: 0 0 10px; }
.value-card p { font-size: .88rem; color: #6a5050; line-height: 1.6; margin: 0; }

/* Process */
.about-process { padding-block: 72px; }
.about-process h2 { font-family: 'Cormorant Garamond', serif; font-size: 2rem; color: var(--clr-primary, #D41A2A); text-align: center; margin: 0 0 48px; }
.process-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; position: relative; }
.process-steps::before {
  content: '';
  position: absolute;
  top: 36px;
  left: 12.5%;
  width: 75%;
  height: 2px;
  background: #ede3d8;
  z-index: 0;
}
.process-step { text-align: center; position: relative; z-index: 1; padding: 0 16px; }
.process-step__num {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: var(--clr-primary, #D41A2A);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.8rem;
  font-weight: 600;
  margin: 0 auto 20px;
  border: 4px solid #fff;
  box-shadow: 0 0 0 2px var(--clr-primary, #D41A2A);
}
.process-step h3 { font-family: 'Cormorant Garamond', serif; font-size: 1.1rem; color: var(--clr-dark, #0D1A3A); margin: 0 0 8px; }
.process-step p { font-size: .85rem; color: #6a5050; line-height: 1.6; margin: 0; }

/* Team */
.about-team { padding-block: 72px; background: #fdf9f5; }
.about-team h2 { font-family: 'Cormorant Garamond', serif; font-size: 2rem; color: var(--clr-primary, #D41A2A); text-align: center; margin: 0 0 48px; }
.team-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; }
.team-card { text-align: center; }
.team-card__img {
  width: 140px;
  height: 140px;
  border-radius: 50%;
  object-fit: cover;
  margin: 0 auto 16px;
  display: block;
  border: 3px solid #ede3d8;
}
.team-card__name { font-family: 'Cormorant Garamond', serif; font-size: 1.15rem; font-weight: 600; color: var(--clr-dark, #0D1A3A); margin: 0 0 4px; }
.team-card__role { font-size: .82rem; color: var(--clr-primary, #D41A2A); font-weight: 600; text-transform: uppercase; letter-spacing: .08em; margin: 0 0 8px; }
.team-card__bio { font-size: .85rem; color: #6a5050; line-height: 1.6; margin: 0; }

/* Store photos (about page) */
.about-stores { padding-block: 72px; }
.about-stores h2 { font-family: 'Cormorant Garamond', serif; font-size: 2rem; color: var(--clr-primary, #D41A2A); text-align: center; margin: 0 0 48px; }
.store-photos-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.store-photo-card { border-radius: 12px; overflow: hidden; position: relative; aspect-ratio: 16/10; }
.store-photo-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.store-photo-card:hover img { transform: scale(1.04); }
.store-photo-card__info {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  background: linear-gradient(to top, rgba(26,13,13,.8) 0%, transparent 100%);
  padding: 20px 24px 20px;
  color: #fff;
}
.store-photo-card__info h3 { font-family: 'Cormorant Garamond', serif; font-size: 1.3rem; margin: 0 0 4px; }
.store-photo-card__info p { font-size: .85rem; color: rgba(255,255,255,.8); margin: 0; }

/* About testimonials */
.about-testimonials { padding-block: 72px; background: #fdf9f5; }
.about-testimonials h2 { font-family: 'Cormorant Garamond', serif; font-size: 2rem; color: var(--clr-primary, #D41A2A); text-align: center; margin: 0 0 48px; }
.testimonials-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.testimonial-card {
  background: #fff;
  border: 1px solid #ede3d8;
  border-radius: 12px;
  padding: 28px 26px;
}
.testimonial-card blockquote { margin: 0 0 20px; font-style: italic; font-size: .95rem; color: #4a3030; line-height: 1.7; }
.testimonial-card blockquote::before { content: '"'; font-family: 'Cormorant Garamond', serif; font-size: 3rem; color: var(--clr-gold, #C8962A); line-height: 0; vertical-align: -1rem; margin-right: 4px; }
.testimonial-card__author { display: flex; align-items: center; gap: 12px; }
.testimonial-card__author img { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; }
.testimonial-card__name { font-weight: 700; font-size: .88rem; }
.testimonial-card__loc { font-size: .78rem; color: #8a7070; }

/* CTA Strip */
.cta-strip { background: var(--clr-bg-dark, #0D1A3A); padding-block: 64px; }
.cta-strip--dark { background: var(--clr-bg-dark, #0D1A3A); }
.cta-strip__inner { display: flex; justify-content: space-between; align-items: center; gap: 32px; flex-wrap: wrap; }
.cta-strip__inner h2 { font-family: 'Cormorant Garamond', serif; font-size: clamp(1.6rem, 3vw, 2.2rem); color: #fff; margin: 0 0 8px; }
.cta-strip__inner p { color: rgba(255,255,255,.7); margin: 0; }
.cta-strip__actions { display: flex; gap: 12px; flex-wrap: wrap; }
.btn--outline-light {
  background: transparent;
  border: 2px solid rgba(255,255,255,.5);
  color: #fff;
  padding: 12px 28px;
  border-radius: 4px;
  font-family: 'Lato', sans-serif;
  font-size: .85rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  cursor: pointer;
  text-decoration: none;
  transition: background .2s, border-color .2s;
}
.btn--outline-light:hover { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.8); }

/* ---------------------------------------------------------
   CONTACT PAGE
   --------------------------------------------------------- */
.contact-section { padding-block: 72px; }
.contact-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: start;
}

/* Info side */
.contact-info .section-header { margin-bottom: 36px; }
.contact-cards { display: flex; flex-direction: column; gap: 20px; }
.contact-card {
  display: flex;
  align-items: flex-start;
  gap: 18px;
  padding: 22px 24px;
  background: var(--clr-bg-light, #F5F6FA);
  border: 1px solid var(--clr-border, #D8DCE8);
  border-radius: 10px;
  transition: border-color .2s, box-shadow .2s;
}
.contact-card:hover { border-color: var(--clr-primary, #D41A2A); box-shadow: 0 4px 16px rgba(212,26,42,.08); }
.contact-card__icon {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--clr-primary, #D41A2A);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  flex-shrink: 0;
}
.contact-card h3 { font-family: 'Cormorant Garamond', serif; font-size: 1.05rem; font-weight: 600; color: var(--clr-dark, #0D1A3A); margin: 0 0 4px; }
.contact-card p,
.contact-card a { font-size: .9rem; color: var(--clr-text-muted, #5A5A78); line-height: 1.6; margin: 0; text-decoration: none; }
.contact-card a:hover { color: var(--clr-primary, #D41A2A); }

/* Form side */
.contact-form-box {
  background: #fff;
  border: 1px solid var(--clr-border, #D8DCE8);
  border-radius: 12px;
  padding: 40px 36px;
  box-shadow: 0 4px 24px rgba(0,0,0,.06);
}
.contact-form-box__title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.8rem;
  font-weight: 600;
  color: var(--clr-dark, #0D1A3A);
  margin: 0 0 6px;
}
.contact-form-box__sub { font-size: .88rem; color: var(--clr-text-muted, #5A5A78); margin: 0 0 28px; }
.contact-success {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 16px;
  background: #edf7f0;
  border: 1px solid #a8d8b9;
  border-radius: 8px;
  color: #2c7a4b;
  font-size: .9rem;
  font-weight: 600;
  margin-bottom: 20px;
}
.contact-error-summary {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 16px;
  background: #fdf0f0;
  border: 1px solid #f5c0c0;
  border-radius: 8px;
  color: #c0392b;
  font-size: .9rem;
  font-weight: 600;
  margin-bottom: 20px;
}
.contact-form .btn--full { width: 100%; justify-content: center; gap: 8px; margin-top: 4px; }

/* ---------------------------------------------------------
   ORDERS — INDEX
   --------------------------------------------------------- */
.orders-page { padding-block: 56px; }

.orders-flash {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 18px;
  background: #edf7f0;
  border: 1px solid #a8d8b9;
  border-radius: 8px;
  color: #2c7a4b;
  font-size: .9rem;
  font-weight: 600;
  margin-bottom: 28px;
}

/* Order row card */
.order-row {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 28px;
  align-items: center;
  background: #fff;
  border: 1px solid var(--clr-border, #D8DCE8);
  border-radius: 12px;
  padding: 24px 28px;
  margin-bottom: 16px;
  transition: border-color .2s, box-shadow .2s;
}
.order-row:last-of-type { margin-bottom: 0; }
.order-row:hover { border-color: var(--clr-primary, #D41A2A); box-shadow: 0 4px 20px rgba(212,26,42,.07); }

.order-row__num {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--clr-dark, #0D1A3A);
  margin: 0 0 4px;
}
.order-row__date {
  font-size: .82rem;
  color: var(--clr-text-muted, #5A5A78);
  margin: 0 0 4px;
  display: flex;
  align-items: center;
  gap: 5px;
}
.order-row__items { font-size: .85rem; color: var(--clr-text-muted, #5A5A78); margin: 0; }

/* Thumbnail stack */
.order-row__thumbs { display: flex; gap: -6px; }
.order-row__thumb {
  width: 52px;
  height: 52px;
  border-radius: 8px;
  object-fit: cover;
  border: 2px solid #fff;
  box-shadow: 0 1px 4px rgba(0,0,0,.12);
  margin-right: -8px;
}
.order-row__thumb--placeholder,
.order-row__thumb--more {
  width: 52px;
  height: 52px;
  border-radius: 8px;
  background: var(--clr-bg-light, #F5F6FA);
  border: 2px solid #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .75rem;
  font-weight: 700;
  color: var(--clr-text-muted, #5A5A78);
  margin-right: -8px;
}

.order-row__right { display: flex; flex-direction: column; align-items: flex-end; gap: 10px; }
.order-row__total { text-align: right; }
.order-row__total-label { display: block; font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; color: var(--clr-text-muted, #5A5A78); margin-bottom: 2px; }
.order-row__total-val { font-size: 1.25rem; font-family: 'Cormorant Garamond', serif; font-weight: 700; color: var(--clr-dark, #0D1A3A); }

/* Status / payment badges */
.status-badge {
  display: inline-flex;
  align-items: center;
  padding: 4px 12px;
  border-radius: 20px;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .03em;
}
.badge--success { background: #edf7f0; color: #2c7a4b; }
.badge--danger  { background: #fdf0f0; color: #c0392b; }
.badge--warning { background: #fff8e1; color: #b45309; }
.badge--info    { background: #e8f4fd; color: #1a6b9a; }
.badge--sm      { padding: 2px 8px; font-size: .7rem; }

/* Pagination */
.orders-pagination { margin-top: 32px; display: flex; justify-content: center; }

/* Empty state */
.orders-empty {
  text-align: center;
  padding: 72px 24px;
}
.orders-empty__icon { font-size: 3.5rem; color: var(--clr-border, #D8DCE8); display: block; margin-bottom: 20px; }
.orders-empty__title { font-family: 'Cormorant Garamond', serif; font-size: 1.8rem; color: var(--clr-dark, #0D1A3A); margin: 0 0 8px; }
.orders-empty__text { color: var(--clr-text-muted, #5A5A78); font-size: .9rem; margin: 0 0 24px; }

/* ---------------------------------------------------------
   ORDERS — DETAIL PAGE
   --------------------------------------------------------- */
.order-detail-page { padding-block: 56px; }
.order-detail-hero { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; margin-top: 12px; }
.order-detail-hero__badges { display: flex; gap: 8px; flex-wrap: wrap; }
.inner-hero__sub { color: rgba(255,255,255,.7); font-size: .88rem; margin: 4px 0 0; }

.order-detail-layout {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 32px;
  align-items: start;
}

.order-detail-main { display: flex; flex-direction: column; gap: 24px; }

/* Cards */
.order-detail-card {
  background: #fff;
  border: 1px solid var(--clr-border, #D8DCE8);
  border-radius: 12px;
  padding: 28px 32px;
}
.order-detail-card__title {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--clr-dark, #0D1A3A);
  margin: 0 0 22px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--clr-border, #D8DCE8);
}
.order-detail-card__title i { color: var(--clr-primary, #D41A2A); font-size: 1rem; }

/* Timeline */
.order-timeline { list-style: none; padding: 0; margin: 0; }
.order-timeline__step {
  display: flex;
  gap: 16px;
  padding-bottom: 28px;
  position: relative;
}
.order-timeline__step:last-child { padding-bottom: 0; }
.order-timeline__step::before {
  content: '';
  position: absolute;
  left: 10px;
  top: 24px;
  bottom: 0;
  width: 2px;
  background: var(--clr-border, #D8DCE8);
}
.order-timeline__step:last-child::before { display: none; }
.order-timeline__dot {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  border: 2px solid var(--clr-border, #D8DCE8);
  background: #fff;
  flex-shrink: 0;
  position: relative;
  z-index: 1;
  margin-top: 1px;
}
.order-timeline__step--complete .order-timeline__dot {
  background: var(--clr-primary, #D41A2A);
  border-color: var(--clr-primary, #D41A2A);
}
.order-timeline__step--complete .order-timeline__dot::after {
  content: '✓';
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: .65rem;
  font-weight: 700;
}
.order-timeline__step--current .order-timeline__dot {
  border-color: var(--clr-primary, #D41A2A);
  box-shadow: 0 0 0 4px rgba(212,26,42,.15);
}
.order-timeline__step--complete::before { background: var(--clr-primary, #D41A2A); }

.order-timeline__body { flex: 1; min-width: 0; }
.order-timeline__label {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 8px;
  font-weight: 600;
  font-size: .92rem;
  color: var(--clr-dark, #0D1A3A);
  margin: 0 0 4px;
}
.order-timeline__step--upcoming .order-timeline__label { color: var(--clr-text-muted, #5A5A78); font-weight: 400; }
.order-timeline__date { font-size: .78rem; color: var(--clr-text-muted, #5A5A78); font-weight: 400; white-space: nowrap; }
.order-timeline__desc { font-size: .83rem; color: var(--clr-text-muted, #5A5A78); margin: 0; line-height: 1.6; }

/* Items */
.order-items { display: flex; flex-direction: column; gap: 20px; }
.order-item-row {
  display: flex;
  align-items: center;
  gap: 16px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--clr-bg-light, #F5F6FA);
}
.order-item-row:last-child { padding-bottom: 0; border-bottom: none; }
.order-item-row__img {
  width: 68px;
  height: 68px;
  border-radius: 8px;
  overflow: hidden;
  flex-shrink: 0;
  background: var(--clr-bg-light, #F5F6FA);
}
.order-item-row__img img { width: 100%; height: 100%; object-fit: cover; }
.order-item-row__img-placeholder { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; color: var(--clr-border, #D8DCE8); font-size: 1.4rem; }
.order-item-row__info { flex: 1; min-width: 0; }
.order-item-row__name { font-size: .95rem; font-weight: 600; color: var(--clr-dark, #0D1A3A); margin: 0 0 4px; }
.order-item-row__name a { color: inherit; text-decoration: none; }
.order-item-row__name a:hover { color: var(--clr-primary, #D41A2A); }
.order-item-row__meta { font-size: .8rem; color: var(--clr-text-muted, #5A5A78); margin: 0; }
.order-item-row__price { font-family: 'Cormorant Garamond', serif; font-size: 1.1rem; font-weight: 700; color: var(--clr-dark, #0D1A3A); white-space: nowrap; }

/* Addresses */
.order-addresses { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.order-address { background: var(--clr-bg-light, #F5F6FA); border-radius: 10px; padding: 18px 20px; }
.order-address__type { font-size: .75rem; text-transform: uppercase; letter-spacing: .08em; color: var(--clr-text-muted, #5A5A78); margin: 0 0 8px; font-weight: 700; }
.order-address__name { font-weight: 600; color: var(--clr-dark, #0D1A3A); margin: 0 0 4px; font-size: .9rem; }
.order-address p { font-size: .85rem; color: var(--clr-text-muted, #5A5A78); margin: 0 0 2px; line-height: 1.5; }
.order-address__phone { display: flex; align-items: center; gap: 5px; margin-top: 6px !important; }

/* Sidebar */
.order-detail-sidebar { display: flex; flex-direction: column; gap: 20px; }
.order-totals { list-style: none; padding: 0; margin: 0; }
.order-totals__row { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--clr-bg-light, #F5F6FA); font-size: .87rem; }
.order-totals__row:last-child { border-bottom: none; }
.order-totals__row--total { font-weight: 700; font-size: 1rem; color: var(--clr-dark, #0D1A3A); border-top: 2px solid var(--clr-border, #D8DCE8); padding-top: 12px; margin-top: 4px; }
.order-totals__row dt { color: var(--clr-text-muted, #5A5A78); }
.order-totals__row dd { font-weight: 600; color: var(--clr-dark, #0D1A3A); }
.order-totals__discount { color: #2c7a4b !important; }
.order-totals__ref { font-size: .75rem; word-break: break-all; }
.order-invoice-ref { font-size: .83rem; color: var(--clr-text-muted, #5A5A78); margin: 14px 0 0; display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.order-cancel-form { margin-top: 18px; }
.order-no-data { font-size: .85rem; color: var(--clr-text-muted, #5A5A78); margin: 0; }
.order-detail-actions { display: flex; flex-direction: column; gap: 10px; }

/* btn helpers */
.btn--danger { background: #c0392b; border-color: #c0392b; color: #fff; }
.btn--danger:hover { background: #a93226; border-color: #a93226; }
.btn--outline { background: transparent; border: 2px solid var(--clr-primary, #D41A2A); color: var(--clr-primary, #D41A2A); }
.btn--outline:hover { background: var(--clr-primary, #D41A2A); color: #fff; }

/* ---------------------------------------------------------
   PROFILE PAGE
   --------------------------------------------------------- */
.profile-page { padding-block: 56px; }

.profile-layout {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 32px;
  align-items: start;
}

/* Sidebar */
.profile-sidebar {
  position: sticky;
  top: 100px;
  display: flex;
  flex-direction: column;
  gap: 0;
  background: #fff;
  border: 1px solid var(--clr-border, #D8DCE8);
  border-radius: 14px;
  overflow: hidden;
}

.profile-sidebar__identity {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 24px 20px;
  background: linear-gradient(135deg, var(--clr-dark, #0D1A3A), #1e2f5c);
  color: #fff;
}

.profile-avatar {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: var(--clr-primary, #D41A2A);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.5rem;
  font-weight: 700;
  flex-shrink: 0;
}

.profile-sidebar__name {
  font-weight: 700;
  font-size: .95rem;
  margin: 0 0 2px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.profile-sidebar__email {
  font-size: .75rem;
  color: rgba(255,255,255,.65);
  margin: 0 0 2px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.profile-sidebar__since {
  font-size: .72rem;
  color: rgba(255,255,255,.45);
  margin: 0;
}

/* Nav */
.profile-nav {
  display: flex;
  flex-direction: column;
  padding: 10px 0;
  border-bottom: 1px solid var(--clr-border, #D8DCE8);
}
.profile-nav__link {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 13px 20px;
  font-size: .88rem;
  font-weight: 500;
  color: var(--clr-dark, #0D1A3A);
  text-decoration: none;
  background: transparent;
  border: none;
  cursor: pointer;
  width: 100%;
  text-align: left;
  transition: background .15s, color .15s;
}
.profile-nav__link i { width: 18px; text-align: center; font-size: .9rem; color: var(--clr-text-muted, #5A5A78); }
.profile-nav__link:hover { background: var(--clr-bg-light, #F5F6FA); color: var(--clr-primary, #D41A2A); }
.profile-nav__link:hover i { color: var(--clr-primary, #D41A2A); }
.profile-nav__link--active { color: var(--clr-primary, #D41A2A); background: #fdf0f0; font-weight: 700; }
.profile-nav__link--active i { color: var(--clr-primary, #D41A2A); }
.profile-nav__link--danger { color: #c0392b; }
.profile-nav__link--danger i { color: #c0392b; }
.profile-nav__link--danger:hover { background: #fdf0f0; color: #a93226; }
.profile-nav__logout { display: contents; }

/* Stats row in sidebar */
.profile-sidebar__stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.profile-stat-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 16px 12px;
  gap: 3px;
}
.profile-stat-item:first-child { border-right: 1px solid var(--clr-border, #D8DCE8); }
.profile-stat-item__val {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--clr-dark, #0D1A3A);
}
.profile-stat-item__label {
  font-size: .7rem;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: var(--clr-text-muted, #5A5A78);
}

/* Main column */
.profile-main { display: flex; flex-direction: column; gap: 24px; }

/* Cards */
.profile-card {
  background: #fff;
  border: 1px solid var(--clr-border, #D8DCE8);
  border-radius: 14px;
  padding: 32px 36px;
}
.profile-card--danger { border-color: #f5c6c6; }
.profile-card .profile-card__header { margin-bottom: 24px; padding-bottom: 18px; border-bottom: 1px solid var(--clr-border, #D8DCE8); }
.profile-card .profile-card__header h3 {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--clr-dark, #0D1A3A);
  margin: 6px 0 4px;
}
.profile-card .profile-card__header p { font-size: .85rem; color: var(--clr-text-muted, #5A5A78); margin: 0; }
.profile-card--danger .profile-card__header h3 { color: #c0392b; }

.profile-label {
  font-size: .7rem;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: var(--clr-primary, #D41A2A);
  font-weight: 700;
  margin: 0;
}

/* Form elements */
.profile-form { display: grid; gap: 20px; }
.profile-field-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.profile-field { display: grid; gap: 7px; }
.profile-field--full { grid-column: 1 / -1; }

.profile-input-label {
  font-size: .72rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  font-weight: 600;
  color: var(--clr-text-muted, #5A5A78);
}
.profile-input {
  width: 100%;
  padding: 11px 14px;
  border-radius: 8px;
  border: 1px solid var(--clr-border, #D8DCE8);
  background: var(--clr-bg-light, #F5F6FA);
  color: var(--clr-dark, #0D1A3A);
  font: inherit;
  font-size: .9rem;
  transition: border-color .2s, box-shadow .2s;
  box-sizing: border-box;
}
.profile-input:focus {
  outline: none;
  border-color: var(--clr-primary, #D41A2A);
  background: #fff;
  box-shadow: 0 0 0 3px rgba(212,26,42,.1);
}

.profile-errors { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.profile-errors li { font-size: .8rem; color: #c0392b; }

.profile-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  padding-top: 4px;
}

.profile-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 11px 24px;
  border-radius: 999px;
  border: 2px solid var(--clr-primary, #D41A2A);
  background: var(--clr-primary, #D41A2A);
  color: #fff;
  font: inherit;
  font-size: .88rem;
  font-weight: 600;
  cursor: pointer;
  transition: background .2s, border-color .2s;
}
.profile-button:hover { background: #b01523; border-color: #b01523; }

.profile-secondary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 11px 22px;
  border-radius: 999px;
  border: 2px solid var(--clr-border, #D8DCE8);
  background: var(--clr-bg-light, #F5F6FA);
  color: var(--clr-dark, #0D1A3A);
  font: inherit;
  font-size: .88rem;
  cursor: pointer;
  transition: border-color .2s;
}
.profile-secondary:hover { border-color: var(--clr-primary, #D41A2A); color: var(--clr-primary, #D41A2A); }

.profile-danger {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 11px 24px;
  border-radius: 999px;
  border: 2px solid #c0392b;
  background: #c0392b;
  color: #fff;
  font: inherit;
  font-size: .88rem;
  font-weight: 600;
  cursor: pointer;
  transition: background .2s;
}
.profile-danger:hover { background: #a93226; border-color: #a93226; }

.profile-status,
.profile-success { padding: 10px 14px; border-radius: 8px; background: #edf7f0; border: 1px solid #a8d8b9; color: #2c7a4b; font-size: .85rem; }
.profile-warning  { padding: 10px 14px; border-radius: 8px; background: #fdf0f0; border: 1px solid #f5c6c6; color: #c0392b; font-size: .85rem; }

/* ---------------------------------------------------------
   WISHLIST PAGE
   --------------------------------------------------------- */
.page-inner-header { padding-block: 40px; border-bottom: 1px solid #ede3d8; margin-bottom: 40px; }
.page-inner-title { font-family: 'Cormorant Garamond', serif; font-size: clamp(1.8rem, 4vw, 2.6rem); font-weight: 600; color: var(--clr-primary, #D41A2A); margin: 0 0 6px; }

.wishlist-total-count { font-size: .9rem; color: #8a7070; }
.wishlist-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.wishlist-actions { display: flex; gap: 12px; margin-top: 40px; flex-wrap: wrap; }
.wishlist-empty {
  text-align: center;
  padding: 80px 20px;
}
.wishlist-empty__icon { margin-bottom: 20px; color: #c8b4b4; }
.wishlist-empty h2 { font-family: 'Cormorant Garamond', serif; font-size: 1.8rem; color: var(--clr-primary, #D41A2A); margin: 0 0 12px; }
.wishlist-empty p { color: #8a7070; margin: 0 0 24px; }

/* ---------------------------------------------------------
   CHECKOUT PAGE
   --------------------------------------------------------- */
.site-header--checkout .main-nav { display: none !important; }
.checkout-secure-badge {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: .82rem;
  color: #2c7a4b;
  font-weight: 600;
}

.checkout-steps {
  padding: 20px 0;
  background: #fdf9f5;
  border-bottom: 1px solid #ede3d8;
}
.checkout-steps ol {
  display: flex;
  justify-content: center;
  align-items: center;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 0;
}
.checkout-step {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: .85rem;
  color: #b4a0a0;
  font-weight: 600;
}
.checkout-step.active { color: var(--clr-primary, #D41A2A); }
.checkout-step.done { color: #2c7a4b; }
.checkout-step__num {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #ede3d8;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .82rem;
  font-weight: 700;
}
.checkout-step.active .checkout-step__num { background: var(--clr-primary, #D41A2A); color: #fff; }
.checkout-step.done .checkout-step__num { background: #2c7a4b; color: #fff; }
.checkout-step__label { white-space: nowrap; }
.checkout-step + .checkout-step::before {
  content: '';
  width: 40px;
  height: 2px;
  background: #ede3d8;
  margin: 0 16px;
}

.checkout-layout {
  display: grid;
  grid-template-columns: 1fr 400px;
  gap: 48px;
  padding-block: 48px;
}
.checkout-section { margin-bottom: 32px; }
.checkout-section__title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.3rem;
  font-weight: 600;
  color: var(--clr-dark, #0D1A3A);
  margin: 0 0 20px;
  padding-bottom: 10px;
  border-bottom: 1px solid #ede3d8;
}

/* Forms */
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.form-group { display: flex; flex-direction: column; gap: 6px; margin-bottom: 16px; }
.form-group label { font-size: .82rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: #5a4040; }
.form-group input,
.form-group select,
.form-group textarea {
  padding: 11px 14px;
  border: 1px solid #ded4cc;
  border-radius: 7px;
  font-family: 'Lato', sans-serif;
  font-size: .92rem;
  background: #fff;
  color: var(--clr-dark, #0D1A3A);
  transition: border-color .2s, box-shadow .2s;
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
  outline: none;
  border-color: var(--clr-primary, #D41A2A);
  box-shadow: 0 0 0 3px rgba(123,26,26,.1);
}
.form-group input.error,
.form-group select.error { border-color: #c0392b; }
.field-error { font-size: .78rem; color: #c0392b; margin-top: 2px; }
.form-divider { border: none; border-top: 1px solid #ede3d8; margin: 24px 0; }
.form-section-title { font-family: 'Cormorant Garamond', serif; font-size: 1.1rem; color: var(--clr-dark, #0D1A3A); margin: 0 0 16px; }
.form-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 20px; }

/* Shipping / Payment Options */
.shipping-options,
.payment-methods { display: flex; flex-direction: column; gap: 12px; }
.shipping-option,
.payment-method {
  display: flex;
  gap: 12px;
  padding: 16px 18px;
  border: 2px solid #ede3d8;
  border-radius: 8px;
  cursor: pointer;
  transition: border-color .2s, background .2s;
}
.shipping-option:has(input:checked),
.payment-method:has(input:checked) { border-color: var(--clr-primary, #D41A2A); background: #fdf9f5; }
.shipping-option input[type="radio"],
.payment-method input[type="radio"] { accent-color: var(--clr-primary, #D41A2A); margin-top: 2px; flex-shrink: 0; }
.shipping-option__body,
.payment-method__body { flex: 1; }
.shipping-option__name,
.payment-method__name { font-weight: 700; font-size: .92rem; color: var(--clr-dark, #0D1A3A); }
.shipping-option__days,
.payment-method__note { font-size: .8rem; color: #8a7070; margin-top: 2px; }
.shipping-option__price { font-weight: 700; color: var(--clr-primary, #D41A2A); font-size: .92rem; }
.payment-detail { padding: 12px 0 4px; }
.payment-detail[hidden] { display: none; }
.payment-icons--sm { display: flex; gap: 6px; margin-top: 8px; }

/* Order Summary box */
.order-summary-box {
  background: #fdf9f5;
  border: 1px solid #ede3d8;
  border-radius: 12px;
  padding: 28px 24px;
  position: sticky;
  top: calc(var(--header-h, 70px) + 18px);
}
.order-summary-box__title { font-family: 'Cormorant Garamond', serif; font-size: 1.3rem; color: var(--clr-primary, #D41A2A); margin: 0 0 20px; }
.order-summary-items { display: flex; flex-direction: column; gap: 16px; margin-bottom: 20px; }
.order-summary-item { display: flex; gap: 14px; align-items: flex-start; }
.order-summary-item__img { width: 64px; height: 80px; object-fit: cover; border-radius: 6px; background: #e8ddd4; flex-shrink: 0; }
.order-summary-item__body { flex: 1; }
.order-summary-item__name { font-size: .88rem; font-weight: 600; color: var(--clr-dark, #0D1A3A); line-height: 1.3; }
.order-summary-item__meta { font-size: .78rem; color: #8a7070; margin-top: 4px; }
.order-summary-item__price { font-size: .92rem; font-weight: 700; color: var(--clr-primary, #D41A2A); margin-top: 6px; }
.order-summary-empty { text-align: center; color: #8a7070; font-size: .9rem; padding: 20px 0; }

.coupon-row { margin: 16px 0; }
.coupon-form { display: flex; gap: 8px; }
.coupon-form input { flex: 1; padding: 10px 12px; border: 1px solid #ded4cc; border-radius: 6px; font-size: .88rem; }
.coupon-form button { white-space: nowrap; }
.coupon-message { font-size: .82rem; margin-top: 6px; padding: 6px 10px; border-radius: 4px; }
.coupon-message.success { background: #e8f5ee; color: #2c7a4b; }
.coupon-message.error { background: #fdecea; color: #c0392b; }

.divider { border: none; border-top: 1px solid #ede3d8; margin: 16px 0; }

.order-totals { display: flex; flex-direction: column; gap: 8px; }
.order-total-row { display: flex; justify-content: space-between; font-size: .88rem; color: #5a4040; }
.order-total-row--discount { color: #2c7a4b; }
.order-total-row--total {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--clr-dark, #0D1A3A);
  margin-top: 8px;
  padding-top: 12px;
  border-top: 1px solid #ede3d8;
}

.checkout-submit { margin-top: 24px; }
.checkout-submit .btn { width: 100%; }
.checkout-agree { font-size: .78rem; color: #8a7070; margin-top: 10px; text-align: center; }
.checkout-agree a { color: var(--clr-primary, #D41A2A); }

/* Coupon box */
.coupon-box { padding: 14px 0 4px; }
.coupon-box__label { font-size: .8rem; font-weight: 700; color: var(--clr-dark, #0D1A3A); margin: 0 0 10px; display: flex; align-items: center; gap: 6px; }
.coupon-box__label i { color: var(--clr-primary, #D41A2A); }
.coupon-box__row { display: flex; gap: 8px; }
.coupon-box__input {
  flex: 1;
  padding: 9px 12px;
  border: 1px solid var(--clr-border, #D8DCE8);
  border-radius: 8px;
  font: inherit;
  font-size: .85rem;
  text-transform: uppercase;
  letter-spacing: .05em;
  background: var(--clr-bg-light, #F5F6FA);
}
.coupon-box__input:focus { outline: none; border-color: var(--clr-primary, #D41A2A); background: #fff; }
.coupon-box__input:disabled { opacity: .6; cursor: not-allowed; }
.coupon-box__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 9px 16px;
  border-radius: 8px;
  border: 2px solid var(--clr-primary, #D41A2A);
  background: var(--clr-primary, #D41A2A);
  color: #fff;
  font: inherit;
  font-size: .82rem;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
  transition: background .2s;
}
.coupon-box__btn:hover { background: #b01523; border-color: #b01523; }
.coupon-box__btn--remove { background: transparent; color: var(--clr-primary, #D41A2A); }
.coupon-box__btn--remove:hover { background: #fdf0f0; }
.coupon-msg { font-size: .82rem; margin: 8px 0 0; padding: 0; }
.coupon-msg--ok    { color: #2c7a4b; }
.coupon-msg--error { color: #c0392b; }

/* Discount row in order totals */
.order-total-row span:last-child { white-space: nowrap; }
.order-total-row--gst { color: #555; font-size: .88rem; }
.order-total-row--gst span:first-child { color: #888; }

/* Order Confirmed screen */
.order-confirmed {
  text-align: center;
  padding: 80px 20px;
  max-width: 540px;
  margin-inline: auto;
}
.order-confirmed[hidden] { display: none; }
.order-confirmed__icon {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: #e8f5ee;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 24px;
  color: #2c7a4b;
}
.order-confirmed h2 { font-family: 'Cormorant Garamond', serif; font-size: 2rem; color: var(--clr-primary, #D41A2A); margin: 0 0 12px; }
.order-confirmed p { color: #5a4040; margin: 0 0 12px; line-height: 1.7; }
.order-confirmed__id {
  display: inline-block;
  background: #faf0e8;
  border: 1px solid #e8d8c8;
  border-radius: 6px;
  padding: 8px 18px;
  font-weight: 700;
  font-size: .92rem;
  color: var(--clr-primary, #D41A2A);
  margin: 16px 0 28px;
}
.order-confirmed__actions { display: flex; justify-content: center; gap: 12px; flex-wrap: wrap; }

.site-footer--checkout { padding-block: 24px; border-top: 1px solid #ede3d8; }
.site-footer--checkout .footer-bottom { justify-content: center; }

/* ---------------------------------------------------------
   ACCOUNT & ORDERS PAGES
   --------------------------------------------------------- */
.account-layout { display: grid; grid-template-columns: 240px 1fr; gap: 48px; }

.account-sidebar { position: sticky; top: 88px; align-self: start; }
.account-sidebar__avatar {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: #faf0e8;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 12px;
  color: var(--clr-primary, #D41A2A);
  border: 2px solid #e8d8c8;
}
.account-sidebar__name { text-align: center; font-weight: 600; font-size: .9rem; margin: 0 0 20px; color: var(--clr-dark, #0D1A3A); }
.account-nav { display: flex; flex-direction: column; gap: 4px; }
.account-nav__link {
  display: block;
  width: 100%;
  text-align: left;
  padding: 10px 16px;
  border-radius: 7px;
  border: none;
  background: none;
  font-family: 'Lato', sans-serif;
  font-size: .9rem;
  color: #5a4040;
  cursor: pointer;
  text-decoration: none;
  transition: background .2s, color .2s;
}
.account-nav__link:hover { background: #faf0e8; color: var(--clr-primary, #D41A2A); }
.account-nav__link.active { background: var(--clr-primary, #D41A2A); color: #fff; font-weight: 600; }

.account-panels { min-height: 400px; }
.account-panel__header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 24px; flex-wrap: wrap; gap: 12px; }
.account-panel__title { font-family: 'Cormorant Garamond', serif; font-size: 1.8rem; color: var(--clr-primary, #D41A2A); margin: 0; }

.account-overview-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 8px; }
.account-overview-card {
  display: flex;
  gap: 16px;
  background: #fdf9f5;
  border: 1px solid #ede3d8;
  border-radius: 10px;
  padding: 22px 20px;
}
.account-overview-card__icon { color: var(--clr-primary, #D41A2A); flex-shrink: 0; margin-top: 4px; }
.account-overview-card h3 { font-size: 1rem; font-weight: 700; color: var(--clr-dark, #0D1A3A); margin: 0 0 4px; }
.account-overview-card p { font-size: .88rem; color: #6a5050; margin: 0 0 10px; }
.account-link { font-size: .82rem; color: var(--clr-primary, #D41A2A); background: none; border: none; padding: 0; cursor: pointer; text-decoration: underline; font-family: 'Lato', sans-serif; }
.account-link:hover { text-decoration: none; }
.account-link--danger { color: #c0392b; }

.account-form { max-width: 540px; }
.addresses-list { display: flex; flex-direction: column; gap: 16px; }
.address-card { display: flex; justify-content: space-between; gap: 20px; background: #fdf9f5; border: 1px solid #ede3d8; border-radius: 10px; padding: 20px 22px; flex-wrap: wrap; }
.address-card__body { font-size: .9rem; color: #4a3030; line-height: 1.7; }
.address-card__name { font-weight: 700; color: var(--clr-dark, #0D1A3A); margin-bottom: 4px; }
.address-card__actions { display: flex; flex-direction: column; align-items: flex-end; gap: 8px; }
.address-default-badge { font-size: .72rem; font-weight: 700; color: #2c7a4b; background: #e8f5ee; padding: 3px 8px; border-radius: 10px; }
.add-address-form { background: #fdf9f5; border: 1px solid #ede3d8; border-radius: 10px; padding: 28px 30px; margin-top: 24px; }
.add-address-form h3 { font-family: 'Cormorant Garamond', serif; font-size: 1.3rem; color: var(--clr-primary, #D41A2A); margin: 0 0 20px; }
.btn--sm { padding: 8px 18px; font-size: .82rem; }
.btn--ghost { background: none; border: 1px solid #ede3d8; color: #5a4040; padding: 8px 16px; border-radius: 6px; font-family: 'Lato', sans-serif; font-size: .82rem; cursor: pointer; text-decoration: none; display: inline-block; transition: border-color .2s, color .2s; }
.btn--ghost:hover { border-color: var(--clr-primary, #D41A2A); color: var(--clr-primary, #D41A2A); }

/* Orders */
.order-card {
  background: #fff;
  border: 1px solid #ede3d8;
  border-radius: 10px;
  padding: 22px 24px;
  margin-bottom: 20px;
}
.order-card__header { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 14px; flex-wrap: wrap; gap: 8px; }
.order-card__id { font-weight: 700; font-size: .95rem; color: var(--clr-dark, #0D1A3A); display: block; margin-bottom: 4px; }
.order-card__date { font-size: .8rem; color: #8a7070; }
.order-status-badge { font-size: .78rem; font-weight: 700; padding: 4px 12px; border-radius: 20px; }
.badge--processing { background: #fef3cd; color: #856404; }
.badge--dispatched { background: #cfe2ff; color: #0a58ca; }
.badge--delivered { background: #e8f5ee; color: #2c7a4b; }
.badge--cancelled { background: #f8d7da; color: #842029; }
.order-card__items { font-size: .85rem; color: #5a4040; margin-bottom: 16px; line-height: 1.5; }
.order-card__footer { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px; padding-top: 14px; border-top: 1px solid #ede3d8; }
.order-card__total { font-size: .9rem; color: #5a4040; }
.order-card__actions { display: flex; gap: 10px; }

.orders-empty { text-align: center; padding: 80px 20px; }
.orders-empty__icon { margin-bottom: 24px; color: #c8b4b4; }
.orders-empty h2 { font-family: 'Cormorant Garamond', serif; font-size: 1.8rem; color: var(--clr-primary, #D41A2A); margin: 0 0 12px; }
.orders-empty p { color: #8a7070; margin: 0 0 24px; }

/* ---------------------------------------------------------
   STORES PAGE
   --------------------------------------------------------- */
.stores-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
.store-card { border: 1px solid #ede3d8; border-radius: 14px; overflow: hidden; background: #fff; }
.store-card__img { position: relative; aspect-ratio: 16/9; overflow: hidden; background: #f5ede4; }
.store-card__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.store-card:hover .store-card__img img { transform: scale(1.04); }
.store-card__city-badge {
  position: absolute;
  top: 16px;
  left: 16px;
  background: var(--clr-primary, #D41A2A);
  color: #fff;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 5px 12px;
  border-radius: 20px;
}
.store-card__body { padding: 28px 30px 30px; }
.store-card__name { font-family: 'Cormorant Garamond', serif; font-size: 1.4rem; font-weight: 600; color: var(--clr-dark, #0D1A3A); margin: 0 0 20px; }
.store-card__info { display: flex; flex-direction: column; gap: 14px; margin-bottom: 24px; }
.store-info-row { display: flex; gap: 12px; align-items: flex-start; font-size: .88rem; color: #5a4040; line-height: 1.6; }
.store-info-row svg { flex-shrink: 0; color: var(--clr-primary, #D41A2A); margin-top: 1px; }
.store-info-row address { font-style: normal; }
.store-info-row a { color: var(--clr-primary, #D41A2A); text-decoration: none; }
.store-info-row a:hover { text-decoration: underline; }
.store-card__actions { display: flex; gap: 12px; flex-wrap: wrap; }

.stores-map-section { padding-block: 56px; background: #fdf9f5; }
.stores-map-section h2 { margin-bottom: 40px; }
.stores-map-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.store-map-wrap { }
.store-map-label { font-weight: 700; font-size: .9rem; color: var(--clr-primary, #D41A2A); margin-bottom: 12px; letter-spacing: .06em; text-transform: uppercase; }
.store-map-placeholder { border-radius: 10px; overflow: hidden; border: 1px solid #ede3d8; }

/* ---------------------------------------------------------
   BLOG PAGE
   --------------------------------------------------------- */
.blog-filter-bar { padding-block: 24px; border-bottom: 1px solid #ede3d8; }
.blog-filter-tabs { display: flex; gap: 8px; flex-wrap: wrap; }
.blog-tab {
  padding: 8px 18px;
  border: 1px solid #ded4cc;
  border-radius: 20px;
  background: #fff;
  font-family: 'Lato', sans-serif;
  font-size: .85rem;
  cursor: pointer;
  color: #5a4040;
  transition: background .2s, color .2s, border-color .2s;
}
.blog-tab:hover,
.blog-tab.active { background: var(--clr-primary, #D41A2A); color: #fff; border-color: var(--clr-primary, #D41A2A); }

.blog-featured {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 48px;
  align-items: center;
}
.blog-featured__img { position: relative; border-radius: 12px; overflow: hidden; aspect-ratio: 16/10; background: #f5ede4; }
.blog-featured__img img { width: 100%; height: 100%; object-fit: cover; }
.blog-featured__tag {
  position: absolute;
  top: 14px;
  left: 14px;
  background: var(--clr-primary, #D41A2A);
  color: #fff;
  font-size: .75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  padding: 4px 12px;
  border-radius: 20px;
}
.blog-featured__body { }
.blog-featured__meta { font-size: .8rem; color: #8a7070; margin-bottom: 12px; }
.blog-featured__title { font-family: 'Cormorant Garamond', serif; font-size: clamp(1.6rem, 2.5vw, 2rem); font-weight: 600; color: var(--clr-dark, #0D1A3A); margin: 0 0 16px; line-height: 1.25; }
.blog-featured__excerpt { color: #4a3030; line-height: 1.7; margin: 0 0 24px; font-size: .95rem; }

.blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
.blog-card { background: #fff; border: 1px solid #ede3d8; border-radius: 12px; overflow: hidden; transition: box-shadow .25s, transform .25s; }
.blog-card:hover { box-shadow: 0 8px 28px rgba(123,26,26,.1); transform: translateY(-4px); }
.blog-card__img-link { display: block; aspect-ratio: 16/9; overflow: hidden; background: #f5ede4; }
.blog-card__img-link img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.blog-card:hover .blog-card__img-link img { transform: scale(1.05); }
.blog-card__body { padding: 20px 22px 22px; }
.blog-card__tag {
  display: inline-block;
  font-size: .72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--clr-primary, #D41A2A);
  margin-bottom: 8px;
}
.blog-card__title { font-family: 'Cormorant Garamond', serif; font-size: 1.1rem; font-weight: 600; color: var(--clr-dark, #0D1A3A); margin: 0 0 10px; line-height: 1.3; }
.blog-card__title a { color: inherit; text-decoration: none; }
.blog-card__title a:hover { color: var(--clr-primary, #D41A2A); }
.blog-card__excerpt { font-size: .86rem; color: #5a4040; line-height: 1.6; margin: 0 0 14px; }
.blog-card__meta { display: flex; gap: 12px; font-size: .78rem; color: #8a7070; flex-wrap: wrap; }
.blog-card__author { font-weight: 600; color: #6a5050; }

/* ---------------------------------------------------------
   SEARCH PAGE
   --------------------------------------------------------- */
.search-page-hero { background: #fdf9f5; padding: 48px 0 32px; border-bottom: 1px solid #ede3d8; }
.search-page-form { margin-bottom: 16px; }
.search-page-input-wrap {
  display: flex;
  align-items: center;
  gap: 0;
  background: #fff;
  border: 2px solid #ded4cc;
  border-radius: 8px;
  overflow: hidden;
  transition: border-color .2s, box-shadow .2s;
}
.search-page-input-wrap:focus-within { border-color: var(--clr-primary, #D41A2A); box-shadow: 0 0 0 3px rgba(123,26,26,.1); }
.search-page-icon { flex-shrink: 0; margin: 0 14px; color: #8a7070; }
.search-page-input-wrap input {
  flex: 1;
  padding: 14px 0;
  border: none;
  background: none;
  font-family: 'Lato', sans-serif;
  font-size: 1rem;
  color: var(--clr-dark, #0D1A3A);
}
.search-page-input-wrap input:focus { outline: none; }
.search-page-input-wrap .btn { border-radius: 0; height: 100%; padding: 14px 28px; }

.search-suggestions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.search-sugg-label { font-size: .82rem; color: #8a7070; }
.search-sugg-tag {
  font-size: .82rem;
  padding: 4px 12px;
  background: #fff;
  border: 1px solid #ded4cc;
  border-radius: 20px;
  color: #5a4040;
  text-decoration: none;
  transition: background .2s, color .2s, border-color .2s;
}
.search-sugg-tag:hover { background: var(--clr-primary, #D41A2A); color: #fff; border-color: var(--clr-primary, #D41A2A); }

.search-results-header { margin-bottom: 28px; }
.search-results-title { font-family: 'Cormorant Garamond', serif; font-size: 1.8rem; color: var(--clr-primary, #D41A2A); margin: 0 0 6px; }
.search-results-title em { color: var(--clr-dark, #0D1A3A); font-style: normal; font-weight: 600; }
.search-results-count { font-size: .88rem; color: #8a7070; margin: 0; }

.search-empty { text-align: center; padding: 60px 20px; }
.search-empty__icon { margin-bottom: 20px; color: #c8b4b4; }
.search-empty h2 { font-family: 'Cormorant Garamond', serif; font-size: 1.8rem; color: var(--clr-primary, #D41A2A); margin: 0 0 10px; }
.search-empty h2 em { color: var(--clr-dark, #0D1A3A); font-style: normal; }
.search-empty p { color: #8a7070; margin: 0 0 24px; }

.search-initial { }
.search-cat-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.search-cat-card {
  display: block;
  border-radius: 12px;
  overflow: hidden;
  position: relative;
  aspect-ratio: 3/4;
  text-decoration: none;
  background: #f5ede4;
}
.search-cat-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.search-cat-card:hover img { transform: scale(1.06); }
.search-cat-card span {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  background: linear-gradient(to top, rgba(26,13,13,.8) 0%, transparent 100%);
  color: #fff;
  padding: 20px 16px 16px;
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.15rem;
  font-weight: 600;
}

/* ---------------------------------------------------------
   RESPONSIVE OVERRIDES
   --------------------------------------------------------- */
@media (max-width: 1100px) {
  .product-page__layout { grid-template-columns: 1fr; }
  .product-gallery { flex-direction: column; }
  .product-gallery__thumbs { flex-direction: row; }
  .gallery-thumb { width: 70px; height: 88px; }
  .about-stats__grid { grid-template-columns: repeat(2, 1fr); }
  .values-grid { grid-template-columns: repeat(2, 1fr); }
  .team-grid { grid-template-columns: repeat(2, 1fr); }
  .coll-body { grid-template-columns: 200px 1fr; }
}

@media (max-width: 900px) {
  .policy-layout { grid-template-columns: 1fr; }
  .policy-sidebar { position: static; display: flex; flex-wrap: wrap; gap: 8px; }
  .policy-sidebar a { border-left: none; border: 1px solid #ede3d8; border-radius: 6px; padding: 7px 12px; font-size: .8rem; }
  .about-story__layout { grid-template-columns: 1fr; gap: 32px; }
  .about-story__img { max-width: 400px; margin: 0 auto; }
  .contact-layout { grid-template-columns: 1fr; gap: 40px; }
  .order-detail-layout { grid-template-columns: 1fr; }
  .order-detail-sidebar { order: -1; }
  .order-row { grid-template-columns: 1fr auto; }
  .order-row__thumbs { display: none; }
  .order-addresses { grid-template-columns: 1fr; }
  .process-steps { grid-template-columns: 1fr 1fr; gap: 32px; }
  .process-steps::before { display: none; }
  .testimonials-grid { grid-template-columns: 1fr 1fr; }
  .about-stores { }
  .store-photos-grid { grid-template-columns: 1fr; }
  .coll-body { grid-template-columns: 1fr; }
  .filter-sidebar { position: fixed; inset: 0; z-index: 800; transform: translateX(-100%); transition: transform .3s; border-radius: 0; max-width: 300px; overflow-y: auto; }
  .filter-sidebar.open { transform: translateX(0); }
  .filter-toggle-btn { display: flex; }
  .product-grid { grid-template-columns: repeat(2, 1fr); }
  .account-layout { grid-template-columns: 1fr; }
  .account-sidebar { position: static; }
  .account-nav { flex-direction: row; flex-wrap: wrap; }
  .account-overview-grid { grid-template-columns: 1fr; }
  .checkout-layout { grid-template-columns: 1fr; }
  .order-summary-box { position: static; }
  .profile-layout { grid-template-columns: 1fr; }
  .profile-sidebar { position: static; }
  .stores-grid { grid-template-columns: 1fr; }
  .stores-map-grid { grid-template-columns: 1fr; }
  .blog-featured { grid-template-columns: 1fr; }
  .blog-grid { grid-template-columns: repeat(2, 1fr); }
  .search-cat-grid { grid-template-columns: repeat(2, 1fr); }
  .wishlist-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 640px) {
  .section-gap { padding-block: 48px; }
  .inner-hero { min-height: 180px; }
  /* List view cards break on narrow screens — shrink image, reduce gap */
  .product-grid--list .product-card { flex-direction: column; gap: 0; }
  .product-grid--list .product-card__img { width: 100%; aspect-ratio: 16/9; }
  /* Sort dropdown must not force toolbar wider than viewport */
  .coll-sort { min-width: 0; width: 100%; }
  .coll-toolbar__right { width: 100%; justify-content: space-between; }
  .inner-hero--short { min-height: 160px; }
  .product-grid { grid-template-columns: 1fr 1fr; gap: 14px; }
  .values-grid { grid-template-columns: 1fr 1fr; }
  .team-grid { grid-template-columns: 1fr 1fr; }
  .about-stats__grid { grid-template-columns: 1fr 1fr; }
  .process-steps { grid-template-columns: 1fr; }
  .testimonials-grid { grid-template-columns: 1fr; }
  .blog-grid { grid-template-columns: 1fr; }
  .search-cat-grid { grid-template-columns: 1fr 1fr; }
  .wishlist-grid { grid-template-columns: repeat(2, 1fr); }
  .contact-form-box { padding: 28px 20px; }
  .order-row { grid-template-columns: 1fr; gap: 16px; }
  .order-row__right { align-items: flex-start; flex-direction: row; flex-wrap: wrap; }
  .order-detail-hero { flex-direction: column; align-items: flex-start; gap: 10px; }
  .order-detail-card { padding: 20px 18px; }
  .profile-card { padding: 22px 20px; }
  .profile-field-grid { grid-template-columns: 1fr; }
  .cta-strip__inner { flex-direction: column; text-align: center; }
  .form-row { grid-template-columns: 1fr; }
  .checkout-steps ol { gap: 4px; font-size: .75rem; }
  .checkout-step + .checkout-step::before { width: 20px; margin: 0 6px; }
}
