/* VEROMA / Koku Arşivi. Shared presentation, independent of product data. */
@font-face { font-family: Inter; src: url('../assets/InterVariable.woff2') format('woff2'); font-style: normal; font-weight: 100 900; font-display: swap; }
:root { --bg:#0b0b0e; --bg-soft:#111115; --surface:#151419; --surface-strong:#1b191f; --text:#f4f0f6; --muted:#bcb7c3; --line:#333039; --line-strong:#514a59; --brand-lambda:#D39AFF; --radius:14px; --max:1220px; --shadow:0 16px 48px #0004; --control-panel-surface:#151419; --control-input-surface:#101014; --control-secondary-surface:#19171e; --control-primary-surface:#29232f; --control-text-muted:#bcb7c3; }
body { font-family:Inter,system-ui,sans-serif; background:var(--bg); }
body::before,body::after { display:none; }
button,input,select,textarea { font:inherit; }
button,a,input,select,textarea { -webkit-tap-highlight-color:transparent; }
:focus-visible { outline:2px solid #D39AFF; outline-offset:4px; }
.wordmark,.footer-wordmark,.mobile-nav-wordmark,.auth-dialog-brand,.review-brand { color:#f4f0f6; background:none; -webkit-text-fill-color:currentColor; }
.wordmark span,.footer-wordmark span,.mobile-nav-wordmark span,.auth-dialog-brand span,.review-brand span { color:#D39AFF; -webkit-text-fill-color:#D39AFF; }
.site-header { background:#0b0b0ef2; border-bottom:1px solid #ffffff0d; backdrop-filter:none; }
.nav-wrap { min-height:76px; }
.desktop-nav a { font-size:14px; color:var(--muted); }
.desktop-nav a:hover,.desktop-nav a.active { color:var(--text); }
.header-actions { gap:8px; }
.icon-btn,.menu-btn { min-width:44px; min-height:44px; box-shadow:none; background:#17151c; }
.auth-header-trigger { min-height:44px; font-size:13px; box-shadow:none; }
.glass { background:var(--surface); border-color:var(--line); box-shadow:none; backdrop-filter:none; }
.action-primary { min-height:46px; border-radius:10px; background:#D39AFF; color:#1b1023; box-shadow:none; font-size:14px; font-weight:650; }
.action-primary:hover { background:#e6ccfa; box-shadow:none; }
.action-primary.action-secondary,.secondary-btn { border:1px solid #514a59; background:#201b27; color:var(--text); box-shadow:none; border-radius:10px; }
.action-primary.action-secondary:hover,.secondary-btn:hover { background:#2c2435; }
.eyebrow { color:#bcb7c3; font-size:11px; letter-spacing:.12em; line-height:1.6; }
.section-heading h2,.method-section h2,.about-section h2,h2 em { font-family:Inter,system-ui,sans-serif; font-style:normal; color:var(--text); }
.section-heading h2 { font-size:34px; font-weight:560; line-height:1.15; letter-spacing:-.035em; }
.homepage-main { position:relative; isolation:isolate; background:none; }
.homepage-main::before,.hero::after { display:none; }
.subpage-body,.detail-main,.legal-main,.auth-flow-main { background:#0b0b0e; }
.homepage-artwork,.hero-glow { display:none; }
.homepage-main>section { position:relative; z-index:1; }
/* Keep hero search and its absolute suggestions above subsequent homepage sections. */
.homepage-main>.hero { z-index:2; }
.hero { height:auto; max-height:none; min-height:0; padding:120px 0 26px; background:none; overflow:visible; }
.hero-content { padding-top:0; padding-bottom:0; }
.hero-layout { display:block; }
.hero-main { max-width:790px; margin:auto; text-align:center; }
.hero-main .eyebrow { justify-content:center; margin:0 0 18px; }
.hero h1 { font-family:Inter,system-ui,sans-serif; font-size:56px; line-height:1.06; font-weight:530; letter-spacing:-.045em; margin:0; }
.hero h1 em { color:#e6ccfa; font-weight:500; }
.hero-copy { max-width:610px; font-size:16px; line-height:1.7; margin:20px auto; color:#d0cad5; }
@media (min-width:720px) {
  /* Align the retained title measure with search; keep mobile's existing left edge. */
  .hero-main #heroTitle { margin-inline:auto; }
  .hero-main .hero-copy { max-width:560px; text-wrap:balance; }
}
.search-shell { width:100%; min-height:66px; padding:7px 7px 7px 20px; border:1px solid #514a59; border-radius:12px; background:#121116ed; gap:12px; text-align:left; box-shadow:none; }
.search-shell input { font-size:16px; color:var(--text); min-width:0; }
.search-shell input::placeholder { color:#b2abb9; }
#searchInput { scroll-margin-top:110px; }
.search-shell .action-primary { padding:13px 24px; white-space:nowrap; }
.search-suggestions { background:#1a171f; border:1px solid #514a59; border-radius:10px; text-align:left; z-index:30; box-shadow:0 15px 40px #0009; }
.suggestion { min-height:54px; font-size:15px; }
.hero-trust { margin:13px 0 0; color:#c4beca; font-size:13px; }
.quick-searches { display:none; }
.quick-searches button { padding:7px 11px; min-height:40px; background:transparent; border:0; color:#c4beca; text-decoration:underline; text-underline-offset:4px; }
.compare-section { padding:28px 0 56px; background:#0b0b0eeb; border-top:1px solid #ffffff14; }
.compare-section .section-heading { margin-bottom:18px; }
.compare-section .section-heading .eyebrow { display:none; }
.discovery-paths { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-bottom:16px; }
.discovery-paths>span { color:var(--muted); font-size:13px; margin-right:10px; }
.discovery-paths button { border:1px solid #333039; background:#141217; color:var(--text); border-radius:8px; padding:8px 14px; min-height:44px; font-size:13px; cursor:pointer; }
.discovery-paths button:hover { border-color:#D39AFF; }
.filter-row { display:flex; flex-direction:row; flex-wrap:wrap; align-items:start; justify-content:space-between; gap:12px; margin:0; padding:0; background:none; border:0; box-shadow:none; }
.explore-controls { display:flex; flex:1; gap:12px; align-items:center; padding:0; border:0; background:none; box-shadow:none; backdrop-filter:none; border-radius:0; }
.tabs { display:flex; gap:3px; border-bottom:1px solid #333039; padding:0; border-radius:0; background:none; box-shadow:none; }
.tabs .tab { min-height:44px; min-width:66px; padding:8px 12px; border:0; border-bottom:2px solid transparent; border-radius:0; color:#bcb7c3; background:transparent; box-shadow:none; font-size:14px; }
.tabs .tab.active { border-color:#D39AFF; background:none; color:#f4f0f6; }
.search-return { order:3; color:#d6bfdc; font-size:13px; padding:12px 0; min-height:44px; }
.sort-menu { margin-left:auto; }
.sort-trigger,.brand-filter-trigger { min-height:44px; font-size:13px; border-radius:8px; background:#151419; border-color:#333039; box-shadow:none; }
.discovery-filters { min-width:170px; border-bottom:1px solid #333039; }
.discovery-filters summary { padding:12px 4px; min-height:44px; color:var(--text); cursor:pointer; font-size:13px; }
.discovery-filters[open] { flex-basis:100%; }
.explore-brand-filters { margin:12px 0; display:grid; grid-template-columns:1fr 1fr; }
.results-meta { min-height:24px; margin:16px 0 8px; padding:0; color:#bcb7c3; font-size:13px; }
.active-filter-chips { color:#e6ccfa; }
.card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); align-content:start; gap:0 28px; min-height:600px; }
.product-card { position:relative; display:grid; grid-template-columns:112px minmax(0,1fr); grid-template-rows:1fr auto; align-items:center; min-height:248px; border:0; border-bottom:1px solid #333039; border-radius:0; background:none; box-shadow:none; padding:20px 0; overflow:visible; }
.product-card:hover { transform:none; border-color:#65566f; box-shadow:none; background:#15121977; }
.product-card .card-top { position:static; grid-row:1 / -1; height:172px; min-height:0; width:100%; background:none; overflow:visible; }
.product-card .card-top::before,.product-card .card-top::after { display:none; }
.product-card .perfume-bottle-image { height:150px; width:90px; object-fit:contain; filter:none; }
.product-card .card-body { padding:0 44px 0 16px; }
.product-card .card-brand { font-size:11px; font-weight:650; color:#c3bbc9; letter-spacing:.08em; margin:0 0 7px; }
.product-card .card-title { min-height:0; margin:0 0 7px; font:580 20px/1.3 Inter,sans-serif; letter-spacing:-.025em; display:block; overflow:visible; }
.product-card .card-title a { color:var(--text); }
.product-card .reference-category { display:inline; font-size:12px; color:#bcb7c3; }
.product-card .reference-card-identity { margin-top:3px; }
.product-card .reference-family { font-size:13px; color:#bcb7c3; margin:0; }
.product-card .reference-accords { font-size:12px; line-height:1.55; color:#aaa3b1; margin:5px 0; }
.product-card .reference-use-chips,.product-card .reference-use-empty { display:none; }
.reference-availability { font-size:13px; color:#e4d8eb; margin:10px 0 0; }
.product-card .card-footer { padding:14px 0 0 16px; border:0; background:none; }
.product-card .card-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px 15px; }
.reference-detail-link { color:#d9c3e4; font-size:13px; min-height:44px; display:flex; align-items:center; gap:8px; }
.product-card .dupe-compare-btn { padding:10px 12px; min-height:44px; width:auto; font-size:12px; border-radius:8px; }
.product-card .favorite-btn { position:absolute; top:18px; right:0; width:40px; height:40px; min-height:40px; border:1px solid #333039; background:#151419; box-shadow:none; }
.method-section,.about-section { background:#111014; padding-block:56px; }
.method-section .container,.about-section .container { max-width:1000px; }
.method-section h2,.about-section h2 { font-size:36px; line-height:1.2; }
.method-card,.about-card { background:transparent; box-shadow:none; border-color:#333039; border-radius:12px; }
.method-card p,.about-card p { color:#bcb7c3; font-size:14px; }
.site-footer { background:#0b0b0e; border-top:1px solid #333039; }
.footer-bottom { color:#a9a1b0; }
.bottle-atmosphere { position:absolute; inset:0 0 auto; height:900px; z-index:0; pointer-events:none; overflow:clip; }
.bottle-frame { position:fixed; top:-30px; left:50%; transform:translateX(-50%); width:400px; height:600px; opacity:calc(.28 * var(--bottle-fade,1)); }
.bottle-frame img,.bottle-frame canvas { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; }
.bottle-frame canvas { opacity:0; }
.bottle-atmosphere[data-renderer="webgl"] canvas { opacity:1; }
.bottle-atmosphere[data-renderer="webgl"] img { opacity:0; }
/* Reference usage leads to comparison; the full scent profile stays in normal flow. */
.detail-page { padding-top:28px; }
.detail-hero { display:grid; grid-template-columns:minmax(0,1fr) 220px; gap:28px; padding:26px 0 30px; border:0; border-bottom:1px solid #333039; border-radius:0; background:none; min-height:0; }
.detail-hero-copy { display:block; }
.detail-identity h1 { font-size:40px; line-height:1.13; margin:15px 0; letter-spacing:-.035em; max-width:750px; }
.detail-identity .eyebrow { margin-top:12px; }
.detail-version { font-size:14px; color:#bcb7c3; }
.detail-visual { height:240px; grid-column:2; grid-row:1; background:none; }
.detail-visual::before,.detail-visual::after { display:none; }
.detail-bottle-image { height:220px; max-width:160px; filter:none; }
.detail-mobile-family { display:block; margin:8px 0 16px; font-size:14px; color:#bcb7c3; }
.detail-primary-compare { display:inline-flex; align-items:center; justify-content:center; min-width:240px; padding:12px 22px; margin:0 0 14px; }
.detail-usage, .detail-profile-meta { display:flex; flex-wrap:wrap; gap:12px 32px; margin:0 0 20px; }
.detail-usage div, .detail-profile-meta div { min-width:0; }
.detail-usage dt, .detail-profile-meta dt { color:#bcb7c3; font-size:.75rem; line-height:1.5; }
.detail-usage dd { margin:3px 0 0; color:#eeeaf2; font-size:.875rem; line-height:1.5; overflow-wrap:anywhere; }
.detail-profile-meta { margin:22px 0 0; padding-top:16px; border-top:1px solid #333039; }
.detail-profile-meta dd { margin:3px 0 0; color:#bcb7c3; font-size:.8125rem; line-height:1.5; overflow-wrap:anywhere; }
.detail-main .detail-about { margin:0; border-top:0; border-bottom:1px solid #333039; }
.detail-about .note-groups { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-top:24px; }
.detail-about .note-group { display:block; padding:0; border:0; min-width:0; }
.detail-about .note-group dt { color:#eeeaf2; font-size:.875rem; line-height:1.5; }
.detail-about .note-group dd { margin:8px 0 0; color:#bcb7c3; font-size:.875rem; line-height:1.7; overflow-wrap:anywhere; }
.detail-about .detail-reference-summary { max-width:76ch; font-size:.9375rem; overflow-wrap:anywhere; }
@media (max-width:720px) {
 .detail-about .note-groups { grid-template-columns:1fr; gap:20px; }
 .detail-main .detail-about { padding:22px 0; }
 .detail-about .note-group dd { margin-top:5px; }
}
.seller-discovery-section { border:0; border-radius:0; background:none; padding:30px 0; margin:0; box-shadow:none; }
.seller-discovery-heading { align-items:end; gap:30px; margin-bottom:22px; }
.seller-discovery-heading h2 { font-size:25px; line-height:1.3; font-weight:560; letter-spacing:-.025em; }
.seller-discovery-heading p { font-size:14px; color:#bcb7c3; max-width:760px; }
.seller-discovery-heading>span { white-space:nowrap; color:#d8cadf; font-size:13px; }
.seller-discovery-list { gap:16px; }
.seller-discovery-card { padding:22px; border-color:#333039; border-radius:12px; background:#141217; }
.seller-discovery-identity p { color:#d9d1df; font-size:12px; }
.seller-discovery-identity h3 { font-size:16px; font-weight:580; line-height:1.45; }
.seller-discovery-score { color:#f4f0f6; min-width:78px; }
.seller-discovery-score small { font-size:10px; color:#bcb7c3; letter-spacing:0; }
.seller-discovery-score strong { font-size:29px; }
.decision-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; margin:22px 0 0; padding-top:16px; border-top:1px solid #333039; }
.decision-metrics dt { font-size:12px; color:#bcb7c3; }
.decision-metrics dd { margin:5px 0 0; font-size:17px; font-weight:600; font-variant-numeric:tabular-nums; }
.decision-metrics small { font-size:9px; font-weight:400; color:#bcb7c3; margin-left:2px; }
.decision-source { color:#bcb7c3; font-size:11px; margin:10px 0 0; }
.seller-discovery-facts dt { color:#bcb7c3; font-size:10px; }
.seller-discovery-facts dd { color:#f4f0f6; font-size:14px; }
.seller-discovery-actions { gap:8px; }
.seller-discovery-actions .review-entry { background:transparent; color:#d3badf; border:1px solid #514a59; min-height:44px; font-size:12px; box-shadow:none; }
.seller-discovery-link,.seller-discovery-actions .review-list-entry { min-height:44px; font-size:12px; }
.seller-discovery-actions .review-prompt { color:#bcb7c3; font-size:12px; }
.detail-about { border:0; border-top:1px solid #333039; border-radius:0; padding:28px 0; background:none; }
.comparison-dialog,.auth-dialog,.review-dialog { border-color:#514a59; background:#151319; box-shadow:0 24px 70px #0008; border-radius:16px; }
.comparison-overlay-header h2 { font-size:26px; font-weight:600; letter-spacing:-.025em; }
.comparison-subtitle,.comparison-selection-summary,.comparison-methodology { color:#bcb7c3; }
.comparison-methodology { font-size:13px; line-height:1.7; background:#17141c; border-color:#333039; }
.comparison-table-scroll { border-color:#3f3847; border-radius:10px; }
.comparison-matrix { font-variant-numeric:tabular-nums; }
.comparison-matrix td,.comparison-matrix th { border-color:#39333e; padding:16px 14px; font-size:14px; }
.comparison-matrix th:first-child { color:#d0c8d8; }
.overlay-veroma-score,.veroma-score-value { color:#f4f0f6; font-size:27px; }
.overlay-veroma-score em { display:none; }
.overlay-product-head strong { color:#f4f0f6; font-size:13px; }
.comparison-review-actions button { min-height:40px; font-size:12px; background:none; color:#d3badf; }
.comparison-selector-toggle { min-height:46px; border-radius:8px; font-size:13px; background:#1c1822; box-shadow:none; }
.comparison-scroll-hint { font-size:12px; color:#d9c3e4; min-height:40px; }
.auth-dialog { max-width:510px; }
.auth-dialog-brand { letter-spacing:.14em; font-size:17px; }
.auth-panel h2,.review-dialog h2 { font-family:Inter,system-ui,sans-serif; font-size:29px; font-weight:570; letter-spacing:-.025em; }
.auth-dialog-intro,.auth-panel-links,.review-status,.review-empty { font-size:14px; line-height:1.65; color:#c4beca; }
.auth-form input,.auth-form textarea { min-height:48px; font-size:16px; border-radius:8px; border-color:#514a59; background:#101014; }
.auth-form label { font-size:14px; color:#e5dfe9; }
.auth-panel-links button { min-height:40px; }
.auth-submit { min-height:48px; }
.review-metric legend { color:#d9d1df; }
.review-rating button { min-height:40px; }
.review-scale button { min-height:44px; font-size:15px; }
.review-scale button.selected { background:#D39AFF; color:#1b1023; box-shadow:none; }
.review-close { min-width:44px; min-height:44px; }
.review-metric legend small { font-size:12px; }
.seller-discovery-top { min-height:70px; }
.auth-legal-notice { color:#bcb7c3; line-height:1.6; }
@media (max-width:1024px) { .container { width:calc(100% - 40px); }.card-grid { column-gap:20px; }.product-card { grid-template-columns:88px minmax(0,1fr); }.product-card .card-body { padding-right:32px; }.product-card .card-title { font-size:18px; }.seller-discovery-list { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:720px) {
 .container { width:calc(100% - 32px); }.nav-wrap { min-height:68px; }.wordmark { font-size:21px; }.hero { padding:92px 0 18px; }.hero-main { text-align:left; }.hero-main .eyebrow { justify-content:start; font-size:10px; margin-bottom:16px; }.hero h1 { font-size:40px; }.hero-copy { font-size:15px; line-height:1.65; margin:18px 0; }.search-shell { min-height:60px; padding:6px 6px 6px 12px; gap:8px; }.search-shell .search-icon { display:none; }.search-shell .action-primary { padding:12px; font-size:12px; }.search-shell .action-primary span { display:none; }.search-shell input { font-size:16px; }.hero-trust { font-size:12px; }.quick-searches { display:none; }.quick-searches>span { display:none; }.quick-searches button { font-size:12px; padding-inline:8px; }
 .compare-section { padding-top:22px; }.section-heading h2 { font-size:27px; }.discovery-paths { gap:5px; margin-bottom:12px; }.discovery-paths>span { display:none; }.discovery-paths button { padding:7px 10px; min-height:40px; font-size:12px; }.filter-row { gap:6px; }.explore-controls { display:contents; }.tabs { flex:1 1 100%; }.tabs .tab { flex:1; padding-inline:10px; min-width:0; font-size:13px; }.sort-menu { margin:0; order:0; width:calc(50% - 6px); }.sort-trigger { min-width:135px; }.search-return { display:flex; align-items:center; margin-left:auto; }.discovery-filters { flex:1; min-width:0; }.explore-brand-filters { grid-template-columns:1fr; gap:10px; }.results-meta { margin-top:12px; }
 .card-grid { grid-template-columns:1fr; min-height:600px; }.product-card { grid-template-columns:85px minmax(0,1fr); min-height:224px; padding:18px 0; }.product-card .card-body { padding-left:14px; padding-right:33px; }.product-card .card-title { font-size:19px; }.product-card .card-top { height:145px; }.product-card .perfume-bottle-image { width:78px; height:130px; }.product-card .card-brand { font-size:10px; }.product-card .reference-accords { font-size:11px; }.product-card .card-footer { padding-left:14px; }.product-card .card-actions { gap:3px 10px; }.product-card .dupe-compare-btn { font-size:11px; }.reference-detail-link { font-size:12px; }.product-card .favorite-btn { width:44px; height:44px; min-height:44px; }
 .bottle-frame { top:55px; width:270px; height:405px; opacity:calc(.22 * var(--bottle-fade,1)); }.method-section,.about-section { padding-block:34px; }.method-section h2,.about-section h2 { font-size:29px; }
 .detail-page { padding-top:12px; }.detail-hero { grid-template-columns:minmax(0,1fr) 85px; gap:12px; padding:12px 0 18px; }.detail-hero-copy { display:contents; }.detail-identity { grid-column:1; grid-row:1; }.detail-identity h1 { font-size:27px; margin:10px 0; }.detail-identity .eyebrow { font-size:10px; }.detail-visual { grid-column:2; grid-row:1; width:85px; height:145px; min-height:0; align-self:center; }.detail-bottle-image { width:80px; height:145px; }.detail-mobile-family { grid-column:1 / -1; margin:0; text-align:left; font-size:13px; }.detail-primary-compare { grid-column:1 / -1; min-width:0; width:100%; margin:0; }.detail-usage { grid-column:1 / -1; order:2; margin:0; gap:8px 20px; }.seller-discovery-list { grid-template-columns:1fr; }.seller-discovery-section { padding:20px 0; }.seller-discovery-heading { margin-bottom:16px; }.seller-discovery-heading h2 { font-size:21px; }.seller-discovery-card { padding:18px; }.seller-discovery-heading>span { margin-top:8px; }.seller-discovery-identity h3 { font-size:16px; }.seller-discovery-score strong { font-size:27px; }
 .comparison-dialog { padding-inline:12px; }.comparison-overlay-header h2 { font-size:24px; }.comparison-matrix { min-width:calc(80px + var(--seller-count) * 130px); table-layout:fixed; }.comparison-matrix th:first-child { width:80px; min-width:80px; }.comparison-matrix .overlay-product-head { width:130px; min-width:130px; }.comparison-matrix td,.comparison-matrix th { padding:14px 10px; font-size:13px; }.comparison-matrix th:first-child { font-size:11px; }.comparison-review-actions button { font-size:11px; }.comparison-subtitle { font-size:12px; }.comparison-selection-summary { font-size:11px; }.comparison-methodology { font-size:12px; }.auth-dialog,.review-dialog { border-radius:16px 16px 0 0; }.auth-panel h2,.review-dialog h2 { font-size:26px; }
}
@media (max-width:359px) { .container { width:calc(100% - 24px); }.hero h1 { font-size:36px; }.hero-main .eyebrow { letter-spacing:.055em; }.search-shell .action-primary { font-size:11px; padding-inline:9px; }.product-card { grid-template-columns:65px minmax(0,1fr); }.product-card .perfume-bottle-image { width:60px; }.product-card .card-title { font-size:17px; }.discovery-paths button { font-size:11px; padding-inline:8px; }.header-actions { gap:4px; }.wordmark { font-size:19px; }.auth-header-trigger { padding-inline:8px; font-size:11px; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }.product-card,.bottle-frame { transition:none; } }

/* Compact mobile overlay; desktop and direct comparison retain their layout. */
.comparison-title-mobile, .comparison-methodology-mobile { display: none; }
.comparison-sheet-body { display: contents; }
@media (max-width: 680px) {
  .comparison-overlay { top: var(--comparison-viewport-top, 0px); bottom: auto; height: var(--comparison-viewport-height, 100dvh); }
  .comparison-dialog { display: flex; flex-direction: column; width: 100%; height: auto; max-height: calc(var(--comparison-viewport-height, 100dvh) - clamp(56px, calc(var(--comparison-viewport-height, 100dvh) * .1), 88px)); min-height: 0; padding: 4px 8px max(8px, env(safe-area-inset-bottom)); overflow: hidden; border-radius: 22px 22px 0 0; box-sizing: border-box; }
  .comparison-dialog > .comparison-sheet-handle, .comparison-dialog > .comparison-dialog-header { flex-shrink: 0; }
  .comparison-sheet-handle { touch-action: auto; }
  .comparison-sheet-body { display: block; flex: 0 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior-y: contain; }
  .comparison-dialog .comparison-table-scroll { overflow-x: auto; overflow-y: hidden; overscroll-behavior-x: contain; overscroll-behavior-y: auto; }
  .comparison-overlay .comparison-overlay-backdrop, .comparison-overlay[data-state="open"] .comparison-overlay-backdrop { background: rgba(0,0,0,.3); backdrop-filter: none; -webkit-backdrop-filter: none; }
  .comparison-dialog-header, .comparison-content { margin-inline: 0; }
  .comparison-dialog-header h2 { font-size: 19px; line-height: 1.2; overflow-wrap: anywhere; }
  .comparison-title-desktop, .comparison-dialog .comparison-meta, .comparison-selection-summary p, .comparison-dialog .comparison-methodology { display: none; }
  .comparison-title-mobile { display: inline; }
  .comparison-selection-summary { margin: 6px 0; }
  .comparison-dialog .comparison-matrix { width: 100%; min-width: calc(4rem + var(--seller-count) * 4.4rem); table-layout: fixed; }
  .comparison-dialog .comparison-matrix th:first-child { width: 4rem; min-width: 4rem; font-size: 11px; overflow-wrap: anywhere; }
  .comparison-dialog .comparison-matrix .overlay-product-head { width: auto; min-width: 0; }
  .comparison-dialog .comparison-matrix td, .comparison-dialog .comparison-matrix th { height: 34px; padding: 4px 3px; font-size: 13px; line-height: 1.2; overflow-wrap: anywhere; }
  .comparison-dialog .comparison-matrix thead th:first-child { font-size: 10px; letter-spacing: 0; }
  .comparison-dialog .comparison-matrix thead th { height: auto; vertical-align: top; }
  .comparison-dialog .overlay-product-head strong, .comparison-dialog .overlay-product-head small { white-space: normal; overflow: visible; text-overflow: clip; overflow-wrap: anywhere; }
  .comparison-dialog .overlay-product-head strong { font-size: 11px; line-height: 1.2; }
  .comparison-dialog .overlay-product-head:not(:has(small)) > span { display: block; font-size: 11px; overflow-wrap: anywhere; }
  .comparison-dialog .overlay-product-head .comparison-review-actions { display: grid; gap: 2px; margin-top: 4px; }
  .comparison-dialog .overlay-product-head .comparison-review-actions button { width: 100%; min-height: 44px; padding: 3px 1px; font-size: 11px; line-height: 1.2; white-space: normal; }
  .comparison-dialog .overlay-score-row > * { height: 40px !important; }
  .comparison-dialog .overlay-veroma-score { font-size: 22px; }
  .comparison-dialog .overlay-veroma-score small { display: none; }
  .comparison-dialog .overlay-link-row a { display: flex; align-items: center; justify-content: center; min-height: 44px; font-size: 11px; line-height: 1.2; white-space: normal; }
  .comparison-methodology-mobile { display: block; margin-top: 6px; color: var(--text-muted); font-size: 12px; line-height: 1.5; }
  .comparison-methodology-mobile summary { display: list-item; align-content: center; min-height: 44px; padding: 10px 4px; cursor: pointer; }
  .comparison-methodology-mobile p { margin: 0; padding: 4px; }
}
/* Desktop overlay: keep controls fixed in the dialog and scroll the table when needed. */
@media (min-width: 681px) {
  .comparison-overlay { padding: 16px; }
  .comparison-dialog { display: flex; flex-direction: column; max-height: calc(100dvh - 32px); padding: 16px 20px; overflow: hidden; }
  .comparison-dialog-header { flex: 0 0 auto; align-items: center; gap: 16px; }
  .comparison-dialog-header h2 { font-size: 22px; line-height: 1.2; }
  .comparison-dialog-header p, .comparison-title-desktop, .comparison-dialog .comparison-meta { display: none; }
  .comparison-title-mobile { display: inline; }
  .comparison-close { flex-basis: 44px; width: 44px; height: 44px; }
  .comparison-selection { flex: 0 0 auto; margin: 8px 0; }
  .comparison-selection-summary { display: block; }
  .comparison-selection-summary p { display: none; }
  #comparisonSelectionToggle { min-height: 44px; padding: 8px 12px; border: 1px solid var(--accent-border-soft); border-radius: 8px; background: var(--control-secondary-surface); color: var(--text); font: inherit; font-size: 13px; cursor: pointer; }
  #comparisonSelectionToggle::after { content: "＋"; margin-left: 20px; }
  #comparisonSelectionToggle[aria-expanded="true"]::after { content: "−"; }
  .comparison-selection:not(.is-expanded) .comparison-selector { display: none; }
  .comparison-selector { max-height: min(132px, 20dvh); overflow: auto; margin: 8px 0 0; padding: 2px; }
  .comparison-selection-feedback { margin: 8px 0 0; }
  .comparison-content { display: flex; flex: 0 1 auto; min-height: 0; overflow: hidden; }
  .comparison-table-scroll { min-height: 0; overflow: auto; overscroll-behavior: contain; scrollbar-width: thin; scroll-padding-inline-start: 156px; }
  .comparison-table-scroll::-webkit-scrollbar { width: 6px; height: 6px; }
  .comparison-table-scroll::-webkit-scrollbar-thumb { background: #514a59; border-radius: 6px; }
  .comparison-dialog .comparison-matrix { min-width: calc(156px + var(--seller-count) * 160px); }
  .comparison-dialog .comparison-matrix th:first-child { width: 156px; }
  .comparison-dialog .comparison-matrix td, .comparison-dialog .comparison-matrix th { height: 32px; padding: 5px 10px; font-size: 13px; line-height: 1.2; }
  .comparison-dialog .comparison-matrix thead th { height: auto; vertical-align: top; padding-block: 7px; }
  .comparison-dialog .overlay-product-head > strong, .comparison-dialog .overlay-product-head > span, .comparison-dialog .overlay-product-head > small { max-height: 2.4em; overflow: auto; overflow-wrap: anywhere; line-height: 1.2; }
  .comparison-dialog .overlay-product-head > strong { font-size: 13px; }
  .comparison-dialog .overlay-product-head > span { font-size: 12px; }
  .comparison-dialog .overlay-product-head > small { font-size: 11px; }
  .comparison-dialog .overlay-product-head .comparison-review-actions { justify-content: center; margin-top: 5px; gap: 4px; }
  .comparison-dialog .overlay-product-head .comparison-review-actions button { min-height: 32px; padding: 5px 9px; font-size: 12px; }
  .comparison-dialog .overlay-score-row > * { height: 48px !important; }
  .comparison-dialog .overlay-veroma-score { font-size: 26px; }
  .comparison-dialog .overlay-veroma-score small { font-size: 12px; }
  .comparison-dialog .overlay-link-row a { display: inline-flex; align-items: center; min-height: 34px; }
  .comparison-dialog .comparison-methodology { display: none; }
  .comparison-methodology-mobile { display: block; flex: 0 0 auto; max-height: min(96px, 15dvh); overflow: auto; margin-top: 6px; color: #bcb7c3; font-size: 12px; line-height: 1.5; }
  .comparison-methodology-mobile summary { min-height: 32px; padding: 6px 0; cursor: pointer; }
  .comparison-methodology-mobile p { margin: 0; padding-block: 4px; }
}
