/* Scoped to repair detail pages; catalogue and trade-in pages keep their layout. */
body:has(.ts-repair) .webshopRepairSteps { margin:10px 0 26px; padding:20px 22px; border:1px solid #e0eae4; border-radius:12px; background:#f7fbf8; }
body:has(.ts-repair) .webshopRepairStep .num { background:#009e60; color:#fff; }
body:has(.ts-repair) .webshopRepairStep .title { border-color:#b8dcc8; }
body:has(.ts-repair) .webshopRepairStep h2 { font-size:12px; color:#315b42; letter-spacing:.4px; }
body:has(.ts-repair) .webshopRepairStep .subtitle { color:#617669; font-size:12px; }
.ts-repair { color:#294b37; }
.ts-repair-intro { margin:26px 0 28px; }
.ts-repair-eyebrow { display:block; text-transform:uppercase; letter-spacing:1.2px; font-size:11px; font-weight:700; color:#008750; margin-bottom:9px; }
.ts-repair .ts-repair-intro h1 { font-size:32px; color:#163e29; margin:0 0 12px; line-height:1.2; }
.ts-repair-intro p { color:#657a6d; max-width:760px; font-size:14px; line-height:1.6; margin:0; }
.ts-repair .ts-repair-layout { display:grid; grid-template-columns:minmax(280px, .8fr) minmax(0, 1.5fr); align-items:start; gap:34px; margin:0 0 36px; }
.ts-repair-layout::before, .ts-repair-layout::after { display:none; }
.ts-repair-device { position:sticky; top:185px; min-width:0; }
.ts-repair-device-inner { border:1px solid #dce8df; border-radius:14px; overflow:hidden; background:#f8fbf9; }
.ts-repair-device-heading { padding:23px 25px 0; display:flex; flex-direction:column; gap:7px; }
.ts-repair-device-heading > span { font-size:12px; color:#728376; }
.ts-repair-device-heading strong { font-size:22px; line-height:1.3; color:#1c432d; }
.ts-repair .ts-repair-device-heading a { color:#00864e; text-decoration:underline; font-size:12px; text-underline-offset:3px; }
.ts-repair .productImage { width:100%; padding:16px 28px; box-sizing:border-box; height:auto; text-align:center; background:transparent; }
.ts-repair #productMainImage { width:auto; max-width:100%; height:220px; object-fit:contain; display:block; margin:0 auto; mix-blend-mode:multiply; }
.ts-repair .productExtraImagesContainer { max-width:260px; margin:auto; }
.ts-repair-summary { padding:24px 25px; background:#fff; border-top:1px solid #e1eae4; }
.ts-repair .ts-repair-summary h2 { font-size:19px; margin:0 0 12px; color:#1e432e; }
.ts-repair-selection-hint, .ts-repair-next { font-size:12px; line-height:1.6; color:#75857a; margin:0; }
.ts-repair [data-repair-selection] { list-style:none; padding:0; margin:0 0 18px; }
.ts-repair [data-repair-selection] li { display:flex; align-items:baseline; justify-content:space-between; gap:14px; font-size:12px; line-height:1.5; padding:7px 0 7px 20px; position:relative; }
.ts-repair [data-repair-selection] li::before { content:'✓'; position:absolute; left:0; color:#009e60; }
.ts-repair-total { display:flex; align-items:center; justify-content:space-between; gap:14px; border-top:1px solid #e4ece7; padding:18px 0; margin-top:18px; }
.ts-repair-total > span { font-size:15px; font-weight:600; }
.ts-repair .ts-repair-total .productPrice { font-size:25px; color:#007f4b; padding:0; margin:0; line-height:1.25; }
.ts-repair .repairActions { display:grid; gap:10px; }
.ts-repair .repairActions input.webshopBtn { display:block; width:100%; box-sizing:border-box; height:auto; min-height:48px; padding:13px 15px; border-radius:8px; font-size:14px; font-weight:600; line-height:20px; margin:0; cursor:pointer; }
.ts-repair .repairActions .ts-repair-primary { background:#009e60; color:#fff; border:1px solid #009e60; }
.ts-repair .repairActions .ts-repair-secondary { background:#fff; color:#00814a; border:1px solid #b7d8c5; }
.ts-repair .repairActions input:disabled { opacity:.45; cursor:not-allowed; }
.ts-repair-next { text-align:center; margin-top:14px; }
.ts-repair-options { padding:0; margin:0; min-width:0; }
.ts-repair-options-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:18px; }
.ts-repair .ts-repair-options-heading h2 { font-size:22px; color:#1e432e; margin:0; line-height:1.35; }
.ts-repair-select-count { background:#edf6f0; color:#00834c; padding:7px 10px; font-size:11px; font-weight:600; border-radius:20px; white-space:nowrap; }
.ts-repair-quality { border:1px solid #dbe8df; background:#f7fbf8; border-radius:9px; padding:15px 17px; margin-bottom:24px; color:#4c6c58; font-size:13px; line-height:1.6; }
.ts-repair-quality summary { cursor:pointer; font-weight:600; }
.ts-repair-quality p { padding-top:10px; margin:0; }
.ts-repair-quality a { color:#00834c; text-decoration:underline; }
.ts-repair-group { padding:0; border:0; margin:0 0 25px; min-width:0; }
.ts-repair-group legend { padding:0 0 13px; width:100%; font-size:16px; font-weight:700; color:#244d34; }
.ts-repair .variationList { padding:0; margin:0; list-style:none; }
.ts-repair .variationList > .ts-repair-option { padding:0; margin:0 0 10px; border:1px solid #dfe8e2; border-radius:9px; background:#fff; overflow:hidden; }
.ts-repair .variationList > .ts-repair-option:has(input:checked) { border-color:#009e60; background:#eff9f3; box-shadow:0 0 0 1px #009e601a; }
.ts-repair .variationList > .ts-repair-option:hover { border-color:#7fbc98; }
.ts-repair-option-label { display:flex; align-items:center; gap:15px; padding:17px 18px; width:100%; box-sizing:border-box; cursor:pointer; margin:0; }
.ts-repair-option-label input[type=checkbox] { width:18px; height:18px; flex:0 0 18px; appearance:auto; accent-color:#009e60; margin:0; opacity:1; position:static; cursor:pointer; }
.ts-repair-option-name { flex:1; font-size:14px; line-height:1.5; min-width:0; color:#34513e; }
.ts-repair-option-price { font-size:14px; font-weight:600; line-height:1.5; color:#214e33; white-space:nowrap; }
.ts-repair-option-price del { display:block; font-size:11px; font-weight:400; color:#8a968e; }
.ts-repair-option-info { padding:0 18px 12px 51px; font-size:12px; color:#647b6b; line-height:1.6; }
.ts-repair-option-info summary { cursor:pointer; color:#00834c; }
.ts-repair-option-info > div { padding-top:10px; }
.ts-repair-option-label:has(input:focus-visible) { outline:2px solid #008d50; outline-offset:-3px; border-radius:8px; }
.ts-repair .productDescription { border-top:1px solid #e0eae4; padding-top:28px; margin-top:24px; }
.ts-repair .productDescription .heading .title { color:#234a33; font-size:20px; }
.ts-repair-mobile-summary { display:none; }
@media (max-width:1000px) {
    .ts-repair .ts-repair-layout { gap:22px; grid-template-columns:minmax(240px,.75fr) minmax(0,1.5fr); }
    .ts-repair-device { top:160px; }
    .ts-repair-options-heading { align-items:flex-start; }
    .ts-repair-select-count { display:none; }
}
@media (max-width:768px) {
    body:has(.ts-repair) .webshopRepairSteps { padding:12px; overflow:hidden; }
    .ts-repair .ts-repair-intro h1 { font-size:26px; }
    .ts-repair .ts-repair-layout { display:flex; flex-direction:column; gap:24px; }
    .ts-repair-device { position:static; width:100%; }
    .ts-repair-device-inner { display:grid; grid-template-columns:1fr 100px; padding:16px; align-items:center; }
    .ts-repair-device-heading { padding:0; }
    .ts-repair .productImage { padding:0; }
    .ts-repair #productMainImage { height:105px; max-width:90px; }
    .ts-repair .productExtraImagesContainer { display:none; }
    .ts-repair-summary { grid-column:1/-1; padding:20px 0 0; margin-top:16px; }
    .ts-repair-summary [data-repair-selection], .ts-repair-selection-hint { display:none; }
    .ts-repair .ts-repair-summary h2 { display:none; }
    .ts-repair-total { border:0; margin:0; padding:0 0 16px; }
    .ts-repair-options { width:100%; }
    .ts-repair-options-heading { margin-bottom:16px; }
    .ts-repair .ts-repair-options-heading h2 { font-size:21px; }
    .ts-repair-option-label { gap:11px; padding:15px 12px; }
    .ts-repair-option-name { font-size:13px; }
    .ts-repair-option-price { font-size:13px; }
    .ts-repair-mobile-summary { display:flex; position:fixed; z-index:1000; left:0; right:0; bottom:0; padding:13px 18px calc(13px + env(safe-area-inset-bottom)); border-top:1px solid #d4e5db; background:#fff; box-shadow:0 -4px 18px #16382412; align-items:center; gap:20px; justify-content:space-between; }
    .ts-repair-mobile-summary span { display:block; font-size:11px; color:#697e70; margin-bottom:4px; }
    .ts-repair-mobile-summary strong { font-size:21px; color:#007f4b; }
    .ts-repair-mobile-summary button { background:#009e60; color:#fff; border:0; border-radius:8px; padding:14px 17px; font-size:13px; font-weight:600; }
    .ts-repair-mobile-summary button:disabled { opacity:.45; }
    body:has(.ts-repair) { padding-bottom:88px; }
}
.ts-repair-group { border-bottom:1px solid #e0eae4; padding-bottom:12px; margin-bottom:12px; }
.ts-repair-group > summary { display:flex; align-items:center; gap:12px; list-style:none; cursor:pointer; padding:13px 0; font-size:16px; font-weight:700; color:#244d34; }
.ts-repair-group > summary::-webkit-details-marker { display:none; }
.ts-repair-group > summary > span { flex:1; }
.ts-repair-group > summary small { font-size:11px; color:#718579; font-weight:400; }
.ts-repair-group > summary::after { content:'+'; font-size:23px; font-weight:400; color:#00854d; width:24px; text-align:center; }
.ts-repair-group[open] > summary::after { content:'−'; }
.ts-repair-group > fieldset { border:0; padding:8px 0 0; margin:0; min-width:0; }
.ts-repair [data-repair-selection] { max-height:140px; overflow-y:auto; }
/* Use the native green checkbox without the legacy orange FontAwesome overlay. */
.ts-repair-option-label input[type=checkbox]::before,
.ts-repair-option-label input[type=checkbox]::after { content:none !important; display:none !important; }
@media (max-width:768px) {
    .ts-repair-group > summary { cursor:default; pointer-events:none; }
    .ts-repair-group > summary::after { display:none; }
}

.ts-repair [data-repair-selection] li > span { min-width:0; }
.ts-repair [data-repair-selection] li > strong { flex:none; white-space:nowrap; color:#24563a; font-size:12px; }
