/**
 * Rendaforte — responsive.css
 * Breakpoints: ≤992px, ≤768px, ≤480px
 */

/* ==========================================================================
   ≤ 992px — Tablet landscape
   ========================================================================== */

@media (max-width: 992px) {

    /* Container */
    .rf-container {
        padding-left: 1.25rem;
        padding-right: 1.25rem;
    }

    /* Navigation — show burger */
    .rf-burger {
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .rf-header-inner {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        padding: 1rem 0;
    }

    .rf-header-logo {
        margin-bottom: 0;
        text-align: left;
    }

    .rf-header-divider {
        display: none;
    }

    .rf-nav {
        position: fixed;
        top: 0;
        right: -100%;
        width: 280px;
        height: 100vh;
        overflow-y: auto;
        background: var(--rf-surface);
        border-left: 1px solid var(--rf-border);
        box-shadow: var(--rf-shadow-lg);
        z-index: 999;
        transition: right .3s ease;
        padding: 1rem 0 2rem;
    }

    .rf-nav.is-open {
        right: 0;
    }

    .rf-nav-overlay {
        display: none;
        position: fixed;
        inset: 0;
        background: rgba(11,79,108,.4);
        z-index: 998;
    }

    .rf-nav-overlay.is-visible {
        display: block;
    }

    .rf-nav .menu {
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        padding: 0 1rem;
    }

    .rf-nav .menu > li > a {
        border-bottom: 1px solid var(--rf-border);
        padding: 1rem .5rem;
        border-left: none;
        border-right: none;
        border-top: none;
    }

    .rf-nav .menu > li.current-menu-item > a {
        border-bottom: 1px solid var(--rf-border);
        color: var(--rf-primary);
        background: var(--rf-bg);
        border-radius: var(--rf-radius);
    }

    .rf-nav .sub-menu {
        position: static;
        transform: none;
        box-shadow: none;
        border: none;
        border-left: 2px solid var(--rf-primary);
        border-radius: 0;
        padding: 0;
        margin-left: 1rem;
        display: none;
    }

    .rf-nav li.menu-item-has-children.is-open .sub-menu {
        display: block;
    }

    .rf-nav .sub-menu li a {
        padding: .65rem 1rem;
        font-size: .875rem;
    }

    /* Hero */
    .rf-hero-card {
        padding: 2.25rem 2rem;
    }

    /* Grids */
    .rf-grid-4 {
        grid-template-columns: repeat(2, 1fr);
    }

    .rf-grid-3 {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Steps */
    .rf-steps {
        grid-template-columns: repeat(3, 1fr);
        gap: 1.25rem;
    }

    /* Content area */
    .rf-content-area {
        grid-template-columns: 1fr;
    }

    .rf-sidebar {
        position: static;
    }

    /* Footer F3 */
    .rf-footer-f3-grid {
        grid-template-columns: 1fr 1fr;
        gap: 2rem;
    }

    /* Pros/Cons */
    .invalt-proscons {
        grid-template-columns: 1fr 1fr;
    }

    /* Review summary */
    .rf-review-summary {
        gap: 1.5rem;
        padding: 1.5rem;
    }

    /* Filter bar */
    .rf-filter-bar-inner {
        flex-wrap: wrap;
    }

    /* Expert note */
    .rf-expert-note {
        padding: 1.75rem 2rem;
        gap: 1.5rem;
    }

    /* Rating bar */
    .rf-rating-bar {
        grid-template-columns: 100px 1fr 45px;
    }

    /* Trust bar */
    .rf-trust-bar {
        gap: 1.5rem;
    }
}

/* ==========================================================================
   ≤ 768px — Tablet portrait / large mobile
   ========================================================================== */

@media (max-width: 768px) {

    /* Typography scale down */
    h1 { font-size: 1.85rem; }
    h2 { font-size: 1.5rem; }
    h3 { font-size: 1.25rem; }

    /* Section padding */
    .rf-section {
        padding: 2.5rem 0;
    }

    /* Hero card */
    .rf-hero {
        padding: 2rem 0;
    }

    .rf-hero-card {
        padding: 1.75rem 1.5rem;
    }

    .rf-hero-title {
        font-size: 1.65rem;
    }

    .rf-hero-stats {
        gap: 1.5rem;
    }

    .rf-hero-stat-number {
        font-size: 1.5rem;
    }

    /* Grids */
    .rf-grid-3 {
        grid-template-columns: 1fr;
    }

    .rf-grid-2 {
        grid-template-columns: 1fr;
    }

    .rf-grid-4 {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Steps */
    .rf-steps {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    /* Horizontal card */
    .rf-card-h {
        flex-direction: column;
    }

    .rf-card-h-img {
        flex: none;
        width: 100%;
        height: 100px;
        border-right: none;
        border-bottom: 1px solid var(--rf-border);
    }

    /* Footer F3 */
    .rf-footer-f3-grid {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .rf-footer-bottom-inner {
        flex-direction: column;
        text-align: center;
    }

    /* Form */
    .rf-form-row {
        grid-template-columns: 1fr;
    }

    /* Review summary */
    .rf-review-summary {
        flex-direction: column;
        text-align: center;
        padding: 1.5rem;
    }

    .rf-summary-score {
        width: 100%;
    }

    .rf-summary-bars {
        width: 100%;
    }

    /* Review form */
    .rf-review-form-wrap {
        padding: 1.5rem;
    }

    .rf-review-form-wrap::before {
        margin: -1.5rem -1.5rem 1.5rem;
    }

    /* Expert note */
    .rf-expert-note {
        flex-direction: column;
        padding: 1.5rem;
        gap: 1rem;
    }

    .rf-expert-avatar {
        width: 56px;
        height: 56px;
        font-size: 1.25rem;
    }

    /* Pros/Cons */
    .invalt-proscons {
        grid-template-columns: 1fr;
    }

    /* Quick facts */
    .rf-quick-facts td:first-child {
        width: 40%;
    }

    /* Filter bar */
    .rf-filter-bar {
        padding: 1rem;
    }

    .rf-filter-bar-inner {
        gap: .75rem;
    }

    .rf-filter-label {
        width: 100%;
    }

    .rf-filter-select {
        flex: 1;
    }

    .rf-filter-reset {
        margin-left: 0;
    }

    /* Rating bar label */
    .rf-rating-bar {
        grid-template-columns: 90px 1fr 40px;
        gap: .5rem;
    }

    /* Archive header */
    .rf-archive-header {
        padding: 2rem 0;
    }

    /* Trust bar */
    .rf-trust-bar {
        gap: 1.25rem;
    }

    .rf-trust-item {
        min-width: 120px;
    }

    /* Breadcrumb */
    .rf-breadcrumb ol {
        font-size: .775rem;
    }

    /* Form submit area */
    .rf-form-submit-area {
        flex-direction: column;
    }

    /* Affiliate box */
    .rf-affiliate-box {
        padding: 1.5rem;
    }

    /* Comparison table scroll */
    .rf-comparison-table {
        font-size: .85rem;
    }
}

/* ==========================================================================
   ≤ 480px — Small mobile
   ========================================================================== */

@media (max-width: 480px) {

    /* Container */
    .rf-container {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    /* Typography */
    h1 { font-size: 1.65rem; }
    h2 { font-size: 1.35rem; }

    /* Header logo */
    .rf-site-name {
        font-size: 1.25rem;
    }

    .rf-site-tagline {
        display: none;
    }

    /* Hero card */
    .rf-hero-card {
        padding: 1.5rem 1.25rem;
        border-radius: var(--rf-radius-lg);
    }

    .rf-hero-cta {
        flex-direction: column;
        align-items: stretch;
    }

    .rf-hero-cta .rf-btn {
        width: 100%;
        justify-content: center;
    }

    .rf-hero-stats {
        gap: 1rem;
    }

    /* Grid */
    .rf-grid-4 {
        grid-template-columns: 1fr;
    }

    /* Cards */
    .rf-card-h {
        border-radius: var(--rf-radius);
    }

    .rf-card-h-body {
        padding: 1rem;
    }

    .rf-card-h-facts {
        gap: .75rem;
    }

    /* Review cards */
    .rf-review-card {
        padding: 1.1rem;
    }

    .rf-review-card-header {
        flex-direction: column;
        gap: .5rem;
    }

    .rf-review-rating {
        align-items: flex-start;
    }

    /* Heart picker */
    .invalt-heart-btn {
        font-size: 1.65rem;
    }

    /* Footer */
    .rf-footer-main {
        padding: 2.5rem 0 2rem;
    }

    .rf-footer-legal {
        flex-wrap: wrap;
        justify-content: center;
    }

    /* Buttons full width on tiny screens */
    .rf-btn-lg {
        width: 100%;
        justify-content: center;
    }

    /* invalt-table scroll */
    .invalt-tablewrap {
        font-size: .825rem;
    }

    /* FAQ */
    .invalt-faq-q {
        font-size: .9rem;
    }

    /* Sort chips horizontal scroll */
    .rf-sort-chips {
        overflow-x: auto;
        flex-wrap: nowrap;
        padding-bottom: .25rem;
    }

    .rf-sort-chip {
        white-space: nowrap;
        flex-shrink: 0;
    }

    /* Section header */
    .rf-section-header {
        margin-bottom: 1.75rem;
    }

    /* Quick facts compact */
    .rf-quick-facts td {
        padding: .55rem .85rem;
        font-size: .825rem;
    }

    /* Widget */
    .rf-widget {
        padding: 1.1rem;
    }

    /* Rating bars */
    .rf-rating-bar {
        grid-template-columns: 75px 1fr 35px;
        gap: .4rem;
    }

    .rf-rating-bar-label {
        font-size: .78rem;
    }
}

/* ==========================================================================
   REDUCED MOTION
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: .01ms !important;
        transition-duration: .01ms !important;
    }
}

/* ==========================================================================
   PRINT
   ========================================================================== */

@media print {
    .rf-header,
    .rf-footer,
    .rf-filter-bar,
    .rf-review-form-wrap,
    .rf-sidebar,
    .rf-burger,
    .rf-nav,
    .rf-affiliate-box {
        display: none !important;
    }

    .rf-content-area {
        grid-template-columns: 1fr;
    }

    body {
        font-size: 11pt;
        color: #000;
    }

    a {
        color: inherit;
        text-decoration: none;
    }
}
