*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#18212b;background:#f6f7f9;line-height:1.6}a{color:#2457d6;text-decoration:none}.container{width:min(1120px,92%);margin:auto}header{background:#111827;color:white}.nav{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{color:white;font-size:1.3rem;font-weight:800}.nav nav{display:flex;gap:20px}.nav nav a{color:#e5e7eb}.hero{background:linear-gradient(135deg,#111827,#26364d);color:white;padding:90px 0}.hero h1{font-size:clamp(2.4rem,6vw,4.6rem);line-height:1.05;max-width:850px}.hero p{font-size:1.2rem;max-width:650px;color:#dbe3ef}.hero .eyebrow{color:#b5c8ff}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:800;color:#64748b}.button{display:inline-block;background:#2457d6;color:white;border:0;border-radius:10px;padding:11px 17px;font-weight:750;cursor:pointer;margin:4px}.button.secondary{background:white;color:#18212b}.button.small{padding:7px 11px;font-size:.9rem}.section{padding:60px 0}.page{padding:55px 0}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px}.card,.form-card,.guide article{background:white;border:1px solid #e1e6ed;border-radius:16px;overflow:hidden}.card img,.placeholder{width:100%;height:220px;object-fit:cover;background:#e9edf2;display:grid;place-items:center;color:#64748b}.body{padding:20px}.tag{display:inline-block;background:#eef2ff;color:#3046a8;border-radius:999px;padding:3px 9px;font-size:.78rem;font-weight:700}.callout{padding:55px 0;background:#e8eefc}.form-card{padding:30px}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:17px;margin-bottom:25px}.field.full{grid-column:1/-1}.field label{display:block;font-weight:700;margin-bottom:5px}.field input,.field select,.field textarea{width:100%;padding:10px 11px;border:1px solid #cbd5e1;border-radius:9px;font:inherit}.error{color:#b91c1c}.guide{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.guide article{padding:24px}.guide h2{margin-top:0}.product{display:grid;grid-template-columns:1fr 1fr;gap:45px}.product-image{width:100%;max-height:600px;object-fit:contain;background:white}.placeholder.large{height:450px}.price{font-size:2rem;font-weight:800}.notice,.success-box{padding:15px;border-radius:10px}.notice{background:#fff7ed}.success-box{background:#ecfdf5;border:1px solid #86efac}.success{color:#15803d;font-weight:800}.messages{padding-top:15px}.message{background:#ecfdf5;border:1px solid #86efac;padding:10px;border-radius:9px}footer{background:#111827;color:#cbd5e1;padding:35px 0;margin-top:30px}@media(max-width:700px){.nav{padding:14px 0;align-items:flex-start;flex-direction:column}.nav nav{flex-wrap:wrap}.hero{padding:60px 0}.grid,.guide,.product{grid-template-columns:1fr}.field.full{grid-column:auto}.placeholder.large{height:280px}}



/* =========================================================
   SELL YOUR PC - REDESIGNED FORM
   ========================================================= */

.sell-page {
    max-width: 1000px;
}

.page-intro {
    max-width: 760px;
    font-size: 1.08rem;
    color: #475569;
    margin-bottom: 8px;
}

.help-link {
    margin-top: 0;
    margin-bottom: 28px;
}

.sell-form {
    padding: 0;
    overflow: visible;
}


/* Form sections */

.form-section {
    padding: 30px;
    border-bottom: 1px solid #e2e8f0;
}

.form-section:last-of-type {
    border-bottom: 0;
}

.form-section-heading {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 24px;
}

.form-section-heading h2 {
    margin: 0;
    font-size: 1.35rem;
    color: #18212b;
}

.form-section-heading p {
    margin: 3px 0 0;
    color: #64748b;
}


/* Numbered steps */

.step-number {
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #2457d6;
    color: white;
    font-weight: 800;
    font-size: 1rem;
}


/* Optional label */

.optional {
    display: inline-block;
    margin-left: 6px;
    padding: 2px 7px;
    border-radius: 999px;
    background: #f1f5f9;
    color: #64748b;
    font-size: .7rem;
    font-weight: 700;
    vertical-align: middle;
}


/* Information icon */

.info-tip {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: 5px;
    color: #2457d6;
    font-size: 1rem;
    cursor: help;
    vertical-align: middle;
    outline: none;
}


/* Information popup */

.info-tip-text {
    visibility: hidden;
    opacity: 0;

    position: absolute;
    z-index: 100;

    width: 290px;
    max-width: 80vw;

    left: 50%;
    bottom: calc(100% + 10px);
    transform: translateX(-50%);

    background: #111827;
    color: white;

    padding: 11px 13px;
    border-radius: 9px;

    font-size: .82rem;
    font-weight: 500;
    line-height: 1.45;

    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);

    transition: opacity .15s ease;
}


/* Small arrow underneath popup */

.info-tip-text::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -6px;

    border-width: 6px;
    border-style: solid;
    border-color: #111827 transparent transparent transparent;
}


/* Desktop hover + keyboard/mobile focus */

.info-tip:hover .info-tip-text,
.info-tip:focus .info-tip-text,
.info-tip:focus-within .info-tip-text {
    visibility: visible;
    opacity: 1;
}


/* Better inputs */

.sell-form .field input,
.sell-form .field select,
.sell-form .field textarea {
    background: #fff;
    transition: border-color .15s ease, box-shadow .15s ease;
}

.sell-form .field input:focus,
.sell-form .field select:focus,
.sell-form .field textarea:focus {
    outline: none;
    border-color: #2457d6;
    box-shadow: 0 0 0 3px rgba(36, 87, 214, .12);
}

.sell-form .field input::placeholder,
.sell-form .field textarea::placeholder {
    color: #94a3b8;
}


/* Checkbox questions */

.checkbox-field {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 14px 16px;
}

.checkbox-field label {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    cursor: pointer;
}

.checkbox-field input[type="checkbox"] {
    width: 20px;
    height: 20px;
    margin: 0;
    flex: 0 0 20px;
}


/* Errors */

.form-errors {
    margin: 25px 30px 0;
    padding: 14px;
    background: #fef2f2;
    border: 1px solid #fecaca;
    border-radius: 10px;
}

.sell-form .error {
    margin-top: 5px;
    font-size: .9rem;
}


/* Bottom / continue section */

.form-next {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 25px;

    padding: 25px 30px;

    background: #f8fafc;
    border-top: 1px solid #e2e8f0;

    border-radius: 0 0 16px 16px;
}

.form-next strong {
    display: block;
    font-size: 1.05rem;
}

.form-next p {
    margin: 2px 0 0;
    color: #64748b;
    font-size: .92rem;
}

.form-next .button {
    flex-shrink: 0;
}


/* Mobile layout */

@media (max-width: 700px) {

    .form-section {
        padding: 22px 18px;
    }

    .form-section-heading {
        gap: 11px;
    }

    .step-number {
        flex-basis: 32px;
        width: 32px;
        height: 32px;
    }

    .form-section-heading h2 {
        font-size: 1.2rem;
    }

    .info-tip-text {
        width: 240px;
    }

    .form-next {
        flex-direction: column;
        align-items: stretch;
        padding: 20px 18px;
    }

    .form-next .button {
        width: 100%;
        text-align: center;
        margin: 0;
    }
}

/* =========================================================
   PHOTO UPLOAD PAGE
   ========================================================= */

.photo-page {
    max-width: 1050px;
}

.submission-number {
    color: #64748b;
    font-size: .92rem;
    margin-top: 4px;
}

.photo-progress {
    background: white;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    padding: 18px 20px;
    margin: 24px 0;
}

.photo-progress-bar {
    height: 10px;
    background: #e2e8f0;
    border-radius: 999px;
    overflow: hidden;
    margin-top: 10px;
}

.photo-progress-fill {
    height: 100%;
    background: #2457d6;
    border-radius: 999px;
    transition: width .2s ease;
}

.photo-upload-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.photo-upload-card {
    background: white;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 22px;
}

.photo-upload-card.photo-complete {
    border-color: #86efac;
    background: #f0fdf4;
}

.photo-card-heading {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.photo-card-heading h2 {
    margin: 0;
    font-size: 1.15rem;
}

.photo-card-heading p {
    margin: 5px 0 0;
    color: #64748b;
}

.photo-number {
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #2457d6;
    color: white;
    font-weight: 800;
}

.photo-tip {
    margin: 16px 0;
    padding: 12px 14px;
    border-radius: 10px;
    background: #f8fafc;
    color: #475569;
    font-size: .9rem;
}

.photo-upload-form {
    margin-top: 16px;
}

.photo-file-input input[type="file"] {
    width: 100%;
    padding: 10px;
    border: 1px dashed #94a3b8;
    border-radius: 10px;
    background: #f8fafc;
}

.photo-requirements {
    color: #64748b;
    font-size: .82rem;
    margin: 9px 0 12px;
}

.photo-upload-button {
    width: 100%;
    text-align: center;
    margin: 0;
}

.photo-uploaded {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 18px;
    padding: 14px;
    border-radius: 10px;
    background: #dcfce7;
}

.photo-uploaded p {
    margin: 2px 0 0;
    color: #166534;
    font-size: .9rem;
}

.photo-check {
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #16a34a;
    color: white;
    font-weight: 900;
    font-size: 1.1rem;
}

.photo-notice {
    margin-top: 24px;
}

.photo-finished {
    margin-top: 24px;
    display: flex;
    align-items: flex-start;
    gap: 16px;
}

.photo-finished h2 {
    margin-top: 0;
}

.photo-finished-icon {
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #16a34a;
    color: white;
    font-size: 1.3rem;
    font-weight: 900;
}

@media (max-width: 700px) {
    .photo-upload-grid {
        grid-template-columns: 1fr;
    }

    .photo-upload-card {
        padding: 18px;
    }

    .photo-finished {
        flex-direction: column;
    }
}

/* Components storefront */

.components-page {
    max-width: 1200px;
    margin: 0 auto;
    padding: 32px 20px 48px;
}

.components-header {
    margin-bottom: 28px;
}

.components-header h1 {
    margin: 4px 0 8px;
    font-size: 2rem;
}

.components-header p {
    margin: 0;
}

.product-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}

.product-card {
    background: white;
    border: 1px solid #dfe3e8;
    border-radius: 12px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.product-image-link {
    display: block;
    text-decoration: none;
}

.product-image {
    width: 100%;
    aspect-ratio: 4 / 3;
    background: #f3f4f6;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.product-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.product-image-placeholder {
    color: #6b7280;
    font-weight: 700;
}

.product-card-body {
    padding: 18px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex: 1;
}

.product-category {
    margin: 0;
    font-size: 0.85rem;
    color: #6b7280;
}

.product-condition {
    display: inline-block;
    align-self: flex-start;
    padding: 5px 9px;
    border-radius: 999px;
    background: #eef2f7;
    font-size: 0.8rem;
    font-weight: 700;
}

.product-name {
    margin: 0;
    font-size: 1.2rem;
}

.product-name a {
    color: inherit;
    text-decoration: none;
}

.product-name a:hover {
    text-decoration: underline;
}

.product-description {
    margin: 0;
    color: #4b5563;
    line-height: 1.5;
}

.product-card-footer {
    margin-top: auto;
    padding-top: 8px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.product-price {
    font-size: 1.25rem;
}

.product-view-button {
    display: inline-block;
    padding: 9px 14px;
    border-radius: 8px;
    background: #16243a;
    color: white;
    text-decoration: none;
    font-weight: 700;
}

.product-view-button:hover {
    opacity: 0.9;
}

.empty-products {
    padding: 32px;
    background: white;
    border: 1px solid #dfe3e8;
    border-radius: 12px;
}

@media (max-width: 700px) {
    .components-page {
        padding: 24px 14px 36px;
    }
.filter-fields {
    grid-template-columns: 1fr;
    gap: 14px;
}

.product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}
    
        .product-image {
        aspect-ratio: 16 / 10;
    }
}

/* Product filters */

.product-filters {
    margin-bottom: 28px;
    padding: 18px;
    background: white;
    border: 1px solid #dfe3e8;
    border-radius: 12px;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    align-items: end;

    position: -webkit-sticky;
    position: sticky;
    top: 12px;
    z-index: 100;
    align-self: start;
}

.filter-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.filter-field label {
    font-weight: 700;
    font-size: 0.9rem;
}

.filter-field select,
.filter-field input {
    width: 100%;
    min-height: 42px;
    padding: 8px 10px;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: white;
    font: inherit;
    box-sizing: border-box;
}

.price-input {
    display: flex;
    align-items: center;
    gap: 8px;
}

.price-input span {
    font-weight: 700;
}

.filter-actions {
    display: flex;
    align-items: center;
    gap: 12px;
}

.filter-button {
    min-height: 42px;
    padding: 9px 16px;
    border: 0;
    border-radius: 8px;
    background: #16243a;
    color: white;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}

.filter-clear {
    color: #2456d6;
    text-decoration: none;
    font-weight: 700;
}

.filter-clear:hover {
    text-decoration: underline;
}

@media (min-width: 701px) and (max-width: 950px) {
    .product-filters {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .product-filters {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .filter-actions {
        justify-content: space-between;
    }

    .filter-button {
        flex: 1;
    }
}

.filter-header {
    grid-column: 1 / -1;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.filter-toggle {
    padding: 8px 12px;
    border: 1px solid #dfe3e8;
    border-radius: 8px;
    background: white;
    cursor: pointer;
}

.filter-fields {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    align-items: end;
}

.filter-fields.collapsed {
    display: none;
}

/* =========================================================
   PRODUCT DETAIL - COMPATIBILITY
   ========================================================= */

.product-compatibility-summary {
    margin: 28px 0 24px;
}

.product-compatibility-summary h2 {
    margin: 0 0 14px;
}

.compatibility-tags {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.compatibility-tag {
    display: flex;
    flex-direction: column;
    gap: 3px;
    padding: 12px 14px;
    background: white;
    border: 1px solid #dfe3e8;
    border-radius: 10px;
    line-height: 1.35;
}

.compatibility-tag strong {
    font-size: .75rem;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #64748b;
}

.compatibility-section {
    padding-bottom: 55px;
}

.compatibility-heading {
    margin-bottom: 22px;
}

.compatibility-heading h2 {
    margin: 4px 0 6px;
    font-size: 1.7rem;
}

.compatibility-heading p:last-child {
    margin: 0;
    color: #64748b;
}

.compatible-details {
    display: flex;
    flex-direction: column;
    gap: 5px;
    color: #475569;
    font-size: .85rem;
    line-height: 1.4;
}

.compatibility-note {
    margin-top: 22px;
    padding: 14px 16px;
    background: #fff7ed;
    border-radius: 10px;
    color: #475569;
    font-size: .9rem;
}

@media (max-width: 700px) {
    .compatibility-tags {
        grid-template-columns: 1fr;
    }

    .compatibility-section {
        padding-left: 14px;
        padding-right: 14px;
    }
}

.product-compatibility {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 8px 0 12px;
}

.compatibility-chip {
    display: inline-flex;
    align-items: center;
    padding: 4px 8px;
    border: 1px solid #dfe3e8;
    border-radius: 999px;
    font-size: 0.82rem;
    line-height: 1.2;
    color: #475467;
    background: #f8fafc;
}

.purchase-panel {
    margin-top: 20px;
    padding: 18px;
    border: 1px solid #dfe3e8;
    border-radius: 12px;
    background: #f8fafc;
}

.purchase-panel-copy h2 {
    margin: 0 0 6px;
    font-size: 1.1rem;
}

.purchase-panel-copy p {
    margin: 0 0 14px;
    color: #667085;
}

.ebay-button {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    border-radius: 8px;
    background: #3665f3;
    color: white;
    font-weight: 700;
    text-decoration: none;
}

.ebay-button:hover {
    opacity: 0.92;
}

/* =========================================================
   SITE HEADER - MENU LAYOUT
   ========================================================= */

.site-header {
    background: #111827;
    color: white;
}

.site-header-inner {
    min-height: 68px;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 20px;
}

.site-header-left {
    display: flex;
    align-items: center;
    gap: 16px;
    justify-self: start;
}

.site-tagline {
    justify-self: center;
    color: #f8fafc;
    font-weight: 650;
    white-space: nowrap;
}

.site-header-spacer {
    justify-self: end;
}


/* Menu */

.site-menu {
    position: relative;
}

.site-menu summary {
    list-style: none;
}

.site-menu summary::-webkit-details-marker {
    display: none;
}

.menu-button {
    width: 42px;
    height: 42px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border: 0;
    border-radius: 9px;

    color: white;
    background: transparent;

    font-size: 1.6rem;
    line-height: 1;

    cursor: pointer;
    user-select: none;
}

.menu-button:hover {
    background: rgba(255, 255, 255, .08);
}

.site-menu[open] .menu-button {
    background: rgba(255, 255, 255, .1);
}


/* Dropdown panel */

.menu-panel {
    position: absolute;

    top: calc(100% + 12px);
    left: 0;

    z-index: 1000;

    width: 220px;

    display: flex;
    flex-direction: column;

    padding: 8px;

    background: white;
    border: 1px solid #dfe3e8;
    border-radius: 12px;

    box-shadow: 0 14px 35px rgba(15, 23, 42, .18);
}

.menu-panel a {
    display: block;

    padding: 11px 13px;

    border-radius: 8px;

    color: #18212b;

    font-weight: 700;
}

.menu-panel a:hover {
    background: #f1f5f9;
}


/* Brand */

.site-header .brand {
    color: white;
    font-size: 1.3rem;
    font-weight: 800;
    white-space: nowrap;
}


/* Smaller screens */

@media (max-width: 700px) {

    .site-header-inner {
        min-height: 64px;

        grid-template-columns:
            auto
            1fr;

        gap: 12px;

        padding-top: 0;
        padding-bottom: 0;
    }

    .site-header-left {
        gap: 10px;
    }

    .site-tagline {
        justify-self: end;

        max-width: 190px;

        white-space: normal;

        text-align: right;

        font-size: .82rem;
        line-height: 1.3;
    }

    .site-header-spacer {
        display: none;
    }

}

/* =========================================================
   SLIDE-OUT NAVIGATION DRAWER
   ========================================================= */

body.drawer-open {
    overflow: hidden;
}


/* Header menu button */

.site-header .menu-button {
    width: 42px;
    height: 42px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 0;
    margin: 0;

    border: 0;
    border-radius: 9px;

    background: transparent;
    color: white;

    font: inherit;
    font-size: 1.55rem;
    line-height: 1;

    cursor: pointer;
}

.site-header .menu-button:hover {
    background: rgba(255, 255, 255, .08);
}


/* Darkened page behind drawer */

.drawer-overlay {
    position: fixed;
    inset: 0;

    z-index: 1990;

    background: rgba(15, 23, 42, .48);

    opacity: 0;
    visibility: hidden;

    transition:
        opacity .22s ease,
        visibility .22s ease;
}

.drawer-overlay.open {
    opacity: 1;
    visibility: visible;
}


/* Main drawer */

.site-drawer {
    position: fixed;

    top: 0;
    left: 0;
    bottom: 0;

    z-index: 2000;

    width: min(360px, 88vw);

    background: white;

    transform: translateX(-100%);

    transition: transform .25s ease;

    box-shadow:
        12px 0 35px rgba(15, 23, 42, .18);

    overflow-y: auto;
}

.site-drawer.open {
    transform: translateX(0);
}


/* Drawer heading */

.drawer-header {
    min-height: 72px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 20px;

    padding: 14px 20px;

    background: #111827;
}

.drawer-brand {
    color: white;

    font-size: 1.25rem;
    font-weight: 800;
}

.drawer-brand:hover {
    color: white;
}


/* Close button */

.drawer-close {
    width: 42px;
    height: 42px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 0;

    border: 0;
    border-radius: 9px;

    background: transparent;
    color: white;

    font: inherit;
    font-size: 2rem;
    line-height: 1;

    cursor: pointer;
}

.drawer-close:hover {
    background: rgba(255, 255, 255, .08);
}


/* Main navigation */

.drawer-nav {
    display: flex;
    flex-direction: column;

    padding: 14px;
}


/* Components expandable heading */

.drawer-components-toggle {
    width: 100%;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 20px;

    padding: 14px 12px;

    border: 0;
    border-radius: 9px;

    background: transparent;
    color: #18212b;

    font: inherit;
    font-weight: 800;
    font-size: 1rem;

    text-align: left;

    cursor: pointer;
}

.drawer-components-toggle:hover {
    background: #f1f5f9;
}


/* Arrow */

.drawer-arrow {
    font-size: 1.45rem;
    line-height: 1;

    transition: transform .2s ease;
}

.drawer-components-toggle.open
.drawer-arrow {
    transform: rotate(90deg);
}


/* Component category list */

.component-menu {
    display: none;

    margin: 2px 0 8px;

    padding: 4px 0 6px 14px;

    border-left: 2px solid #e2e8f0;
}

.component-menu.open {
    display: flex;
    flex-direction: column;
}

.component-menu a {
    display: block;

    padding: 9px 12px;

    border-radius: 8px;

    color: #475569;

    font-size: .94rem;
    font-weight: 650;
}

.component-menu a:hover {
    background: #f1f5f9;
    color: #18212b;
}


/* Sell / Help / Contact */

.drawer-main-link {
    display: block;

    padding: 14px 12px;

    border-radius: 9px;

    color: #18212b;

    font-weight: 800;
}

.drawer-main-link:hover {
    background: #f1f5f9;
}


/* Divider after Components */

.drawer-section {
    padding-bottom: 8px;
    margin-bottom: 8px;

    border-bottom: 1px solid #e2e8f0;
}


/* Mobile */

@media (max-width: 700px) {

    .site-drawer {
        width: min(340px, 90vw);
    }

    .drawer-header {
        min-height: 64px;
        padding: 11px 16px;
    }

    .drawer-nav {
        padding: 10px;
    }

}

/* =========================================================
   HOMEPAGE
   ========================================================= */

.home-start {
    padding: 34px 0 22px;
}

.home-start-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
}

.home-choice-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;

    min-height: 290px;
    padding: 30px;

    background: white;
    border: 1px solid #dfe3e8;
    border-radius: 16px;
}

.home-choice-icon {
    width: 64px;
    height: 64px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin-bottom: 16px;

    border-radius: 12px;

    background: #2457d6;
    color: white;

    font-size: 1.8rem;
    font-weight: 800;
}

.home-choice-card h1 {
    margin: 0 0 8px;

    font-size: 1.55rem;
    line-height: 1.2;
}

.home-choice-card p {
    max-width: 390px;
    margin: 0 0 20px;

    color: #475569;
}

.home-choice-card .button {
    margin-top: auto;
}


/* Benefits strip */

.home-benefits {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));

    gap: 18px;

    margin-top: 0;
    margin-bottom: 42px;

    padding-top: 24px;
    padding-bottom: 24px;

    background: white;
    border: 1px solid #dfe3e8;
    border-radius: 16px;
}

.home-benefits article {
    display: flex;
    align-items: flex-start;

    gap: 14px;

    padding: 4px 18px;
}

.home-benefit-icon {
    flex: 0 0 46px;

    width: 46px;
    height: 46px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #2457d6;
    color: white;

    font-weight: 800;
    font-size: 1.15rem;
}

.home-benefits strong {
    display: block;

    margin-bottom: 3px;

    color: #18212b;
}

.home-benefits p {
    margin: 0;

    color: #64748b;

    font-size: .9rem;
    line-height: 1.45;
}


/* Newest products */

.home-products {
    padding-bottom: 22px;
}

.home-section-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 20px;

    margin-bottom: 18px;
}

.home-section-heading h2 {
    margin: 0;

    font-size: 1.6rem;
}

.home-section-heading a {
    font-weight: 750;
}

.home-product-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));

    gap: 14px;
}

.home-product-card {
    display: flex;
    flex-direction: column;

    min-width: 0;

    overflow: hidden;

    background: white;
    border: 1px solid #dfe3e8;
    border-radius: 14px;
}

.home-product-image {
    height: 150px;

    display: flex;
    align-items: center;
    justify-content: center;

    overflow: hidden;

    background: #eef1f5;
    color: #64748b;

    font-size: .82rem;
}

.home-product-image img {
    width: 100%;
    height: 100%;

    object-fit: contain;
}

.home-product-body {
    display: flex;
    flex-direction: column;
    flex: 1;

    gap: 8px;

    padding: 14px 12px;
}

.home-product-type {
    margin: 0;

    color: #64748b;

    font-size: .78rem;
}

.home-product-card h3 {
    margin: 0;

    font-size: 1rem;
    line-height: 1.3;
}

.home-product-card h3 a {
    color: #18212b;
}

.home-product-price {
    margin-top: auto;

    font-size: 1rem;
}

.home-product-button {
    display: block;

    width: 100%;

    margin: 6px 0 0;

    text-align: center;
}


/* Sell banner */

.home-sell-banner {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;

    gap: 20px;

    margin-bottom: 26px;

    padding-top: 24px;
    padding-bottom: 24px;

    background: #e8eefc;
    border: 1px solid #d7e1f7;
    border-radius: 16px;
}

.home-sell-icon {
    width: 58px;
    height: 58px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin-left: 20px;

    border-radius: 50%;

    background: #d7e5ff;
    color: #2457d6;

    font-size: 1.5rem;
}

.home-sell-copy h2 {
    margin: 0 0 4px;

    font-size: 1.35rem;
}

.home-sell-copy p {
    margin: 0;

    color: #475569;
}


/* Help + contact */

.home-support {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 20px;

    padding-bottom: 30px;
}

.home-support article {
    display: flex;
    align-items: flex-start;

    gap: 18px;

    padding: 24px;

    background: white;
    border: 1px solid #dfe3e8;
    border-radius: 16px;
}

.home-support-icon {
    flex: 0 0 58px;

    width: 58px;
    height: 58px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #e8eefc;
    color: #2457d6;

    font-size: 1.7rem;
    font-weight: 800;
}

.home-support h2 {
    margin: 0 0 5px;

    font-size: 1.25rem;
}

.home-support p {
    margin: 0 0 12px;

    color: #475569;
}


/* Tablet */

@media (max-width: 1000px) {

    .home-benefits {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .home-product-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

}


/* Mobile */

@media (max-width: 700px) {

    .home-start {
        padding-top: 22px;
    }

    .home-start-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .home-choice-card {
        min-height: 0;
        padding: 22px 18px;
    }

    .home-choice-icon {
        width: 54px;
        height: 54px;

        font-size: 1.5rem;
    }

    .home-choice-card h1 {
        font-size: 1.35rem;
    }

    .home-benefits {
        grid-template-columns: 1fr;

        gap: 8px;

        margin-bottom: 30px;

        padding-top: 16px;
        padding-bottom: 16px;
    }

    .home-benefits article {
        padding: 8px 16px;
    }

    .home-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));

        gap: 12px;
    }

    .home-product-image {
        height: 125px;
    }

    .home-section-heading {
        align-items: flex-end;
    }

    .home-section-heading h2 {
        font-size: 1.35rem;
    }

    .home-section-heading a {
        font-size: .85rem;
    }

    .home-sell-banner {
        grid-template-columns: 1fr;

        text-align: center;

        padding: 22px 18px;
    }

    .home-sell-icon {
        margin: 0 auto;
    }

    .home-sell-banner .button {
        width: 100%;

        margin: 0;

        text-align: center;
    }

    .home-support {
        grid-template-columns: 1fr;
    }

}

/* =========================================================
   HOMEPAGE - COMPACT TOP AREA
   ========================================================= */

.home-start {
    padding: 22px 0 14px;
}

.home-choice-card {
    min-height: 215px;
    padding: 22px 24px;
}

.home-choice-icon {
    width: 50px;
    height: 50px;
    margin-bottom: 10px;

    font-size: 1.35rem;
}

.home-choice-card h1 {
    margin-bottom: 5px;
    font-size: 1.35rem;
}

.home-choice-card p {
    margin-bottom: 12px;
    font-size: .95rem;
    line-height: 1.45;
}

.home-choice-card .button {
    padding: 9px 14px;
}


/* Make the information strip shorter */

.home-benefits {
    margin-bottom: 28px;

    padding-top: 16px;
    padding-bottom: 16px;
}

.home-benefits article {
    gap: 11px;
    padding: 2px 14px;
}

.home-benefit-icon {
    flex-basis: 40px;

    width: 40px;
    height: 40px;

    font-size: 1rem;
}

.home-benefits p {
    font-size: .84rem;
    line-height: 1.35;
}


/* Bring newest products upward */

.home-section-heading {
    margin-bottom: 12px;
}

.home-section-heading h2 {
    font-size: 1.45rem;
}

/* =========================================================
   HOMEPAGE - HORIZONTAL PRODUCT SCROLLER
   ========================================================= */

.home-product-grid {
    display: flex;
    gap: 14px;

    overflow-x: auto;
    overflow-y: hidden;

    padding-bottom: 10px;

    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
}

.home-product-card {
    flex: 0 0 calc((100% - 42px) / 4);

    scroll-snap-align: start;
}

.home-product-grid::-webkit-scrollbar {
    height: 10px;
}

.home-product-grid::-webkit-scrollbar-track {
    background: #e2e8f0;
    border-radius: 999px;
}

.home-product-grid::-webkit-scrollbar-thumb {
    background: #94a3b8;
    border-radius: 999px;
}

.home-product-grid::-webkit-scrollbar-thumb:hover {
    background: #64748b;
}


/* Tablet */

@media (max-width: 1000px) {

    .home-product-card {
        flex-basis: calc((100% - 28px) / 3);
    }

}


/* Mobile */

@media (max-width: 700px) {

    .home-product-card {
        flex-basis: calc((100% - 12px) / 2);
    }

}

/* =========================================================
   HOMEPAGE - CAROUSEL ARROWS + HIDDEN SCROLLBAR
   ========================================================= */

.home-carousel {
    position: relative;
}


/* Hide the scrollbar but keep scrolling working */

.home-product-grid {
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.home-product-grid::-webkit-scrollbar {
    display: none;
}


/* Centre the product titles */

.home-product-body {
    text-align: center;
}

.home-product-card h3 {
    text-align: center;
}


/* Carousel arrow buttons */

.home-carousel-arrow {
    position: absolute;

    top: 50%;
    transform: translateY(-50%);

    z-index: 20;

    width: 48px;
    height: 48px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 0;

    border: 1px solid #dfe3e8;
    border-radius: 50%;

    background: white;
    color: #2457d6;

    font: inherit;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1;

    cursor: pointer;

    box-shadow:
        0 6px 18px rgba(15, 23, 42, .14);
}

.home-carousel-arrow:hover {
    background: #f8fafc;
}

.home-carousel-prev {
    left: -24px;
}

.home-carousel-next {
    right: -24px;
}


/* Tablet */

@media (max-width: 1000px) {

    .home-carousel-prev {
        left: -16px;
    }

    .home-carousel-next {
        right: -16px;
    }

}


/* Mobile */

@media (max-width: 700px) {

    .home-carousel-arrow {
        width: 40px;
        height: 40px;

        font-size: 1.65rem;
    }

    .home-carousel-prev {
        left: -10px;
    }

    .home-carousel-next {
        right: -10px;
    }

}

/* =========================================================
   PRODUCT GALLERY - COMPACT SIZE
   ========================================================= */

.product-gallery-main {
    max-height: 460px;
    aspect-ratio: auto;
}

.product-gallery-main-image {
    max-height: 460px;
    width: 100%;
    height: auto;
    object-fit: contain;
}

.product-gallery-thumbnails {
    margin-top: 10px;
}

.product-gallery-thumb {
    flex: 0 0 72px;
    width: 72px;
    height: 58px;
}

@media (max-width: 700px) {

    .product-gallery-main {
        max-height: 340px;
    }

    .product-gallery-main-image {
        max-height: 340px;
    }

    .product-gallery-thumb {
        flex-basis: 64px;
        width: 64px;
        height: 54px;
    }

}

/* =========================================================
   PRODUCT GALLERY - THUMBNAIL FIX
   ========================================================= */

.product-gallery-thumbnails {
    display: flex;
    align-items: center;
    gap: 10px;

    width: 100%;
    max-width: 100%;

    margin-top: 12px;
    padding: 4px 0;

    overflow-x: auto;
    overflow-y: hidden;
}

.product-gallery-thumb {
    flex: 0 0 72px;

    width: 72px !important;
    min-width: 72px;
    max-width: 72px;

    height: 58px !important;
    min-height: 58px;
    max-height: 58px;

    padding: 3px;

    overflow: hidden;

    border: 2px solid transparent;
    border-radius: 8px;

    background: white;

    cursor: pointer;
}

.product-gallery-thumb img {
    display: block;

    width: 100% !important;
    max-width: 100% !important;

    height: 100% !important;
    max-height: 100% !important;

    object-fit: contain !important;

    margin: 0;
    padding: 0;
}

.product-gallery-thumb.active {
    border-color: #2457d6;
}

.product-gallery-thumb:hover {
    border-color: #94a3b8;
}

/* =========================================================
   PRODUCT GALLERY - FIXED VIEWER SIZE
   ========================================================= */

.product-gallery-main {
    width: 100%;
    height: 460px;
    max-height: none;

    display: flex;
    align-items: center;
    justify-content: center;

    overflow: hidden;

    background: white;

    border: 1px solid #dfe3e8;
    border-radius: 14px;
}

.product-gallery-main-image {
    display: block;

    width: 100%;
    height: 100%;
    max-height: none;

    object-fit: contain;

    margin: 0;
}


/* Keep the thumbnail strip fixed underneath */

.product-gallery-thumbnails {
    min-height: 66px;
    margin-top: 12px;
}


/* Mobile */

@media (max-width: 700px) {

    .product-gallery-main {
        height: 340px;
    }

}

/* =========================================================
   PRODUCT GALLERY - POLISHED VIEWER
   ========================================================= */

.product-gallery-main {
    position: relative;
    width: 100%;
    height: 430px;
    padding: 22px;
    overflow: hidden;
    background: #f3f5f7;
    border: 1px solid #dfe3e8;
    border-radius: 14px;
}

.product-gallery-main-image {
    display: block;
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    margin: 0;
}

.product-gallery-arrow {
    position: absolute;
    top: 50%;
    z-index: 10;

    width: 44px;
    height: 44px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 0 0 3px;

    border: 1px solid #d8dee6;
    border-radius: 50%;

    background: rgba(255, 255, 255, .94);
    color: #2457d6;

    font: inherit;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1;

    cursor: pointer;

    transform: translateY(-50%);
    box-shadow: 0 4px 14px rgba(15, 23, 42, .12);

    transition:
        background .15s ease,
        border-color .15s ease,
        box-shadow .15s ease,
        transform .15s ease;
}

.product-gallery-arrow:hover {
    background: white;
    border-color: #b8c2cf;
    box-shadow: 0 6px 18px rgba(15, 23, 42, .16);
    transform: translateY(-50%) scale(1.04);
}

.product-gallery-arrow:focus-visible {
    outline: 3px solid rgba(36, 87, 214, .22);
    outline-offset: 2px;
}

.product-gallery-prev {
    left: 14px;
}

.product-gallery-next {
    right: 14px;
}

.product-gallery-thumbnails {
    min-height: 66px;
    margin-top: 12px;
    padding: 4px 1px 6px;
    gap: 9px;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.product-gallery-thumbnails::-webkit-scrollbar {
    display: none;
}

.product-gallery-thumb {
    flex: 0 0 72px;
    width: 72px !important;
    min-width: 72px;
    max-width: 72px;

    height: 58px !important;
    min-height: 58px;
    max-height: 58px;

    padding: 4px;

    border: 1px solid #d9dfe7;
    border-radius: 9px;

    background: #f8fafc;
    opacity: .78;

    transition:
        opacity .15s ease,
        border-color .15s ease,
        box-shadow .15s ease,
        transform .15s ease;
}

.product-gallery-thumb:hover {
    border-color: #94a3b8;
    opacity: 1;
    transform: translateY(-1px);
}

.product-gallery-thumb.active {
    border: 2px solid #2457d6;
    padding: 3px;
    opacity: 1;
    box-shadow: 0 0 0 2px rgba(36, 87, 214, .10);
}

.product-gallery-thumb img {
    border-radius: 5px;
}

@media (max-width: 700px) {

    .product-gallery-main {
        height: 320px;
        padding: 14px;
    }

    .product-gallery-arrow {
        width: 38px;
        height: 38px;
        font-size: 1.55rem;
    }

    .product-gallery-prev {
        left: 9px;
    }

    .product-gallery-next {
        right: 9px;
    }

    .product-gallery-thumb {
        flex-basis: 64px;
        width: 64px !important;
        min-width: 64px;
        max-width: 64px;

        height: 54px !important;
        min-height: 54px;
        max-height: 54px;
    }
}

/* =========================================================
   HOMEPAGE - QUICK VIEW MODAL
   ========================================================= */

body.quick-view-open {
    overflow: hidden;
}


.quick-view-overlay {
    position: fixed;
    inset: 0;

    z-index: 3000;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 28px;

    background: rgba(15, 23, 42, .58);

    opacity: 0;
    visibility: hidden;

    transition:
        opacity .18s ease,
        visibility .18s ease;
}


.quick-view-overlay.open {
    opacity: 1;
    visibility: visible;
}


.quick-view-modal {
    position: relative;

    width: min(900px, 100%);
    max-height: calc(100vh - 56px);

    overflow-y: auto;

    background: white;

    border: 1px solid #dfe3e8;
    border-radius: 18px;

    box-shadow:
        0 22px 60px rgba(15, 23, 42, .28);
}


.quick-view-close {
    position: absolute;

    top: 14px;
    right: 14px;

    z-index: 5;

    width: 42px;
    height: 42px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 0;

    border: 1px solid #dfe3e8;
    border-radius: 50%;

    background: white;
    color: #18212b;

    font: inherit;
    font-size: 1.7rem;
    line-height: 1;

    cursor: pointer;

    box-shadow:
        0 4px 12px rgba(15, 23, 42, .12);
}


.quick-view-close:hover {
    background: #f8fafc;
}


.quick-view-layout {
    display: grid;
    grid-template-columns:
        minmax(0, 1.2fr)
        minmax(280px, .8fr);

    min-height: 470px;
}


.quick-view-image {
    min-width: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 28px;

    background: #f4f6f8;

    border-radius:
        18px 0 0 18px;
}


.quick-view-image img {
    display: block;

    width: 100%;
    height: 420px;

    object-fit: contain;
}


.quick-view-no-image {
    width: 100%;
    height: 420px;

    display: flex;
    align-items: center;
    justify-content: center;

    color: #64748b;

    font-weight: 700;
}


.quick-view-details {
    display: flex;
    flex-direction: column;

    justify-content: center;

    padding: 58px 34px 34px;
}


.quick-view-category {
    margin: 0 0 7px;

    color: #64748b;

    font-size: .9rem;
}


.quick-view-condition {
    align-self: flex-start;

    display: inline-flex;

    margin-bottom: 15px;

    padding: 4px 9px;

    border-radius: 999px;

    background: #eef2ff;
    color: #3046a8;

    font-size: .8rem;
    font-weight: 750;
}


.quick-view-details h2 {
    margin: 0 0 18px;

    color: #18212b;

    font-size: 1.7rem;
    line-height: 1.25;
}


.quick-view-price {
    margin: 0 0 28px;

    color: #18212b;

    font-size: 2rem;
    font-weight: 800;
}


.quick-view-actions {
    display: flex;
    flex-wrap: wrap;

    gap: 10px;
}


.quick-view-actions .button,
.quick-view-actions .ebay-button {
    margin: 0;

    text-align: center;
}


.home-quick-view-card {
    cursor: pointer;

    transition:
        transform .15s ease,
        box-shadow .15s ease,
        border-color .15s ease;
}


.home-quick-view-card:hover {
    transform: translateY(-2px);

    border-color: #c5ced9;

    box-shadow:
        0 8px 22px rgba(15, 23, 42, .10);
}


.home-quick-view-card:focus-visible {
    outline: 3px solid rgba(36, 87, 214, .25);
    outline-offset: 3px;
}


@media (max-width: 700px) {

    .quick-view-overlay {
        align-items: flex-end;

        padding: 12px;
    }


    .quick-view-modal {
        max-height: calc(100vh - 24px);

        border-radius: 16px;
    }


    .quick-view-layout {
        grid-template-columns: 1fr;

        min-height: 0;
    }


    .quick-view-image {
        padding: 18px;

        border-radius:
            16px 16px 0 0;
    }


    .quick-view-image img,
    .quick-view-no-image {
        height: 270px;
    }


    .quick-view-details {
        justify-content: flex-start;

        padding: 24px 20px 22px;
    }


    .quick-view-details h2 {
        padding-right: 36px;

        font-size: 1.4rem;
    }


    .quick-view-price {
        margin-bottom: 20px;

        font-size: 1.7rem;
    }


    .quick-view-actions {
        flex-direction: column;
    }


    .quick-view-actions .button,
    .quick-view-actions .ebay-button {
        width: 100%;

        justify-content: center;
    }

}

/* =========================================================
   PERFORMANCE GAMING THEME - OPTION B
   Dark charcoal + electric cyan
   ========================================================= */
:root{--pg-bg:#080b0f;--pg-bg-soft:#0d1117;--pg-panel:#10161d;--pg-panel-2:#141a22;--pg-border:#26313c;--pg-border-soft:#1c2630;--pg-text:#f3f7fa;--pg-muted:#9ba9b7;--pg-cyan:#18c8f5;--pg-cyan-bright:#46d9ff;--pg-cyan-soft:rgba(24,200,245,.12);--pg-success:#34d399;--pg-danger:#fb7185}
html{background:var(--pg-bg)}
body{color:var(--pg-text);background:radial-gradient(circle at 50% -180px,rgba(24,200,245,.08),transparent 420px),var(--pg-bg)}
a{color:var(--pg-cyan)}a:hover{color:var(--pg-cyan-bright)}.eyebrow{color:var(--pg-cyan)}
.page-intro,.product-description,.product-category,.compatible-details,.compatibility-heading p:last-child,.purchase-panel-copy p,.submission-number,.photo-card-heading p,.photo-requirements,.home-choice-card p,.home-benefits p,.home-sell-copy p,.home-support p,.home-product-type,.form-section-heading p,.form-next p{color:var(--pg-muted)}
header,.site-header,.drawer-header,footer{background:#05080c;border-color:var(--pg-border-soft)}
.site-header{border-bottom:1px solid var(--pg-border-soft)}
.site-tagline,.site-header .brand,.drawer-brand,.brand{color:var(--pg-text)}
.site-header .menu-button:hover,.drawer-close:hover{background:var(--pg-cyan-soft);color:var(--pg-cyan-bright)}
.button,.filter-button,.product-view-button{background:var(--pg-cyan);color:#031017;border:1px solid var(--pg-cyan);box-shadow:0 0 0 rgba(24,200,245,0);transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease}
.button:hover,.filter-button:hover,.product-view-button:hover{background:var(--pg-cyan-bright);border-color:var(--pg-cyan-bright);color:#031017;box-shadow:0 0 20px rgba(24,200,245,.16)}
.button.secondary{background:var(--pg-panel-2);border-color:var(--pg-border);color:var(--pg-text)}
.button.secondary:hover{background:#1a232d;color:var(--pg-cyan-bright)}
.card,.form-card,.guide article,.product-card,.empty-products,.product-filters,.compatibility-tag,.purchase-panel,.photo-progress,.photo-upload-card,.home-choice-card,.home-benefits,.home-product-card,.home-support article{background:var(--pg-panel);border-color:var(--pg-border);color:var(--pg-text)}
.card,.form-card,.product-card,.home-choice-card,.home-product-card,.home-support article,.photo-upload-card{box-shadow:0 10px 30px rgba(0,0,0,.16)}
.product-card:hover,.home-product-card:hover,.home-choice-card:hover{border-color:rgba(24,200,245,.55)}
.product-image,.home-product-image,.product-gallery-main,.product-gallery-thumb,.quick-view-image{background:#e9edf1}
.product-image-placeholder,.home-product-image{color:#64748b}
.product-name,.product-name a,.home-product-card h3,.home-product-card h3 a,.product-price,.price{color:var(--pg-text)}
.product-condition,.tag,.compatibility-chip,.optional{background:#18212a;border-color:var(--pg-border);color:#c7d2dc}
.field input,.field select,.field textarea,.filter-field select,.filter-field input,.sell-form .field input,.sell-form .field select,.sell-form .field textarea,.photo-file-input input[type=file]{background:#0b1016;color:var(--pg-text);border-color:#34414e}
.field input::placeholder,.field textarea::placeholder,.sell-form .field input::placeholder,.sell-form .field textarea::placeholder{color:#6f7e8d}
.field input:focus,.field select:focus,.field textarea:focus,.filter-field select:focus,.filter-field input:focus,.sell-form .field input:focus,.sell-form .field select:focus,.sell-form .field textarea:focus{outline:none;border-color:var(--pg-cyan);box-shadow:0 0 0 3px rgba(24,200,245,.13)}
.filter-toggle{background:var(--pg-panel-2);border-color:var(--pg-border);color:var(--pg-text)}.filter-clear{color:var(--pg-cyan)}
.form-section{border-color:var(--pg-border)}
.form-section-heading h2,.guide h2,.home-choice-card h1,.home-section-heading h2,.home-sell-copy h2,.home-support h2,.compatibility-heading h2,.purchase-panel-copy h2{color:var(--pg-text)}
.step-number,.photo-number,.home-choice-icon{background:var(--pg-cyan);color:#031017}.info-tip{color:var(--pg-cyan)}
.info-tip-text{background:#020609;border:1px solid var(--pg-border)}.info-tip-text::after{border-color:#020609 transparent transparent transparent}
.checkbox-field,.photo-tip,.form-next{background:#0b1016;border-color:var(--pg-border);color:var(--pg-text)}
.form-errors{background:rgba(127,29,29,.22);border-color:rgba(251,113,133,.45)}.error{color:#fda4af}
.notice,.compatibility-note{background:rgba(245,158,11,.09);border:1px solid rgba(245,158,11,.28);color:#d7c6a0}
.success-box,.message,.photo-upload-card.photo-complete,.photo-uploaded{background:rgba(16,185,129,.09);border-color:rgba(52,211,153,.32)}.success,.photo-uploaded p{color:#6ee7b7}
.drawer-overlay{background:rgba(0,0,0,.72)}.site-drawer{background:#0b1016;color:var(--pg-text);box-shadow:12px 0 40px rgba(0,0,0,.5)}.drawer-nav{background:#0b1016}
.drawer-components-toggle,.drawer-main-link{color:var(--pg-text)}.drawer-components-toggle:hover,.drawer-main-link:hover,.component-menu a:hover{background:var(--pg-cyan-soft);color:var(--pg-cyan-bright)}
.component-menu{border-color:var(--pg-border)}.component-menu a{color:var(--pg-muted)}.drawer-section{border-color:var(--pg-border)}
.home-choice-icon,.home-benefit-icon,.home-support-icon,.home-sell-icon{background:var(--pg-cyan-soft);border:1px solid rgba(24,200,245,.28);color:var(--pg-cyan-bright)}
.home-benefits{box-shadow:inset 0 1px 0 rgba(255,255,255,.015)}.home-benefits strong{color:var(--pg-text)}
.home-sell-banner{background:linear-gradient(110deg,rgba(24,200,245,.11),rgba(24,200,245,.025)),var(--pg-panel);border-color:rgba(24,200,245,.26)}
.home-carousel-arrow{background:rgba(11,16,22,.96);border-color:#34414e;color:var(--pg-cyan-bright);box-shadow:0 8px 24px rgba(0,0,0,.38)}
.home-carousel-arrow:hover{background:#121b24;border-color:var(--pg-cyan)}
.product-gallery-main{border-color:var(--pg-border)}.product-gallery-thumb{border-color:transparent}.product-gallery-thumb.active{border-color:var(--pg-cyan)}.product-gallery-thumb:hover{border-color:#6b7b8b}
.product-gallery-arrow{background:rgba(8,12,17,.92);border-color:#3a4652;color:var(--pg-cyan-bright);box-shadow:0 5px 18px rgba(0,0,0,.35)}.product-gallery-arrow:hover{background:#111922;border-color:var(--pg-cyan)}
.ebay-button{background:#1769e0;color:white}.ebay-button:hover{background:#2478ee;color:white}
.quick-view-overlay{background:rgba(0,0,0,.78)}.quick-view-modal{background:var(--pg-panel);border:1px solid var(--pg-border);color:var(--pg-text);box-shadow:0 24px 70px rgba(0,0,0,.58)}
.quick-view-close{background:#0b1016;border-color:var(--pg-border);color:var(--pg-text)}.quick-view-close:hover{border-color:var(--pg-cyan);color:var(--pg-cyan-bright)}
.quick-view-category,.quick-view-condition{color:var(--pg-muted)}.quick-view-condition{background:#18212a;border:1px solid var(--pg-border)}.quick-view-title,.quick-view-price{color:var(--pg-text)}
footer{border-top:1px solid var(--pg-border-soft);color:var(--pg-muted)}
::selection{background:rgba(24,200,245,.3);color:white}
a:focus-visible,button:focus-visible,.home-quick-view-card:focus-visible{outline:2px solid var(--pg-cyan-bright);outline-offset:3px}
@media(max-width:700px){body{background:radial-gradient(circle at 50% -100px,rgba(24,200,245,.07),transparent 300px),var(--pg-bg)}.home-carousel-arrow{background:rgba(11,16,22,.96)}}


/* =========================================================
   HOMEPAGE HERO CAROUSEL
   ========================================================= */

.home-hero {
    padding: 24px 0 18px;
}

.home-hero-carousel {
    position: relative;
    overflow: hidden;

    min-height: 500px;

    background:
        radial-gradient(
            circle at 70% 45%,
            rgba(0, 174, 255, .17),
            transparent 34%
        ),
        radial-gradient(
            circle at 74% 48%,
            rgba(77, 61, 255, .08),
            transparent 46%
        ),
        linear-gradient(
            135deg,
            #05080c,
            #07111b 55%,
            #05080c
        );

    border: 1px solid var(--pg-border);
    border-radius: 16px;

    box-shadow:
        0 18px 42px rgba(0, 0, 0, .28),
        inset 0 1px 0 rgba(255, 255, 255, .02);
}

.home-hero-slides {
    position: relative;
    min-height: 500px;
}

.home-hero-slide {
    position: absolute;
    inset: 0;

    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(360px, 1.2fr);
    align-items: center;
    gap: 28px;

    padding: 54px 72px;

    opacity: 0;
    visibility: hidden;
    pointer-events: none;

    transform: translateX(24px);

    transition:
        opacity .42s ease,
        transform .42s ease,
        visibility .42s ease;
}

.home-hero-slide.active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateX(0);
}

.home-hero-copy {
    position: relative;
    z-index: 4;
    max-width: 560px;
}

.home-hero-count {
    margin: 0 0 28px;

    color: #8b9aaa;

    font-size: .88rem;
    font-weight: 800;
    letter-spacing: .08em;
}

.home-hero-count span {
    color: var(--pg-cyan-bright);
}

.home-hero-copy h1 {
    margin: 0;

    color: #f7fbff;

    font-size: clamp(3rem, 5.8vw, 5.8rem);
    line-height: .92;
    letter-spacing: -.045em;
    font-weight: 900;
}

.home-hero-copy h1 span {
    display: block;

    margin-top: 10px;

    color: var(--pg-cyan-bright);

    text-shadow:
        0 0 26px rgba(24, 200, 245, .28);
}

.home-hero-text {
    max-width: 500px;
    margin: 28px 0 0;

    color: #b9c5d1;

    font-size: 1.08rem;
    line-height: 1.6;
}

.home-hero-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    margin-top: 28px;
    padding: 12px 20px;

    border: 1px solid var(--pg-cyan);
    border-radius: 9px;

    background: rgba(24, 200, 245, .05);
    color: var(--pg-cyan-bright);

    font-size: .95rem;
    font-weight: 850;
    letter-spacing: .02em;

    box-shadow:
        0 0 18px rgba(24, 200, 245, .08);

    transition:
        background .15s ease,
        box-shadow .15s ease,
        transform .15s ease;
}

.home-hero-button:hover {
    background: rgba(24, 200, 245, .14);
    color: white;

    box-shadow:
        0 0 24px rgba(24, 200, 245, .2);

    transform: translateY(-1px);
}

.home-hero-visual {
    position: relative;

    min-height: 360px;

    display: flex;
    align-items: center;
    justify-content: center;

    perspective: 1000px;
}

.home-hero-stage-ring {
    position: absolute;
    left: 50%;
    bottom: 38px;

    width: min(520px, 88%);
    height: 110px;

    transform: translateX(-50%);

    border: 2px solid rgba(24, 200, 245, .8);
    border-radius: 50%;

    background:
        radial-gradient(
            ellipse at center,
            rgba(24, 200, 245, .14),
            rgba(24, 200, 245, .025) 54%,
            transparent 70%
        );

    box-shadow:
        0 0 18px rgba(24, 200, 245, .38),
        inset 0 0 28px rgba(24, 200, 245, .18);
}

.home-hero-stage-ring::before,
.home-hero-stage-ring::after {
    content: "";

    position: absolute;
    inset: 14px;

    border: 1px solid rgba(24, 200, 245, .4);
    border-radius: 50%;
}

.home-hero-stage-ring::after {
    inset: 30px;
    opacity: .55;
}

.home-hero-visual-placeholder {
    position: relative;
    z-index: 2;

    width: min(390px, 82%);
    aspect-ratio: 1.28 / 1;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    transform:
        rotateY(-14deg)
        rotateX(7deg)
        translateY(-18px);

    border: 1px solid rgba(70, 217, 255, .45);
    border-radius: 18px;

    background:
        linear-gradient(
            145deg,
            rgba(22, 34, 46, .98),
            rgba(6, 11, 17, .96)
        );

    color: #9fcfe0;

    font-size: 1.02rem;
    font-weight: 850;
    letter-spacing: .12em;
    text-transform: uppercase;

    box-shadow:
        0 28px 50px rgba(0, 0, 0, .45),
        0 0 42px rgba(24, 200, 245, .13),
        inset 0 0 42px rgba(24, 200, 245, .05);
}

.home-hero-visual-placeholder::before {
    content: "";

    position: absolute;
    inset: 18px;

    border: 1px solid rgba(70, 217, 255, .12);
    border-radius: 12px;
}

.home-hero-visual-placeholder span {
    display: block;
    margin-bottom: 8px;

    color: var(--pg-cyan-bright);

    font-size: 3.3rem;
    line-height: 1;
    font-weight: 900;
    letter-spacing: -.03em;

    text-shadow:
        0 0 22px rgba(24, 200, 245, .32);
}

.home-hero-arrow {
    position: absolute;
    top: 50%;
    z-index: 12;

    width: 48px;
    height: 48px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 0 0 3px;

    border: 1px solid #263743;
    border-radius: 10px;

    background: rgba(6, 11, 16, .88);
    color: var(--pg-cyan-bright);

    font: inherit;
    font-size: 2rem;
    line-height: 1;

    cursor: pointer;

    transform: translateY(-50%);

    box-shadow:
        0 8px 24px rgba(0, 0, 0, .32);

    transition:
        background .15s ease,
        border-color .15s ease,
        box-shadow .15s ease;
}

.home-hero-arrow:hover {
    background: #101820;
    border-color: var(--pg-cyan);

    box-shadow:
        0 0 20px rgba(24, 200, 245, .15);
}

.home-hero-prev {
    left: 18px;
}

.home-hero-next {
    right: 18px;
}

.home-hero-dots {
    position: absolute;
    left: 50%;
    bottom: 22px;
    z-index: 12;

    display: flex;
    align-items: center;
    gap: 9px;

    transform: translateX(-50%);
}

.home-hero-dot {
    width: 34px;
    height: 4px;

    padding: 0;

    border: 0;
    border-radius: 999px;

    background: #536170;

    cursor: pointer;

    transition:
        background .2s ease,
        width .2s ease;
}

.home-hero-dot.active {
    width: 42px;
    background: var(--pg-cyan-bright);

    box-shadow:
        0 0 12px rgba(24, 200, 245, .42);
}

/* Move existing homepage content closer to the hero */
.home-hero + .home-benefits {
    margin-top: 0;
}

/* Tablet */
@media (max-width: 1000px) {

    .home-hero-carousel,
    .home-hero-slides {
        min-height: 470px;
    }

    .home-hero-slide {
        grid-template-columns: 1fr 1fr;
        padding: 48px 58px;
    }

    .home-hero-copy h1 {
        font-size: clamp(2.7rem, 6vw, 4.6rem);
    }

    .home-hero-visual {
        min-height: 320px;
    }

    .home-hero-visual-placeholder {
        width: min(330px, 90%);
    }
}

/* Mobile */
@media (max-width: 700px) {

    .home-hero {
        padding: 14px 0 14px;
    }

    .home-hero-carousel,
    .home-hero-slides {
        min-height: 620px;
    }

    .home-hero-slide {
        grid-template-columns: 1fr;
        align-content: start;
        gap: 18px;

        padding: 34px 22px 72px;

        text-align: left;
    }

    .home-hero-copy {
        max-width: none;
        padding: 0 22px;
    }

    .home-hero-count {
        margin-bottom: 18px;
    }

    .home-hero-copy h1 {
        font-size: clamp(2.65rem, 13vw, 4.2rem);
    }

    .home-hero-copy h1 span {
        margin-top: 7px;
    }

    .home-hero-text {
        margin-top: 18px;
        font-size: .96rem;
    }

    .home-hero-button {
        margin-top: 20px;
    }

    .home-hero-visual {
        min-height: 270px;
    }

    .home-hero-stage-ring {
        bottom: 25px;
        width: 88%;
        height: 82px;
    }

    .home-hero-visual-placeholder {
        width: min(280px, 72%);
        transform:
            rotateY(-10deg)
            rotateX(5deg)
            translateY(-5px);
    }

    .home-hero-arrow {
        top: auto;
        bottom: 18px;

        width: 40px;
        height: 40px;

        transform: none;
    }

    .home-hero-prev {
        left: 16px;
    }

    .home-hero-next {
        right: 16px;
    }

    .home-hero-dots {
        bottom: 36px;
    }

    .home-hero-dot {
        width: 24px;
    }

    .home-hero-dot.active {
        width: 30px;
    }
}

/* Respect reduced-motion preferences */
@media (prefers-reduced-motion: reduce) {

    .home-hero-slide,
    .home-hero-button,
    .home-hero-dot {
        transition: none;
    }
}

/* =========================================================
   DARK PRODUCT IMAGE STAGES
   Matches product imagery to the Performance Gaming theme
   ========================================================= */

.product-image,
.home-product-image,
.product-gallery-main,
.product-gallery-thumb,
.quick-view-image {
    background: #0d131a;
}

.product-image,
.home-product-image,
.quick-view-image {
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.025);
}

.product-image-placeholder,
.home-product-image,
.quick-view-no-image {
    color: #8d9ba9;
}

.quick-view-no-image {
    background: transparent;
}

/* =========================================================
   PRODUCT CARD IMAGE SPACING
   Adds breathing room above product photos and separates
   the listing text slightly from the image stage
   ========================================================= */

/* Homepage newest-components cards */
.home-product-image {
    height: 166px;
    padding: 14px 14px 0;
}

.home-product-body {
    padding-top: 18px;
}

/* Components page product cards */
.product-image {
    padding: 16px 16px 0;
}

.product-card-body {
    padding-top: 22px;
}

/* Keep the homepage proportions tidy on phones */
@media (max-width: 700px) {
    .home-product-image {
        height: 140px;
        padding: 12px 12px 0;
    }

    .home-product-body {
        padding-top: 16px;
    }

    .product-image {
        padding: 12px 12px 0;
    }

    .product-card-body {
        padding-top: 18px;
    }
}

/* =========================================================
   COMPONENT FILTER HEADER - COLLAPSED SORT CONTROL
   Keeps Sort by visible while the detailed filters are hidden
   ========================================================= */

.filter-header {
    display: grid;
    grid-template-columns: auto minmax(200px, 280px) auto;
    align-items: end;
    gap: 18px;
}

.filter-header > strong {
    align-self: center;
}

.filter-sort-compact {
    margin: 0;
}

@media (max-width: 700px) {
    .filter-header {
        grid-template-columns: 1fr auto;
        gap: 12px;
    }

    .filter-sort-compact {
        grid-column: 1 / -1;
        grid-row: 2;
    }
}

/* =========================================================
   COMPONENT FILTER HEADER - COMPACT CONTROLS
   Component Type + Sort by stay visible and inline
   ========================================================= */

.filter-header {
    display: grid;
    grid-template-columns: auto minmax(300px, 1fr) minmax(250px, .8fr) auto;
    align-items: center;
    gap: 20px;
    padding-top: 14px;
    padding-bottom: 14px;
}

.filter-header > strong {
    align-self: center;
}

.filter-header-control {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    margin: 0;
}

.filter-header-control label {
    margin: 0;
    white-space: nowrap;
    flex: 0 0 auto;
}

.filter-header-control select {
    min-width: 0;
    width: 100%;
    margin: 0;
}

.filter-toggle {
    align-self: center;
}

/* Tablet: keep controls tidy without making the bar too tall */
@media (max-width: 950px) {
    .filter-header {
        grid-template-columns: auto 1fr auto;
    }

    .filter-header-control {
        grid-column: 2;
    }

    .filter-sort-compact {
        grid-row: 2;
    }

    .filter-toggle {
        grid-column: 3;
        grid-row: 1 / span 2;
    }
}

/* Phone: stack cleanly when there isn't enough horizontal room */
@media (max-width: 700px) {
    .filter-header {
        grid-template-columns: 1fr auto;
        gap: 12px;
    }

    .filter-header > strong {
        grid-column: 1;
        grid-row: 1;
    }

    .filter-toggle {
        grid-column: 2;
        grid-row: 1;
    }

    .filter-header-control,
    .filter-sort-compact {
        grid-column: 1 / -1;
    }

    .filter-header-control {
        grid-row: auto;
    }
}

/* =========================================================
   COMPONENT FILTER HEADER - TRUE INLINE LABELS
   Labels sit to the LEFT of their dropdowns to reduce height
   ========================================================= */

.filter-header {
    grid-template-columns: auto minmax(360px, 1.15fr) minmax(300px, .9fr) auto;
    column-gap: 24px;
    row-gap: 10px;
    padding-top: 10px;
    padding-bottom: 10px;
}

.filter-header > strong {
    margin-right: 22px;
}

.filter-header .filter-header-control {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 12px;
    margin: 0 !important;
}

.filter-header .filter-header-control label {
    display: inline-block !important;
    width: auto !important;
    margin: 0 !important;
    white-space: nowrap;
    line-height: 1;
}

.filter-header .filter-header-control select {
    flex: 1 1 auto;
    width: auto !important;
    min-width: 0;
    margin: 0 !important;
}

@media (max-width: 950px) {
    .filter-header {
        grid-template-columns: auto 1fr auto;
    }

    .filter-header > strong {
        margin-right: 12px;
    }
}

@media (max-width: 700px) {
    .filter-header {
        padding-top: 12px;
        padding-bottom: 12px;
    }

    .filter-header > strong {
        margin-right: 0;
    }

    .filter-header .filter-header-control {
        width: 100%;
    }
}

/* =========================================================
   COMPONENT FILTER HEADER - COMPACT DROPDOWN WIDTHS
   Sized for the longest option text instead of filling space
   ========================================================= */

.filter-header {
    grid-template-columns: auto auto auto auto;
    justify-content: start;
}

.filter-header .filter-header-control {
    flex: 0 0 auto;
}

.filter-header .filter-header-control select {
    flex: 0 0 auto !important;
}

/* Longest Component Type option / label comfortably fits */
.filter-header #component_type {
    width: 190px !important;
}

/* Longest Sort option: "Price: Low to High" */
.filter-header #sort {
    width: 175px !important;
}

.filter-header .filter-toggle {
    margin-left: 4px;
}

@media (max-width: 950px) {
    .filter-header {
        grid-template-columns: auto 1fr auto;
    }

    .filter-header #component_type,
    .filter-header #sort {
        width: 100% !important;
    }
}

/* =========================================================
   COMPONENT FILTER HEADER - FINAL DESKTOP POSITIONING
   Filters left | controls centered | Show filters right
   ========================================================= */

@media (min-width: 951px) {
    .filter-header {
        display: grid;
        grid-template-columns: 1fr auto auto 1fr;
        align-items: center;
        width: 100%;
        column-gap: 24px;
    }

    .filter-header > strong {
        justify-self: start;
        margin-right: 0;
    }

    .filter-header .filter-header-control {
        justify-self: center;
    }

    .filter-header .filter-toggle {
        justify-self: end;
        margin-left: 0;
    }
}

/* =========================================================
   COMPONENT FILTER TOOLBAR - FINAL
   Compact toolbar: Component Type + Sort by left,
   Filters toggle right, advanced filters expand below
   ========================================================= */

@media (min-width: 951px) {
    .filter-header {
        display: flex !important;
        align-items: center !important;
        gap: 22px !important;
        width: 100%;
        padding-top: 10px !important;
        padding-bottom: 10px !important;
    }

    .filter-header .filter-header-control {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        gap: 10px !important;
        margin: 0 !important;
        flex: 0 0 auto;
    }

    .filter-header .filter-header-control label {
        display: inline-block !important;
        width: auto !important;
        margin: 0 !important;
        white-space: nowrap;
    }

    .filter-header .filter-header-control select {
        flex: 0 0 auto !important;
        width: auto !important;
        margin: 0 !important;
    }

    .filter-header #component_type {
        width: 190px !important;
    }

    .filter-header #sort {
        width: 175px !important;
    }

    .filter-header .filter-toggle {
        margin-left: auto !important;
        align-self: center !important;
        display: inline-flex;
        align-items: center;
        gap: 7px;
    }
}

.filter-toggle-chevron {
    font-size: 1rem;
    line-height: 1;
}

@media (max-width: 950px) {
    .filter-header {
        display: grid !important;
        grid-template-columns: 1fr auto !important;
        gap: 12px !important;
    }

    .filter-header .filter-header-control {
        grid-column: 1 / -1;
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
        margin: 0 !important;
    }

    .filter-header .filter-header-control label {
        margin: 0 !important;
        white-space: nowrap;
    }

    .filter-header .filter-header-control select {
        flex: 1 1 auto !important;
        width: 100% !important;
        min-width: 0;
    }

    .filter-header .filter-toggle {
        grid-column: 2;
        justify-self: end;
    }
}

/* =========================================================
   COMPONENT FILTER TOOLBAR - SLIMMER FINAL SPACING
   Reduces excess vertical space around the compact controls
   ========================================================= */

.product-filters .filter-header {
    padding-top: 4px !important;
    padding-bottom: 4px !important;
    min-height: 0 !important;
}

@media (min-width: 951px) {
    .product-filters {
        padding-top: 8px !important;
        padding-bottom: 8px !important;
    }

    .product-filters .filter-header {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }
}

/* =========================================================
   COMPONENT PRICE INPUTS - REMOVE NATIVE NUMBER SPINNERS
   Keeps the Min / Max price fields visually consistent
   with the dark Performance Gaming theme.
   ========================================================= */

.price-input input[type="number"] {
    appearance: textfield;
    -moz-appearance: textfield;
}

.price-input input[type="number"]::-webkit-inner-spin-button,
.price-input input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}



/* =========================================================
   COMPONENTS PAGE - MOBILE QA FIXES
   Keeps desktop/tablet layout unchanged.
   ========================================================= */

@media (max-width: 700px) {

    /* Slightly reduce the page heading so it has more breathing room. */
    .components-header h1 {
        font-size: 1.75rem;
        line-height: 1.15;
    }

    /* Do not let the sticky filter panel dominate the phone viewport. */
    .product-filters {
        position: static;
        top: auto;
        padding: 14px;
    }

    /* Compact top toolbar. */
    .filter-header {
        display: grid !important;
        grid-template-columns: 1fr auto !important;
        gap: 12px !important;
        align-items: center !important;
        width: 100%;
    }

    .filter-header .filter-toggle {
        grid-column: 2;
        grid-row: 1;
        justify-self: end;
        margin: 0 !important;
    }

    .filter-header .filter-header-control {
        grid-column: 1 / -1;
        width: 100% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start;
        gap: 10px !important;
        margin: 0 !important;
    }

    .filter-header .filter-header-control label {
        flex: 0 0 auto;
        margin: 0 !important;
        white-space: nowrap;
    }

    /* Size these for their real option text rather than filling the row. */
    .filter-header #component_type {
        flex: 0 1 220px !important;
        width: 220px !important;
        max-width: calc(100% - 150px);
    }

    .filter-header #sort {
        flex: 0 1 185px !important;
        width: 185px !important;
        max-width: calc(100% - 80px);
    }

    /*
       The base CSS defines .filter-fields as four columns after an
       earlier mobile rule, so force the final phone layout back to one
       comfortable column.
    */
    .product-filters .filter-fields {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 14px !important;
        align-items: stretch;
        padding-top: 6px;
    }

    .product-filters .filter-field {
        width: 100%;
        min-width: 0;
    }

    .product-filters .filter-field label {
        line-height: 1.3;
    }

    .product-filters .filter-field select,
    .product-filters .filter-field input {
        width: 100% !important;
        max-width: 100%;
        min-width: 0;
    }

    .product-filters .price-input {
        width: 100%;
    }

    .product-filters .price-input input {
        flex: 1 1 auto;
        min-width: 0;
    }

    .product-filters .filter-actions {
        width: 100%;
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 14px;
        align-items: center;
    }

    .product-filters .filter-button {
        width: 100%;
        min-width: 0;
    }

    .product-filters .filter-clear {
        white-space: nowrap;
    }

    /* Two product cards can stay side-by-side, but their contents
       must fit safely inside each narrow card. */
    .product-card-body {
        padding: 14px;
        padding-top: 16px;
        gap: 9px;
        min-width: 0;
    }

    .product-name {
        font-size: 1rem;
        line-height: 1.3;
        overflow-wrap: anywhere;
    }

    .product-description {
        font-size: .9rem;
    }

    .product-card-footer {
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
        width: 100%;
        min-width: 0;
    }

    .product-price {
        font-size: 1.08rem;
        line-height: 1.2;
        white-space: nowrap;
    }

    .product-view-button {
        display: block;
        width: 100%;
        padding: 9px 10px;
        text-align: center;
    }
}


/* =========================================================
   HOMEPAGE HERO - SLIDE 2 MOBILE SCALE FIX
   Keeps Slide 1, Slide 3, tablet and desktop unchanged.
   ========================================================= */

@media (max-width: 700px) {

    /* Give Slide 2 slightly more usable horizontal space. */
    .home-hero-slide[data-hero-slide="1"] {
        padding-left: 18px;
        padding-right: 18px;
    }

    .home-hero-slide[data-hero-slide="1"] .home-hero-copy {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        padding-left: 16px;
        padding-right: 16px;
    }

    /* Scale the long BROWSE COMPONENTS heading down by roughly 10%. */
    .home-hero-slide[data-hero-slide="1"] .home-hero-copy h1 {
        max-width: 100%;
        font-size: clamp(2.35rem, 11.5vw, 3.75rem);
        line-height: .94;
        overflow-wrap: normal;
    }

    .home-hero-slide[data-hero-slide="1"] .home-hero-copy h1 span {
        max-width: 100%;
    }

    /* Keep the supporting copy inside the card instead of reaching the edge. */
    .home-hero-slide[data-hero-slide="1"] .home-hero-text {
        width: 100%;
        max-width: 100%;
        font-size: .9rem;
        line-height: 1.55;
    }

    /* Slightly scale the CTA with the rest of Slide 2. */
    .home-hero-slide[data-hero-slide="1"] .home-hero-button {
        max-width: 100%;
        padding: 10px 16px;
        font-size: .92rem;
    }

    /* Scale the whole Slide 2 hardware stage down about 10%. */
    .home-hero-slide[data-hero-slide="1"] .home-hero-visual {
        min-height: 245px;
        width: 100%;
        max-width: 100%;
        overflow: visible;
    }

    .home-hero-slide[data-hero-slide="1"] .home-hero-components-image {
        width: min(90%, 520px);
        max-width: 90%;
        max-height: 288px;
        height: auto;
    }
}


/* =========================================================
   HOMEPAGE QUICK VIEW - MOBILE COMPACT SIZE
   Small mobile-only reduction; desktop remains unchanged.
   ========================================================= */

@media (max-width: 700px) {

    .quick-view-overlay {
        align-items: center;
        padding: 22px 18px;
    }

    .quick-view-modal {
        width: 92%;
        max-width: 92%;
        max-height: calc(100dvh - 44px);
        border-radius: 15px;
    }

    .quick-view-image {
        padding: 16px;
        border-radius: 15px 15px 0 0;
    }

    .quick-view-image img,
    .quick-view-no-image {
        height: 242px;
    }

    .quick-view-details {
        padding: 20px 18px 18px;
    }

    .quick-view-details h2 {
        padding-right: 32px;
        font-size: 1.28rem;
        line-height: 1.25;
    }

    .quick-view-price {
        margin-bottom: 16px;
        font-size: 1.55rem;
    }

    .quick-view-actions {
        gap: 10px;
    }

    .quick-view-actions .button,
    .quick-view-actions .ebay-button {
        padding-top: 9px;
        padding-bottom: 9px;
    }
}


/* =========================================================
   PRODUCT DETAIL - MOBILE GALLERY / HEADING FIX
   Keeps desktop and tablet unchanged.
   ========================================================= */

@media (max-width: 700px) {

    /* The product already stacks to one column on mobile.
       Prevent gallery/thumb content from forcing that column
       wider than the viewport. */
    .product {
        width: 100%;
        min-width: 0;
        gap: 26px;
    }

    .product > * {
        min-width: 0;
        max-width: 100%;
    }

    .product-gallery {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        overflow: hidden;
    }

    /* Smaller, fully-contained main viewer. */
    .product-gallery-main {
        width: 100%;
        max-width: 100%;
        height: 270px;
        min-width: 0;
        padding: 12px;
    }

    .product-gallery-main-image {
        display: block;
        width: 100%;
        max-width: 100%;
        height: 100%;
        max-height: 100%;
        object-fit: contain;
        margin: 0 auto;
    }

    /* Keep both gallery arrows safely inside the viewer. */
    .product-gallery-arrow {
        width: 36px;
        height: 36px;
        font-size: 1.45rem;
    }

    .product-gallery-prev {
        left: 8px;
    }

    .product-gallery-next {
        right: 8px;
    }

    /* Keep thumbnail scrolling but never let it widen the page. */
    .product-gallery-thumbnails {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        overflow-x: auto;
        overflow-y: hidden;
        gap: 8px;
    }

    .product-gallery-thumb {
        flex: 0 0 60px;
        width: 60px !important;
        min-width: 60px;
        max-width: 60px;
        height: 52px !important;
        min-height: 52px;
        max-height: 52px;
    }

    /* Product information below the gallery. */
    .product h1 {
        margin-top: 18px;
        font-size: clamp(1.75rem, 8.5vw, 2.35rem);
        line-height: 1.12;
        overflow-wrap: anywhere;
    }

    .product .price {
        font-size: 1.7rem;
        line-height: 1.2;
    }
}


/* =========================================================
   PRODUCT DETAIL - MOBILE OUTER SPACING
   Adds breathing room to gallery and product copy.
   Desktop/tablet remain unchanged.
   ========================================================= */

@media (max-width: 700px) {

    /* Narrow the Product Detail section itself so gallery,
       title, description and purchase content don't sit
       against the phone edges. */
    .container.section.product {
        width: auto;
        margin-left: 18px;
        margin-right: 18px;
    }

    .container.section.product > div:last-child {
        min-width: 0;
        max-width: 100%;
    }

    .container.section.product > div:last-child > p,
    .container.section.product > div:last-child > h1,
    .container.section.product > div:last-child > h2,
    .container.section.product > div:last-child > .price,
    .container.section.product > div:last-child > .product-compatibility-summary,
    .container.section.product > div:last-child > .specs,
    .container.section.product > div:last-child > .purchase-panel {
        max-width: 100%;
    }

    .container.section.product > div:last-child > p {
        overflow-wrap: anywhere;
    }

    .container.section.product h1 {
        margin-right: 0;
    }
}


/* =========================================================
   SELL YOUR PC - MOBILE HORIZONTAL OVERFLOW FIX
   Fixes the source of side-to-side page wobble without
   hiding document overflow.
   ========================================================= */

@media (max-width: 700px) {

    /* Allow every child in the stacked form/grid to shrink
       inside the mobile container. */
    .sell-page,
    .sell-form,
    .form-section,
    .form-section .grid,
    .form-section .field,
    .form-section-heading,
    .form-section-heading > div,
    .form-next,
    .form-next > div {
        min-width: 0;
        max-width: 100%;
    }

    .sell-form .field input,
    .sell-form .field select,
    .sell-form .field textarea,
    .form-next .button {
        min-width: 0;
        max-width: 100%;
    }

    /* Labels containing Optional badges / info icons may wrap
       naturally rather than creating a wider line box. */
    .sell-form .field label {
        max-width: 100%;
        white-space: normal;
        overflow-wrap: anywhere;
    }

    /* The help tooltip was absolutely positioned at 240px wide.
       Even while visually hidden, an off-edge tooltip can expand
       the page's horizontal scroll area on a phone.
       On mobile, make it a viewport-contained help panel instead. */
    .sell-page .info-tip-text {
        position: fixed;
        z-index: 3000;

        left: 18px;
        right: 18px;
        bottom: 18px;

        width: auto;
        max-width: none;

        transform: none;
    }

    .sell-page .info-tip-text::after {
        display: none;
    }
}

/* =========================================================
   PRODUCT DETAIL - PHONE / PORTRAIT TABLET BREAKPOINT
   The two-column desktop layout becomes too narrow on some
   Android phones and portrait tablets. Stack the gallery and
   product information up to 1000px wide, while leaving the
   existing <=700px phone-specific sizing untouched.
   ========================================================= */

@media (max-width: 1000px) {

    .container.section.product,
    .product {
        grid-template-columns: 1fr;
    }

    .product {
        min-width: 0;
        gap: 30px;
    }

    .product > * {
        min-width: 0;
        max-width: 100%;
    }

    .product-gallery {
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    .container.section.product > div:last-child {
        width: 100%;
        min-width: 0;
        max-width: 100%;
    }
}

/* =========================================================
   CAMBER COMPONENTS - BRANDED HEADER
   ========================================================= */

.site-header-inner {
    min-height: 86px;
    display: flex;
    align-items: center;
    gap: 20px;
}

.site-header-left {
    display: flex;
    align-items: center;
    gap: 18px;
    flex-shrink: 0;
}

.site-header .brand {
    display: flex;
    align-items: center;
    padding: 0;
    line-height: 0;
}

.brand-logo {
    display: block;
    width: 230px;
    height: auto;
    max-height: 68px;
    object-fit: contain;
}

.site-tagline {
    margin-left: auto;
    max-width: 280px;
    text-align: right;
    white-space: normal;
    line-height: 1.35;
}

.site-header-spacer {
    display: none;
}


/* Mobile */

@media (max-width: 700px) {

    .site-header-inner {
        min-height: 76px;
        gap: 10px;
    }

    .site-header-left {
        gap: 10px;
        min-width: 0;
    }

    .site-header .menu-button {
        flex: 0 0 42px;
    }

    .site-header .brand {
        min-width: 0;
    }

    .brand-logo {
        width: 190px;
        max-width: calc(100vw - 100px);
        max-height: 60px;
    }

    .site-tagline {
        display: none;
    }

}

/* =========================================================
   HOMEPAGE HERO - MOBILE COMPACT HEIGHT
   Keeps text and image sizing unchanged.
   ========================================================= */

@media (max-width: 700px) {

    .home-hero-carousel,
    .home-hero-slides {
        min-height: 540px;
    }

    .home-hero-slide {
        gap: 6px;
        padding-top: 22px;
        padding-bottom: 48px;
    }

    .home-hero-count {
        margin-bottom: 10px;
    }

    .home-hero-visual {
        min-height: 235px;
    }

}

/* =========================================================
   CAMBER COMPONENTS - DESKTOP TAGLINE
   ========================================================= */

.site-tagline {
    margin-left: auto;
    max-width: none;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    text-align: right;
    white-space: nowrap;
    line-height: 1;
}

.site-tagline-main {
    display: flex;
    align-items: flex-start;
    gap: 0.4em;
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.site-tagline-quality {
    position: relative;
    display: inline-block;
    color: var(--pg-cyan);
    padding-bottom: 5px;
}

.site-tagline-quality::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 2px;
    background: var(--pg-cyan);
    border-radius: 999px;
}

.site-tagline-parts {
    color: var(--pg-text);
}

.site-tagline-sub {
    display: block;
    margin-top: 7px;
    color: var(--pg-muted);
    font-size: 1rem;
    font-weight: 600;
    letter-spacing: 0.01em;
}


/* Keep tagline hidden on mobile */

@media (max-width: 700px) {

    .site-tagline {
        display: none;
    }

}

/* =========================================================
   HEADER FINAL SIZE REFINEMENT
   ========================================================= */

@media (min-width: 701px) {

    .brand-logo {
        width: 260px;
        max-height: 76px;
    }

    .site-tagline-main {
        font-size: 1.05rem;
        letter-spacing: 0.10em;
    }

    .site-tagline-quality {
        padding-bottom: 6px;
    }

    .site-tagline-quality::after {
        height: 2px;
    }

    .site-tagline-sub {
        margin-top: 7px;
        font-size: 0.9rem;
        font-weight: 600;
    }

}

/* =========================================================
   CAMBER COMPONENTS - PRODUCT DETAIL REDESIGN
   Keeps existing gallery behaviour and compatibility logic.
   ========================================================= */

.product-detail-page {
    padding-top: 48px;
    padding-bottom: 34px;
}

.product-detail-top {
    display: grid;
    grid-template-columns:
        minmax(0, 1.12fr)
        minmax(360px, .88fr);
    gap: 44px;
    align-items: start;
}

.product-summary-card {
    min-width: 0;
    padding: 8px 0 0;
}

.product-detail-category {
    margin-bottom: 8px;
    color: var(--pg-muted);
    font-size: .9rem;
}

.product-detail-condition {
    margin-bottom: 18px;
}

.product-summary-card h1 {
    max-width: 680px;
    margin: 0 0 22px;
    color: var(--pg-text);
    font-size: clamp(2rem, 3vw, 3.15rem);
    line-height: 1.08;
    letter-spacing: -.025em;
    overflow-wrap: anywhere;
}

.product-detail-price {
    margin: 0 0 22px;
    color: var(--pg-text);
    font-size: clamp(2.2rem, 3.4vw, 3.25rem);
    line-height: 1;
}

.product-summary-compatibility {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 26px;
}

.product-detail-purchase-panel {
    margin-top: 0;
    padding: 22px;
    background: var(--pg-panel);
    border: 1px solid var(--pg-border);
    border-radius: 14px;
}

.product-detail-purchase-panel .purchase-panel-copy h2 {
    margin: 0 0 7px;
    color: var(--pg-text);
    font-size: 1.15rem;
}

.product-detail-purchase-panel .purchase-panel-copy p {
    margin: 0 0 18px;
    color: var(--pg-muted);
    line-height: 1.55;
}

.product-detail-ebay-button {
    width: 100%;
    min-height: 48px;
    justify-content: center;
    padding: 12px 18px;
    background: var(--pg-cyan);
    border: 1px solid var(--pg-cyan);
    color: #031017;
    font-size: 1rem;
}

.product-detail-ebay-button:hover {
    color: #031017;
    background: var(--pg-cyan-bright);
    border-color: var(--pg-cyan-bright);
}

.product-detail-panels {
    display: grid;
    grid-template-columns:
        minmax(0, 1.1fr)
        minmax(320px, .9fr);
    gap: 20px;
    margin-top: 32px;
}

.product-info-card {
    min-width: 0;
    padding: 24px;
    background: var(--pg-panel);
    border: 1px solid var(--pg-border);
    border-radius: 14px;
}

.product-info-card-heading {
    margin-bottom: 18px;
}

.product-info-card-heading .eyebrow {
    margin: 0 0 5px;
}

.product-info-card-heading h2 {
    margin: 0;
    color: var(--pg-text);
    font-size: 1.45rem;
}

.product-specifications-card {
    grid-row: span 2;
}

.product-compatibility-card {
    align-self: start;
}

.product-description-card {
    align-self: start;
}

.product-info-intro {
    margin: -7px 0 15px;
    color: var(--pg-muted);
}

.product-detail-compatibility {
    margin: 0 0 17px;
}

.product-detail-page .compatibility-chip {
    padding: 6px 10px;
    background: var(--pg-panel-2);
    border-color: var(--pg-border);
    color: var(--pg-text);
    font-weight: 700;
}

.product-compatibility-disclaimer {
    margin: 0;
    color: var(--pg-muted);
    font-size: .88rem;
    line-height: 1.5;
}

.product-description-copy {
    color: var(--pg-text);
    line-height: 1.72;
    overflow-wrap: anywhere;
}

.product-specifications-table {
    overflow: hidden;
    border: 1px solid var(--pg-border-soft);
    border-radius: 10px;
}

.product-specification-row {
    display: grid;
    grid-template-columns:
        minmax(150px, .8fr)
        minmax(0, 1.2fr);
    gap: 18px;
    padding: 10px 13px;
    border-bottom: 1px solid var(--pg-border-soft);
}

.product-specification-row:nth-child(even) {
    background: rgba(255, 255, 255, .025);
}

.product-specification-row:last-child {
    border-bottom: 0;
}

.product-specification-label {
    color: var(--pg-muted);
    font-weight: 700;
}

.product-specification-value {
    min-width: 0;
    color: var(--pg-text);
    overflow-wrap: anywhere;
}

.product-specification-value-full {
    grid-column: 1 / -1;
}

.specifications-fallback {
    padding: 14px;
    color: var(--pg-text);
    line-height: 1.7;
}

.product-detail-page .product-gallery-main {
    background: var(--pg-panel);
    border-color: var(--pg-border);
}

.product-detail-page .product-gallery-thumb {
    background: var(--pg-panel);
    border-color: var(--pg-border);
}

.product-detail-page .product-gallery-thumb.active {
    border-color: var(--pg-cyan);
    box-shadow: 0 0 0 2px var(--pg-cyan-soft);
}

.product-detail-page .product-gallery-arrow {
    background: rgba(8, 11, 15, .88);
    border-color: var(--pg-border);
    color: var(--pg-cyan);
    box-shadow: none;
}

.product-detail-page .product-gallery-arrow:hover {
    background: var(--pg-panel-2);
    border-color: var(--pg-cyan);
    color: var(--pg-cyan-bright);
}

/* Move the recommendation area cleanly below the new cards. */

.product-detail-page + .compatibility-section {
    padding-top: 18px;
}

@media (max-width: 1000px) {

    .product-detail-top {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .product-summary-card {
        padding-top: 0;
    }

    .product-detail-panels {
        grid-template-columns: 1fr;
    }

    .product-specifications-card {
        grid-row: auto;
    }
}

@media (max-width: 700px) {

    .product-detail-page {
        width: auto;
        margin-left: 18px;
        margin-right: 18px;
        padding-top: 28px;
        padding-bottom: 24px;
    }

    .product-detail-top {
        gap: 24px;
    }

    .product-summary-card h1 {
        margin-bottom: 18px;
        font-size: clamp(1.75rem, 8.5vw, 2.35rem);
    }

    .product-detail-price {
        margin-bottom: 18px;
        font-size: 2rem;
    }

    .product-detail-condition {
        margin-bottom: 14px;
    }

    .product-summary-compatibility {
        margin-bottom: 20px;
    }

    .product-detail-purchase-panel,
    .product-info-card {
        padding: 18px;
    }

    .product-detail-panels {
        gap: 14px;
        margin-top: 22px;
    }

    .product-specification-row {
        grid-template-columns: 1fr;
        gap: 3px;
        padding: 11px 12px;
    }

    .product-specification-label {
        font-size: .8rem;
        text-transform: uppercase;
        letter-spacing: .04em;
    }

    .product-specification-value-full {
        grid-column: auto;
    }
}

/* =========================================================
   HEADER MENU ICON REFINEMENT
   ========================================================= */

.site-header .menu-button {
    width: 44px;
    height: 44px;
    flex: 0 0 44px;

    border: 1px solid var(--pg-border);
    border-radius: 10px;

    background: #0b1016;

    transition:
        background .15s ease,
        border-color .15s ease,
        box-shadow .15s ease;
}

.site-header .menu-icon {
    width: 20px;
    height: 16px;

    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.site-header .menu-icon span {
    display: block;

    width: 100%;
    height: 2px;

    border-radius: 2px;

    background: var(--pg-text);
}

.site-header .menu-button:hover {
    background: var(--pg-cyan-soft);
    border-color: rgba(24, 200, 245, .65);
    box-shadow: 0 0 16px rgba(24, 200, 245, .12);
}

.site-header .menu-button:hover .menu-icon span {
    background: var(--pg-cyan-bright);
}


/* =========================================================
   HOMEPAGE MOBILE SECTION HEADING REFINEMENT
   ========================================================= */

.home-view-all-short {
    display: none;
}

@media (max-width: 700px) {

    .home-section-heading {
        align-items: center;
        gap: 10px;
    }

    .home-section-heading h2 {
        font-size: 1.1rem;
        line-height: 1.2;
        white-space: nowrap;
    }

    .home-view-all {
        flex: 0 0 auto;

        display: inline-flex;
        align-items: center;
        justify-content: center;

        min-height: 34px;
        padding: 0 12px;

        border: 1px solid var(--pg-border);
        border-radius: 8px;

        background: var(--pg-panel-2);
        color: var(--pg-cyan-bright);

        font-size: .82rem;
        font-weight: 700;
        line-height: 1;
        white-space: nowrap;
    }

    .home-view-all:hover {
        background: var(--pg-cyan-soft);
        border-color: var(--pg-cyan);
        color: var(--pg-cyan-bright);
    }

    .home-view-all-full {
        display: none;
    }

    .home-view-all-short {
        display: inline;
    }
}


/* =========================================================
   COMPONENTS MOBILE FILTER TOOLBAR - SINGLE ROW
   ========================================================= */

@media (max-width: 700px) {

    .product-filters {
        padding: 10px 12px;
    }

    .product-filters .filter-header {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, .8fr) auto !important;
        gap: 8px !important;
        align-items: center !important;
        padding: 0 !important;
    }

    .product-filters .filter-header-control,
    .product-filters .filter-sort-compact {
        grid-column: auto !important;
        grid-row: auto !important;

        display: block !important;
        width: auto !important;
        min-width: 0;
    }

    .product-filters .filter-header-control label {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px !important;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
    }

    .product-filters .filter-header-control select {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        min-height: 40px;

        padding: 7px 28px 7px 10px;

        font-size: .88rem;
    }

    .product-filters .filter-toggle {
        grid-column: auto !important;
        grid-row: auto !important;

        min-height: 40px;
        margin: 0 !important;
        padding: 7px 10px;

        white-space: nowrap;
        font-size: .88rem;
    }
}


/* =========================================================
   COMPONENTS MOBILE FILTER TOOLBAR - WIDTH FIT
   ========================================================= */

@media (max-width: 700px) {

    .product-filters .filter-header {
        grid-template-columns: minmax(0, 1.35fr) minmax(0, .8fr) auto !important;
        gap: 6px !important;
    }

    .product-filters .filter-header-control select {
        min-height: 38px;
        padding-left: 8px;
        padding-right: 22px;
        font-size: .82rem;
    }

    .product-filters .filter-toggle {
        min-height: 38px;
        padding-left: 8px;
        padding-right: 8px;
        font-size: .82rem;
    }
}


/* =========================================================
   COMPONENTS MOBILE FILTER TOOLBAR - FIT CORRECTION
   ========================================================= */

@media (max-width: 700px) {

    .product-filters .filter-header {
        grid-template-columns:
            minmax(0, 1.45fr)
            minmax(0, .9fr)
            minmax(82px, auto) !important;

        gap: 6px !important;
        width: 100% !important;
        max-width: 100%;
        box-sizing: border-box;
    }

    .product-filters .filter-header-control {
        min-width: 0 !important;
        max-width: 100%;
        overflow: hidden;
    }

    .product-filters .filter-header-control select {
        display: block;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;

        height: 38px;
        min-height: 38px;

        padding: 6px 24px 6px 8px;
        font-size: .78rem;

        box-sizing: border-box;
    }

    .product-filters .filter-toggle {
        width: 100%;
        min-width: 0;
        height: 38px;
        min-height: 38px;

        padding: 6px 7px;
        font-size: .78rem;

        box-sizing: border-box;
    }
}


/* =========================================================
   COMPONENTS MOBILE FILTER TOOLBAR - ANDROID TEXT FIT
   ========================================================= */

@media (max-width: 700px) {

    .product-filters .filter-header {
        grid-template-columns:
            minmax(0, 1.55fr)
            minmax(0, .72fr)
            78px !important;

        gap: 5px !important;
    }

    .product-filters .filter-header-control select {
        padding-left: 7px;
        padding-right: 16px;

        font-size: .74rem;
    }

    .product-filters .filter-toggle {
        padding-left: 5px;
        padding-right: 5px;

        font-size: .74rem;
    }
}


/* =========================================================
   COMPONENTS MOBILE SORT BUTTON + BOTTOM SHEET
   ========================================================= */

.sort-mobile-toggle,
.sort-sheet,
.sort-sheet-backdrop {
    display: none;
}

@media (max-width: 700px) {

    .filter-sort-compact select {
        display: none !important;
    }

    .sort-mobile-toggle {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 6px;

        width: 100%;
        height: 38px;

        padding: 6px 8px;

        border: 1px solid var(--pg-border);
        border-radius: 8px;

        background: var(--pg-panel-2);
        color: var(--pg-text);

        font: inherit;
        font-size: .78rem;
        line-height: 1;

        cursor: pointer;
        box-sizing: border-box;
    }

    .product-filters .filter-toggle {
        background: var(--pg-panel-2);
        border-color: var(--pg-border);
        color: var(--pg-text);
    }

    .sort-sheet-backdrop {
        position: fixed;
        inset: 0;

        z-index: 998;

        background: rgba(0, 0, 0, .66);

        opacity: 0;
        pointer-events: none;

        transition: opacity .2s ease;
    }

    .sort-sheet-backdrop.open {
        display: block;
        opacity: 1;
        pointer-events: auto;
    }

    .sort-sheet {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;

        z-index: 999;

        display: block;

        padding: 10px 16px 22px;

        border: 1px solid var(--pg-border);
        border-bottom: 0;
        border-radius: 18px 18px 0 0;

        background: var(--pg-panel);
        color: var(--pg-text);

        box-shadow: 0 -18px 50px rgba(0, 0, 0, .45);

        transform: translateY(105%);
        transition: transform .22s ease;
    }

    .sort-sheet.open {
        transform: translateY(0);
    }

    .sort-sheet-handle {
        width: 46px;
        height: 5px;

        margin: 0 auto 12px;

        border-radius: 999px;

        background: #7f8b96;
    }

    .sort-sheet-header {
        display: flex;
        align-items: center;
        justify-content: space-between;

        margin-bottom: 12px;
    }

    .sort-sheet-header h2 {
        margin: 0;

        font-size: 1.25rem;
        line-height: 1.2;
    }

    .sort-sheet-close {
        display: inline-flex;
        align-items: center;
        justify-content: center;

        width: 38px;
        height: 38px;

        padding: 0;

        border: 0;
        background: transparent;
        color: var(--pg-text);

        font-size: 1.8rem;
        line-height: 1;

        cursor: pointer;
    }

    .sort-sheet-options {
        display: grid;
        gap: 8px;
    }

    .sort-sheet-option {
        display: flex;
        align-items: center;
        justify-content: space-between;

        width: 100%;
        min-height: 46px;

        padding: 10px 14px;

        border: 1px solid var(--pg-border);
        border-radius: 10px;

        background: var(--pg-panel-2);
        color: var(--pg-text);

        font: inherit;
        font-size: .95rem;
        text-align: left;

        cursor: pointer;
    }

    .sort-sheet-option.selected {
        border-color: var(--pg-cyan);
        background: var(--pg-cyan-soft);
        color: var(--pg-cyan-bright);
    }

    body.sort-sheet-open {
        overflow: hidden;
    }
}


/* =========================================================
   COMPONENTS MOBILE FILTER BOTTOM SHEET
   Matches the Sort by sheet
   ========================================================= */

.filter-sheet-backdrop,
.filter-sheet-handle,
.filter-sheet-header {
    display: none;
}

@media (max-width: 700px) {

    .filter-sheet-backdrop {
        position: fixed;
        inset: 0;

        z-index: 998;

        display: block;

        background: rgba(0, 0, 0, .66);

        opacity: 0;
        pointer-events: none;

        transition: opacity .2s ease;
    }

    body.filter-sheet-active .filter-sheet-backdrop {
        opacity: 1;
        pointer-events: auto;
    }

    .product-filters .filter-fields {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;

        z-index: 999;

        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 12px !important;

        width: 100%;
        max-height: 82vh;

        padding: 10px 16px 22px !important;

        border: 1px solid var(--pg-border);
        border-bottom: 0;
        border-radius: 18px 18px 0 0;

        background: var(--pg-panel);
        color: var(--pg-text);

        box-shadow: 0 -18px 50px rgba(0, 0, 0, .45);

        overflow-y: auto;

        transform: translateY(105%);
        transition: transform .22s ease;

        box-sizing: border-box;
    }

    .product-filters .filter-fields.filter-sheet-open {
        transform: translateY(0);
    }

    .product-filters .filter-fields.collapsed {
        display: grid !important;
    }

    .filter-sheet-handle {
        display: block;

        width: 46px;
        height: 5px;

        margin: 0 auto 2px;

        border-radius: 999px;

        background: #7f8b96;
    }

    .filter-sheet-header {
        display: flex;
        align-items: center;
        justify-content: space-between;

        margin-bottom: 2px;
    }

    .filter-sheet-header h2 {
        margin: 0;

        color: var(--pg-text);

        font-size: 1.25rem;
        line-height: 1.2;
    }

    .filter-sheet-close {
        display: inline-flex;
        align-items: center;
        justify-content: center;

        width: 38px;
        height: 38px;

        padding: 0;

        border: 0;

        background: transparent;
        color: var(--pg-text);

        font-size: 1.8rem;
        line-height: 1;

        cursor: pointer;
    }

    .product-filters .filter-fields .filter-field {
        gap: 6px;
    }

    .product-filters .filter-fields .filter-field label {
        color: var(--pg-text);
        font-size: .9rem;
    }

    .product-filters .filter-fields select,
    .product-filters .filter-fields input {
        min-height: 46px;

        border: 1px solid var(--pg-border);
        border-radius: 10px;

        background: var(--pg-panel-2);
        color: var(--pg-text);
    }

    .product-filters .filter-actions {
        margin-top: 4px;
    }

    body.filter-sheet-active {
        overflow: hidden;
    }
}


/* =========================================================
   PRODUCT DETAIL - MOBILE ACCORDIONS
   Desktop remains unchanged.
   ========================================================= */

.product-mobile-accordion-toggle {
    display: none;
}

.product-mobile-accordion-body {
    display: block;
}

@media (max-width: 700px) {

    .product-info-card {
        padding: 0 !important;
        overflow: hidden;
    }

    .product-mobile-accordion-toggle {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 14px;

        width: 100%;
        min-height: 68px;

        padding: 14px 16px;

        border: 0;
        background: var(--pg-panel);
        color: var(--pg-text);

        text-align: left;
        cursor: pointer;
    }

    .product-mobile-accordion-toggle .product-info-card-heading {
        display: flex;
        flex-direction: column;
        gap: 4px;

        margin: 0;
    }

    .product-mobile-accordion-toggle .eyebrow {
        margin: 0;

        color: var(--pg-cyan);
        font-size: .74rem;
        font-weight: 700;
        letter-spacing: .05em;
        text-transform: uppercase;
    }

    .product-mobile-accordion-title {
        color: var(--pg-text);

        font-size: 1.05rem;
        font-weight: 700;
        line-height: 1.2;
    }

    .product-mobile-accordion-chevron {
        flex: 0 0 auto;

        color: var(--pg-cyan-bright);
        font-size: 1.1rem;
        line-height: 1;
    }

    .product-mobile-accordion-body {
        display: none;

        padding: 0 16px 16px;
    }

    .product-mobile-accordion-toggle[aria-expanded="true"]
    + .product-mobile-accordion-body {
        display: block;
    }

    .product-info-card-heading:not(
        .product-mobile-accordion-toggle .product-info-card-heading
    ) {
        display: none;
    }

    .product-info-intro {
        margin-top: 0;
    }

    .product-specifications-table {
        margin-top: 2px;
    }

    .product-description-copy {
        line-height: 1.65;
    }

    .product-detail-panels {
        gap: 10px;
    }
}


/* =========================================================
   PRODUCT DETAIL - MOBILE COMPATIBILITY RECOMMENDATIONS
   Compact cards without changing normal product cards.
   ========================================================= */

@media (max-width: 700px) {

    .compatibility-section {
        padding-top: 10px;
        padding-bottom: 32px;
    }

    .compatibility-section .compatibility-heading {
        margin-bottom: 16px;
    }

    .compatibility-section .compatibility-heading h2 {
        margin: 3px 0 5px;

        font-size: 1.35rem;
        line-height: 1.2;

        white-space: nowrap;
    }

    .compatibility-section .compatibility-heading p:last-child {
        font-size: .85rem;
        line-height: 1.4;
    }

    .compatibility-section .product-grid {
        align-items: start;
        gap: 10px;
    }

    .compatibility-section .product-card {
        align-self: start;
        height: auto;
    }

    /* Recommendation cards only need the essential information. */
    .compatibility-section .product-category,
    .compatibility-section .product-compatibility,
    .compatibility-section .product-condition {
        display: none;
    }

    .compatibility-section .product-image {
        aspect-ratio: 16 / 10;
        padding: 10px 10px 0;
    }

    .compatibility-section .product-card-body {
        min-height: 0;
        padding: 14px 12px 12px;
        gap: 12px;
    }

    .compatibility-section .product-name {
        font-size: 1rem;
        line-height: 1.35;
    }

    .compatibility-section .product-card-footer {
        margin-top: 4px;
        padding-top: 0;

        flex-direction: column;
        align-items: stretch;
        gap: 10px;
    }

    .compatibility-section .product-price {
        font-size: 1.15rem;
    }

    .compatibility-section .product-view-button {
        width: 100%;
        padding: 9px 8px;

        text-align: center;
        box-sizing: border-box;
    }
}


/* =========================================================
   PRODUCT DETAIL - COMPACT MOBILE SUMMARY
   Keeps desktop unchanged.
   ========================================================= */

@media (max-width: 700px) {

    .product-summary-card {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-areas:
            "title title"
            "price condition"
            "purchase purchase";
        column-gap: 14px;
        align-items: center;
    }

    .product-detail-category {
        display: none;
    }

    .product-summary-card h1 {
        grid-area: title;

        margin-top: 0;
        margin-bottom: 14px;
    }

    .product-detail-price {
        grid-area: price;

        margin: 0 !important;
    }

    .product-detail-condition {
        grid-area: condition;

        margin: 0 !important;
        align-self: center;
    }

    .product-summary-compatibility {
        display: none;
    }

    .product-detail-purchase-panel {
        grid-area: purchase;

        margin-top: 18px;
    }
}


/* =========================================================
   PRODUCT DETAIL - MOBILE EBAY PURCHASE ORDER
   Button first, followed by heading and explanatory copy.
   ========================================================= */

@media (max-width: 700px) {

    .product-detail-purchase-panel {
        display: flex;
        flex-direction: column;
        gap: 0;
    }

    .product-detail-ebay-button {
        order: 1;
        margin-bottom: 16px;
    }

    .product-detail-purchase-panel .purchase-panel-copy {
        order: 2;
    }

    .product-detail-purchase-panel .purchase-panel-copy h2 {
        margin: 0 0 6px;
    }

    .product-detail-purchase-panel .purchase-panel-copy p {
        margin: 0;
    }
}

/* =========================================================
   NAVIGATION DRAWER - CAMBER COMPONENTS REFINEMENT
   ========================================================= */

.site-drawer {
    width: min(380px, 90vw);

    background:
        linear-gradient(
            180deg,
            #0b1016 0%,
            #080c11 100%
        );

    border-right: 1px solid var(--pg-border);

    box-shadow:
        18px 0 50px rgba(0, 0, 0, .55);
}


/* Drawer header */

.drawer-header {
    min-height: 82px;

    padding: 16px 18px;

    background: #05080c;

    border-bottom: 1px solid var(--pg-border);

    gap: 16px;
}

.drawer-brand {
    display: flex;
    align-items: center;

    min-width: 0;
}

.drawer-brand-logo {
    display: block;

    width: 205px;
    max-width: 100%;
    height: auto;

    object-fit: contain;
}


/* Close button */

.drawer-close {
    width: 42px;
    height: 42px;

    flex: 0 0 42px;

    border: 1px solid var(--pg-border);
    border-radius: 10px;

    background: #0b1016;
    color: var(--pg-text);

    font-size: 1.8rem;

    transition:
        background .15s ease,
        border-color .15s ease,
        color .15s ease,
        box-shadow .15s ease;
}

.drawer-close:hover {
    background: var(--pg-cyan-soft);
    border-color: rgba(24, 200, 245, .65);
    color: var(--pg-cyan-bright);

    box-shadow:
        0 0 16px rgba(24, 200, 245, .12);
}


/* Main navigation */

.drawer-nav {
    padding: 18px 14px 24px;

    background: transparent;

    gap: 4px;
}


/* Main navigation rows */

.drawer-components-toggle,
.drawer-main-link {
    min-height: 50px;

    display: flex;
    align-items: center;

    padding: 0 14px;

    border: 1px solid transparent;
    border-radius: 10px;

    background: transparent;
    color: var(--pg-text);

    font-size: 1rem;
    font-weight: 700;

    transition:
        background .15s ease,
        border-color .15s ease,
        color .15s ease;
}

.drawer-components-toggle {
    justify-content: space-between;
}

.drawer-components-toggle:hover,
.drawer-main-link:hover {
    background: var(--pg-cyan-soft);

    border-color:
        rgba(24, 200, 245, .22);

    color: var(--pg-cyan-bright);
}


/* Components arrow */

.drawer-arrow {
    color: var(--pg-muted);

    font-size: 1.5rem;

    transition:
        transform .2s ease,
        color .15s ease;
}

.drawer-components-toggle:hover
.drawer-arrow {
    color: var(--pg-cyan-bright);
}

.drawer-components-toggle.open
.drawer-arrow {
    transform: rotate(90deg);
}


/* Components section */

.drawer-section {
    margin: 0 0 8px;
    padding: 0 0 12px;

    border-bottom:
        1px solid var(--pg-border);
}


/* Expanded component list */

.component-menu {
    margin: 5px 0 4px 14px;

    padding:
        5px 0
        5px 12px;

    border-left:
        2px solid rgba(24, 200, 245, .35);
}

.component-menu a {
    position: relative;

    padding: 9px 12px;

    border-radius: 8px;

    color: var(--pg-muted);

    font-size: .94rem;
    font-weight: 600;

    transition:
        background .15s ease,
        color .15s ease,
        padding-left .15s ease;
}

.component-menu a:hover {
    padding-left: 16px;

    background: var(--pg-cyan-soft);
    color: var(--pg-cyan-bright);
}


/* Darker page behind open drawer */

.drawer-overlay {
    background: rgba(0, 0, 0, .76);

    backdrop-filter: blur(2px);
}


/* Mobile */

@media (max-width: 700px) {

    .site-drawer {
        width: min(350px, 92vw);
    }

    .drawer-header {
        min-height: 74px;

        padding: 13px 14px;
    }

    .drawer-brand-logo {
        width: 185px;
    }

    .drawer-nav {
        padding: 14px 10px 22px;
    }

    .drawer-components-toggle,
    .drawer-main-link {
        min-height: 48px;

        padding-left: 13px;
        padding-right: 13px;
    }
}

/* =========================================================
   GLOBAL SEARCH
   ========================================================= */

.search-page {
    padding: 34px 0 52px;
}

.search-page-header {
    max-width: 820px;
    margin: 0 auto 28px;
    text-align: center;
}

.search-page-eyebrow,
.search-results-eyebrow {
    margin-bottom: 6px;

    color: var(--pg-cyan-bright);

    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.search-page-header h1 {
    margin: 0 0 20px;
}

.global-search-form {
    display: flex;
    gap: 10px;

    width: 100%;
    max-width: 760px;

    margin: 0 auto;
}

.global-search-form input {
    flex: 1;

    min-width: 0;
    height: 48px;

    padding: 0 16px;

    border: 1px solid var(--pg-border);
    border-radius: 10px;

    background: #0b1016;
    color: var(--pg-text);

    font: inherit;

    outline: none;

    transition:
        border-color .15s ease,
        box-shadow .15s ease,
        background .15s ease;
}

.global-search-form input::placeholder {
    color: var(--pg-muted);
}

.global-search-form input:focus {
    border-color: rgba(24, 200, 245, .72);

    box-shadow:
        0 0 0 3px rgba(24, 200, 245, .10);
}

.global-search-form button {
    min-width: 110px;
    height: 48px;

    padding: 0 18px;

    border: 1px solid rgba(24, 200, 245, .7);
    border-radius: 10px;

    background: var(--pg-cyan-bright);
    color: #031017;

    font: inherit;
    font-weight: 800;

    cursor: pointer;

    transition:
        transform .15s ease,
        box-shadow .15s ease,
        filter .15s ease;
}

.global-search-form button:hover {
    transform: translateY(-1px);

    box-shadow:
        0 8px 22px rgba(24, 200, 245, .16);

    filter: brightness(1.05);
}

.search-results-summary {
    margin-bottom: 24px;

    color: var(--pg-muted);
}

.search-results-summary strong {
    color: var(--pg-text);
}

.search-results-section {
    margin-top: 30px;
}

.search-results-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;

    gap: 18px;

    margin-bottom: 14px;
}

.search-results-heading h2 {
    margin: 0;
}

.search-page-results {
    display: grid;
    gap: 10px;
}

.search-page-result {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 18px;

    padding: 17px 18px;

    border: 1px solid var(--pg-border);
    border-radius: 12px;

    background: #0b1016;
    color: var(--pg-text);

    transition:
        background .15s ease,
        border-color .15s ease,
        transform .15s ease;
}

.search-page-result:hover {
    background: var(--pg-cyan-soft);

    border-color:
        rgba(24, 200, 245, .35);

    transform: translateY(-1px);
}

.search-page-result h3 {
    margin: 0 0 4px;

    font-size: 1rem;
}

.search-page-result p {
    margin: 0;

    color: var(--pg-muted);

    font-size: .92rem;
}

.search-result-arrow {
    flex: 0 0 auto;

    color: var(--pg-cyan-bright);

    font-size: 1.3rem;
    font-weight: 800;
}

.search-empty-state {
    max-width: 620px;

    margin: 34px auto 0;
    padding: 28px;

    border: 1px solid var(--pg-border);
    border-radius: 14px;

    background: #0b1016;

    text-align: center;
}

.search-empty-state h2 {
    margin-top: 0;
}

.search-empty-state p {
    color: var(--pg-muted);
}


/* Mobile */

@media (max-width: 700px) {

    .search-page {
        padding: 24px 0 38px;
    }

    .search-page-header {
        margin-bottom: 22px;
    }

    .global-search-form {
        gap: 8px;
    }

    .global-search-form input {
        height: 46px;

        padding-left: 13px;
        padding-right: 13px;
    }

    .global-search-form button {
        min-width: 92px;
        height: 46px;

        padding-left: 14px;
        padding-right: 14px;
    }

    .search-page-result {
        padding: 15px 14px;
    }

    .search-page-result p {
        font-size: .88rem;
    }

    .search-empty-state {
        padding: 22px 16px;
    }
}

/* =========================================================
   NAVIGATION DRAWER - SEARCH
   ========================================================= */

.drawer-search-form {
    display: flex;
    gap: 8px;

    margin: 0 0 14px;
    padding: 0 0 14px;

    border-bottom:
        1px solid var(--pg-border);
}

.drawer-search-form input {
    flex: 1;

    min-width: 0;
    height: 44px;

    padding: 0 13px;

    border: 1px solid var(--pg-border);
    border-radius: 9px;

    background: #070b10;
    color: var(--pg-text);

    font: inherit;
    font-size: .94rem;

    outline: none;

    transition:
        border-color .15s ease,
        box-shadow .15s ease,
        background .15s ease;
}

.drawer-search-form input::placeholder {
    color: var(--pg-muted);
}

.drawer-search-form input:focus {
    border-color:
        rgba(24, 200, 245, .7);

    background: #0b1016;

    box-shadow:
        0 0 0 3px
        rgba(24, 200, 245, .09);
}

.drawer-search-form button {
    height: 44px;

    padding: 0 14px;

    border:
        1px solid
        rgba(24, 200, 245, .65);

    border-radius: 9px;

    background: var(--pg-cyan-bright);
    color: #031017;

    font: inherit;
    font-size: .9rem;
    font-weight: 800;

    cursor: pointer;

    transition:
        transform .15s ease,
        filter .15s ease,
        box-shadow .15s ease;
}

.drawer-search-form button:hover {
    transform: translateY(-1px);

    filter: brightness(1.05);

    box-shadow:
        0 6px 18px
        rgba(24, 200, 245, .14);
}

@media (max-width: 700px) {

    .drawer-search-form {
        margin-bottom: 12px;
        padding-bottom: 12px;
    }

    .drawer-search-form input,
    .drawer-search-form button {
        height: 42px;
    }

    .drawer-search-form button {
        padding-left: 12px;
        padding-right: 12px;
    }
}

/* =========================================================
   HEADER SEARCH BUTTON + POPUP
   ========================================================= */

.site-header-left {
    gap: 8px;
}

.header-search-button {
    width: 40px;
    height: 40px;
    flex: 0 0 40px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border: 1px solid var(--pg-border);
    border-radius: 9px;

    background: #0b1016;
    color: var(--pg-text);

    font: inherit;
    font-size: 1.35rem;
    line-height: 1;

    cursor: pointer;

    transition:
        background .15s ease,
        border-color .15s ease,
        box-shadow .15s ease,
        color .15s ease;
}

.header-search-button:hover {
    background: var(--pg-cyan-soft);
    border-color: rgba(24, 200, 245, .65);
    color: var(--pg-cyan-bright);

    box-shadow:
        0 0 16px
        rgba(24, 200, 245, .12);
}

.header-search-overlay {
    position: fixed;
    inset: 0;
    z-index: 1200;

    display: none;
    align-items: flex-start;
    justify-content: center;

    padding: 92px 18px 18px;

    background:
        rgba(3, 7, 11, .72);

    backdrop-filter: blur(4px);
}

.header-search-overlay.is-open {
    display: flex;
}

.header-search-dialog {
    position: relative;

    width: min(560px, 100%);

    padding: 24px;

    border:
        1px solid
        rgba(24, 200, 245, .28);

    border-radius: 14px;

    background:
        linear-gradient(
            180deg,
            #111820 0%,
            #0a0f15 100%
        );

    box-shadow:
        0 24px 70px
        rgba(0, 0, 0, .5);
}

.header-search-title {
    margin: 0 44px 16px 0;

    color: var(--pg-text);

    font-size: 1.05rem;
    font-weight: 800;
}

.header-search-close {
    position: absolute;
    top: 12px;
    right: 12px;

    width: 34px;
    height: 34px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border: 1px solid var(--pg-border);
    border-radius: 8px;

    background: #0b1016;
    color: var(--pg-text);

    font-size: 1.4rem;
    line-height: 1;

    cursor: pointer;
}

.header-search-close:hover {
    border-color:
        rgba(24, 200, 245, .65);

    color: var(--pg-cyan-bright);
}

.header-search-form {
    display: flex;
    gap: 10px;
}

.header-search-form input {
    flex: 1;
    min-width: 0;

    height: 46px;

    padding: 0 14px;

    border: 1px solid var(--pg-border);
    border-radius: 9px;

    background: #070b10;
    color: var(--pg-text);

    font: inherit;
    font-size: .96rem;

    outline: none;
}

.header-search-form input:focus {
    border-color:
        rgba(24, 200, 245, .7);

    box-shadow:
        0 0 0 3px
        rgba(24, 200, 245, .09);
}

.header-search-form button {
    height: 46px;

    padding: 0 18px;

    border:
        1px solid
        rgba(24, 200, 245, .65);

    border-radius: 9px;

    background: var(--pg-cyan-bright);
    color: #031017;

    font: inherit;
    font-weight: 800;

    cursor: pointer;
}

@media (max-width: 700px) {

    .site-header-left {
        gap: 6px;
    }

    .header-search-button {
        width: 38px;
        height: 38px;
        flex-basis: 38px;
    }

    .header-search-overlay {
        padding-top: 78px;
    }

    .header-search-dialog {
        padding: 20px;
    }

    .header-search-form {
        gap: 8px;
    }

    .header-search-form input,
    .header-search-form button {
        height: 44px;
    }

    .header-search-form button {
        padding-left: 15px;
        padding-right: 15px;
    }
}

/* HEADER SEARCH ICON REFINEMENT */

.header-search-icon {
    position: relative;

    display: block;

    width: 16px;
    height: 16px;

    border: 2px solid currentColor;
    border-radius: 50%;

    box-sizing: border-box;
}

.header-search-icon::after {
    content: "";

    position: absolute;

    width: 7px;
    height: 2px;

    right: -5px;
    bottom: -2px;

    border-radius: 2px;

    background: currentColor;

    transform: rotate(45deg);
    transform-origin: center;
}

/* =========================================================
   HEADER THEME TOGGLE
   ========================================================= */

.theme-toggle-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 42px;
    height: 42px;

    padding: 0;

    border: 0;
    border-radius: 10px;

    background: transparent;
    color: inherit;

    cursor: pointer;
}

.theme-toggle-button:hover {
    background: rgba(255, 255, 255, 0.08);
}

.theme-toggle-button:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 2px;
}

.theme-toggle-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    font-size: 1.15rem;
    line-height: 1;
}

/* =========================================================
   LIGHT THEME
   Keeps the existing dark theme unchanged by default.
   ========================================================= */

html.light-theme .brand,
html.light-theme .nav nav a {
    color: #18212b;
}

/* Hero */

html.light-theme .hero {
    background: linear-gradient(
        135deg,
        #f8fafc,
        #e8eefc
    );
    color: #18212b;
}

html.light-theme .hero p {
    color: #475569;
}

html.light-theme .hero .eyebrow {
    color: #2457d6;
}


/* General cards and panels */

html.light-theme .placeholder,
html.light-theme .card img {
    background: #e9edf2;
}

html.light-theme .callout {
    background: #e8eefc;
}


/* Form fields */

html.light-theme .field input::placeholder,
html.light-theme .field textarea::placeholder {
    color: #94a3b8;
}


/* Sell your PC */

html.light-theme .form-section {
    border-bottom-color: #e2e8f0;
}

html.light-theme .form-section-heading p {
    color: #64748b;
}


/* Search modal */

html.light-theme .header-search-dialog {
    background: #ffffff;
    color: #18212b;
}

html.light-theme .header-search-close {
    color: #18212b;
}

html.light-theme .header-search-form input {
    background: #ffffff;
    color: #18212b;
    border-color: #cbd5e1;
}


/* Navigation drawer */

/* Product / content text */

html.light-theme h1,
html.light-theme h2,
html.light-theme h3,
html.light-theme h4 {
    color: #18212b;
}


/* Footer */

html.light-theme footer a {
    color: #2457d6;
}

/* =========================================================
   LIGHT THEME - STOREFRONT REFINEMENT
   ========================================================= */


/* Header gets a subtle Camber blue tint */


/* Product/listing cards */

html.light-theme .listing-card,
html.light-theme .component-card {
    background: #ffffff;
    color: #18212b;
}

/* Links and headings inside product cards */

html.light-theme .listing-card a,
html.light-theme .component-card a {
    color: #18212b;
}


/* Keep Camber accent links cyan */

html.light-theme .section-link,
html.light-theme .view-all-link {
    color: #38bdf8;
}

/* =========================================================
   LIGHT THEME - FINAL PALETTE
   ========================================================= */

html.light-theme {
    --pg-bg: #f4f8fb;
    --pg-bg-soft: #edf4f8;

    --pg-panel: #ffffff;
    --pg-panel-2: #eef5f9;

    --pg-border: #cbd8e2;
    --pg-border-soft: #dce6ed;

    --pg-text: #18212b;
    --pg-muted: #5f7080;

    --pg-cyan: #18bde8;
    --pg-cyan-bright: #00a9dc;
    --pg-cyan-soft: rgba(24, 189, 232, 0.12);
}


/* Main page */

html.light-theme,
html.light-theme body {
    background: #f4f8fb;
    color: var(--pg-text);
}


/* Header */

html.light-theme header,
html.light-theme .site-header {
    background: #e8f3f8;
    border-color: #cfdee7;
    color: var(--pg-text);
}

html.light-theme .site-tagline,
html.light-theme .site-tagline-main,
html.light-theme .site-tagline-sub {
    color: #425466;
}

html.light-theme .site-tagline-quality {
    color: var(--pg-cyan);
}

html.light-theme .brand-logo {
    filter:
        drop-shadow(0 1px 1px rgba(15, 23, 42, 0.45))
        drop-shadow(0 0 3px rgba(15, 23, 42, 0.16));
}


/* Product cards */

html.light-theme .product-card,
html.light-theme .home-product-card,
html.light-theme .card,
html.light-theme .form-card,
html.light-theme .guide article {
    background: var(--pg-panel);
    color: var(--pg-text);
    border-color: var(--pg-border);
    box-shadow: 0 8px 24px rgba(30, 55, 75, 0.10);
}

html.light-theme .product-name,
html.light-theme .product-name a,
html.light-theme .home-product-card h3,
html.light-theme .home-product-card h3 a,
html.light-theme .product-price,
html.light-theme .price {
    color: var(--pg-text);
}


/* Product image areas */

html.light-theme .product-image,
html.light-theme .home-product-image,
html.light-theme .product-gallery-main,
html.light-theme .product-gallery-thumb,
html.light-theme .quick-view-image {
    background: #eef3f6;
}


/* Tags */

html.light-theme .product-condition,
html.light-theme .tag,
html.light-theme .compatibility-chip,
html.light-theme .optional {
    background: #e9f1f5;
    border-color: #cbd8e2;
    color: #425466;
}


/* Forms */

html.light-theme .field input,
html.light-theme .field select,
html.light-theme .field textarea,
html.light-theme .filter-field select,
html.light-theme .filter-field input,
html.light-theme .sell-form .field input,
html.light-theme .sell-form .field select,
html.light-theme .sell-form .field textarea,
html.light-theme .photo-file-input input[type="file"] {
    background: #ffffff;
    color: var(--pg-text);
    border-color: #b9cad6;
}


/* Secondary buttons */

html.light-theme .button.secondary {
    background: #eef5f9;
    border-color: #cbd8e2;
    color: #18212b;
}

html.light-theme .button.secondary:hover {
    background: #e0edf3;
    color: #007fa8;
}


/* Checkbox / secondary panels */

html.light-theme .checkbox-field,
html.light-theme .photo-tip,
html.light-theme .form-next {
    background: #f5f9fb;
    border-color: #d2dfe7;
    color: var(--pg-text);
}


/* Sell banner and other panels */

html.light-theme .home-sell-banner {
    background:
        linear-gradient(
            110deg,
            rgba(24, 189, 232, 0.10),
            rgba(24, 189, 232, 0.025)
        ),
        #ffffff;

    border-color: rgba(24, 189, 232, 0.30);
}


/* Carousel arrows */

html.light-theme .home-carousel-arrow {
    background: rgba(255, 255, 255, 0.96);
    border-color: #b9cad6;
    color: #078eb6;
    box-shadow: 0 8px 22px rgba(30, 55, 75, 0.16);
}

html.light-theme .home-carousel-arrow:hover {
    background: #e9f5fa;
    border-color: var(--pg-cyan);
}


/* Footer */

html.light-theme footer {
    background: #dfeaf0;
    color: #506274;
    border-color: #cad8e1;
}

/* =========================================================
   LIGHT THEME - HEADER + DRAWER REFINEMENT
   ========================================================= */


/* Header control buttons */

html.light-theme .site-header .menu-button,
html.light-theme .header-search-button,
html.light-theme .theme-toggle-button {
    background: #ffffff;
    color: #18212b;

    border: 1px solid #b9cad6;
    border-radius: 10px;

    box-shadow:
        0 3px 10px rgba(30, 55, 75, 0.08);
}


html.light-theme .site-header .menu-button:hover,
html.light-theme .header-search-button:hover,
html.light-theme .theme-toggle-button:hover {
    background: #dff2f8;
    color: #078eb6;

    border-color: #18bde8;

    box-shadow:
        0 0 14px rgba(24, 189, 232, 0.14);
}


/* Entire navigation drawer */

html.light-theme .site-drawer {
    background: #e8f3f8;

    color: #18212b;

    border-right: 1px solid #c7dbe5;

    box-shadow:
        18px 0 50px rgba(30, 55, 75, 0.18);
}


/* Drawer logo/header area */

html.light-theme .drawer-header {
    background: #e8f3f8;

    border-bottom: 1px solid #c7dbe5;
}


/* Drawer navigation area */

html.light-theme .drawer-nav {
    background: #e8f3f8;
}


/* Drawer close button */

html.light-theme .drawer-close {
    background: #ffffff;
    color: #18212b;

    border-color: #b9cad6;

    box-shadow:
        0 3px 10px rgba(30, 55, 75, 0.08);
}


html.light-theme .drawer-close:hover {
    background: #dff2f8;
    color: #078eb6;

    border-color: #18bde8;
}


/* Drawer navigation text */

html.light-theme .drawer-components-toggle,
html.light-theme .drawer-main-link,
html.light-theme .component-menu a {
    color: #18212b;
}


html.light-theme .drawer-components-toggle:hover,
html.light-theme .drawer-main-link:hover,
html.light-theme .component-menu a:hover {
    background: rgba(24, 189, 232, 0.10);
    color: #078eb6;

    border-color: rgba(24, 189, 232, 0.25);
}


/* Drawer dividers */

html.light-theme .drawer-section,
html.light-theme .component-menu {
    border-color: #c7dbe5;
}


/* Drawer search */

html.light-theme .drawer-search-form input {
    background: #ffffff;
    color: #18212b;

    border-color: #b9cad6;
}


html.light-theme .drawer-search-form input::placeholder {
    color: #64798a;
}


/* Keep the cyan Search button */

html.light-theme .drawer-search-form button {
    background: #18bde8;
    color: #08202a;

    border-color: #18bde8;
}


html.light-theme .drawer-search-form button:hover {
    background: #46d9ff;
    border-color: #46d9ff;
}


/*
 * Keep the normal dark overlay when the drawer opens.
 * The drawer itself is now light blue; this provides separation
 * from the page behind it.
 */

html.light-theme .drawer-overlay {
    background: rgba(24, 33, 43, 0.55);
}

/* Light theme - match drawer logo to header logo */

html.light-theme .drawer-brand-logo {
    filter:
        drop-shadow(0 1px 1px rgba(15, 23, 42, 0.45))
        drop-shadow(0 0 3px rgba(15, 23, 42, 0.16));
}

/* =========================================================
   LIGHT THEME - HOME HERO
   ========================================================= */

html.light-theme .home-hero-carousel {
    background:
        radial-gradient(
            circle at 72% 45%,
            rgba(24, 189, 232, 0.12),
            transparent 34%
        ),
        linear-gradient(
            135deg,
            #eef9fc 0%,
            #e4f3f8 52%,
            #dceef5 100%
        );

    border-color: #bdd9e5;

    box-shadow:
        0 18px 40px rgba(30, 55, 75, 0.16),
        inset 0 1px 0 rgba(255, 255, 255, 0.8);
}


/* Main hero wording */

html.light-theme .home-hero-copy h1 {
    color: #253746;

    text-shadow:
        0 1px 0 rgba(255, 255, 255, 0.7);
}


html.light-theme .home-hero-copy h1 span {
    color: #18aeda;

    text-shadow:
        0 0 24px rgba(24, 189, 232, 0.18);
}


/* 01 / 03 counter */

html.light-theme .home-hero-count {
    color: #667b8b;
}


html.light-theme .home-hero-count span {
    color: #078eb6;
}


/* Secondary hero text */

html.light-theme .home-hero-text {
    color: #506779;
}


/* Hero CTA */

html.light-theme .home-hero-button {
    background: rgba(255, 255, 255, 0.72);

    color: #087fa4;

    border-color: #61c9e4;

    box-shadow:
        0 5px 16px rgba(30, 90, 115, 0.10);
}


html.light-theme .home-hero-button:hover {
    background: #ffffff;

    color: #056c8e;

    border-color: #18bde8;

    box-shadow:
        0 7px 20px rgba(24, 189, 232, 0.18);
}


/* Hero left / right controls */

html.light-theme .home-hero-arrow {
    background: rgba(255, 255, 255, 0.86);

    color: #078eb6;

    border-color: #a9cbd9;

    box-shadow:
        0 5px 16px rgba(30, 55, 75, 0.12);
}


html.light-theme .home-hero-arrow:hover {
    background: #ffffff;

    color: #056c8e;

    border-color: #18bde8;
}


/* Carousel dots */

html.light-theme .home-hero-dot {
    background: #9db5c1;
}


html.light-theme .home-hero-dot.active {
    background: #18bde8;

    box-shadow:
        0 0 12px rgba(24, 189, 232, 0.30);
}

/* =========================================================
   LIGHT THEME - SEARCH PAGE FIELD
   ========================================================= */

html.light-theme .search-page-form input[type="search"],
html.light-theme .search-page-form input[type="text"],
html.light-theme .search-form input[type="search"],
html.light-theme .search-form input[type="text"] {
    background: #ffffff;
    color: #18212b;

    border: 1px solid #b9cad6;

    box-shadow:
        0 3px 10px rgba(30, 55, 75, 0.06);
}

html.light-theme .search-page-form input::placeholder,
html.light-theme .search-form input::placeholder {
    color: #6f8190;
}

/* =========================================================
   LIGHT THEME - GLOBAL SEARCH RESULTS
   ========================================================= */


/* Main search input */

html.light-theme .global-search-form input[type="search"] {
    background: #ffffff;
    color: #18212b;

    border: 1px solid #b9cad6;

    box-shadow:
        0 3px 10px rgba(30, 55, 75, 0.06);
}


html.light-theme .global-search-form input[type="search"]::placeholder {
    color: #6f8190;
}


/* Search page result cards */

html.light-theme .search-page-result {
    background: #ffffff;

    color: #18212b;

    border: 1px solid #cbd8e2;

    box-shadow:
        0 6px 18px rgba(30, 55, 75, 0.08);
}


html.light-theme .search-page-result:hover {
    background: #f4fbfd;

    border-color: #18bde8;

    box-shadow:
        0 8px 22px rgba(24, 189, 232, 0.12);
}


/* Result title */

html.light-theme .search-page-result h3 {
    color: #18212b;
}


/* Result description */

html.light-theme .search-page-result p {
    color: #5f7080;
}


/* Result arrow */

html.light-theme .search-result-arrow {
    color: #18bde8;
}

/* =========================================================
   DARK THEME - BROWSER AUTOFILL
   Keep autofilled fields consistent with dark form styling
   ========================================================= */

html:not(.light-theme) input:-webkit-autofill,
html:not(.light-theme) input:-webkit-autofill:hover,
html:not(.light-theme) input:-webkit-autofill:focus,
html:not(.light-theme) textarea:-webkit-autofill,
html:not(.light-theme) textarea:-webkit-autofill:hover,
html:not(.light-theme) textarea:-webkit-autofill:focus,
html:not(.light-theme) select:-webkit-autofill,
html:not(.light-theme) select:-webkit-autofill:hover,
html:not(.light-theme) select:-webkit-autofill:focus {
    -webkit-text-fill-color: #f3f7fa;
    caret-color: #f3f7fa;

    -webkit-box-shadow:
        0 0 0 1000px #0d1117 inset;

    box-shadow:
        0 0 0 1000px #0d1117 inset;

    border-color: #26313c;

    transition:
        background-color 9999s ease-out 0s;
}

/* =========================================================
   LIGHT THEME - QUICK VIEW CLEANUP
   ========================================================= */

/* Hide the long eBay category in quick view */
.quick-view-category {
    display: none;
}


/* Light theme close button */
html.light-theme .quick-view-close {
    background: #ffffff;
    color: #18212b;
    border-color: #b9cad6;

    box-shadow:
        0 4px 14px rgba(30, 55, 75, 0.12);
}

html.light-theme .quick-view-close:hover {
    background: #dff2f8;
    color: #078eb6;
    border-color: #18bde8;
}


/* Light theme condition badge */
html.light-theme .quick-view-condition {
    background: #eef5f9;
    color: #465b6b;
    border-color: #cbd8e2;
}

/* =========================================================
   QUICK VIEW TITLE COLOUR
   ========================================================= */

/* Dark theme */
.quick-view-details h2,
.quick-view-title {
    color: var(--pg-text);
}

/* Light theme */
html.light-theme .quick-view-details h2,
html.light-theme .quick-view-title {
    color: #18212b;
}

/* =========================================================
   COMPONENTS PAGE - TABLET / IPAD MINI FIX
   Keeps desktop (>950px) and phone (<=700px) unchanged.
   ========================================================= */

@media (min-width: 701px) and (max-width: 950px) {

    /* Give product cards enough room for price + View button. */
    .product-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 16px;
    }

    .product-card-body {
        padding: 15px;
        min-width: 0;
    }

    .product-card-footer {
        gap: 8px;
        min-width: 0;
    }

    .product-price {
        font-size: 1.1rem;
        white-space: nowrap;
    }

    .product-view-button {
        flex: 0 0 auto;
        padding: 8px 11px;
        white-space: nowrap;
    }

    /* Stop Sort / Component Type stretching across the whole panel. */
    .product-filters .filter-header .filter-header-control {
        width: auto !important;
        max-width: 100%;
    }

    .product-filters .filter-header #component_type {
        width: 320px !important;
        max-width: calc(100vw - 230px) !important;
        flex: 0 1 320px !important;
    }

    .product-filters .filter-header #sort {
        width: 240px !important;
        max-width: calc(100vw - 170px) !important;
        flex: 0 1 240px !important;
    }
}


/* Camber cookie preferences */

.cookie-preferences-notice[hidden],
.cookie-preferences-status[hidden] {
    display: none !important;
}

.cookie-preferences-notice {
    position: fixed;
    top: 12px;
    left: 50%;
    transform: translateX(-50%);
    width: min(680px, calc(100% - 24px));
    z-index: 900;
    color: var(--pg-text);
}

.cookie-preferences-panel {
    padding: 16px 20px;
    background: var(--pg-panel);
    border: 1px solid var(--pg-border);
    border-radius: 16px;
    box-shadow: 0 12px 36px rgba(0, 0, 0, 0.28);
}

.cookie-preferences-copy h2 {
    margin: 0 0 5px;
    color: var(--pg-text);
    font-size: 1rem;
    font-weight: 750;
}

.cookie-preferences-copy p {
    margin: 0;
    color: var(--pg-text);
    font-size: 0.85rem;
    line-height: 1.5;
}

.cookie-preferences-copy a {
    color: var(--pg-cyan);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.cookie-preferences-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 12px;
}

.cookie-preferences-actions button {
    flex: 1 1 190px;
    min-height: 40px;
    padding: 9px 13px;
    border: 1px solid var(--pg-border);
    border-radius: 9px;
    font: inherit;
    font-size: 0.85rem;
    font-weight: 700;
    cursor: pointer;
}

#cookie-analytics-off {
    background: transparent;
    color: var(--pg-text);
}

#cookie-analytics-on {
    background: var(--pg-cyan);
    border-color: var(--pg-cyan);
    color: #071017;
}

.cookie-preferences-actions button:hover {
    filter: brightness(1.08);
}

.cookie-preferences-actions button:focus-visible,
#cookie-settings-link:focus-visible {
    outline: 3px solid var(--pg-cyan);
    outline-offset: 3px;
}

.cookie-preferences-actions button:disabled {
    opacity: 0.6;
    cursor: wait;
}

.cookie-preferences-status {
    margin: 10px 0 0;
    font-size: 0.82rem;
    color: var(--pg-text);
}

@media (max-width: 480px) {
    .cookie-preferences-notice {
        top: 8px;
        width: calc(100% - 16px);
    }

    .cookie-preferences-panel {
        padding: 13px 14px;
        border-radius: 13px;
    }

    .cookie-preferences-actions {
        gap: 8px;
    }

    .cookie-preferences-actions button {
        flex-basis: 100%;
    }
}


/* camber-mobile-drawer-shadow-fix-20261025 */
/*
 * Prevent the off-screen navigation drawer from casting
 * a dark shadow over the left edge of mobile pages.
 * The original shadow remains when the drawer opens.
 */
@media (max-width: 767px) {
    .site-drawer {
        box-shadow: none !important;
    }

    .site-drawer[aria-hidden="false"],
    .site-drawer.is-open,
    .site-drawer.open {
        box-shadow: 18px 0 50px rgba(0, 0, 0, .55) !important;
    }
}


/* camber-centred-consent-dialog-20261026 */
/* Centred, accessible analytics choice on desktop and mobile. */

.cookie-preferences-notice:not([hidden]) {
    position: fixed !important;
    inset: 0 !important;
    top: 0 !important;
    left: 0 !important;
    transform: none !important;
    width: 100% !important;
    height: 100dvh !important;
    max-width: none !important;
    padding: 20px !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow-y: auto !important;
    background: rgba(2, 7, 12, .82) !important;
    z-index: 10000 !important;
}

.cookie-preferences-notice .cookie-preferences-panel {
    width: min(100%, 510px) !important;
    margin: auto !important;
    padding: 30px 28px !important;
    border: 1px solid rgba(95, 209, 239, .42) !important;
    border-radius: 20px !important;
    background: #131e27 !important;
    box-shadow: 0 24px 80px rgba(0, 0, 0, .55) !important;
    text-align: left !important;
    outline: none;
}

.cookie-preferences-copy h2 {
    color: #f3f7fa !important;
    font-size: 1.4rem !important;
    line-height: 1.3 !important;
    margin-bottom: 12px !important;
}

.cookie-preferences-copy p {
    font-size: .95rem !important;
    line-height: 1.65 !important;
    color: #c8d8e2 !important;
}

.cookie-preferences-actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    margin-top: 25px !important;
}

.cookie-preferences-actions button {
    flex: none !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 58px !important;
    padding: 13px 12px !important;
    border-radius: 12px !important;
    font-size: .9rem !important;
    font-weight: 750 !important;
    line-height: 1.35 !important;
    white-space: normal !important;
    transition:
        background-color .15s ease,
        border-color .15s ease,
        transform .15s ease !important;
}

#cookie-analytics-on,
#cookie-analytics-off {
    background: #116a83 !important;
    color: #ffffff !important;
    border: 2px solid #71d9f5 !important;
}

#cookie-analytics-on:hover,
#cookie-analytics-off:hover {
    background: #1786a5 !important;
    transform: translateY(-1px);
}

.cookie-preferences-actions button:focus-visible {
    outline: 3px solid #ffffff !important;
    outline-offset: 3px !important;
}

@media (max-width: 480px) {
    .cookie-preferences-notice:not([hidden]) {
        padding: 14px !important;
    }

    .cookie-preferences-panel {
        padding: 23px 18px !important;
    }

    .cookie-preferences-actions {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }

    .cookie-preferences-actions button {
        min-height: 52px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .cookie-preferences-actions button {
        transition: none !important;
    }
}


/* camber-consent-contrasting-buttons-20261026 */
/* Restore the Camber Components dark / cyan button design. */

#cookie-analytics-off {
    background: #101820 !important;
    color: #f3f7fa !important;
    border: 2px solid #637787 !important;
}

#cookie-analytics-on {
    background: #18c8f5 !important;
    color: #06131b !important;
    border: 2px solid #18c8f5 !important;
}

#cookie-analytics-off:hover {
    background: #23323e !important;
    border-color: #a2b5c3 !important;
}

#cookie-analytics-on:hover {
    background: #63dcfa !important;
    border-color: #63dcfa !important;
}


/* camber-analytics-teal-button-20261026 */
/* Match the approved dark teal analytics button. */

.cookie-preferences-actions #cookie-analytics-on {
    background: #1b5675 !important;
    border: 1px solid #70d5f5 !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

.cookie-preferences-actions #cookie-analytics-on:hover {
    background: #247195 !important;
    border-color: #85e0fa !important;
}

