:root {
    --ra-red: #e31b23;
    --ra-red2: #b80f16;
    --ra-ink: #0b0f14;
    --ra-slate: #1a2430;
    --ra-muted: #6a7a8a;
    --ra-bg: #f4f6f8;
    --ra-card: #ffffff;
    --ra-line: rgba(12,20,30,.12);
    --ra-radius: 18px;
    --ra-shadow: 0 12px 34px rgba(0,0,0,.14);
    --ra-max: 1180px;
}

* {
    box-sizing: border-box
}

html, body {
    height: 100%
}

body {
    margin: 0;
    font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
    color: var(--ra-ink);
    background: var(--ra-bg);
}

a {
    color: inherit;
    text-decoration: none
}

img {
    max-width: 100%;
    display: block
}

.ra-shell {
    min-height: 100vh;
    display: flex;
    flex-direction: column
}

.ra-container {
    max-width: var(--ra-max);
    margin: 0 auto;
    padding: 0 22px
}

.ra-section {
    padding: 70px 0
}

.ra-section--tight {
    padding: 44px 0
}

.ra-section--flush {
    padding: 0;
}

.ra-h2 {
    font-size: 32px;
    font-weight: 900;
    letter-spacing: .02em;
    margin: 0 0 18px 0;
    text-transform: uppercase;
}

.ra-kicker {
    display: inline-flex;
    gap: 10px;
    align-items: center;
    font-weight: 900;
    letter-spacing: .18em;
    text-transform: uppercase;
    font-size: 12px;
    color: var(--ra-red);
}

    .ra-kicker::after {
        content: "";
        width: 46px;
        height: 3px;
        border-radius: 99px;
        background: var(--ra-red);
        display: inline-block;
        transform: translateY(1px);
    }

.ra-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 18px;
    border-radius: 999px;
    font-weight: 900;
    letter-spacing: .10em;
    text-transform: uppercase;
    font-size: 12px;
    border: 1px solid transparent;
    cursor: pointer;
    user-select: none;
}

.ra-btn--primary {
    background: var(--ra-red);
    color: #fff
}

    .ra-btn--primary:hover {
        background: var(--ra-red2)
    }

.ra-btn--ghost {
    background: rgba(255,255,255,.12);
    border-color: rgba(255,255,255,.22);
    color: #fff
}

.ra-btn--light {
    background: #fff;
    border-color: var(--ra-line);
    color: var(--ra-ink)
}

    .ra-btn--light:hover {
        border-color: rgba(12,20,30,.22)
    }

.ra-card {
    background: var(--ra-card);
    border: 1px solid var(--ra-line);
    border-radius: var(--ra-radius);
    box-shadow: 0 10px 28px rgba(0,0,0,.08);
}

/* Top nav */
.ra-nav {
    position: sticky;
    top: 0;
    z-index: 50;
    background: rgba(255,255,255,.92);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid var(--ra-line);
}

.ra-nav-inner {
    height: 74px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.ra-brand {
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 1000;
    letter-spacing: .06em;
}

.ra-brand-mark {
    height: 28px;
    width: auto;
}

.ra-nav-links {
    display: flex;
    align-items: center;
    gap: 18px;
    color: #16212c;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
    font-size: 12px;
}

    .ra-nav-links > a,
    .ra-nav-dropdown__trigger {
        opacity: .85
    }

        .ra-nav-links > a:hover,
        .ra-nav-dropdown__trigger:hover {
            opacity: 1
        }

.ra-nav-dropdown {
    position: relative;
}

.ra-nav-dropdown__menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    padding-top: 10px;
    min-width: 200px;
    z-index: 60;
    background: #fff;
    border: 1px solid var(--ra-line);
    border-radius: 10px;
    box-shadow: 0 8px 24px rgba(0,0,0,.12);
}

    .ra-nav-dropdown__menu a {
        display: block;
        padding: 10px 18px;
        font-size: 12px;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: .06em;
        color: var(--ra-ink);
        opacity: 1 !important;
    }

        .ra-nav-dropdown__menu a:hover {
            background: var(--ra-bg);
            color: var(--ra-red);
        }

.ra-nav-dropdown:hover .ra-nav-dropdown__menu {
    display: block;
}

.ra-nav-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

/* Hero */
/* Hero video background */
.ra-hero {
    position: relative;
    min-height: 520px;
    display: flex;
    align-items: center;
    overflow: hidden;
    background: #0b0f14;
}

.ra-hero-video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
}

/* dark gradient overlay (very important for readability) */
.ra-hero-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: radial-gradient(900px 420px at 70% 30%, rgba(227,27,35,.28), transparent 60%), linear-gradient(90deg, rgba(11,15,20,.88) 0%, rgba(11,15,20,.55) 55%, rgba(11,15,20,.90) 100%);
}

.ra-hero-content {
    position: relative;
    z-index: 2;
    max-width: 720px;
    color: #fff;
    padding: 64px 0;
}


.ra-hero-title {
    font-size: 44px;
    line-height: 1.04;
    margin: 10px 0 10px;
    font-weight: 1000;
    text-transform: uppercase;
}

.ra-hero-sub {
    margin: 0 0 22px;
    color: rgba(255,255,255,.82);
    max-width: 640px;
}

.ra-hero-cta {
    display: flex;
    gap: 12px;
    flex-wrap: wrap
}

/* Stat strip */
.ra-stats {
    margin-top: -36px;
    position: relative;
    z-index: 3;
}

.ra-stats-inner {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    padding: 14px;
    background: #fff;
    border-radius: 22px;
    border: 1px solid var(--ra-line);
    box-shadow: var(--ra-shadow);
}

.ra-stat {
    padding: 12px 14px;
    border-radius: 16px;
    background: linear-gradient(180deg, #fff, #fbfbfc);
    border: 1px solid rgba(12,20,30,.08);
    text-align: center;
}

    .ra-stat strong {
        display: block;
        font-size: 20px;
        font-weight: 1000;
    }

    .ra-stat span {
        display: block;
        margin-top: 2px;
        font-size: 11px;
        letter-spacing: .14em;
        text-transform: uppercase;
        color: var(--ra-muted);
    }
/* StatStrip (matches screenshot) */
.ra-statstrip {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
    align-items: stretch;
}

.ra-statbox {
    background: #fff;
    border: 1px solid rgba(12,20,30,.18);
    box-shadow: 0 10px 18px rgba(0,0,0,.10);
    padding: 16px 10px 14px;
    text-align: center;
}

.ra-statbox__value {
    font-weight: 1000;
    font-style: italic;
    letter-spacing: -.02em;
    font-size: 46px;
    line-height: 1;
    margin-bottom: 10px;
}

.ra-statbox__value--red {
    color: var(--ra-red);
}

.ra-statbox__value--blue {
    color: #143a63;
}
/* deep navy like screenshot */

.ra-statbox__label {
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #111;
}

/* responsive */
@media (max-width: 980px) {
    .ra-statstrip {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 560px) {
    .ra-statstrip {
        grid-template-columns: 1fr;
    }
}

/* Product category row */
.ra-prod-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}

.ra-prod {
    position: relative;
    overflow: hidden;
    border-radius: 18px;
    border: 1px solid var(--ra-line);
    background: #0b0f14;
    min-height: 210px;
}

    .ra-prod .bg {
        position: absolute;
        inset: 0;
        background-size: cover;
        background-position: center;
        filter: grayscale(.05) contrast(1.06);
        opacity: .82;
    }

    .ra-prod .overlay {
        position: absolute;
        inset: 0;
        background: linear-gradient(180deg, rgba(11,15,20,.10), rgba(11,15,20,.84));
    }

    .ra-prod .label {
        position: absolute;
        left: 14px;
        bottom: 14px;
        right: 14px;
        color: #fff;
        font-weight: 1000;
        text-transform: uppercase;
        letter-spacing: .08em;
        display: flex;
        align-items: flex-end;
        justify-content: space-between;
        gap: 10px;
    }

        .ra-prod .label small {
            display: block;
            font-weight: 800;
            color: rgba(255,255,255,.76);
            letter-spacing: .16em;
            font-size: 10px;
        }
/* Product category row (matches screenshot style) */
.ra-prodrow {
    display: grid;
    grid-template-columns: 160px 1fr;
    gap: 22px;
    align-items: stretch;
}

.ra-prodrow__label {
    position: relative;
    background: #e9ecef;
    border-radius: 0;
    overflow: hidden;
    /* subtle angled background like the screenshot */
    clip-path: polygon(0 0, 92% 0, 100% 50%, 92% 100%, 0 100%);
    border: 1px solid rgba(12,20,30,.10);
}

.ra-prodrow__label-inner {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    padding: 18px 18px;
}

.ra-prodrow__label-top,
.ra-prodrow__label-bottom {
    font-weight: 1000;
    text-transform: uppercase;
    letter-spacing: .02em;
    color: #0b0f14;
    font-style: italic;
}

.ra-prodrow__label-top {
    font-size: 18px;
    line-height: 1;
}

.ra-prodrow__label-bottom {
    font-size: 22px;
    line-height: 1.05;
    margin-top: 2px;
}

.ra-prodrow__slashes {
    margin-top: 12px;
    width: 46px;
    height: 10px;
    position: relative;
}

    .ra-prodrow__slashes::before,
    .ra-prodrow__slashes::after {
        content: "";
        position: absolute;
        top: 0;
        width: 18px;
        height: 4px;
        background: var(--ra-red);
        transform: skewX(-25deg);
        border-radius: 2px;
    }

    .ra-prodrow__slashes::before {
        left: 0;
    }

    .ra-prodrow__slashes::after {
        left: 22px;
        opacity: .95;
    }

/* cards */
.ra-prodrow__cards {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
}

.ra-prodposter {
    position: relative;
    height: 210px;
    border-radius: 0;
    overflow: hidden;
    border: 1px solid rgba(12,20,30,.14);
    background: #0b0f14;
    box-shadow: 0 10px 22px rgba(0,0,0,.12);
}

.ra-prodposter__bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    filter: contrast(1.05) saturate(1.05);
    opacity: .92;
}

.ra-prodposter__shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,.12) 0%, rgba(0,0,0,.78) 100%);
}

.ra-prodposter__content {
    position: absolute;
    inset: 0;
    padding: 16px 14px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    gap: 8px;
    color: #fff;
}

.ra-prodposter__title {
    font-weight: 1000;
    text-transform: uppercase;
    letter-spacing: .04em;
    font-style: italic;
    line-height: 1.0;
    font-size: 15px;
}

.ra-prodposter__desc {
    font-size: 11px;
    line-height: 1.35;
    color: rgba(255,255,255,.78);
    max-width: 220px;
}

.ra-prodposter__accent {
    width: 42px;
    height: 4px;
    background: var(--ra-red);
    transform: skewX(-25deg);
    border-radius: 2px;
    margin-top: 4px;
}

/* hover */
.ra-prodposter:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 28px rgba(0,0,0,.16);
}

.ra-prodposter {
    transition: transform .18s ease, box-shadow .18s ease;
}

/* responsive */
@media (max-width: 980px) {
    .ra-prodrow {
        grid-template-columns: 1fr;
    }

    .ra-prodrow__label {
        clip-path: none;
        border-radius: 14px;
    }

    .ra-prodrow__cards {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 560px) {
    .ra-prodrow__cards {
        grid-template-columns: 1fr;
    }

    .ra-prodposter {
        height: 190px;
    }
}

/* Sport mosaic */
.ra-mosaic {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 10px;
}

.ra-tile {
    position: relative;
    border-radius: 18px;
    overflow: hidden;
    min-height: 160px;
    border: 1px solid rgba(255,255,255,.10);
    background: #0b0f14;
}

    .ra-tile .bg {
        position: absolute;
        inset: 0;
        background-size: cover;
        background-position: center;
        opacity: .92
    }

    .ra-tile .shade {
        position: absolute;
        inset: 0;
        background: linear-gradient(180deg, rgba(0,0,0,.05), rgba(0,0,0,.45))
    }

    .ra-tile .t {
        position: absolute;
        left: 16px;
        bottom: 14px;
        color: #fff;
        font-weight: 1000;
        text-transform: uppercase;
        letter-spacing: .10em;
    }

.ra-tile--viewall {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border: 1px solid var(--ra-line);
}

    .ra-tile--viewall .t {
        position: static;
        color: var(--ra-red);
        font-size: 14px;
    }

/* CTA band */
.ra-cta-band {
    background: #fff;
    border-top: 1px solid var(--ra-line);
    border-bottom: 1px solid var(--ra-line);
}

.ra-cta-band-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    flex-wrap: wrap;
}

.ra-cta-band h3 {
    margin: 0;
    font-size: 18px;
    font-weight: 1000;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.ra-cta-band p {
    margin: 6px 0 0;
    color: var(--ra-muted)
}

/* Mission band */
/* Band with video background */
.ra-band {
    position: relative;
    border-radius: 22px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.10);
    background: #0b0f14;
    box-shadow: 0 14px 32px rgba(0,0,0,.18);
}

/* video layer */
.ra-band-video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
}

/* dark overlay for readability */
.ra-band .shade {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient( 90deg, rgba(11,15,20,.88) 0%, rgba(11,15,20,.48) 55%, rgba(11,15,20,.90) 100% );
}

/* text/content */
.ra-band .content {
    position: relative;
    z-index: 2;
    padding: 44px;
    max-width: 760px;
    color: #fff;
}

    .ra-band .content h3 {
        margin: 0 0 10px;
        font-size: 26px;
        font-weight: 1000;
        text-transform: uppercase;
    }

    .ra-band .content p {
        margin: 0;
        color: rgba(255,255,255,.82);
    }


/* Why cards */
/* Why Race America background */
.ra-why-bg {
    position: relative;
    background-image: url('/images/Vector3.png');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}

    /* optional: darken slightly for contrast */
    .ra-why-bg::before {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient( 180deg, rgba(11,15,20,.55), rgba(11,15,20,.75) );
        z-index: 0;
    }

    /* keep content above overlay */
    .ra-why-bg > .ra-container {
        position: relative;
        z-index: 1;
    }
.ra-why-wrap {
    background: linear-gradient(180deg, #10161d, #0b0f14);
    color: #fff;
}

.ra-why-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin-top: 18px;
}

.ra-why-card {
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 18px;
    padding: 18px;
}

.ra-why-icon {
    width: 44px;
    height: 44px;
    border-radius: 14px;
    background: rgba(227,27,35,.18);
    border: 1px solid rgba(227,27,35,.35);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 1000;
    margin-bottom: 12px;
}

.ra-why-card h4 {
    margin: 0 0 6px;
    font-weight: 1000;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.ra-why-card p {
    margin: 0;
    color: rgba(255,255,255,.78);
    font-size: 13px;
    line-height: 1.4
}
/* WHY section – angled panel + cards (matches screenshot) */
.ra-why2 {
    position: relative;
    overflow: hidden;
    background: #fff;
    padding: 78px 0 64px;
}

/* background image */
.ra-why2__bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    filter: saturate(1.05) contrast(1.05);
    opacity: 1;
    z-index: 0;
}

/* angled overlay panel */
.ra-why2__panel {
    position: absolute;
    left: -10%;
    right: -10%;
    top: 18px;
    height: 210px;
    background: rgba(0,0,0,.35);
    transform: skewY(-8deg);
    transform-origin: left top;
    z-index: 1;
}

/* keep all content above bg + panel */
.ra-why2__inner {
    position: relative;
    z-index: 2;
}

/* header */
.ra-why2__head {
    max-width: 340px;
    margin-bottom: 14px;
}

.ra-why2__kicker {
    color: #fff;
    font-weight: 1000;
    text-transform: uppercase;
    letter-spacing: .06em;
    font-style: italic;
    line-height: 1.05;
    font-size: 22px;
    text-shadow: 0 10px 18px rgba(0,0,0,.35);
}

.ra-why2__slashes {
    margin-top: 10px;
    width: 52px;
    height: 10px;
    position: relative;
}

    .ra-why2__slashes::before,
    .ra-why2__slashes::after {
        content: "";
        position: absolute;
        top: 0;
        width: 18px;
        height: 4px;
        background: var(--ra-red);
        transform: skewX(-25deg);
        border-radius: 2px;
    }

    .ra-why2__slashes::before {
        left: 0;
    }

    .ra-why2__slashes::after {
        left: 22px;
    }

/* cards row */
.ra-why2__cards {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin-top: 18px;
}

/* card style */
.ra-why2__card {
    position: relative;
    background: #fff;
    border: 1px solid rgba(12,20,30,.14);
    box-shadow: 0 14px 26px rgba(0,0,0,.10);
    padding: 44px 18px 18px;
    min-height: 220px;
}

/* red icon circle overlapping top */
.ra-why2__icon {
    position: absolute;
    top: -22px;
    left: 18px;
    width: 52px;
    height: 52px;
    border-radius: 999px;
    background: var(--ra-red);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    box-shadow: 0 14px 24px rgba(227,27,35,.28);
}

.ra-why2__card h4 {
    margin: 0 0 10px;
    font-weight: 1000;
    text-transform: uppercase;
    letter-spacing: .06em;
    font-size: 12px;
    color: #0b0f14;
}

.ra-why2__card p {
    margin: 0;
    color: #334455;
    font-size: 12px;
    line-height: 1.45;
}

/* bottom-left red accent wedge */
.ra-why2__bottomAccent {
    position: absolute;
    left: -40px;
    bottom: -64px;
    width: 240px;
    height: 240px;
    background: var(--ra-red);
    transform: rotate(35deg);
    z-index: 1;
    opacity: 1;
}

/* Background video band */
.ra-bgvideo-section {
    position: relative;
    width: 100%;
    height: 300px;
    overflow: hidden;
}

.ra-bgvideo {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    transform: translate(-50%, -50%);
    object-fit: cover;
}

/* responsive */
@media (max-width: 980px) {
    .ra-why2__panel {
        height: 260px;
    }

    .ra-why2__cards {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 560px) {
    .ra-why2 {
        padding: 64px 0 52px;
    }

    .ra-why2__cards {
        grid-template-columns: 1fr;
    }

    .ra-why2__panel {
        height: 300px;
    }
}

/* Bestsellers */
.ra-bestsellers-section {
    position: relative;
    overflow: hidden;
}

.ra-bestsellers-section > .ra-container {
    max-width: 1400px;
}

.ra-bestsellers-deco {
    position: absolute;
    top: -20px;
    left: -60px;
    width: 280px;
    height: 110%;
    background: var(--ra-red);
    clip-path: polygon(0 0, 80% 0, 100% 50%, 80% 100%, 0 100%);
    z-index: 0;
}

.ra-bestsellers-deco::after {
    content: "";
    position: absolute;
    top: 20px;
    left: 30px;
    width: 100%;
    height: calc(100% - 40px);
    background: var(--ra-red2);
    clip-path: polygon(0 0, 80% 0, 100% 50%, 80% 100%, 0 100%);
}

.ra-bestsellers-heading {
    font-size: 34px;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
    margin: 0 0 24px 0;
    text-align: right;
    position: relative;
    z-index: 1;
}

.ra-accent-slashes {
    color: var(--ra-red);
    font-weight: 900;
    font-style: italic;
    letter-spacing: .02em;
}

.ra-bestsellers {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-top: 18px;
    position: relative;
    z-index: 1;
}

/* Carousel */
.ra-carousel {
    position: relative;
    z-index: 1;
    margin-top: 18px;
    overflow: hidden;
}

.ra-carousel__track {
    display: flex;
    gap: 20px;
    transition: transform .45s cubic-bezier(.4,0,.2,1);
}

.ra-carousel__slide {
    min-width: calc((100% - 40px) / 3);
    flex-shrink: 0;
}

.ra-carousel__btn {
    position: absolute;
    top: 50%;
    transform: translateY(-70%);
    z-index: 2;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: 2px solid rgba(255,255,255,.25);
    background: rgba(11,15,20,.85);
    color: #fff;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .2s, border-color .2s;
}

.ra-carousel__btn:hover {
    background: var(--ra-red);
    border-color: var(--ra-red);
}

.ra-carousel__btn--prev { left: 8px; }
.ra-carousel__btn--next { right: 8px; }

.ra-carousel__dots {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 18px;
}

.ra-carousel__dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    border: 2px solid rgba(255,255,255,.3);
    background: transparent;
    cursor: pointer;
    padding: 0;
    transition: background .2s, border-color .2s;
}

.ra-carousel__dot.active,
.ra-carousel__dot:hover {
    background: var(--ra-red);
    border-color: var(--ra-red);
}

.ra-product-card {
    overflow: hidden
}

    .ra-product-card .thumb {
        height: 210px;
        background: #0b0f14;
        background-size: cover;
        background-position: center
    }

    .ra-product-card .body {
        padding: 18px
    }

    .ra-product-card .category {
        font-size: 11px;
        font-weight: 800;
        text-transform: uppercase;
        letter-spacing: .14em;
        color: var(--ra-muted);
        margin-bottom: 6px;
    }

    .ra-product-card h4 {
        margin: 0 0 8px;
        font-weight: 1000;
        text-transform: uppercase;
        letter-spacing: .04em;
        font-size: 16px;
    }

    .ra-product-card p {
        margin: 0 0 16px;
        color: var(--ra-muted);
        font-size: 13px;
        line-height: 1.5;
    }

    .ra-product-card .actions {
        display: flex;
        gap: 10px
    }

/* Catalog CTA */
.ra-catalog {
    display: flex;
    align-items: center;
    background: #0b0f14;
    overflow: hidden;
    border-radius: 0;
}

    .ra-catalog__media {
        flex: 0 0 42%;
        padding: 32px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

        .ra-catalog__media img {
            max-width: 100%;
            height: auto;
        }

    .ra-catalog__content {
        flex: 1;
        padding: 40px 48px 40px 16px;
        color: #fff;
    }

    .ra-catalog h3 {
        margin: 0 0 10px;
        font-size: 26px;
        font-weight: 900;
    }

        .ra-catalog h3 em {
            font-style: italic;
        }

    .ra-catalog__subtitle {
        margin: 0 0 4px;
        font-weight: 700;
        font-size: 14px;
        color: rgba(255,255,255,.9);
    }

    .ra-catalog p {
        margin: 0 0 14px;
        color: rgba(255,255,255,.75);
        font-size: 14px;
        line-height: 1.6;
    }

    .ra-catalog__download-note {
        font-style: italic;
        color: rgba(255,255,255,.65) !important;
    }

    .ra-catalog__form {
        display: flex;
        margin-top: 8px;
    }

    .ra-catalog__input {
        flex: 1;
        padding: 14px 20px;
        background: rgba(255,255,255,.08);
        border: 1px solid rgba(255,255,255,.18);
        color: rgba(255,255,255,.5);
        font-size: 12px;
        font-weight: 700;
        letter-spacing: .14em;
        text-transform: uppercase;
        outline: none;
    }

        .ra-catalog__input:focus {
            border-color: rgba(255,255,255,.4);
            color: #fff;
        }

    .ra-catalog__btn {
        border-radius: 0;
        padding: 14px 32px;
        font-size: 13px;
        clip-path: polygon(8% 0, 100% 0, 100% 100%, 0 100%);
    }

/* Software solutions */
.ra-soft-section {
    position: relative;
    overflow: hidden;
}

.ra-soft-accent {
    position: absolute;
    top: -30px;
    right: -40px;
    width: 260px;
    height: 260px;
    background: var(--ra-red);
    clip-path: polygon(20% 0, 100% 0, 100% 100%, 50% 100%);
    z-index: 0;
}

.ra-soft-heading {
    font-size: 34px;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
    margin: 0 0 28px 0;
    text-align: center;
    position: relative;
    z-index: 1;
}

.ra-soft {
    display: grid;
    grid-template-columns: 1.1fr .9fr;
    gap: 24px;
    align-items: center;
    position: relative;
    z-index: 1;
}

.ra-soft-list {
    padding: 0;
}

.ra-soft-item {
    padding: 16px 20px;
    margin-bottom: 12px;
    background: #fff;
    border-left: 4px solid;
    border-image: linear-gradient(to bottom, var(--ra-red), var(--ra-slate)) 1;
    box-shadow: 0 2px 8px rgba(0,0,0,.06);
    position: relative;
}

    .ra-soft-item::before {
        content: "";
        position: absolute;
        left: -4px;
        top: 0;
        width: 8px;
        height: 100%;
        background: linear-gradient(135deg, var(--ra-red) 0%, var(--ra-slate) 100%);
        clip-path: polygon(0 0, 100% 8%, 100% 92%, 0 100%);
    }

    .ra-soft-item h4 {
        margin: 0 0 4px;
        font-weight: 900;
        font-size: 15px;
        letter-spacing: .02em;
    }

    .ra-soft-item p {
        margin: 0;
        color: var(--ra-muted);
        font-size: 13px;
        line-height: 1.5;
    }

.ra-soft-link {
    color: var(--ra-red);
    font-weight: 700;
    font-size: 12px;
    letter-spacing: .04em;
    white-space: nowrap;
}

    .ra-soft-link:hover {
        color: var(--ra-red2);
    }

.ra-soft-media {
    display: flex;
    align-items: center;
    justify-content: center;
}

    .ra-soft-media img {
        max-width: 100%;
        height: auto;
    }

/* Partners */
.ra-partners {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
    align-items: center;
    justify-content: center;
    opacity: .92;
    padding-top: 10px;
}

    .ra-partners img {
        height: 34px;
        width: auto;
        filter: grayscale(1) contrast(1.05);
        opacity: .85;
    }

        .ra-partners img:hover {
            opacity: 1
        }

/* Questions band */
.ra-questions {
    position: relative;
    border-radius: 22px;
    overflow: hidden;
    background: #0b0f14;
    border: 1px solid rgba(255,255,255,.12);
}

    .ra-questions .bg {
        position: absolute;
        inset: 0;
        background-size: cover;
        background-position: center;
        opacity: .70
    }

    .ra-questions .shade {
        position: absolute;
        inset: 0;
        background: linear-gradient(90deg, rgba(11,15,20,.55), rgba(11,15,20,.25))
    }

    .ra-questions .content {
        position: relative;
        padding: 34px;
        color: #fff;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 14px;
        flex-wrap: wrap
    }

    .ra-questions h3 {
        margin: 0;
        font-size: 18px;
        font-weight: 1000;
        text-transform: uppercase;
        letter-spacing: .06em
    }

    .ra-questions p {
        margin: 6px 0 0;
        color: rgba(255,255,255,.82)
    }

/* Footer */
.ra-footer {
    background: #0b0f14;
    color: rgba(255,255,255,.80);
    border-top: 1px solid rgba(255,255,255,.10);
    margin-top: auto;
}

    .ra-footer .grid {
        display: grid;
        grid-template-columns: 1.2fr 1fr 1fr 1fr;
        gap: 16px;
        padding: 38px 0;
    }

    .ra-footer h4 {
        margin: 0 0 10px;
        font-size: 12px;
        letter-spacing: .16em;
        text-transform: uppercase;
        color: #fff;
    }

    .ra-footer a {
        display: block;
        padding: 6px 0;
        color: rgba(255,255,255,.72)
    }

        .ra-footer a:hover {
            color: #fff
        }

    .ra-footer .bottom {
        border-top: 1px solid rgba(255,255,255,.10);
        padding: 14px 0;
        font-size: 12px;
        display: flex;
        justify-content: space-between;
        gap: 12px;
        flex-wrap: wrap;
    }

/* Responsive */
@media (max-width: 980px) {
    .ra-stats-inner {
        grid-template-columns: repeat(2, 1fr)
    }

    .ra-prod-grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .ra-why-grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .ra-bestsellers {
        grid-template-columns: 1fr
    }

    .ra-carousel__slide {
        min-width: 100%;
    }

    .ra-bestsellers-deco {
        width: 180px;
        left: -80px;
    }

    .ra-bestsellers-heading {
        font-size: 24px;
        text-align: center;
    }

    .ra-catalog {
        flex-direction: column;
    }

    .ra-catalog__media {
        flex: none;
        width: 100%;
        padding: 24px;
    }

    .ra-catalog__content {
        padding: 24px;
    }

    .ra-soft {
        grid-template-columns: 1fr
    }

    .ra-soft-heading {
        font-size: 24px;
    }

    .ra-soft-accent {
        width: 160px;
        right: -50px;
    }

    .ra-soft-item {
        margin-left: 0 !important;
    }

    .ra-footer .grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .ra-hero-title {
        font-size: 36px
    }
}

@media (max-width: 560px) {
    .ra-prod-grid {
        grid-template-columns: 1fr
    }

    .ra-why-grid {
        grid-template-columns: 1fr
    }

    .ra-footer .grid {
        grid-template-columns: 1fr
    }
}

/* ═══════════════════════════════════════════
   Products page
   ═══════════════════════════════════════════ */

/* Hero */
.ra-products-hero {
    position: relative;
    min-height: 320px;
    display: flex;
    align-items: center;
    overflow: hidden;
    background: #0b0f14;
}

.ra-products-hero__bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    opacity: .72;
}

.ra-products-hero__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(11,15,20,.88) 0%, rgba(11,15,20,.45) 55%, rgba(11,15,20,.80) 100%);
}

.ra-products-hero__content {
    position: relative;
    z-index: 2;
    max-width: 720px;
    color: #fff;
    padding: 54px 0;
}

.ra-products-hero__title {
    font-size: 40px;
    line-height: 1.06;
    margin: 10px 0 10px;
    font-weight: 1000;
    text-transform: uppercase;
}

.ra-products-hero__sub {
    margin: 0;
    color: rgba(255,255,255,.82);
    max-width: 600px;
    font-size: 15px;
}

/* Category section */
.ra-products-cat-section {
    padding-top: 48px;
    padding-bottom: 56px;
}

/* Decorative RA chevrons */
.ra-products-chevrons {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0;
    margin-bottom: 32px;
}

.ra-products-chevron {
    width: 180px;
    height: 18px;
    clip-path: polygon(12% 0, 100% 0, 88% 100%, 0 100%);
}

.ra-products-chevron--dark {
    background: rgba(0,0,0,.76);
    transform: translateX(-40px);
}

.ra-products-chevron--red {
    background: #c50000;
    transform: translateX(10px);
    margin-top: -2px;
}

.ra-products-chevron--red2 {
    background: #c50000;
    transform: translateX(-18px);
    margin-top: -2px;
}

/* Product cards grid (3-col) */
.ra-products-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
    margin-top: 28px;
}

/* Navy button variant (matches design) */
.ra-btn--navy {
    background: #082e5a;
    color: #fff;
}

    .ra-btn--navy:hover {
        background: #0a3a72;
    }

/* Active category tile highlight */
.ra-prodposter--active {
    outline: 3px solid var(--ra-red);
    outline-offset: -3px;
}

/* Category filter pills */
.ra-type-categories {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-top: 24px;
}

.ra-type-categories__label {
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--ra-muted);
    margin-right: 4px;
}

.ra-type-cat-btn {
    padding: 6px 16px;
    border-radius: 20px;
    border: 1px solid var(--ra-line);
    background: transparent;
    color: var(--ra-muted);
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: all .2s;
}

.ra-type-cat-btn:hover {
    border-color: var(--ra-red);
    color: var(--ra-ink);
}

.ra-type-cat-btn.active {
    background: var(--ra-red);
    border-color: var(--ra-red);
    color: #fff;
}

/* Banner separator between category sections */
.ra-products-banner {
    position: relative;
    width: 100%;
    height: 280px;
    overflow: hidden;
}

.ra-products-banner__bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
}

.ra-products-banner__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.28);
}

/* Responsive – products page */
@media (max-width: 980px) {
    .ra-products-hero__title {
        font-size: 32px;
    }

    .ra-products-grid {
        grid-template-columns: 1fr;
    }

    .ra-products-chevrons {
        margin-bottom: 22px;
    }

    .ra-products-chevron {
        width: 140px;
        height: 14px;
    }

    .ra-products-banner {
        height: 200px;
    }
}

@media (max-width: 560px) {
    .ra-products-hero {
        min-height: 240px;
    }

    .ra-products-hero__title {
        font-size: 26px;
    }

    .ra-products-chevron {
        width: 110px;
        height: 12px;
    }
}

/* ═══════════════════════════════════════════
   Software page
   ═══════════════════════════════════════════ */

/* Hero */
.ra-sw-hero {
    position: relative;
    min-height: 320px;
    display: flex;
    align-items: center;
    overflow: hidden;
    background: #0b0f14;
}

.ra-sw-hero__bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    opacity: .65;
}

.ra-sw-hero__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(11,15,20,.90) 0%, rgba(11,15,20,.50) 55%, rgba(11,15,20,.82) 100%);
}

.ra-sw-hero__content {
    position: relative;
    z-index: 2;
    max-width: 720px;
    color: #fff;
    padding: 54px 0;
}

.ra-sw-hero__title {
    font-size: 40px;
    line-height: 1.06;
    margin: 10px 0 10px;
    font-weight: 1000;
    text-transform: uppercase;
}

.ra-sw-hero__sub {
    margin: 0;
    color: rgba(255,255,255,.82);
    max-width: 600px;
    font-size: 15px;
}

/* Intro split: text + image */
.ra-sw-intro {
    display: grid;
    grid-template-columns: 1.1fr .9fr;
    gap: 40px;
    align-items: center;
}

.ra-sw-intro__text p {
    color: var(--ra-muted);
    line-height: 1.6;
    margin: 10px 0 0;
}

.ra-sw-intro__media {
    display: flex;
    align-items: center;
    justify-content: center;
}

    .ra-sw-intro__media img {
        max-width: 100%;
        height: auto;
    }

/* Software cards grid (3-col, reuses product card styles) */
.ra-sw-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
    margin-top: 22px;
}

/* Feature tags (pill badges on cards) */
.ra-sw-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 14px;
}

.ra-sw-tag {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 4px;
    background: #e5e7eb;
    border: 1px solid #e5e7eb;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .04em;
    color: var(--ra-ink);
}

/* Feature highlight (two-col: image + text) */
.ra-sw-feature {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: 40px;
    align-items: center;
}

.ra-sw-feature--reverse {
    grid-template-columns: 1.1fr .9fr;
}

.ra-sw-feature__media {
    display: flex;
    align-items: center;
    justify-content: center;
}

    .ra-sw-feature__media img {
        max-width: 100%;
        height: auto;
        border-radius: 10px;
    }

.ra-sw-feature__text p {
    color: var(--ra-muted);
    line-height: 1.6;
    margin: 10px 0 0;
}

/* CTA section (image + text) */
.ra-sw-cta {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: 40px;
    align-items: center;
}

.ra-sw-cta__media {
    display: flex;
    align-items: center;
    justify-content: center;
}

    .ra-sw-cta__media img {
        max-width: 100%;
        height: auto;
    }

.ra-sw-cta__text p {
    color: var(--ra-muted);
    line-height: 1.6;
    margin: 10px 0 0;
}

/* Responsive – software page */
@media (max-width: 980px) {
    .ra-sw-hero__title {
        font-size: 32px;
    }

    .ra-sw-intro {
        grid-template-columns: 1fr;
    }

    .ra-sw-grid {
        grid-template-columns: 1fr;
    }

    .ra-sw-feature,
    .ra-sw-feature--reverse {
        grid-template-columns: 1fr;
    }

    .ra-sw-cta {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 560px) {
    .ra-sw-hero {
        min-height: 240px;
    }

    .ra-sw-hero__title {
        font-size: 26px;
    }
}

/* ═══════════════════════════════════════════
   Support page
   ═══════════════════════════════════════════ */

/* Hero with search */
.ra-sup-hero {
    position: relative;
    min-height: 360px;
    display: flex;
    align-items: center;
    overflow: hidden;
    background: #082e5a;
}

.ra-sup-hero__bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    opacity: .40;
}

.ra-sup-hero__overlay {
    position: absolute;
    inset: 0;
    background: rgba(8,46,90,.74);
}

.ra-sup-hero__content {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 700px;
    margin: 0 auto;
    text-align: center;
    color: #fff;
    padding: 48px 0;
}

.ra-sup-hero__title {
    font-size: 38px;
    font-weight: 1000;
    text-transform: uppercase;
    margin: 0 0 22px;
}

/* Search bar */
.ra-sup-search {
    margin-bottom: 16px;
}

.ra-sup-search__input {
    width: 100%;
    max-width: 576px;
    padding: 14px 24px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.30);
    background: #fff;
    font-size: 14px;
    color: var(--ra-ink);
    outline: none;
}

    .ra-sup-search__input::placeholder {
        color: var(--ra-muted);
    }

    .ra-sup-search__input:focus {
        border-color: var(--ra-red);
        box-shadow: 0 0 0 3px rgba(227,27,35,.18);
    }

/* Category tabs */
.ra-sup-tabs {
    display: flex;
    justify-content: center;
    gap: 8px;
    flex-wrap: wrap;
}

.ra-sup-tab {
    padding: 7px 16px;
    border-radius: 4px;
    border: 1px solid rgba(255,255,255,.30);
    background: transparent;
    color: rgba(255,255,255,.85);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
    cursor: pointer;
}

    .ra-sup-tab:hover {
        background: rgba(255,255,255,.12);
    }

.ra-sup-tab--active {
    background: rgba(255,255,255,.18);
    border-color: rgba(255,255,255,.50);
    color: #fff;
}

/* Resource tiles (6-col) */
.ra-sup-tiles {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 14px;
}

.ra-sup-tile {
    position: relative;
    height: 230px;
    border-radius: 10px;
    overflow: hidden;
    background: #0b0f14;
    border: 1px solid var(--ra-line);
    box-shadow: 0 8px 20px rgba(0,0,0,.10);
    transition: transform .18s ease, box-shadow .18s ease;
}

    .ra-sup-tile:hover {
        transform: translateY(-3px);
        box-shadow: 0 14px 28px rgba(0,0,0,.16);
    }

.ra-sup-tile__bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    opacity: .85;
}

.ra-sup-tile__shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,.15) 0%, rgba(0,0,0,.75) 100%);
}

.ra-sup-tile__content {
    position: absolute;
    inset: 0;
    padding: 16px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    color: #fff;
}

.ra-sup-tile__icon {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    background: rgba(255,255,255,.18);
    border: 1px solid rgba(255,255,255,.22);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    font-size: 14px;
    margin-bottom: 10px;
}

.ra-sup-tile__title {
    font-weight: 1000;
    text-transform: uppercase;
    letter-spacing: .06em;
    font-size: 13px;
}

/* Contact form section */
.ra-sup-contact {
    position: relative;
    overflow: hidden;
    background: #0b0f14;
}

.ra-sup-contact__bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    opacity: .55;
}

.ra-sup-contact__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.42);
}

.ra-sup-contact__form {
    position: relative;
    z-index: 2;
    max-width: 680px;
    margin: 0 auto;
    padding: 48px 44px;
    background: rgba(35,31,32,.96);
    color: #fff;
}

    .ra-sup-contact__form h2 {
        margin: 0 0 8px;
        font-weight: 1000;
        text-transform: uppercase;
        letter-spacing: .06em;
        font-size: 24px;
    }

    .ra-sup-contact__form > p {
        margin: 0 0 22px;
        color: rgba(255,255,255,.72);
        font-size: 14px;
    }

.ra-sup-form-input {
    display: block;
    width: 100%;
    padding: 12px 18px;
    margin-bottom: 12px;
    border-radius: 4px;
    border: 1px solid #828282;
    background: #fff;
    font-size: 14px;
    color: var(--ra-ink);
    outline: none;
}

    .ra-sup-form-input::placeholder {
        color: var(--ra-muted);
    }

    .ra-sup-form-input:focus {
        border-color: var(--ra-red);
    }

.ra-sup-form-textarea {
    min-height: 100px;
    resize: vertical;
    font-family: inherit;
}

/* Support process steps */
.ra-sup-steps {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 18px;
    margin-top: 28px;
}

.ra-sup-step {
    text-align: center;
}

.ra-sup-step__circle {
    width: 64px;
    height: 64px;
    border-radius: 999px;
    background: #c50000;
    color: #fff;
    font-weight: 1000;
    font-size: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 14px;
    box-shadow: 0 8px 20px rgba(197,0,0,.25);
}

.ra-sup-step h4 {
    margin: 0 0 6px;
    font-weight: 1000;
    text-transform: uppercase;
    letter-spacing: .06em;
    font-size: 13px;
}

.ra-sup-step p {
    margin: 0;
    color: var(--ra-muted);
    font-size: 13px;
    line-height: 1.45;
}

/* System requirements tables */
.ra-sup-tables {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 22px;
    margin-top: 22px;
}

.ra-sup-table-card {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    padding: 22px;
    box-shadow: 0 4px 12px rgba(0,0,0,.06);
}

    .ra-sup-table-card h4 {
        margin: 0 0 14px;
        font-weight: 1000;
        text-transform: uppercase;
        letter-spacing: .06em;
        font-size: 14px;
    }

.ra-sup-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

    .ra-sup-table td {
        padding: 8px 0;
        border-bottom: 1px solid #e5e7eb;
    }

    .ra-sup-table td:first-child {
        font-weight: 700;
        color: var(--ra-ink);
        width: 45%;
    }

    .ra-sup-table td:last-child {
        color: var(--ra-muted);
    }

    .ra-sup-table tr:last-child td {
        border-bottom: none;
    }

/* FAQ */
.ra-sup-faq {
    max-width: 860px;
    margin: 22px auto 0;
}

.ra-sup-faq-item {
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    margin-bottom: 10px;
    background: #fff;
    overflow: hidden;
}

    .ra-sup-faq-item summary {
        padding: 16px 22px;
        font-weight: 900;
        font-size: 14px;
        letter-spacing: .02em;
        cursor: pointer;
        list-style: none;
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

    .ra-sup-faq-item summary::after {
        content: "+";
        font-size: 20px;
        font-weight: 700;
        color: var(--ra-red);
        flex-shrink: 0;
        margin-left: 14px;
    }

    .ra-sup-faq-item[open] summary::after {
        content: "\2212";
    }

    .ra-sup-faq-item summary::-webkit-details-marker {
        display: none;
    }

    .ra-sup-faq-item p {
        margin: 0;
        padding: 0 22px 18px;
        color: var(--ra-muted);
        font-size: 13px;
        line-height: 1.6;
    }

/* Download cards */
.ra-sup-downloads {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
    margin-top: 22px;
}

.ra-sup-dl-card {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    padding: 22px;
    transition: transform .18s ease, box-shadow .18s ease;
}

    .ra-sup-dl-card:hover {
        transform: translateY(-2px);
        box-shadow: 0 10px 22px rgba(0,0,0,.10);
    }

.ra-sup-dl-icon {
    width: 40px;
    height: 40px;
    border-radius: 8px;
    background: var(--ra-bg);
    border: 1px solid #e5e7eb;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    font-size: 11px;
    letter-spacing: .04em;
    color: var(--ra-ink);
    margin-bottom: 12px;
}

.ra-sup-dl-card h4 {
    margin: 0 0 6px;
    font-weight: 900;
    font-size: 14px;
    letter-spacing: .02em;
}

.ra-sup-dl-card p {
    margin: 0;
    color: var(--ra-muted);
    font-size: 12px;
    line-height: 1.5;
}

/* Compatibility strip */
.ra-sup-compat {
    padding: 34px 0;
    background: linear-gradient(180deg, #f8f9fb, #eef0f4);
    border-top: 1px solid #e5e7eb;
    border-bottom: 1px solid #e5e7eb;
}

.ra-sup-compat__inner {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
}

.ra-sup-compat-item {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 18px;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    background: #fff;
    font-weight: 700;
    font-size: 13px;
    color: var(--ra-ink);
}

.ra-sup-compat-icon {
    width: 34px;
    height: 34px;
    border-radius: 999px;
    background: #082e5a;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    font-size: 14px;
    flex-shrink: 0;
}

/* Newsletter */
.ra-sup-newsletter {
    padding: 40px 0;
    background: linear-gradient(180deg, #f4f6f8, #eaecf0);
    border-top: 1px solid #e5e7eb;
}

.ra-sup-newsletter__inner {
    max-width: 860px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
}

    .ra-sup-newsletter__inner h3 {
        margin: 0;
        font-size: 18px;
        font-weight: 1000;
        text-transform: uppercase;
        letter-spacing: .06em;
    }

    .ra-sup-newsletter__inner > div:first-child p {
        margin: 6px 0 0;
        color: var(--ra-muted);
        font-size: 13px;
    }

.ra-sup-newsletter__form {
    display: flex;
    gap: 0;
}

.ra-sup-newsletter__input {
    padding: 12px 18px;
    border: 1px solid #7c7c7c;
    border-right: none;
    border-radius: 4px 0 0 4px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .10em;
    text-transform: uppercase;
    min-width: 260px;
    outline: none;
    color: var(--ra-ink);
}

    .ra-sup-newsletter__input::placeholder {
        color: var(--ra-muted);
    }

    .ra-sup-newsletter__input:focus {
        border-color: var(--ra-red);
    }

.ra-sup-newsletter__form .ra-btn {
    border-radius: 0 4px 4px 0;
}

/* Responsive – support page */
@media (max-width: 980px) {
    .ra-sup-hero__title {
        font-size: 30px;
    }

    .ra-sup-tiles {
        grid-template-columns: repeat(3, 1fr);
    }

    .ra-sup-steps {
        grid-template-columns: repeat(3, 1fr);
    }

    .ra-sup-tables {
        grid-template-columns: 1fr;
    }

    .ra-sup-downloads {
        grid-template-columns: repeat(2, 1fr);
    }

    .ra-sup-compat__inner {
        grid-template-columns: repeat(2, 1fr);
    }

    .ra-sup-newsletter__inner {
        flex-direction: column;
        text-align: center;
    }

    .ra-sup-contact__form {
        padding: 32px 24px;
    }
}

@media (max-width: 560px) {
    .ra-sup-hero {
        min-height: 280px;
    }

    .ra-sup-hero__title {
        font-size: 24px;
    }

    .ra-sup-tiles {
        grid-template-columns: repeat(2, 1fr);
    }

    .ra-sup-tile {
        height: 180px;
    }

    .ra-sup-steps {
        grid-template-columns: 1fr;
    }

    .ra-sup-downloads {
        grid-template-columns: 1fr;
    }

    .ra-sup-compat__inner {
        grid-template-columns: 1fr;
    }

    .ra-sup-newsletter__input {
        min-width: 180px;
    }
}

/* ===== ABOUT PAGE ===== */

.ra-abt-hero {
    position: relative;
    min-height: 260px;
    display: flex;
    align-items: center;
    overflow: hidden;
}

.ra-abt-hero__bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
}

.ra-abt-hero__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.28);
}

.ra-abt-hero__content {
    position: relative;
    color: #fff;
    padding: 60px 0;
    max-width: 680px;
}

.ra-abt-hero__content .ra-kicker {
    color: rgba(255, 255, 255, .7);
}

.ra-abt-hero__title {
    font-size: 2.6rem;
    font-weight: 800;
    line-height: 1.12;
    margin: 10px 0 0;
}

.ra-abt-hero__sub {
    font-size: 1.1rem;
    line-height: 1.6;
    color: rgba(255, 255, 255, .85);
    margin: 14px 0 0;
}

/* Intro split */
.ra-abt-intro {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: center;
}

.ra-abt-intro__text p {
    color: var(--ra-muted);
    line-height: 1.7;
    margin: 12px 0 0;
}

.ra-abt-intro__media img {
    border-radius: var(--ra-radius);
}

/* Value cards */
.ra-abt-values {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 28px;
    margin-top: 36px;
}

.ra-abt-value-card {
    background: var(--ra-card);
    border-radius: var(--ra-radius);
    box-shadow: var(--ra-shadow);
    padding: 36px 24px;
    text-align: center;
}

.ra-abt-value-card__circle {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: #c50000;
    color: #fff;
    font-size: 1.6rem;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 18px;
}

.ra-abt-value-card h4 {
    margin: 0 0 8px;
    font-size: 1.1rem;
}

.ra-abt-value-card p {
    margin: 0;
    color: var(--ra-muted);
    font-size: .93rem;
    line-height: 1.6;
}

/* Story split (reverse of intro) */
.ra-abt-story {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: center;
}

.ra-abt-story__media img {
    border-radius: var(--ra-radius);
}

.ra-abt-story__text p {
    color: var(--ra-muted);
    line-height: 1.7;
    margin: 12px 0 0;
}

/* Stats band */
.ra-abt-stats {
    background: var(--ra-slate);
    padding: 64px 0;
}

.ra-abt-stats__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    margin-top: 36px;
    text-align: center;
}

.ra-abt-stat__number {
    font-size: 2.6rem;
    font-weight: 800;
    color: var(--ra-red);
}

.ra-abt-stat__label {
    font-size: .95rem;
    color: rgba(255, 255, 255, .7);
    margin-top: 4px;
}

/* Gallery */
.ra-abt-gallery {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 14px;
    margin-top: 28px;
}

.ra-abt-gallery__item {
    aspect-ratio: 3 / 2;
    background-size: cover;
    background-position: center;
    border-radius: var(--ra-radius);
}

/* Contact form */
.ra-abt-contact {
    position: relative;
    padding: 72px 0;
    overflow: hidden;
}

.ra-abt-contact__bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    opacity: 0.1;
}

.ra-abt-contact__form {
    position: relative;
    max-width: 780px;
    margin: 0 auto;
    background: rgba(35, 31, 32, 0.96);
    border-radius: var(--ra-radius);
    padding: 48px 42px;
    color: #fff;
}

.ra-abt-contact__form h2 {
    margin: 0 0 6px;
}

.ra-abt-contact__form > p {
    color: rgba(255, 255, 255, .7);
    margin: 0 0 24px;
}

.ra-abt-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin-bottom: 14px;
}

.ra-abt-form-input {
    width: 100%;
    padding: 10px 14px;
    border: 1px solid #828282;
    border-radius: 4px;
    background: #fff;
    color: var(--ra-ink);
    font-size: .95rem;
}

.ra-abt-form-input--full {
    margin-bottom: 14px;
}

.ra-abt-form-textarea {
    min-height: 90px;
    resize: vertical;
}

.ra-abt-contact__form .ra-btn {
    margin-top: 6px;
}

/* Partner logos */
.ra-abt-partners {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
    margin-top: 28px;
}

.ra-abt-partner {
    padding: 14px 28px;
    border: 1px solid var(--ra-line);
    border-radius: 10px;
    font-weight: 700;
    font-size: 1rem;
    color: var(--ra-muted);
    letter-spacing: .04em;
}

/* Awards strip */
.ra-abt-awards {
    background: linear-gradient(180deg, #f9fafb 0%, #e5e7eb 100%);
    border-top: 1px solid #e5e7eb;
    border-bottom: 1px solid #e5e7eb;
    padding: 48px 0;
}

.ra-abt-awards__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}

.ra-abt-award {
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    padding: 20px 22px;
    text-align: center;
    background: #fff;
}

.ra-abt-award h4 {
    margin: 0 0 6px;
    font-size: 1rem;
}

.ra-abt-award p {
    margin: 0;
    font-size: .88rem;
    color: var(--ra-muted);
    line-height: 1.5;
}

/* Responsive */
@media (max-width: 980px) {
    .ra-abt-hero__title {
        font-size: 2rem;
    }

    .ra-abt-intro,
    .ra-abt-story {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .ra-abt-values {
        grid-template-columns: repeat(2, 1fr);
    }

    .ra-abt-stats__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .ra-abt-gallery {
        grid-template-columns: repeat(3, 1fr);
    }

    .ra-abt-awards__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 560px) {
    .ra-abt-hero__title {
        font-size: 1.6rem;
    }

    .ra-abt-values {
        grid-template-columns: 1fr;
    }

    .ra-abt-stats__grid {
        grid-template-columns: 1fr 1fr;
    }

    .ra-abt-gallery {
        grid-template-columns: 1fr 1fr;
    }

    .ra-abt-form-row {
        grid-template-columns: 1fr;
    }

    .ra-abt-contact__form {
        padding: 32px 22px;
    }

    .ra-abt-awards__grid {
        grid-template-columns: 1fr;
    }
}

/* ============================================
   ONLINE STORE
   ============================================ */

/* Store Hero */
.store-hero { background: linear-gradient(135deg, var(--ra-slate) 0%, #0b0f14 100%); color:#fff; padding:48px 0 40px; text-align:center; }
.store-hero h1 { font-size:2.4rem; font-weight:900; text-transform:uppercase; letter-spacing:.04em; margin:0 0 8px; }
.store-hero p { color:rgba(255,255,255,.65); font-size:1.05rem; margin:0; }

/* Store Layout */
.store-layout { display:grid; grid-template-columns:240px 1fr; gap:32px; max-width:var(--ra-max); margin:0 auto; padding:32px 22px; }
@media(max-width:860px){ .store-layout { grid-template-columns:1fr; } }

/* Sidebar */
.store-sidebar { position:sticky; top:90px; align-self:start; }
.store-sidebar h3 { font-size:.85rem; font-weight:800; text-transform:uppercase; letter-spacing:.12em; color:var(--ra-muted); margin:0 0 12px; }
.store-filter-group { margin-bottom:24px; }
.store-filter-group label { display:flex; align-items:center; gap:8px; font-size:.9rem; padding:4px 0; cursor:pointer; }
.store-filter-group input[type=checkbox] { accent-color:var(--ra-red); width:16px; height:16px; }

/* Toolbar */
.store-toolbar { display:flex; gap:16px; align-items:center; flex-wrap:wrap; margin-bottom:24px; }
.store-search { flex:1; min-width:200px; padding:10px 14px; border:1px solid var(--ra-line); border-radius:8px; font-size:.95rem; background:#fff; }
.store-search:focus { outline:none; border-color:var(--ra-red); box-shadow:0 0 0 3px rgba(227,27,35,.12); }
.store-sort { padding:10px 14px; border:1px solid var(--ra-line); border-radius:8px; font-size:.9rem; background:#fff; }
.store-count { font-size:.88rem; color:var(--ra-muted); }

/* Product Grid */
.store-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
@media(max-width:860px){ .store-grid { grid-template-columns:repeat(2,1fr); } }
@media(max-width:520px){ .store-grid { grid-template-columns:1fr; } }

/* Product Card */
.store-card { background:var(--ra-card); border-radius:var(--ra-radius); overflow:hidden; box-shadow:0 2px 12px rgba(0,0,0,.08); transition:transform .2s, box-shadow .2s; display:flex; flex-direction:column; }
.store-card:hover { transform:translateY(-4px); box-shadow:var(--ra-shadow); }
.store-card__img { aspect-ratio:4/3; background:#e9ecef; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.store-card__img img { width:100%; height:100%; object-fit:contain; padding:8px; }
.store-card__img .no-img { color:var(--ra-muted); font-size:.85rem; }
.store-card__body { padding:18px; flex:1; display:flex; flex-direction:column; }
.store-card__cat { font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:var(--ra-red); margin-bottom:6px; }
.store-card__name { font-size:1rem; font-weight:700; margin:0 0 8px; line-height:1.3; }
.store-card__desc { font-size:.85rem; color:var(--ra-muted); margin:0 0 12px; flex:1; line-height:1.45; }
.store-card__foot { display:flex; align-items:center; justify-content:space-between; }
.store-card__price { font-size:1.05rem; font-weight:800; color:var(--ra-slate); }
.store-card__price--contact { font-size:.82rem; font-weight:600; color:var(--ra-red); }
.store-card__btn { font-size:.82rem; font-weight:700; padding:8px 16px; border-radius:6px; background:var(--ra-red); color:#fff; border:none; cursor:pointer; transition:background .15s; text-decoration:none; }
.store-card__btn:hover { background:var(--ra-red2); }

/* Pagination */
.store-pagination { display:flex; justify-content:center; gap:6px; margin-top:32px; }
.store-pagination button, .store-pagination .pg-current { padding:8px 14px; border-radius:6px; font-size:.88rem; font-weight:600; border:1px solid var(--ra-line); background:#fff; cursor:pointer; }
.store-pagination .pg-current { background:var(--ra-red); color:#fff; border-color:var(--ra-red); }
.store-pagination button:hover:not(.pg-current) { background:#f0f0f0; }

/* ============================================
   PRODUCT DETAIL
   ============================================ */
.pd-wrap { max-width:var(--ra-max); margin:0 auto; padding:32px 22px; }
.pd-breadcrumb { font-size:.82rem; color:var(--ra-muted); margin-bottom:20px; }
.pd-breadcrumb a { color:var(--ra-red); }
.pd-breadcrumb a:hover { text-decoration:underline; }
.pd-top { display:grid; grid-template-columns:1fr 1fr; gap:40px; margin-bottom:40px; }
@media(max-width:768px){ .pd-top { grid-template-columns:1fr; } }

.pd-gallery { display:flex; flex-direction:column; gap:12px; }
.pd-gallery__main { aspect-ratio:4/3; background:#e9ecef; border-radius:var(--ra-radius); overflow:hidden; display:flex; align-items:center; justify-content:center; }
.pd-gallery__main img { width:100%; height:100%; object-fit:contain; padding:12px; }
.pd-gallery__thumbs { display:flex; gap:8px; }
.pd-gallery__thumb { width:72px; height:54px; border-radius:8px; overflow:hidden; border:2px solid transparent; cursor:pointer; background:#e9ecef; }
.pd-gallery__thumb.active { border-color:var(--ra-red); }
.pd-gallery__thumb img { width:100%; height:100%; object-fit:contain; padding:4px; }

.pd-info h1 { font-size:1.6rem; font-weight:900; margin:0 0 4px; }
.pd-info__model { font-size:.88rem; color:var(--ra-muted); margin-bottom:16px; }
.pd-info__price { font-size:1.5rem; font-weight:800; color:var(--ra-slate); margin-bottom:4px; }
.pd-info__price--contact { font-size:1.1rem; font-weight:700; color:var(--ra-red); }
.pd-info__short { font-size:1rem; color:#444; line-height:1.55; margin-bottom:20px; }

.pd-qty { display:flex; align-items:center; gap:10px; margin-bottom:16px; }
.pd-qty label { font-size:.9rem; font-weight:600; }
.pd-qty input { width:60px; padding:8px; text-align:center; border:1px solid var(--ra-line); border-radius:6px; font-size:1rem; }

.pd-add-btn { display:inline-flex; align-items:center; gap:8px; padding:14px 32px; background:var(--ra-red); color:#fff; font-size:1rem; font-weight:700; border:none; border-radius:8px; cursor:pointer; transition:background .15s; }
.pd-add-btn:hover { background:var(--ra-red2); }

/* Specs Box */
.pd-specs { background:var(--ra-card); border-radius:var(--ra-radius); padding:24px; box-shadow:0 2px 12px rgba(0,0,0,.06); margin-bottom:32px; }
.pd-specs h2 { font-size:1.1rem; font-weight:800; text-transform:uppercase; margin:0 0 16px; }
.pd-specs table { width:100%; border-collapse:collapse; }
.pd-specs td { padding:8px 12px; font-size:.9rem; border-bottom:1px solid var(--ra-line); }
.pd-specs td:first-child { font-weight:600; width:40%; color:var(--ra-slate); }

/* Features */
.pd-features { margin-bottom:32px; }
.pd-features h2 { font-size:1.1rem; font-weight:800; text-transform:uppercase; margin:0 0 12px; }
.pd-features ul { margin:0; padding:0 0 0 20px; }
.pd-features li { font-size:.92rem; line-height:1.6; color:#444; }

/* Full Description */
.pd-description { margin-bottom:40px; }
.pd-description h2 { font-size:1.1rem; font-weight:800; text-transform:uppercase; margin:0 0 12px; }
.pd-description p { font-size:.95rem; line-height:1.65; color:#444; }

/* Related Products */
.pd-related { margin-bottom:40px; }
.pd-related h2 { font-size:1.1rem; font-weight:800; text-transform:uppercase; margin:0 0 20px; }
.pd-related__grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
@media(max-width:768px){ .pd-related__grid { grid-template-columns:repeat(2,1fr); } }

/* ============================================
   CART
   ============================================ */
.cart-wrap { max-width:var(--ra-max); margin:0 auto; padding:32px 22px; }
.cart-wrap h1 { font-size:1.8rem; font-weight:900; text-transform:uppercase; margin:0 0 24px; }
.cart-empty { text-align:center; padding:60px 0; color:var(--ra-muted); }
.cart-empty a { color:var(--ra-red); font-weight:700; }

.cart-table { width:100%; border-collapse:collapse; margin-bottom:24px; }
.cart-table th { text-align:left; padding:12px; font-size:.82rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:var(--ra-muted); border-bottom:2px solid var(--ra-line); }
.cart-table td { padding:14px 12px; border-bottom:1px solid var(--ra-line); vertical-align:middle; }
.cart-table .cart-prod { display:flex; align-items:center; gap:14px; }
.cart-table .cart-prod img { width:64px; height:48px; object-fit:cover; border-radius:6px; background:#e9ecef; }
.cart-table .cart-prod__name { font-weight:600; font-size:.95rem; }
.cart-table .cart-qty { display:flex; align-items:center; gap:6px; }
.cart-table .cart-qty button { width:30px; height:30px; border:1px solid var(--ra-line); border-radius:4px; background:#fff; cursor:pointer; font-size:1rem; display:flex; align-items:center; justify-content:center; }
.cart-table .cart-qty button:hover { background:#f0f0f0; }
.cart-table .cart-qty span { width:36px; text-align:center; font-weight:600; }
.cart-table .cart-remove { color:var(--ra-red); cursor:pointer; font-size:.85rem; font-weight:600; background:none; border:none; }
.cart-table .cart-remove:hover { text-decoration:underline; }
.cart-price { font-weight:700; }

.cart-summary { display:flex; justify-content:flex-end; }
.cart-summary__box { background:var(--ra-card); padding:24px; border-radius:var(--ra-radius); box-shadow:0 2px 12px rgba(0,0,0,.06); min-width:300px; }
.cart-summary__row { display:flex; justify-content:space-between; margin-bottom:12px; font-size:.95rem; }
.cart-summary__row.total { font-size:1.15rem; font-weight:800; border-top:2px solid var(--ra-line); padding-top:12px; }
.cart-summary__btn { display:block; width:100%; padding:14px; background:var(--ra-red); color:#fff; text-align:center; font-size:1rem; font-weight:700; border:none; border-radius:8px; cursor:pointer; text-decoration:none; margin-top:8px; }
.cart-summary__btn:hover { background:var(--ra-red2); }

/* ============================================
   CHECKOUT
   ============================================ */
.checkout-wrap { max-width:var(--ra-max); margin:0 auto; padding:32px 22px; }
.checkout-wrap h1 { font-size:1.8rem; font-weight:900; text-transform:uppercase; margin:0 0 24px; }
.checkout-layout { display:grid; grid-template-columns:1fr 360px; gap:40px; }
@media(max-width:768px){ .checkout-layout { grid-template-columns:1fr; } }

.checkout-form { background:var(--ra-card); padding:28px; border-radius:var(--ra-radius); box-shadow:0 2px 12px rgba(0,0,0,.06); }
.checkout-form h2 { font-size:1rem; font-weight:800; text-transform:uppercase; margin:0 0 16px; }
.checkout-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:14px; }
@media(max-width:520px){ .checkout-row { grid-template-columns:1fr; } }
.checkout-field { display:flex; flex-direction:column; gap:4px; }
.checkout-field.full { grid-column:1/-1; }
.checkout-field label { font-size:.82rem; font-weight:600; color:var(--ra-slate); }
.checkout-field input, .checkout-field select { padding:10px 12px; border:1px solid var(--ra-line); border-radius:6px; font-size:.95rem; }
.checkout-field input:focus { outline:none; border-color:var(--ra-red); box-shadow:0 0 0 3px rgba(227,27,35,.12); }

.checkout-sidebar { position:sticky; top:90px; align-self:start; }
.checkout-sidebar__box { background:var(--ra-card); padding:24px; border-radius:var(--ra-radius); box-shadow:0 2px 12px rgba(0,0,0,.06); }
.checkout-sidebar h2 { font-size:1rem; font-weight:800; text-transform:uppercase; margin:0 0 16px; }
.checkout-item { display:flex; justify-content:space-between; font-size:.9rem; margin-bottom:8px; }
.checkout-item span:last-child { font-weight:600; }

.checkout-place-btn { display:block; width:100%; padding:14px; background:var(--ra-red); color:#fff; text-align:center; font-size:1rem; font-weight:700; border:none; border-radius:8px; cursor:pointer; margin-top:16px; }
.checkout-place-btn:hover { background:var(--ra-red2); }
.checkout-place-btn:disabled { opacity:.5; cursor:not-allowed; }

/* ============================================
   ORDER CONFIRMATION
   ============================================ */
.confirm-wrap { max-width:680px; margin:0 auto; padding:60px 22px; text-align:center; }
.confirm-wrap .check-icon { font-size:3rem; color:#22c55e; margin-bottom:16px; }
.confirm-wrap h1 { font-size:1.8rem; font-weight:900; margin:0 0 8px; }
.confirm-wrap .order-num { font-size:1.1rem; color:var(--ra-muted); margin-bottom:32px; }
.confirm-details { background:var(--ra-card); padding:24px; border-radius:var(--ra-radius); box-shadow:0 2px 12px rgba(0,0,0,.06); text-align:left; margin-bottom:24px; }
.confirm-details h2 { font-size:1rem; font-weight:800; text-transform:uppercase; margin:0 0 16px; }
.confirm-item { display:flex; justify-content:space-between; font-size:.9rem; padding:6px 0; border-bottom:1px solid var(--ra-line); }
.confirm-total { display:flex; justify-content:space-between; font-size:1.1rem; font-weight:800; padding-top:12px; margin-top:8px; }
.confirm-wrap .back-link { display:inline-block; margin-top:16px; color:var(--ra-red); font-weight:700; }

/* ============================================
   ADMIN
   ============================================ */
.admin-wrap { max-width:var(--ra-max); margin:0 auto; padding:32px 22px; }
.admin-wrap h1 { font-size:1.8rem; font-weight:900; text-transform:uppercase; margin:0 0 24px; }
.admin-toolbar { display:flex; gap:12px; margin-bottom:20px; }
.admin-toolbar .admin-search { flex:1; padding:10px 14px; border:1px solid var(--ra-line); border-radius:8px; font-size:.95rem; }
.admin-toolbar .admin-add-btn { padding:10px 20px; background:var(--ra-red); color:#fff; font-weight:700; border:none; border-radius:8px; cursor:pointer; font-size:.9rem; }

.admin-table { width:100%; border-collapse:collapse; background:var(--ra-card); border-radius:var(--ra-radius); overflow:hidden; box-shadow:0 2px 12px rgba(0,0,0,.06); }
.admin-table th { text-align:left; padding:12px 14px; font-size:.8rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:var(--ra-muted); background:#f8f9fa; border-bottom:2px solid var(--ra-line); }
.admin-table td { padding:10px 14px; font-size:.9rem; border-bottom:1px solid var(--ra-line); vertical-align:middle; }
.admin-table tr:hover td { background:#fafbfc; }
.admin-actions { display:flex; gap:8px; }
.admin-actions button { padding:6px 12px; font-size:.8rem; font-weight:600; border-radius:4px; border:1px solid var(--ra-line); background:#fff; cursor:pointer; }
.admin-actions button:hover { background:#f0f0f0; }
.admin-actions .admin-del { color:var(--ra-red); border-color:var(--ra-red); }
.admin-actions .admin-del:hover { background:var(--ra-red); color:#fff; }

/* Admin Modal */
.admin-modal-overlay { position:fixed; inset:0; background:rgba(0,0,0,.5); z-index:1000; display:flex; align-items:center; justify-content:center; }
.admin-modal { background:#fff; border-radius:var(--ra-radius); padding:28px; width:90%; max-width:600px; max-height:85vh; overflow-y:auto; box-shadow:0 20px 60px rgba(0,0,0,.3); }
.admin-modal h2 { font-size:1.2rem; font-weight:800; margin:0 0 20px; }
.admin-modal .checkout-field { margin-bottom:12px; }
.admin-modal-actions { display:flex; gap:12px; justify-content:flex-end; margin-top:20px; }
.admin-modal-actions button { padding:10px 20px; font-weight:700; border-radius:6px; cursor:pointer; font-size:.9rem; }
.admin-modal-actions .save-btn { background:var(--ra-red); color:#fff; border:none; }
.admin-modal-actions .cancel-btn { background:#fff; border:1px solid var(--ra-line); }

/* Cart Badge in Nav */
.ra-cart-link { position:relative; display:inline-flex; align-items:center; gap:6px; font-weight:600; font-size:.9rem; }
.ra-cart-badge { position:absolute; top:-8px; right:-10px; background:var(--ra-red); color:#fff; font-size:.7rem; font-weight:800; min-width:18px; height:18px; border-radius:9px; display:flex; align-items:center; justify-content:center; padding:0 4px; }

/* No image placeholder */
.no-img-placeholder { background:#e9ecef; display:flex; align-items:center; justify-content:center; color:var(--ra-muted); font-size:.85rem; width:100%; height:100%; }

/* Admin image management */
.admin-images-section { margin-top:20px; padding-top:16px; border-top:1px solid #e5e7eb; }
.admin-images-section h3 { font-size:1rem; margin-bottom:10px; }
.admin-images-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(100px,1fr)); gap:10px; margin-bottom:12px; }
.admin-image-card { border:2px solid #e5e7eb; border-radius:6px; overflow:hidden; position:relative; }
.admin-image-card--primary { border-color:gold; }
.admin-image-card img { width:100%; height:80px; object-fit:cover; display:block; }
.admin-image-actions { display:flex; justify-content:center; gap:6px; padding:4px; background:#f9fafb; }
.admin-image-actions .admin-btn { padding:2px 8px; font-size:.75rem; }
