/* ============================================================
   Notturno Milano - static landing (COD) - shared stylesheet
   Fonts self-hosted from /assets/fonts
   ============================================================ */

@font-face {
  font-family: "Hanken Grotesk";
  font-style: normal; font-weight: 100 900; font-display: swap;
  src: url("../fonts/hanken-grotesk-latin-v.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Cormorant Garamond";
  font-style: normal; font-weight: 300 700; font-display: swap;
  src: url("../fonts/cormorant-garamond-latin-v.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Mulish";
  font-style: normal; font-weight: 200 1000; font-display: swap;
  src: url("../fonts/mulish-latin-v.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "DM Sans";
  font-style: normal; font-weight: 100 1000; font-display: swap;
  src: url("../fonts/dm-sans-latin-v.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* 04/11 Diretor: letras do polonês, eslovaco e tcheco (ą ę ł ś ž č š ě ř ů ...). As fontes "-latin" só tinham o básico
   e essas letras caíam numa fonte de sistema diferente no meio da palavra. */
@font-face {
  font-family: "Cormorant Garamond";
  font-style: normal; font-weight: 300 700; font-display: swap;
  src: url("../fonts/cormorant-garamond-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "DM Sans";
  font-style: normal; font-weight: 100 1000; font-display: swap;
  src: url("../fonts/dm-sans-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Hanken Grotesk";
  font-style: normal; font-weight: 100 900; font-display: swap;
  src: url("../fonts/hanken-grotesk-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Mulish";
  font-style: normal; font-weight: 200 1000; font-display: swap;
  src: url("../fonts/mulish-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

* { box-sizing: border-box; }
html, body {
  margin: 0; padding: 0;
  overflow-x: hidden; max-width: 100vw;
  font-family: "Hanken Grotesk", "Mulish", Helvetica, Arial, sans-serif;
  color: #211e19;
  background: #f6f1e9;
  -webkit-font-smoothing: antialiased;
}
img, video { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
h1, h2, h3, h4 { margin: 0; font-weight: 600; }
.serif { font-family: "Cormorant Garamond", "Georgia", serif; }

/* ----- header ----- */
.hdr {
  position: sticky; top: 0; z-index: 40;
  background: rgba(244, 239, 230, .88);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid #e4dac8;
}
.hdr-inner {
  width: min(1180px, 92vw); margin: 0 auto;
  display: flex; align-items: center; justify-content: space-between;
  padding: 14px 0;
}
.hdr-logo {
  font-family: "Cormorant Garamond", serif;
  font-size: 24px; font-weight: 600; letter-spacing: .04em;
}
.hdr-logo small {
  display: block; font-family: "Hanken Grotesk", sans-serif;
  font-size: 9.5px; letter-spacing: .25em; color: #7c5f38;
  text-transform: uppercase; margin-top: 2px; font-weight: 600;
}
.hdr-cta {
  background: #211c15; color: #f4efe6;
  border: 0; border-radius: 999px; padding: 10px 20px;
  font-family: "Hanken Grotesk", sans-serif;
  font-size: 13px; font-weight: 700; cursor: pointer;
  text-transform: uppercase; letter-spacing: .06em;
}

/* ----- hero + buy ----- */
.sec-buy {
  width: min(1180px, 92vw); margin: 0 auto;
  padding: clamp(28px, 5vw, 56px) 0 clamp(40px, 6vw, 72px);
  display: flex; flex-wrap: wrap; gap: clamp(28px, 4vw, 56px);
  align-items: flex-start;
}
.hero-img {
  flex: 1 1 420px; min-width: 300px;
  position: relative; aspect-ratio: 1 / 1;
  border-radius: 10px; overflow: hidden;
  background: #e9e0d0;
}
.hero-img > div {
  position: absolute; inset: 0;
  background-size: cover; background-position: center;
}
.hero-badge {
  position: absolute; top: 14px; left: 14px;
  background: rgba(21, 18, 13, .78); color: #e7dcc6;
  font-size: 11px; letter-spacing: .14em; text-transform: uppercase;
  padding: 7px 12px; border-radius: 999px; font-weight: 600;
}

.buy-col { flex: 1 1 380px; min-width: 300px; }
.buy-kicker {
  font-size: 12px; letter-spacing: .22em; text-transform: uppercase;
  color: #9b7a4b; font-weight: 600;
}
.buy-h1 {
  font-family: "Cormorant Garamond", serif;
  font-weight: 600; font-size: clamp(32px, 5.4vw, 56px);
  line-height: 1.04; margin: 14px 0 0; letter-spacing: -.01em;
}
.rating {
  display: flex; align-items: center; gap: 8px;
  margin-top: 14px; color: #5e564a; font-size: 13px;
}
.rating .stars { color: #c8a45c; font-size: 15px; letter-spacing: 1px; }
.buy-p {
  font-size: clamp(15px, 2.4vw, 17px); line-height: 1.7;
  color: #5e564a; margin: 18px 0 0; max-width: 48ch;
}
.bullets { margin: 20px 0 0; padding: 0; list-style: none; }
.bullets li {
  display: flex; gap: 10px; align-items: flex-start;
  font-size: 14.5px; color: #3a342b; margin: 8px 0;
}
.bullets li::before {
  content: "◆"; color: #9b7a4b; font-size: 11px; margin-top: 5px; flex: none;
}

/* color swatches */
.swatches-wrap { margin-top: 24px; }
.swatches-label {
  font-size: 11.5px; letter-spacing: .14em; text-transform: uppercase;
  color: #5e564a; margin-bottom: 10px; font-weight: 600;
}
.swatches { display: flex; flex-wrap: wrap; gap: 12px; }
.swatch {
  width: 42px; height: 42px; border-radius: 999px;
  border: 1px solid rgba(0,0,0,.14); padding: 0; cursor: pointer;
  position: relative; background: transparent;
}
.swatch.active { outline: 2px solid #211c15; outline-offset: 2px; }

/* size options */
.sizes { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 10px; }
.size-opt {
  flex: 1 1 110px; min-width: 100px;
  border: 1.5px solid #d8ccb4; background: #faf6ee;
  padding: 12px 14px; border-radius: 8px; cursor: pointer;
  font-family: inherit; text-align: left;
}
.size-opt.active { border-color: #211c15; background: #fff; }
.size-opt-name { font-weight: 700; font-size: 14px; }
.size-opt-sub { font-size: 11.5px; color: #7a7265; margin-top: 2px; }

/* qty cards */
.qty-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 10px; }
.qty-card {
  border: 1.5px solid #d8ccb4; background: #faf6ee;
  border-radius: 8px; padding: 12px 14px; cursor: pointer;
  text-align: left; font-family: inherit; position: relative;
}
.qty-card.active { border-color: #211c15; background: #fff; }
.qty-card-tag {
  position: absolute; top: -9px; left: 10px;
  background: #211c15; color: #f4efe6;
  font-size: 10px; letter-spacing: .08em; font-weight: 700;
  padding: 3px 8px; border-radius: 4px; text-transform: uppercase;
}
.qty-card-name { font-weight: 700; font-size: 14px; }
.qty-card-sub { font-size: 11.5px; color: #7a7265; margin-top: 2px; }
.qty-card-price { margin-top: 6px; font-weight: 700; color: #211c15; }
.qty-card-price del { color: #a89b84; font-weight: 400; margin-right: 6px; }

/* price */
.price-row {
  display: flex; align-items: baseline; gap: 10px; margin-top: 24px;
}
.price-now { font-size: 32px; font-weight: 700; color: #211c15; }
.price-old { font-size: 18px; color: #a89b84; text-decoration: line-through; }
.price-save {
  margin-left: auto;
  background: #e8d9b8; color: #5c4820;
  font-size: 11px; font-weight: 700; letter-spacing: .08em;
  padding: 4px 10px; border-radius: 4px; text-transform: uppercase;
}
.price-sub { font-size: 12.5px; color: #7a7265; margin-top: 4px; }

/* main CTA */
.cta-main {
  margin-top: 18px; width: 100%; border: none;
  background: #211c15; color: #f4efe6;
  font-family: inherit; font-weight: 700;
  font-size: 15px; letter-spacing: .08em; text-transform: uppercase;
  padding: 17px 22px; border-radius: 6px; cursor: pointer;
  display: block; text-align: center;
}
.cta-main:hover { background: #15120d; }
.cta-sub {
  font-size: 12.5px; color: #5e564a; text-align: center; margin: 10px 0 0;
}

/* trust strip */
.trust-strip {
  background: #faf6ee;
  border-top: 1px solid #e4dac8; border-bottom: 1px solid #e4dac8;
}
.trust-strip-inner {
  width: min(1180px, 92vw); margin: 0 auto;
  display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 20px; padding: 28px 0;
}
.trust-item {
  display: flex; flex-direction: column; gap: 4px;
  padding: 0 8px; text-align: left;
}
.trust-item .label { font-size: 12.5px; font-weight: 700; color: #211c15; }
.trust-item .sub { font-size: 12px; color: #7a7265; }

/* generic section */
.sec {
  width: min(1180px, 92vw); margin: 0 auto;
  padding: clamp(48px, 7vw, 84px) 0;
}
.sec-narrow { width: min(1080px, 92vw); }
.sec-tiny { width: min(880px, 92vw); }
.sec-dark { background: #15120d; color: #e7dcc6; }
.sec-light-bg { background: #faf6ee; border-top: 1px solid #e4dac8; border-bottom: 1px solid #e4dac8; }
.sec-head { text-align: center; max-width: 56ch; margin: 0 auto 36px; }
.kicker {
  font-size: 12px; letter-spacing: .22em; text-transform: uppercase;
  color: #9b7a4b; font-weight: 600;
}
.sec-dark .kicker { color: #b89a68; }
.h2 {
  font-family: "Cormorant Garamond", serif;
  font-weight: 600; font-size: clamp(28px, 4.6vw, 46px);
  line-height: 1.1; margin: 14px 0 0;
}
.sec-head p {
  font-size: clamp(15px, 2.2vw, 17px); color: #5e564a;
  margin: 18px auto 0; line-height: 1.7;
}
.sec-dark .sec-head p { color: #c6b89a; }

/* UGC strip */
.ugc-strip {
  width: min(1180px, 92vw); margin: 0 auto;
  display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 18px; padding: clamp(40px, 6vw, 72px) 0;
}
.ugc-card {
  background: #fff; border: 1px solid #e4dac8; border-radius: 10px;
  overflow: hidden;
}
.ugc-card img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.ugc-card-body { padding: 14px 16px 16px; }
.ugc-card-name { font-weight: 700; font-size: 13.5px; }
.ugc-card-meta { color: #7a7265; font-size: 11.5px; margin-top: 2px; }
.ugc-card-quote { font-size: 13.5px; color: #3a342b; margin-top: 10px; line-height: 1.5; }
.ugc-card-stars { color: #c8a45c; font-size: 12px; letter-spacing: 1px; margin-top: 8px; }

/* big quote */
.bigquote { text-align: center; }
.bigquote blockquote {
  font-family: "Cormorant Garamond", serif;
  font-weight: 500; font-size: clamp(26px, 4.2vw, 40px);
  line-height: 1.25; margin: 18px 0 0; color: #211c15;
  font-style: italic; letter-spacing: -.005em;
}
.bigquote .by {
  margin-top: 24px; font-size: 13.5px; color: #7a7265;
}

/* problem list */
.prob-list { max-width: 60ch; margin: 36px auto 0; padding: 0; list-style: none; }
.prob-list li {
  display: flex; gap: 14px; align-items: flex-start;
  padding: 14px 0; border-top: 1px solid #34291a;
  font-size: 15px; color: #c6b89a; line-height: 1.55;
}
.prob-list li:last-child { border-bottom: 1px solid #34291a; }
.prob-list li::before {
  content: "✕"; color: #e07a5f; font-weight: 700;
  font-size: 15px; margin-top: 1px; flex: none;
}

/* compare slider */
.compare {
  position: relative; width: 100%; aspect-ratio: 16 / 10;
  border-radius: 10px; overflow: hidden; background: #000;
  user-select: none;
}
.compare .layer {
  position: absolute; inset: 0;
  background-size: cover; background-position: center;
}
.compare .layer-top { clip-path: inset(0 50% 0 0); }
.compare input[type=range] {
  position: absolute; inset: 0; width: 100%; height: 100%;
  margin: 0; opacity: 0; cursor: ew-resize;
}
.compare-handle {
  position: absolute; top: 0; bottom: 0; left: 50%;
  width: 2px; background: #fff; pointer-events: none;
  box-shadow: 0 0 12px rgba(0,0,0,.4);
}
.compare-handle::after {
  content: "⇄"; position: absolute; top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  background: #fff; color: #211c15;
  width: 36px; height: 36px; border-radius: 999px;
  display: flex; align-items: center; justify-content: center;
  font-weight: 700; font-size: 15px;
}
.compare-lbl {
  position: absolute; top: 14px;
  background: rgba(21,18,13,.72); color: #e7dcc6;
  font-size: 10.5px; letter-spacing: .14em; font-weight: 700;
  padding: 5px 11px; border-radius: 999px; text-transform: uppercase;
}
.compare-lbl.left { left: 14px; }
.compare-lbl.right { right: 14px; background: rgba(195,160,88,.9); color: #15120d; }
.compare-caption {
  text-align: center; color: #5e564a; font-size: 13.5px;
  margin-top: 14px; max-width: 60ch; margin-left: auto; margin-right: auto;
}

/* feature grid */
.feats { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 20px; }
.feat {
  position: relative; border-radius: 12px; overflow: hidden;
  min-height: 420px; display: flex; flex-direction: column; justify-content: flex-end;
  color: #fff; padding: 24px; isolation: isolate;
}
.feat::before {
  content: ""; position: absolute; inset: 0; z-index: -2;
  background-size: cover; background-position: center;
}
.feat::after {
  content: ""; position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(0deg, rgba(0,0,0,.78) 0%, rgba(0,0,0,.1) 55%, rgba(0,0,0,0) 100%);
}
.feat-num {
  font-family: "Cormorant Garamond", serif; font-weight: 600;
  font-size: 54px; color: rgba(255,255,255,.95); line-height: 1;
  text-shadow: 0 2px 12px rgba(0,0,0,.4);
}
.feat h3 {
  font-family: "Cormorant Garamond", serif; font-weight: 600;
  font-size: 23px; margin: 10px 0 8px; line-height: 1.15;
}
.feat p { font-size: 14.5px; line-height: 1.6; color: rgba(255,255,255,.9); margin: 0; }

/* video block */
.video-wrap {
  position: relative; width: 100%; aspect-ratio: 16 / 10;
  border-radius: 12px; overflow: hidden; background: #000;
}
.video-wrap video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }

/* timeline */
.timeline { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 20px; }
.tl-card {
  background: #fff; border: 1px solid #e4dac8; border-radius: 12px;
  overflow: hidden;
}
.tl-img { position: relative; aspect-ratio: 4 / 3; }
.tl-img > div { position: absolute; inset: 0; background-size: cover; background-position: center; }
.tl-chip {
  position: absolute; top: 12px; left: 12px;
  background: #211c15; color: #f4efe6;
  font-size: 11px; font-weight: 700; letter-spacing: .06em;
  padding: 5px 12px; border-radius: 999px;
}
.tl-body { padding: 20px 22px 24px; }
.tl-body h3 { font-family: "Cormorant Garamond", serif; font-weight: 600; font-size: 21px; }
.tl-body p { font-size: 14px; line-height: 1.6; color: #5e564a; margin: 8px 0 0; }

/* pure silk section (sede) */
.puresilk { display: flex; flex-wrap: wrap; gap: clamp(24px, 4vw, 56px); align-items: center; }
.puresilk-txt { flex: 1 1 280px; min-width: 260px; }
.puresilk-img { flex: 1 1 320px; min-width: 280px; aspect-ratio: 4 / 3; border-radius: 12px; background-size: cover; background-position: center; }
.badge-list { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 20px; }
.badge-item {
  display: flex; align-items: center; gap: 10px;
  padding: 13px 15px; border: 1px solid #e4dac8;
  border-radius: 8px; background: #fff; color: #3a342b;
  font-size: 13.5px;
}

/* gift section */
.gift { display: flex; flex-wrap: wrap; gap: clamp(24px, 4vw, 56px); align-items: center; }
.gift-img { flex: 1 1 300px; aspect-ratio: 4 / 3; border-radius: 12px; background-size: cover; background-position: center; }
.gift-txt { flex: 1 1 280px; }
.gift-list { margin: 20px 0; padding: 0; list-style: none; }
.gift-list li { font-size: 14.5px; color: #3a342b; margin: 8px 0; display: flex; gap: 10px; }
.gift-list li::before { content: "✓"; color: #9b7a4b; font-weight: 700; }

/* band hero */
.band {
  position: relative; height: clamp(360px, 52vw, 560px); overflow: hidden;
}
.band > div { position: absolute; inset: 0; background-size: cover; background-position: center; }
.band::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,.35) 0%, rgba(0,0,0,.45) 100%);
}
.band-inner {
  position: relative; z-index: 2; display: flex; flex-direction: column;
  align-items: center; justify-content: center; text-align: center;
  width: min(820px, 92vw); margin: 0 auto; height: 100%; padding: 0 20px;
  color: #fff;
}
.band-inner h2 {
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(30px, 5vw, 50px); line-height: 1.08; margin: 14px 0 0;
}

/* ugc wall */
.ugcwall { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; }
.ugcwall-card { position: relative; border-radius: 12px; overflow: hidden; aspect-ratio: 9 / 16; background: #000; }
.ugcwall-card video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }

/* story section */
.story { display: flex; flex-wrap: wrap; gap: clamp(24px, 4vw, 56px); align-items: center; }
.story-txt { flex: 1 1 280px; }
.story-img { flex: 1 1 320px; aspect-ratio: 4 / 3; border-radius: 12px; background-size: cover; background-position: center; }

/* comparison table */
.cmp-table {
  width: 100%; max-width: 820px; margin: 36px auto 0;
  border: 1px solid #34291a; border-radius: 10px; overflow: hidden;
  display: grid; grid-template-columns: 2fr 1fr 1fr 1fr;
  font-size: 14px;
}
.cmp-table > div {
  padding: 14px 14px; border-top: 1px solid #34291a; border-right: 1px solid #34291a;
  color: #d8cbb2;
}
.cmp-table > div:nth-child(-n+4) { background: #1d1810; border-top: 0; font-weight: 700; }
.cmp-table > div:nth-child(4n+2),
.cmp-table > div:nth-child(4n+3),
.cmp-table > div:nth-child(4n) {
  text-align: center;
}
.cmp-table > div:nth-child(4n+2) { background: rgba(124,95,56,.14); color: #e7dcc6; font-weight: 700; }
.cmp-table > div:nth-child(4n) { border-right: 0; }
.cmp-check { color: #c8a45c; font-weight: 700; }
.cmp-x { color: #8a7c63; }

/* 3 steps "order today" */
.steps {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 20px; margin-top: 36px;
}
.step {
  background: #fff; border: 1px solid #e4dac8; border-radius: 12px;
  padding: 24px 22px;
}
.step .num {
  display: inline-flex; align-items: center; justify-content: center;
  width: 42px; height: 42px; border-radius: 999px;
  border: 1px solid #cdbfa3; color: #7c5f38;
  font-family: "Cormorant Garamond", serif; font-size: 21px; font-weight: 600;
}
.step h3 { font-family: "Cormorant Garamond", serif; font-weight: 600; font-size: 21px; margin: 12px 0 8px; }
.step p { font-size: 14px; line-height: 1.6; color: #5e564a; margin: 0; }

/* 30-day guarantee circle */
.guarantee { text-align: center; }
.guarantee .circle {
  width: 90px; height: 90px; border-radius: 999px;
  border: 1px solid #cdbfa3; display: flex; align-items: center; justify-content: center;
  font-family: "Cormorant Garamond", serif; font-size: 30px; color: #7c5f38;
  margin: 0 auto;
}

/* FAQ */
.faq { max-width: 820px; margin: 0 auto; }
.faq details {
  border-top: 1px solid #e4dac8; padding: 20px 0;
}
.faq details:last-of-type { border-bottom: 1px solid #e4dac8; }
.faq summary {
  display: flex; justify-content: space-between; align-items: center;
  cursor: pointer; list-style: none;
  font-family: "Cormorant Garamond", serif; font-size: 20px; font-weight: 600; color: #211c15;
}
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after {
  content: "+"; font-size: 24px; color: #9b7a4b; font-weight: 400;
  transition: transform .2s;
}
.faq details[open] summary::after { content: "–"; }
.faq .ans { padding-top: 14px; font-size: 14.5px; line-height: 1.7; color: #5e564a; }

/* big dark CTA */
.bigcta { text-align: center; }
.bigcta h2 {
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(32px, 5.4vw, 56px); line-height: 1.06; margin: 18px 0 0;
  color: #f4efe6;
}
.bigcta .cta {
  display: inline-block; margin-top: 28px;
  background: #e7dcc6; color: #15120d;
  padding: 16px 32px; border-radius: 6px;
  font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
  font-size: 14px;
}

/* footer */
.ft { background: #0f0c08; color: #8a7c63; }
.ft-inner {
  width: min(1180px, 92vw); margin: 0 auto;
  padding: 48px 0 40px;
  display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 26px;
}
.ft h4 { color: #d8cbb2; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; margin-bottom: 12px; }
.ft a, .ft p { font-size: 13px; line-height: 1.9; color: #8a7c63; }
.ft-bottom {
  border-top: 1px solid #1a150e; padding: 18px 0;
  text-align: center; font-size: 12px; color: #6a5f4b;
}

/* ============================================================
   CHECKOUT (COD) form
   ============================================================ */
.checkout {
  background: #fff; border: 1px solid #e4dac8; border-radius: 14px;
  padding: clamp(24px, 4vw, 40px);
  width: min(760px, 92vw); margin: 0 auto;
}
.checkout h2 {
  font-family: "Cormorant Garamond", serif; font-weight: 600;
  font-size: clamp(28px, 4.2vw, 40px); margin: 0 0 8px;
}
.checkout .lead {
  font-size: 14.5px; color: #5e564a; margin: 0 0 24px;
}
.co-row { display: grid; gap: 14px; }
.co-row.cols-2 { grid-template-columns: 1fr 1fr; }
.co-row.cols-3 { grid-template-columns: 2fr 1fr 1fr; }
@media (max-width: 560px) { .co-row.cols-2, .co-row.cols-3 { grid-template-columns: 1fr; } }

.co-field { display: flex; flex-direction: column; gap: 6px; }
.co-field label {
  font-size: 12px; letter-spacing: .08em; text-transform: uppercase;
  color: #5e564a; font-weight: 700;
}
.co-field input,
.co-field select,
.co-field textarea {
  font-family: inherit; font-size: 15px; color: #211e19;
  padding: 12px 14px; border: 1.5px solid #d8ccb4; border-radius: 8px;
  background: #faf6ee; outline: none;
}
.co-field input:focus,
.co-field select:focus,
.co-field textarea:focus { border-color: #211c15; background: #fff; }
.co-field .hint { font-size: 11.5px; color: #7a7265; }
.co-field.err input,
.co-field.err select,
.co-field.err textarea { border-color: #c0392b; background: #fff8f6; }
.co-field.err .hint { color: #c0392b; }

.co-cta {
  margin-top: 24px; width: 100%; border: 0;
  background: #211c15; color: #f4efe6;
  padding: 18px 20px; border-radius: 6px;
  font-family: inherit; font-weight: 700; font-size: 15px;
  letter-spacing: .08em; text-transform: uppercase; cursor: pointer;
}
.co-cta:disabled { opacity: .6; cursor: wait; }
.co-note {
  margin-top: 16px; font-size: 13px; color: #5e564a; text-align: center;
}
.co-msg {
  margin-top: 16px; padding: 12px 14px; border-radius: 6px;
  font-size: 14px; display: none;
}
.co-msg.ok { background: #e8f3e9; color: #1e5631; display: block; }
.co-msg.ko { background: #fde8e4; color: #7a1a0d; display: block; }

/* COD banner inside checkout */
.cod-banner {
  background: #faf6ee; border: 1px solid #e4dac8; border-radius: 10px;
  padding: 14px 16px; margin-bottom: 20px;
  font-size: 14px; color: #3a342b; line-height: 1.55;
}
.cod-banner strong { color: #211c15; }

/* summary panel */
.co-summary {
  margin: 20px 0; background: #faf6ee; border: 1px solid #e4dac8;
  border-radius: 10px; padding: 16px 18px; font-size: 14px;
}
.co-summary .row { display: flex; justify-content: space-between; padding: 6px 0; }
.co-summary .total { font-weight: 700; font-size: 17px; color: #211c15; border-top: 1px solid #e4dac8; margin-top: 6px; padding-top: 10px; }

/* thank you page */
.thanks {
  min-height: 100vh; display: flex; align-items: center; justify-content: center;
  padding: 40px 20px; text-align: center;
}
.thanks-card {
  background: #fff; border: 1px solid #e4dac8; border-radius: 14px;
  padding: 48px 36px; max-width: 560px;
}
.thanks-card .check {
  width: 72px; height: 72px; border-radius: 999px;
  background: #e8f3e9; color: #1e5631; margin: 0 auto 20px;
  display: flex; align-items: center; justify-content: center;
  font-size: 36px; font-weight: 700;
}
.thanks-card h1 {
  font-family: "Cormorant Garamond", serif; font-weight: 600;
  font-size: clamp(28px, 4.6vw, 42px); margin: 0 0 14px;
}
.thanks-card p { color: #5e564a; line-height: 1.7; margin: 0 0 10px; }
.thanks-card .back {
  display: inline-block; margin-top: 24px;
  background: #211c15; color: #f4efe6;
  padding: 14px 26px; border-radius: 6px;
  font-weight: 700; text-transform: uppercase; letter-spacing: .08em; font-size: 13px;
}

/* language picker (root) */
.langs {
  min-height: 100vh; display: flex; align-items: center; justify-content: center;
  padding: 40px 20px; background: #f6f1e9;
}
.langs-card {
  background: #fff; border: 1px solid #e4dac8; border-radius: 14px;
  padding: 48px 40px; max-width: 520px; width: 100%; text-align: center;
}
.langs-card h1 { font-family: "Cormorant Garamond", serif; font-weight: 600; font-size: 36px; margin: 0 0 8px; }
.langs-card p { color: #7a7265; margin: 0 0 28px; }
.langs-list { display: grid; gap: 12px; }
.langs-list a {
  display: flex; align-items: center; justify-content: space-between;
  padding: 16px 20px; border: 1.5px solid #d8ccb4; border-radius: 8px;
  background: #faf6ee; font-weight: 700; font-size: 15px;
  transition: all .15s;
}
.langs-list a:hover { border-color: #211c15; background: #fff; }
.langs-list a .arrow { color: #9b7a4b; font-size: 18px; }

/* responsive polish */
@media (max-width: 760px) {
  .sec-buy { padding: 20px 0 40px; }
  .hero-img { aspect-ratio: 4 / 5; }
  .trust-strip-inner { padding: 18px 0; }
  .ft-inner { padding: 36px 0 24px; }
}

/* ----- gallery (hero with thumbnails) ----- */
.hero-gallery {
  flex: 1 1 420px; min-width: 300px;
}
.hero-main {
  position: relative; aspect-ratio: 1 / 1;
  border-radius: 10px; overflow: hidden;
  background: #e9e0d0;
}
.hero-main img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover; display: block;
  transition: opacity .18s ease;
}
.hero-main.is-swap img { opacity: 0; }

.hero-thumbs {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 10px; margin-top: 10px;
}
.hero-thumb {
  padding: 0; border: 2px solid transparent;
  border-radius: 8px; background: #e9e0d0;
  cursor: pointer; overflow: hidden;
  aspect-ratio: 1 / 1; position: relative;
}
.hero-thumb img {
  width: 100%; height: 100%;
  display: block; object-fit: cover;
}
.hero-thumb.is-active { border-color: #211c15; }
.hero-thumb:hover { border-color: #9b7a4b; }
.hero-thumb:focus-visible { outline: 2px solid #7c5f38; outline-offset: 2px; }

@media (max-width: 640px) {
  .hero-thumbs { gap: 6px; }
}

/* origin badge (silk origin, EU warehouse shipping) */
.origin-badge {
  display: inline-flex; align-items: center; gap: 10px;
  margin-top: 14px; font-size: 12.5px; color: #4a4337;
  padding: 7px 12px; border: 1px solid #e4dac8; border-radius: 999px;
  background: #faf6ee; font-weight: 600;
  letter-spacing: .01em;
}
.origin-badge .flag-it {
  width: 18px; height: 12px; display: inline-block;
  border-radius: 2px; overflow: hidden; flex: none;
  background: linear-gradient(to right,
    #008c45 0 33.33%, #ffffff 33.33% 66.66%, #cd212a 66.66% 100%);
  box-shadow: 0 0 0 1px rgba(0,0,0,.08) inset;
}

/* ============================================================
   MODAL POPUP (Releasit-style COD form)
   The in-page #checkout section is hidden — buy CTAs open the modal.
   ============================================================ */
#checkout { display: none !important; }

.nt-modal {
  position: fixed; inset: 0; z-index: 9999;
  display: none;
}
.nt-modal.is-open { display: block; }

.nt-modal-backdrop {
  position: absolute; inset: 0;
  background: rgba(21,18,13,.62);
  animation: nt-fade .18s ease-out;
  cursor: pointer;
}
@keyframes nt-fade { from { opacity: 0 } to { opacity: 1 } }
@keyframes nt-slide-up {
  from { transform: translate(-50%, calc(-50% + 20px)); opacity: 0 }
  to { transform: translate(-50%, -50%); opacity: 1 }
}

.nt-modal-dialog {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: min(560px, 92vw); max-height: 92vh;
  background: #fff; border-radius: 14px; overflow: hidden;
  display: flex; flex-direction: column;
  box-shadow: 0 24px 60px rgba(0,0,0,.4);
  animation: nt-slide-up .22s ease-out;
}
@media (max-width: 600px) {
  .nt-modal-dialog {
    top: 0; left: 0; right: 0; bottom: 0;
    transform: none; width: 100%; max-height: 100vh; height: 100vh;
    border-radius: 0;
    animation: nt-fade .2s ease-out;
  }
}
.nt-modal-close {
  position: absolute; top: 10px; right: 12px; z-index: 2;
  width: 36px; height: 36px; border-radius: 999px;
  background: rgba(255,255,255,.95); color: #211c15;
  border: 1px solid #e4dac8; font-size: 24px; line-height: 1;
  cursor: pointer; display: flex; align-items: center; justify-content: center;
  padding: 0; font-family: Arial, sans-serif;
}
.nt-modal-close:hover { background: #fff; border-color: #211c15; }

.nt-modal-body {
  flex: 1; overflow-y: auto;
  padding: 22px 22px 28px;
  -webkit-overflow-scrolling: touch;
}
@media (max-width: 600px) {
  .nt-modal-body { padding: 18px 18px 28px; }
}

.nt-step { display: none; }

/* product header */
.nt-prod {
  display: flex; gap: 14px; align-items: center;
  padding: 0 0 16px; border-bottom: 1px solid #ece3d1;
  margin-right: 44px; /* space for close btn */
}
.nt-prod img {
  width: 68px; height: 68px; object-fit: cover;
  border-radius: 8px; background: #faf6ee; flex: none;
  border: 1px solid #e4dac8;
}
.nt-prod-title {
  font-family: "Cormorant Garamond", serif;
  font-size: 20px; font-weight: 600; line-height: 1.15;
  color: #211c15;
}
.nt-prod-sub {
  font-size: 12px; color: #7a7265; margin-top: 4px;
  letter-spacing: .02em;
}

/* section label */
.nt-section-label {
  font-size: 11.5px; letter-spacing: .14em; text-transform: uppercase;
  color: #5e564a; font-weight: 700; margin: 20px 0 10px;
}

/* offers */
.nt-offers { display: grid; gap: 10px; }
.nt-offer {
  position: relative; display: flex; align-items: center; gap: 12px;
  padding: 14px 14px 14px 14px;
  border: 1.5px solid #d8ccb4; background: #faf6ee;
  border-radius: 10px; cursor: pointer;
  font-family: inherit; text-align: left; width: 100%;
}
.nt-offer:hover { border-color: #b89a68; }
.nt-offer.is-active { border-color: #211c15; background: #fff; box-shadow: 0 2px 0 rgba(33,28,21,.06); }
.nt-offer.is-best { border-color: #c8a45c; }
.nt-offer.is-best.is-active { border-color: #211c15; }
.nt-offer-radio {
  width: 20px; height: 20px; border-radius: 999px;
  border: 2px solid #c7bba3; flex: none; position: relative; background: #fff;
}
.nt-offer.is-active .nt-offer-radio { border-color: #211c15; }
.nt-offer.is-active .nt-offer-radio::after {
  content: ""; position: absolute; inset: 3px;
  background: #211c15; border-radius: 999px;
}
.nt-offer-main { flex: 1; min-width: 0; }
.nt-offer-name { font-weight: 700; font-size: 14.5px; color: #211c15; }
.nt-offer-sub { font-size: 11.5px; color: #7a7265; margin-top: 2px; line-height: 1.3; }
.nt-offer-price { text-align: right; flex: none; display: flex; flex-direction: column; align-items: flex-end; gap: 2px; }
.nt-offer-total { font-weight: 700; font-size: 15.5px; color: #211c15; white-space: nowrap; }
.nt-offer-old { font-size: 12px; color: #a89b84; text-decoration: line-through; }
.nt-offer-save {
  display: inline-block; font-size: 10.5px; color: #5c4820;
  background: #e8d9b8; padding: 2px 7px; border-radius: 4px;
  font-weight: 700; letter-spacing: .04em;
}
.nt-offer-tag {
  position: absolute; top: -9px; left: 12px;
  background: #c8a45c; color: #15120d;
  font-size: 10px; font-weight: 700; letter-spacing: .08em;
  padding: 3px 8px; border-radius: 4px; text-transform: uppercase;
}

/* form fields */
.nt-form { margin-top: 6px; }
.nt-row { display: grid; gap: 12px; margin-top: 12px; }
.nt-row.cols-2 { grid-template-columns: 1fr 1fr; }
.nt-row.cols-3 { grid-template-columns: 2fr 1fr 1fr; }
@media (max-width: 520px) {
  .nt-row.cols-2, .nt-row.cols-3 { grid-template-columns: 1fr; }
}
.nt-field { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.nt-field label {
  font-size: 11.5px; letter-spacing: .06em; text-transform: uppercase;
  color: #5e564a; font-weight: 700;
}
.nt-field input,
.nt-field textarea {
  font-family: inherit; font-size: 15px; color: #211e19;
  padding: 11px 12px; border: 1.5px solid #d8ccb4; border-radius: 8px;
  background: #faf6ee; outline: none;
  width: 100%; box-sizing: border-box;
}
.nt-field input:focus,
.nt-field textarea:focus { border-color: #211c15; background: #fff; }
.nt-field .hint { font-size: 11px; color: #7a7265; }
.nt-field.err input,
.nt-field.err textarea { border-color: #c0392b; background: #fff8f6; }
.nt-field.err .hint { color: #c0392b; }
.nt-field textarea { resize: vertical; min-height: 56px; }

/* summary */
.nt-summary {
  margin-top: 20px; padding: 14px 16px;
  background: #faf6ee; border: 1px solid #e4dac8; border-radius: 10px;
  font-size: 14px;
}
.nt-summary .row { display: flex; justify-content: space-between; gap: 10px; padding: 4px 0; }
.nt-summary .row.total {
  border-top: 1px solid #e4dac8; margin-top: 6px; padding-top: 10px;
  font-weight: 700; font-size: 17px; color: #211c15;
}

/* main CTA */
.nt-cta {
  display: block; width: 100%; margin-top: 16px;
  background: #211c15; color: #f4efe6; border: 0;
  padding: 16px 20px; border-radius: 8px;
  font-family: inherit; font-weight: 700; font-size: 15px;
  letter-spacing: .06em; text-transform: uppercase; cursor: pointer;
}
.nt-cta:hover { background: #15120d; }
.nt-cta:disabled { opacity: .6; cursor: wait; }
.nt-cta-ghost {
  display: block; width: 100%; margin-top: 10px;
  background: #fff; color: #211c15; border: 1.5px solid #d8ccb4;
  padding: 14px 16px; border-radius: 8px;
  font-family: inherit; font-weight: 700; font-size: 14px;
  letter-spacing: .04em; cursor: pointer;
}
.nt-cta-ghost:hover { border-color: #211c15; background: #faf6ee; }
.nt-note { font-size: 12.5px; color: #5e564a; text-align: center; margin: 10px 0 0; line-height: 1.5; }
.nt-msg { margin-top: 12px; padding: 10px 12px; border-radius: 6px; font-size: 13.5px; display: none; }
.nt-msg.ok { background: #e8f3e9; color: #1e5631; display: block; }
.nt-msg.ko { background: #fde8e4; color: #7a1a0d; display: block; }

/* variant blocks inside modal (color / size / qty) */
.nt-variant { margin-top: 22px; }
.nt-variant-label {
  font-size: 13px; color: #211c15;
  margin-bottom: 12px; letter-spacing: .01em;
}
.nt-variant-label strong {
  font-weight: 700; color: #211c15;
}
.nt-variant-sep { color: #a89b84; margin: 0 2px; }

.nt-dots { display: flex; flex-wrap: wrap; gap: 14px; }
.nt-dot {
  width: 44px; height: 44px; border-radius: 999px;
  padding: 0; cursor: pointer; position: relative;
  background: transparent;
  border: 1px solid rgba(0,0,0,.14);
  transition: transform .12s;
}
.nt-dot.is-active {
  outline: 2px solid #211c15;
  outline-offset: 3px;
  border-color: rgba(0,0,0,.3);
}
.nt-dot:hover { transform: scale(1.04); }

.nt-sizes {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
@media (max-width: 420px) {
  .nt-sizes { grid-template-columns: 1fr 1fr; }
}
.nt-size {
  display: flex; flex-direction: column; gap: 4px;
  background: #faf6ee; border: 1.5px solid #d8ccb4;
  border-radius: 10px; padding: 14px 10px; cursor: pointer;
  font-family: inherit; text-align: center;
  min-height: 68px; justify-content: center;
}
.nt-size:hover { border-color: #b89a68; }
.nt-size.is-active {
  border-color: #211c15; background: #fff;
  box-shadow: inset 0 0 0 1px #211c15;
}
.nt-size-name { font-weight: 700; font-size: 15px; color: #211c15; }
.nt-size-sub { font-size: 12px; color: #7a7265; }

/* qty / offers block */
.nt-variant-qty .nt-offers { gap: 12px; }
.nt-offer {
  min-height: 72px;
  padding: 16px 16px 16px 14px;
  border-width: 1.5px;
  border-radius: 12px;
}
.nt-offer.is-active {
  border-width: 2px;
  padding: 15.5px 15.5px 15.5px 13.5px;
}
.nt-offer-title-row {
  display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
}
.nt-offer-name { font-weight: 700; font-size: 16px; color: #211c15; }
.nt-offer-badge {
  background: #e8d9b8; color: #5c4820;
  font-size: 10.5px; font-weight: 700;
  padding: 3px 9px; border-radius: 4px;
  letter-spacing: .08em; text-transform: uppercase;
  display: inline-block;
}
.nt-offer-sub { font-size: 13px; color: #7a7265; margin-top: 3px; line-height: 1.35; }
.nt-offer-price { align-items: flex-end; gap: 3px; }
.nt-offer-total { font-size: 17px; font-weight: 700; }
.nt-offer-old { font-size: 13px; }

/* upsell + downsell screens */
.nt-upsell { text-align: center; padding: 6px 4px 4px; }
.nt-upsell-img {
  width: 100%; max-width: 320px; aspect-ratio: 4 / 3;
  margin: 10px auto 18px;
  border-radius: 12px; background: #faf6ee no-repeat center/cover;
  border: 1px solid #e4dac8;
}
.nt-upsell h3 {
  font-family: "Cormorant Garamond", serif; font-weight: 600;
  font-size: 26px; line-height: 1.2; color: #211c15; margin: 0;
}
.nt-upsell-sub {
  font-size: 13.5px; color: #5e564a; margin: 10px auto 18px;
  line-height: 1.6; max-width: 42ch;
}
.nt-upsell-price {
  display: inline-flex; align-items: baseline; gap: 10px;
  margin: 0 0 18px;
}
.nt-upsell-price .nt-now { font-size: 26px; font-weight: 700; color: #211c15; }
.nt-upsell-price .nt-was { font-size: 15px; color: #a89b84; text-decoration: line-through; }
.nt-upsell-price .nt-off {
  background: #e8d9b8; color: #5c4820;
  font-size: 10.5px; font-weight: 700; padding: 3px 8px; border-radius: 4px;
  letter-spacing: .06em; text-transform: uppercase;
}

/* banner de consentimento de cookies (só aparece com o Meta Pixel ligado) */
.nt-cookie {
  position: fixed; left: 50%; bottom: 16px; transform: translateX(-50%);
  z-index: 9999; width: min(720px, calc(100vw - 24px));
  background: #15120d; color: #e7dcc6; border-radius: 12px;
  box-shadow: 0 12px 40px rgba(0,0,0,.35);
  padding: 16px 18px; display: flex; flex-wrap: wrap; gap: 12px 18px; align-items: center;
  font-size: 13px; line-height: 1.55;
}
.nt-cookie p { margin: 0; flex: 1 1 320px; }
.nt-cookie a { color: #d9c7a1; text-decoration: underline; }
.nt-cookie-btns { display: flex; gap: 10px; flex: 0 0 auto; }
.nt-cookie-btns button {
  font-family: "Hanken Grotesk", sans-serif; font-size: 12.5px; font-weight: 700;
  text-transform: uppercase; letter-spacing: .06em; cursor: pointer;
  border-radius: 999px; padding: 10px 18px; border: 1px solid #e7dcc6;
  background: #e7dcc6; color: #15120d; min-width: 120px;
}

/* ============================================================
   04/11 Formulário COD no modelo do Nobre (PL/SK/CZ, window.NOTTURNO.form)
   Só vale com .nt-v2 no pop-up; RO/DE/HU continuam no pop-up antigo.
   ============================================================ */
.nt-v2 .nt-modal-dialog { background: #f1ebe0; width: min(520px, 94vw); border-radius: 16px; }
@media (max-width: 600px) { .nt-v2 .nt-modal-dialog { width: 100%; border-radius: 0; } }
.nt-v2 .nt-modal-body { padding: 0 0 26px; color: #191611; font-family: "Hanken Grotesk", "Mulish", Helvetica, Arial, sans-serif; }
.nt-v2 .nt-step { padding: 0 16px; }
.v2-topbar {
  background: #110f0c; color: #efe7d6; text-align: center;
  font-size: 11.5px; letter-spacing: .07em; line-height: 1.3; padding: 9px 12px;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.v2-brand { position: relative; text-align: center; padding: 24px 64px 18px; }
.v2-logo {
  font-family: "Cormorant Garamond", Georgia, serif; font-weight: 500;
  font-size: 27px; letter-spacing: .2em; line-height: 1; color: #191611;
  margin-right: -.2em;
}
.v2-logo-sub {
  margin-top: 11px; font-size: 9.5px; font-weight: 600; letter-spacing: .36em;
  color: #89673b; text-transform: uppercase; margin-right: -.36em; white-space: nowrap;
}
.v2-close {
  position: absolute; top: 16px; right: 14px; width: 40px; height: 40px;
  border-radius: 999px; border: 0; background: #e7ddc8; color: #191611;
  display: flex; align-items: center; justify-content: center; cursor: pointer; padding: 0;
}
.v2-close:hover { background: #ddd0b6; }

.v2-card {
  display: grid; grid-template-columns: 62px 1fr; gap: 13px; align-items: center;
  background: #fffdf6; border: 1px solid #ddd2bc; border-radius: 14px; padding: 12px 14px 12px 12px;
}
.v2-card img { width: 62px; height: 62px; object-fit: cover; border-radius: 8px; display: block; background: #e9e0d0; }
.v2-card-txt { min-width: 0; }
.v2-card-name { font-size: 15px; font-weight: 600; line-height: 1.3; color: #191611; }
.v2-card-meta {
  display: flex; align-items: baseline; justify-content: space-between; gap: 10px;
  font-size: 13px; color: #776950; margin-top: 4px; line-height: 1.35;
}
.v2-change {
  flex: none; background: none; border: 0; padding: 0 0 1px; cursor: pointer;
  font: inherit; font-size: 13px; color: #89673b; border-bottom: 1px solid #89673b;
}
.v2-card-price { margin-top: 4px; font-size: 15px; }
.v2-now { font-weight: 700; color: #191611; }
.v2-was { color: #a49979; font-size: 13px; margin-left: 4px; }
.v2-off { color: #191611; font-size: 12.5px; font-weight: 700; margin-left: 2px; }

.v2-delivery {
  display: flex; align-items: center; gap: 13px; margin-top: 12px;
  background: #fffdf6; border: 2px solid #191611; border-radius: 12px; padding: 15px 14px;
}
.v2-radio {
  flex: none; width: 20px; height: 20px; border-radius: 999px; border: 2px solid #191611;
  display: flex; align-items: center; justify-content: center;
}
.v2-radio::after { content: ""; width: 10px; height: 10px; border-radius: 999px; background: #684d2b; }
.v2-del-txt { flex: 1; min-width: 0; }
.v2-del-txt b { display: block; font-size: 15px; font-weight: 600; color: #191611; line-height: 1.3; }
.v2-del-txt small { display: block; font-size: 12.5px; color: #776950; margin-top: 3px; line-height: 1.35; }
.v2-free { color: #1b6047; font-weight: 700; }
.v2-delivery .v2-free { font-size: 14.5px; flex: none; }

.v2-title {
  font-family: "Cormorant Garamond", Georgia, serif; font-weight: 500;
  font-size: 26px; line-height: 1.15; color: #191611; margin: 26px 0 16px; letter-spacing: 0;
}
.nt-v2 .v2-form { margin-top: 0; }
.nt-v2 .v2-field { gap: 7px; margin-bottom: 14px; }
.nt-v2 .v2-field label { font-size: 13.5px; font-weight: 500; color: #4b443a; letter-spacing: 0; text-transform: none; }
.v2-req { color: #4b443a; }
.v2-extra { color: #89673b; font-weight: 400; }
.nt-v2 .v2-field input {
  height: 50px; width: 100%; background: #fffdf6; border: 1px solid #d0c2a5; border-radius: 9px;
  padding: 0 14px; font-family: inherit; font-size: 16px; color: #191611; outline: none;
}
.nt-v2 .v2-field input::placeholder { color: #8b929f; opacity: 1; }
.nt-v2 .v2-field input:focus { border-color: #191611; background: #fff; }
.nt-v2 .v2-field .hint { font-size: 12px; color: #776950; }
.nt-v2 .v2-field .hint:empty { display: none; }
.nt-v2 .v2-field.err input { border-color: #b3261e; background: #fff8f6; }
.nt-v2 .v2-field.err .hint { color: #b3261e; display: block; }
.v2-row { display: grid; grid-template-columns: 112px 1fr; gap: 10px; }
.v2-row .v2-field { margin-bottom: 0; }
.v2-email-line { margin: 12px 0 0; font-size: 13px; color: #897e65; line-height: 1.4; }
.v2-link { background: none; border: 0; padding: 0; font: inherit; color: inherit; text-decoration: underline; text-underline-offset: 2px; cursor: pointer; }
.v2-email-box { margin-top: 14px; }
.v2-email-box[hidden], .v2-email-line[hidden] { display: none; }
.v2-optin { display: flex; gap: 10px; align-items: flex-start; font-size: 12.5px; line-height: 1.4; color: #4b443a; cursor: pointer; margin: -2px 0 2px; }
.v2-optin input { margin-top: 1px; width: 18px; height: 18px; flex: none; accent-color: #191611; }

.v2-cod {
  display: flex; align-items: center; gap: 13px; margin-top: 16px;
  background: #eef5f0; border: 1px solid #cbdfd3; border-radius: 14px; padding: 13px 14px;
}
.v2-cod-badge {
  flex: none; width: 36px; height: 36px; border-radius: 999px; background: #1b6047; color: #fff;
  display: flex; align-items: center; justify-content: center; font-size: 12.5px; font-weight: 700;
}
.v2-cod p { margin: 0; font-size: 13.5px; line-height: 1.45; color: #191611; }
.v2-cod b { font-weight: 700; }

.v2-summary {
  margin-top: 12px; background: #fffdf6; border: 1px solid #ddd2bc; border-radius: 14px; padding: 10px 14px;
}
.v2-sum-row { display: flex; justify-content: space-between; gap: 12px; font-size: 14.5px; color: #4b443a; padding: 5px 0; }
.v2-sum-row span:last-child { text-align: right; white-space: nowrap; }
.v2-green { color: #1b6047; }
.v2-total { border-top: 1px solid #e7ddc8; margin-top: 7px; padding-top: 12px; font-size: 17px; font-weight: 700; color: #191611; }

.nt-v2 .v2-cta {
  display: block; width: 100%; margin-top: 14px; height: 56px; border: 0; border-radius: 12px;
  background: #191611; color: #fff; font-family: inherit; font-size: 16.5px; font-weight: 600;
  letter-spacing: .07em; text-transform: uppercase; cursor: pointer; padding: 0 12px;
}
.nt-v2 .v2-cta:hover { background: #000; }
.v2-under { margin: 13px 0 0; text-align: center; font-size: 13px; color: #776950; line-height: 1.4; }
.v2-seals { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 12px; margin-top: 14px; font-size: 11.5px; color: #776950; }
.v2-seal { display: inline-flex; align-items: center; gap: 5px; color: inherit; white-space: nowrap; }
a.v2-seal:hover { color: #191611; }
.v2-seal-ico { font-size: 11px; }
.v2-legal { margin: 14px 0 0; text-align: center; font-size: 11.5px; line-height: 1.55; color: #a49979; }
.v2-legal a { color: inherit; text-decoration: underline; }
.nt-v2 .nt-msg { margin-top: 10px; }

/* escolha de cor / tamanho / oferta (link "Zmień") */
.v2-choice .v2-title { margin-top: 4px; }
.v2-choice .nt-variant:first-of-type { margin-top: 10px; }
.v2-choice .nt-size, .v2-choice .nt-offer { background: #fffdf6; }
.v2-choice .nt-size.is-active, .v2-choice .nt-offer.is-active { background: #fff; }
.nt-offer-unit { font-size: 12px; color: #776950; white-space: nowrap; }
.nt-v2 .nt-upsell, .nt-v2 .nt-gift { padding-top: 0; }

/* 04/11 Nobre: topo do produto (estrelas, preço riscado, cronômetro até meia-noite) */
.buy-col .rating b { color: #211c15; font-weight: 700; }
.price-row [hidden] { display: none !important; }
.nt-countdown {
  display: inline-flex; align-items: center; gap: 6px; flex-wrap: wrap;
  margin-top: 10px; padding: 7px 12px; border-radius: 8px;
  background: #f6efe3; color: #7c5f38; font-size: 13px; line-height: 1.3;
}
.nt-countdown[hidden] { display: none !important; }
.nt-countdown b { font-variant-numeric: tabular-nums; color: #211c15; letter-spacing: .03em; }

/* 04/11 Nobre: pop-up de brinde (sobe por cima do formulário, depois de confirmar e antes de gravar) */
.v2-sheet-wrap {
  position: absolute; inset: 0; z-index: 20;
  display: flex; align-items: flex-end; justify-content: center;
  background: rgba(21,18,13,0); transition: background .22s ease;
}
.v2-sheet-wrap.is-in { background: rgba(21,18,13,.6); }
.v2-sheet {
  width: 100%; max-width: 520px; max-height: 92vh; overflow-y: auto; -webkit-overflow-scrolling: touch;
  background: #fffdf8; border-radius: 20px 20px 0 0; padding: 18px 18px calc(22px + env(safe-area-inset-bottom));
  box-shadow: 0 -10px 40px rgba(0,0,0,.18);
  transform: translateY(100%); transition: transform .26s ease;
}
.v2-sheet-wrap.is-in .v2-sheet { transform: none; }
@media (min-width: 700px) {
  .v2-sheet-wrap { align-items: center; }
  .v2-sheet { border-radius: 20px; }
}
.v2-sheet-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.v2-sheet-kick { font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: #9b7a4b; font-weight: 600; }
.v2-sheet-x {
  width: 34px; height: 34px; flex: 0 0 34px; border-radius: 50%; border: 0; cursor: pointer;
  background: #f1ebe0; color: #3b342a; font-size: 15px; line-height: 34px; text-align: center;
}
.v2-sheet-title {
  font-family: "Cormorant Garamond", Georgia, serif; font-weight: 600;
  font-size: 26px; line-height: 1.15; margin: 10px 0 6px; color: #211c15;
}
.v2-sheet-sub { color: #5e564a; margin: 0 0 14px; font-size: 14.5px; line-height: 1.5; }
.v2-gifts { display: grid; gap: 10px; }
.v2-gift {
  display: grid; grid-template-columns: 68px 1fr 26px; gap: 12px; align-items: center;
  width: 100%; text-align: left; cursor: pointer; font: inherit; color: inherit;
  background: #fff; border: 1px solid #e4dac8; border-radius: 14px; padding: 12px;
}
.v2-gift.on { border-color: #7c5f38; box-shadow: 0 0 0 1px #7c5f38; background: #fbf6ec; }
.v2-gift-img { width: 68px; height: 68px; border-radius: 10px; background: #eee center/cover no-repeat; }
.v2-gift-txt { display: block; min-width: 0; }
.v2-gift-name { display: block; font-weight: 600; font-size: 15px; line-height: 1.3; color: #211c15; }
.v2-gift-free {
  display: inline-block; margin-left: 4px; background: #6b4e2a; color: #fff; font-size: 10.5px; font-weight: 700;
  letter-spacing: .06em; text-transform: uppercase; padding: 2px 7px; border-radius: 999px; vertical-align: 2px;
}
.v2-gift-desc { display: block; color: #8a7c63; font-size: 12.5px; margin-top: 4px; line-height: 1.4; }
.v2-gift-val { display: block; font-size: 12.5px; margin-top: 5px; color: #5e564a; }
.v2-gift-val s { color: #8a7c63; }
.v2-gift-val strong { color: #1f6b3a; }
.v2-gift-radio {
  width: 24px; height: 24px; border-radius: 50%; border: 2px solid #c9b99b; justify-self: end;
  display: flex; align-items: center; justify-content: center; font-size: 13px; color: #fff;
}
.v2-gift.on .v2-gift-radio { border-color: #7c5f38; background: #7c5f38; }
.v2-sheet-cta {
  display: block; width: 100%; margin-top: 16px; padding: 16px 14px; border: 0; border-radius: 12px; cursor: pointer;
  background: #111; color: #fff; font: inherit; font-size: 15px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase;
}
.v2-sheet-cta[disabled] { opacity: .5; cursor: not-allowed; }
.v2-sheet-no-wrap { text-align: center; margin-top: 10px; }
.v2-sheet-no {
  background: none; border: 0; cursor: pointer; font: inherit; font-size: 13.5px;
  color: #7a7265; text-decoration: underline; padding: 6px 4px;
}

/* ============================================================
   04/11 Nobre: pagina igual a referencia PL
   - barra preta rotativa, header com preço + CTA
   - selo -33% na foto, linha "ver de perto"
   - chips de quiz, nota do king size
   - cards de quantidade NA PAGINA
   - linha "X zl za noc", data estimada de entrega
   - caixa COD, linha zero ryzyka
   - grid de icones (5)
   - galeria de 4 opinioes, testemunho grande
   - card de especialista (OFF por extrasRef)
   - faixa rolante, stats (3 numeros, 2 OFF)
   ============================================================ */

/* barra preta rotativa */
.tbr { background: #110f0c; color: #efe7d6; overflow: hidden; }
.tbr-inner {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  padding: 9px 12px; min-height: 36px;
  font-size: 11.5px; letter-spacing: .07em; line-height: 1.3; text-align: center;
}
.tbr-msg {
  opacity: 0; transition: opacity .45s ease; position: absolute;
  display: inline-flex; align-items: center; gap: 8px;
}
.tbr-msg.on { opacity: 1; position: static; }
.tbr-inner { position: relative; }
.tbr-ico { font-size: 13px; line-height: 1; opacity: .9; }

/* header: logo + preco + CTA */
.hdr-right { display: flex; align-items: center; gap: 14px; }
.hdr-price { font-size: 14px; font-weight: 700; color: #211c15; letter-spacing: .01em; }
.hdr-price small { display: block; font-size: 10px; color: #7a7265; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; margin-top: 1px; }
@media (max-width: 520px) { .hdr-price { display: none; } }

/* hero: selo -33% sobreposto na foto */
.hero-sale {
  position: absolute; top: 14px; right: 14px; z-index: 2;
  background: #c8a45c; color: #15120d;
  font-weight: 800; font-size: 12.5px; letter-spacing: .06em;
  padding: 6px 10px; border-radius: 6px;
}

/* botao "ver jedwab de perto" dentro do rating */
.rating-link {
  margin-left: 6px; display: inline-flex; align-items: center; gap: 4px;
  background: none; border: 0; cursor: pointer; padding: 0 2px;
  font: inherit; color: #7c5f38; text-decoration: underline; text-underline-offset: 3px;
  font-size: 13px;
}
.rating-link:hover { color: #211c15; }

/* quiz chips (horizontais) */
.quiz-wrap { margin-top: 22px; padding: 14px 16px; background: #fffdf6; border: 1px solid #e4dac8; border-radius: 12px; }
.quiz-q { font-size: 13px; color: #5e564a; margin: 0 0 10px; }
.quiz-q strong { color: #211c15; font-weight: 700; }
.quiz-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.quiz-chip {
  border: 1px solid #d8ccb4; background: #faf6ee; border-radius: 999px;
  padding: 7px 13px; cursor: pointer; font-family: inherit;
  font-size: 12.5px; color: #3a342b; transition: all .15s;
}
.quiz-chip:hover { border-color: #b89a68; }
.quiz-chip.on { border-color: #211c15; background: #211c15; color: #f4efe6; }

/* nota do king size (+X zl / +20 cm) */
.size-note {
  display: flex; align-items: center; gap: 6px;
  margin-top: 8px; font-size: 12.5px; color: #7c5f38;
}
.size-note::before { content: "↗"; font-size: 13px; color: #9b7a4b; }

/* cards de quantidade NA PAGINA */
.qty-page {
  margin-top: 20px; display: grid; gap: 10px;
}
.qty-page-card {
  position: relative; display: grid; grid-template-columns: 24px 1fr auto; gap: 12px; align-items: center;
  padding: 14px 14px; border: 1.5px solid #d8ccb4; background: #fffdf6;
  border-radius: 12px; cursor: pointer; text-align: left; font: inherit; width: 100%;
}
.qty-page-card.on { border-color: #211c15; background: #fff; box-shadow: 0 2px 0 rgba(33,28,21,.05); }
.qty-page-card.best { border-color: #c8a45c; }
.qty-page-card.best.on { border-color: #211c15; }
.qty-page-radio {
  width: 20px; height: 20px; border-radius: 50%;
  border: 2px solid #c7bba3; background: #fff; position: relative; flex: none;
}
.qty-page-card.on .qty-page-radio { border-color: #211c15; }
.qty-page-card.on .qty-page-radio::after {
  content: ""; position: absolute; inset: 3px; background: #211c15; border-radius: 50%;
}
.qty-page-name { font-weight: 700; font-size: 15px; color: #211c15; }
.qty-page-sub { font-size: 12px; color: #7a7265; margin-top: 3px; line-height: 1.35; }
.qty-page-badge {
  display: inline-block; margin-left: 6px; vertical-align: 2px;
  background: #e8d9b8; color: #5c4820;
  font-size: 10px; font-weight: 700; letter-spacing: .06em;
  padding: 2px 6px; border-radius: 4px; text-transform: uppercase;
}
.qty-page-price { text-align: right; font-weight: 700; font-size: 15px; color: #211c15; white-space: nowrap; }
.qty-page-price del { color: #a89b84; font-weight: 400; font-size: 13px; display: block; margin-top: 1px; }

/* preco: linha com -33% destacado */
.price-row .price-save-big {
  display: inline-block; background: #e8d9b8; color: #5c4820;
  padding: 4px 10px; border-radius: 4px; font-size: 12px; font-weight: 800; letter-spacing: .06em;
  margin-top: 8px;
}
.per-night {
  display: flex; align-items: center; gap: 8px; margin-top: 10px;
  font-size: 13.5px; color: #5e564a; line-height: 1.5;
}
.per-night .dot { width: 8px; height: 8px; border-radius: 50%; background: #1b6047; flex: none; }
.per-night b { color: #211c15; font-weight: 700; }

/* prazo de entrega estimado */
.delivery-eta {
  display: flex; align-items: center; gap: 10px; margin-top: 12px;
  padding: 11px 13px; background: #fffdf6; border: 1px solid #e4dac8; border-radius: 10px;
  font-size: 13.5px; color: #3a342b; line-height: 1.4;
}
.delivery-eta small { display: block; color: #7a7265; font-size: 12px; margin-top: 1px; }
.delivery-eta .ico { color: #9b7a4b; font-size: 16px; flex: none; }
.delivery-eta b { color: #211c15; font-weight: 700; }

/* CTA principal com preco destacado */
.cta-main .cta-price { margin-left: 8px; font-weight: 800; }

/* caixa COD destacada */
.cod-box {
  display: flex; gap: 12px; align-items: flex-start; margin-top: 14px;
  padding: 13px 14px; background: #eef5f0; border: 1px solid #cbdfd3; border-radius: 12px;
  font-size: 13.5px; color: #3a342b; line-height: 1.5;
}
.cod-box .cod-ico {
  width: 34px; height: 34px; border-radius: 50%; background: #1b6047; color: #fff;
  display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 14px; flex: none;
}
.cod-box b { color: #211c15; font-weight: 700; }

/* linha "zero ryzyka" */
.zero-risk {
  margin-top: 10px; text-align: center; font-size: 12.5px; color: #7a7265;
}
.zero-risk .sep { color: #c7bba3; margin: 0 6px; }

/* grid de icones (5 trust items) — reforca estilo */
.trust-grid5 {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 22px 18px; padding: 36px 0;
  width: min(1080px, 92vw); margin: 0 auto;
  text-align: center;
}
.trust-grid5 .ti { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 4px; }
.trust-grid5 .ti-ico {
  font-family: "Cormorant Garamond", Georgia, serif; font-size: 22px; color: #9b7a4b; line-height: 1; margin-bottom: 4px;
}
.trust-grid5 .ti-label { font-size: 13.5px; font-weight: 700; color: #211c15; }
.trust-grid5 .ti-sub { font-size: 12.5px; color: #7a7265; line-height: 1.45; max-width: 22ch; }

/* galeria "opinie klientek" 4 fotos */
.opinie {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px;
  margin-top: 28px;
}
@media (max-width: 760px) { .opinie { grid-template-columns: repeat(2, 1fr); gap: 10px; } }
.opinie-card { background: #fff; border: 1px solid #e4dac8; border-radius: 10px; overflow: hidden; }
.opinie-img { aspect-ratio: 4 / 5; background: #e9e0d0 center/cover no-repeat; }
.opinie-body { padding: 10px 12px 12px; text-align: left; }
.opinie-name { font-weight: 700; font-size: 12.5px; color: #211c15; }
.opinie-stars { color: #c8a45c; font-size: 11px; letter-spacing: 1px; margin-top: 2px; }

/* testemunho grande com botao */
.big-test {
  margin: 30px auto 0; max-width: 56ch; text-align: center;
}
.big-test .stars { color: #c8a45c; font-size: 15px; letter-spacing: 1px; }
.big-test blockquote {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 500; font-style: italic; font-size: clamp(22px, 3.6vw, 32px);
  line-height: 1.3; color: #211c15; margin: 14px 0 0;
}
.big-test .by { margin-top: 18px; font-size: 13px; color: #7a7265; }
.big-test .cta {
  display: inline-block; margin-top: 22px;
  background: #211c15; color: #f4efe6;
  padding: 14px 22px; border-radius: 6px; cursor: pointer; border: 0;
  font-family: inherit; font-weight: 700; letter-spacing: .06em;
  text-transform: uppercase; font-size: 13.5px;
}
.big-test .cta:hover { background: #15120d; }

/* card de especialista (DESLIGADO por extrasRef) */
.expert-card {
  margin: 0 auto; max-width: 420px;
  background: #fffdf6; border: 1px solid #e4dac8; border-radius: 14px;
  padding: 14px; text-align: left;
}
.expert-card .photo {
  aspect-ratio: 4 / 3; border-radius: 10px; background: #e9e0d0 center/cover no-repeat;
  position: relative; overflow: hidden;
}
.expert-card .photo-tag {
  position: absolute; top: 10px; left: 10px;
  background: rgba(21,18,13,.8); color: #e7dcc6;
  font-size: 10px; letter-spacing: .14em; padding: 4px 8px; border-radius: 4px; font-weight: 700; text-transform: uppercase;
}
.expert-card .kicker { margin-top: 14px; }
.expert-card blockquote {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-style: italic; font-size: 18px; line-height: 1.4; color: #211c15; margin: 10px 0 0;
}
.expert-card .by {
  display: flex; align-items: center; gap: 10px; margin-top: 14px;
  padding-top: 12px; border-top: 1px solid #ece3d1;
}
.expert-card .avatar {
  width: 36px; height: 36px; border-radius: 50%; background: #c8a45c; color: #15120d;
  display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 13px; flex: none;
}
.expert-card .by-name { font-size: 13.5px; color: #211c15; font-weight: 700; }
.expert-card .by-sub { font-size: 12px; color: #7a7265; margin-top: 2px; }

/* faixa rolante */
.marquee {
  background: #15120d; color: #e7dcc6; overflow: hidden;
  padding: 16px 0; border-top: 1px solid #1f1a12; border-bottom: 1px solid #1f1a12;
}
.marquee-track {
  display: flex; gap: 42px; align-items: center;
  white-space: nowrap; animation: mq-slide 28s linear infinite;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(18px, 2.6vw, 26px);
}
.marquee-track span { display: inline-flex; align-items: center; gap: 42px; }
.marquee-track .star { color: #c8a45c; font-size: 16px; }
@keyframes mq-slide {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

/* stats: 3 numeros grandes */
.stats {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 30px; text-align: center; margin-top: 10px;
}
.stat .num {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 600; font-size: clamp(36px, 6vw, 56px);
  color: #7c5f38; line-height: 1;
}
.stat .lbl { margin-top: 10px; font-size: 13.5px; color: #5e564a; line-height: 1.5; }

/* extras da referencia ligados/desligados sem recarregar a pagina */
[data-extras-ref]:not(.on) { display: none !important; }

/* CTA secundario cinza/transparente */
.cta-sub-btn {
  display: inline-block; margin-top: 22px;
  background: #f1ebe0; color: #211c15;
  padding: 14px 22px; border-radius: 6px; cursor: pointer; border: 1px solid #e4dac8;
  font-family: inherit; font-weight: 700; letter-spacing: .06em;
  text-transform: uppercase; font-size: 13.5px;
}
.cta-sub-btn:hover { background: #e7dcc6; }

/* final CTA com estrelas */
.finalcta { text-align: center; }
.finalcta .stars { color: #c8a45c; font-size: 16px; letter-spacing: 2px; }
.finalcta h2 {
  font-family: "Cormorant Garamond", Georgia, serif; font-weight: 600;
  font-size: clamp(30px, 5vw, 48px); margin: 14px 0 0; color: #211c15;
}
.finalcta .p { color: #5e564a; font-size: 15px; line-height: 1.7; margin: 18px auto 0; max-width: 46ch; }
.finalcta .price-row { justify-content: center; margin-top: 22px; }
.finalcta .cta {
  display: inline-block; margin-top: 18px;
  background: #211c15; color: #f4efe6;
  padding: 16px 28px; border-radius: 6px;
  font-weight: 700; letter-spacing: .08em; text-transform: uppercase; font-size: 14px;
  border: 0; cursor: pointer;
}
.finalcta .seals-line {
  margin-top: 16px; font-size: 12.5px; color: #7a7265;
}
.finalcta .seals-line .sep { color: #c7bba3; margin: 0 7px; }

@media (max-width: 520px) {
  .cmp-table { grid-template-columns: minmax(0,1.6fr) repeat(3, minmax(0,1fr)); font-size: 12px; }
  .cmp-table > div { padding: 11px 6px; overflow-wrap: anywhere; }
}

/* ====== referencia (05/11): video wall + barra fixa de compra + prazo dinamico ====== */

/* galeria de videos UGC (Opinie klientek -> grid 9:16) */
.opinie-card.has-video { position: relative; aspect-ratio: 9 / 16; border-radius: 13px; overflow: hidden; background: #ece3d2; border: 0; }
.opinie-card.has-video .opinie-video {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block;
}
.opinie-card.has-video .opinie-video-play {
  position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%);
  width: 46px; height: 46px; border-radius: 50%;
  background: rgba(21,18,13,.72); color: #fff; border: 0;
  display: flex; align-items: center; justify-content: center; font-size: 15px;
  cursor: pointer; backdrop-filter: blur(4px); transition: opacity .25s, transform .2s;
  padding: 0;
}
.opinie-card.has-video .opinie-video-play:hover { transform: translate(-50%,-50%) scale(1.06); }
.opinie-card.has-video.playing .opinie-video-play { opacity: 0; pointer-events: none; }
.opinie-card.has-video .opinie-video-cap {
  position: absolute; left: 12px; bottom: 12px; color: #fff;
  font-size: 12px; font-weight: 700; display: flex; flex-direction: column; gap: 1px;
  text-shadow: 0 1px 6px rgba(0,0,0,.5);
}
.opinie-card.has-video .opinie-video-cap small {
  font-weight: 400; font-size: 10.5px; opacity: .9; display: inline-flex; align-items: center; gap: 4px;
}
.opinie-card.has-video::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(180deg, transparent 58%, rgba(15,12,8,.62));
}
.opinie-card.has-video .opinie-video-cap { z-index: 1; }

/* botao "Ver de perto" com ▶ (como ntr-video da referencia) */
.rating-link .rl-play {
  display: inline-flex; align-items: center; justify-content: center;
  width: 16px; height: 16px; border-radius: 50%;
  background: #7c5f38; color: #fff; font-size: 8px; margin-right: 5px;
}

/* barra fixa inferior de compra (aparece ao rolar) */
.sticky-buy {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 85;
  background: rgba(244,239,230,.97); backdrop-filter: blur(10px);
  border-top: 1px solid #e4dac8;
  box-shadow: 0 -8px 24px -14px rgba(0,0,0,.35);
  transform: translateY(110%); transition: transform .3s ease;
  padding: 10px 14px calc(10px + env(safe-area-inset-bottom));
}
.sticky-buy.on { transform: translateY(0); }
.sticky-buy-inner {
  width: min(1180px, 96vw); margin: 0 auto;
  display: flex; align-items: center; gap: 12px;
}
.sticky-buy-info { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; line-height: 1.2; }
.sticky-buy-name {
  font-size: 13px; font-weight: 700; color: #211c15;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.sticky-buy-price {
  display: flex; align-items: baseline; gap: 8px; font-size: 12.5px; color: #6b6253;
}
.sticky-buy-price strong { font-size: 15px; color: #211c15; font-weight: 800; }
.sticky-buy-price del { font-size: 12px; color: #a99a7e; }
.sticky-buy-btn {
  flex: none; border: 0; cursor: pointer;
  background: #211c15; color: #f4efe6;
  font-family: inherit; font-weight: 700; font-size: 12.5px;
  letter-spacing: .06em; text-transform: uppercase;
  padding: 13px 20px; border-radius: 5px;
}
.sticky-buy-btn:hover { background: #15120d; }
@media (max-width: 420px) {
  .sticky-buy-btn { padding: 12px 14px; font-size: 12px; }
  .sticky-buy-name { font-size: 12.5px; }
  .sticky-buy-price strong { font-size: 14px; }
}
/* quando a barra estiver visivel, deixa espaco embaixo da pagina */
body.has-sticky-buy { padding-bottom: 72px; }

/* paginas legais (regulamin, prywatnosc, cookies, zwroty, dostawa) */
.legal-wrap {
  max-width: 760px; margin: 0 auto; padding: 32px 20px 72px;
  color: #3a342b; font-size: 15px; line-height: 1.7;
}
.legal-wrap h1 {
  font-family: "Cormorant Garamond", Georgia, serif; font-weight: 600;
  font-size: clamp(28px, 4.2vw, 40px); color: #211c15; margin: 0 0 8px;
}
.legal-wrap .legal-kicker {
  font-size: 11.5px; letter-spacing: .22em; text-transform: uppercase;
  color: #9b7a4b; font-weight: 700; margin-bottom: 6px;
}
.legal-wrap h2 {
  font-family: "Cormorant Garamond", Georgia, serif; font-weight: 600;
  font-size: clamp(20px, 3vw, 26px); color: #211c15; margin: 28px 0 8px;
}
.legal-wrap p { margin: 10px 0; }
.legal-wrap ul, .legal-wrap ol { margin: 10px 0; padding-left: 22px; }
.legal-wrap li { margin: 6px 0; }
.legal-wrap a { color: #7c5f38; text-decoration: underline; }
.legal-wrap a:hover { color: #5c4428; }
.legal-wrap .back {
  display: inline-block; margin-top: 28px; font-size: 13px; color: #7c5f38;
  text-decoration: none; border-bottom: 1px solid #c9bda4;
}
.legal-wrap .legal-note {
  background: #fffdf6; border: 1px solid #e4dac8; border-radius: 10px;
  padding: 14px 16px; font-size: 13.5px; color: #5e564a; margin: 18px 0;
}
.legal-head {
  background: #15120d; color: #e7dcc6; padding: 18px 20px;
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
}
.legal-head .lh-logo {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 600; font-size: 22px; letter-spacing: .18em;
}
.legal-head a {
  color: #e7dcc6; font-size: 13px; text-decoration: none; opacity: .85;
}
.legal-head a:hover { opacity: 1; }
