/* === GP OVERRIDES === */
    a, a:visited, a:hover, a:focus, a:active { text-decoration: none !important; }
    .entry-content a:hover { text-decoration: underline !important; }
    .site-header:not(.rc-header), #masthead:not(.rc-header) { display: none !important; }
    .site-footer:not(.rc-footer), #colophon:not(.rc-footer) { display: none !important; }
    #right-sidebar, #left-sidebar, .sidebar { display: none !important; }
    .page-header, .entry-header { display: none !important; }
    .inside-article, .entry-content { padding-left: 0 !important; padding-right: 0 !important; }
    .site-content .inside-page, .site-content .inside-article { max-width: 100% !important; width: 100% !important; margin: 0 !important; padding: 0 !important; }
    .site-content > .grid-container, .content-area { max-width: 100% !important; padding: 0 !important; width: 100% !important; }
    .site-header, .site-content, .site-footer, .inside-article { border: none !important; box-shadow: none !important; }
    body, .site, #page { background: var(--rc-white) !important; }
    body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

    /* === HEADER === */
    body.admin-bar .rc-header { top: 32px !important; }
    body.admin-bar .rc-header-spacer { height: calc(70px + 32px) !important; }
    @media (max-width: 782px) {
        body.admin-bar .rc-header { top: 46px !important; }
        body.admin-bar .rc-header-spacer { height: calc(60px + 46px) !important; }
    }
    .rc-header-logo img { height: 36px; width: auto; display: block; }
    /* 09/08/2026: αφαιρέθηκε το `.rc-header a[href^="tel:"]` από αυτή τη γραμμή.
       Το 20-theme-shell.php απέδιδε τηλέφωνο στην κεφαλίδα και αυτός ο κανόνας το
       έσβηνε — ένα αρχείο έγραφε markup που το άλλο εξαφάνιζε.

       Το τηλέφωνο ΜΕΝΕΙ ορατό σε desktop: για κοινό 30-65 που είναι καχύποπτο
       απέναντι σε τηλεφωνικές πιέσεις, ένας ορατός αριθμός λέει «υπάρχει άνθρωπος».
       Κάτω από 900px κρύβεται ήδη από το .rc-hide-mobile του wrapper, γιατί εκεί
       ζει μέσα στο μενού κινητού μαζί με το ωράριο. */
    .rc-header-phone, .rc-header .rc-btn-ghost { display: none !important; }
    .rc-header .rc-btn-primary { display: inline-flex !important; }
    .rc-hamburger, .rc-menu-toggle, .rc-mobile-toggle { display: none !important; }

    /* === MOBILE MENU === */
    @media (max-width: 768px) {
        .rc-nav, .rc-header-nav, .rc-desktop-nav, nav.rc-nav { display: none !important; }
        .rc-hamburger, .rc-menu-toggle, .rc-mobile-toggle {
            display: flex !important; align-items: center; justify-content: center;
            width: 44px; height: 44px; background: none; border: none; cursor: pointer; padding: 0; z-index: 1001; position: relative;
        }
        .rc-hamburger span { display: block !important; width: 22px; height: 2px; background: var(--rc-text-primary, var(--rc-ink-900)); position: relative; transition: all 0.3s ease; }
        .rc-hamburger span::before, .rc-hamburger span::after { content: ''; display: block; width: 22px; height: 2px; background: var(--rc-text-primary, var(--rc-ink-900)); position: absolute; left: 0; transition: all 0.3s ease; }
        .rc-hamburger span::before { top: -7px; }
        .rc-hamburger span::after { top: 7px; }
        .rc-header .rc-btn-primary { display: none !important; }
        .rc-mobile-nav, .rc-mobile-menu { position: fixed !important; top: 0; left: 0; width: 100%; height: 100vh; background: var(--rc-white); z-index: 999; display: none; flex-direction: column; padding: 80px 2rem 2rem; overflow-y: auto; }
        .rc-mobile-nav.active, .rc-mobile-menu.active, .rc-mobile-nav.open, .rc-mobile-menu.open { display: flex !important; }
        .rc-mobile-nav a, .rc-mobile-menu a { font-size: 1.25rem; font-weight: 600; color: var(--rc-text-primary, var(--rc-ink-900)); padding: 1rem 0; border-bottom: 1px solid var(--rc-border, var(--rc-ink-200)); }
        body.rc-menu-open { overflow: hidden !important; }
    }

    /* === SHARED COMPONENTS === */
    /* Provider Logos */
    .rc-provider-logos { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 1.5rem; }
    .rc-provider-logo-item { display: flex; align-items: center; justify-content: center; padding: 0.75rem 1.25rem; background: var(--rc-white); border: 1px solid var(--rc-border, var(--rc-ink-200)); border-radius: 12px; transition: all 0.2s ease; }
    .rc-provider-logo-item:hover { border-color: var(--rc-green, var(--rc-brand)); box-shadow: 0 2px 8px rgba(67,56,202,0.08); }
    .rc-provider-logo-item img { height: 28px; width: auto; max-width: 100px; object-fit: contain; display: block; }
    @media (max-width: 600px) { .rc-provider-logos { gap: 0.75rem; } .rc-provider-logo-item { padding: 0.5rem 0.75rem; } .rc-provider-logo-item img { height: 22px; } }

    /* Testimonials */
    .rc-testimonials-grid { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 1.5rem !important; }
    .rc-testimonial-card { background: var(--rc-white) !important; border: 1px solid var(--rc-border, var(--rc-ink-200)) !important; border-radius: 20px !important; padding: 1.75rem !important; transition: box-shadow 0.3s ease !important; display: flex; flex-direction: column; }
    .rc-testimonial-card:hover { box-shadow: 0 8px 30px rgba(0,0,0,0.06) !important; }
    .rc-testimonial-stars { color: var(--rc-warn) !important; font-size: 1rem !important; margin-bottom: 0.75rem !important; letter-spacing: 2px !important; }
    .rc-testimonial-quote { font-size: 0.95rem !important; line-height: 1.65 !important; color: var(--rc-text-secondary, var(--rc-ink-600)) !important; margin-bottom: 1.25rem !important; font-style: italic !important; flex: 1; }
    .rc-testimonial-footer { display: flex !important; align-items: center !important; gap: 0.75rem !important; }
    .rc-testimonial-avatar { width: 40px !important; height: 40px !important; border-radius: 50% !important; background: linear-gradient(135deg, var(--rc-brand), var(--rc-brand-700)) !important; color: var(--rc-white) !important; display: flex !important; align-items: center !important; justify-content: center !important; font-weight: 700 !important; font-size: 1rem !important; flex-shrink: 0 !important; }
    .rc-testimonial-name { display: block !important; font-size: 0.9rem !important; color: var(--rc-text-primary, var(--rc-ink-900)) !important; font-weight: 600 !important; }
    .rc-testimonial-city { display: block !important; font-size: 0.8rem !important; color: var(--rc-text-muted, var(--rc-ink-500)) !important; }
    .rc-testimonial-savings { margin-left: auto !important; text-align: right !important; font-size: 0.8rem !important; color: var(--rc-text-muted, var(--rc-ink-500)) !important; }
    .rc-testimonial-savings .rc-mono { font-size: 1.1rem !important; font-weight: 700 !important; display: block !important; }
    @media (max-width: 768px) { .rc-testimonials-grid { grid-template-columns: 1fr !important; } }

    /* Calculator */
    .rc-calc-card, .rc-lp-calc-card { max-width: 680px !important; margin: 0 auto !important; background: var(--rc-white) !important; border: 2px solid var(--rc-green, var(--rc-brand)) !important; border-radius: 20px !important; padding: 2.5rem !important; box-shadow: 0 4px 24px rgba(67,56,202,0.08) !important; }
    .rc-calc-slider-row { display: flex !important; align-items: center !important; gap: 1rem !important; margin: 0.75rem 0 1.25rem !important; }
    .rc-calc-slider-row .rc-range { flex: 1 !important; }
    .rc-calc-kwh-display { font-size: 1.1rem !important; font-weight: 700 !important; color: var(--rc-text-primary, var(--rc-ink-900)) !important; min-width: 90px !important; text-align: right !important; }
    .rc-calc-presets { display: grid !important; grid-template-columns: repeat(4, 1fr) !important; gap: 0.5rem !important; margin-bottom: 2rem !important; }
    .rc-calc-preset { padding: 0.75rem 0.5rem !important; border: 1.5px solid var(--rc-border, var(--rc-ink-200)) !important; border-radius: 12px !important; background: var(--rc-white) !important; cursor: pointer !important; font-size: 0.85rem !important; font-weight: 600 !important; color: var(--rc-text-secondary, var(--rc-ink-600)) !important; text-align: center !important; transition: all 0.2s !important; font-family: inherit !important; line-height: 1.3 !important; }
    .rc-calc-preset .rc-mono { font-size: 0.75rem !important; color: var(--rc-text-muted, var(--rc-ink-500)) !important; font-weight: 500 !important; }
    .rc-calc-preset:hover { border-color: var(--rc-green, var(--rc-brand)) !important; color: var(--rc-green, var(--rc-brand)) !important; }
    .rc-calc-preset.active { border-color: var(--rc-green, var(--rc-brand)) !important; background: var(--rc-brand-50) !important; color: var(--rc-brand-800) !important; }
    .rc-calc-preset.active .rc-mono { color: var(--rc-brand-700) !important; }
    @media (max-width: 600px) { .rc-calc-card, .rc-lp-calc-card { padding: 1.5rem !important; } .rc-calc-presets { grid-template-columns: repeat(2, 1fr) !important; } }
    .rc-calc-result-box, .rc-lp-calc-result { text-align: center; }
    .rc-calc-result-box { background: linear-gradient(135deg, var(--rc-brand-50), var(--rc-brand-50)) !important; border-radius: 16px !important; padding: 1.5rem !important; }
    .rc-calc-result-label, .rc-lp-calc-result-label { font-size: 0.9rem !important; color: var(--rc-text-muted, var(--rc-ink-500)) !important; font-weight: 500 !important; display: block !important; margin-bottom: 0.5rem !important; }

    /* Range Slider */
    input[type="range"].rc-range { -webkit-appearance: none !important; appearance: none !important; width: 100% !important; height: 6px !important; border-radius: 3px !important; background: var(--rc-ink-200) !important; outline: none !important; cursor: pointer !important; }
    input[type="range"].rc-range::-webkit-slider-thumb { -webkit-appearance: none !important; appearance: none !important; width: 24px !important; height: 24px !important; border-radius: 50% !important; background: var(--rc-green, var(--rc-brand)) !important; cursor: pointer !important; border: 3px solid var(--rc-white) !important; box-shadow: 0 2px 6px rgba(67,56,202,0.3) !important; transition: transform 0.2s !important; }
    input[type="range"].rc-range::-webkit-slider-thumb:hover { transform: scale(1.15) !important; }
    input[type="range"].rc-range::-moz-range-thumb { width: 24px !important; height: 24px !important; border-radius: 50% !important; background: var(--rc-green, var(--rc-brand)) !important; cursor: pointer !important; border: 3px solid var(--rc-white) !important; box-shadow: 0 2px 6px rgba(67,56,202,0.3) !important; }

    /* FAQ Accordion */
    .rc-faq-list { max-width: 720px; margin: 0 auto; }
    .rc-faq-list .rc-accordion { margin-bottom: 0.75rem; }
    .rc-faq-list .rc-accordion-trigger { width: 100% !important; padding: 1.25rem 1.5rem !important; background: var(--rc-white) !important; border: 1px solid var(--rc-border, var(--rc-ink-200)) !important; border-radius: 12px !important; text-align: left !important; font-size: 1rem !important; font-weight: 600 !important; color: var(--rc-text-primary, var(--rc-ink-900)) !important; cursor: pointer !important; font-family: inherit !important; display: flex !important; align-items: center !important; justify-content: space-between !important; transition: border-color 0.2s ease !important; }
    .rc-faq-list .rc-accordion-trigger::after { content: '+' !important; font-size: 1.3rem !important; font-weight: 400 !important; color: var(--rc-text-muted, var(--rc-ink-500)) !important; flex-shrink: 0 !important; margin-left: 1rem !important; }
    .rc-faq-list .rc-accordion.rc-open .rc-accordion-trigger::after { content: '−' !important; color: var(--rc-green, var(--rc-brand)) !important; }
    .rc-faq-list .rc-accordion-trigger:hover { border-color: var(--rc-green, var(--rc-brand)) !important; }
    .rc-faq-list .rc-accordion.rc-open .rc-accordion-trigger { border-color: var(--rc-green, var(--rc-brand)) !important; border-bottom-left-radius: 0 !important; border-bottom-right-radius: 0 !important; border-bottom: none !important; }
    .rc-faq-list .rc-accordion-content { max-height: 0; overflow: hidden; transition: max-height 0.35s ease, padding 0.35s ease; padding: 0 1.5rem !important; background: var(--rc-white) !important; border: 1px solid transparent !important; border-top: none !important; border-radius: 0 0 12px 12px !important; }
    .rc-faq-list .rc-accordion.rc-open .rc-accordion-content { max-height: 500px; padding: 1rem 1.5rem 1.25rem !important; border-color: var(--rc-green, var(--rc-brand)) !important; }
    /* 09/08/2026 — Η ΑΙΤΙΑ ΠΟΥ ΤΟ FAQ ΤΗΣ ΑΡΧΙΚΗΣ ΔΕΝ ΑΝΟΙΓΕ.
       Ο κανόνας από πάνω κλείνει το περιεχόμενο με max-height:0 και το ανοίγει
       μόνο όταν υπάρχει η κλάση .rc-open — που την έβαζε η JavaScript του παλιού
       accordion. Στην αρχική το FAQ πέρασε σε <details> (CC_03): το στοιχείο
       ΑΝΟΙΓΕ κανονικά (open=true, display:block) αλλά έμενε καρφωμένο στα 0px.
       Δηλαδή έμοιαζε νεκρό ενώ δούλευε.
       Το max-height:none αντί για 500px: μια μεγάλη απάντηση δεν κόβεται. */
    .rc-faq-list details[open] > .rc-accordion-content { max-height: none !important; padding: 1rem 1.5rem 1.25rem !important; }
    .rc-faq-list details > .rc-accordion-content { transition: none; }
    .rc-faq-list details[open] > summary { border-color: var(--rc-brand) !important; border-bottom-left-radius: 0 !important; border-bottom-right-radius: 0 !important; }
    .rc-faq-list .rc-accordion-content p { font-size: 0.95rem !important; line-height: 1.7 !important; color: var(--rc-text-secondary, var(--rc-ink-600)) !important; margin: 0 !important; }

    /* Section common */
    .rc-section { padding: 4rem 0; }
    .rc-section-alt { background: var(--rc-ink-50) !important; }
    .rc-section-sub { max-width: 560px; margin: 0.5rem auto 2.5rem; color: var(--rc-text-secondary, var(--rc-ink-600)); }

    /* Footer logo */
    .rc-footer-logo img, .rc-footer .rc-logo img, .rc-footer-brand img { height: 32px; width: auto; display: block; filter: brightness(0) invert(1); }

    /* Smooth transitions */
    a, button, .rc-btn, .rc-card, input, select { transition: all 0.2s ease; }
    input:focus, select:focus, textarea:focus { outline: none !important; border-color: var(--rc-green, var(--rc-brand)) !important; box-shadow: 0 0 0 3px rgba(67,56,202,0.1) !important; }

    /* (removed) fake live-counter + toast social-proof CSS — A1 */
