.spec-filters p { font-size:12px; line-height:1.5; }
.spec-filters label { display:block; margin:14px 0 6px; font-size:14px; }
.spec-filters select { width:100%; min-height:42px; border:1px solid var(--line,#ddd); border-radius:10px; padding:8px; background:white; color:inherit; }
.compare-add { display:inline-flex; align-items:center; justify-content:center; min-height:36px; border:1px solid #cbd8d1; border-radius:99px; padding:6px 14px; font-size:13px; background:white; color:#125c48; cursor:pointer; }
.card > .compare-add { margin:8px 12px 14px; }
.card-main { display:block; color:inherit; text-decoration:none; flex:1; }
.compare-add[aria-pressed="true"] { background:#125c48; color:white; border-color:#125c48; }
.compare-add:focus-visible, .compare-remove:focus-visible { outline:3px solid #bb8c3b; outline-offset:3px; }
/* Product-detail controls share one layout; card controls keep their compact size. */
body[data-page="product"] .detail-shopping-actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin:0 0 24px; }
body[data-page="product"] .detail-shopping-actions > button { display:inline-flex; align-items:center; justify-content:center; gap:10px; box-sizing:border-box; height:48px; min-height:48px; min-width:132px; margin:0; padding:0 20px; border:1px solid #cbd8d1; border-radius:999px; background:#fff; color:#125c48; font-family:inherit; font-size:14px; font-weight:700; line-height:1.2; white-space:nowrap; box-shadow:none; cursor:pointer; }
body[data-page="product"] .detail-shopping-actions > button:hover { background:#f1f6f2; border-color:#8cae9d; }
body[data-page="product"] .detail-shopping-actions > button:focus-visible { outline:3px solid #bb8c3b; outline-offset:3px; }
body[data-page="product"] .detail-shopping-actions > .compare-add[aria-pressed="true"] { background:#125c48; border-color:#125c48; color:#fff; }
body[data-page="product"] .detail-shopping-actions svg { width:20px; height:20px; flex:none; }
.compare-tray[hidden], .compare-page [hidden] { display:none !important; }
.compare-tray { position:fixed; bottom:max(16px,env(safe-area-inset-bottom)); inset-inline:24px; max-width:1000px; margin:auto; z-index:90; background:#fffdf8; border:1px solid #d9e2db; border-radius:20px; padding:14px 18px; box-shadow:0 10px 45px #123b3426; display:flex; align-items:center; gap:20px; }
body.has-compare-tray { padding-bottom:170px; }
.compare-selected { display:flex; gap:8px; overflow:auto; flex:1; }
.compare-chip { flex:0 0 175px; display:flex; align-items:center; gap:8px; background:#f1f5f1; padding:8px 12px; border-radius:12px; font-size:12px; }
.compare-chip span { overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.compare-chip button { flex:none; border:0; background:transparent; color:#125c48; cursor:pointer; min-width:30px; min-height:32px; font-size:22px; }
.compare-tray-actions { display:flex; gap:14px; align-items:center; flex:none; }
.compare-tray .btn { background:#125c48; color:white; }
.shopping-status:not(:empty) { position:fixed; top:90px; inset-inline:20px; max-width:560px; margin:auto; z-index:120; border-radius:14px; padding:16px; background:#125c48; color:white; box-shadow:0 6px 30px #0002; }
.compare-page { padding-block:24px 50px; }
.compare-page h1 { font-size:clamp(28px,4vw,44px); margin:20px 0 12px; }
.compare-actions { display:flex; flex-wrap:wrap; align-items:center; gap:20px; margin:24px 0; }
.compare-actions .check { margin:0; }
.compare-notice { background:#fff4de; color:#775619; border-radius:12px; padding:16px; }
.comparison-scroll { overflow-x:auto; border:1px solid #e0e5e0; border-radius:18px; margin-top:20px; }
.comparison-table { border-collapse:separate; border-spacing:0; width:100%; text-align:start; }
.comparison-table th, .comparison-table td { border-bottom:1px solid #e0e5e0; padding:18px; text-align:start; min-width:200px; max-width:280px; vertical-align:top; }
.comparison-table th:first-child { min-width:150px; width:170px; position:sticky; inset-inline-start:0; background:#f5f7f3; z-index:2; }
.comparison-table tbody th { font-size:14px; font-weight:600; }
.comparison-table tr:last-child td, .comparison-table tr:last-child th { border-bottom:0; }
.comparison-table .compare-product { position:relative; background:#fff; }
.compare-product img { display:block; object-fit:contain; width:100%; height:160px; margin:16px 0; background:#f6f6f4; border-radius:12px; }
.compare-product a { color:inherit; }
.compare-product a > span { display:block; font-size:15px; min-height:48px; }
.compare-product strong { display:block; font-size:20px; margin:14px 0 8px; }
.compare-product .text-link { font-size:13px; color:#125c48; }
.compare-remove { position:absolute; inset-inline-end:8px; top:4px; width:32px; height:32px; text-align:center; font-size:24px; text-decoration:none; }
.compare-page > .muted { font-size:14px; line-height:1.6; }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
@media(max-width:650px) {
 .compare-tray { inset-inline:10px; bottom:max(10px,env(safe-area-inset-bottom)); flex-direction:column; align-items:stretch; gap:10px; padding:10px; }
 .compare-selected { flex:none; }
 .compare-chip { flex-basis:145px; }
 .compare-tray-actions { justify-content:space-between; }
 .compare-tray .btn { padding:10px 22px; }
 .comparison-table th,.comparison-table td { min-width:170px; padding:12px; }
 .comparison-table th:first-child { min-width:105px; width:105px; max-width:105px; font-size:12px; }
 .compare-product img { height:120px; }
 .compare-actions { gap:12px; }
}
.app-alert-page { max-width:520px; margin:64px auto; padding:0 24px; }
.app-alert-preview { color:#173e34; }
.app-alert-badge { display:inline-block; padding:6px 10px; background:#eef5f2; color:#075e4b; border-radius:99px; font-size:12px; font-weight:600; }
.app-alert-preview h2 { margin:20px 0 10px; font-size:28px; line-height:1.2; }
.app-alert-preview p { font-size:14px; line-height:1.6; }
.app-alert-product { font-weight:600; }
.app-alert-percentages { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; border:0; padding:0; margin:24px 0; }
.app-alert-percentages label { position:relative; margin:0; cursor:pointer; }
.app-alert-percentages input { position:absolute; opacity:0; width:100%; height:100%; margin:0; }
.app-alert-percentages span { display:flex; min-height:48px; align-items:center; justify-content:center; border-radius:12px; background:#eef5f2; font-weight:600; }
.app-alert-percentages input:checked + span { background:#075e4b; color:white; }
.app-alert-percentages input:focus-visible + span { outline:3px solid #bc923b; outline-offset:3px; }
.app-alert-disclaimer { color:#68736e; font-size:12px !important; }
.app-alert-percentages legend { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.card .product-art { background:#fff !important; border:1px solid #eeeeec; }
.card h3 { -webkit-line-clamp:2; line-clamp:2; height:2.8em; min-height:2.8em; }
