/**
 * Buyinghoo inner page system v2.3
 */

body:not(.home) .site-main {
  min-height: 55vh;
}

.luxury-page-hero,
.luxury-archive-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr);
  min-height: 52vh;
  background: #efeae1;
  overflow: hidden;
  margin-bottom: clamp(56px, 8vw, 112px);
}

.luxury-page-hero__copy,
.luxury-archive-hero__copy {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: clamp(48px, 7vw, 112px) var(--container-padding);
  max-width: 760px;
  margin-left: max(0px, calc((100vw - var(--container-max)) / 2));
}

.luxury-page-hero__copy .overline,
.luxury-archive-hero__copy .overline {
  margin-bottom: 1.1rem;
}

.luxury-page-hero h1,
.luxury-archive-hero h1 {
  font-size: clamp(3rem, 7vw, 6.8rem);
  max-width: 11ch;
  margin-bottom: 1.3rem;
}

.luxury-page-hero p,
.luxury-archive-hero p {
  max-width: 56ch;
  font-size: clamp(1rem, 1.4vw, 1.15rem);
}

.luxury-page-hero__media,
.luxury-archive-hero__media {
  min-height: 52vh;
  background: #d9d1c4;
  overflow: hidden;
}

.luxury-page-hero__media img,
.luxury-archive-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.luxury-page-content {
  padding-bottom: clamp(72px, 10vw, 144px);
}

.luxury-prose {
  max-width: 860px;
  margin: 0 auto;
  font-size: 1.06rem;
}

.luxury-prose > * + * {
  margin-top: 1.25rem;
}

.luxury-prose h2,
.luxury-prose h3 {
  margin-top: 2.25rem;
}

.luxury-prose ul,
.luxury-prose ol {
  padding-left: 1.4rem;
}

/* About */
.luxury-story-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(36px, 6vw, 96px);
  align-items: start;
  margin-bottom: clamp(72px, 10vw, 144px);
}

.luxury-story-grid__copy {
  padding-top: clamp(12px, 3vw, 48px);
}

.luxury-story-grid__copy h2 {
  font-size: clamp(2.4rem, 5vw, 4.6rem);
  margin: .8rem 0 1.5rem;
  max-width: 11ch;
}

.luxury-story-grid__media {
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: #e8e1d6;
}

.luxury-story-grid__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.luxury-values {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid #d8d0c4;
  border-bottom: 1px solid #d8d0c4;
  margin-bottom: clamp(72px, 10vw, 144px);
}

.luxury-values article {
  padding: clamp(36px, 5vw, 72px) clamp(20px, 3vw, 44px);
  border-right: 1px solid #d8d0c4;
}

.luxury-values article:last-child { border-right: 0; }
.luxury-values span { display:block; margin-bottom:2rem; font-size:.75rem; letter-spacing:.12em; text-transform:uppercase; }
.luxury-values h3 { font-family:var(--font-serif); font-size:clamp(1.7rem,3vw,2.4rem); margin-bottom:.9rem; }

/* Contact */
.luxury-contact-grid {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  gap: clamp(36px, 7vw, 112px);
  padding-bottom: clamp(72px, 10vw, 144px);
}

.luxury-contact-card {
  background: #171717;
  color: #fff;
  padding: clamp(40px, 6vw, 80px);
  position: sticky;
  top: calc(var(--header-height) + 28px);
}

.luxury-contact-card p { color: rgba(255,255,255,.72); }
.luxury-contact-card a { display:inline-block; margin-top:1rem; border-bottom:1px solid rgba(255,255,255,.45); }

.luxury-faq details {
  border-top: 1px solid #d8d0c4;
  padding: 1.35rem 0;
}
.luxury-faq details:last-child { border-bottom:1px solid #d8d0c4; }
.luxury-faq summary {
  cursor:pointer;
  display:flex;
  justify-content:space-between;
  gap:1rem;
  font-weight:500;
  list-style:none;
}
.luxury-faq summary::-webkit-details-marker { display:none; }
.luxury-faq details p { padding-top:1rem; max-width:64ch; }

/* Shop & taxonomy */
.luxury-shop-archive {
  padding-top: 0 !important;
}

.luxury-archive-hero {
  margin-left: calc(var(--container-padding) * -1);
  margin-right: calc(var(--container-padding) * -1);
}

.luxury-archive-hero__media {
  background: linear-gradient(135deg, #d8cfbf 0%, #bcb09d 100%);
  position: relative;
}

.luxury-archive-hero__monogram {
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:var(--font-serif);
  font-size:clamp(5rem,12vw,12rem);
  letter-spacing:-.05em;
  opacity:.28;
}

.luxury-catalog-controls {
  position: sticky;
  top: 0;
  z-index: 20;
  background: rgba(250,250,248,.95);
  backdrop-filter: blur(14px);
  margin-bottom: 2.25rem;
  padding: 1.15rem 0;
}

.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering {
  margin: 0;
}

.woocommerce .woocommerce-ordering select {
  border: 0;
  border-bottom: 1px solid #bdb3a4;
  background: transparent;
  padding: .65rem 2rem .65rem 0;
  text-transform: uppercase;
  font-size: .75rem;
  letter-spacing: .08em;
}

.woocommerce nav.woocommerce-pagination {
  margin: clamp(48px, 7vw, 96px) 0 0;
}

.woocommerce nav.woocommerce-pagination ul {
  border:0;
  display:flex;
  gap:.45rem;
}

.woocommerce nav.woocommerce-pagination ul li { border:0; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  width:42px;height:42px;display:grid;place-items:center;border:1px solid #d6cec2;background:transparent;color:#111;
}
.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover { background:#111;color:#fff; }

/* Product page luxury polish */
.single-product .woocommerce-breadcrumb {
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:2.5rem;
  color:#756d63;
}

.single-product .luxury-product-summary-col {
  position: sticky;
  top: calc(var(--header-height) + 36px);
}

.single-product .product_title {
  font-size:clamp(2.7rem,5vw,5rem);
  max-width:11ch;
}

.single-product .summary .price {
  font-size:1.15rem;
  letter-spacing:.02em;
}

.single-product .woocommerce-product-gallery__wrapper {
  background:#f1ece4;
}

.single-product .woocommerce-product-gallery__image img {
  width:100%;
}

.single-product table.variations {
  width:100%;
  margin: 1.75rem 0;
}
.single-product table.variations th,
.single-product table.variations td { padding:.7rem 0; text-align:left; }
.single-product table.variations select {
  width:100%; padding:.9rem 1rem; border:1px solid #cfc5b7; background:transparent;
}
.single-product .reset_variations { font-size:.78rem; text-decoration:underline; }
.single-product .stock { margin:1rem 0; font-size:.88rem; }

/* Cart / checkout / account */
body.woocommerce-cart .site-main > .site-container,
body.woocommerce-checkout .site-main > .site-container,
body.woocommerce-account .site-main > .site-container {
  max-width: 1280px;
}

body.woocommerce-cart .entry-title,
body.woocommerce-checkout .entry-title,
body.woocommerce-account .entry-title {
  font-size:clamp(3rem,6vw,5.4rem);
  margin-bottom:clamp(40px,6vw,80px);
}

.woocommerce-cart .coupon { display:flex; gap:.6rem; }
.woocommerce-cart .coupon .input-text { min-width:220px; padding:.8rem 1rem; border:1px solid #cfc5b7; background:transparent; }
.woocommerce button.button,
.woocommerce a.button,
.woocommerce input.button {
  border-radius:0;
  background:#111;
  color:#fff;
  padding:.95rem 1.35rem;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-size:.75rem;
  font-weight:500;
}
.woocommerce button.button:hover,
.woocommerce a.button:hover,
.woocommerce input.button:hover { background:#3b3936; color:#fff; }

.woocommerce-checkout .woocommerce-form-coupon-toggle,
.woocommerce-checkout .woocommerce-form-login-toggle {
  margin-bottom:1rem;
}

.woocommerce-checkout .woocommerce-form-coupon,
.woocommerce-checkout .woocommerce-form-login {
  border:1px solid #d8d0c4;
  padding:1.5rem;
  margin-bottom:2rem;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
  position:sticky;
  top:calc(var(--header-height) + 36px);
  background:#efeae1;
  padding:2rem;
}
.woocommerce-account .woocommerce-MyAccount-navigation li { border-bottom:1px solid #d6cec2; margin:0; }
.woocommerce-account .woocommerce-MyAccount-navigation a { display:block; padding:1rem 0; }
.woocommerce-account .woocommerce-MyAccount-content { min-height:420px; }
.woocommerce-account table.shop_table { width:100%; border-collapse:collapse; }
.woocommerce-account table.shop_table th,
.woocommerce-account table.shop_table td { padding:1rem .6rem; border-bottom:1px solid #ddd4c8; }

/* Empty states */
.woocommerce-info,
.cart-empty,
.woocommerce-message,
.woocommerce-error {
  border-radius:0;
}

.luxury-empty-state {
  min-height:45vh;
  display:grid;
  place-items:center;
  text-align:center;
  padding:64px 20px;
}
.luxury-empty-state h1 { margin-bottom:1rem; }
.luxury-empty-state p { margin-bottom:2rem; }

@media (max-width: 1024px) {
  .luxury-page-hero,
  .luxury-archive-hero,
  .luxury-story-grid,
  .luxury-contact-grid {
    grid-template-columns:1fr;
  }
  .luxury-page-hero__media,
  .luxury-archive-hero__media { min-height:38vh; order:-1; }
  .luxury-values { grid-template-columns:1fr; }
  .luxury-values article { border-right:0; border-bottom:1px solid #d8d0c4; }
  .luxury-values article:last-child { border-bottom:0; }
  .luxury-contact-card { position:relative; top:auto; }
  .single-product .luxury-product-summary-col { position:relative; top:auto; }
}

@media (max-width: 768px) {
  .luxury-page-hero h1,
  .luxury-archive-hero h1 { font-size:clamp(2.7rem,13vw,4.8rem); }
  .luxury-catalog-controls { position:relative; flex-direction:column; align-items:flex-start; gap:.8rem; }
  .woocommerce-cart .coupon { flex-direction:column; }
  .woocommerce-cart .coupon .input-text { min-width:0; width:100%; }
  .woocommerce-account .woocommerce-MyAccount-navigation { position:relative; top:auto; }
}

.luxury-commerce-hero {
  padding-top: clamp(64px, 8vw, 120px);
  padding-bottom: clamp(32px, 5vw, 72px);
  border-bottom: 1px solid #d8d0c4;
  margin-bottom: clamp(40px, 6vw, 80px);
}
.luxury-commerce-hero h1 {
  font-size: clamp(3rem, 7vw, 6.2rem);
  margin-top: .85rem;
}
.luxury-commerce-content {
  padding-bottom: clamp(72px, 10vw, 144px);
}
body.woocommerce-cart .site-main,
body.woocommerce-checkout .site-main,
body.woocommerce-account .site-main {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
