/* Logo palette: midnight black, electric blue, cyan and silver. */
:root {
    --sf-teal: #249dff;
    --sf-teal-dark: #61d7ff;
    --sf-ink: #edf5ff;
    --sf-muted: #a0afc3;
    --sf-line: #20324b;
    --sf-mint: #102d47;
    --sf-paper: #060c16;
    --repair-panel: #0d1727;
    --repair-panel-soft: #101e31;
    color-scheme: dark;
}
body.nextgen-storefront { background: var(--sf-paper); color: var(--sf-ink); }
.nextgen-storefront .announcement { background: #081c30; color: #b0c9e2; border-bottom: 1px solid #143454; }
.announcement > span { margin-left: 10px; opacity: .75; }
.nextgen-storefront .announcement a { color: #59d4ff; }
.nextgen-storefront .store-header { background: #080f1df5; backdrop-filter: blur(18px); border-color: var(--sf-line); }
.nextgen-storefront .header-main { min-height: 95px; }
.brand-logo-image { width: 58px; height: 58px; object-fit: contain; border-radius: 50%; border: 1px solid #1a4c76; box-shadow: 0 0 18px #079fff20; flex-shrink: 0; }
.nextgen-storefront .brand-lockup strong { color: #f1f7ff; }
.nextgen-storefront .brand-lockup small { color: #95adc9; }
.nextgen-storefront .brand-dot { color: #21c6f5; }
.nextgen-storefront .header-search { background: #0d1a2b; border-color: #1c324b; }
.nextgen-storefront .header-search input { color: #e6f2ff; }
.nextgen-storefront .header-search input::placeholder { color: #8fa2b9; }
.nextgen-storefront .header-search > .sf-icon { color: #55bfff; }
.nextgen-storefront .header-support small { color: #97abc4; }
.nextgen-storefront .store-nav { border-color: #15253a; }
.nextgen-storefront .store-nav a { color: #b5c8dd; }
.nextgen-storefront .store-nav a:hover, .nextgen-storefront .store-nav a[aria-current], .nextgen-storefront .store-nav .nav-all { color: #55ceff; }
.nextgen-storefront .menu-button { background: #0e1c2e; color: #b5e4ff; border-color: #234263; }
.nextgen-storefront .sf-primary, .nextgen-storefront .btn-primary { color: #fff; background: linear-gradient(110deg, #086de0, #148ff2); border: 1px solid #28a9ff; box-shadow: 0 4px 20px #008dff1a; }
.nextgen-storefront .sf-primary:hover, .nextgen-storefront .btn-primary:hover { background: linear-gradient(110deg, #087af4, #15a1ff); color: white; box-shadow: 0 5px 24px #009dff35; }
.nextgen-storefront .sf-outline, .nextgen-storefront .btn-secondary { background: #0c1c30; border-color: #2d5278; color: #c3e4ff; }
.nextgen-storefront .sf-outline:hover, .nextgen-storefront .btn-secondary:hover { background: #123557; color: #fff; }
.nextgen-storefront .sf-eyebrow, .nextgen-storefront .sf-text-link, .nextgen-storefront .section-label { color: #59cbff; }
.nextgen-storefront .sf-text-link:hover { color: #91e4ff; }
.nextgen-storefront :focus-visible { outline-color: #4dcfff; }
.nextgen-storefront .sf-hero { background: linear-gradient(90deg, #06111cf5 0%, #07182ceb 43%, #072038b8 100%), url('../images/hero-workshop-bg.jpg') center 45% / cover no-repeat; border: 1px solid #1c3d60; min-height: 490px; box-shadow: 0 18px 60px #00000025; }
.nextgen-storefront .sf-hero-copy { padding-top: 54px; padding-bottom: 44px; }
.nextgen-storefront .sf-hero h1 { color: #f0f7ff; }
.nextgen-storefront .sf-hero h1 span { color: #27c8ff; }
.nextgen-storefront .sf-hero-copy > p { color: #acbdd1; }
.nextgen-storefront .status-dot { background: #32c9ff; box-shadow: 0 0 10px #20bfff; }
.nextgen-storefront .sf-hero-note { color: #95aac5; }
.sf-hero-note a { color: #b9dfff; }
.repair-photo-art { isolation: isolate; padding: 40px 32px 58px 20px; }
.hero-repair-frame { position: relative; width: 100%; max-width: 490px; overflow: hidden; border-radius: 18px; border: 1px solid #73cfff55; box-shadow: 0 20px 50px #0007, 0 0 45px #079eff12; }
.hero-repair-image { width: 100%; height: 100%; aspect-ratio: 4 / 3; object-fit: cover; object-position: 52% center; display: block; }
/* Supplied shop photos keep the full sign, face and workbench visible. */
.hero-shop-frame .hero-shop-image { height: auto; aspect-ratio: 1448 / 1086; object-fit: contain; }
.hero-shop-frame .hero-photo-caption { position: static; padding: 16px 20px 18px; background: #09192a; }
.nextgen-storefront .repair-team-photo { display: flex; flex-direction: column; justify-content: center; min-height: 0; background: #0a1727; }
.nextgen-storefront .repair-team-photo img { position: static; display: block; width: 100%; height: auto; object-fit: contain; }
.nextgen-storefront .repair-team-photo > span { position: static; align-self: flex-start; margin: 14px 18px; }
.workshop-photo-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; min-width: 0; }
.workshop-photo-stack { grid-template-columns: minmax(0, 1fr); align-self: start; }
.workshop-photo-card { margin: 0; min-width: 0; overflow: hidden; background: #0d1727; border: 1px solid #203651; border-radius: 16px; }
.workshop-photo-card > a { display: block; background: #091321; }
.workshop-photo-card img { display: block; width: 100%; height: auto; object-fit: contain; }
.workshop-photo-card figcaption { padding: 18px 20px 20px; }
.workshop-photo-card figcaption strong { display: block; color: #eef6ff; font-size: 17px; }
.workshop-photo-card figcaption span { display: block; margin-top: 8px; color: #a0afc3; font-size: 13px; line-height: 1.7; }
.workshop-photo-card figcaption a { display: inline-block; margin-top: 12px; color: #59cbff; font-size: 13px; }
@media (max-width: 640px) {
    .workshop-photo-grid { grid-template-columns: minmax(0, 1fr); gap: 18px; }
    .workshop-photo-card figcaption { padding: 16px; }
}
.hero-photo-caption { position: absolute; inset: auto 0 0; padding: 50px 22px 22px; background: linear-gradient(transparent, #051424f5); }
.hero-photo-caption span { display: block; color: #78dcff; font-size: 8px; letter-spacing: 2px; font-weight: 700; margin-bottom: 6px; }
.hero-photo-caption strong { font-size: 20px; letter-spacing: -0.4px; color: #f2f9ff; }
.nextgen-storefront .art-tag { background: #101e30f5; border-color: #275174; color: #eef8ff; box-shadow: 0 5px 25px #0004; }
.nextgen-storefront .art-tag small { color: #96b0cd; }
.nextgen-storefront .art-tag-bottom { bottom: 30px; right: 28px; transform: rotate(0); }
.nextgen-storefront .sf-assurance { border-color: #18283c; }
.nextgen-storefront .sf-assurance span { color: #a9bfd5; }
.nextgen-storefront .sf-assurance .sf-icon { color: #46c8ff; }
.nextgen-storefront :is(.sf-section-heading h2, .sf-repair-feature h2, .sf-faq h2, .sf-about-note h2, .sf-bottom-cta h2, .sf-promo h2) { color: #eef6ff; }
.nextgen-storefront .sf-shortcuts > a { background: var(--repair-panel); border-color: #203651; }
.nextgen-storefront .sf-shortcuts > a:hover { background: #10233a; border-color: #278dca; box-shadow: 0 6px 24px #008bff12; }
.nextgen-storefront .shortcut-icon { background: linear-gradient(145deg, #122f4f, #0e243d); color: #40caff; border: 1px solid #1b5279; }
.nextgen-storefront .sf-shortcuts small { color: #90a9c3; }
.sf-issue-section { margin: 0 0 35px; }
.repair-issue-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.repair-issue-card { display: flex; gap: 12px; align-items: flex-start; padding: 20px 16px; border-radius: 11px; border: 1px solid #20344c; background: #0c1727; min-width: 0; }
.repair-issue-card:hover { border-color: #2b9fe9; background: #102239; }
.repair-issue-icon { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; flex-shrink: 0; border-radius: 9px; background: #103553; color: #48cfff; border: 1px solid #1b5275; }
.repair-issue-icon .sf-icon { width: 21px; height: 21px; }
.repair-issue-card strong { display: block; font-size: 12px; line-height: 1.5; margin-bottom: 5px; color: #e7f4ff; }
.repair-issue-card small { display: block; font-size: 10px; line-height: 1.7; color: #92a9c1; }
.issue-arrow { color: #3fbaff; margin-left: auto; font-size: 13px; }
.issue-price-note { display: block; font-size: 9px; margin-top: 10px; color: #6ccfff; }
.nextgen-storefront .sf-promo { background: linear-gradient(115deg, #0b233c, #0e192b); border: 1px solid #1e4160; }
.nextgen-storefront .promo-sand { background: linear-gradient(115deg, #101c31, #11233f); }
.nextgen-storefront .promo-drawing { background: #102d49; border: 1px solid #1c547c; color: #56caff; }
.nextgen-storefront .sf-repair-feature { background: #0d192a; border: 1px solid #203651; }
.nextgen-storefront .repair-photo > span { background: #071424df; border: 1px solid #284867; color: #a3d5f6; }
.nextgen-storefront .sf-repair-tags span { background: #12263d; border-color: #254763; color: #a9d0eb; }
.nextgen-storefront .sf-process article { border-color: #20324b; }
.nextgen-storefront .sf-process article > span { color: #1bbdff; }
.nextgen-storefront :is(.sf-warranty-note, .sf-about-note) { background: #0e1c2e; border: 1px solid #21435d; }
.nextgen-storefront .sf-brands span { color: #a1b7ce; }
.nextgen-storefront .sf-brands p { color: #80a3c6; }
.nextgen-storefront .sf-reviews article, .nextgen-storefront .sf-gallery a { background: var(--repair-panel); border-color: var(--sf-line); }
.nextgen-storefront .sf-reviews article > p { color: #a8bdd4; }
.nextgen-storefront .sf-avatar { background: #13334c; color: #62d0ff; }
.nextgen-storefront .sf-faq-list details { border-color: #22334a; }
.nextgen-storefront .sf-bottom-cta { background: radial-gradient(ellipse at 90% 70%, #0c3550, transparent 60%), #0b1e35; border: 1px solid #285474; }
.nextgen-storefront .store-footer { background: #070e19; border-color: #1b2d43; }
.nextgen-storefront .sf-footer-grid > div:not(:first-child) > a { color: #9aafc6; }
.nextgen-storefront .sf-footer-bottom { color: #7990aa; }
.nextgen-storefront .sf-floating-chat { background: #097fe5; border: 1px solid #53ccff; box-shadow: 0 0 24px #008fff25; }
/* Secondary device catalogue keeps the same logo palette. */
.nextgen-storefront :is(.sf-product-card, .sf-filters form, .sf-detail-image) { background: var(--repair-panel); border-color: #243951; }
.nextgen-storefront .sf-product-image { background: #111f32; }
.nextgen-storefront .sf-product-image img, .nextgen-storefront .sf-detail-image img { mix-blend-mode: normal; }
.nextgen-storefront .sf-product-meta { color: #9eafc2; }
.nextgen-storefront .sf-product-rating { background: #153d48; color: #8eeaff; }
.nextgen-storefront .sf-product-warranty { color: #92bcd4; }
.nextgen-storefront .sf-product-price del, .nextgen-storefront .sf-detail-price del { color: #879cb2; }
.nextgen-storefront .sf-discount, .nextgen-storefront .sf-saving { background: #163b52; color: #8bdefd; }
.nextgen-storefront .stock-available { color: #69e0b7; }
.nextgen-storefront .stock-unavailable { color: #c9b998; }
.nextgen-storefront .deal-status { font-size: 11px; font-weight: 700; letter-spacing: .2px; }
.nextgen-storefront .deal-status-available { color: #69e0b7; }
.nextgen-storefront .deal-status-reserved { color: #f4c86e; }
.nextgen-storefront .deal-status-sold { color: #a4b4c7; }
.deal-manage-link { margin-left: auto; color: #68d5ff; font-size: 12px; font-weight: 700; }
.deals-manage-page, .deals-form-page { padding-top: 42px; padding-bottom: 70px; }
.deals-manage-heading { display: flex; gap: 28px; justify-content: space-between; align-items: end; padding: 30px; background: radial-gradient(circle at 85% 20%, #113f65, transparent 35%), #0b192b; border: 1px solid #24496b; border-radius: 14px; margin-bottom: 24px; }
.deals-manage-heading h1, .deals-form-panel h1 { color: #edf7ff; font-size: clamp(28px, 4vw, 42px); margin: 9px 0; letter-spacing: -1px; }
.deals-manage-heading p, .deals-form-panel > p { color: #a4bdd5; max-width: 670px; line-height: 1.7; font-size: 13px; }
.deal-message { padding: 13px 16px; border: 1px solid #2e796f; background: #0b302e; color: #8cedd9; border-radius: 8px; margin: 0 0 20px; font-size: 13px; }
.deal-manage-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.deal-manage-card { min-width: 0; display: grid; grid-template-columns: 130px 1fr; gap: 18px; padding: 16px; border-radius: 12px; border: 1px solid #233b55; background: #0c1727; }
.deal-manage-card img { width: 130px; height: 105px; border-radius: 8px; object-fit: cover; background: #102137; }
.deal-manage-card h2 { margin: 8px 0 6px; font-size: 18px; color: #eef7ff; }
.deal-manage-card p { margin: 0 0 14px; color: #9ab2c9; font-size: 12px; }
.deal-manage-card .sf-button { min-height: 35px; padding: 8px 12px; font-size: 11px; }
.deals-form-panel { max-width: 920px; margin-top: 18px; padding: 34px; border-radius: 14px; border: 1px solid #244762; background: #0c1829; }
.deals-form { margin-top: 28px; }
.deals-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 18px; }
.deal-field { min-width: 0; }
.deal-field-wide { grid-column: 1 / -1; }
.deal-field > label { display: block; margin-bottom: 8px; color: #c1d7ec; font-size: 12px; font-weight: 600; }
.deal-field > label span { color: #58cfff; }
.deal-field :is(input:not([type=checkbox]), select, textarea) { width: 100%; min-width: 0; background: #081322; color: #edf7ff; border: 1px solid #2b4864; border-radius: 7px; padding: 11px 12px; font: inherit; font-size: 13px; }
.deal-field textarea { resize: vertical; min-height: 85px; }
.deal-field input[type=file] { padding: 9px; }
.deal-field :is(input, select, textarea):focus { outline: 2px solid #45c7ff; outline-offset: 2px; }
.deal-field small { display: block; margin-top: 7px; color: #86a2bc; font-size: 11px; line-height: 1.5; }
.deal-checkbox { display: inline-flex !important; gap: 9px; align-items: center; cursor: pointer; margin-top: 16px; }
.deal-checkbox input { width: 16px; height: 16px; accent-color: #149df5; }
.deal-field-error :is(input, select, textarea) { border-color: #e17781; }
.deal-field-error-text, .deal-form-error { margin: 7px 0 0; color: #ffb7bd; font-size: 11px; }
.deals-form-actions { display: flex; gap: 12px; justify-content: end; border-top: 1px solid #21374e; margin-top: 28px; padding-top: 22px; }
.nextgen-storefront .sf-catalogue-banner { background: linear-gradient(105deg, #112946, #0b182a); border: 1px solid #1b4267; }
.nextgen-storefront .sf-catalogue-banner > .sf-icon { color: #32b6ff; }
.nextgen-storefront :is(.sf-filter-help, .sf-empty) { background: #0d1c2f; border-color: #274260; }
.nextgen-storefront .sf-filters fieldset > label, .nextgen-storefront .stock-checkbox { color: #afc4d8; }
.nextgen-storefront :is(.sf-filters input[type=search], .sf-filters input[type=number], .sf-filters select, .sf-results-bar select) { background: #091321; color: #cfe5fa; border-color: #2a435f; }
.nextgen-storefront .sf-sort-submit { background: #12314b; color: #7fd7ff; border-color: #244d6e; }
.nextgen-storefront .sf-detail-image { background: #111f32; }
/* Legacy page content and forms share the dark panels. */
.nextgen-storefront .page-hero { background: linear-gradient(110deg, #0c1f35, #091320); border-bottom: 1px solid #203b56; }
.nextgen-storefront .page-hero h1, .nextgen-storefront .section-header h2 { color: #edf6ff; }
.nextgen-storefront .page-hero h1 span, .nextgen-storefront .section-header h2 span { color: #3fc8ff; }
.nextgen-storefront .hero-badge { background: #113251; color: #8fddff; border-color: #245071; }
.nextgen-storefront :is(.services-page, .gallery-main-section, .gallery-featured-section, .why-section, .tracking-section, .home-about-preview) { background: var(--sf-paper); }
.nextgen-storefront :is(.service-card, .why-card, .form-card, .tracking-card, .repair-status-card, .repair-info-box, .repair-info-card, .contact-service-card, .contact-info-item, .review-card, .review-home-card, .review-benefit-card, .review-summary-card, .service-meta-box, .gallery-card, .gallery-featured-card, .gallery-feature-box, .about-box, .process-card) { background: var(--repair-panel); border-color: var(--sf-line); color: #e7f4ff; }
.nextgen-storefront :is(.service-icon, .why-icon, .contact-service-icon, .service-category-icon, .review-benefit-icon, .service-meta-box, .repair-info-box) { background: #112d47; color: #65d2ff; }
.nextgen-storefront .form-group :is(input, textarea, select), .nextgen-storefront .tracking-input input { background: #0a1525; color: #e7f4ff; border-color: #294966; }
.nextgen-storefront :is(.cta, .reviews-final-cta, .gallery-highlight) { background: #0b2239; color: #edf6ff; border-block: 1px solid #23466a; }
.nextgen-storefront :is(.cta, .reviews-final-cta, .gallery-highlight) h2 { color: #edf6ff; }
.nextgen-storefront :is(.cta, .reviews-final-cta, .gallery-highlight) h2 span { color: #41c8ff; }
.nextgen-storefront :is(.cta, .reviews-final-cta) .btn-primary { background: #0b7fed; border-color: #39b7ff; }
.nextgen-storefront :is(.cta, .reviews-final-cta) .btn-secondary { background: #122c45; color: #b7e5ff; border-color: #2c587a; }
.nextgen-storefront .gallery-filter { background: #11263d; color: #c7e4fa; border-color: #284969; }
.nextgen-storefront .gallery-filter.active { background: #087eeb; color: #fff; }
.nextgen-storefront .repair-info-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 20px; }
.nextgen-storefront .repair-info-card { padding: 25px; border: 1px solid var(--sf-line); border-radius: 12px; }
.nextgen-storefront .repair-info-card p { color: var(--sf-muted); font-size: 13px; }
.nextgen-storefront .tracking-help { background: #122a44; border: 1px solid #244767; }
/* Repair discovery and booking. */
.repair-services-page, .repair-booking-page { padding-bottom: 45px; }
.repair-page-banner { padding: 40px; border-radius: 14px; border: 1px solid #234666; background: radial-gradient(ellipse at right, #123656, transparent 70%), #0c182a; }
.repair-page-banner h1 { font-size: 40px; line-height: 1.2; letter-spacing: -1.3px; margin: 12px 0 18px; }
.repair-page-banner h1 span, .repair-booking-page h1 span { color: #42c6ff; }
.repair-page-banner p { color: #9db4ce; font-size: 14px; margin-bottom: 23px; }
.repair-service-filter { display: flex; align-items: center; gap: 12px; margin-bottom: 25px; flex-wrap: wrap; }
.repair-service-filter :is(input, select) { background: #0d192a; color: #d9eaff; border: 1px solid #294361; padding: 12px; border-radius: 7px; font-size: 13px; min-height: 45px; }
.repair-service-filter input { flex: 1; min-width: 180px; }
.repair-service-filter select { min-width: 180px; }
.repair-service-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.repair-service-card { padding: 28px; background: #0d192a; border: 1px solid #243c57; border-radius: 12px; }
.repair-service-category { font-size: 10px; letter-spacing: 1px; color: #63d3ff; text-transform: uppercase; }
.repair-service-card h3 { font-size: 21px; margin: 12px 0; line-height: 1.4; }
.repair-service-card p { color: #a2b6ce; font-size: 13px; line-height: 1.8; }
.repair-service-price { font-size: 13px; color: #61d3ff; display: block; margin-top: 15px; }
.repair-service-actions { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.repair-service-actions .sf-button { padding: 9px 13px; min-height: 36px; font-size: 11px; }
.repair-booking-page h1 { font-size: 38px; line-height: 1.2; margin: 10px 0; letter-spacing: -1px; }
.repair-booking-layout { display: grid; grid-template-columns: minmax(0,1fr) 320px; gap: 28px; }
.repair-book-form { padding: 30px; border: 1px solid #213b56; border-radius: 12px; background: #0c1727; }
.repair-book-form fieldset { border: 0; padding: 0 0 25px; }
.repair-book-form fieldset + fieldset { border-top: 1px solid #23374e; padding-top: 25px; }
.repair-book-form legend { font-size: 17px; font-weight: 650; display: flex; align-items: center; gap: 10px; margin-bottom: 20px; padding-top: 6px; }
.repair-book-form legend span { color: #5dd6ff; background: #12314c; padding: 3px 9px; font-size: 12px; border-radius: 5px; }
.repair-fields-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 18px; }
.repair-field-wide { grid-column: 1/-1; }
.repair-field label { display: block; font-size: 12px; color: #c0d4e9; margin-bottom: 8px; }
.repair-field label span { color: #4bc6ff; }
.repair-field :is(input, select, textarea) { background: #081322; color: #edf6ff; border: 1px solid #2a435e; width: 100%; min-width: 0; padding: 12px; border-radius: 7px; font-size: 13px; line-height: 1.5; }
.repair-field :is(input, textarea)::placeholder { color: #728daa; }
.repair-field :is(input, select, textarea):focus { outline: 2px solid #42bfff; outline-offset: 2px; }
.repair-field textarea { resize: vertical; }
.repair-book-submit { border-top: 1px solid #23374e; padding-top: 20px; display: flex; align-items: center; gap: 20px; justify-content: space-between; }
.repair-book-submit p { font-size: 11px; color: #8fa8c4; max-width: 300px; }
.repair-book-submit button { flex-shrink: 0; }
.repair-book-help { background: #0c1b2e; border: 1px solid #26415d; border-radius: 12px; padding: 25px; margin-bottom: 20px; }
.repair-book-help h2 { font-size: 20px; margin: 15px 0; }
.repair-book-help h3 { font-size: 17px; }
.repair-book-help > p { font-size: 12px; color: #9cb3cc; margin: 12px 0; }
.repair-book-help ol { list-style: none; counter-reset: repair-step; margin: 20px 0; }
.repair-book-help li { counter-increment: repair-step; position: relative; padding-left: 30px; margin-bottom: 20px; }
.repair-book-help li::before { content: counter(repair-step); position: absolute; left: 0; color: #5bcfff; font-size: 11px; top: 3px; }
.repair-book-help li strong { font-size: 12px; }
.repair-book-help li p { font-size: 11px; color: #8ba8c4; line-height: 1.8; margin-top: 5px; }
.repair-book-help > .sf-text-link { display: block; margin-top: 15px; }
.repair-form-alert { padding: 13px 17px; font-size: 12px; color: #ffbcb6; background: #351b29; border: 1px solid #76354b; border-radius: 7px; margin-bottom: 20px; }
.repair-error { color: #ffb4b2; font-size: 11px; margin-top: 7px; }
.repair-detail-description p { color: #a2b6ce; font-size: 13px; line-height: 1.9; margin-bottom: 15px; }
.business-services .repair-service-card { display: flex; flex-direction: column; align-items: flex-start; }
.business-services .repair-service-card > .repair-service-actions,
.business-services .repair-service-card > .laptop-trade-actions { margin-top: auto; padding-top: 22px; }
.recovery-media { display: flex; flex-wrap: wrap; gap: 6px; margin: 16px 0 0; }
.recovery-media span { padding: 4px 8px; font-size: 9px; background: #12314c; color: #a5d8f6; border: 1px solid #244c6c; border-radius: 4px; }
.laptop-trade-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; }
.business-services .repair-service-card p { margin-bottom: 5px; }
.repair-field-error :is(input, select, textarea) { border-color: #da7681; }
.repair-warranty-banner { display: flex; align-items: center; gap: 24px; padding: 30px 32px; margin: 32px 0; border: 1px solid #268bd0; border-radius: 14px; background: linear-gradient(110deg, #0c233b, #103957 70%, #09243c); box-shadow: inset 0 1px 0 #5edcff30, 0 10px 35px #00132150; }
.repair-warranty-shield { display: grid; place-items: center; width: 64px; height: 74px; flex-shrink: 0; color: #60dcff; }
.repair-warranty-shield svg { width: 58px; height: 58px; }
.repair-warranty-banner > div { flex: 1; }
.nextgen-storefront .repair-warranty-banner h2 { font-size: clamp(22px, 2.2vw, 31px); line-height: 1.3; margin: 8px 0; letter-spacing: -0.6px; }
.repair-warranty-banner h2 strong { color: #74e3ff; white-space: nowrap; }
.repair-warranty-banner p { color: #b2cde0; font-size: 12px; line-height: 1.7; }
.repair-warranty-banner .sf-button { flex-shrink: 0; border-color: #4a91bf; }
@media(max-width:600px) {
    .repair-warranty-banner { flex-wrap: wrap; gap: 16px; padding: 23px 20px; }
    .repair-warranty-shield { width: 38px; height: 45px; }
    .repair-warranty-shield svg { width: 38px; height: 38px; }
    .repair-warranty-banner .sf-eyebrow { font-size: 8px; letter-spacing: 1px; }
    .repair-warranty-banner h2 strong { display: block; }
    .repair-warranty-banner .sf-button { margin-left: 54px; }
}
@media(max-width:1100px) {
    .repair-photo-art { padding-inline: 20px; }
    .repair-issue-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .repair-booking-layout { grid-template-columns: minmax(0,1fr) 270px; gap: 20px; }
    .repair-book-submit { flex-direction: column; align-items: stretch; }
    .repair-book-submit p { max-width: none; }
}
@media(max-width:850px) {
    .nextgen-storefront .header-main { min-height: 85px; }
    .brand-logo-image { width: 46px; height: 46px; }
    .hero-photo-caption { padding: 35px 17px 18px; }
    .hero-photo-caption strong { font-size: 16px; }
    .nextgen-storefront .repair-first-hero { min-height: 450px; }
    .repair-service-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .repair-booking-layout { grid-template-columns: 1fr; }
    .repair-book-sidebar { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
    .repair-book-help { margin: 0; }
    .nextgen-storefront .repair-info-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .deal-manage-grid { grid-template-columns: 1fr; }
}
@media(max-width:600px) {
    .announcement > span { display: none; }
    .nextgen-storefront .announcement a { display: inline; margin-left: 8px; }
    .nextgen-storefront .header-main { min-height: 0; }
    .brand-logo-image { width: 43px; height: 43px; }
    .nextgen-storefront .repair-first-hero { min-height: 0; }
    .nextgen-storefront .sf-hero-copy { padding: 28px 24px 20px; }
    .nextgen-storefront .sf-hero h1 { font-size: 42px; }
    .repair-photo-art { min-height: 0; padding: 8px 20px 50px; }
    .hero-repair-frame { max-width: none; border-radius: 12px; }
    .hero-repair-image { aspect-ratio: 16 / 10; }
    .nextgen-storefront .repair-first-hero { background-position: center, 35% top; }
    .nextgen-storefront .art-tag-bottom { bottom: 12px; right: 18px; }
    .repair-issue-grid { gap: 10px; }
    .repair-issue-card { flex-direction: column; padding: 16px 13px; position: relative; gap: 10px; }
    .repair-issue-card strong { font-size: 11px; }
    .repair-issue-card small { font-size: 9px; }
    .issue-arrow { position: absolute; right: 14px; top: 17px; }
    .repair-page-banner { padding: 27px 24px; }
    .repair-page-banner h1 { font-size: 31px; }
    .repair-service-filter { gap: 10px; }
    .repair-service-filter input { width: 100%; flex-basis: 100%; }
    .repair-service-filter select { min-width: 0; flex: 1; font-size: 12px; }
    .repair-service-filter button { font-size: 11px; padding-inline: 14px; }
    .repair-service-grid { grid-template-columns: 1fr; }
    .repair-booking-page h1 { font-size: 31px; }
    .repair-book-form { padding: 22px 18px; }
    .repair-book-form legend { font-size: 15px; }
    .repair-fields-grid { grid-template-columns: 1fr; gap: 18px; }
    .repair-book-sidebar { grid-template-columns: 1fr; }
    .nextgen-storefront .repair-info-grid { grid-template-columns: 1fr; }
    .deals-manage-page, .deals-form-page { padding-top: 25px; padding-bottom: 45px; }
    .deals-manage-heading, .deals-form-panel { padding: 23px 19px; }
    .deals-manage-heading { align-items: flex-start; flex-direction: column; gap: 18px; }
    .deals-fields { grid-template-columns: 1fr; }
    .deal-field-wide { grid-column: auto; }
    .deals-form-actions { justify-content: stretch; flex-direction: column-reverse; }
    .deals-form-actions .sf-button { width: 100%; text-align: center; }
    .deal-manage-card { grid-template-columns: 92px 1fr; gap: 12px; }
    .deal-manage-card img { width: 92px; height: 92px; }
    .deal-manage-link { margin-left: 0; }
}
