/*
Theme Name: Red Box Surveys
Theme URI: https://redboxsurveys.co.uk
Description: Custom Astra child theme for Red Box Surveys. Dark design, performance optimised.
Author: Cheshire Cat Marketing
Author URI: https://www.cheshirecatmarketing.co.uk
Template: astra
Version: 3.9.35
Text Domain: redbox-surveys
*/

/* === DESIGN SYSTEM: CSS CUSTOM PROPERTIES === */
:root {
    --red: #C52732;
    --red-h: #a8202a;
    --red-light: rgba(197,39,50,.06);
    --red-bd: rgba(197,39,50,.3);
    --dk: #1C1C1C;
    --dk2: #252525;
    --dk3: #141414;
    --lt: #F8F8F8;
    --bd: #e5e5e5;
    --tx: #1a1a1a;
    --tx2: #555;
    --tx3: #888;
    --ff: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif;
    --mx: 1400px;
    --px: 48px;
    --radius: 20px;
    --radius-sm: 12px;
    --radius-pill: 50px;
}

/* === ASTRA OVERRIDES === */
body.rbs-custom-header #masthead,
body.rbs-custom-header .ast-primary-header,
body.rbs-custom-header .ast-mobile-header-wrap {
    display: none !important;
}
body.rbs-custom-footer .site-footer,
body.rbs-custom-footer .ast-footer-overlay,
body.rbs-custom-footer #colophon {
    display: none !important;
}
body.rbs-fullwidth .site-content,
body.rbs-fullwidth .ast-container {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}
body.rbs-fullwidth #content .ast-container {
    max-width: 100% !important;
    padding: 0 !important;
}
body.rbs-fullwidth .entry-content {
    margin: 0 !important;
}
/* Kill any Astra-injected gaps */
body.rbs-fullwidth #content,
body.rbs-fullwidth #primary,
body.rbs-fullwidth main,
body.rbs-fullwidth .site-main {
    padding: 0 !important;
    margin: 0 !important;
}
body.rbs-fullwidth .ast-separate-container .ast-article-single {
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
}
body.rbs-fullwidth .ast-separate-container .ast-article-post {
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
}

/* Kill Astra's default link colors everywhere */
a, a:hover, a:focus, a:active, a:visited {
    color: inherit;
    text-decoration: none;
}
.entry-content a:not(.cta-pill):not(.hero-cta):not(.sv-hero-cta):not(.pill-dk):not(.pill-outline):not(.svc-card):not(.svh-card):not(.hd-mega-card):not(.port-card-lk):not(.sv-rel-card):not(.blog-card) {
    color: var(--red);
}
.entry-content a:hover {
    text-decoration: underline;
}
/* Override Astra button styles */
.ast-button, .ast-custom-button, button, input[type="submit"] {
    font-family: var(--ff) !important;
}
/* Nuclear: kill Astra blue on EVERY button and link state */
button, button:hover, button:focus, button:active, button:visited,
input[type="submit"], input[type="submit"]:hover, input[type="submit"]:focus,
.ast-button:hover, .ast-button:focus, .ast-custom-button:hover, .ast-custom-button:focus {
    color: inherit !important;
    outline-color: var(--red) !important;
}
/* Prevent Astra from applying blue to any CTA buttons */
.cta-pill, .cta-pill:hover, .cta-pill:focus, .cta-pill:visited,
.hero-cta, .hero-cta:hover, .hero-cta:focus, .hero-cta:visited,
.sv-hero-cta, .sv-hero-cta:hover, .sv-hero-cta:focus, .sv-hero-cta:visited,
.sc-hero-cta, .sc-hero-cta:hover, .sc-hero-cta:focus, .sc-hero-cta:visited,
.cs-hero-cta, .cs-hero-cta:hover, .cs-hero-cta:focus, .cs-hero-cta:visited,
.cst-hero-cta, .cst-hero-cta:hover, .cst-hero-cta:focus, .cst-hero-cta:visited,
.e404-cta, .e404-cta:hover, .e404-cta:focus, .e404-cta:visited,
.pill-dk, .pill-dk:hover, .pill-dk:focus, .pill-dk:visited,
.pill-outline, .pill-outline:hover, .pill-outline:focus, .pill-outline:visited {
    color: #fff !important;
    text-decoration: none !important;
}
/* Cookie consent buttons */
.rbs-cookie-btn, .rbs-cookie-btn:hover, .rbs-cookie-btn:focus,
.rbs-cookie-save-btn, .rbs-cookie-save-btn:hover, .rbs-cookie-save-btn:focus {
    outline-color: var(--red) !important;
}
.rbs-cookie-accept, .rbs-cookie-accept:hover, .rbs-cookie-accept:focus,
.rbs-cookie-save-btn, .rbs-cookie-save-btn:hover, .rbs-cookie-save-btn:focus {
    color: #fff !important;
    background-color: #C52732 !important;
}
.rbs-cookie-accept:hover, .rbs-cookie-save-btn:hover {
    background-color: #a82230 !important;
}
.rbs-cookie-reject, .rbs-cookie-reject:hover, .rbs-cookie-reject:focus {
    color: #333 !important;
    background-color: #f5f5f5 !important;
}
.rbs-cookie-reject:hover {
    background-color: #e8e8e8 !important;
}
.rbs-cookie-manage, .rbs-cookie-manage:hover, .rbs-cookie-manage:focus {
    color: #555 !important;
    background-color: transparent !important;
}
/* Form submit buttons */
.sv-cta-btn, .sv-cta-btn:hover, .sv-cta-btn:focus,
.rbs-form-submit, .rbs-form-submit:hover, .rbs-form-submit:focus {
    color: #fff !important;
}
/* Kill Astra visited link purple */
a:visited {
    color: inherit;
}

/* === PREFERS REDUCED MOTION === */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
        scroll-behavior: auto !important;
    }
}

/* === GLOBAL CTA ICON FIX === */
.cta-ico svg,
.hero-cta .cta-ico svg,
.sv-hero-cta .cta-ico svg,
.cst-hero-cta .cta-ico svg {
    color: #fff !important;
    stroke: #fff !important;
}

/* === KILL ASTRA MOBILE TOGGLE DEFAULTS === */
body .mob-tog,
body .mob-tog:hover,
body .mob-tog:focus,
body .mob-tog:active,
body button.mob-tog,
button.mob-tog,
.ast-header-break-point .mob-tog,
.ast-header-break-point button.mob-tog,
.ast-mobile-header-wrap .mob-tog,
#masthead .mob-tog,
header .mob-tog,
.rbs-hd .mob-tog {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    color: #fff !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    -webkit-appearance: none !important;
    -webkit-tap-highlight-color: transparent !important;
}
body .mob-tog:focus-visible,
button.mob-tog:focus-visible {
    outline: 2px solid var(--red) !important;
    outline-offset: 4px !important;
    border-radius: 4px !important;
    background: transparent !important;
}

/* === ASTRA SCROLL-TO-TOP OVERRIDE === */
#ast-scroll-top,
a#ast-scroll-top {
    background: var(--red) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 50% !important;
    width: 44px !important;
    height: 44px !important;
    box-shadow: 0 4px 16px rgba(197,39,50,.3) !important;
    transition: background .25s, box-shadow .25s !important;
}
#ast-scroll-top:hover,
a#ast-scroll-top:hover {
    background: var(--red-h) !important;
    box-shadow: 0 6px 24px rgba(197,39,50,.4) !important;
}
#ast-scroll-top .ast-icon,
#ast-scroll-top svg {
    color: #fff !important;
    fill: #fff !important;
}

/* === KILL ASTRA BUTTON DEFAULTS === */
.mob-expand,
button.mob-expand,
body .mob-expand,
body button.mob-expand,
.mob-nav button.mob-expand,
.mob-expand:hover,
.mob-expand:focus,
.mob-expand:active,
body .mob-expand:hover,
body .mob-expand:focus,
body .mob-expand:active {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    -webkit-appearance: none !important;
}
body .mob-nav-item.open .mob-expand,
body .mob-nav-item.open .mob-expand:hover {
    background: transparent !important;
    background-color: rgba(197,39,50,.15) !important;
}
body .sv-faq-q,
body .sv-faq-q:visited,
body .sv-faq-q:hover,
body .sv-faq-q:focus,
body .sv-faq-q:active,
.ast-single-post .sv-faq-q,
.ast-page .sv-faq-q,
button.sv-faq-q {
    background: transparent !important;
    background-color: transparent !important;
    color: var(--tx) !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    -webkit-appearance: none !important;
    -webkit-tap-highlight-color: transparent !important;
}
body .sv-faq-q:focus-visible {
    outline: 2px solid var(--red) !important;
    outline-offset: 4px !important;
    border-radius: 4px !important;
    background: transparent !important;
}
body .sv-faq-item.open .sv-faq-q,
body .sv-faq-item.open .sv-faq-q:focus,
body .sv-faq-item.open .sv-faq-q:active {
    background: transparent !important;
    color: var(--tx) !important;
}