/* ========================================
   Casino Kings UK — Main Stylesheet (Deferred)
   Version: 1.0.0 | Last updated: 2026-02-12
   ======================================== */

/* ========================================
   HERO FORTUNE WHEEL
   ======================================== */
.svg-sprite{position:absolute;width:0;height:0;overflow:hidden}
.icon{display:block;fill:none;stroke:currentColor}
.hero-image--wheel{display:none;justify-content:center;align-items:center;width:100%;min-width:0}
.trust-badges{display:none}
@media (min-width: 768px) {
    .hero-image--wheel{display:flex}
    .trust-badges{display:block}
}
.fortune-wheel{
    --fw-wheel-size:clamp(260px,46vw,370px);
    width:min(100%,584px);
    max-width:100%;
    aspect-ratio:584/438;
    min-height:0;
    position:relative;
    overflow:hidden;
    border-radius:var(--radius-xl);
    border:1px solid color-mix(in srgb,var(--color-primary) 12%,rgba(255,255,255,0.1));
    display:flex;
    align-items:center;
    justify-content:center;
    background:
        radial-gradient(ellipse at 18% 0%,color-mix(in srgb,var(--color-accent) 6%,transparent) 0%,transparent 42%),
        radial-gradient(ellipse at 82% 100%,color-mix(in srgb,var(--color-primary) 7%,transparent) 0%,transparent 44%),
        linear-gradient(145deg,color-mix(in srgb,var(--bg-card) 52%,transparent),color-mix(in srgb,var(--bg-card) 28%,transparent));
    backdrop-filter:blur(8px) saturate(1.05);
    -webkit-backdrop-filter:blur(8px) saturate(1.05);
    box-shadow:
        0 10px 24px rgba(0,0,0,0.22),
        inset 0 1px 0 rgba(255,255,255,0.06);
    isolation:isolate;
}
.fortune-wheel::before{
    content:"";
    position:absolute;
    left:16px;
    right:16px;
    top:0;
    height:1px;
    background:linear-gradient(90deg,transparent,rgba(255,255,255,0.12),transparent);
    opacity:.4;
    pointer-events:none;
}
.fortune-wheel::after{
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(180deg,rgba(255,255,255,0.015),rgba(255,255,255,0));
    pointer-events:none;
}

.fw-bg-orb{
    position:absolute;
    border-radius:50%;
    filter:blur(50px);
    opacity:0.05;
    z-index:0;
    pointer-events:none;
    animation:fw-orb-float 8s ease-in-out infinite alternate;
}
.fw-bg-orb--1{width:180px;height:180px;top:-58px;left:-40px;background:color-mix(in srgb,var(--color-accent) 35%,transparent)}
.fw-bg-orb--2{width:160px;height:160px;right:-40px;bottom:-48px;background:color-mix(in srgb,var(--color-primary) 38%,transparent);animation-duration:10s;animation-delay:-2s}
.fw-bg-orb--3{width:120px;height:120px;top:48%;left:52%;transform:translate(-50%,-50%);opacity:0.03;background:color-mix(in srgb,var(--color-primary) 30%,var(--color-accent) 70%);animation-duration:12s;animation-delay:-6s}
@keyframes fw-orb-float{
    0%{transform:translate(0,0) scale(1)}
    100%{transform:translate(16px,-12px) scale(1.14)}
}

.fw-wheel-shell{position:relative;z-index:2;display:flex;align-items:center;justify-content:center}
.fw-wheel{position:relative;width:var(--fw-wheel-size);height:var(--fw-wheel-size)}
.fw-outer-ring{
    position:absolute;
    inset:-12px;
    border-radius:50%;
    z-index:0;
    background:conic-gradient(
        from 0deg,
        color-mix(in srgb,var(--color-primary) 30%,transparent),
        color-mix(in srgb,var(--color-accent) 35%,transparent),
        color-mix(in srgb,var(--color-primary) 40%,transparent),
        color-mix(in srgb,var(--color-accent) 25%,transparent),
        color-mix(in srgb,var(--color-primary) 30%,transparent)
    );
    filter:blur(6px);
    animation:fw-ring-rotate 10s linear infinite;
}
.fw-outer-ring::after{
    content:"";
    position:absolute;
    inset:8px;
    border-radius:50%;
    background:var(--bg-secondary);
}
@keyframes fw-ring-rotate{to{transform:rotate(360deg)}}

.fw-led-ring{position:absolute;inset:-6px;border-radius:50%;z-index:6;pointer-events:none}
@keyframes fw-led-blink{
    0%{opacity:.4;transform:scale(0.9)}
    100%{opacity:1;transform:scale(1.2)}
}
.fw-wheel-canvas,
.fw-wheel-text{
    position:absolute;
    inset:0;
    border-radius:50%;
    transition:transform 5.5s cubic-bezier(0.15,0.6,0.08,1);
}
.fw-wheel-canvas{z-index:3;width:100%;height:100%;max-width:none}
.fw-wheel-text{z-index:5}

.fw-sector-label{
    position:absolute;
    left:50%;
    top:50%;
    width:50%;
    height:0;
    transform-origin:0 0;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    padding-right:24px;
    color:#fff;
    font-family:var(--font-mono);
    font-size:13px;
    font-weight:var(--fw-extrabold);
    letter-spacing:0.06em;
    -webkit-text-stroke:0.35px rgba(0,0,0,0.35);
    text-shadow:0 1px 1px rgba(0,0,0,0.4),0 0 10px rgba(255,255,255,0.12);
    z-index:1;
    pointer-events:none;
}
.fw-sector-label::before{
    content:"";
    position:absolute;
    right:10px;
    top:50%;
    width:92px;
    height:24px;
    transform:translateY(-50%);
    border-radius:999px;
    background:linear-gradient(135deg,rgba(9,12,20,0.48),rgba(9,12,20,0.2));
    border:1px solid rgba(255,255,255,0.15);
    box-shadow:inset 0 1px 0 rgba(255,255,255,0.14),0 6px 14px rgba(0,0,0,0.24);
    z-index:-1;
}
.fw-sector-label:nth-child(1){transform:rotate(22.5deg)}
.fw-sector-label:nth-child(2){transform:rotate(67.5deg)}
.fw-sector-label:nth-child(3){transform:rotate(112.5deg)}
.fw-sector-label:nth-child(4){transform:rotate(157.5deg)}
.fw-sector-label:nth-child(5){transform:rotate(202.5deg)}
.fw-sector-label:nth-child(6){transform:rotate(247.5deg)}
.fw-sector-label:nth-child(7){transform:rotate(292.5deg)}
.fw-sector-label:nth-child(8){transform:rotate(337.5deg)}

.fw-pointer{
    position:absolute;
    top:-8px;
    left:50%;
    transform:translateX(-50%);
    z-index:20;
    color:var(--color-primary);
    filter:drop-shadow(0 4px 12px color-mix(in srgb,var(--color-primary) 50%,transparent));
}
.fw-pointer svg{width:34px;height:42px}
.fw-pointer.is-bouncing{animation:fw-pointer-bounce .12s ease}
@keyframes fw-pointer-bounce{
    0%,100%{transform:translateX(-50%) rotate(0)}
    50%{transform:translateX(-50%) rotate(6deg)}
}

.fw-spin-btn{
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    z-index:30;
    width:84px;
    height:84px;
    border-radius:50%;
    border:1px solid var(--border-primary);
    background:
        radial-gradient(circle at 30% 26%,rgba(255,255,255,0.18) 0%,transparent 58%),
        color-mix(in srgb,var(--bg-secondary) 70%,transparent);
    backdrop-filter:blur(10px) saturate(1.2);
    -webkit-backdrop-filter:blur(10px) saturate(1.2);
    color:var(--color-text-primary);
    display:flex;
    align-items:center;
    justify-content:center;
    font-family:var(--font-primary);
    font-size:var(--fs-sm);
    font-weight:var(--fw-extrabold);
    letter-spacing:0.16em;
    box-shadow:0 10px 24px rgba(0,0,0,0.35),inset 0 1px 0 rgba(255,255,255,0.12);
    transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast);
}
.fw-spin-btn:hover{
    transform:translate(-50%,-50%) scale(1.06);
    border-color:color-mix(in srgb,var(--color-primary) 45%,transparent);
    box-shadow:var(--shadow-lg),var(--shadow-glow);
}
.fw-spin-btn:active{transform:translate(-50%,-50%) scale(0.96)}
.fw-spin-btn:disabled{opacity:.45;cursor:not-allowed;transform:translate(-50%,-50%)}
.fw-spin-btn-pulse{
    position:absolute;
    inset:-7px;
    border-radius:50%;
    border:1px solid color-mix(in srgb,var(--color-primary) 40%,transparent);
    animation:fw-spin-pulse 2.5s ease-out infinite;
    pointer-events:none;
}
@keyframes fw-spin-pulse{
    0%{transform:scale(1);opacity:.5}
    100%{transform:scale(1.85);opacity:0}
}

.fw-popup{
    position:absolute;
    inset:0;
    z-index:60;
    display:flex;
    align-items:center;
    justify-content:center;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    padding:var(--space-6);
    border-radius:inherit;
    background:rgba(8,10,18,0.88);
    backdrop-filter:blur(10px);
    transition:opacity var(--transition-base),visibility var(--transition-base);
}
.fw-popup.is-visible{opacity:1;visibility:visible;pointer-events:auto}
.fw-popup-card{
    width:min(360px,100%);
    text-align:center;
    padding:var(--space-8) var(--space-6);
    border-radius:var(--radius-lg);
    border:1px solid var(--border-primary);
    background:linear-gradient(160deg,color-mix(in srgb,var(--bg-secondary) 85%,transparent),var(--bg-tertiary));
    box-shadow:var(--shadow-xl);
    transform:scale(.92) translateY(8px);
    transition:transform var(--transition-base);
}
.fw-popup.is-visible .fw-popup-card{transform:scale(1) translateY(0)}
.fw-popup-label{
    margin-bottom:var(--space-2);
    color:var(--color-primary);
    font-size:var(--fs-xs);
    letter-spacing:0.18em;
    text-transform:uppercase;
    font-weight:var(--fw-bold);
}
.fw-popup-prize{
    margin:0 0 var(--space-3);
    font-family:var(--font-mono);
    font-size:clamp(1.75rem,4.5vw,2.5rem);
    font-weight:var(--fw-extrabold);
    line-height:1.1;
}
.fw-popup-subtitle{
    margin:0 0 var(--space-6);
    color:var(--color-text-secondary);
    font-size:var(--fs-base);
}
.fw-popup .btn{min-width:220px}

.fw-particle,.fw-confetti{position:absolute;pointer-events:none}
.fw-particle{z-index:1;border-radius:50%;animation:fw-particle-float linear infinite}
.fw-confetti{z-index:70}
@keyframes fw-particle-float{
    0%{transform:translateY(0) translateX(0);opacity:0}
    10%{opacity:1}
    90%{opacity:1}
    100%{transform:translateY(-440px) translateX(var(--fw-drift));opacity:0}
}

@media (max-width: 620px) {
    .fortune-wheel{
        --fw-wheel-size:min(300px,72vw);
        min-height:calc(var(--fw-wheel-size) + 28px);
    }
    .fw-spin-btn{width:70px;height:70px;font-size:11px}
    .fw-sector-label{font-size:11px;padding-right:20px}
    .fw-sector-label::before{width:74px;height:20px;right:8px}
}

@media (max-width: 400px) {
    .fortune-wheel{--fw-wheel-size:min(260px,68vw)}
    .fw-spin-btn{width:58px;height:58px}
    .fw-sector-label{font-size:9px;padding-right:14px}
    .fw-sector-label::before{width:62px;height:17px;right:6px}
    .fw-popup .btn{min-width:100%}
}

@media (min-width: 1024px) {
    .hero-image--wheel{animation:none}
}

/* ========================================
   GAMES SECTION
   ======================================== */
.games-section{padding:var(--section-padding-y) 0;background:var(--bg-primary)}
.games-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4);margin-bottom:var(--space-8);align-items:start}
@media(min-width:640px){.games-grid{grid-template-columns:repeat(3,1fr);gap:var(--space-6)}}
@media(min-width:1024px){.games-grid{grid-template-columns:repeat(4,1fr)}}
@media(min-width:1280px){.games-grid{grid-template-columns:repeat(6,1fr)}}
.game-card{background:var(--bg-card);border:1px solid var(--border-secondary);border-radius:var(--radius-lg);overflow:hidden;transition:all var(--transition-base);align-self:start}
.game-card:hover{border-color:var(--border-primary);transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.game-card-link{display:block;text-decoration:none;color:inherit}
.game-card-image{position:relative;overflow:hidden;background:var(--bg-tertiary);padding-bottom:0 !important}
.game-card-image--media,.game-card-image--placeholder{aspect-ratio:300/402}
.game-card-img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}
.game-card-image.game-card-image--media{padding-bottom:0 !important;height:auto !important;min-height:0}
.game-card-image.game-card-image--media + .game-card-body{display:none !important}
.game-card-visual{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:2.5rem;transition:transform var(--transition-slow);background:linear-gradient(135deg,var(--game-g1,#16213E),var(--game-g2,#0F0F1E))}
.game-card:hover .game-card-visual{transform:scale(1.1)}
.game-card-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--bg-overlay);opacity:0;transition:opacity var(--transition-base)}
.game-card:hover .game-card-overlay{opacity:1}
.game-card-body{padding:var(--space-3)}
@media(min-width:768px){.game-card-body{padding:var(--space-4)}}
.game-card-title{font-size:var(--fs-base);font-weight:var(--fw-semibold);margin-bottom:var(--space-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(min-width:768px){.game-card-title{font-size:var(--fs-lg)}}
.game-card-provider{font-size:var(--fs-sm);color:var(--color-text-tertiary)}

/* ========================================
   BONUSES SECTION
   ======================================== */
.bonuses-section{padding:var(--section-padding-y) 0;background:var(--bg-secondary);position:relative}
.bonuses-section::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 0%,color-mix(in srgb,var(--color-primary) 5%,transparent) 0%,transparent 70%);pointer-events:none}
.bonuses-grid{display:grid;gap:var(--space-6);margin-bottom:var(--space-8);position:relative;z-index:1}
@media(min-width:768px){.bonuses-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.bonuses-grid{grid-template-columns:repeat(3,1fr)}}
.bonus-card{position:relative;background:var(--bg-card);border:1px solid var(--border-secondary);border-radius:var(--radius-xl);padding:var(--space-6);transition:all var(--transition-base);display:flex;flex-direction:column}
@media(min-width:768px){.bonus-card{padding:var(--space-8)}}
.bonus-card[data-bonus-card-link]{cursor:pointer}
.bonus-card[data-bonus-card-link]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}
.bonus-card:hover{border-color:var(--border-primary);transform:translateY(-8px);box-shadow:var(--shadow-xl)}
.bonus-card--featured{border-color:var(--color-primary);background:var(--theme-card-featured-bg)}
@media(min-width:768px){.bonus-card--featured{grid-column:1/-1}}
@media(min-width:1024px){.bonus-card--featured{grid-column:auto}}
.bonus-badge{position:absolute;top:var(--space-4);right:var(--space-4);padding:var(--space-1) var(--space-3);background:var(--color-primary);color:var(--color-text-on-primary);font-size:var(--fs-xs);font-weight:var(--fw-bold);text-transform:uppercase;border-radius:var(--radius-full);letter-spacing:0.05em}
.bonus-card-header{margin-bottom:var(--space-4)}
.bonus-card-title{font-size:var(--fs-lg);font-weight:var(--fw-semibold);margin-bottom:var(--space-2)}
@media(min-width:768px){.bonus-card-title{font-size:var(--fs-xl)}}
.bonus-amount{font-size:var(--fs-2xl);font-weight:var(--fw-extrabold);color:var(--color-primary);line-height:1.2;font-family:var(--font-mono)}
@media(min-width:768px){.bonus-amount{font-size:var(--fs-3xl)}}
.bonus-features{list-style:none;margin-bottom:var(--space-6);flex-grow:1}
.bonus-features li{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-2) 0;font-size:var(--fs-sm);color:var(--color-text-secondary)}
@media(min-width:768px){.bonus-features li{font-size:var(--fs-base)}}
.icon-check{flex-shrink:0;width:20px;height:20px;color:var(--color-success)}
.bonus-card-footer{border-top:1px solid var(--border-secondary);padding-top:var(--space-4)}
.bonuses-section .bonus-card-footer .btn-block{display:flex;width:100%}
.bonus-terms{text-align:center;margin-top:var(--space-3);font-size:var(--fs-xs);color:var(--color-text-tertiary)}
.bonus-terms a,.bonus-terms-link{color:var(--color-primary);text-decoration:underline}

/* ========================================
   CONTENT BLOCK
   ======================================== */
.content-section{padding:var(--section-padding-y) 0;background:var(--bg-primary)}
.content-block{max-width:900px;margin:0 auto}
.content-block h1,.content-page-title{font-size:var(--fs-2xl);font-weight:var(--fw-extrabold);color:var(--color-text-primary);line-height:var(--lh-tight);margin-top:var(--space-10);margin-bottom:var(--space-4);letter-spacing:-0.02em}
.content-block h1:first-child,.content-page-title:first-child{margin-top:0}
@media(min-width:768px){.content-block h1,.content-page-title{font-size:var(--fs-4xl)}}
.content-block h2{font-size:var(--fs-2xl);font-weight:var(--fw-bold);color:var(--color-text-primary);margin-top:var(--space-10);margin-bottom:var(--space-4)}
.content-block h2:first-child{margin-top:0}
@media(min-width:768px){.content-block h2{font-size:var(--fs-3xl)}}
.content-block h3{font-size:var(--fs-xl);font-weight:var(--fw-semibold);color:var(--color-text-primary);margin-top:var(--space-8);margin-bottom:var(--space-3)}
@media(min-width:768px){.content-block h3{font-size:var(--fs-2xl)}}
.content-block h4{font-size:var(--fs-lg);font-weight:var(--fw-semibold);color:var(--color-primary);margin-top:var(--space-6);margin-bottom:var(--space-2)}
.content-block p{font-size:var(--fs-base);color:var(--color-text-secondary);line-height:var(--lh-relaxed);margin-bottom:var(--space-4)}
.content-block p:empty{display:none}
.content-block ul,.content-block ol{margin-bottom:var(--space-4);padding-left:var(--space-6);color:var(--color-text-secondary)}
.content-block ul{list-style:disc}.content-block ol{list-style:decimal}
.content-block li{font-size:var(--fs-base);line-height:var(--lh-relaxed);margin-bottom:var(--space-2);padding-left:var(--space-2)}
.content-block li::marker{color:var(--color-primary)}
.content-block a{color:var(--color-primary);text-decoration:underline;text-underline-offset:2px}
.content-table,.page-content table,.content-block table{width:100%;border-collapse:collapse;margin-bottom:var(--space-6)}
.content-table thead,.page-content table thead,.content-block table thead{background:color-mix(in srgb,var(--color-primary) 10%,transparent)}
.content-table th,.content-table td,.page-content table th,.page-content table td,.content-block table th,.content-block table td{padding:var(--space-3) var(--space-4);text-align:left;border:1px solid var(--border-secondary);font-size:var(--fs-sm);color:var(--color-text-secondary)}
@media(min-width:768px){.content-table th,.content-table td,.page-content table th,.page-content table td,.content-block table th,.content-block table td{padding:var(--space-4);font-size:var(--fs-base)}}
.content-table th,.page-content table th,.content-block table th{color:var(--color-primary);font-weight:var(--fw-semibold);white-space:nowrap}
.content-table tbody tr:hover,.page-content table tbody tr:hover,.content-block table tbody tr:hover{background:rgba(255,255,255,0.03)}
@media(max-width:767.98px){.content-table,.page-content table,.content-block table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.content-table th,.content-table td,.page-content table th,.page-content table td,.content-block table th,.content-block table td{white-space:nowrap}}

/* ========================================
   PROS & CONS
   ======================================== */
.pros-cons{display:grid;gap:var(--space-6);margin:var(--space-8) 0;list-style:none;padding:0}
@media(min-width:768px){.pros-cons{grid-template-columns:1fr 1fr}}
.pros-block,.cons-block{border-radius:var(--radius-xl);padding:var(--space-6);border:1px solid var(--border-secondary)}
.pros-cons>.pros-block,.pros-cons>.cons-block{list-style:none;margin:0;padding:var(--space-6)}
.content-block>.pros-cons:empty{display:none}
.content-block>.pros-block,.content-block>.cons-block{margin-top:var(--space-4);margin-bottom:var(--space-4)}
@media(min-width:768px){.content-block>.pros-block,.content-block>.cons-block{display:inline-block;vertical-align:top;width:calc(50% - (var(--space-6) / 2));margin-top:var(--space-4);margin-bottom:var(--space-4)}.content-block>.pros-block{margin-right:var(--space-6)}}
.pros-block{background:rgba(0,208,132,0.05);border-color:rgba(0,208,132,0.2)}
.cons-block{background:rgba(233,69,96,0.05);border-color:rgba(233,69,96,0.2)}
.pros-cons-title{display:flex;align-items:center;gap:var(--space-2);font-size:var(--fs-lg);font-weight:var(--fw-bold);margin-bottom:var(--space-4)}
.pros-block .pros-cons-title{color:var(--color-success)}
.cons-block .pros-cons-title{color:#E94560}
.pros-cons-title svg{width:24px;height:24px;flex-shrink:0}
.content-block .pros-cons-list{list-style:none;padding:0;margin:0}
.pros-cons-list li{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-2) 0;font-size:var(--fs-sm);color:var(--color-text-secondary);line-height:var(--lh-relaxed)}
@media(min-width:768px){.pros-cons-list li{font-size:var(--fs-base)}}
.pros-cons-list li svg{flex-shrink:0;width:18px;height:18px;margin-top:3px}
.pros-block .pros-cons-list li svg{color:var(--color-success)}
.cons-block .pros-cons-list li svg{color:#E94560}

/* ========================================
   AUTHOR
   ======================================== */
.author-block{margin-top:var(--space-12);padding:var(--space-6);background:var(--bg-card);border:1px solid var(--border-secondary);border-radius:var(--radius-xl);display:flex;flex-direction:column;gap:var(--space-4)}
@media(min-width:640px){.author-block{flex-direction:row;gap:var(--space-6);padding:var(--space-8)}}
.author-avatar{flex-shrink:0;width:80px;height:80px;border-radius:var(--radius-full);overflow:hidden;border:3px solid var(--border-primary);background:var(--bg-tertiary)}
@media(min-width:640px){.author-avatar{width:100px;height:100px}}
.author-avatar img{width:100%;height:100%;object-fit:cover}
.author-info{flex:1}
.author-label{font-size:var(--fs-xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:0.1em;color:var(--color-primary);margin-bottom:var(--space-1)}
.author-name{font-size:var(--fs-xl);font-weight:var(--fw-bold);margin-bottom:var(--space-1)}
@media(min-width:768px){.author-name{font-size:var(--fs-2xl)}}
.author-role{font-size:var(--fs-sm);color:var(--color-text-tertiary);margin-bottom:var(--space-3)}
.author-bio{font-size:var(--fs-sm);color:var(--color-text-secondary);line-height:var(--lh-relaxed);margin-bottom:var(--space-4)}
@media(min-width:768px){.author-bio{font-size:var(--fs-base)}}
.author-links{display:flex;gap:var(--space-4);flex-wrap:wrap}
.author-links a{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--color-primary);transition:color var(--transition-fast)}
.author-links a svg{width:16px;height:16px}

/* ========================================
   FEATURES
   ======================================== */
.features-section{padding:var(--section-padding-y) 0;background:var(--bg-primary)}
.features-grid{display:grid;gap:var(--space-6)}
@media(min-width:640px){.features-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.features-grid{grid-template-columns:repeat(4,1fr)}}
.feature-card{text-align:center;padding:var(--space-6);background:var(--bg-card);border:1px solid var(--border-secondary);border-radius:var(--radius-xl);transition:all var(--transition-base)}
.feature-card:hover{border-color:var(--border-primary);transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.feature-icon{width:64px;height:64px;margin:0 auto var(--space-4);display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--color-primary) 10%,transparent);border-radius:var(--radius-lg);font-size:1.75rem}
.feature-title{font-size:var(--fs-lg);font-weight:var(--fw-bold);margin-bottom:var(--space-2)}
.feature-text{font-size:var(--fs-sm);color:var(--color-text-secondary);line-height:var(--lh-relaxed)}
@media(min-width:768px){.feature-text{font-size:var(--fs-base)}}

/* ========================================
   FAQ
   ======================================== */
.faq-section{padding:var(--section-padding-y) 0;background:var(--bg-secondary)}
.faq-list{max-width:800px;margin:0 auto}
.faq-item{border:1px solid var(--border-secondary);border-radius:var(--radius-lg);margin-bottom:var(--space-4);overflow:hidden;transition:border-color var(--transition-base)}
.faq-item:hover{border-color:var(--border-primary)}
.faq-question{width:100%;display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);font-size:var(--fs-base);font-weight:var(--fw-semibold);color:var(--color-text-primary);text-align:left;cursor:pointer;background:var(--bg-card);min-height:44px;gap:var(--space-3)}
@media(min-width:768px){.faq-question{padding:var(--space-5) var(--space-6);font-size:var(--fs-lg)}}
.faq-icon{flex-shrink:0;width:24px;height:24px;transition:transform var(--transition-base)}
.faq-item.is-open .faq-icon{transform:rotate(45deg)}
.faq-answer{max-height:0;overflow:hidden;transition:max-height var(--transition-base)}
.faq-answer-inner{padding:var(--space-4) var(--space-5) var(--space-5);font-size:var(--fs-sm);color:var(--color-text-secondary);line-height:var(--lh-relaxed)}
@media(min-width:768px){.faq-answer-inner{padding:var(--space-4) var(--space-6) var(--space-6);font-size:var(--fs-base)}}

/* ========================================
   REVIEWS / CAROUSEL
   ======================================== */
.reviews-section{padding:var(--section-padding-y) 0;background:var(--bg-primary);overflow:hidden}
.reviews-carousel{position:relative;max-width:900px;margin:0 auto;overflow:hidden}
.reviews-track{display:flex;transition:transform 0.5s cubic-bezier(0.25,0.46,0.45,0.94);will-change:transform}
.review-slide{flex:0 0 100%;padding:0 var(--space-4)}
.review-card{background:var(--bg-card);border:1px solid var(--border-secondary);border-radius:var(--radius-xl);padding:var(--space-8) var(--space-6);text-align:center}
@media(min-width:768px){.review-card{padding:var(--space-10) var(--space-12)}}
.review-quote{font-size:3rem;color:var(--color-primary);opacity:0.25;line-height:1;margin-bottom:var(--space-2);font-family:Georgia,serif}
.review-stars{display:flex;justify-content:center;gap:2px;margin-bottom:var(--space-4);color:var(--color-primary);font-size:var(--fs-lg)}
.review-text{font-size:var(--fs-base);color:var(--color-text-secondary);line-height:var(--lh-relaxed);margin-bottom:var(--space-6);font-style:italic;max-width:620px;margin-left:auto;margin-right:auto}
@media(min-width:768px){.review-text{font-size:var(--fs-lg)}}
.review-author{display:flex;align-items:center;justify-content:center;gap:var(--space-3)}
.review-author-avatar{width:48px;height:48px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--color-primary),var(--color-accent));display:flex;align-items:center;justify-content:center;font-weight:var(--fw-bold);font-size:var(--fs-lg);color:var(--color-text-on-primary);flex-shrink:0}
.review-author-info{text-align:left}
.review-author-name{font-size:var(--fs-base);font-weight:var(--fw-semibold)}
.review-author-meta{font-size:var(--fs-xs);color:var(--color-text-tertiary)}
.carousel-controls{display:flex;align-items:center;justify-content:center;gap:var(--space-4);margin-top:var(--space-8)}
.carousel-btn{width:44px;height:44px;border-radius:var(--radius-full);border:1px solid var(--border-secondary);display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);background:var(--bg-card);color:var(--color-text-secondary)}
.carousel-btn:hover{border-color:var(--color-primary);color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 10%,transparent)}
.carousel-btn svg{width:20px;height:20px}
.carousel-dots{display:flex;gap:var(--space-2);align-items:center}
.carousel-dot{width:10px;height:10px;border-radius:var(--radius-full);background:var(--border-secondary);border:none;cursor:pointer;transition:all var(--transition-fast);padding:0}
.carousel-dot.is-active{background:var(--color-primary);width:28px}

/* ========================================
   CTA SECTION
   ======================================== */
.cta-section{padding:var(--section-padding-y) 0;background:var(--bg-tertiary);text-align:center;position:relative;overflow:hidden}
.cta-section::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 50%,var(--theme-gradient-hero-1) 0%,transparent 50%),radial-gradient(circle at 70% 50%,var(--theme-gradient-hero-2) 0%,transparent 50%);pointer-events:none}
.cta-content{position:relative;z-index:1;max-width:700px;margin:0 auto}
.cta-title{font-size:var(--fs-3xl);font-weight:var(--fw-extrabold);margin-bottom:var(--space-4);letter-spacing:-0.02em}
@media(min-width:768px){.cta-title{font-size:var(--fs-4xl)}}
.cta-text{font-size:var(--fs-base);color:var(--color-text-secondary);margin-bottom:var(--space-8);line-height:var(--lh-relaxed)}
@media(min-width:768px){.cta-text{font-size:var(--fs-lg)}}
.hero-terms--spaced{margin-top:var(--space-4)}

/* ========================================
   FOOTER
   ======================================== */
.footer{background:var(--bg-tertiary);border-top:1px solid var(--border-secondary);padding:var(--space-12) 0 var(--space-8)}
.footer-payments{padding-bottom:var(--space-8);margin-bottom:var(--space-8);border-bottom:1px solid var(--border-secondary)}
.footer-payments-title{font-size:var(--fs-sm);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:0.05em;color:var(--color-text-tertiary);text-align:center;margin-bottom:var(--space-4)}
.payments-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-3);align-items:center}
.payment-item{width:72px;height:44px;background:rgba(255,255,255,0.07);border:1px solid var(--border-secondary);border-radius:var(--radius-base);display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);overflow:hidden;padding:var(--space-1)}
.payment-item:hover{border-color:var(--border-primary);background:rgba(255,255,255,0.12)}
@media(min-width:768px){.payment-item{width:88px;height:52px}}
.payment-item img{max-width:85%;max-height:75%;object-fit:contain}
.payment-item span{font-size:9px;font-weight:var(--fw-bold);color:var(--color-text-secondary);text-align:center;line-height:1.2}
@media(min-width:768px){.payment-item span{font-size:10px}}
.footer-grid{display:grid;gap:var(--space-8);margin-bottom:var(--space-8)}
@media(min-width:640px){.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.footer-grid{grid-template-columns:2fr 1fr 1fr 1fr}}
.footer-logo{display:flex;align-items:center;gap:var(--space-2);font-weight:var(--fw-extrabold);font-size:var(--fs-xl);color:var(--color-primary);margin-bottom:var(--space-4)}
.logo-icon--footer{width:32px;height:32px;font-size:.9rem}
.footer-desc{font-size:var(--fs-sm);color:var(--color-text-tertiary);line-height:var(--lh-relaxed);max-width:320px}
.footer-heading{font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--color-text-primary);margin-bottom:var(--space-4);text-transform:uppercase;letter-spacing:0.05em}
.footer-heading-link{color:inherit;text-decoration:none}
.footer-links{list-style:none;display:flex;flex-direction:column;gap:var(--space-2)}
.footer-links a{font-size:var(--fs-sm);color:var(--color-text-tertiary);transition:color var(--transition-fast);display:inline-flex;align-items:center;min-height:44px}
.footer-links a:hover{color:var(--color-primary)}
.footer-bottom{border-top:1px solid var(--border-secondary);padding-top:var(--space-6);text-align:center}
.footer-legal{font-size:var(--fs-xs);color:var(--color-text-tertiary);line-height:var(--lh-relaxed);max-width:800px;margin:0 auto}
.footer-legal p{margin-bottom:var(--space-3)}
.footer-trust-link{color:var(--color-primary)}

/* ========================================
   ANIMATIONS
   ======================================== */
.fade-in{opacity:0;transform:translateY(20px);transition:opacity 0.6s ease,transform 0.6s ease}
.fade-in.is-visible{opacity:1;transform:translateY(0)}
.stagger-item{opacity:0;transform:translateY(20px)}
.stagger-item:nth-child(1){transition-delay:.05s}.stagger-item:nth-child(2){transition-delay:.1s}
.stagger-item:nth-child(3){transition-delay:.15s}.stagger-item:nth-child(4){transition-delay:.2s}
.stagger-item:nth-child(5){transition-delay:.25s}.stagger-item:nth-child(6){transition-delay:.3s}
.stagger-item:nth-child(7){transition-delay:.35s}.stagger-item:nth-child(8){transition-delay:.4s}
.stagger-item:nth-child(9){transition-delay:.45s}.stagger-item:nth-child(10){transition-delay:.5s}
.stagger-item:nth-child(11){transition-delay:.55s}.stagger-item:nth-child(12){transition-delay:.6s}
.stagger-item:nth-child(13){transition-delay:.65s}.stagger-item:nth-child(14){transition-delay:.7s}
.stagger-item:nth-child(15){transition-delay:.75s}.stagger-item:nth-child(16){transition-delay:.8s}
.stagger-item:nth-child(17){transition-delay:.85s}.stagger-item:nth-child(18){transition-delay:.9s}
.stagger-item.is-visible{opacity:1;transform:translateY(0);transition:opacity 0.6s ease,transform 0.6s ease}

/* Pulse glow for CTA buttons */
@keyframes pulse-glow{0%,100%{box-shadow:var(--shadow-md),0 0 0 0 color-mix(in srgb,var(--color-primary) 40%,transparent)}50%{box-shadow:var(--shadow-lg),0 0 0 8px transparent}}
.btn-pulse{animation:pulse-glow 2s ease-in-out infinite}.btn-pulse:hover{animation:none}

/* ========================================
   PRINT STYLES
   ======================================== */
@media print{
    .header,.footer,.cookie-notice,.hero-cta,.btn,.menu-toggle,.carousel-controls,.fortune-wheel{display:none!important}
    body{background:#fff;color:#000}
    .hero{background:none;color:#000}
    a{color:#000;text-decoration:underline}
    .content-block p,.content-block li{color:#333}
}
