/* Olet.Store 18+ · isolated adult presentation layer. */
:root {
  --adult-ink: #fff6f7;
  --adult-muted: #d9b5bd;
  --adult-soft: #f6dadd;
  --adult-line: rgba(255, 222, 228, .16);
  --adult-line-strong: rgba(255, 136, 156, .42);
  --adult-red: #fb3d61;
  --adult-red-deep: #9f0d28;
  --adult-wine: #300710;
  --adult-night: #160408;
  --adult-panel: rgba(57, 10, 21, .82);
  --adult-gold: #ffd198;
  --adult-container: min(100% - clamp(24px, 5vw, 84px), 1540px);
  --adult-radius: 24px;
}

.adult-body {
  min-width: 320px;
  min-height: 100vh;
  margin: 0;
  overflow-x: hidden;
  color: var(--adult-ink);
  background:
    radial-gradient(circle at 84% -8%, rgba(191, 25, 53, .32), transparent 26rem),
    radial-gradient(circle at 4% 20%, rgba(122, 12, 33, .22), transparent 30rem),
    var(--adult-night);
  font-family: "DM Sans", sans-serif;
}

.adult-body *, .adult-body *::before, .adult-body *::after { box-sizing: border-box; }
.adult-body a { color: inherit; }
.adult-body button { font: inherit; }
.adult-body .olet-product-img { background: #fff !important; }
.adult-skip-link { position: fixed; left: 12px; top: -60px; z-index: 200; padding: 10px 14px; border-radius: 10px; color: #170408; background: #fff; font-weight: 800; text-decoration: none; transition: top .2s ease; }
.adult-skip-link:focus { top: 12px; }

/* Header / app-like navigation */
.adult-header { position: sticky; top: 0; z-index: 90; border-bottom: 1px solid rgba(255, 222, 228, .12); background: rgba(20, 4, 8, .78); backdrop-filter: blur(18px) saturate(120%); }
.adult-header-shell { width: var(--adult-container); min-height: 76px; margin: auto; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 20px; }
.adult-brand { display: inline-flex; align-items: center; min-width: 0; gap: 10px; text-decoration: none; }
.adult-brand > img { width: 108px; height: 35px; object-fit: contain; object-position: left center; }
.adult-brand > span { display: grid; gap: 1px; min-width: 0; }
.adult-brand strong { font-size: .98rem; letter-spacing: -.03em; }
.adult-brand small { color: #e4b4bf; font-size: .62rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; white-space: nowrap; }
.adult-brand > b { display: grid; place-items: center; min-width: 38px; height: 28px; padding: 0 8px; border: 1px solid rgba(255, 220, 226, .44); border-radius: 999px; color: #fff; background: linear-gradient(135deg, #f75a71, #ad0c2c); box-shadow: 0 0 24px rgba(248, 52, 82, .45); font-size: .76rem; letter-spacing: .04em; }
.adult-nav { justify-self: end; display: flex; align-items: center; gap: 3px; }
.adult-nav a, .adult-desktop-return, .adult-header-return { display: inline-flex; align-items: center; gap: 8px; padding: 10px 12px; border: 1px solid transparent; border-radius: 999px; color: #f6dce1; font-size: .86rem; font-weight: 750; text-decoration: none; transition: .2s ease; }
.adult-nav a:hover, .adult-nav a:focus-visible, .adult-nav a.is-active { border-color: rgba(255, 132, 153, .28); color: #fff; background: rgba(255, 255, 255, .07); }
.adult-nav a.is-active { box-shadow: inset 0 0 0 1px rgba(255, 187, 197, .08); }
.adult-nav-main, .adult-desktop-return, .adult-header-return { border-color: rgba(255, 215, 224, .22) !important; color: #ffe6ea !important; background: rgba(255,255,255,.04); }
.adult-desktop-return:hover, .adult-header-return:hover { border-color: rgba(255, 110, 137, .55) !important; background: rgba(255, 74, 100, .12); }
.adult-menu-toggle { display: none; place-items: center; width: 42px; height: 42px; border: 1px solid rgba(255, 215, 224, .22); border-radius: 13px; color: #fff; background: rgba(255,255,255,.055); cursor: pointer; }
.adult-menu-backdrop { display: none; }

/* Full-width content system */
.adult-main { width: 100%; min-height: calc(100vh - 76px); padding: 0 0 78px; }
.adult-main > *:not(.adult-hero):not(.adult-gate-shell) { width: var(--adult-container); margin-right: auto; margin-left: auto; }
.adult-main > .adult-ad-slot { margin-top: 30px; margin-bottom: 30px; }

/* Hero */
.adult-hero { position: relative; isolation: isolate; width: 100%; min-height: clamp(610px, 82vh, 800px); overflow: hidden; border-bottom: 1px solid rgba(255, 203, 214, .13); background: #2c0710; }
.adult-hero-media, .adult-hero-media img, .adult-hero-fallback, .adult-hero-shade, .adult-hero-grain { position: absolute; inset: 0; }
.adult-hero-media { z-index: -4; overflow: hidden; background: #2b0610; }
.adult-hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: center; transition: opacity .4s ease; }
.adult-hero-fallback { z-index: -1; background: radial-gradient(circle at 72% 28%, rgba(255, 211, 183, .75) 0 2%, transparent 2.5%), radial-gradient(circle at 70% 42%, rgba(231, 57, 86, .76) 0 12%, transparent 27%), radial-gradient(circle at 42% 40%, rgba(123, 14, 36, .9), transparent 36%), linear-gradient(120deg, #170408 12%, #6f1027 58%, #21050d 100%); }
.adult-hero:not(.is-fallback) .adult-hero-fallback { opacity: .18; }
.adult-hero.is-fallback [data-adult-hero-image] { opacity: 0; }
.adult-hero-shade { z-index: -2; background: linear-gradient(90deg, rgba(19, 3, 8, .95) 0%, rgba(27, 4, 10, .76) 38%, rgba(26, 4, 9, .29) 72%, rgba(16, 3, 7, .54) 100%); }
.adult-hero-grain { z-index: -1; opacity: .24; background-image: radial-gradient(rgba(255,255,255,.22) .6px, transparent .7px); background-size: 5px 5px; mix-blend-mode: soft-light; pointer-events: none; }
.adult-hero::before { content: ""; position: absolute; z-index: -1; top: -15%; left: 37%; width: min(66vw, 920px); aspect-ratio: 1; border: 1px solid rgba(255, 225, 231, .13); border-radius: 50%; box-shadow: 0 0 0 44px rgba(255,255,255,.025), 0 0 0 92px rgba(255,255,255,.018); pointer-events: none; }
.adult-hero-inner { width: var(--adult-container); min-height: inherit; margin: auto; display: flex; align-items: center; justify-content: space-between; gap: 40px; padding: clamp(54px, 9vh, 112px) 0 clamp(74px, 12vh, 138px); }
.adult-hero-copy { width: min(100%, 720px); }
.adult-kicker, .adult-section-heading > div > span, .adult-page-hero > div > span, .adult-award-hero > div > span, .adult-comparison > div > span, .adult-trust-panel > div > span { display: inline-flex; align-items: center; gap: 8px; color: #ffb8c5; font-size: .75rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.adult-kicker > i { display: grid; place-items: center; width: 32px; height: 23px; border: 1px solid rgba(255, 220, 226, .38); border-radius: 999px; color: #fff; background: rgba(250, 67, 93, .2); font-size: .72rem; font-style: normal; letter-spacing: 0; box-shadow: 0 0 22px rgba(247, 61, 91, .32); }
.adult-hero h1, .adult-page-hero h1, .adult-award-hero h1, .adult-info h1 { margin: 16px 0 17px; font-family: Fraunces, Georgia, serif; font-weight: 600; font-size: clamp(3rem, 6.3vw, 6.35rem); letter-spacing: -.07em; line-height: .94; }
.adult-hero h1 { max-width: 10ch; }
.adult-hero h1 em { color: #ffc4ce; font-style: italic; }
.adult-hero p, .adult-page-hero p, .adult-award-hero p { max-width: 660px; margin: 0; color: #ecd1d6; font-size: clamp(.98rem, 1.2vw, 1.11rem); line-height: 1.72; }
.adult-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 29px; }
.adult-confirm-button, .adult-ghost-button, .adult-amazon-button, .adult-economy-button, .adult-card-primary, .adult-card-secondary { display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 1px solid transparent; border-radius: 12px; text-decoration: none; font-weight: 800; line-height: 1.15; transition: transform .2s ease, filter .2s ease, border-color .2s ease, box-shadow .2s ease; }
.adult-confirm-button, .adult-amazon-button, .adult-card-primary { padding: 13px 16px; color: #fff; background: linear-gradient(135deg, #ff5a73 0%, #c80d31 95%); box-shadow: 0 13px 30px rgba(204, 14, 48, .34), inset 0 1px 0 rgba(255,255,255,.26); }
.adult-confirm-button:hover, .adult-amazon-button:hover, .adult-card-primary:hover { filter: brightness(1.08); transform: translateY(-2px); box-shadow: 0 17px 34px rgba(204, 14, 48, .44), inset 0 1px 0 rgba(255,255,255,.3); }
.adult-ghost-button, .adult-economy-button, .adult-card-secondary { padding: 13px 16px; border-color: rgba(255, 228, 232, .31); color: #ffecef; background: rgba(255,255,255,.05); }
.adult-ghost-button:hover, .adult-economy-button:hover, .adult-card-secondary:hover { border-color: rgba(255, 168, 184, .72); background: rgba(255,255,255,.1); transform: translateY(-2px); }
.adult-hero-notes { display: flex; flex-wrap: wrap; gap: 13px 18px; margin-top: 23px; color: #f0c7ce; font-size: .79rem; }
.adult-hero-notes span { display: inline-flex; align-items: center; gap: 7px; }
.adult-hero-notes svg { color: #ff8398; }
.adult-hero-side { align-self: flex-end; min-width: 180px; margin-bottom: 4px; text-align: right; color: #eed6da; }
.adult-hero-side-mark { display: block; margin-bottom: 8px; color: rgba(255, 226, 231, .68); font-family: Fraunces, Georgia, serif; font-size: clamp(4.5rem, 10vw, 9.5rem); font-weight: 600; letter-spacing: -.1em; line-height: .7; text-shadow: 0 0 35px rgba(255, 62, 94, .32); }
.adult-hero-side p { margin: 0; color: #f7d9de; font-size: .86rem; line-height: 1.5; }
.adult-hero-side strong { color: #fff; font-weight: 700; }
.adult-hero-scroll { position: absolute; left: 50%; bottom: 21px; display: inline-flex; align-items: center; gap: 9px; transform: translateX(-50%); color: rgba(255, 238, 241, .69); font-size: .7rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.adult-hero-scroll svg { animation: adult-bob 1.8s ease-in-out infinite; }
@keyframes adult-bob { 50% { transform: translateY(4px); } }

/* Content headings and panels */
.adult-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-top: 64px; margin-bottom: 23px; }
.adult-section-heading h2, .adult-trust-panel h2, .adult-comparison h2 { margin: 8px 0 8px; font-family: Fraunces, Georgia, serif; font-size: clamp(2rem, 3.5vw, 3.2rem); letter-spacing: -.055em; line-height: 1; }
.adult-section-heading p { max-width: 700px; margin: 0; color: var(--adult-muted); line-height: 1.68; }
.adult-section-heading > a { display: inline-flex; align-items: center; gap: 8px; flex: 0 0 auto; color: #ffc2cd; font-weight: 800; text-decoration: none; white-space: nowrap; }
.adult-section-heading > a:hover { color: #fff; }
.adult-section-heading.compact { margin-bottom: 19px; }

/* Festival carousel cards */
.adult-award-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.adult-award-grid-archive { margin-top: 30px; }
.adult-award-card { min-width: 0; overflow: hidden; border: 1px solid var(--adult-line); border-radius: 21px; background: linear-gradient(145deg, rgba(75, 15, 29, .92), rgba(32, 7, 15, .96)); box-shadow: 0 17px 44px rgba(0,0,0,.19); transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease; }
.adult-award-card:hover { border-color: rgba(255, 118, 141, .52); transform: translateY(-3px); box-shadow: 0 24px 50px rgba(0,0,0,.3), 0 0 35px rgba(196, 17, 48, .12); }
.adult-award-card-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 49px; padding: 11px 13px; color: #e7bac3; font-size: .72rem; font-weight: 700; }
.adult-award-type { display: inline-flex; align-items: center; min-width: 0; gap: 7px; color: #ffd2d9; }
.adult-award-type svg { color: #ff7d94; }
.adult-award-carousel-window { position: relative; overflow: hidden; border-top: 1px solid rgba(255, 219, 226, .11); border-bottom: 1px solid rgba(255, 219, 226, .11); background: rgba(18, 4, 8, .35); }
.adult-award-carousel-track { display: flex; width: 100%; transition: transform .34s cubic-bezier(.2,.8,.2,1); will-change: transform; }
.adult-award-slide { flex: 0 0 100%; min-width: 0; display: grid; grid-template-columns: minmax(144px, .85fr) minmax(0, 1.15fr); align-items: stretch; min-height: 268px; }
.adult-award-card-visual { position: relative; display: block; overflow: hidden; min-height: 268px; text-decoration: none; background: radial-gradient(circle at 52% 30%, rgba(250, 75, 105, .35), transparent 34%), linear-gradient(140deg, #71152b, #270711 72%); }
.adult-award-visual-glow { position: absolute; width: 180px; height: 180px; top: -52px; right: -32px; border-radius: 50%; background: rgba(255, 178, 188, .38); filter: blur(24px); }
.adult-award-visual-grid { position: absolute; inset: 0; opacity: .22; background-image: linear-gradient(rgba(255,255,255,.24) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.24) 1px, transparent 1px); background-size: 28px 28px; mask-image: linear-gradient(135deg, #000, transparent 80%); }
.adult-award-stack { position: absolute; inset: 0; display: flex; align-items: end; justify-content: center; padding: 26px 16px 19px; }
.adult-award-stack-item { position: relative; display: grid; place-items: center; width: 44%; max-width: 122px; aspect-ratio: 1 / 1; overflow: hidden; border: 1px solid rgba(255,255,255,.32); border-radius: 16px; background: #fff; box-shadow: 0 16px 23px rgba(0,0,0,.34); }
.adult-award-stack-item .product-frame { width: 100%; height: 100%; border: 0 !important; background: #fff !important; box-shadow: none !important; }
.adult-award-stack-item .olet-product-img { width: 100% !important; height: 100% !important; object-fit: contain !important; padding: 5% !important; }
.adult-award-stack-item.item-0 { z-index: 3; transform: translateY(-9px); }
.adult-award-stack-item.item-1 { z-index: 2; margin-right: -17%; transform: rotate(8deg) translateY(8px); }
.adult-award-stack-item.item-2 { z-index: 1; margin-left: -17%; transform: rotate(-8deg) translateY(9px); }
.adult-award-stamp { position: absolute; top: 13px; left: 13px; display: grid; place-items: center; width: 49px; height: 49px; border: 1px solid rgba(255,255,255,.4); border-radius: 50%; color: #fff; background: rgba(58, 7, 20, .62); box-shadow: 0 0 24px rgba(255, 73, 102, .42); backdrop-filter: blur(8px); }
.adult-award-stamp b { font-size: .83rem; line-height: 1; }
.adult-award-stamp small { margin-top: -2px; font-size: .45rem; letter-spacing: .07em; text-transform: uppercase; }
.adult-award-card-copy, .adult-slide-product-copy { display: flex; flex-direction: column; min-width: 0; padding: 18px 17px; }
.adult-overline { margin: 0 0 6px; color: #ffb7c3; font-size: .68rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.adult-award-card-copy h3, .adult-slide-product-copy h3, .adult-product-copy h3 { margin: 0 0 8px; font-size: 1.15rem; letter-spacing: -.025em; line-height: 1.16; }
.adult-award-card-copy h3 a { text-decoration: none; }
.adult-award-card-copy > p:not(.adult-overline), .adult-slide-product-copy > p:not(.adult-overline), .adult-product-copy > p { margin: 0; color: var(--adult-muted); font-size: .83rem; line-height: 1.55; }
.adult-winner-note { color: #ffd79f !important; font-weight: 700; }
.adult-winner-note b { color: #fff1ca; }
.adult-award-card-actions, .adult-slide-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: auto; padding-top: 14px; }
.adult-card-primary, .adult-card-secondary { padding: 8px 10px; border-radius: 9px; font-size: .75rem; }
.adult-slide-product-media { position: relative; display: grid; place-items: center; min-width: 0; min-height: 268px; max-height: 268px; padding: 18px; overflow: hidden; background: radial-gradient(circle at 50% 42%, rgba(255, 84, 110, .23), transparent 54%), #280711; }
.adult-slide-product-media::after { content: ""; position: absolute; right: -54px; bottom: -54px; width: 140px; height: 140px; border: 1px solid rgba(255, 213, 221, .15); border-radius: 50%; box-shadow: 0 0 0 24px rgba(255,255,255,.02), 0 0 0 51px rgba(255,255,255,.015); }
.adult-slide-product-media .product-frame { position: relative; z-index: 1; display: grid !important; place-items: center; width: min(100%, 188px); height: min(100%, 188px); max-width: 100%; max-height: 100%; aspect-ratio: 1 / 1; overflow: hidden; border: 1px solid rgba(255,255,255,.34) !important; border-radius: 16px; background: #fff !important; box-shadow: 0 15px 30px rgba(0,0,0,.28) !important; }
.adult-slide-product-media .olet-product-img { display: block !important; width: 100% !important; height: 100% !important; max-width: 100% !important; max-height: 100% !important; object-fit: contain !important; object-position: center !important; padding: 7% !important; }
.adult-slide-rank { position: absolute; z-index: 2; top: 13px; left: 13px; padding: 5px 8px; border: 1px solid rgba(255,225,228,.26); border-radius: 8px; color: #fff; background: rgba(109, 15, 35, .75); font-size: .7rem; font-weight: 800; }
.adult-text-link { display: inline-flex; align-items: center; gap: 6px; color: #ffd1d8; font-size: .8rem; font-weight: 800; text-decoration: none; }
.adult-text-link:hover { color: #fff; }
.adult-slide-actions .adult-amazon-button { padding: 7px 9px; border-radius: 8px; font-size: .72rem; }
.adult-carousel-arrow { position: absolute; z-index: 10; top: 50%; display: grid; place-items: center; width: 31px; height: 31px; border: 1px solid rgba(255, 230, 235, .26); border-radius: 50%; color: #fff; background: rgba(32, 4, 11, .66); box-shadow: 0 6px 17px rgba(0,0,0,.26); cursor: pointer; transform: translateY(-50%); backdrop-filter: blur(8px); }
.adult-carousel-arrow:hover { border-color: rgba(255, 142, 160, .76); background: #8e112a; }
.adult-carousel-prev { left: 8px; }
.adult-carousel-next { right: 8px; }
.adult-award-card-footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 55px; padding: 9px 13px; }
.adult-carousel-dots { display: flex; flex-wrap: wrap; align-items: center; gap: 5px; }
.adult-carousel-dots button { width: 7px; height: 7px; padding: 0; border: 0; border-radius: 99px; background: rgba(255, 218, 224, .34); cursor: pointer; transition: width .2s ease, background .2s ease; }
.adult-carousel-dots button.is-active { width: 19px; background: #ff6980; }
.adult-top3-links { display: inline-flex; align-items: center; gap: 5px; color: #e8bdc4; }
.adult-top3-links small { margin-right: 2px; font-size: .61rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.adult-top3-links a { display: grid; place-items: center; width: 24px; height: 24px; border: 1px solid rgba(255,223,227,.25); border-radius: 7px; color: #fff2d1; font-size: .68rem; font-weight: 800; text-decoration: none; }
.adult-top3-links a:hover { border-color: rgba(255, 210, 139, .75); background: rgba(255, 193, 107, .16); }

/* Product cards */
.adult-product-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.adult-product-card { display: flex; min-width: 0; flex-direction: column; overflow: hidden; border: 1px solid var(--adult-line); border-radius: 18px; background: linear-gradient(145deg, #3a0b18, #21060d); transition: transform .22s ease, border-color .22s ease; }
.adult-product-card:hover { border-color: rgba(255, 127, 148, .52); transform: translateY(-3px); }
.adult-product-media { position: relative; display: grid; place-items: center; min-height: 214px; padding: 16px; overflow: hidden; text-decoration: none; background: radial-gradient(circle at 50% 40%, rgba(255, 90, 115, .19), transparent 56%), #2b0812; }
.adult-product-media .product-frame { width: min(100%, 188px); height: 180px; overflow: hidden; border-radius: 15px; background: #fff !important; }
.adult-product-media .olet-product-img { width: 100% !important; height: 100% !important; object-fit: contain !important; padding: 5% !important; }
.adult-product-media > span { position: absolute; top: 12px; left: 12px; padding: 5px 7px; border: 1px solid rgba(255, 227, 232, .25); border-radius: 7px; color: #fff; background: #850f2a; font-size: .69rem; font-weight: 800; }
.adult-product-copy { display: flex; min-height: 0; flex: 1; flex-direction: column; padding: 15px; }
.adult-score { display: flex; align-items: baseline; gap: 3px; margin: 8px 0; color: var(--adult-gold); }
.adult-score b { font-size: 1.33rem; }
.adult-score span { font-size: .74rem; }
.adult-score em { margin-left: auto; color: #f2bdc7; font-size: .69rem; font-style: normal; }
.adult-product-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; margin-top: auto; padding-top: 15px; }
.adult-amazon-button { padding: 8px 9px; border-radius: 9px; font-size: .75rem; }
.adult-economy-button { padding: 8px 10px; border-radius: 9px; font-size: .76rem; }
.adult-empty { display: grid; place-items: center; min-height: 260px; padding: 30px; border: 1px dashed rgba(255, 198, 208, .35); border-radius: 20px; color: var(--adult-muted); background: rgba(255,255,255,.025); text-align: center; }
.adult-empty > span { display: grid; place-items: center; width: 52px; height: 52px; margin-bottom: 12px; border: 1px solid rgba(255, 205, 215, .25); border-radius: 50%; color: #fff; background: rgba(249, 57, 88, .19); font-weight: 800; box-shadow: 0 0 25px rgba(255, 57, 88, .19); }
.adult-empty h2 { margin: 0 0 8px; font-family: Fraunces, Georgia, serif; }
.adult-empty p { max-width: 54ch; margin: 0; line-height: 1.65; }

/* Inner pages */
.adult-page-hero { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-top: 34px !important; padding: clamp(32px, 6vw, 74px) clamp(20px, 4vw, 58px); overflow: hidden; border: 1px solid var(--adult-line); border-radius: var(--adult-radius); background: radial-gradient(circle at 82% 22%, rgba(251, 68, 99, .27), transparent 26%), linear-gradient(130deg, rgba(91, 16, 34, .86), rgba(28, 6, 12, .94)); }
.adult-page-hero h1 { max-width: 14ch; margin-bottom: 13px; font-size: clamp(2.6rem, 5vw, 5.3rem); }
.adult-page-hero > b { display: grid; place-items: center; width: clamp(80px, 12vw, 150px); aspect-ratio: 1; border: 1px solid rgba(255, 206, 216, .38); border-radius: 50%; color: #fff; background: radial-gradient(circle at 35% 25%, #ed5b73, #790f29 67%, #2c0711); font-family: Fraunces, Georgia, serif; font-size: clamp(1.5rem, 3vw, 2.4rem); box-shadow: 0 0 48px rgba(255, 47, 80, .32); }
.adult-award-hero { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(310px, .9fr); gap: clamp(24px, 4vw, 64px); margin-top: 34px !important; padding: clamp(24px, 5vw, 72px); overflow: hidden; border: 1px solid var(--adult-line); border-radius: var(--adult-radius); background: radial-gradient(circle at 84% 15%, rgba(241, 73, 103, .25), transparent 28%), linear-gradient(130deg, rgba(82, 14, 31, .9), rgba(26, 5, 10, .95)); }
.adult-back-link { display: inline-flex; align-items: center; gap: 7px; margin-bottom: 20px; color: #ffc4ce; font-size: .83rem; font-weight: 800; text-decoration: none; }
.adult-back-link:hover { color: #fff; }
.adult-award-hero h1 { max-width: 13ch; font-size: clamp(2.6rem, 5vw, 5.2rem); }
.adult-meta { display: flex; flex-wrap: wrap; gap: 8px; margin: 21px 0; }
.adult-meta span { padding: 7px 9px; border: 1px solid var(--adult-line); border-radius: 999px; color: #f6cfd6; font-size: .74rem; }
.adult-award-cta { margin-top: 22px; }
.adult-award-hero-podium { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: end; gap: 9px; }
.adult-award-hero-podium > a { position: relative; display: grid; place-items: center; min-height: 272px; padding: 14px 9px; overflow: hidden; border: 1px solid rgba(255, 214, 222, .18); border-radius: 16px; background: rgba(255,255,255,.04); text-align: center; text-decoration: none; }
.adult-award-hero-podium > a:nth-child(2) { min-height: 318px; border-color: rgba(255, 209, 146, .4); background: rgba(255, 185, 104, .08); }
.adult-award-hero-podium > a > span { position: absolute; top: 9px; left: 9px; color: #ffdc9c; font-size: .7rem; font-weight: 800; }
.adult-award-hero-podium .product-frame { width: 100%; height: 130px; background: #fff !important; }
.adult-award-hero-podium .olet-product-img { width: 100%; height: 100%; object-fit: contain !important; padding: 5% !important; }
.adult-award-hero-podium b { font-size: .72rem; line-height: 1.25; }
.adult-article-layout { display: grid; grid-template-columns: minmax(0, 1fr) 290px; gap: 24px; margin-top: 30px !important; }
.adult-article, .adult-comparison { padding: clamp(20px, 3vw, 34px); border: 1px solid var(--adult-line); border-radius: 20px; background: rgba(56, 10, 21, .74); }
.adult-article h2 { margin: 0 0 12px; font-family: Fraunces, Georgia, serif; font-size: 1.75rem; letter-spacing: -.04em; }
.adult-article h2:not(:first-child) { margin-top: 30px; }
.adult-article p, .adult-article li { color: #efd5da; line-height: 1.76; }
.adult-article ul { padding-left: 20px; }
.adult-side-card { height: max-content; padding: 21px; border: 1px solid rgba(255, 209, 142, .26); border-radius: 17px; background: linear-gradient(155deg, rgba(100, 47, 29, .7), rgba(48, 9, 19, .87)); }
.adult-side-card > span { color: #ffdc9e; font-size: .7rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.adult-side-card h3 { margin: 7px 0; font-family: Fraunces, Georgia, serif; font-size: 1.4rem; }
.adult-side-card p, .adult-side-card ol { color: #f3d6da; font-size: .88rem; line-height: 1.7; }
.adult-side-card ol { padding-left: 18px; }
.adult-comparison { margin-top: 29px !important; }
.adult-comparison h2 { margin-top: 7px; }
.adult-comparison-table { color: #ffeff1; background: transparent; }
.adult-comparison-table th { color: #ffc2cd; }
.adult-comparison-table th, .adult-comparison-table td { border-color: var(--adult-line) !important; }
.adult-comparison-table a { color: #ffc5ce; }
.adult-comparison-table .adult-amazon-button { min-width: max-content; }
.table-product { display: flex; align-items: center; gap: 9px; min-width: 190px; }
.table-product .product-frame { width: 46px; height: 46px; flex: 0 0 46px; border-radius: 9px; background: #fff !important; }
.table-product .olet-product-img { width: 100%; height: 100%; object-fit: contain !important; padding: 4% !important; }

/* Product detail */
.adult-product-detail { display: grid; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); gap: clamp(24px, 4vw, 62px); margin-top: 34px !important; padding: clamp(20px, 4vw, 55px); border: 1px solid var(--adult-line); border-radius: var(--adult-radius); background: radial-gradient(circle at 12% 16%, rgba(252, 66, 95, .16), transparent 31%), linear-gradient(135deg, rgba(61, 12, 25, .92), rgba(26, 5, 11, .96)); }
.adult-product-gallery { min-width: 0; }
.adult-product-gallery .main-product-frame { display: grid; place-items: center; min-height: 420px; padding: 30px; overflow: hidden; border: 1px solid rgba(255, 216, 223, .17); border-radius: 18px; background: radial-gradient(circle at 50% 40%, rgba(255, 78, 103, .17), transparent 57%), #260810; }
.adult-product-gallery .main-product-frame img { width: 100%; height: 355px; object-fit: contain; background: #fff; border-radius: 14px; }
.adult-product-gallery .thumb-strip { display: flex; gap: 9px; margin-top: 12px; overflow: auto; padding: 3px 1px 6px; }
.adult-product-gallery .thumb-strip button { display: grid; place-items: center; flex: 0 0 66px; width: 66px; height: 66px; padding: 4px; overflow: hidden; border: 1px solid rgba(255, 214, 222, .2); border-radius: 10px; background: #fff; cursor: pointer; }
.adult-product-gallery .thumb-strip button:hover { border-color: rgba(255, 130, 150, .74); }
.adult-product-gallery .thumb-strip img { width: 100%; height: 100%; object-fit: contain; }
.adult-product-detail-copy > span { display: inline-block; color: #ffbdc8; font-size: .75rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.adult-product-detail-copy h1 { margin: 12px 0; font-family: Fraunces, Georgia, serif; font-size: clamp(2.55rem, 5vw, 5.1rem); letter-spacing: -.065em; line-height: .97; }
.adult-product-detail-copy > p { color: #eed2d8; line-height: 1.76; }
.adult-product-detail-copy > small { display: block; margin-top: 15px; color: #dbaeb8; line-height: 1.55; }
.adult-product-detail-copy .adult-product-actions { margin-top: 23px; }

/* Trust panel / advertising / footer */
.adult-trust-panel { display: flex; align-items: center; gap: 18px; margin-top: 52px !important; padding: 24px; border: 1px solid rgba(255, 197, 137, .3); border-radius: 20px; background: linear-gradient(120deg, rgba(103, 50, 29, .63), rgba(63, 11, 23, .76)); }
.adult-trust-icon { display: grid; place-items: center; width: 52px; height: 52px; flex: 0 0 52px; border: 1px solid rgba(255, 220, 181, .3); border-radius: 50%; color: #ffdab6; background: rgba(146, 66, 36, .34); }
.adult-trust-panel h2 { margin: 7px 0; font-size: clamp(1.5rem, 2.5vw, 2.1rem); }
.adult-trust-panel p { max-width: 800px; margin: 0; color: #f1c9c0; line-height: 1.66; }
.adult-trust-panel > a { display: inline-flex; align-items: center; gap: 7px; margin-left: auto; color: #ffdfb5; font-size: .84rem; font-weight: 800; text-decoration: none; white-space: nowrap; }
.adult-ad-slot { padding: 11px; overflow: hidden; border: 1px dashed rgba(255, 188, 199, .35); border-radius: 14px; background: rgba(255,255,255,.026); }
.adult-ad-label { display: inline-block; margin: 0 0 8px 2px; color: #e9bbc3; font-size: .63rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.adult-footer { border-top: 1px solid var(--adult-line); background: rgba(12, 2, 6, .62); }
.adult-footer-inner { width: var(--adult-container); margin: auto; padding: 32px 0 105px; color: #d9adb6; font-size: .84rem; line-height: 1.62; }
.adult-footer-inner p { max-width: 980px; margin: 8px 0; }
.adult-footer strong { color: #ffe4e8; }
.adult-footer a { color: #ffc6cf; text-decoration: none; }
.adult-footer a:hover { color: #fff; }
.adult-footer-brand { display: flex; align-items: center; gap: 9px; margin-bottom: 13px; color: #f5c3cc; font-size: .72rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.adult-footer-brand img { width: 86px; height: 28px; object-fit: contain; object-position: left; }
.adult-mobile-dock { display: none; }

/* Information pages */
.adult-info { max-width: 930px; margin: auto; }
.adult-info header { padding: 42px 0; border-bottom: 1px solid var(--adult-line); }
.adult-info h1 { max-width: 14ch; }
.adult-info header p, .adult-info article p { color: #e9c7cc; line-height: 1.76; }
.adult-info article { padding: 28px 0; }
.adult-info article h2 { margin: 30px 0 8px; font-family: Fraunces, Georgia, serif; }
.adult-info article ul { color: #edced2; line-height: 1.75; }

/* Age gate */
.adult-gate-body { display: flex; flex-direction: column; min-height: 100vh; background: radial-gradient(circle at 55% 22%, rgba(173, 15, 44, .3), transparent 28rem), #130307; }
.adult-gate-body .adult-main { display: grid; flex: 1; padding: 0; place-items: center; }
.adult-gate-body .adult-footer { display: none; }
.adult-header-gate .adult-header-shell { grid-template-columns: auto 1fr; }
.adult-header-gate .adult-header-return { justify-self: end; }
.adult-gate-shell { position: relative; display: grid; width: 100%; min-height: calc(100vh - 76px); padding: 42px 20px; overflow: hidden; place-items: center; isolation: isolate; }
.adult-gate-aura { position: absolute; z-index: -1; border-radius: 50%; filter: blur(10px); }
.adult-gate-aura-one { width: min(60vw, 680px); aspect-ratio: 1; left: -20%; top: -22%; background: radial-gradient(circle, rgba(239, 48, 79, .33), transparent 66%); }
.adult-gate-aura-two { width: min(48vw, 550px); aspect-ratio: 1; right: -16%; bottom: -18%; background: radial-gradient(circle, rgba(139, 22, 52, .42), transparent 66%); }
.adult-gate-card { width: min(100%, 660px); padding: clamp(26px, 5vw, 54px); border: 1px solid rgba(255, 212, 220, .24); border-radius: 26px; background: linear-gradient(145deg, rgba(86, 14, 32, .94), rgba(24, 4, 10, .96)); box-shadow: 0 29px 80px rgba(0,0,0,.48), inset 0 1px 0 rgba(255,255,255,.08); text-align: center; }
.adult-gate-mark { position: relative; display: grid; place-items: center; width: 77px; height: 77px; margin: auto; border: 1px solid rgba(255, 222, 227, .43); border-radius: 50%; color: #fff; background: radial-gradient(circle at 36% 27%, #ff7590, #b71132 65%, #650717); box-shadow: 0 0 36px rgba(255, 47, 81, .44); }
.adult-gate-mark span { font-weight: 900; font-size: 1.02rem; }
.adult-gate-mark i { position: absolute; right: -7px; bottom: -3px; display: grid; place-items: center; width: 27px; height: 27px; border: 2px solid #5c0919; border-radius: 50%; color: #ffd7a2; background: #38101a; }
.adult-gate-card .eyebrow { display: block; margin-top: 17px; color: #ffbdc8; font-size: .72rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.adult-gate-card h1 { max-width: 12ch; margin: 11px auto 13px; font-family: Fraunces, Georgia, serif; font-size: clamp(2.25rem, 5vw, 4rem); letter-spacing: -.06em; line-height: .99; }
.adult-gate-lead { max-width: 47ch; margin: 0 auto; color: #f0d0d6; line-height: 1.68; }
.adult-gate-disclaimer { display: flex; gap: 10px; margin: 20px 0 0; padding: 13px 14px; border: 1px solid rgba(255, 212, 218, .15); border-radius: 13px; color: #e5bbc4; background: rgba(255,255,255,.045); text-align: left; }
.adult-gate-disclaimer > span { color: #ffb7c5; }
.adult-gate-disclaimer p { margin: 0; font-size: .81rem; line-height: 1.55; }
.adult-gate-card h2 { margin: 25px 0 13px; font-size: 1.06rem; }
.adult-age-actions { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: stretch; }
.adult-age-actions button { cursor: pointer; }
.adult-gate-yes { flex-direction: column; min-height: 60px; border: 0; }
.adult-gate-yes small { opacity: .77; font-size: .64rem; font-weight: 600; }
.adult-decline-button { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 60px; padding: 12px 15px; border: 1px solid rgba(255, 221, 226, .28); border-radius: 12px; color: #fff; background: rgba(255,255,255,.035); font-size: .82rem; font-weight: 800; }
.adult-decline-button:hover { border-color: rgba(255, 142, 160, .7); background: rgba(255,255,255,.09); }
.adult-gate-legal { margin: 16px 0 0; color: #cc9ca7; font-size: .72rem; line-height: 1.5; }

/* Tablet */
@media (max-width: 1120px) {
  .adult-header-shell { grid-template-columns: auto 1fr auto; }
  .adult-nav { gap: 0; }
  .adult-nav a { padding: 9px 9px; font-size: .79rem; }
  .adult-desktop-return { padding: 9px 10px; font-size: .78rem; }
  .adult-award-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .adult-product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .adult-award-hero, .adult-product-detail { grid-template-columns: 1fr; }
  .adult-award-hero-podium { max-width: 720px; }
  .adult-article-layout { grid-template-columns: 1fr; }
  .adult-side-card { display: none; }
  .adult-trust-panel > a { margin-left: 0; }
}

/* Mobile / app shell */
@media (max-width: 760px) {
  :root { --adult-container: min(100% - 28px, 680px); }
  .adult-header-shell { min-height: 66px; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; }
  .adult-brand > img { width: 91px; height: 30px; }
  .adult-brand strong { font-size: .89rem; }
  .adult-brand small { font-size: .54rem; }
  .adult-brand > b { min-width: 34px; height: 25px; padding: 0 7px; font-size: .67rem; }
  .adult-desktop-return { display: none; }
  .adult-menu-toggle { display: grid; }
  .adult-nav { position: fixed; top: 76px; right: 10px; left: 10px; z-index: 100; display: grid; gap: 6px; max-height: calc(100vh - 94px); padding: 13px; overflow: auto; border: 1px solid rgba(255, 213, 220, .18); border-radius: 19px; background: rgba(35, 5, 13, .97); box-shadow: 0 25px 70px rgba(0,0,0,.47); opacity: 0; visibility: hidden; transform: translateY(-14px); transition: .22s ease; }
  .adult-nav.is-open { opacity: 1; visibility: visible; transform: translateY(0); }
  .adult-nav a { justify-content: flex-start; width: 100%; padding: 13px 12px; border-radius: 12px; font-size: .91rem; }
  .adult-nav-main { margin-top: 4px; }
  .adult-menu-backdrop { position: fixed; inset: 0; z-index: 80; display: block; background: rgba(12, 1, 5, .54); backdrop-filter: blur(2px); opacity: 0; visibility: hidden; transition: .2s ease; }
  .adult-menu-backdrop.is-open { opacity: 1; visibility: visible; }
  .adult-body.adult-menu-open { overflow: hidden; }
  .adult-main { min-height: calc(100vh - 66px); padding-bottom: 38px; }
  .adult-hero { min-height: max(590px, calc(100svh - 66px)); }
  .adult-hero-media img { object-position: 62% center; }
  .adult-hero-shade { background: linear-gradient(0deg, rgba(19, 3, 8, .94) 0%, rgba(30, 5, 12, .72) 55%, rgba(20, 3, 8, .5) 100%); }
  .adult-hero::before { top: 10%; left: auto; right: -32%; width: 420px; }
  .adult-hero-inner { min-height: inherit; align-items: flex-end; padding: 76px 0 83px; }
  .adult-hero-copy { width: 100%; }
  .adult-hero h1 { max-width: 10ch; margin-top: 13px; font-size: clamp(3.15rem, 16vw, 4.45rem); }
  .adult-hero p { font-size: .94rem; line-height: 1.62; }
  .adult-hero-side { position: absolute; top: 64px; right: 0; min-width: 0; text-align: right; }
  .adult-hero-side-mark { margin: 0; font-size: 4.7rem; }
  .adult-hero-side p { display: none; }
  .adult-hero-notes { gap: 9px 13px; margin-top: 18px; font-size: .7rem; }
  .adult-hero-scroll { bottom: 17px; font-size: .61rem; }
  .adult-section-heading { display: block; margin-top: 42px; margin-bottom: 17px; }
  .adult-section-heading h2 { font-size: 2.3rem; }
  .adult-section-heading > a { margin-top: 11px; }
  .adult-award-grid, .adult-product-grid { grid-template-columns: 1fr; }
  .adult-award-card { border-radius: 18px; }
  .adult-award-slide { grid-template-columns: 1fr; grid-template-rows: 182px auto; min-height: 0; }
  .adult-award-card-visual, .adult-slide-product-media { min-height: 182px; max-height: 182px; }
  .adult-award-stack { padding: 17px 18px 12px; }
  .adult-award-stack-item { max-width: 112px; }
  .adult-award-card-copy, .adult-slide-product-copy { min-height: 194px; padding: 15px; }
  .adult-slide-product-media { padding: 10px; }
  .adult-slide-product-media .product-frame { width: min(100%, 148px); height: min(100%, 148px); border-radius: 13px; }
  .adult-carousel-arrow { top: 91px; }
  .adult-carousel-prev { left: 7px; }
  .adult-carousel-next { right: 7px; }
  .adult-product-card.compact { display: grid; grid-template-columns: 120px minmax(0, 1fr); }
  .adult-product-card.compact .adult-product-media { min-height: 0; height: 100%; padding: 10px; }
  .adult-product-card.compact .adult-product-media .product-frame { width: 100%; height: 102px; border-radius: 12px; }
  .adult-product-card.compact .adult-product-copy { min-height: 172px; }
  .adult-product-card.compact .adult-product-actions .adult-amazon-button { display: none; }
  .adult-page-hero, .adult-award-hero, .adult-product-detail { margin-top: 20px !important; border-radius: 19px; }
  .adult-page-hero { align-items: center; padding: 28px 20px; }
  .adult-page-hero h1 { max-width: 10ch; font-size: 3rem; }
  .adult-page-hero > b { width: 68px; flex: 0 0 68px; }
  .adult-award-hero { padding: 23px 17px; }
  .adult-award-hero h1 { font-size: 3.08rem; }
  .adult-award-hero-podium > a { min-height: 184px; padding: 10px 5px; }
  .adult-award-hero-podium > a:nth-child(2) { min-height: 216px; }
  .adult-award-hero-podium .product-frame { height: 86px; }
  .adult-article-layout { margin-top: 20px !important; }
  .adult-article, .adult-comparison { padding: 19px 15px; border-radius: 16px; }
  .adult-product-detail { padding: 18px 14px; gap: 20px; }
  .adult-product-gallery .main-product-frame { min-height: 280px; padding: 18px; }
  .adult-product-gallery .main-product-frame img { height: 235px; }
  .adult-trust-panel { align-items: flex-start; flex-direction: column; gap: 13px; margin-top: 36px !important; padding: 19px; }
  .adult-trust-panel > a { margin-top: 1px; }
  .adult-footer-inner { padding: 25px 0 106px; }
  .adult-mobile-dock { position: fixed; right: 10px; bottom: max(10px, env(safe-area-inset-bottom)); left: 10px; z-index: 75; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px; padding: 7px; border: 1px solid rgba(255, 218, 224, .19); border-radius: 18px; background: rgba(34, 5, 13, .89); box-shadow: 0 15px 42px rgba(0,0,0,.42); backdrop-filter: blur(17px); }
  .adult-mobile-dock a { display: grid; place-items: center; gap: 4px; min-height: 46px; border-radius: 12px; color: #e6b7c0; font-size: .62rem; font-weight: 700; text-decoration: none; }
  .adult-mobile-dock a svg { font-size: 1.05rem; }
  .adult-mobile-dock a.is-active { color: #fff; background: linear-gradient(140deg, rgba(246, 61, 91, .36), rgba(137, 11, 35, .52)); box-shadow: inset 0 0 0 1px rgba(255, 178, 191, .24), 0 0 18px rgba(255, 57, 89, .18); }
  .adult-header-gate .adult-header-shell { grid-template-columns: minmax(0, 1fr) auto; }
  .adult-header-gate .adult-brand > span { display: none; }
  .adult-header-gate .adult-header-return { padding: 8px 10px; font-size: .74rem; }
  .adult-gate-shell { min-height: calc(100svh - 66px); padding: 22px 14px; }
  .adult-gate-card { padding: 28px 18px; border-radius: 21px; }
  .adult-gate-card h1 { font-size: 2.65rem; }
  .adult-age-actions { grid-template-columns: 1fr; }
  .adult-decline-button { min-height: 49px; }
}

@media (max-width: 420px) {
  .adult-hero-actions { display: grid; grid-template-columns: 1fr; }
  .adult-hero-actions > * { width: 100%; }
  .adult-product-card.compact { grid-template-columns: 103px minmax(0, 1fr); }
  .adult-product-card.compact .adult-product-media .product-frame { height: 92px; }
  .adult-award-card-actions { gap: 7px; }
  .adult-card-primary, .adult-card-secondary { padding: 8px; font-size: .7rem; }
  .adult-mobile-dock { right: 7px; left: 7px; }
}

/* V13.2 — festival artwork, white product image stages and landing V.S. cards. */
.adult-award-card-visual { isolation: isolate; }
.adult-award-card-visual::before { content: ""; position: absolute; inset: 0; z-index: 0; background: linear-gradient(145deg, #74142c, #21050d 74%); }
.adult-award-hero { position: relative; isolation: isolate; background: linear-gradient(130deg, rgba(82, 14, 31, .92), rgba(26, 5, 10, .96)); }
.adult-award-hero > div, .adult-award-hero-podium { position: relative; z-index: 3; }
.adult-award-hero-art { position: absolute; z-index: 0; inset: -24%; display: block; background: url("../img/slide/olet-store-slide-10.webp") var(--adult-art-x, 56%) var(--adult-art-y, 36%) / cover no-repeat; filter: blur(8px) saturate(1.18) contrast(1.06); opacity: .68; transform: scale(var(--adult-art-scale, 1.1)) rotate(var(--adult-art-rotate, 0deg)); transform-origin: center; }
.adult-award-hero-art-large { inset: -18%; filter: blur(13px) saturate(1.26) contrast(1.08); opacity: .61; }
.adult-award-visual-shade { position: absolute; z-index: 1; inset: 0; display: block; background: linear-gradient(135deg, rgba(38, 5, 13, .58), rgba(83, 9, 28, .25) 47%, rgba(19, 3, 8, .74)); }
.adult-award-visual-shade-hero { background: linear-gradient(102deg, rgba(28, 4, 11, .86), rgba(62, 7, 23, .53) 50%, rgba(21, 3, 8, .72)); }
.adult-award-card-visual .adult-award-visual-glow, .adult-award-card-visual .adult-award-visual-grid { z-index: 2; }
.adult-award-stack { z-index: 3; }
.adult-award-stamp { z-index: 4; }
.adult-award-hero-podium > a { background: rgba(36, 4, 12, .36); backdrop-filter: blur(7px); }

/* Imported Amazon images have white backgrounds. The complete product image stage is white; the surrounding card remains red. */
.adult-product-media { padding: 0; background: #fff; }
.adult-product-media .product-frame { width: 100%; height: 100%; min-height: 214px; border: 0; border-radius: 0; background: #fff !important; }
.adult-product-media .olet-product-img { display: block; width: 100% !important; height: 100% !important; object-fit: contain !important; object-position: center !important; padding: 12px !important; background: #fff !important; }
.adult-product-media > span { z-index: 3; }
.adult-slide-product-media { padding: 0; background: #fff; }
.adult-slide-product-media::after { display: none; }
.adult-slide-product-media .product-frame { width: 100%; height: 100%; max-width: none; max-height: none; border: 0 !important; border-radius: 0; background: #fff !important; box-shadow: none !important; }
.adult-slide-product-media .olet-product-img { padding: 14px !important; background: #fff !important; }

/* Landing page product-versus cards */
.adult-vs-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.adult-vs-card { overflow: hidden; border: 1px solid rgba(255, 177, 192, .25); border-radius: 21px; background: linear-gradient(145deg, #4c0b1d, #21050e 74%); box-shadow: 0 20px 45px rgba(0, 0, 0, .22); }
.adult-vs-shell { position: relative; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); isolation: isolate; }
.adult-vs-shell::before { content: ""; position: absolute; inset: 0; z-index: 0; background: radial-gradient(circle at 50% 44%, rgba(255, 69, 99, .27), transparent 33%), linear-gradient(90deg, rgba(255,255,255,.04), transparent 50%, rgba(255,255,255,.035)); pointer-events: none; }
.adult-vs-side { position: relative; z-index: 1; display: grid; min-width: 0; grid-template-columns: 112px minmax(0, 1fr); align-items: center; gap: 11px; padding: 16px; color: inherit; text-decoration: none; }
.adult-vs-side + .adult-vs-side { border-left: 1px solid rgba(255, 222, 228, .14); }
.adult-vs-media { display: grid; place-items: center; width: 112px; height: 124px; overflow: hidden; border: 1px solid rgba(255,255,255,.3); border-radius: 14px; background: #fff; box-shadow: 0 12px 28px rgba(0,0,0,.25); }
.adult-vs-media .product-frame { width: 100%; height: 100%; border: 0; background: #fff !important; }
.adult-vs-media .olet-product-img { width: 100%; height: 100%; object-fit: contain !important; padding: 8px !important; background: #fff !important; }
.adult-vs-copy { min-width: 0; }
.adult-vs-copy span { display: block; margin-bottom: 5px; color: #ffcf9f; font-size: .67rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.adult-vs-copy h3 { margin: 0; font-size: 1rem; line-height: 1.18; }
.adult-vs-copy p { margin: 7px 0 0; color: #ffccd4; font-size: .78rem; font-weight: 800; }
.adult-vs-badge { position: absolute; z-index: 5; top: 50%; left: 50%; display: grid; place-items: center; width: 48px; height: 48px; border: 1px solid rgba(255, 232, 236, .42); border-radius: 50%; color: #fff4f5; background: linear-gradient(145deg, #ff5c75, #991128); box-shadow: 0 0 0 5px rgba(54, 7, 18, .95), 0 9px 25px rgba(0,0,0,.34); font-size: .77rem; letter-spacing: .04em; transform: translate(-50%, -50%); }
.adult-vs-footer { display: flex; align-items: center; justify-content: space-between; gap: 13px; padding: 14px 16px; border-top: 1px solid rgba(255, 222, 228, .13); background: rgba(255,255,255,.03); }
.adult-vs-footer > div { min-width: 0; }
.adult-vs-footer small { display: block; margin-bottom: 4px; color: #ffb9c5; font-size: .67rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.adult-vs-footer p { margin: 0; color: #e7bcc5; font-size: .78rem; line-height: 1.47; }
.adult-vs-footer .adult-card-primary { flex: 0 0 auto; white-space: nowrap; }
.adult-vs-links { display: flex; flex-direction: column; align-items: flex-end; gap: 5px; flex: 0 0 auto; }

@media (max-width: 1120px) {
  .adult-vs-grid { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .adult-award-hero-art-large { inset: -42%; opacity: .54; }
  .adult-award-hero-podium > a { background: rgba(37, 4, 13, .52); }
  .adult-product-card.compact .adult-product-media { padding: 0; background: #fff; }
  .adult-product-card.compact .adult-product-media .product-frame { min-height: 0; height: 100%; border-radius: 0; }
  .adult-product-card.compact .adult-product-media .olet-product-img { padding: 8px !important; }
  .adult-slide-product-media .product-frame { width: 100%; height: 100%; border-radius: 0; }
  .adult-slide-product-media .olet-product-img { padding: 9px !important; }
  .adult-vs-shell { grid-template-columns: 1fr; }
  .adult-vs-side { grid-template-columns: 92px minmax(0, 1fr); min-height: 124px; padding: 13px 17px; }
  .adult-vs-side + .adult-vs-side { border-top: 1px solid rgba(255, 222, 228, .14); border-left: 0; }
  .adult-vs-media { width: 92px; height: 96px; }
  .adult-vs-badge { width: 42px; height: 42px; top: 50%; left: auto; right: 14px; font-size: .69rem; transform: translateY(-50%); }
  .adult-vs-side:nth-child(3) { padding-right: 66px; }
  .adult-vs-footer { align-items: flex-start; flex-direction: column; }
  .adult-vs-footer .adult-card-primary { width: 100%; }
  .adult-vs-links { width: 100%; align-items: flex-start; }
}

/* V13.3 — readable product stages, ranked festival podiums, and category V.S. pages. */
.adult-ad-slot.is-empty { display: none !important; }
.adult-ad-disclosure { max-width: 980px; padding: 12px 14px; border: 1px solid rgba(255, 204, 214, .14); border-radius: 13px; color: #d8aab3; background: rgba(255,255,255,.035); }

/* Keep the red visual system around a deliberately smaller, fully white imported-image stage. */
.adult-product-media { min-height: 238px; padding: 14px; background: radial-gradient(circle at 50% 36%, rgba(255, 94, 120, .24), transparent 62%), linear-gradient(145deg, #5d0e22, #24050f 78%); }
.adult-product-media .product-frame { display: grid !important; place-items: center; width: min(100%, 210px); height: 194px; min-height: 0; max-height: 194px; aspect-ratio: auto !important; overflow: hidden; border: 1px solid rgba(255,255,255,.5) !important; border-radius: 15px !important; background: #fff !important; box-shadow: 0 13px 27px rgba(0,0,0,.25) !important; }
.adult-product-media .product-frame::before, .adult-slide-product-media .product-frame::before, .adult-award-stack-image .product-frame::before, .adult-podium-image .product-frame::before { display: none !important; }
.adult-product-media .olet-product-img { width: 100% !important; height: 100% !important; max-width: 100% !important; max-height: 100% !important; object-fit: contain !important; object-position: center !important; padding: 9% !important; background: #fff !important; transform: none !important; }
.adult-product-media > span { z-index: 3; }
.adult-product-card.compact .adult-product-media { min-height: 238px; }

/* Festival first slide: no overlapping mini-images. Each top-three finalist has a visible tile, medal and label. */
.adult-summary-slide { grid-template-columns: 1fr !important; grid-template-rows: 236px minmax(204px, auto); min-height: 0 !important; }
.adult-summary-slide .adult-award-card-visual { min-height: 236px; max-height: 236px; }
.adult-summary-slide .adult-award-card-copy { min-height: 204px; }
.adult-award-stack { position: absolute; inset: 0; z-index: 3; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: end; gap: 9px; padding: 46px 14px 13px; }
.adult-award-stack-item { position: relative; display: grid; grid-template-rows: auto minmax(0, 1fr) auto; width: auto; max-width: none; height: 151px; min-width: 0; aspect-ratio: auto; margin: 0 !important; overflow: hidden; border: 1px solid rgba(255,255,255,.42); border-radius: 14px; background: rgba(30, 4, 11, .56); box-shadow: 0 12px 21px rgba(0,0,0,.31); backdrop-filter: blur(4px); transform: none !important; }
.adult-award-stack-item.rank-1 { height: 166px; transform: translateY(-12px) !important; border-color: rgba(255, 219, 157, .78); box-shadow: 0 14px 29px rgba(0,0,0,.38), 0 0 20px rgba(255, 188, 85, .15); }
.adult-award-stack-item > b { position: absolute; z-index: 2; top: 7px; left: 7px; display: inline-flex; align-items: center; min-height: 22px; padding: 4px 6px; border: 1px solid rgba(255,255,255,.42); border-radius: 8px; color: #fff7e0; background: rgba(62, 6, 18, .78); font-size: .59rem; line-height: 1; letter-spacing: .04em; }
.adult-award-stack-item.rank-1 > b { color: #fff0bd; border-color: rgba(255, 222, 142, .62); background: rgba(111, 57, 18, .72); }
.adult-award-stack-image { display: grid; place-items: center; min-height: 0; padding: 10px 8px 0; background: #fff; }
.adult-award-stack-image .product-frame { width: 100%; height: 100%; min-height: 0; aspect-ratio: auto !important; overflow: hidden; border: 0 !important; border-radius: 0 !important; background: #fff !important; box-shadow: none !important; }
.adult-award-stack-image .olet-product-img { width: 100% !important; height: 100% !important; object-fit: contain !important; padding: 6px !important; background: #fff !important; }
.adult-award-stack-item small { display: -webkit-box; min-height: 31px; padding: 6px 6px 7px; overflow: hidden; color: #fff1f3; background: rgba(36, 4, 13, .88); font-size: .58rem; font-weight: 800; line-height: 1.18; text-align: center; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.adult-award-stamp { top: 10px; left: 10px; width: 44px; height: 44px; }
.adult-award-stamp small { font-size: .41rem; }

/* Product slides use the same restrained product stage instead of a stretched full-card image. */
.adult-slide-product-media { min-height: 268px; max-height: 268px; padding: 17px; background: radial-gradient(circle at 50% 42%, rgba(255, 84, 110, .24), transparent 55%), #300711; }
.adult-slide-product-media .product-frame { width: min(100%, 190px); height: 190px; min-height: 0; max-width: 100%; max-height: 100%; aspect-ratio: auto !important; overflow: hidden; border: 1px solid rgba(255,255,255,.48) !important; border-radius: 16px !important; background: #fff !important; box-shadow: 0 14px 28px rgba(0,0,0,.29) !important; }
.adult-slide-product-media .olet-product-img { width: 100% !important; height: 100% !important; object-fit: contain !important; padding: 9% !important; background: #fff !important; }

/* Festival page: product cards identify winner / second / third before a visitor opens a product. */
.adult-award-hero-podium { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; gap: 11px; }
.adult-award-hero-podium > .adult-podium-card { position: relative; display: grid; grid-template-rows: auto 116px auto; min-width: 0; min-height: 0; padding: 10px; overflow: hidden; border: 1px solid rgba(255, 214, 222, .24); border-radius: 17px; color: inherit; background: rgba(38, 4, 13, .48); text-align: left; text-decoration: none; backdrop-filter: blur(7px); transition: transform .2s ease, border-color .2s ease, background .2s ease; }
.adult-award-hero-podium > .adult-podium-card:hover { transform: translateY(-3px); border-color: rgba(255, 176, 191, .64); background: rgba(64, 8, 22, .63); }
.adult-award-hero-podium > .adult-podium-card.adult-podium-rank-1 { border-color: rgba(255, 213, 137, .58); background: linear-gradient(160deg, rgba(125, 67, 25, .42), rgba(48, 5, 15, .62)); box-shadow: 0 0 24px rgba(255, 190, 91, .12); }
.adult-award-hero-podium > .adult-podium-card > span { position: static; }
.adult-podium-medal { display: flex; align-items: center; gap: 5px; min-width: 0; margin-bottom: 8px; color: #ffdca0; font-size: .66rem; }
.adult-podium-medal svg { color: #ffcf78; }
.adult-podium-medal b { color: #fff7de; font-size: .72rem; }
.adult-podium-medal em { overflow: hidden; color: #f7cfd5; font-size: .58rem; font-style: normal; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; text-overflow: ellipsis; white-space: nowrap; }
.adult-podium-image { display: grid; place-items: center; min-width: 0; min-height: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.38); border-radius: 12px; background: #fff; }
.adult-podium-image .product-frame { width: 100%; height: 100%; min-height: 0; aspect-ratio: auto !important; overflow: hidden; border: 0 !important; border-radius: 0 !important; background: #fff !important; box-shadow: none !important; }
.adult-podium-image .olet-product-img { width: 100%; height: 100%; object-fit: contain !important; padding: 8% !important; background: #fff !important; }
.adult-podium-copy { display: grid; gap: 3px; min-width: 0; padding-top: 9px; }
.adult-podium-copy small { color: #ffbdca; font-size: .57rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.adult-podium-copy strong { display: -webkit-box; overflow: hidden; color: #fff5f6; font-size: .72rem; line-height: 1.2; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.adult-podium-copy em { color: #ffdaa0; font-size: .62rem; font-style: normal; font-weight: 800; }

/* Compact archive links are intentionally visible above the newest content without competing with the headline. */
.adult-mini-archive-link { display: inline-flex; align-items: center; gap: 6px; margin-bottom: 10px; padding: 6px 9px; border: 1px solid rgba(255, 196, 206, .26); border-radius: 999px; color: #ffccd5; background: rgba(255,255,255,.045); font-size: .68rem; font-weight: 800; letter-spacing: .03em; text-decoration: none; }
.adult-mini-archive-link:hover { border-color: rgba(255, 156, 175, .7); color: #fff; background: rgba(255, 94, 119, .12); }

/* Adult V.S. selector and pair pages. */
.adult-vs-category { margin-top: 48px; }
.adult-vs-builder { display: grid; grid-template-columns: minmax(0, .8fr) minmax(430px, 1.2fr); gap: clamp(22px, 4vw, 54px); margin-top: 31px !important; padding: clamp(23px, 4vw, 42px); border: 1px solid rgba(255, 196, 207, .22); border-radius: 22px; background: radial-gradient(circle at 85% 15%, rgba(255, 74, 104, .2), transparent 31%), linear-gradient(132deg, rgba(80, 12, 29, .82), rgba(27, 5, 11, .94)); }
.adult-vs-builder > div > span, .adult-vs-builder small { color: #ffbdc9; font-size: .71rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.adult-vs-builder h2 { margin: 8px 0; font-family: Fraunces, Georgia, serif; font-size: clamp(1.9rem, 3.4vw, 3.15rem); letter-spacing: -.05em; line-height: 1; }
.adult-vs-builder p { margin: 0; color: #e9c6cc; line-height: 1.68; }
.adult-vs-builder-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; align-content: center; }
.adult-vs-builder-form label { display: grid; gap: 6px; color: #ffdbe1; font-size: .68rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.adult-vs-builder-form label:first-child { grid-column: 1 / -1; }
.adult-vs-builder-form select { width: 100%; min-width: 0; padding: 12px 11px; border: 1px solid rgba(255, 217, 224, .2); border-radius: 11px; color: #fff4f6; background: rgba(12, 1, 5, .42); outline: none; font: inherit; font-size: .84rem; letter-spacing: 0; text-transform: none; }
.adult-vs-builder-form select:focus { border-color: rgba(255, 142, 162, .72); box-shadow: 0 0 0 3px rgba(255, 86, 112, .12); }
.adult-vs-builder-form button { grid-column: 1 / -1; min-height: 47px; border: 0; cursor: pointer; }
.adult-vs-builder-error { grid-column: 1 / -1; min-height: 1.2em; color: #ffbdc9 !important; font-size: .78rem; }
.adult-vs-page-hero > b { font-size: clamp(1.3rem, 2.5vw, 2rem); }
.adult-vs-hero { display: grid; grid-template-columns: minmax(0, .9fr) minmax(460px, 1.1fr); gap: clamp(22px, 5vw, 74px); margin-top: 34px !important; padding: clamp(24px, 5vw, 68px); overflow: hidden; border: 1px solid rgba(255, 196, 207, .23); border-radius: 25px; background: radial-gradient(circle at 50% 0%, rgba(255, 93, 119, .2), transparent 30%), linear-gradient(135deg, rgba(85, 12, 30, .93), rgba(24, 4, 10, .97)); }
.adult-vs-hero-heading > span { color: #ffbdc8; font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.adult-vs-hero h1 { max-width: 12ch; margin: 13px 0 14px; font-family: Fraunces, Georgia, serif; font-size: clamp(2.5rem, 4.8vw, 5.1rem); letter-spacing: -.065em; line-height: .96; }
.adult-vs-hero h1 em { color: #ffbec9; font-style: italic; }
.adult-vs-hero p { margin: 0; color: #e9cbd0; line-height: 1.7; }
.adult-vs-stage { position: relative; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; align-items: center; }
.adult-vs-stage > b { position: absolute; z-index: 4; top: 50%; left: 50%; display: grid; place-items: center; width: 56px; height: 56px; border: 1px solid rgba(255,235,239,.45); border-radius: 50%; color: #fff; background: linear-gradient(145deg, #ff5f78, #971027); box-shadow: 0 0 0 6px rgba(61, 7, 19, .96), 0 12px 28px rgba(0,0,0,.35); font-size: .8rem; transform: translate(-50%, -50%); }
.adult-vs-stage-product { display: grid; place-items: center; min-width: 0; min-height: 355px; padding: 16px; overflow: hidden; border: 1px solid rgba(255, 220, 227, .22); border-radius: 18px; background: rgba(255,255,255,.045); text-align: center; }
.adult-vs-stage-product > span { align-self: start; justify-self: start; padding: 5px 8px; border: 1px solid rgba(255,225,229,.28); border-radius: 8px; color: #ffdfaa; background: rgba(105, 13, 33, .66); font-size: .67rem; font-weight: 800; }
.adult-vs-stage-product .product-frame { width: min(100%, 176px); height: 176px; min-height: 0; aspect-ratio: auto !important; overflow: hidden; border: 1px solid rgba(255,255,255,.4); border-radius: 15px; background: #fff !important; box-shadow: 0 12px 24px rgba(0,0,0,.22); }
.adult-vs-stage-product .product-frame::before { display: none; }
.adult-vs-stage-product .olet-product-img { width: 100%; height: 100%; object-fit: contain !important; padding: 8% !important; background: #fff !important; }
.adult-vs-stage-product h2 { display: -webkit-box; min-height: 2.45em; margin: 11px 0 5px; overflow: hidden; color: #fff3f5; font-size: .93rem; line-height: 1.22; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.adult-vs-stage-product > strong { color: #ffdaa3; font-size: .85rem; }
.adult-vs-stage-product .adult-amazon-button { width: 100%; margin-top: 11px; }
.adult-vs-verdict { display: flex; align-items: center; gap: 15px; margin-top: 28px !important; padding: 20px; border: 1px solid rgba(255, 211, 149, .28); border-radius: 19px; background: linear-gradient(120deg, rgba(120, 55, 24, .46), rgba(62, 9, 22, .72)); }
.adult-vs-verdict > span { display: grid; place-items: center; width: 46px; height: 46px; flex: 0 0 46px; border: 1px solid rgba(255,222,176,.35); border-radius: 50%; color: #ffdbad; background: rgba(119, 53, 22, .33); }
.adult-vs-verdict small { color: #ffca9d; font-size: .67rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.adult-vs-verdict h2 { margin: 5px 0; font-family: Fraunces, Georgia, serif; font-size: clamp(1.45rem, 2.8vw, 2.25rem); letter-spacing: -.04em; }
.adult-vs-verdict p { margin: 0; color: #f0d1c8; line-height: 1.62; }
.adult-vs-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 18px !important; }
.adult-vs-detail-grid article { min-width: 0; padding: 21px; border: 1px solid rgba(255, 210, 219, .16); border-radius: 18px; background: rgba(255,255,255,.035); }
.adult-vs-detail-grid article > span { color: #ffbcca; font-size: .67rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.adult-vs-detail-grid h2 { margin: 7px 0; font-family: Fraunces, Georgia, serif; font-size: 1.65rem; letter-spacing: -.03em; }
.adult-vs-detail-grid p { color: #e7c4cb; line-height: 1.66; }

@media (max-width: 1120px) {
  .adult-vs-builder, .adult-vs-hero { grid-template-columns: 1fr; }
  .adult-vs-hero h1 { max-width: 16ch; }
  .adult-vs-stage { max-width: 760px; }
}

@media (max-width: 760px) {
  .adult-product-media { min-height: 204px; padding: 11px; }
  .adult-product-media .product-frame { width: min(100%, 172px); height: 170px; max-height: 170px; border-radius: 13px !important; }
  .adult-product-card.compact .adult-product-media { min-height: 0; padding: 8px; }
  .adult-product-card.compact .adult-product-media .product-frame { width: 100%; height: 100%; max-height: none; min-height: 0; aspect-ratio: auto !important; border-radius: 10px !important; }
  .adult-product-card.compact .adult-product-media .olet-product-img { padding: 7px !important; }
  .adult-summary-slide { grid-template-rows: 214px minmax(194px, auto); }
  .adult-summary-slide .adult-award-card-visual { min-height: 214px; max-height: 214px; }
  .adult-summary-slide .adult-award-card-copy { min-height: 194px; }
  .adult-award-stack { gap: 6px; padding: 42px 10px 10px; }
  .adult-award-stack-item { height: 133px; border-radius: 11px; }
  .adult-award-stack-item.rank-1 { height: 146px; transform: translateY(-9px) !important; }
  .adult-award-stack-image { padding: 8px 5px 0; }
  .adult-award-stack-item small { min-height: 30px; padding: 5px 4px; font-size: .52rem; }
  .adult-award-stack-item > b { top: 5px; left: 5px; min-height: 19px; padding: 3px 4px; border-radius: 6px; font-size: .5rem; }
  .adult-award-stamp { top: 8px; left: 8px; width: 39px; height: 39px; }
  .adult-slide-product-media { min-height: 182px; max-height: 182px; padding: 11px; }
  .adult-slide-product-media .product-frame { width: min(100%, 142px); height: 142px; border-radius: 13px !important; }
  .adult-award-hero-podium { grid-template-columns: 1fr; gap: 8px; }
  .adult-award-hero-podium > .adult-podium-card { grid-template-columns: auto 78px minmax(0, 1fr); grid-template-rows: 1fr; align-items: center; gap: 9px; min-height: 99px; padding: 9px; }
  .adult-podium-medal { display: grid; gap: 2px; min-width: 42px; margin: 0; text-align: center; }
  .adult-podium-medal em { font-size: .48rem; white-space: normal; }
  .adult-podium-image { width: 78px; height: 78px; }
  .adult-podium-copy { gap: 2px; padding: 0; }
  .adult-podium-copy strong { font-size: .76rem; }
  .adult-mini-archive-link { margin-bottom: 8px; font-size: .63rem; }
  .adult-vs-category { margin-top: 36px; }
  .adult-vs-builder { gap: 19px; margin-top: 20px !important; padding: 19px 15px; border-radius: 18px; }
  .adult-vs-builder h2 { font-size: 2rem; }
  .adult-vs-builder-form { grid-template-columns: 1fr; }
  .adult-vs-builder-form label:first-child, .adult-vs-builder-form button, .adult-vs-builder-error { grid-column: auto; }
  .adult-vs-page-hero > b { width: 72px; height: 72px; flex: 0 0 72px; }
  .adult-vs-hero { gap: 19px; margin-top: 20px !important; padding: 21px 15px; border-radius: 19px; }
  .adult-vs-hero h1 { font-size: 2.75rem; }
  .adult-vs-stage { grid-template-columns: 1fr; gap: 9px; }
  .adult-vs-stage > b { top: 50%; left: auto; right: 12px; width: 43px; height: 43px; font-size: .66rem; transform: translateY(-50%); }
  .adult-vs-stage-product { grid-template-columns: 66px minmax(0, 1fr) auto; grid-template-rows: auto auto; justify-items: start; align-items: center; min-height: 104px; padding: 10px; text-align: left; }
  .adult-vs-stage-product > span { grid-column: 1; grid-row: 1; align-self: start; padding: 3px 5px; font-size: .53rem; }
  .adult-vs-stage-product .product-frame { grid-column: 1; grid-row: 1 / 3; width: 66px; height: 80px; margin-top: 20px; border-radius: 10px; }
  .adult-vs-stage-product h2 { grid-column: 2; grid-row: 1; min-height: 0; margin: 0; padding-right: 42px; font-size: .8rem; }
  .adult-vs-stage-product > strong { grid-column: 2; grid-row: 2; font-size: .72rem; }
  .adult-vs-stage-product .adult-amazon-button { grid-column: 3; grid-row: 1 / 3; width: 35px; min-height: 36px; margin: 0; padding: 6px; overflow: hidden; font-size: 0; }
  .adult-vs-stage-product .adult-amazon-button span { display: none; }
  .adult-vs-verdict { align-items: flex-start; margin-top: 20px !important; padding: 16px; }
  .adult-vs-detail-grid { grid-template-columns: 1fr; gap: 10px; margin-top: 12px !important; }
  .adult-vs-detail-grid article { padding: 16px; }
  .adult-ad-disclosure { padding: 11px 12px; font-size: .78rem; }
}


/* V13.4 — legal age notice, full white product media, persistent third-party ad slots, and a compact complete footer. */
.adult-gate-law { display: flex; align-items: flex-start; gap: 8px; max-width: 62ch; margin: 15px auto 0; padding: 10px 12px; border: 1px solid rgba(255, 213, 220, .14); border-radius: 11px; color: #e4bdc5; background: rgba(255,255,255,.032); font-size: .72rem; line-height: 1.5; text-align: left; }
.adult-gate-law > span { flex: 0 0 auto; margin-top: 2px; color: #ffb7c5; }

/* The image region alone is deliberately white; surrounding copy/card styling remains red. */
.adult-product-card .adult-product-media { display: grid; width: 100%; min-height: 238px; padding: 0 !important; overflow: hidden; background: #fff !important; }
.adult-product-card .adult-product-media .product-frame { display: grid !important; place-items: center; width: 100% !important; height: 100% !important; min-height: 238px; max-height: none !important; overflow: hidden; border: 0 !important; border-radius: 0 !important; background: #fff !important; box-shadow: none !important; }
.adult-product-card .adult-product-media .olet-product-img { display: block !important; width: 100% !important; height: 100% !important; max-width: 100% !important; max-height: 100% !important; object-fit: contain !important; object-position: center !important; padding: clamp(14px, 7%, 28px) !important; background: #fff !important; transform: none !important; }
.adult-product-card .adult-product-media > span { z-index: 4; border-color: rgba(110, 8, 29, .24); color: #fff; background: #9b1230; box-shadow: 0 4px 12px rgba(48, 2, 12, .22); }

/* Top-three card labels share the same white stage as their product images for readable black copy. */
.adult-award-stack-item { background: #fff !important; backdrop-filter: none !important; }
.adult-award-stack-image { background: #fff !important; }
.adult-award-stack-item small { color: #241016 !important; background: #fff !important; border-top: 1px solid rgba(53, 9, 20, .12); text-shadow: none !important; }
.adult-award-stack-item > b { box-shadow: 0 3px 10px rgba(34, 2, 9, .2); }

/* A server-empty slot is never emitted. Configured third-party scripts stay mounted so slow social bars and delayed providers cannot be hidden. */
.adult-main > .adult-ad-slot { margin-top: 0; margin-bottom: 0; }
.adult-ad-slot { min-height: 0; padding: 0; overflow: visible; border: 0; border-radius: 0; background: transparent; }
.adult-ad-slot.is-rendered:not(.adult-ad-slot-social) { margin-top: 30px; margin-bottom: 30px; }
.adult-ad-slot-social { position: relative; z-index: 82; }
.adult-ad-label { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); border: 0; white-space: nowrap; }
.adult-ad-slot.is-empty { display: block !important; }

/* Compact footer modeled on the main site's hierarchy, but intentionally smaller for the 18+ area. */
.adult-footer { position: relative; overflow: hidden; border-top: 1px solid rgba(255, 212, 220, .13); background: radial-gradient(circle at 86% -32%, rgba(168, 16, 49, .23), transparent 28rem), linear-gradient(180deg, rgba(30, 4, 11, .94), rgba(12, 2, 6, .98)); }
.adult-footer::before { content: ""; position: absolute; inset: 0 0 auto; height: 1px; background: linear-gradient(90deg, transparent, rgba(255, 171, 188, .48), transparent); }
.adult-footer-inner { position: relative; padding: 42px 0 108px; }
.adult-footer-grid { display: grid; grid-template-columns: minmax(0, 1.65fr) repeat(2, minmax(130px, .7fr)); gap: 30px; }
.adult-footer-about { min-width: 0; }
.adult-footer-brand { display: inline-flex; align-items: center; gap: 10px; margin: 0; color: #f9d2da; font-size: .78rem; font-weight: 800; letter-spacing: .04em; text-decoration: none; text-transform: none; }
.adult-footer-brand img { width: 99px; height: 32px; object-fit: contain; object-position: left center; }
.adult-footer-brand > span { display: grid; gap: 1px; }
.adult-footer-brand strong { color: #fff6f7; font-size: .92rem; letter-spacing: -.02em; }
.adult-footer-brand small { color: #dca9b4; font-size: .59rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.adult-footer-about > p { max-width: 48ch; margin: 13px 0 0; color: #cfa3ad; font-size: .8rem; line-height: 1.65; }
.adult-footer-nav { display: grid; align-content: start; gap: 8px; }
.adult-footer-nav b { margin-bottom: 3px; color: #f7ced6; font-size: .64rem; letter-spacing: .12em; text-transform: uppercase; }
.adult-footer-nav a { color: #cfa6af; font-size: .79rem; line-height: 1.35; text-decoration: none; }
.adult-footer-nav a:hover { color: #fff; }
.adult-footer-notices { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 13px; margin-top: 26px; padding-top: 19px; border-top: 1px solid rgba(255, 220, 226, .11); }
.adult-footer-notices > p { max-width: none; margin: 0; color: #bf929c; font-size: .72rem; line-height: 1.58; }
.adult-footer-notices strong { color: #f1c7cf; }
.adult-footer-notices .adult-ad-disclosure { padding: 0; border: 0; border-radius: 0; background: transparent; }
.adult-footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 16px; color: #95707a; font-size: .66rem; letter-spacing: .03em; }
.adult-footer-bottom span { display: inline-flex; align-items: center; gap: 6px; color: #c1959f; }
.adult-footer-bottom span::before { content: "18+"; display: inline-grid; width: 22px; height: 16px; place-items: center; border: 1px solid rgba(255, 205, 214, .22); border-radius: 999px; color: #e4b3bd; font-size: .5rem; font-weight: 800; }

@media (max-width: 760px) {
  .adult-gate-law { margin-top: 13px; padding: 9px 10px; font-size: .66rem; line-height: 1.45; }
  .adult-product-card .adult-product-media { min-height: 204px; }
  .adult-product-card .adult-product-media .product-frame { min-height: 204px; }
  .adult-product-card.compact .adult-product-media { min-height: 0; height: 100%; }
  .adult-product-card.compact .adult-product-media .product-frame { min-height: 100%; height: 100% !important; }
  .adult-product-card.compact .adult-product-media .olet-product-img { padding: 10px !important; }
  .adult-award-stack-item small { min-height: 30px; padding: 5px 4px 6px; font-size: .52rem; }
  .adult-footer-inner { padding: 31px 0 106px; }
  .adult-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 23px 18px; }
  .adult-footer-about { grid-column: 1 / -1; }
  .adult-footer-about > p { margin-top: 11px; font-size: .76rem; }
  .adult-footer-nav a { font-size: .75rem; }
  .adult-footer-notices { grid-template-columns: 1fr; gap: 11px; margin-top: 20px; padding-top: 15px; }
  .adult-footer-notices > p { font-size: .68rem; }
  .adult-footer-bottom { align-items: flex-start; flex-direction: column; gap: 7px; font-size: .61rem; }
}

/* V13.5 — targeted catalogue/navigation refinements. */
/* Festival-card Top 3 keeps only clear medal badges; product name captions are intentionally omitted. */
.adult-summary-slide .adult-award-stack-item {
  grid-template-rows: minmax(0, 1fr);
  background: #fff !important;
}
.adult-summary-slide .adult-award-stack-image {
  height: 100%;
  padding: 12px 8px 8px;
  background: #fff !important;
}
.adult-summary-slide .adult-award-stack-image .product-frame,
.adult-summary-slide .adult-award-stack-image .olet-product-img {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
  background: #fff !important;
}
.adult-summary-slide .adult-award-stack-item > small { display: none !important; }

/* Product-card media remains a complete white image area. The imported image is centered and contained inside it. */
.adult-product-card .adult-product-media {
  display: grid;
  place-items: center;
  min-height: 236px;
  padding: 12px !important;
  background: #fff !important;
}
.adult-product-card .adult-product-media .product-frame {
  display: grid !important;
  place-items: center;
  width: min(100%, 232px) !important;
  height: 208px !important;
  min-height: 0 !important;
  max-height: 208px !important;
  aspect-ratio: auto !important;
  overflow: hidden;
  border: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
}
.adult-product-card .adult-product-media .olet-product-img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
  padding: 10px !important;
  background: #fff !important;
  transform: none !important;
}
.adult-product-grid-all { margin-bottom: 2px; }
.adult-products-page-hero { margin-bottom: 0; }

/* Six latest V.S. cards remain balanced on wide screens. */
.adult-vs-grid-latest { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.adult-vs-grid-latest .adult-vs-shell { grid-template-columns: 1fr; }
.adult-vs-grid-latest .adult-vs-side { grid-template-columns: 88px minmax(0, 1fr); min-height: 102px; padding: 12px; }
.adult-vs-grid-latest .adult-vs-side + .adult-vs-side { border-top: 1px solid rgba(255, 222, 228, .14); border-left: 0; }
.adult-vs-grid-latest .adult-vs-media { width: 88px; height: 82px; }
.adult-vs-grid-latest .adult-vs-badge { top: 50%; left: auto; right: 11px; width: 38px; height: 38px; font-size: .62rem; transform: translateY(-50%); }
.adult-vs-grid-latest .adult-vs-side:nth-child(3) { padding-right: 58px; }
.adult-vs-grid-latest .adult-vs-footer { padding: 12px; }
.adult-vs-grid-latest .adult-vs-footer p { -webkit-line-clamp: 2; display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; }
.adult-vs-grid-latest .adult-vs-footer .adult-card-primary { padding: 8px 9px; font-size: .69rem; }

@media (max-width: 1120px) {
  .adult-vs-grid-latest { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .adult-product-card .adult-product-media { min-height: 210px; padding: 9px !important; }
  .adult-product-card .adult-product-media .product-frame { width: min(100%, 196px) !important; height: 192px !important; max-height: 192px !important; }
  .adult-product-card.compact .adult-product-media { min-height: 0; height: 100%; padding: 0 !important; }
  .adult-product-card.compact .adult-product-media .product-frame { width: 100% !important; height: 100% !important; min-height: 0 !important; max-height: none !important; }
  .adult-product-card.compact .adult-product-media .olet-product-img { padding: 7px !important; }
  .adult-vs-grid-latest { grid-template-columns: 1fr; }
  .adult-vs-grid-latest .adult-vs-side { grid-template-columns: 82px minmax(0, 1fr); min-height: 94px; padding: 10px 13px; }
  .adult-vs-grid-latest .adult-vs-media { width: 82px; height: 74px; }
  .adult-vs-grid-latest .adult-vs-footer { align-items: flex-start; flex-direction: column; }
  .adult-vs-grid-latest .adult-vs-footer .adult-card-primary { width: 100%; }
}
