/*
 * Reformia visual refresh inspired by the eslicerpro Shopify reference.
 * This layer intentionally leaves Shoplazza section logic and merchant data intact.
 */

:root {
  --esp-ink: #161712;
  --esp-ink-soft: #55584d;
  --esp-olive: #7c8800;
  --esp-olive-dark: #626c00;
  --esp-olive-wash: #f2f3df;
  --esp-cream: #fcfcf8;
  --esp-paper: #ffffff;
  --esp-line: #e7e8dc;
  --esp-radius-sm: 6px;
  --esp-radius: 12px;
  --esp-radius-lg: 24px;
  --esp-shadow: 0 14px 40px rgba(35, 38, 21, 0.08);
}

html {
  scroll-behavior: smooth;
}

body#next-theme {
  background: var(--esp-cream);
  color: var(--esp-ink);
  font-family: "Avenir Next", "Helvetica Neue", sans-serif;
  letter-spacing: 0.01em;
}

body#next-theme h1,
body#next-theme h2,
body#next-theme h3,
body#next-theme h4,
body#next-theme h5,
body#next-theme h6,
body#next-theme .color-heading {
  color: var(--esp-ink);
  font-family: "Avenir Next", "Helvetica Neue", sans-serif;
  font-weight: 700;
  letter-spacing: -0.025em;
}

body#next-theme .section-content {
  max-width: 1400px;
}

body#next-theme .main-content .shoplaza-section {
  margin-bottom: clamp(28px, 4.5vw, 72px);
}

/* Header: quiet, premium and product-led. */
body#next-theme .header__main-container {
  background: #fcfcf8;
  border-bottom: 1px solid rgba(22, 23, 18, 0.08);
  box-shadow: none;
}

body#next-theme .header-layout {
  min-height: 70px;
}

body#next-theme .header__menu a,
body#next-theme .header__actions a,
body#next-theme .header__actions button {
  font-weight: 600;
  letter-spacing: 0.02em;
  transition: color 180ms ease, opacity 180ms ease, transform 180ms ease;
}

body#next-theme .header__menu a:hover,
body#next-theme .header__actions a:hover,
body#next-theme .header__actions button:hover {
  color: var(--esp-olive);
}

body#next-theme .daerfu-legacy-logo { display: none; }
body#next-theme .daerfu-brand { display: flex; align-items: center; gap: 10px; color: var(--esp-ink); }
body#next-theme .daerfu-brand__mark { width: 34px; height: 34px; flex: none; transform: translateY(-1px); }
body#next-theme .daerfu-brand__word { display:block; font-size:20px; font-weight:700; letter-spacing:.24em; line-height:1; transform:translateY(1px); }

/* Daerfu home: calm editorial homewares, adapted from the reference flow. */
body#next-theme .daerfu-home { overflow: hidden; background: #fcfcf8; }
body#next-theme:has(.daerfu-home) #main-content > .shoplaza-section { display: none; }
body#next-theme .daerfu-hero { position: relative; min-height: min(720px, 76vh); display: grid; align-items: center; padding: clamp(60px, 9vw, 130px) max(6vw, 28px); isolation: isolate; }
body#next-theme .daerfu-hero__media { position: absolute; inset: 0; z-index: -2; background: linear-gradient(90deg, rgba(239,233,222,.97) 0%, rgba(239,233,222,.78) 36%, rgba(239,233,222,.08) 70%), var(--daerfu-hero-image) center/cover no-repeat; filter: saturate(.82); }
body#next-theme .daerfu-hero__media::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 70%,rgba(20,20,16,.16)); }
body#next-theme .daerfu-hero__content { max-width: 650px; }
body#next-theme .daerfu-eyebrow { margin: 0 0 18px; color: var(--esp-olive-dark); font-size: 12px; font-weight: 800; letter-spacing: .18em; }
body#next-theme .daerfu-hero h1 { margin:0; max-width:760px; font-size:clamp(48px,6.4vw,94px); line-height:.94; letter-spacing:-.065em; }
body#next-theme .daerfu-hero__content > p:not(.daerfu-eyebrow) { max-width:560px; margin:28px 0; color:#45473f; font-size:clamp(16px,1.5vw,20px); line-height:1.65; }
body#next-theme .daerfu-home__button { display:inline-flex; padding:16px 24px; background:var(--esp-olive); color:#fff; border-radius:6px; font-weight:800; text-decoration:none; transition:.2s ease; }
body#next-theme .daerfu-home__button:hover { background:var(--esp-olive-dark); transform:translateY(-2px); }
body#next-theme .daerfu-hero__stamp { position:absolute; right:6vw; bottom:42px; width:112px; height:112px; display:flex; flex-direction:column; align-items:center; justify-content:center; color:#fff; border:1px solid rgba(255,255,255,.7); border-radius:50%; transform:rotate(-7deg); }
body#next-theme .daerfu-hero__stamp strong { letter-spacing:.18em; } body#next-theme .daerfu-hero__stamp span { font-size:11px; }

body#next-theme .daerfu-benefits { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--esp-line); border-bottom:1px solid var(--esp-line); }
body#next-theme .daerfu-benefits > div { position:relative; min-height:170px; padding:38px clamp(24px,4vw,64px); background:#fff; }
body#next-theme .daerfu-benefits span { position:absolute; right:24px; top:22px; color:#c9cabf; font-size:12px; }
body#next-theme .daerfu-benefits strong { display:block; margin-bottom:10px; font-size:18px; }
body#next-theme .daerfu-benefits p { max-width:310px; margin:0; color:var(--esp-ink-soft); line-height:1.55; }

body#next-theme .daerfu-featured { max-width:1400px; margin:auto; padding:clamp(76px,9vw,130px) max(4vw,20px); }
body#next-theme .daerfu-section-heading { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:42px; }
body#next-theme .daerfu-section-heading h2 { max-width:740px; margin:0; font-size:clamp(34px,4vw,58px); line-height:1.04; }
body#next-theme .daerfu-section-heading > a, body#next-theme .daerfu-story__copy a { color:var(--esp-ink); font-weight:800; text-underline-offset:5px; }
body#next-theme .daerfu-product-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
body#next-theme .daerfu-product { color:var(--esp-ink); text-decoration:none; }
body#next-theme .daerfu-product__image { position:relative; overflow:hidden; aspect-ratio:4/5; background:#f0eee8; border-radius:12px; }
body#next-theme .daerfu-product__image img { width:100%; height:100%; -o-object-fit:cover; object-fit:cover; transition:transform .55s cubic-bezier(.2,.8,.2,1); }
body#next-theme .daerfu-product__image span { position:absolute; left:14px; right:14px; bottom:14px; padding:12px; background:rgba(255,255,255,.94); border-radius:5px; text-align:center; font-size:13px; font-weight:800; opacity:0; transform:translateY(8px); transition:.2s ease; }
body#next-theme .daerfu-product:hover img { transform:scale(1.035); } body#next-theme .daerfu-product:hover .daerfu-product__image span { opacity:1; transform:none; }
body#next-theme .daerfu-product__meta { display:flex; justify-content:space-between; gap:12px; padding:16px 3px; }
body#next-theme .daerfu-product__meta h3 { margin:0; font-size:15px; } body#next-theme .daerfu-product__meta strong { color:var(--esp-olive-dark); white-space:nowrap; }

body#next-theme .daerfu-bestsellers { display:grid; grid-template-columns:minmax(260px,.7fr) minmax(0,2.3fr); gap:clamp(32px,5vw,76px); padding:clamp(70px,8vw,118px) max(4vw,20px); background:#eeece5; }
body#next-theme .daerfu-bestsellers__intro { align-self:center; padding-left:max(0px,calc((100vw - 1400px)/2)); }
body#next-theme .daerfu-bestsellers__intro h2 { margin:0 0 18px; font-size:clamp(44px,5vw,76px); line-height:.94; letter-spacing:-.055em; }
body#next-theme .daerfu-bestsellers__intro > p:not(.daerfu-eyebrow) { max-width:330px; margin:0 0 28px; color:var(--esp-ink-soft); font-size:16px; line-height:1.65; }
body#next-theme .daerfu-bestsellers__intro a { color:var(--esp-ink); font-weight:800; text-underline-offset:5px; }
body#next-theme .daerfu-bestsellers__products { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; min-width:0; }
body#next-theme .daerfu-bestseller { min-width:0; color:var(--esp-ink); text-decoration:none; }
body#next-theme .daerfu-bestseller__image { position:relative; overflow:hidden; aspect-ratio:4/5; background:#dedbd2; border-radius:12px; }
body#next-theme .daerfu-bestseller__image img { width:100%; height:100%; -o-object-fit:cover; object-fit:cover; transition:transform .5s cubic-bezier(.2,.8,.2,1); }
body#next-theme .daerfu-bestseller:hover img { transform:scale(1.04); }
body#next-theme .daerfu-bestseller__badge { position:absolute; top:12px; left:12px; padding:7px 9px; color:#fff; background:var(--esp-olive); border-radius:4px; font-size:9px; font-weight:800; letter-spacing:.12em; }
body#next-theme .daerfu-bestseller__meta { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; padding:14px 2px 0; }
body#next-theme .daerfu-bestseller__meta h3 { margin:4px 0 0; overflow:hidden; font-size:14px; line-height:1.35; text-overflow:ellipsis; white-space:nowrap; }
body#next-theme .daerfu-bestseller__meta > div { min-width:0; }
body#next-theme .daerfu-bestseller__meta > strong { padding-top:18px; color:var(--esp-olive-dark); font-size:14px; white-space:nowrap; }
body#next-theme .daerfu-bestseller__rating { color:#d5ae20; font-size:10px; letter-spacing:1px; }

/* Collection pages: make merchant-provided collection imagery feel intentional. */
body#next-theme .coll_header__product-collection { display: none !important; }
body#next-theme .coll_header_container.type-poster .coll_header_img:has(.daerfu-collection-banner) { height:476px !important; min-height:0 !important; }
body#next-theme .daerfu-collection-banner { display:block; position:absolute; inset:0; width:100%; height:100%; min-height:0; -o-object-fit:cover; object-fit:cover; -o-object-position:center; object-position:center; }
body#next-theme .daerfu-collection-banner--towels { -o-object-position:center; object-position:center; }
body#next-theme [class*="collection-header"] img,
body#next-theme .collection-header img,
body#next-theme .collection-detail__image img { width:100%; height:100%; -o-object-fit:cover; object-fit:cover; }
body#next-theme [class*="collection-header"] [class*="image"],
body#next-theme .collection-detail__image { overflow:hidden; border-radius:18px; background:#eeece5; }

body#next-theme .daerfu-delivery { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr); max-width:1400px; margin:clamp(70px,9vw,132px) auto; padding:0 max(4vw,20px); }
body#next-theme .daerfu-delivery__media { min-height:620px; overflow:hidden; border-radius:18px 0 0 18px; background:#e9e4d9; }
body#next-theme .daerfu-delivery__media img { width:100%; height:100%; -o-object-fit:cover; object-fit:cover; }
body#next-theme .daerfu-delivery__content { display:flex; flex-direction:column; justify-content:center; padding:clamp(44px,6vw,92px); background:#f0eee6; border-radius:0 18px 18px 0; }
body#next-theme .daerfu-delivery__content h2 { max-width:520px; margin:0; font-size:clamp(42px,4.8vw,70px); line-height:.98; letter-spacing:-.055em; }
body#next-theme .daerfu-delivery__lead { max-width:530px; margin:26px 0 34px; color:var(--esp-ink-soft); font-size:17px; line-height:1.7; }
body#next-theme .daerfu-delivery__points { border-top:1px solid #d8d7ca; }
body#next-theme .daerfu-delivery__points a { display:grid; grid-template-columns:34px 1fr auto; align-items:center; gap:14px; padding:21px 0; color:var(--esp-ink); border-bottom:1px solid #d8d7ca; text-decoration:none; }
body#next-theme .daerfu-delivery__points span { color:var(--esp-olive-dark); font-size:11px; font-weight:800; }
body#next-theme .daerfu-delivery__points strong { display:block; font-size:16px; }
body#next-theme .daerfu-delivery__points p { margin:4px 0 0; color:var(--esp-ink-soft); font-size:13px; line-height:1.45; }
body#next-theme .daerfu-delivery__points b { font-size:20px; transition:transform .2s ease; }
body#next-theme .daerfu-delivery__points a:hover b { transform:translateX(4px); }

body#next-theme .daerfu-story { display:grid; grid-template-columns:1.08fr .92fr; min-height:640px; background:#1b1d17; color:#fff; }
body#next-theme .daerfu-story__art { position:relative; overflow:hidden; min-height:520px; background:radial-gradient(circle at 36% 42%,#a9b44b 0 12%,transparent 12.3%),linear-gradient(132deg,#d8d2c4 0 47%,#878d54 47.2% 62%,#eee9df 62.2%); }
body#next-theme .daerfu-story__art::before { content:""; position:absolute; width:52%; aspect-ratio:1; left:24%; top:22%; border:3px solid rgba(22,23,18,.75); border-radius:46% 46% 12% 12%; }
body#next-theme .daerfu-story__art span { position:absolute; left:8%; bottom:8%; color:rgba(255,255,255,.7); font-size:clamp(46px,7vw,110px); font-weight:800; letter-spacing:.14em; }
body#next-theme .daerfu-story__copy { display:flex; flex-direction:column; justify-content:center; padding:clamp(54px,8vw,120px); }
body#next-theme .daerfu-story__copy .daerfu-eyebrow { color:#bbc45a; } body#next-theme .daerfu-story__copy h2 { margin:0; color:#fff; font-size:clamp(40px,4.7vw,72px); line-height:1; }
body#next-theme .daerfu-story__copy > p:not(.daerfu-eyebrow) { margin:28px 0; color:#c9cabf; font-size:17px; line-height:1.75; }
body#next-theme .daerfu-story__copy a { color:#fff; }
body#next-theme .daerfu-testimonial { max-width:1050px; margin:auto; padding:clamp(90px,11vw,160px) 24px; text-align:center; }
body#next-theme .daerfu-testimonial blockquote { margin:0; font-size:clamp(32px,4.3vw,62px); font-weight:700; line-height:1.12; letter-spacing:-.045em; }
body#next-theme .daerfu-testimonial__rating { margin-top:30px; color:#e6bd24; letter-spacing:.1em; } body#next-theme .daerfu-testimonial__rating span { color:var(--esp-ink-soft); font-size:13px; letter-spacing:0; }

body#next-theme #footer-content > .shoplaza-section, body#next-theme #footer-content > [data-section-id] { display:none; }
body#next-theme .daerfu-footer { padding:70px max(5vw,24px) 26px; background:#161712; color:#b9bbb2; }
body#next-theme .daerfu-footer__top { max-width:1400px; margin:auto; display:grid; grid-template-columns:1.7fr repeat(3,1fr) 1.25fr; gap:clamp(26px,4vw,64px); }
body#next-theme .daerfu-footer h2 { margin:5px 0 20px; color:#fff; font-size:13px; letter-spacing:.11em; text-transform:uppercase; }
body#next-theme .daerfu-footer nav a { display:block; margin:0 0 12px; color:#b9bbb2; text-decoration:none; font-size:14px; } body#next-theme .daerfu-footer a:hover { color:#d3dc6b; }
body#next-theme .daerfu-footer__logo { margin-bottom:18px; color:#fff; font-size:25px; font-weight:800; letter-spacing:.22em; } body#next-theme .daerfu-footer__logo span { color:#9daa27; }
body#next-theme .daerfu-footer__brand > p { max-width:310px; line-height:1.7; }
body#next-theme .daerfu-footer__badges { display:flex; flex-wrap:wrap; gap:7px; margin-top:24px; } body#next-theme .daerfu-footer__badges span { padding:7px 9px; border:1px solid #34372e; border-radius:4px; font-size:10px; }
body#next-theme .daerfu-footer__contact p { margin:0 0 15px; font-size:13px; line-height:1.55; } body#next-theme .daerfu-footer__contact a { color:#fff; }
body#next-theme .daerfu-footer__bottom { max-width:1400px; margin:54px auto 0; padding-top:22px; display:flex; justify-content:space-between; gap:20px; border-top:1px solid #30322b; font-size:12px; }

/* Readable editorial treatment for Daerfu information and policy pages. */
body#next-theme .page-detail,
body#next-theme .page-content,
body#next-theme [class*="page-detail"] .mce-content {
  max-width: 900px;
  margin-inline: auto;
}
body#next-theme [class*="page-detail"] .mce-content,
body#next-theme .page-content.mce-content {
  padding: clamp(36px, 6vw, 80px) clamp(20px, 5vw, 64px);
  background: #fff;
  border: 1px solid var(--esp-line);
  border-radius: 18px;
  color: var(--esp-ink-soft);
  font-size: 16px;
  line-height: 1.75;
}
body#next-theme [class*="page-detail"] .mce-content h2,
body#next-theme .page-content.mce-content h2 { margin: 0 0 24px; font-size: clamp(30px, 4vw, 48px); }
body#next-theme [class*="page-detail"] .mce-content h3,
body#next-theme .page-content.mce-content h3 { margin: 34px 0 10px; font-size: 19px; }
body#next-theme [class*="page-detail"] .mce-content a,
body#next-theme .page-content.mce-content a { color: var(--esp-olive-dark); font-weight: 700; text-underline-offset: 3px; }

@media(max-width:959.98px) {
  body#next-theme .coll_header_container.type-poster .coll_header_img:has(.daerfu-collection-banner) { height:420px !important; }
  body#next-theme .daerfu-brand { gap:7px; } body#next-theme .daerfu-brand__mark { width:28px; height:28px; } body#next-theme .daerfu-brand__word { font-size:16px; letter-spacing:.17em; }
  body#next-theme .daerfu-hero { min-height:650px; align-items:end; padding:80px 22px 62px; } body#next-theme .daerfu-hero__media { background:linear-gradient(0deg,rgba(239,233,222,.97),rgba(239,233,222,.12) 72%),var(--daerfu-hero-image) 67% center/cover no-repeat; }
  body#next-theme .daerfu-hero h1 { font-size:clamp(46px,14vw,68px); } body#next-theme .daerfu-hero__stamp { display:none; }
  body#next-theme .daerfu-benefits { grid-template-columns:1fr; } body#next-theme .daerfu-benefits > div { min-height:0; padding:28px 24px; }
  body#next-theme .daerfu-section-heading { align-items:flex-start; flex-direction:column; } body#next-theme .daerfu-product-grid { grid-template-columns:repeat(2,1fr); gap:10px; }
  body#next-theme .daerfu-product__meta { display:block; } body#next-theme .daerfu-product__meta h3 { margin-bottom:6px; }
  body#next-theme .daerfu-story { grid-template-columns:1fr; } body#next-theme .daerfu-story__copy { padding:58px 24px 70px; }
  body#next-theme .daerfu-bestsellers { grid-template-columns:1fr; padding:64px 20px; }
  body#next-theme .daerfu-bestsellers__products { grid-template-columns:repeat(2,1fr); gap:10px; }
  body#next-theme .daerfu-delivery { grid-template-columns:1fr; margin:64px auto; }
  body#next-theme .daerfu-delivery__media { min-height:390px; border-radius:14px 14px 0 0; }
  body#next-theme .daerfu-delivery__content { padding:48px 24px 54px; border-radius:0 0 14px 14px; }
  body#next-theme .daerfu-footer__top { grid-template-columns:1fr 1fr; } body#next-theme .daerfu-footer__brand, body#next-theme .daerfu-footer__contact { grid-column:1/-1; }
  body#next-theme .daerfu-footer__bottom { flex-direction:column; }
}

/* Buttons use the reference theme's olive accent and restrained radius. */
body#next-theme .button,
body#next-theme button[class*="button"],
body#next-theme a[class*="button"],
body#next-theme [class*="primary-button"] {
  border-radius: var(--esp-radius-sm);
  font-weight: 700;
  letter-spacing: 0.035em;
  transition: background-color 180ms ease, border-color 180ms ease,
    color 180ms ease, transform 180ms ease, box-shadow 180ms ease;
}

body#next-theme .button:hover,
body#next-theme button[class*="button"]:hover,
body#next-theme a[class*="button"]:hover {
  transform: translateY(-1px);
}

body#next-theme .button-primary,
body#next-theme [class*="primary-button"],
body#next-theme [class*="checkout"] button,
body#next-theme [class*="add-to-cart"] {
  background: var(--esp-olive);
  border-color: var(--esp-olive);
  color: #fff;
}

body#next-theme .button-primary:hover,
body#next-theme [class*="primary-button"]:hover,
body#next-theme [class*="checkout"] button:hover,
body#next-theme [class*="add-to-cart"]:hover {
  background: var(--esp-olive-dark);
  border-color: var(--esp-olive-dark);
  box-shadow: 0 8px 24px rgba(98, 108, 0, 0.2);
}

/* Product and editorial cards. */
body#next-theme .product-card,
body#next-theme .atlas-product-snippet,
body#next-theme [class*="collection-card"],
body#next-theme [class*="blog-card"] {
  border-radius: var(--esp-radius);
}

body#next-theme .product-card {
  background: var(--esp-paper);
  border: 1px solid transparent;
  overflow: hidden;
  transition: border-color 220ms ease, transform 220ms ease, box-shadow 220ms ease;
}

body#next-theme .product-card:hover {
  border-color: var(--esp-line);
  box-shadow: var(--esp-shadow);
  transform: translateY(-4px);
}

body#next-theme .product-card img,
body#next-theme [class*="collection-card"] img,
body#next-theme [class*="blog-card"] img {
  transition: transform 500ms cubic-bezier(0.2, 0.75, 0.25, 1);
}

body#next-theme .product-card:hover img,
body#next-theme [class*="collection-card"]:hover img,
body#next-theme [class*="blog-card"]:hover img {
  transform: scale(1.025);
}

body#next-theme .product-snippet__price-wrapper {
  color: var(--esp-olive-dark);
  font-weight: 700;
}

body#next-theme [class*="badge"],
body#next-theme [class*="discount"] {
  border-radius: var(--esp-radius-sm);
}

/* Forms mirror the reference theme's pill-shaped inputs. */
body#next-theme input[type="text"],
body#next-theme input[type="search"],
body#next-theme input[type="email"],
body#next-theme input[type="password"],
body#next-theme select,
body#next-theme textarea {
  background: rgba(255, 255, 255, 0.82);
  border-color: var(--esp-line);
  transition: border-color 180ms ease, box-shadow 180ms ease;
}

body#next-theme input[type="text"],
body#next-theme input[type="search"],
body#next-theme input[type="email"],
body#next-theme input[type="password"],
body#next-theme select {
  border-radius: 999px;
}

body#next-theme textarea {
  border-radius: var(--esp-radius);
}

body#next-theme input:focus,
body#next-theme select:focus,
body#next-theme textarea:focus {
  border-color: var(--esp-olive);
  box-shadow: 0 0 0 3px rgba(124, 136, 0, 0.12);
}

/* Hero and image-led sections get the soft editorial treatment. */
body#next-theme .main-content > .shoplaza-section:first-child,
body#next-theme [class*="carousel-banner"],
body#next-theme [class*="image-with-text"] {
  overflow: hidden;
}

body#next-theme [class*="carousel-banner"] img,
body#next-theme [class*="image-with-text"] img {
  border-radius: var(--esp-radius-lg);
}

/* Footer: warm dark contrast, like a considered brand end-cap. */
body#next-theme #footer-content {
  background: var(--esp-ink);
  color: rgba(255, 255, 255, 0.72);
}

body#next-theme #footer-content .background,
body#next-theme #footer-content .section-container {
  background: transparent;
}

body#next-theme #footer-content h1,
body#next-theme #footer-content h2,
body#next-theme #footer-content h3,
body#next-theme #footer-content h4,
body#next-theme #footer-content h5,
body#next-theme #footer-content p:first-child {
  color: #fff;
}

body#next-theme #footer-content a {
  transition: color 180ms ease;
}

body#next-theme #footer-content a:hover {
  color: #d9df77;
}

body#next-theme #footer-content input {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.22);
  color: #fff;
}

@media (max-width: 749px) {
  body#next-theme .header-layout {
    min-height: 58px;
  }

  body#next-theme .main-content .shoplaza-section {
    margin-bottom: 32px;
  }

  body#next-theme .product-card:hover {
    box-shadow: none;
    transform: none;
  }

  body#next-theme [class*="carousel-banner"] img,
  body#next-theme [class*="image-with-text"] img {
    border-radius: var(--esp-radius);
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  body#next-theme *,
  body#next-theme *::before,
  body#next-theme *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* --------------------------------------------------------------------------
 * Product detail page
 * A warm, editorial commerce layout with a clearly framed purchase decision.
 * ----------------------------------------------------------------------- */

body#next-theme .pd_detail {
  align-items: flex-start;
  gap: clamp(32px, 5vw, 84px);
  padding-top: clamp(18px, 2.8vw, 44px);
}

body#next-theme .pd_detail .pd-images-pc,
body#next-theme .pd_detail .pd-images-pc-gallery-sticky,
body#next-theme .pd_detail .pd-images-pc-main-image-aside {
  border-radius: var(--esp-radius-lg);
}

body#next-theme .pd_detail .pd-image-gallery-item,
body#next-theme .pd_detail .pd-img,
body#next-theme .pd_detail .pd-img--normal,
body#next-theme .pd_detail .pd-images-pc__thumbnail-control-item,
body#next-theme .pd_detail .pd-thumb-image {
  overflow: hidden;
  border-radius: var(--esp-radius);
}

body#next-theme .pd_detail .pd-image-gallery-item,
body#next-theme .pd_detail .pd-img {
  background: #f3f1ec;
}

body#next-theme .pd_detail .pd-images-pc__thumbnail-control-item,
body#next-theme .pd_detail .pd-thumb-image {
  border: 1px solid transparent;
  transition: border-color 180ms ease, opacity 180ms ease,
    transform 180ms ease;
}

body#next-theme .pd_detail .pd-images-pc__thumbnail-control-item:hover,
body#next-theme .pd_detail .pd-thumb-image:hover {
  border-color: var(--esp-olive);
  transform: translateY(-2px);
}

body#next-theme #product-info-body {
  top: 92px;
  width: 100%;
}

body#next-theme #product-info-body .product-info-body-inner {
  position: relative;
  padding: clamp(10px, 1.2vw, 18px) clamp(8px, 1.7vw, 24px) 28px;
  background: var(--esp-paper);
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

body#next-theme #product-info-body .product-info-body-inner::before {
  content: "";
  position: absolute;
  inset: 0 auto auto 0;
  display: none;
}

body#next-theme #product-info-body .product-info-breadcrumbs {
  color: var(--esp-ink-soft);
  font-size: 12px;
  letter-spacing: 0.025em;
}

body#next-theme #product-info-body .share-button-wrapper {
  color: var(--esp-ink-soft);
}

body#next-theme #product-info-body .pd-info-title {
  margin-top: 10px;
  max-width: 620px;
  font-size: clamp(26px, 2.1vw, 36px);
  line-height: 1.12;
  letter-spacing: -0.035em;
}

body#next-theme #product-info-body .esp-product-trust {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 5px 8px;
  margin-top: 12px;
  color: var(--esp-ink-soft);
  font-size: 12px;
  line-height: 1.35;
}

body#next-theme #product-info-body .esp-product-trust__stars {
  color: #f6c832;
  font-size: 14px;
  letter-spacing: 1px;
}

body#next-theme #product-info-body .esp-product-trust__dot {
  width: 3px;
  height: 3px;
  background: #b7b8ae;
  border-radius: 50%;
}

body#next-theme #product-info-body .product-info-prices-container {
  margin-top: 4px;
  gap: 10px;
}

/* Empty discount / label integrations must not reserve merchant spacing. */
body#next-theme #product-info-body .block-container:has(> .plugin-discount-wrap:empty),
body#next-theme #product-info-body .block-container:has(> .pd-info-label-group:empty) {
  display: none;
}

body#next-theme #product-info-body .pd-info-label-group:not(:has(*)) {
  display: none;
  margin: 0;
}

body#next-theme #product-info-body .pd-info-price-container .pd-info-price {
  color: var(--esp-olive-dark);
  font-size: clamp(26px, 2vw, 34px);
  font-weight: 700;
  letter-spacing: -0.03em;
}

body#next-theme #product-info-body .pd-info-price-discount {
  padding: 4px 8px;
  color: var(--esp-olive-dark);
  background: var(--esp-olive-wash);
  border: 0;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
}

body#next-theme #product-info-body .esp-demand-note {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-top: 14px;
  padding: 11px 13px;
  color: #2f2522;
  background: #f8d8d5;
  border-left: 3px solid #d97870;
  font-size: 13px;
  line-height: 1.4;
}

body#next-theme #product-info-body .product-info__current-inventory {
  margin-top: 14px;
  padding: 12px 14px;
  background: #faf8f3;
  border: 1px solid #ece8df;
  border-radius: var(--esp-radius);
}

body#next-theme #product-info-body .product-info-inventory-text {
  margin-bottom: 8px;
  color: var(--esp-ink-soft);
  font-weight: 600;
}

body#next-theme #product-info-body .product-info-inventory-progress {
  height: 6px;
  background: #e7e4da;
  border-radius: 999px;
}

body#next-theme #product-info-body .product-info-inventory-progress-bar {
  background: linear-gradient(90deg, #aab83d, var(--esp-olive));
  border-radius: 999px;
}

body#next-theme #product-info-body .current__viewer-text {
  color: var(--esp-ink);
  font-size: 13px;
  font-weight: 700;
}

body#next-theme #product-info-body .pd-info-variant {
  margin-block: 18px 16px;
  padding-top: 18px;
  border-top: 1px solid var(--esp-line);
}

body#next-theme #product-info-body .pd-info-variants-title,
body#next-theme #product-info-body .pd-info-qty-wrap > div:first-child {
  color: var(--esp-ink);
  font-weight: 700;
}

body#next-theme #product-info-body .pd-variant-items-container {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

body#next-theme #product-info-body .atlas-variant-button {
  margin: 0;
}

body#next-theme #product-info-body .pd-info-variants-item__option__label {
  min-width: 54px;
  padding: 11px 16px;
  background: #fff;
  border: 1px solid var(--esp-line);
  border-radius: 999px;
  font-weight: 700;
  text-align: center;
  transition: background-color 180ms ease, border-color 180ms ease,
    color 180ms ease, transform 180ms ease;
}

body#next-theme #product-info-body .atlas-variant-button:hover .pd-info-variants-item__option__label {
  border-color: var(--esp-olive);
  color: var(--esp-olive-dark);
  transform: translateY(-1px);
}

body#next-theme #product-info-body .atlas-variant-button input:checked + .pd-info-variants-item__option__label {
  background: var(--esp-ink);
  border-color: var(--esp-ink);
  color: #fff;
}

/* Image SKU selectors: the product photo itself fills a true circular swatch. */
body#next-theme #product-info-body .atlas-variant-button.has-thumbnail .pd-info-variants-item__option__label {
  width: 68px;
  height: 68px;
  min-width: 68px;
  padding: 0 !important;
  overflow: hidden;
  background: #f3f1ec;
  border: 2px solid var(--esp-line);
  border-radius: 50%;
}

body#next-theme #product-info-body .atlas-variant-button.has-thumbnail .pd-variant-image,
body#next-theme #product-info-body .atlas-variant-button.has-thumbnail .pd-variant-image > img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  border-radius: 50%;
  -o-object-fit: cover !important;
     object-fit: cover !important;
  -o-object-position: center;
     object-position: center;
}

body#next-theme #product-info-body .atlas-variant-button.has-thumbnail .pd-variant-name-text {
  display: none;
}

body#next-theme #product-info-body .atlas-variant-button.has-thumbnail input:checked + .pd-info-variants-item__option__label {
  background: #f3f1ec;
  border-color: var(--esp-ink);
  box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--esp-ink);
}

body#next-theme #product-info-body .atlas-variant-button.has-thumbnail:hover .pd-info-variants-item__option__label {
  border-color: var(--esp-olive);
}

body#next-theme #product-info-body .pd-info-qty {
  height: 46px;
  background: #fff;
  border: 1px solid var(--esp-line);
  border-radius: 999px;
}

body#next-theme #product-info-body .pd-info-qty .pd-info-qty-icon {
  border-color: var(--esp-line);
}

body#next-theme #product-info-body .product-info__btn {
  gap: 10px;
  margin-top: 18px;
}

body#next-theme #product-info-body .esp-checkout-assurance {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 6px 18px;
  margin-top: 12px;
  color: var(--esp-ink-soft);
  font-size: 11px;
  font-weight: 600;
}

body#next-theme #product-info-body .esp-payment-card {
  margin-top: 16px;
  padding: 15px 16px 14px;
  background: #fafafa;
  border: 1px solid #deded8;
  border-radius: 12px;
}

body#next-theme #product-info-body .esp-payment-card__title {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: var(--esp-ink);
  font-size: 15px;
  line-height: 1.25;
}

body#next-theme #product-info-body .esp-payment-card__title svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: var(--esp-olive-dark);
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

body#next-theme #product-info-body .esp-payment-card__icons {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 12px;
}

body#next-theme #product-info-body .esp-payment-card__icons spz-img {
  overflow: hidden;
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 5px;
}

body#next-theme #product-info-body .esp-delivery-estimate {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 22px;
  padding: 22px 18px 15px;
  background: #faf8f3;
  border: 1px solid var(--esp-line);
  border-bottom: 0;
  border-radius: var(--esp-radius) var(--esp-radius) 0 0;
}

body#next-theme #product-info-body .esp-delivery-estimate__track {
  position: absolute;
  top: 42px;
  right: 17%;
  left: 17%;
  height: 2px;
  background: var(--esp-ink);
}

body#next-theme #product-info-body .esp-delivery-estimate__step {
  position: relative;
  z-index: 1;
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

body#next-theme #product-info-body .esp-delivery-estimate__icon {
  display: grid;
  width: 42px;
  height: 42px;
  margin-bottom: 10px;
  color: #fff;
  background: var(--esp-ink);
  border: 4px solid #faf9f5;
  border-radius: 50%;
  place-items: center;
}

body#next-theme #product-info-body .esp-delivery-estimate__icon svg {
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

body#next-theme #product-info-body .esp-delivery-estimate__step strong {
  color: var(--esp-ink);
  font-size: 13px;
  line-height: 1.25;
  white-space: nowrap;
}

body#next-theme #product-info-body .esp-delivery-estimate__step > span:last-child {
  margin-top: 4px;
  color: var(--esp-ink-soft);
  font-size: 12px;
  line-height: 1.3;
}

body#next-theme #product-info-body .esp-delivery-estimate__note {
  grid-column: 1 / -1;
  margin: 3px 0 0;
  padding-top: 13px;
  color: var(--esp-ink-soft);
  font-size: 12px;
  font-weight: 600;
  text-align: center;
  border-top: 1px solid var(--esp-line);
}

body#next-theme #product-info-body .product-info__btn .button {
  min-height: 54px;
  border-radius: var(--esp-radius-sm);
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.03em;
}

body#next-theme #product-info-body .pd-info-atc-btn {
  background: var(--esp-olive);
  border-color: var(--esp-olive);
  color: #fff;
}

body#next-theme #product-info-body .pd-info-atc-btn:hover {
  background: var(--esp-olive-dark);
  border-color: var(--esp-olive-dark);
  box-shadow: 0 10px 26px rgba(98, 108, 0, 0.2);
}

body#next-theme #product-info-body .pd-info-buy-now-btn {
  background: var(--esp-ink);
  border-color: var(--esp-ink);
  color: #fff;
}

body#next-theme #product-info-body .pd-info-buy-now-btn:hover {
  background: #303229;
  border-color: #303229;
  box-shadow: 0 10px 26px rgba(22, 23, 18, 0.16);
}

body#next-theme #product-info-body .product-info-selling-proposition {
  margin-block: 0;
}

body#next-theme #product-info-body .selling-proposition-card {
  gap: 4px;
  padding: 10px 16px;
  background: #faf8f3;
  border: 0;
  border-right: 1px solid var(--esp-line);
  border-left: 1px solid var(--esp-line);
  border-radius: 0;
  box-shadow: none;
  transition: border-color 180ms ease, transform 180ms ease;
}

body#next-theme #product-info-body .block-container:has(.product-info-selling-proposition) + .block-container:has(.product-info-selling-proposition) {
  margin-top: -1px;
}

body#next-theme #product-info-body .product-info-body-inner > .block-container:has(> .product-info-selling-proposition):not(:has(~ .block-container .selling-proposition-card)) .selling-proposition-card {
  border-bottom: 1px solid var(--esp-line);
  border-radius: 0 0 var(--esp-radius) var(--esp-radius);
}

body#next-theme #product-info-body .block-container:has(.product-info-selling-proposition):only-child .selling-proposition-card {
  border-radius: var(--esp-radius);
}

@media (min-width: 960px) {
  body#next-theme .pd_detail {
    align-items: flex-start;
    gap: clamp(44px, 5vw, 82px);
    max-width: 1280px;
    margin-inline: auto;
    padding-top: 38px;
  }

  body#next-theme .pd_detail > .product_info_group {
    padding-top: 0;
  }

  body#next-theme #product-info-body {
    top: 84px;
  }

  body#next-theme #product-info-body .product-info-body-inner > .block-container:first-child {
    margin-bottom: 6px;
  }

  body#next-theme #product-info-body .pd-info-cur-stock {
    margin: 16px 0 !important;
  }
}

body#next-theme #product-info-body .selling-proposition-card:hover {
  transform: none;
}

body#next-theme #product-info-body .selling-proposition__icon {
  color: var(--esp-olive-dark);
}

body#next-theme #product-info-body .selling-proposition-title {
  color: var(--esp-ink);
  font-weight: 700;
}

body#next-theme #product-info-body .selling-proposition-desc {
  margin-top: 1px;
  color: var(--esp-ink-soft);
  line-height: 1.4;
}

body#next-theme #product-info-body .pd-info-desc-group {
  margin-block: 26px 0;
  padding-top: 24px;
  border-top: 1px solid var(--esp-line);
}

/* The description sits inside the purchase card; avoid a card inside a card. */
body#next-theme #product-info-body .pd-info-desc-wrap,
body#next-theme #product-info-body .product-desc-accordion,
body#next-theme #product-info-body .product-desc-tabs {
  overflow: visible;
  background: transparent;
  border: 0;
  border-radius: 0;
}

body#next-theme #product-info-body .product-desc-item-header,
body#next-theme #product-info-body .product-desc-tabs-list {
  min-height: auto;
  padding: 0 0 14px;
  border: 0;
}

body#next-theme #product-info-body .product-desc-item-header h1,
body#next-theme #product-info-body .product-desc-item-header h2,
body#next-theme #product-info-body .product-desc-item-header h3,
body#next-theme #product-info-body .product-desc-item-header h4,
body#next-theme #product-info-body .product-desc-item-header h5,
body#next-theme #product-info-body .product-desc-item-header h6 {
  font-size: 20px;
  line-height: 1.25;
  letter-spacing: -0.02em;
}

body#next-theme #product-info-body .product-desc-item-content,
body#next-theme #product-info-body .product-desc-tabs [role="tabpanel"] {
  padding: 0;
  color: var(--esp-ink-soft);
  font-size: 14px;
  line-height: 1.7;
  border: 0;
}

body#next-theme #product-info-body .product-desc-item-content::after,
body#next-theme #product-info-body .product-desc-tabs [role="tabpanel"]::after {
  display: none;
}

body#next-theme .product-recommend-carousel__products,
body#next-theme .product-list-2__products {
  padding-block: 6px 22px;
}

@media (max-width: 959.98px) {
  body#next-theme .header-layout .header__logo-content {
    position: absolute !important;
    top: 50%;
    left: 50%;
    z-index: 2;
    transform: translate(-50%, -50%);
  }

  body#next-theme #product-info-body .atlas-variant-button.has-thumbnail .pd-info-variants-item__option__label {
    width: 58px;
    height: 58px;
    min-width: 58px;
  }

  body#next-theme .pd_detail {
    align-items: stretch;
    gap: 18px;
    padding-top: 0;
  }

  body#next-theme .pd_detail .product-images-group,
  body#next-theme .pd_detail .product-images-group-inner,
  body#next-theme .pd_detail .product-images-container,
  body#next-theme .pd_detail .product-detail__image-mobile,
  body#next-theme .pd_detail .pd-carousel-wrap,
  body#next-theme .pd_detail .pd-images-carousel {
    width: 100%;
    min-width: 0;
  }

  body#next-theme .pd_detail .product-images-group {
    width: calc(100% - 10px);
    margin: 15px 5px 0;
    padding: 0 !important;
  }

  body#next-theme .pd_detail .product-detail__image-mobile {
    margin-inline: 0 !important;
  }

  body#next-theme .pd-images-mobile,
  body#next-theme .product-detail__image-mobile,
  body#next-theme .pd-images-carousel-common {
    overflow: hidden;
    border-radius: 0 0 var(--esp-radius-lg) var(--esp-radius-lg);
  }

  body#next-theme .product-detail__thumbnails-container {
    width: 100%;
    margin-top: 12px;
    overflow: hidden;
  }

  body#next-theme .product-detail__thumbnails-container .pd-thumb-image-list {
    gap: 10px;
    padding: 2px 5px 6px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
  }

  body#next-theme .product-detail__thumbnails-container .pd-thumb-image-list::-webkit-scrollbar {
    display: none;
  }

  body#next-theme .product-detail__thumbnails-container .pd-thumb-image-list .pd-thumb-image {
    width: 68px;
    height: 68px;
    overflow: hidden;
    background: #f4f2ed;
    border: 1px solid transparent;
    border-radius: 10px;
    scroll-snap-align: start;
  }

  body#next-theme .product-detail__thumbnails-container .pd-thumb-image spz-img {
    width: 100%;
    height: 100%;
    overflow: hidden;
    border: 0;
    border-radius: 9px;
  }

  body#next-theme .product-detail__thumbnails-container .pd-thumb-image spz-img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }

  body#next-theme .product-detail__thumbnails-container .pd-thumb-image[selected] {
    border-color: var(--esp-ink);
    box-shadow: 0 0 0 1px var(--esp-ink);
  }

  body#next-theme #product-info-body .product-info-body-inner {
    padding: 18px 18px 26px;
    background: var(--esp-paper);
    border-width: 1px 0;
    border-radius: 0;
    box-shadow: none;
  }

  body#next-theme #product-info-body .pd-info-desc-group {
    margin-top: 22px;
    padding-top: 20px;
  }

  body#next-theme #product-info-body .product-info-body-inner::before {
    display: none;
  }

  body#next-theme #product-info-body .pd-info-title {
    font-size: 27px;
  }

  body#next-theme #product-info-body .esp-product-trust {
    margin-top: 6px;
  }

  body#next-theme #product-info-body .esp-checkout-assurance {
    justify-content: flex-start;
  }

  body#next-theme #product-info-body .esp-payment-card {
    margin-top: 14px;
    padding: 13px 10px;
  }

  body#next-theme #product-info-body .esp-payment-card__title {
    font-size: 14px;
  }

  body#next-theme #product-info-body .esp-payment-card__icons {
    flex-wrap: nowrap;
    gap: 5px;
    overflow-x: auto;
    scrollbar-width: none;
  }

  body#next-theme #product-info-body .esp-payment-card__icons::-webkit-scrollbar {
    display: none;
  }

  body#next-theme #product-info-body .esp-delivery-estimate {
    gap: 5px;
    margin-top: 18px;
    padding: 18px 8px 13px;
  }

  body#next-theme #product-info-body .esp-delivery-estimate__track {
    top: 38px;
  }

  body#next-theme #product-info-body .esp-delivery-estimate__icon {
    width: 40px;
    height: 40px;
    margin-bottom: 8px;
  }

  body#next-theme #product-info-body .esp-delivery-estimate__step strong {
    font-size: 11px;
  }

  body#next-theme #product-info-body .esp-delivery-estimate__step > span:last-child {
    font-size: 10px;
  }

  body#next-theme #product-info-body .product-info__btn .button {
    min-height: 50px;
  }

  body#next-theme #pd-info-atc-btn--sticky,
  body#next-theme .pd-info-atc-btn--sticky {
    height: auto;
    gap: 8px;
    padding: 12px 14px calc(12px + env(safe-area-inset-bottom));
    background: rgba(252, 252, 248, 0.94);
    border-top: 1px solid var(--esp-line);
    box-shadow: 0 -12px 30px rgba(35, 38, 21, 0.08);
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
  }

  body#next-theme .pd-info-atc-btn--sticky .button {
    min-height: 48px;
    border-radius: var(--esp-radius-sm);
  }
}
