/* =====================================================================
   Real Dumpspedia — Cert Path Theme
   Shared design system for the site chrome (header / footer) and the
   home page. Loaded AFTER styles.css + theme-dumpschool.css so the
   rules here win where they overlap with the legacy stylesheets.
   ===================================================================== */

:root{
    --rd-ink:#211C1A;
    --rd-paper:#FFFFFF;
    --rd-paper-alt:#F6EEE6;
    --rd-card:#F8F1E9;
    --rd-line:#E9DFD3;
    --rd-green:#149174;
    --rd-green-dark:#0E7A61;
    --rd-green-soft:#5FBBA2;
    --rd-muted:#736F6C;
    --rd-radius:16px;
    --rd-font-display:'Poppins', sans-serif;
    --rd-font-body:'Roboto', sans-serif;
    --rd-font-mono:'Roboto Mono', monospace;
    --rd-wrap:1180px;
}

/* ---------------------------------------------------------------
   Legacy resets — the old stylesheets clip the page and style the
   bare <header>/<footer> elements, both of which fight the new chrome.
   `overflow-x: clip` keeps the horizontal clamp without creating a
   scroll container (which would kill the sticky header).
   --------------------------------------------------------------- */
html, body{
    overflow-x:hidden;
    overflow-x:clip;
}
body{
    font-family:var(--rd-font-body);
    color:var(--rd-ink);
    background:var(--rd-paper);
    -webkit-font-smoothing:antialiased;
}
#wrapper{
    overflow:visible;
    height:auto;
}
header.rd-header,
footer.rd-footer{
    margin:0;
    overflow:visible;
}

.rd-wrap{
    max-width:var(--rd-wrap);
    margin:0 auto;
    padding:0 24px;
    width:100%;
}

/* styles.css ships global `span{display:block}`, `a{display:block}` and
   `input{padding:8px 5px!important}` rules. `:where()` keeps these resets at
   element-level specificity so every class rule below still wins. */
:where(.rd-header, .rd-footer, .rd-home, .rd-auth-page) span{ display:inline; }
:where(.rd-header, .rd-footer, .rd-home, .rd-auth-page) a{ display:inline; }

.rd-header :focus-visible,
.rd-footer :focus-visible,
.rd-home :focus-visible,
.rd-auth-page :focus-visible{
    outline:3px solid var(--rd-green);
    outline-offset:2px;
}

/* ---------------------------------------------------------------
   Buttons
   --------------------------------------------------------------- */
.rd-btn{
    display:inline-flex; align-items:center; justify-content:center; gap:8px;
    font-family:var(--rd-font-body); font-weight:700; font-size:14.5px; line-height:1.2;
    padding:12px 22px; border-radius:6px; cursor:pointer;
    border:2px solid var(--rd-ink); background:var(--rd-paper); color:var(--rd-ink);
    transition:transform .15s ease, box-shadow .15s ease;
    text-decoration:none;
}
.rd-btn:hover,
.rd-btn:focus{
    transform:translate(-2px,-2px);
    box-shadow:4px 4px 0 var(--rd-ink);
    text-decoration:none;
}
.rd-btn-green{ background:var(--rd-green); color:#fff; border-color:var(--rd-green); }
.rd-btn-green:hover, .rd-btn-green:focus{ color:#fff; }
.rd-btn-outline{ background:var(--rd-paper); color:var(--rd-ink); }
.rd-btn-outline:hover, .rd-btn-outline:focus{ color:var(--rd-ink); }
.rd-btn-sm{ font-size:13px; padding:9px 16px; }

/* =====================================================================
   HEADER
   ===================================================================== */
.rd-header{
    background:var(--rd-paper);
    border-bottom:2px solid var(--rd-ink);
    position:sticky; top:0; z-index:900;
}
.rd-header a{ text-decoration:none; }

.rd-header-top{ border-bottom:1px solid var(--rd-line); }
.rd-header-inner{
    display:flex; align-items:center; gap:24px;
    padding:14px 24px;
}

.rd-logo{ flex:none; display:flex; align-items:center; }
.rd-logo img{ max-height:52px; width:auto; display:block; }
.rd-logo-text{
    font-family:var(--rd-font-display); font-weight:700; font-size:21px;
    color:var(--rd-ink); letter-spacing:-0.01em;
}
.rd-logo-text .mark{ color:var(--rd-green); }

/* Search */
.rd-search{
    flex:1 1 auto; max-width:460px; margin:0;
    display:flex; align-items:center;
    border:2px solid var(--rd-ink); border-radius:999px;
    background:var(--rd-paper); overflow:hidden;
}
.rd-search input[type="text"]{
    flex:1 1 auto; min-width:0;
    border:none; background:transparent; outline:none;
    padding:10px 18px !important; font-size:14px; font-family:var(--rd-font-body);
    color:var(--rd-ink);
}
.rd-search input::placeholder{ color:var(--rd-muted); }
.rd-search .rd-search-btn{
    flex:none; border:none; cursor:pointer;
    background:var(--rd-green); color:#fff;
    padding:0 20px; align-self:stretch;
    display:flex; align-items:center;
    font-size:15px;
}
.rd-search .rd-search-btn:hover{ background:var(--rd-green-dark); }

/* Actions */
.rd-actions{ flex:none; margin-left:auto; display:flex; align-items:center; gap:18px; }
.rd-action-link{
    font-size:13.5px; font-weight:600; color:var(--rd-muted);
    display:inline-flex; align-items:center; gap:7px;
}
.rd-action-link:hover{ color:var(--rd-green); }
.rd-cart{
    display:inline-flex; align-items:center; gap:7px;
    font-size:13.5px; font-weight:600; color:var(--rd-ink);
}
.rd-cart:hover{ color:var(--rd-green); }
.rd-cart-count{
    display:inline-flex; align-items:center; justify-content:center;
    min-width:22px; height:22px; padding:0 6px;
    border-radius:999px; background:var(--rd-green); color:#fff;
    font-family:var(--rd-font-mono); font-size:11px; font-weight:700;
}

.rd-menu-toggle{
    display:none; flex-direction:column; gap:4px;
    background:none; border:none; cursor:pointer; padding:6px;
}
.rd-menu-toggle span{ width:22px; height:2px; background:var(--rd-ink); display:block; }

/* Nav row */
.rd-header-nav{ background:var(--rd-paper); }
.rd-nav-inner{
    display:flex; align-items:center; justify-content:space-between; gap:24px;
    padding:0 24px;
}
.rd-nav{ display:flex; gap:30px; align-items:center; list-style:none; margin:0; padding:0; }
.rd-nav li{ list-style:none; margin:0; padding:0; }
.rd-nav a{
    display:inline-block;
    font-size:14.5px; font-weight:600; color:var(--rd-ink);
    padding:14px 0; border-bottom:2px solid transparent;
}
.rd-nav a:hover,
.rd-nav li.is-active a{ border-bottom-color:var(--rd-green); color:var(--rd-green); }
.rd-nav-close{ display:none; }
.rd-nav-cta{ flex:none; }

.rd-header-msg{
    display:block; background:var(--rd-ink); color:#fff;
    font-family:var(--rd-font-mono); font-size:12.5px; text-align:center; padding:8px 16px;
}

.rd-nav-backdrop{
    display:none; position:fixed; inset:0; background:rgba(33,28,26,.45); z-index:890;
}
.rd-nav-backdrop.is-open{ display:block; }

/* =====================================================================
   FOOTER
   ===================================================================== */
.rd-footer{
    background:var(--rd-paper);
    color:var(--rd-ink);
    border-top:2px solid var(--rd-ink);
    margin-top:64px;
}
.rd-footer a{ text-decoration:none; }

/* Top rated strip */
.rd-toprated{ background:var(--rd-paper-alt); border-bottom:1px solid var(--rd-line); padding:34px 0; }
.rd-toprated h2{
    font-family:var(--rd-font-display); font-size:19px; font-weight:700; color:var(--rd-ink);
    margin:0 0 18px;
}
.rd-toprated-list{
    display:grid; grid-template-columns:repeat(4,1fr); gap:12px;
    list-style:none; margin:0; padding:0;
}
.rd-toprated-list li{ list-style:none; margin:0; }
.rd-toprated-list a{
    display:block; background:var(--rd-paper); border:1px solid var(--rd-line);
    border-radius:10px; padding:12px 14px; transition:border-color .15s ease;
}
.rd-toprated-list a:hover{ border-color:var(--rd-green); }
.rd-toprated-code{
    display:block; font-family:var(--rd-font-display); font-weight:700;
    font-size:13.5px; color:var(--rd-ink); margin-bottom:4px;
}
.rd-toprated-price{ display:block; font-family:var(--rd-font-mono); font-size:12px; color:var(--rd-muted); }
.rd-toprated-price strong{ color:var(--rd-green); margin-left:6px; }
.rd-toprated-price strike{ opacity:.7; }

/* Main footer grid */
.rd-footer-main{ padding:60px 0 40px; }
.rd-footer-grid{
    display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:36px;
}
.rd-footer-grid h4{
    font-family:var(--rd-font-display); font-size:14px; font-weight:700;
    color:var(--rd-ink); margin:0 0 16px; text-transform:none;
}
.rd-footer-grid p{
    font-size:13.5px; line-height:1.7; margin:0 0 16px; color:var(--rd-muted);
}
.rd-footer-grid ul{ list-style:none; margin:0; padding:0; }
.rd-footer-grid li{ margin:0 0 9px; font-size:13.5px; list-style:none; }
.rd-footer-grid li a{ color:var(--rd-ink); }
.rd-footer-grid li a:hover{ color:var(--rd-green); }

.rd-social{ display:flex; gap:10px; margin:0; padding:0; list-style:none; }
.rd-social li{ margin:0; }
.rd-social a{
    width:34px; height:34px; border-radius:50%;
    border:2px solid var(--rd-ink); background:var(--rd-paper);
    display:flex; align-items:center; justify-content:center;
    color:var(--rd-ink); font-size:14px;
    transition:background .15s ease, color .15s ease;
}
.rd-social a:hover{ background:var(--rd-green); border-color:var(--rd-green); color:#fff; }

.rd-newsletter{
    display:flex; border:2px solid var(--rd-ink); border-radius:6px; overflow:hidden; margin:0;
}
.rd-newsletter input[type="email"]{
    flex:1 1 auto; min-width:0; border:none; outline:none;
    background:var(--rd-paper); padding:11px 14px !important; font-size:13.5px;
    font-family:var(--rd-font-body); color:var(--rd-ink);
}
.rd-newsletter button{
    border:none; background:var(--rd-green); color:#fff;
    font-weight:700; font-size:13.5px; padding:0 16px; cursor:pointer;
}
.rd-newsletter button:hover{ background:var(--rd-green-dark); }
.rd-newsletter-msg{
    display:block; margin-top:10px; font-size:12.5px; color:var(--rd-green); font-weight:600;
}

.rd-footer-bottom{
    border-top:2px solid var(--rd-ink);
    padding:18px 0;
    display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap;
    font-size:12.5px; color:var(--rd-muted);
}
.rd-pay{ display:flex; gap:10px; align-items:center; list-style:none; margin:0; padding:0; }
.rd-pay li{ margin:0; }
.rd-pay img{ height:24px; width:auto; display:block; }

/* =====================================================================
   HOME PAGE
   ===================================================================== */
.rd-home section{ padding:80px 0; background:var(--rd-paper); }
.rd-home h1,
.rd-home h2,
.rd-home h3{
    font-family:var(--rd-font-display); line-height:1.12; letter-spacing:-0.01em; color:var(--rd-ink);
    margin:0; overflow:visible;
}
.rd-home a{ text-decoration:none; }
.rd-home img{ max-width:100%; display:block; }

.rd-eyebrow{
    font-family:var(--rd-font-mono); font-size:12px; letter-spacing:.06em;
    color:var(--rd-green); display:inline-flex; align-items:center; gap:8px;
    margin:0 0 18px;
    background:var(--rd-paper); border:1px solid var(--rd-ink); border-radius:999px; padding:5px 12px;
}
.rd-section-head{ max-width:620px; margin-bottom:44px; }
.rd-section-head .rd-eyebrow{ background:transparent; border:none; padding:0; color:var(--rd-ink); }
.rd-section-head h2{ font-size:30px; font-weight:700; }
.rd-section-head p{ color:var(--rd-muted); font-size:15.5px; margin:12px 0 0; line-height:1.6; }

/* ---- Hero ---- */
.rd-hero{ padding:64px 0 88px !important; }
.rd-hero-grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:56px; align-items:center; }
.rd-hero h1{ font-size:44px; font-weight:700; margin-bottom:20px; max-width:560px; }
.rd-hero h1 .rd-underline{ position:relative; white-space:nowrap; }
.rd-hero h1 .rd-underline::after{
    content:""; position:absolute; left:0; right:0; bottom:2px; height:10px;
    background:var(--rd-green-soft); z-index:-1; opacity:.55;
}
.rd-hero .rd-lead{
    font-size:16.5px; color:var(--rd-muted); max-width:480px; margin:0 0 30px; line-height:1.65;
}
.rd-hero-ctas{ display:flex; gap:14px; margin-bottom:40px; flex-wrap:wrap; }
.rd-trust-strip{ display:flex; gap:28px; flex-wrap:wrap; list-style:none; margin:0; padding:0; }
.rd-trust-strip li{
    display:flex; align-items:center; gap:8px;
    font-size:13px; color:var(--rd-muted); font-weight:600; list-style:none; margin:0;
}
.rd-trust-strip .dot{ width:8px; height:8px; border-radius:50%; background:var(--rd-green); flex:none; }

/* Hexagon certification badge */
.rd-badge-stage{
    display:flex; align-items:center; justify-content:center;
    position:relative; min-height:420px; padding:0 40px;
}
.rd-badge-stage::before{
    content:""; position:absolute; width:340px; height:340px; border-radius:50%;
    background:radial-gradient(circle, rgba(20,145,116,.10) 0%, transparent 70%);
}
.rd-hex-medal{ position:relative; width:230px; z-index:1; }
.rd-hex-shape{
    width:230px; height:230px;
    clip-path:polygon(25% 3%, 75% 3%, 100% 50%, 75% 97%, 25% 97%, 0% 50%);
    background:linear-gradient(155deg, var(--rd-green) 0%, var(--rd-green-dark) 100%);
    display:flex; align-items:center; justify-content:center; flex-direction:column;
    box-shadow:0 24px 50px rgba(20,145,116,.35);
    position:relative;
}
.rd-hex-shape::after{
    content:""; position:absolute; width:196px; height:196px;
    clip-path:polygon(25% 3%, 75% 3%, 100% 50%, 75% 97%, 25% 97%, 0% 50%);
    border:1.5px dashed rgba(255,255,255,.45);
}
.rd-hex-inner{ position:relative; z-index:2; text-align:center; color:#fff; padding:0 30px; width:100%; }
.rd-hex-inner .rd-hex-eyebrow{
    font-family:var(--rd-font-mono); font-size:10px; letter-spacing:.12em; opacity:.85; margin-bottom:6px;
}
.rd-hex-inner .rd-hex-title{
    font-family:var(--rd-font-display); font-weight:700; font-size:15px; line-height:1.3; color:#fff;
    overflow-wrap:break-word;
}
.rd-hex-inner .rd-hex-sub{ font-family:var(--rd-font-mono); font-size:10.5px; opacity:.85; margin-top:8px; }
.rd-badge-tag{
    position:absolute; top:-10px; right:-42px; background:var(--rd-paper); border:2px solid var(--rd-ink);
    border-radius:999px; padding:8px 14px; font-family:var(--rd-font-mono); font-weight:700; font-size:12px;
    box-shadow:4px 4px 0 var(--rd-ink); z-index:3; color:var(--rd-ink); white-space:nowrap;
}
.rd-badge-tag .n{ color:var(--rd-green); }
.rd-badge-below{
    position:absolute; bottom:-52px; left:-34px; background:var(--rd-paper); border:2px solid var(--rd-ink);
    border-radius:12px; padding:10px 14px; box-shadow:4px 4px 0 var(--rd-ink); z-index:3; max-width:200px;
}
.rd-badge-below .stars{ color:var(--rd-green); font-size:12px; letter-spacing:1px; margin-bottom:2px; }
.rd-badge-below p{ font-size:11.5px; color:var(--rd-muted); line-height:1.4; margin:0; }

/* ---- Certification path ---- */
.rd-cert-path{
    display:grid; grid-template-columns:repeat(4,1fr); gap:0; position:relative; margin-top:8px;
}
.rd-cert-path::before{
    content:""; position:absolute; top:34px; left:60px; right:60px; height:2px;
    background:repeating-linear-gradient(to right, var(--rd-line) 0 8px, transparent 8px 14px);
}
.rd-path-node{ padding:0 14px; text-align:center; position:relative; }
.rd-path-hex{
    width:68px; height:68px; margin:0 auto 18px;
    clip-path:polygon(25% 3%, 75% 3%, 100% 50%, 75% 97%, 25% 97%, 0% 50%);
    background:var(--rd-card); border:2px solid var(--rd-line);
    display:flex; align-items:center; justify-content:center; position:relative; z-index:1;
    font-family:var(--rd-font-display); font-weight:700; font-size:13px; color:var(--rd-muted);
}
.rd-path-node.is-active .rd-path-hex{
    background:var(--rd-green); border-color:var(--rd-green); color:#fff;
    box-shadow:0 10px 24px rgba(20,145,116,.35);
}
.rd-path-node h3{ font-size:15.5px; font-weight:700; margin-bottom:8px; }
.rd-path-node p{ font-size:13px; color:var(--rd-muted); line-height:1.55; margin:0 0 10px; }
.rd-path-count{
    display:inline-block; font-family:var(--rd-font-mono); font-size:11px; color:var(--rd-green);
    border:1px solid var(--rd-green); border-radius:999px; padding:3px 10px;
}
.rd-path-more{ text-align:center; margin-top:44px; }

/* ---- Feature / trust cards ---- */
.rd-home section.rd-why{ background:var(--rd-paper-alt); }
.rd-feature-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.rd-feature-card{ background:var(--rd-card); border-radius:var(--rd-radius); padding:28px 24px; }
.rd-feature-icon{
    width:52px; height:52px; border-radius:14px; background:var(--rd-green);
    display:flex; align-items:center; justify-content:center; margin-bottom:18px;
}
.rd-feature-icon svg{ width:24px; height:24px; stroke:#fff; fill:none; stroke-width:2; }
.rd-feature-card h3{ font-size:17px; font-weight:700; margin-bottom:8px; }
.rd-feature-card p{ font-size:14px; color:var(--rd-muted); line-height:1.6; margin:0; }

.rd-why-heading{ text-align:center; position:relative; margin:56px 0; }
.rd-why-heading::before{
    content:""; position:absolute; left:0; right:0; top:50%; height:1px; background:var(--rd-line); z-index:0;
}
.rd-why-pill{
    position:relative; z-index:1; display:inline-block; background:var(--rd-paper);
    border-radius:999px; padding:18px 40px; box-shadow:0 10px 30px rgba(33,28,26,.08);
}
.rd-why-pill h2{ font-size:28px; font-weight:700; margin:0; }
.rd-why-pill .rd-bar{
    display:block; width:64px; height:3px; background:var(--rd-green); border-radius:3px; margin:10px auto 0;
}

/* ---- Exam cards ---- */
.rd-exam-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.rd-exam-card{
    background:var(--rd-paper); border:2px solid var(--rd-ink); border-radius:var(--rd-radius);
    padding:20px; position:relative; display:flex; flex-direction:column;
}
.rd-exam-card .rd-exam-badge{
    position:absolute; top:-11px; right:16px;
    background:var(--rd-green); color:#fff; font-family:var(--rd-font-mono); font-size:11px; font-weight:700;
    padding:4px 10px; border-radius:999px; border:2px solid var(--rd-ink);
}
.rd-exam-vendor{
    font-family:var(--rd-font-mono); font-size:11px; letter-spacing:.05em; text-transform:uppercase;
    color:var(--rd-muted); margin-bottom:8px;
}
.rd-exam-code{
    font-family:var(--rd-font-display); font-weight:700; font-size:16px; line-height:1.3;
    margin-bottom:16px; min-height:44px; color:var(--rd-ink);
}
.rd-exam-price{ display:flex; align-items:baseline; gap:8px; margin-bottom:16px; }
.rd-exam-price .old{ font-size:13px; color:var(--rd-muted); text-decoration:line-through; }
.rd-exam-price .new{ font-family:var(--rd-font-display); font-weight:700; font-size:19px; color:var(--rd-ink); }
.rd-exam-card .rd-btn{ width:100%; margin-top:auto; font-size:13px; padding:9px; }

/* ---- Sale banner ---- */
.rd-sale{
    background:var(--rd-ink); color:#fff; border-radius:var(--rd-radius);
    padding:40px; display:flex; align-items:center; justify-content:space-between; gap:32px; flex-wrap:wrap;
    border:2px solid var(--rd-ink);
}
.rd-sale h2{ color:#fff; font-size:25px; margin-bottom:8px; }
.rd-sale p{ color:#B9BEC7; font-size:14.5px; margin:0; }
.rd-sale p strong{ color:var(--rd-green-soft); }
.rd-countdown{ display:flex; gap:12px; list-style:none; margin:0; padding:0; }
.rd-countdown li{
    background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.2);
    border-radius:8px; padding:10px 14px; text-align:center; min-width:58px; list-style:none; margin:0;
}
.rd-countdown span{ display:block; font-family:var(--rd-font-mono); font-size:20px; font-weight:700; color:#fff; }
.rd-countdown small{ font-size:10px; color:#8B909A; letter-spacing:.06em; text-transform:uppercase; }

/* ---- Testimonials ---- */
.rd-t-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.rd-t-card{
    background:var(--rd-paper); border:2px solid var(--rd-ink); border-radius:var(--rd-radius); padding:24px;
}
.rd-t-stars{ color:var(--rd-green); font-size:13px; margin-bottom:12px; letter-spacing:2px; }
.rd-t-card p{ font-size:14.5px; color:var(--rd-ink); line-height:1.65; margin:0 0 16px; }
.rd-t-name{ font-family:var(--rd-font-mono); font-weight:700; font-size:13px; color:var(--rd-ink); }

/* ---- Long-form SEO copy ---- */
.rd-home section.rd-copy{ background:var(--rd-paper-alt); }
.rd-copy-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:24px; }
.rd-copy-card{
    background:var(--rd-paper); border:1px solid var(--rd-line);
    border-radius:var(--rd-radius); padding:28px;
}
.rd-copy-card.is-wide{ grid-column:1 / -1; }
.rd-copy-card h1,
.rd-copy-card h2,
.rd-copy-card h3,
.rd-copy-card h4{ font-size:18px; font-weight:700; margin:0 0 12px; }
.rd-copy-card.is-wide h1{ font-size:24px; }
.rd-copy-card p{ font-size:14.5px; color:var(--rd-muted); line-height:1.75; margin:0; }
.rd-copy-card a{ color:var(--rd-green); font-weight:600; }

/* ---- Alerts ---- */
.rd-home .alert{ margin:0; border-radius:0; }

/* =====================================================================
   AUTH PAGES (login / register / password reset)
   ===================================================================== */
.rd-register-btn{ flex:none; white-space:nowrap; }
/* The drawer carries its own Login/Register entries; the utility row owns
   them on desktop. */
.rd-nav-auth{ display:none; }

.rd-auth-page{ background:var(--rd-paper); padding:40px 0 72px; }
.rd-auth-card{
    max-width:520px; margin:0 auto; background:var(--rd-paper);
    border:2px solid var(--rd-ink); border-radius:var(--rd-radius);
    box-shadow:6px 6px 0 var(--rd-green-soft); padding:34px 32px;
}
.rd-auth-card .rd-eyebrow{ margin-bottom:14px; }
.rd-auth-card h1{
    font-family:var(--rd-font-display); font-size:26px; font-weight:700;
    color:var(--rd-ink); margin:0 0 8px;
}
.rd-auth-card .rd-auth-sub{ color:var(--rd-muted); font-size:14.5px; margin:0 0 26px; line-height:1.6; }

.rd-field{ margin-bottom:18px; }
.rd-field label{
    display:block; font-size:12.5px; font-weight:600; letter-spacing:.04em;
    text-transform:uppercase; color:var(--rd-ink); margin-bottom:7px;
}
.rd-field input[type="text"],
.rd-field input[type="email"],
.rd-field input[type="password"]{
    width:100%; display:block; font-family:var(--rd-font-body); font-size:14.5px;
    color:var(--rd-ink); background:var(--rd-paper);
    border:1.5px solid var(--rd-line); border-radius:10px;
    padding:12px 14px !important; outline:none;
}
.rd-field input:focus{ border-color:var(--rd-green); box-shadow:0 0 0 3px rgba(20,145,116,.14); }
.rd-field input.is-invalid{ border-color:#C0392B; }
.rd-field-error{ display:block; color:#C0392B; font-size:12.5px; margin-top:6px; }

.rd-auth-row{
    display:flex; align-items:center; justify-content:space-between;
    gap:14px; flex-wrap:wrap; margin:4px 0 24px;
}
.rd-check{ display:flex; align-items:center; gap:8px; font-size:13.5px; color:var(--rd-muted); }
.rd-check input{ width:16px; height:16px; margin:0; padding:0 !important; flex:none; }
.rd-check label{ margin:0; cursor:pointer; }
.rd-auth-link{ font-size:13.5px; color:var(--rd-green); font-weight:600; display:inline; }
.rd-auth-link:hover{ text-decoration:underline; }
.rd-auth-submit{ width:100%; justify-content:center; text-align:center; }
.rd-auth-note{
    font-size:13.5px; line-height:1.5; margin:0 0 22px;
    border:1.5px solid var(--rd-line); border-radius:10px; padding:12px 14px;
    background:var(--rd-card); color:var(--rd-ink);
}
.rd-auth-note.is-success{ border-color:var(--rd-green); background:rgba(20,145,116,.08); }
.rd-auth-alt{
    margin:22px 0 0; padding-top:20px; border-top:1px solid var(--rd-line);
    text-align:center; font-size:14px; color:var(--rd-muted);
}
.rd-auth-alt a{ color:var(--rd-green); font-weight:600; display:inline; }
.rd-auth-alt a:hover{ text-decoration:underline; }

/* =====================================================================
   RESPONSIVE
   ===================================================================== */
@media (max-width:1100px){
    .rd-nav{ gap:20px; }
    .rd-nav a{ font-size:13.5px; }
}

@media (max-width:960px){
    .rd-header-inner{ flex-wrap:wrap; gap:14px; padding:12px 18px; }
    .rd-logo{ order:1; }
    .rd-actions{ order:2; margin-left:auto; }
    .rd-search{ order:3; flex:1 1 100%; max-width:none; }
    .rd-menu-toggle{ display:flex; }
    .rd-nav-cta{ display:none; }
    /* The nav row collapses to nothing but must stay in the flow — the drawer
       is a fixed-position child of it. */
    .rd-header-nav{ border:0; }
    .rd-nav-inner{ display:block; padding:0; }

    /* Off-canvas nav drawer */
    .rd-nav{
        position:fixed; top:0; left:0; bottom:0; width:270px; max-width:82vw;
        background:var(--rd-paper); border-right:2px solid var(--rd-ink);
        flex-direction:column; align-items:stretch; gap:0;
        padding:18px; z-index:950;
        transform:translateX(-105%); transition:transform .25s ease;
        overflow-y:auto;
        display:flex;
    }
    .rd-nav.is-open{ transform:translateX(0); }
    .rd-nav a{ padding:13px 4px; border-bottom:1px solid var(--rd-line); display:block; }
    .rd-nav a:hover, .rd-nav li.is-active a{ border-bottom-color:var(--rd-line); }
    .rd-nav-close{
        display:block; text-align:right; font-size:28px; line-height:1;
        cursor:pointer; color:var(--rd-ink); padding:0 4px 10px;
    }
    .rd-nav-auth{ display:block; }

    .rd-hero-grid{ grid-template-columns:1fr; gap:32px; }
    .rd-badge-stage{ min-height:340px; margin-top:8px; }
    .rd-cert-path{ grid-template-columns:1fr 1fr; row-gap:36px; }
    .rd-cert-path::before{ display:none; }
    .rd-feature-grid,
    .rd-exam-grid,
    .rd-t-grid,
    .rd-toprated-list{ grid-template-columns:repeat(2,1fr); }
    .rd-footer-grid{ grid-template-columns:1fr 1fr; }
    .rd-home section{ padding:56px 0; }
    .rd-hero{ padding:44px 0 64px !important; }
}

@media (max-width:600px){
    .rd-wrap{ padding:0 16px; }
    .rd-header-inner{ padding:12px 16px; }
    .rd-logo img{ max-height:40px; }
    .rd-action-link span.rd-label{ display:none; }
    /* Drawer already lists Login/Register on phones — keep the top row tight. */
    .rd-register-btn{ display:none; }
    .rd-auth-page{ padding:36px 0 52px; }
    .rd-auth-card{ padding:26px 20px; box-shadow:4px 4px 0 var(--rd-green-soft); }
    .rd-hero h1{ font-size:31px; }
    .rd-section-head h2{ font-size:24px; }
    .rd-why-pill{ padding:14px 22px; }
    .rd-why-pill h2{ font-size:21px; }
    .rd-exam-grid,
    .rd-t-grid,
    .rd-footer-grid,
    .rd-toprated-list,
    .rd-copy-grid{ grid-template-columns:1fr; }
    .rd-feature-grid{ grid-template-columns:1fr; }
    .rd-sale{ flex-direction:column; align-items:flex-start; padding:28px 22px; }
    .rd-cert-path{ grid-template-columns:1fr; row-gap:28px; }
    .rd-badge-stage{ padding:0 24px; }
    .rd-badge-below{ left:-14px; }
    .rd-badge-tag{ right:-8px; }
    .rd-footer-bottom{ flex-direction:column; align-items:flex-start; }
}
