/*
Theme Name: Ronaldo Intimate
Theme URI: https://mylingeriefactory.com
Author: Wuxi Ronaldo Garments
Description: A light wholesale catalog theme for adult fashion, accessories, OEM and private-label products.
Version: 1.0.0
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: ronaldo-intimate
*/

:root {
  --black: #09090a;
  --black-soft: #121113;
  --panel: #181619;
  --ivory: #f1e9dc;
  --paper: #d9d0c4;
  --muted: #a99e92;
  --copper: #a27b55;
  --line: rgba(162, 123, 85, .42);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--black);
  color: var(--ivory);
  font-family: "Helvetica Neue", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.6;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button, input, textarea, select { font: inherit; }
h1, h2, h3, h4, p { margin-top: 0; }
h1, h2, h3 {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 400;
}
h2 { font-size: clamp(2.5rem, 4.5vw, 4.8rem); line-height: 1.05; letter-spacing: -.035em; }

.site-header {
  position: absolute;
  z-index: 20;
  inset: 0 0 auto;
  height: 104px;
  display: grid;
  grid-template-columns: 230px 1fr auto;
  align-items: center;
  gap: 32px;
  padding: 12px 4.8vw;
  background: linear-gradient(to bottom, rgba(0,0,0,.62), transparent);
}
.logo { display: inline-flex; flex-direction: column; width: max-content; letter-spacing: .18em; font-size: 10px; line-height: 1; }
.monogram {
  font-family: Georgia, serif;
  font-size: 45px;
  letter-spacing: -.22em;
  line-height: .9;
  margin-bottom: 10px;
  color: var(--ivory);
}
.desktop-nav { display: flex; align-items: center; justify-content: center; gap: clamp(22px, 3vw, 55px); }
.desktop-nav a { position: relative; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: #ddd4ca; white-space: nowrap; }
.desktop-nav a::after { content: ""; position: absolute; left: 50%; right: 50%; bottom: -9px; height: 1px; background: var(--copper); transition: .25s ease; }
.desktop-nav a:hover { color: var(--copper); }
.desktop-nav a:hover::after { left: 0; right: 0; }
.nav-dropdown { position: relative; padding: 14px 0; }
.nav-mega {
  position: absolute;
  top: 45px;
  left: 50%;
  width: min(760px, 72vw);
  padding: 24px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  visibility: hidden;
  opacity: 0;
  transform: translate(-50%, 10px);
  background: rgba(255,255,255,.98);
  border: 1px solid #e0d5d1;
  box-shadow: 0 22px 60px rgba(68,42,51,.14);
  transition: opacity .2s ease, transform .2s ease, visibility .2s;
}
.nav-dropdown:hover .nav-mega, .nav-dropdown:focus-within .nav-mega { visibility: visible; opacity: 1; transform: translate(-50%, 0); }
.nav-category { min-height: 65px; padding: 10px 14px; border-right: 1px solid #eadfdb; border-bottom: 1px solid #eadfdb; }
.nav-category:nth-child(3n) { border-right: 0; }
.nav-category:nth-last-child(-n+3) { border-bottom: 0; }
.desktop-nav .nav-category > a { color: #33272c; font-family: Georgia, serif; font-size: 16px; letter-spacing: 0; text-transform: none; white-space: normal; }
.desktop-nav .nav-category a::after { display: none; }
.desktop-nav .nav-category > a:hover { color: #9b3556; }
.nav-subcategory-list { display: grid; gap: 5px; margin-top: 10px; }
.desktop-nav .nav-subcategory-list a { color: #817479; font-size: 10px; letter-spacing: .02em; text-transform: none; white-space: normal; }
.desktop-nav .nav-subcategory-list a:hover { color: #9b3556; }
.header-actions { display: flex; gap: 14px; align-items: center; }
.language { display: grid; place-items: center; width: 54px; height: 54px; border: 1px solid rgba(255,255,255,.4); font-size: 12px; }
.mobile-menu { display: none; }

.button {
  min-height: 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 13px 30px;
  border: 1px solid transparent;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: .25s ease;
}
.button-small { min-height: 54px; padding-inline: 25px; white-space: nowrap; }
.button-light { background: var(--ivory); color: #151313; }
.button-light:hover { background: var(--copper); }
.button-outline { border-color: var(--copper); color: #c69b6d; }
.button-outline:hover { background: var(--copper); color: var(--black); }
.button-copper { background: var(--copper); color: var(--black); }
.button-copper:hover { background: var(--ivory); }

.hero {
  min-height: 900px;
  position: relative;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: #080808 url("/images/hero-noir.png") center/cover no-repeat;
}
.hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(5,5,6,.96) 0%, rgba(5,5,6,.88) 34%, rgba(5,5,6,.25) 65%, rgba(5,5,6,.08) 100%); }
.hero-content { position: relative; z-index: 1; width: min(720px, 55vw); margin-left: 4.8vw; padding-top: 80px; }
.eyebrow { color: #c99a6b; text-transform: uppercase; letter-spacing: .27em; font-size: 11px; font-weight: 600; margin-bottom: 24px; }
.hero h1 { margin-bottom: 22px; font-size: clamp(4rem, 6.15vw, 7rem); line-height: .99; letter-spacing: -.045em; }
.hero-copy { color: #b9b0a6; font-size: 17px; line-height: 1.65; max-width: 590px; margin-bottom: 32px; }
.button-row { display: flex; gap: 24px; flex-wrap: wrap; }
.trust-row { border-top: 1px solid var(--line); display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 38px; padding-top: 24px; max-width: 670px; }
.trust-row div { display: flex; flex-direction: column; padding: 0 24px; border-left: 1px solid var(--line); }
.trust-row div:first-child { padding-left: 0; border-left: 0; }
.trust-row strong { color: var(--paper); text-transform: uppercase; letter-spacing: .06em; font-size: 12px; }
.trust-row span { color: var(--muted); text-transform: uppercase; letter-spacing: .05em; font-size: 10px; }
.hero-vertical { position: absolute; z-index: 2; right: 2.5vw; bottom: 58px; writing-mode: vertical-rl; color: #d3c8bc; font-size: 10px; letter-spacing: .14em; }
.reveal { animation: rise .9s cubic-bezier(.22,.61,.36,1) both; }
@keyframes rise { from { opacity: 0; transform: translateY(22px); } to { opacity: 1; transform: none; } }

.section { padding: 110px 5vw; }
.section-tight { padding: 0 5vw 110px; }
.intro-grid { display: grid; grid-template-columns: 1.25fr .75fr; gap: 10vw; align-items: end; }
.intro-grid h2 { margin-bottom: 0; max-width: 850px; }
.section-lead { max-width: 540px; color: var(--muted); font-size: 18px; line-height: 1.8; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 55px; }
.section-heading h2 { margin-bottom: 0; }
.text-link { color: var(--paper); font-size: 12px; letter-spacing: .1em; text-transform: uppercase; padding-bottom: 8px; border-bottom: 1px solid var(--copper); white-space: nowrap; }

.category-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.category-card {
  min-height: 280px;
  position: relative;
  padding: 30px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border: 1px solid #2f2b2e;
  background: linear-gradient(145deg, #171518, #0d0d0e);
  overflow: hidden;
  transition: .35s ease;
}
.category-card::before { content: ""; position: absolute; width: 190px; height: 190px; border: 1px solid rgba(162,123,85,.18); border-radius: 50%; right: -70px; top: -70px; }
.category-card-bg { position: absolute; inset: 0; z-index: 0; background-position: center; background-size: cover; opacity: .17; filter: saturate(.72); transition: opacity .35s ease, transform .55s ease; }
.category-card > span:not(.category-card-bg), .category-card > div, .category-card > b { position: relative; z-index: 1; }
.category-card:hover .category-card-bg { opacity: .28; transform: scale(1.035); }
.category-card:hover { transform: translateY(-5px); border-color: var(--copper); background: #1b181a; }
.category-card > span { font-size: 10px; color: var(--copper); letter-spacing: .15em; }
.category-card h3 { font-size: 31px; margin-bottom: 8px; }
.category-card p { margin-bottom: 0; color: var(--muted); font-size: 13px; }
.category-card b { position: absolute; right: 25px; bottom: 25px; color: var(--copper); font-size: 22px; font-weight: 400; }

.product-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.product-image { position: relative; display: block; aspect-ratio: 4/5; overflow: hidden; background: var(--panel); }
.product-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }
.product-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,.55), transparent 40%); opacity: 0; transition: .3s; }
.product-image > span { position: absolute; z-index: 1; left: 50%; bottom: 25px; transform: translate(-50%, 15px); opacity: 0; border-bottom: 1px solid var(--copper); text-transform: uppercase; letter-spacing: .13em; font-size: 10px; transition: .3s; }
.product-image:hover img { transform: scale(1.035); }
.product-image:hover::after { opacity: 1; }
.product-image:hover > span { opacity: 1; transform: translate(-50%, 0); }
.product-info { position: relative; padding: 19px 0 8px; }
.product-info p { margin-bottom: 5px; color: var(--copper); font-size: 9px; letter-spacing: .18em; text-transform: uppercase; }
.product-info h3 { font-size: 21px; margin-bottom: 4px; padding-right: 80px; }
.product-info > span { position: absolute; right: 0; bottom: 12px; color: #756e68; font-size: 10px; }

.oem-feature, .oem-intro { display: grid; grid-template-columns: 1.08fr .92fr; background: #111012; }
.oem-image { min-height: 720px; background: url("/images/collection-accessories.png") center/cover no-repeat; }
.oem-copy { padding: 95px clamp(45px, 6vw, 110px); }
.oem-copy h2 { font-size: clamp(2.8rem, 4vw, 4.6rem); }
.oem-copy > p:not(.eyebrow), .oem-intro p { color: var(--muted); max-width: 620px; }
.oem-copy ol { list-style: none; padding: 15px 0 30px; margin: 0; }
.oem-copy li { display: flex; gap: 24px; padding: 14px 0; border-bottom: 1px solid #322d30; text-transform: uppercase; letter-spacing: .09em; font-size: 12px; }
.oem-copy li span { color: var(--copper); }

.commitment > h2 { margin-bottom: 60px; }
.commitment-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid #322e30; }
.commitment-grid article { padding: 35px 28px; border-right: 1px solid #322e30; }
.commitment-grid article:last-child { border-right: 0; }
.commitment-grid span, .values span { color: var(--copper); font-size: 10px; letter-spacing: .15em; }
.commitment-grid h3, .values h3 { font-size: 26px; margin: 35px 0 12px; }
.commitment-grid p, .values p { color: var(--muted); font-size: 14px; }
.quote-band { padding: 105px 5vw; text-align: center; background: var(--copper); color: #100e0d; }
.quote-band .eyebrow { color: #35271c; }
.quote-band h2 { margin-bottom: 38px; }

.page-hero { min-height: 590px; padding: 220px 5vw 90px; background: radial-gradient(circle at 78% 25%, #2a211e 0, #121011 22%, #080809 60%); border-bottom: 1px solid #272326; }
.page-hero h1 { font-size: clamp(4rem, 7vw, 7.5rem); max-width: 1050px; line-height: .96; letter-spacing: -.05em; margin-bottom: 30px; }
.page-hero > p:last-child { color: var(--muted); font-size: 18px; max-width: 720px; }
.filter-bar { position: sticky; z-index: 10; top: 0; display: flex; gap: 35px; overflow-x: auto; padding: 20px 5vw; background: rgba(9,9,10,.94); backdrop-filter: blur(12px); border-bottom: 1px solid #292528; }
.filter-bar a { flex: 0 0 auto; color: #c8bdb2; font-size: 10px; text-transform: uppercase; letter-spacing: .12em; }
.filter-bar a:hover { color: var(--copper); }
.collection-group { scroll-margin-top: 80px; padding: 60px 0 95px; border-bottom: 1px solid #292528; }
.collection-group-heading { display: flex; justify-content: space-between; gap: 30px; align-items: end; margin-bottom: 36px; }
.collection-group-heading h2 { font-size: clamp(2rem, 3.5vw, 3.8rem); margin: 0; }
.collection-group-heading > span { color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .12em; }
.subcategory-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
.subcategory-chips span { padding: 7px 11px; border: 1px solid #d8ceca; border-radius: 999px; color: #65595e; font-size: 10px; letter-spacing: .04em; }
.collection-list .product-grid { grid-template-columns: repeat(3, 1fr); }

.oem-intro { align-items: center; }
.oem-intro > div:last-child { padding: 90px clamp(45px, 7vw, 130px); }
.oem-intro h2 { font-size: clamp(2.8rem, 4.5vw, 5rem); }
.capability-list { display: grid; grid-template-columns: repeat(2, 1fr); margin-top: 35px; border-top: 1px solid #322e30; }
.capability-list span { padding: 15px 10px 15px 0; border-bottom: 1px solid #322e30; color: var(--paper); font-size: 12px; text-transform: uppercase; letter-spacing: .08em; }
.process-grid { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid #302b2e; }
.process-grid article { min-height: 260px; padding: 32px; border-right: 1px solid #302b2e; border-bottom: 1px solid #302b2e; }
.process-grid article:nth-child(3n) { border-right: 0; }
.process-grid article:nth-child(n+4) { border-bottom: 0; }
.process-grid span { color: var(--copper); font-size: 11px; }
.process-grid h3 { font-size: 28px; margin: 45px 0 10px; }
.process-grid p { color: var(--muted); font-size: 14px; }

.story { display: grid; grid-template-columns: 1fr 1fr; gap: 12vw; }
.story h2 { font-size: clamp(3rem, 5vw, 5.5rem); }
.story > div:last-child { padding-top: 70px; color: var(--muted); font-size: 18px; }
.numbers { display: grid; grid-template-columns: repeat(4, 1fr); background: var(--ivory); color: var(--black); }
.numbers div { min-height: 210px; padding: 40px; border-right: 1px solid #c9bbaa; display: flex; flex-direction: column; justify-content: space-between; }
.numbers strong { font-family: Georgia, serif; font-size: 53px; font-weight: 400; }
.numbers span { text-transform: uppercase; letter-spacing: .1em; font-size: 10px; }
.values { display: grid; grid-template-columns: repeat(3, 1fr); gap: 50px; }
.values article { border-top: 1px solid var(--line); padding-top: 25px; }

.contact-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 10vw; }
.contact-info h2 { font-size: clamp(2.5rem, 4vw, 4rem); }
.contact-info dl { margin: 60px 0 35px; }
.contact-info dl div { border-top: 1px solid #302b2e; padding: 20px 0; }
.contact-info dt { color: var(--copper); text-transform: uppercase; letter-spacing: .12em; font-size: 9px; }
.contact-info dd { margin: 7px 0 0; color: var(--paper); }
.discretion-note { color: var(--muted); font-size: 13px; }
.quote-form { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; padding: 45px; background: #131214; border: 1px solid #2e292c; }
.quote-form label { display: flex; flex-direction: column; gap: 8px; color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .1em; }
.quote-form label:nth-last-of-type(-n+2) { grid-column: 1/-1; }
.quote-form input, .quote-form textarea, .quote-form select { width: 100%; padding: 15px 0; background: transparent; border: 0; border-bottom: 1px solid #4a4246; color: var(--ivory); outline: none; text-transform: none; letter-spacing: normal; }
.quote-form option { color: #111; }
.quote-form input:focus, .quote-form textarea:focus, .quote-form select:focus { border-color: var(--copper); }
.quote-form button { justify-self: start; }

.product-detail {
  display: grid;
  grid-template-columns: minmax(360px, 480px) minmax(0, 650px);
  justify-content: center;
  align-items: start;
  gap: clamp(50px, 6vw, 90px);
  min-height: auto;
  padding: 145px 5vw 88px;
  background: #100f11;
}
.product-gallery { width: 100%; min-width: 0; padding-top: 45px; }
.product-gallery.has-thumbnails { display: grid; grid-template-columns: 64px minmax(0, 400px); gap: 14px; justify-content: end; }
.product-detail-image {
  width: 100%;
  aspect-ratio: 4/5;
  overflow: hidden;
  background: #fff;
  border: 1px solid #e2d8d4;
}
.product-gallery.has-thumbnails .product-detail-image { grid-column: 2; grid-row: 1; }
.product-detail-image img { width: 100%; height: 100%; object-fit: contain; }
.product-thumbnails { grid-column: 1; grid-row: 1; display: flex; flex-direction: column; gap: 10px; margin: 0; }
.product-thumbnails button { aspect-ratio: 4/5; padding: 0; overflow: hidden; border: 1px solid #d8ceca; background: #fff; cursor: pointer; opacity: .66; transition: border-color .2s, opacity .2s; }
.product-thumbnails button:hover, .product-thumbnails button.active { border-color: var(--copper); opacity: 1; }
.product-thumbnails img { width: 100%; height: 100%; object-fit: cover; }
.product-detail-copy { padding: 0; }
.product-detail-copy h1 { max-width: 620px; font-size: clamp(3rem, 3.8vw, 4.75rem); line-height: 1; letter-spacing: -.04em; margin-bottom: 18px; }
.product-code, .product-note { color: var(--copper); text-transform: uppercase; letter-spacing: .12em; font-size: 10px; }
.product-description { color: var(--muted); font-size: 17px; margin: 45px 0; }
.spec-block { padding: 22px 0; border-top: 1px solid #342f32; }
.spec-block h3 { font-size: 18px; }
.spec-block ul { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; margin: 0; padding: 0; list-style: none; color: var(--muted); font-size: 13px; }
.spec-block li::before { content: "—"; color: var(--copper); margin-right: 8px; }
.product-detail-copy .button { margin: 30px 0 16px; }

.footer { display: grid; grid-template-columns: 1.6fr 1fr 1.25fr 1fr; gap: 50px; padding: 80px 5vw 30px; background: #060607; border-top: 1px solid #292528; }
.footer-brand p { color: var(--muted); max-width: 320px; margin-top: 30px; font-size: 13px; }
.footer h4 { color: var(--copper); text-transform: uppercase; letter-spacing: .14em; font-size: 10px; margin-bottom: 25px; }
.footer > div:not(.footer-bottom) > a, .footer > div:not(.footer-bottom) > span { display: block; color: #a89e94; font-size: 12px; margin: 10px 0; }
.footer > div:not(.footer-bottom) > a:hover { color: var(--ivory); }
.footer-bottom { grid-column: 1/-1; display: flex; justify-content: space-between; border-top: 1px solid #252124; padding-top: 25px; margin-top: 25px; color: #746d67; font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }

@media (max-width: 1050px) {
  .site-header { grid-template-columns: 180px 1fr auto; }
  .desktop-nav { gap: 18px; }
  .desktop-nav a { font-size: 10px; }
  .language { display: none; }
  .product-grid { grid-template-columns: repeat(2, 1fr); }
  .category-grid { grid-template-columns: repeat(2, 1fr); }
  .commitment-grid { grid-template-columns: repeat(2, 1fr); }
  .commitment-grid article { border-bottom: 1px solid #322e30; }
  .footer { grid-template-columns: repeat(2, 1fr); }
  .collection-list .product-grid { grid-template-columns: repeat(2, 1fr); }
  .product-detail { grid-template-columns: minmax(330px, 420px) minmax(0, 1fr); gap: 40px; padding: 130px 4vw 70px; }
  .product-gallery.has-thumbnails { grid-template-columns: 56px minmax(0, 350px); gap: 12px; }
  .product-detail-copy h1 { font-size: clamp(3rem, 5vw, 4rem); }
}

@media (max-width: 900px) {
  .product-detail { grid-template-columns: 1fr; gap: 38px; padding: 125px 5vw 65px; }
  .product-gallery, .product-gallery.has-thumbnails { width: min(100%, 460px); margin: 0 auto; padding-top: 0; display: flex; flex-direction: column; gap: 0; }
  .product-thumbnails { width: 100%; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; margin-top: 10px; }
  .product-detail-copy { width: min(100%, 650px); margin: 0 auto; }
}

@media (max-width: 760px) {
  .site-header { position: absolute; height: 84px; grid-template-columns: 1fr auto; padding: 12px 20px; }
  .site-header .logo .monogram { font-size: 34px; margin-bottom: 8px; }
  .desktop-nav, .header-actions { display: none; }
  .mobile-menu { display: block; }
  .mobile-menu summary { width: 46px; height: 46px; display: flex; flex-direction: column; justify-content: center; gap: 5px; padding: 11px; border: 1px solid #50484c; list-style: none; cursor: pointer; }
  .mobile-menu summary::-webkit-details-marker { display: none; }
  .mobile-menu summary i { display: block; height: 1px; background: var(--ivory); }
  .mobile-menu nav { position: absolute; right: 0; top: 84px; width: 100vw; padding: 28px 24px 35px; background: #0c0b0c; border-top: 1px solid #302b2e; }
  .mobile-menu nav a { display: block; padding: 13px 0; border-bottom: 1px solid #282426; font-family: Georgia, serif; font-size: 24px; }
  .mobile-category-menu { border-bottom: 1px solid #282426; }
  .mobile-category-menu summary { width: auto; height: auto; padding: 13px 0; display: block; border: 0; font-family: Georgia, serif; font-size: 24px; list-style: none; }
  .mobile-category-menu summary::after { content: "+"; float: right; color: var(--copper); }
  .mobile-category-menu[open] summary::after { content: "−"; }
  .mobile-category-menu > div { max-height: 55vh; overflow: auto; padding: 4px 0 15px 16px; }
  .mobile-menu .mobile-category-menu a { padding: 8px 0; border: 0; font-family: "Helvetica Neue", Arial, sans-serif; font-size: 13px; }
  .mobile-menu .mobile-category-menu .mobile-subcategory { padding-left: 15px; color: var(--muted); font-size: 11px; }
  .hero { min-height: 780px; align-items: end; background-position: 65% center; }
  .hero-shade { background: linear-gradient(to top, rgba(5,5,6,.99) 18%, rgba(5,5,6,.72) 62%, rgba(5,5,6,.34)); }
  .hero-content { width: auto; margin: 0; padding: 130px 22px 42px; }
  .hero h1 { font-size: 3.65rem; }
  .hero-copy { font-size: 15px; }
  .button-row { gap: 12px; }
  .button-row .button { width: 100%; }
  .trust-row { gap: 12px; }
  .trust-row div { padding: 0 9px; }
  .trust-row strong { font-size: 9px; }
  .trust-row span { display: none; }
  .hero-vertical { display: none; }
  .section { padding: 75px 22px; }
  .section-tight { padding: 0 22px 75px; }
  .intro-grid, .story, .contact-layout { grid-template-columns: 1fr; gap: 25px; }
  .intro-grid h2, h2 { font-size: 2.85rem; }
  .category-grid { grid-template-columns: 1fr; }
  .category-card { min-height: 210px; }
  .product-grid, .collection-list .product-grid { grid-template-columns: 1fr 1fr; gap: 14px; }
  .product-info h3 { font-size: 17px; padding-right: 0; }
  .product-info > span { position: static; }
  .section-heading { align-items: start; flex-direction: column; }
  .oem-feature, .oem-intro { grid-template-columns: 1fr; }
  .oem-image { min-height: 480px; }
  .oem-copy, .oem-intro > div:last-child { padding: 65px 22px; }
  .commitment-grid, .numbers, .values { grid-template-columns: 1fr; }
  .commitment-grid article, .numbers div { border-right: 0; border-bottom: 1px solid #322e30; }
  .quote-band { padding: 75px 22px; }
  .page-hero { min-height: 540px; padding: 180px 22px 65px; }
  .page-hero h1 { font-size: 3.8rem; }
  .filter-bar { padding-inline: 22px; }
  .collection-group-heading { align-items: start; flex-direction: column; }
  .process-grid { grid-template-columns: 1fr; }
  .process-grid article { min-height: auto; border-right: 0; border-bottom: 1px solid #302b2e !important; }
  .story > div:last-child { padding-top: 0; }
  .quote-form { grid-template-columns: 1fr; padding: 26px 20px; }
  .quote-form label { grid-column: 1 !important; }
  .product-detail { grid-template-columns: 1fr; gap: 34px; padding: 118px 22px 55px; }
  .product-gallery, .product-gallery.has-thumbnails { width: min(100%, 420px); margin: 0 auto; padding-top: 0; display: flex; flex-direction: column; gap: 0; }
  .product-detail-image { width: 100%; min-height: 0; max-height: none; margin: 0; }
  .product-thumbnails { width: 100%; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; margin-top: 10px; }
  .product-detail-copy { padding: 0; }
  .product-detail-copy h1 { font-size: 3rem; }
  .footer { grid-template-columns: 1fr 1fr; gap: 35px 20px; padding-inline: 22px; }
  .footer-brand { grid-column: 1/-1; }
  .footer-bottom { flex-direction: column; gap: 12px; }
}

/* Content management */
.admin-shell { min-height: 100vh; display: grid; grid-template-columns: 260px 1fr; background: #f5f2ee; color: #282126; font-family: "Helvetica Neue", Arial, sans-serif; }
.admin-sidebar { position: sticky; top: 0; height: 100vh; display: flex; flex-direction: column; padding: 30px 22px; background: #2b2326; color: #fff; }
.admin-mark { display: block; font-family: Georgia, serif; font-size: 40px; color: #f4d8df; }
.admin-sidebar h1 { margin: 8px 0 2px; font-family: inherit; font-size: 17px; font-weight: 600; }
.admin-sidebar p { color: #aa9da2; font-size: 11px; }
.admin-sidebar nav { display: grid; gap: 7px; margin-top: 36px; }
.admin-sidebar nav button { padding: 12px 14px; border: 0; border-radius: 8px; background: transparent; color: #c9bdc1; text-align: left; cursor: pointer; }
.admin-sidebar nav button:hover, .admin-sidebar nav button.active { background: #44363b; color: #fff; }
.admin-preview-link { margin-top: auto; padding: 12px 14px; border: 1px solid #594a50; border-radius: 8px; color: #e6dce0; font-size: 12px; }
.admin-sidebar-actions { display: grid; gap: 8px; margin-top: auto; }
.admin-sidebar-actions .admin-preview-link { margin-top: 0; }
.admin-sidebar-actions button { padding: 10px 14px; border: 0; background: transparent; color: #aa9da2; text-align: left; cursor: pointer; }
.admin-login { min-height: 100vh; display: grid; place-items: center; padding: 24px; background: radial-gradient(circle at 75% 15%, #f1dce1 0, transparent 32%), #fbf8f4; color: #2b2226; font-family: "Helvetica Neue", Arial, sans-serif; }
.admin-login-card { width: min(100%, 430px); padding: 42px; border: 1px solid #e0d5d1; border-radius: 18px; background: rgba(255,255,255,.92); box-shadow: 0 24px 70px rgba(72,44,54,.12); }
.admin-login-card .admin-mark { color: #9b3556; }
.admin-login-eyebrow { margin: 18px 0 9px !important; color: #a56378 !important; font-size: 10px !important; font-weight: 700; letter-spacing: .2em; }
.admin-login-card h1 { margin-bottom: 12px; font-family: Georgia, serif; font-size: 42px; }
.admin-login-card > p { color: #75686d; font-size: 14px; line-height: 1.65; }
.admin-login-card label { display: grid; gap: 7px; margin-top: 26px; color: #615359; font-size: 11px; font-weight: 600; }
.admin-login-card input { width: 100%; padding: 13px 14px; border: 1px solid #d9cdca; border-radius: 8px; outline: none; }
.admin-login-card input:focus { border-color: #9b3556; box-shadow: 0 0 0 3px rgba(155,53,86,.1); }
.admin-login-card button { width: 100%; margin-top: 14px; padding: 13px; border: 0; border-radius: 8px; background: #9b3556; color: #fff; font-weight: 700; cursor: pointer; }
.admin-login-card button:disabled { opacity: .55; }
.admin-login-card strong { display: block; margin-top: 12px; color: #a7294f; font-size: 12px; }
.admin-login-card a { display: inline-block; margin-top: 24px; color: #75686d; font-size: 12px; }
.admin-workspace { min-width: 0; }
.admin-topbar { position: sticky; z-index: 20; top: 0; display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 76px; padding: 14px 34px; border-bottom: 1px solid #e0d9d4; background: rgba(255,255,255,.94); backdrop-filter: blur(12px); }
.admin-topbar > div:first-child { display: flex; flex-direction: column; }
.admin-topbar strong { font-size: 15px; }
.admin-topbar span { color: #8b7e83; font-size: 11px; }
.admin-save-area { display: flex; align-items: center; gap: 18px; }
.admin-save-area button { padding: 12px 20px; border: 0; border-radius: 7px; background: #9b3556; color: #fff; font-weight: 600; cursor: pointer; }
.admin-save-area button:disabled { opacity: .55; }
.admin-content { width: min(1180px, calc(100% - 56px)); margin: 0 auto; padding: 44px 0 90px; }
.admin-heading { margin-bottom: 30px; }
.admin-heading h2 { margin-bottom: 8px; font-family: Georgia, serif; font-size: 42px; }
.admin-heading p { color: #74686d; }
.admin-panel { margin-bottom: 24px; padding: 28px; border: 1px solid #e0d8d3; border-radius: 14px; background: #fff; box-shadow: 0 8px 24px rgba(60,40,46,.04); }
.admin-panel > h3 { margin-bottom: 24px; font-family: inherit; font-size: 15px; font-weight: 700; }
.admin-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; align-content: start; }
.admin-field { display: flex; flex-direction: column; gap: 7px; }
.admin-field-wide { grid-column: 1/-1; }
.admin-field > span, .admin-image-control > span { color: #6f6468; font-size: 11px; font-weight: 600; }
.admin-field input, .admin-field textarea, .admin-field select { width: 100%; padding: 12px 13px; border: 1px solid #d9d0cc; border-radius: 7px; background: #fcfbfa; color: #2b2326; outline: none; resize: vertical; }
.admin-field input:focus, .admin-field textarea:focus, .admin-field select:focus { border-color: #a94162; box-shadow: 0 0 0 3px rgba(155,53,86,.08); }
.admin-image-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 24px; }
.admin-image-control { min-width: 0; }
.admin-image-preview { height: 170px; margin: 8px 0 10px; display: grid; place-items: center; overflow: hidden; border: 1px solid #ded5d1; border-radius: 9px; background: #f5f0ec; }
.admin-image-preview img { width: 100%; height: 100%; object-fit: cover; }
.admin-image-preview em { color: #9c9094; font-size: 12px; }
.admin-upload-button { display: inline-flex; padding: 9px 12px; border: 1px solid #bdaeb2; border-radius: 6px; color: #5b4f54; font-size: 11px; cursor: pointer; }
.admin-upload-button input { display: none; }
.admin-image-control small { display: block; margin-top: 7px; color: #a7294f; }
.admin-multi-image-control { min-width: 0; }
.admin-multi-image-control > span { display: block; color: #6f6468; font-size: 11px; font-weight: 600; }
.admin-multi-image-control > p { margin: 5px 0 12px; color: #93868b; font-size: 10px; line-height: 1.45; }
.admin-multi-image-control > small { display: block; margin-top: 7px; color: #a7294f; }
.admin-gallery-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-bottom: 12px; }
.admin-gallery-item { min-width: 0; padding: 7px; border: 1px solid #ded5d1; border-radius: 8px; background: #f8f4f1; }
.admin-gallery-item img { width: 100%; aspect-ratio: 4/5; object-fit: cover; border-radius: 5px; background: #fff; }
.admin-gallery-item strong { display: block; margin: 6px 0; overflow: hidden; color: #65585d; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.admin-gallery-item > div { display: flex; gap: 4px; }
.admin-gallery-item button { min-width: 25px; padding: 3px 6px; border: 1px solid #d3c6c2; border-radius: 4px; background: #fff; color: #574a4f; font-size: 10px; cursor: pointer; }
.admin-gallery-item button:disabled { opacity: .35; cursor: default; }
.admin-gallery-item button.danger { margin-left: auto; color: #a7294f; }
.admin-mini-cards { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.admin-mini-cards > div { position: relative; padding: 18px; border: 1px solid #e2dad6; border-radius: 10px; background: #fbf9f7; }
.admin-delete-small { margin-top: 10px; border: 0; background: none; color: #9b3556; cursor: pointer; }
.admin-add-small, .admin-add { padding: 11px 16px; border: 1px solid #bcaeb2; border-radius: 7px; background: #fff; color: #493d42; cursor: pointer; }
.admin-add-small { margin-top: 16px; }
.admin-card-list { display: grid; gap: 18px; }
.admin-editor-card { overflow: hidden; border: 1px solid #ddd4d0; border-radius: 13px; background: #fff; }
.admin-editor-card-head { display: flex; justify-content: space-between; align-items: center; padding: 16px 20px; background: #eee4e3; }
.admin-editor-card-head button { border: 0; background: none; color: #9b3556; cursor: pointer; }
.admin-editor-card-body { display: grid; grid-template-columns: 260px 1fr; gap: 24px; padding: 22px; }
.admin-add { margin-top: 20px; background: #2b2326; color: #fff; border-color: #2b2326; }

@media (max-width: 900px) {
  .admin-shell { grid-template-columns: 1fr; }
  .admin-sidebar { position: static; height: auto; padding: 20px; }
  .admin-sidebar nav { grid-template-columns: repeat(2, 1fr); margin-top: 20px; }
  .admin-sidebar-actions { margin-top: 18px; }
  .admin-topbar { padding: 12px 18px; align-items: flex-start; flex-direction: column; }
  .admin-save-area { width: 100%; justify-content: space-between; }
  .admin-content { width: calc(100% - 28px); padding-top: 28px; }
  .admin-grid, .admin-image-grid, .admin-mini-cards { grid-template-columns: 1fr; }
  .admin-editor-card-body { grid-template-columns: 1fr; }
}

@media (max-width: 430px) {
  .product-grid, .collection-list .product-grid { grid-template-columns: 1fr; }
  .spec-block ul { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  * { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
}

/* WordPress integration */
.admin-bar .site-header { top: 32px; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.wp-page-content { padding: 90px 5vw; background: #fbf9f5; }
.wp-page-content > * { max-width: 980px; margin-left: auto; margin-right: auto; }
.wp-page-content h2 { margin-top: 50px; }
.wp-page-content p, .wp-page-content li { color: #796d72; line-height: 1.8; }
.wp-page-content .process-grid, .wp-page-content .values, .wp-page-content .numbers { max-width: none; }
.wp-page-content .process-grid article, .wp-page-content .values article { padding: 34px; }
.wp-page-content .process-grid h3, .wp-page-content .values h3 { margin-bottom: 12px; }
.wp-page-content .capability-list { display: grid; grid-template-columns: repeat(3, 1fr); margin: 40px auto; }
.wp-page-content .capability-list span { padding: 20px; border: 1px solid #d8ccc8; }
.product-card .product-image { display: block; }
.collection-group .product-grid { padding: 0; }
.product-gallery-main { position: relative; overflow: hidden; background: #f0e9e4; }
.product-gallery-main img { width: 100%; height: 100%; object-fit: contain; }
.product-thumbnails button { padding: 0; border: 1px solid transparent; background: none; cursor: pointer; }
.product-thumbnails button.active { border-color: #9b3556; }
.product-thumbnails button img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; }
.product-detail-copy .product-code { display: block; margin: 15px 0 35px; }
.product-request-note { margin-top: 14px; color: #9b3556; font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
.empty-state { padding: 70px 5vw; text-align: center; color: #796d72; }
.contact-success, .contact-error { margin-bottom: 22px; padding: 14px 16px; border-radius: 6px; }
.contact-success { background: #edf7ee; color: #2f7139; }
.contact-error { background: #fff0f1; color: #9b3556; }
.footer .logo { color: inherit; }
.footer a { color: inherit; }

@media (max-width: 782px) {
  .admin-bar .site-header { top: 46px; }
}

@media (max-width: 760px) {
  .wp-page-content { padding: 60px 22px; }
  .wp-page-content .capability-list { grid-template-columns: 1fr 1fr; }
}

/* Light wholesale catalog direction */
:root {
  --black: #fbf9f5;
  --black-soft: #f4eee8;
  --panel: #f0e8e2;
  --ivory: #2b2226;
  --paper: #45383d;
  --muted: #796d72;
  --copper: #9b3556;
  --line: rgba(155, 53, 86, .22);
}

body { background: #fbf9f5; color: #2b2226; }
.site-header { background: linear-gradient(to bottom, rgba(251,249,245,.98) 68%, rgba(251,249,245,.78) 85%, transparent); }
.monogram { color: #2b2226; }
.desktop-nav a { color: #41363a; }
.desktop-nav a:hover { color: #9b3556; }
.language { border-color: #cfc2c0; color: #2b2226; background: rgba(255,255,255,.55); }
.button-light { background: #9b3556; color: #fff; }
.button-light:hover { background: #7d2744; }
.button-outline { border-color: #9b3556; color: #8d2d4d; background: rgba(255,255,255,.36); }
.button-outline:hover { background: #9b3556; color: #fff; }
.button-copper { background: #9b3556; color: #fff; }
.button-copper:hover { background: #2b2226; color: #fff; }

.hero {
  min-height: 820px;
  display: grid;
  grid-template-columns: .92fr 1.08fr;
  gap: 5vw;
  padding: 118px 5vw 52px;
  background: radial-gradient(circle at 82% 18%, #ead7db 0, #f5ece8 30%, #fbf9f5 66%);
}
.hero-content { width: auto; margin-left: 0; padding-top: 58px; }
.hero h1 { color: #2b2226; }
.hero-copy { color: #6f6368; }
.trust-row strong { color: #45383d; }
.trust-row span { color: #887c80; }
.hero-showcase { position: relative; min-height: 650px; }
.hero-showcase figure { position: absolute; margin: 0; overflow: hidden; background: #fff; box-shadow: 0 25px 60px rgba(73,42,52,.14); }
.hero-showcase img { width: 100%; height: 100%; object-fit: cover; }
.showcase-main { inset: 0 28% 0 0; border-radius: 180px 180px 18px 18px; }
.showcase-secondary { width: 39%; height: 54%; right: 0; bottom: 4%; border-radius: 120px 120px 16px 16px; border: 9px solid #fbf9f5; }
.hero-showcase figcaption { position: absolute; left: 0; right: 0; bottom: 0; display: flex; gap: 14px; align-items: center; padding: 18px 22px; background: rgba(255,255,255,.92); color: #33282d; text-transform: uppercase; letter-spacing: .08em; font-size: 10px; }
.hero-showcase figcaption span { color: #9b3556; }
.showcase-note { position: absolute; z-index: 2; right: 2%; top: 15%; width: 132px; height: 132px; border-radius: 50%; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; background: #9b3556; color: #fff; box-shadow: 0 16px 35px rgba(125,39,68,.22); }
.showcase-note strong { font-family: Georgia, serif; font-size: 37px; line-height: 1; }
.showcase-note span { width: 88px; margin-top: 8px; text-transform: uppercase; letter-spacing: .06em; font-size: 8px; }

.intro-grid, .section { background: #fbf9f5; }
.section-tight { background: #fbf9f5; }
.section-lead { color: #796d72; }
.text-link { color: #342a2e; }

.category-card {
  border-color: #ded4d0;
  background: #fff;
  color: #2b2226;
}
.category-card:nth-child(2), .category-card:nth-child(5) { background: #f3e7e6; }
.category-card:nth-child(3), .category-card:nth-child(6) { background: #f0ece7; }
.category-card::before { border-color: rgba(155,53,86,.16); }
.category-card:hover { border-color: #9b3556; background: #fff8f7; box-shadow: 0 16px 40px rgba(76,45,54,.08); }
.category-card p { color: #796d72; }

.product-image { background: #f2ebe5; border: 1px solid #e2d8d4; }
.product-image img[src*="hero-light"] { object-position: 70% center; }
.product-info p, .product-code, .product-note { color: #9b3556; }
.product-info > span { color: #968a8e; }

.oem-feature, .oem-intro { background: #f1ebe5; color: #2b2226; }
.oem-image { background-image: url("/images/hero-light-accessories.png"); }
.oem-copy > p:not(.eyebrow), .oem-intro p { color: #756a6e; }
.oem-copy li, .capability-list, .capability-list span { border-color: #d8ccc8; }
.capability-list span { color: #45383d; }

.commitment-grid { border-color: #d8ceca; }
.commitment-grid article { border-color: #d8ceca; }
.commitment-grid p, .values p { color: #796d72; }

.quote-band { background: #9b3556; color: #fff; }
.quote-band .eyebrow { color: #f1cdd9; }
.quote-band .button-light { background: #fff; color: #7d2744; }
.quote-band .button-light:hover { background: #2b2226; color: #fff; }

.page-hero {
  color: #2b2226;
  background: radial-gradient(circle at 80% 25%, #ead8d6 0, #f4ece6 28%, #fbf9f5 68%);
  border-color: #ded3d0;
}
.page-hero > p:last-child { color: #796d72; }
.filter-bar { background: rgba(251,249,245,.94); border-color: #ded3d0; }
.filter-bar a { color: #62565b; }
.collection-group { border-color: #ded3d0; }
.collection-group-heading > span { color: #8d8185; }

.process-grid { border-color: #d8ceca; }
.process-grid article { border-color: #d8ceca; background: #fff; }
.process-grid p, .story > div:last-child { color: #796d72; }
.numbers { background: #f0dfde; color: #2b2226; }
.numbers div { border-color: #d6bfbe; }
.values article { border-color: #cfa8b4; }

.contact-info dl div { border-color: #d8ceca; }
.contact-info dd { color: #45383d; }
.discretion-note { color: #796d72; }
.quote-form { background: #fff; border-color: #ded3d0; box-shadow: 0 18px 50px rgba(70,45,52,.07); }
.quote-form label { color: #756a6e; }
.quote-form input, .quote-form textarea, .quote-form select { border-color: #cfc3c0; color: #2b2226; }

.product-detail { background: #f8f4ef; color: #2b2226; }
.product-description, .spec-block ul { color: #796d72; }
.spec-block { border-color: #d8ceca; }

.footer { background: #2b2326; border-color: #40363a; color: #f7f1eb; }
.footer .monogram { color: #f7f1eb; }
.footer-brand p { color: #bdb0b4; }
.footer > div:not(.footer-bottom) > a, .footer > div:not(.footer-bottom) > span { color: #c5b9bd; }
.footer-bottom { border-color: #4b4044; color: #9f9296; }

.mobile-menu summary { border-color: #bfb1b0; }
.mobile-menu summary i { background: #2b2226; }
.mobile-menu nav { background: #fbf9f5; border-color: #ded3d0; color: #2b2226; }
.mobile-menu nav a { border-color: #ded3d0; }

@media (max-width: 760px) {
  .hero { min-height: auto; grid-template-columns: 1fr; align-items: stretch; gap: 34px; padding: 128px 22px 46px; }
  .hero-content { padding: 0; }
  .hero-showcase { min-height: 520px; }
  .showcase-main { right: 22%; border-radius: 110px 110px 14px 14px; }
  .showcase-secondary { width: 42%; height: 48%; }
  .showcase-note { width: 104px; height: 104px; top: 9%; }
  .commitment-grid article, .numbers div { border-color: #d8ceca; }
}
