/* Shared iCelo price presentation; original punctuation remains accessible/copyable. */
.template-icelo .icelo-money { display:inline; white-space:nowrap; font-variant-numeric:lining-nums tabular-nums; }
.template-icelo .icelo-money__separator { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.template-icelo .icelo-money__fraction { position:static; display:inline; vertical-align:super; margin-left:.06em; font-size:.56em; line-height:0; font-weight:inherit; text-decoration:inherit; }
.template-icelo .icelo-unit-card__battery { min-height:28px; padding:5px 9px; gap:5px; font-size:11px; cursor:help; }
.template-icelo .icelo-unit-card__battery svg { width:21px; height:15px; flex:none; }
.template-icelo .icelo-unit-card__battery:focus-visible { outline:3px solid #176b37; outline-offset:3px; }
.template-icelo .icelo-unit-card__battery::after { content:attr(data-battery-tooltip); position:absolute; z-index:6; right:0; bottom:calc(100% + 9px); width:210px; max-width:calc(100vw - 70px); padding:11px 13px; border-radius:12px; background:#18251e; color:#fff; box-shadow:0 7px 20px #0002; font-size:12px; font-weight:550; line-height:1.5; text-align:left; white-space:normal; opacity:0; visibility:hidden; pointer-events:none; transform:translateY(4px); transition:opacity .15s,transform .15s,visibility .15s; }
.template-icelo .icelo-unit-card__battery:hover::after,.template-icelo .icelo-unit-card__battery:focus::after { opacity:1; visibility:visible; transform:none; }
/* Monetary decoration belongs to the original link/button, never its numeric spans. */
.template-icelo .icelo-money,.template-icelo .icelo-money * { text-decoration:none!important; border-bottom:0!important; }
/* Legacy templates style generic price spans; keep the amount's own typography. */
.template-icelo .icelo-money,.template-icelo .icelo-money>.icelo-money__integer { font:inherit!important; color:inherit!important; letter-spacing:inherit!important; text-transform:none!important; }
.template-icelo .icelo-money>.icelo-money__integer { display:inline; margin:0; padding:0; }
/* Configuration selector: real choices in view, with native multi-select controls. */
.template-icelo .icelo-model-filter-panel { margin:25px 0 22px; padding:0 20px; overflow:visible; border:1px solid #e5e6eb; border-radius:18px; background:#fff; box-shadow:0 6px 24px #1c1d2610; }
.template-icelo .icelo-model-filter-panel__head { display:flex; gap:11px; align-items:center; padding:20px 0 17px; }
.template-icelo .icelo-model-filter-panel__icon { display:grid; flex:none; width:36px; height:36px; place-items:center; border-radius:11px; background:#fff0f0; color:var(--icelo-red); }
.template-icelo .icelo-model-filter-panel__icon svg { width:19px; height:19px; }
.template-icelo .icelo-model-filter-panel__intro { flex:1; min-width:0; }
.template-icelo .icelo-model-filter-panel__label { display:block; margin:0; color:#202127; font-size:17px; line-height:1.3; font-weight:850; letter-spacing:-.025em; text-transform:none; }
.template-icelo .icelo-model-filter-panel__help { margin:4px 0 0; color:#83858f; font-size:11px; line-height:1.5; font-weight:450; }
.template-icelo .icelo-model-filter-panel .icelo-model-specs { display:block; margin:0; }
.template-icelo .icelo-model-filter { display:grid; grid-template-columns:120px minmax(0,1fr); gap:12px; align-items:start; min-width:0; padding:13px 0; border-top:1px solid #f0f0f3; }
.template-icelo .icelo-model-filter__label { padding-top:9px; color:#656874; font-size:11px; line-height:1.45; font-weight:650; }
.template-icelo .icelo-model-filter__choices { display:flex; flex-wrap:wrap; gap:6px; min-width:0; align-items:center; }
.template-icelo .icelo-model-filter__all,.template-icelo .icelo-model-filter__choice-content { box-sizing:border-box; display:inline-flex; min-height:34px; align-items:center; justify-content:center; gap:6px; margin:0; padding:7px 10px; border:1px solid #e4e5eb; border-radius:8px; background:#fff; color:#464955; font:inherit; font-size:11px; font-weight:650; line-height:1.5; letter-spacing:0; text-transform:none; cursor:pointer; transition:background .15s,border-color .15s,color .15s; }
.template-icelo .icelo-model-filter__all { flex:none; }
.template-icelo .icelo-model-filter__all[aria-pressed="true"] { border-color:#eaebef; background:#f0f1f4; color:#252731; }
.template-icelo .icelo-model-filter__all:hover,.template-icelo .icelo-model-filter__choice:hover .icelo-model-filter__choice-content { border-color:#b6b8c2; background:#f9f9fb; }
.template-icelo .icelo-model-filter__choice { position:relative; display:inline-flex; min-width:0; max-width:100%; cursor:pointer; }
.template-icelo .icelo-model-filter__choice input { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.template-icelo .icelo-model-filter__choice-content>svg { width:0; height:12px; flex:none; opacity:0; transition:width .15s,opacity .15s; }
.template-icelo .icelo-model-filter__choice-content>span { min-width:0; overflow-wrap:anywhere; }
.template-icelo .icelo-model-filter__choice-content>small { display:inline-flex; min-width:15px; height:15px; align-items:center; justify-content:center; padding:0 3px; border-radius:4px; background:#f2f3f6; color:#9497a1; font-size:9px; line-height:1; font-weight:600; letter-spacing:0; text-transform:none; }
.template-icelo .icelo-model-filter__choice input:checked+.icelo-model-filter__choice-content { border-color:#ed1c2445; background:#fff2f2; color:#ce1821; }
.template-icelo .icelo-model-filter__choice input:checked+.icelo-model-filter__choice-content>svg { width:12px; opacity:1; }
.template-icelo .icelo-model-filter__choice input:checked+.icelo-model-filter__choice-content>small { background:#ffe0e2; color:#ce1821; }
.template-icelo .icelo-model-filter__choice input:focus-visible+.icelo-model-filter__choice-content,.template-icelo .icelo-model-filter__all:focus-visible { outline:3px solid #ed1c242d; outline-offset:2px; }
.template-icelo .icelo-model-filter-panel .icelo-model-filter-reset { position:relative; display:inline-flex; width:auto; height:auto; min-height:32px; flex:none; gap:5px; align-items:center; justify-content:center; margin:0 0 0 auto; padding:5px 0 5px 8px; border:0; border-radius:6px; background:none; color:#ce1821; font:inherit; font-size:10px; font-weight:700; cursor:pointer; }
.template-icelo .icelo-model-filter-panel .icelo-model-filter-reset svg { width:13px; height:13px; }
.template-icelo .icelo-model-filter-panel .icelo-model-filter-reset:disabled { color:#b2b4bd; cursor:default; }
.template-icelo .icelo-model-filter-panel .icelo-model-filter-reset:disabled:after { display:none; }
.template-icelo .icelo-model-filter-panel .icelo-model-filter-reset:enabled:hover { color:#a61219; background:#fff6f6; }
.template-icelo .icelo-model-filter-panel .icelo-model-filter-reset:focus-visible { outline:3px solid #ed1c242d; outline-offset:2px; }
.template-icelo .icelo-model-filter-status { gap:7px; margin:0; padding:12px 0; border-top:1px solid #f0f0f3; }
.template-icelo .icelo-model-filter-chip { min-height:25px; border:0; background:#fff0f0; color:#bd1720; font-size:10px; font-weight:650; }
.template-icelo .icelo-model-filter-panel__foot { display:flex; align-items:center; padding:12px 0 15px; border-top:1px solid #f0f0f3; }
.template-icelo .icelo-model-filter-panel__availability { display:inline-flex; gap:6px; align-items:center; color:#777b86; font-size:10px; font-weight:550; }
.template-icelo .icelo-model-filter-panel__availability:before { content:''; width:5px; height:5px; border-radius:50%; background:#23a45d; }
.template-icelo .icelo-model-filter-panel.is-empty .icelo-model-filter-panel__availability:before { background:#a6a8b1; }
@media(max-width:680px) {
 .template-icelo .icelo-model-filter-panel { margin:22px 0; padding:0 15px; border-radius:16px; }
 .template-icelo .icelo-model-filter-panel__head { gap:9px; padding:17px 0 14px; align-items:flex-start; }
 .template-icelo .icelo-model-filter-panel__icon { width:30px; height:30px; border-radius:9px; }
 .template-icelo .icelo-model-filter-panel__icon svg { width:17px; height:17px; }
 .template-icelo .icelo-model-filter-panel__label { font-size:15px; }
 .template-icelo .icelo-model-filter-panel__help { font-size:10px; }
 .template-icelo .icelo-model-filter { grid-template-columns:1fr; gap:8px; padding:12px 0; }
 .template-icelo .icelo-model-filter__label { padding:0; font-size:10px; }
 .template-icelo .icelo-model-filter__all,.template-icelo .icelo-model-filter__choice-content { min-height:38px; padding:8px 11px; }
 .template-icelo .icelo-model-filter-panel .icelo-model-filter-reset { font-size:0; min-width:26px; padding:4px; }
 .template-icelo .icelo-model-filter-panel .icelo-model-filter-reset svg { width:15px; height:15px; }
 .template-icelo .icelo-unit-card__battery { min-height:30px; }
}
@media(prefers-reduced-motion:reduce) { .template-icelo .icelo-unit-card__battery::after,.template-icelo .icelo-model-filter__all,.template-icelo .icelo-model-filter__choice-content,.template-icelo .icelo-model-filter__choice-content>svg { transition:none; } }

/* Model overview mirrors the individual product: image, configuration, purchase. */
.template-icelo .icelo-model-heading { margin:0 0 26px; }
.template-icelo .icelo-model-heading h1 { margin:0; color:var(--icelo-ink); font-size:clamp(24px,2.2vw,34px); line-height:1.25; letter-spacing:-.035em; font-weight:850; overflow-wrap:anywhere; }
.template-icelo .icelo-model-heading .icelo-model-summary__lead { max-width:1000px; margin:12px 0 0; font-size:14px; line-height:1.65; }
.template-icelo .icelo-model-hero { grid-template-columns:minmax(0,1.12fr) minmax(0,1fr) minmax(285px,.8fr); gap:24px; align-items:start; }
.template-icelo .icelo-model-hero>* { min-width:0; }
.template-icelo .icelo-model-gallery { min-height:460px; padding:20px; border-radius:20px; }
.template-icelo .icelo-model-gallery img { height:420px; }
.template-icelo .icelo-model-summary { padding:0; border:0; border-radius:0; background:none; box-shadow:none; }
.template-icelo .icelo-model-summary>.icelo-product-google-rating { margin-top:0; flex-wrap:wrap; }
.template-icelo .icelo-model-summary .icelo-model-filter-panel { margin:18px 0 0; padding:0 18px; }
.template-icelo .icelo-model-summary .icelo-model-filter { grid-template-columns:105px minmax(0,1fr); gap:10px; padding:15px 0; }
.template-icelo .icelo-model-summary .icelo-model-filter__label { padding-top:8px; }
.template-icelo .icelo-model-summary .icelo-model-filter-panel__head { flex-wrap:wrap; }
.template-icelo .icelo-model-summary .icelo-model-filter-panel__intro { flex-basis:180px; }
.template-icelo .icelo-model-tags { margin-top:20px; gap:8px; }
.template-icelo .icelo-model-purchase { padding:24px; border:1px solid var(--icelo-line); border-radius:20px; background:#fff; box-shadow:0 16px 46px rgba(20,20,28,.055); }
.template-icelo .icelo-model-purchase .icelo-model-price { display:flex; flex-direction:column; align-items:stretch; gap:20px; margin:0; padding:0; }
.template-icelo .icelo-model-purchase .icelo-model-price>div>strong { flex-wrap:wrap; margin-top:8px; font-size:34px; line-height:1.15; }
.template-icelo .icelo-model-purchase .icelo-model-price>a { width:100%; box-sizing:border-box; min-height:48px; }
.template-icelo .icelo-model-purchase .icelo-model-installments { grid-template-columns:1fr; gap:12px; margin-top:20px; }
.template-icelo .icelo-model-purchase .icelo-model-installments button { min-height:40px; }
.template-icelo .icelo-model-purchase .icelo-model-accessories-note { margin-top:22px; padding:13px; }
.template-icelo .icelo-model-purchase .icelo-model-accessories-note>span { display:none; }
.template-icelo .icelo-model-purchase .icelo-model-accessories-note small { font-size:11px; line-height:1.6; }
.template-icelo .icelo-model-purchase .icelo-model-policies { gap:12px; margin-top:18px; padding-top:16px; border-top:1px solid var(--icelo-line); }
@media(max-width:1199px) and (min-width:781px) {
 .template-icelo .icelo-model-hero { grid-template-columns:minmax(0,1fr) minmax(285px,.8fr); gap:22px; }
 .template-icelo .icelo-model-gallery { grid-column:1; grid-row:1; min-height:370px; }
 .template-icelo .icelo-model-gallery img { height:330px; }
 .template-icelo .icelo-model-summary { grid-column:1; grid-row:2; }
 .template-icelo .icelo-model-purchase { grid-column:2; grid-row:1 / span 2; }
 .template-icelo .icelo-model-summary .icelo-model-filter-panel { margin-top:16px; }
}
@media(max-width:780px) {
 .template-icelo .icelo-model-heading { margin-bottom:20px; }
 .template-icelo .icelo-model-heading h1 { font-size:24px; }
 .template-icelo .icelo-model-heading .icelo-model-summary__lead { font-size:13px; }
 .template-icelo .icelo-model-hero { grid-template-columns:minmax(0,1fr); gap:20px; }
 .template-icelo .icelo-model-gallery { min-height:320px; padding:14px; border-radius:18px; }
 .template-icelo .icelo-model-gallery img { height:290px; }
 .template-icelo .icelo-model-summary .icelo-model-filter-panel { padding:0 15px; }
 .template-icelo .icelo-model-summary .icelo-model-filter-panel__intro { flex-basis:140px; }
 .template-icelo .icelo-model-summary .icelo-model-filter { grid-template-columns:1fr; gap:8px; }
 .template-icelo .icelo-model-summary .icelo-model-filter__label { padding:0; }
 .template-icelo .icelo-model-purchase { padding:22px; border-radius:18px; }
}

/* Mobile selection: generous touch targets and a direct route to matching units. */
.template-icelo .icelo-model-filter-panel__view { display:none; }
@media(max-width:780px) {
 .template-icelo .icelo-model-filter__choices { gap:8px; }
 .template-icelo .icelo-model-filter__all,.template-icelo .icelo-model-filter__choice-content { min-height:44px; padding:10px 13px; font-size:12px; }
 .template-icelo .icelo-model-summary .icelo-model-filter__label { font-size:12px; }
 .template-icelo .icelo-model-filter-panel .icelo-model-filter-reset { min-width:44px; min-height:44px; padding:10px; box-sizing:border-box; }
 .template-icelo .icelo-model-filter-panel .icelo-model-filter-reset svg { width:18px; height:18px; }
 .template-icelo .icelo-model-filter-chip { min-height:44px; padding:8px 12px; box-sizing:border-box; font-size:12px; }
 .template-icelo .icelo-model-filter-panel__foot { flex-direction:column; align-items:stretch; gap:12px; padding:15px 0; }
 .template-icelo .icelo-model-filter-panel__availability { font-size:11px; }
 .template-icelo .icelo-model-filter-panel__view { display:flex; min-height:46px; box-sizing:border-box; align-items:center; justify-content:center; gap:8px; padding:10px 14px; border:1px solid #ed1c2433; border-radius:10px; background:#fff2f2; color:#c41620; font-size:13px; font-weight:800; text-decoration:none; }
 .template-icelo .icelo-model-filter-panel__view svg { width:17px; height:17px; }
 .template-icelo .icelo-model-filter-panel__view:focus-visible { outline:3px solid #ed1c2440; outline-offset:3px; }
 .template-icelo .icelo-model-unit__footer { flex-direction:column; align-items:stretch; gap:16px; }
 .template-icelo .icelo-model-unit__footer>a { display:flex; min-height:46px; box-sizing:border-box; align-items:center; justify-content:center; gap:8px; width:100%; padding:11px 14px; border:1px solid #ed1c2433; border-radius:10px; background:#fff2f2; font-size:13px; }
 .template-icelo .icelo-model-unit__footer>a:focus-visible { outline:3px solid #ed1c2440; outline-offset:3px; }
 .template-icelo .icelo-model-unit__footer strong { font-size:24px; }
 .template-icelo .icelo-model-unit__monthly { font-size:11px; line-height:1.5; }
}
