/* Optional new-device block. Namespaced to avoid changing the existing calculator. */
.shop-section {margin-block: 2rem;padding:clamp(1rem,3vw,1.75rem);border:1px solid #c5e4ed;border-radius:1.5rem;background:transparent;font-size:1.125rem;line-height:1.6;min-width:0}
.shop-section [hidden]{display:none!important}
.shop-toggle {display:flex;gap:1rem;align-items:flex-start;cursor:pointer}
.shop-toggle>input {appearance:auto;flex:0 0 1.5rem;width:1.5rem;height:1.5rem;min-height:0;margin:.3rem 0 0;accent-color:var(--accent,#00bbf9)}
.shop-toggle>span {min-width:0}
.shop-toggle strong {display:block;font-size:1.2rem;line-height:1.45;color:#192b39}
.shop-toggle small {display:block;margin-top:.5rem;font-size:1.0625rem;color:#4a6170;line-height:1.6}
#shop-content {margin-top:1.75rem;min-width:0}
.shop-inputs {display:grid;grid-template-columns:1fr;gap:1.25rem;margin-bottom:1.25rem}
.shop-inputs label {display:block;margin-bottom:.65rem;font-size:1.125rem;font-weight:700}
.shop-inputs select,.shop-inputs input {width:100%;max-width:100%;font:inherit;min-height:3.75rem;border:1px solid #9fb8c9;border-radius:.875rem;background:#f8fbfd;color:#203a4c}
.shop-inputs select{padding:.8rem 1rem}
.shop-inputs input {border:0;background:transparent;padding:.8rem 0;min-width:0}
.shop-inputs .input-wrap{min-width:0;padding-inline:1rem}
.shop-status {margin:1rem 0;color:#485f70;font-size:1.0625rem}
.shop-results {display:grid;gap:1rem;min-width:0}
.shop-product {display:grid;grid-template-columns:5rem minmax(0,1fr);gap:1rem;padding:1.125rem;border:1px solid #c8dbe7;border-radius:1.125rem;background:#f8fbfd;color:#203442;text-align:left;cursor:pointer;font:inherit;width:100%;line-height:1.5}
.shop-product:hover,.shop-product:focus-visible {border-color:#0086af;outline:2px solid #0086af;outline-offset:2px}
.shop-product[aria-pressed="true"] {border-color:#0086af;box-shadow:inset 0 0 0 1px #0086af;background:#e7f8ff}
.shop-picture {height:6.5rem;width:5rem;display:flex;align-items:center;justify-content:center;border-radius:.75rem;background:#fff;overflow:hidden}
.shop-picture img {max-width:100%;max-height:100%;object-fit:contain}
.shop-picture .ti-icon {width:2.5rem;height:2.5rem;color:#0086af}
.shop-product-copy {display:flex;flex-direction:column;gap:.5rem;min-width:0}
.shop-product-name {font-size:1.0625rem;overflow-wrap:anywhere;font-weight:700;line-height:1.5}
.shop-product-price {font-size:1.35rem;font-weight:800;line-height:1.45}
.shop-availability {font-size:1rem;color:#25644a;font-weight:600}
.shop-availability[data-state="preorder"] {color:#855318}
.shop-product-note {font-size:1rem;color:#4a6170;overflow-wrap:anywhere}
.shop-pages {display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin:1.5rem 0}
.shop-pages .button {min-height:3rem;padding:.65rem 1rem;font-size:1rem}
.shop-selected {padding:1.5rem 0 0;margin-top:1.5rem;border-top:1px solid #c8dbe7}
.shop-selected h4 {margin:0 0 1rem;font-size:1.2rem;line-height:1.5}
.shop-selected a {color:#006b90;text-decoration:underline;overflow-wrap:anywhere}
.shop-selected p {margin:.875rem 0}
.shop-difference {background:#e8f8ff;padding:1.25rem;border-radius:1rem;margin:1.5rem 0}
.shop-difference-label {display:block;font-size:1.125rem;font-weight:700;margin-bottom:.75rem;color:#203a4c}
.shop-difference-value {display:flex;flex-wrap:wrap;gap:.6rem 1rem;align-items:baseline;color:var(--accent,#00bbf9);font-size:clamp(1.35rem,4vw,2rem);font-weight:800;line-height:1.5;overflow-wrap:normal}
.shop-difference-value>span {white-space:nowrap}
.shop-difference-value small {color:#4a6170;font-weight:500;font-size:1rem;margin-right:.35rem}
.shop-note {font-size:1.0625rem;color:#4a6170;line-height:1.7;margin-top:1.5rem}
#shop-error {margin:1rem 0 1.5rem!important;line-height:1.6}
.ti-maintenance {max-width:52rem;margin:3rem auto;padding:clamp(1.5rem,5vw,4rem);border:1px solid #c8dbe7;border-radius:2rem;font:1.2rem/1.7 Manrope,Arial,sans-serif;box-sizing:border-box;background:transparent}
.ti-maintenance h1 {font-size:clamp(1.8rem,5vw,3rem);line-height:1.2;margin:1.5rem 0;overflow-wrap:anywhere}
.ti-maintenance p {color:#485f70;margin:1.5rem 0}
.ti-maintenance-symbol {font-size:2rem;color:#007b9e}
.ti-maintenance-phone {display:block;font-size:clamp(1.3rem,4.5vw,2.65rem);font-weight:800;color:#0086af;line-height:1.6;text-decoration:none;overflow-wrap:anywhere;margin:2rem 0}
@media(max-width:420px){.shop-product{grid-template-columns:3.5rem minmax(0,1fr);gap:.75rem;padding:.875rem}.shop-picture{width:3.5rem;height:5rem}.shop-section{padding:1rem}.shop-difference{padding:.875rem}.shop-difference-value{font-size:1.35rem}.ti-maintenance{margin:1rem .5rem}}

.shop-selection-head{display:flex;align-items:center;gap:1rem;min-width:0}.shop-selection-head>.shop-picture{flex:0 0 5rem}.shop-selection-head>a{min-width:0;font-weight:700}

.shop-inputs .input-wrap{display:flex;align-items:center;gap:.875rem;border:1px solid #9fb8c9;border-radius:.875rem;background:#f8fbfd;padding:0 1rem;min-height:3.75rem}
.shop-inputs .input-wrap>.ti-icon{position:static;flex:0 0 1.4rem;width:1.4rem;height:1.4rem;pointer-events:none;color:#5c8096}
.shop-inputs .input-wrap>input{flex:1 1 auto;width:0;padding:.8rem 0;height:auto;min-width:0;border:0;outline:0;box-shadow:none;background:transparent}
.shop-inputs .input-wrap:focus-within{outline:2px solid #0086af;outline-offset:2px}
.shop-picture .ti-icon{width:2.75rem;height:3.5rem;stroke:#0086af;fill:none;stroke-width:1.4}

/* 1.5.1: the call to action follows the optional purchase and its subtotal in DOM/tab order. */
.application-actions {margin-block:2rem;min-width:0}
.application-actions[hidden]{display:none!important}
.application-actions>.notice {margin-top:1.25rem}
.shop-search-hint {margin:0 0 1.5rem;font-size:1rem;line-height:1.7;color:#486477;overflow-wrap:anywhere}
@media(max-width:420px){.application-actions {margin-block:1.75rem}}
