.cefr-test{
--bg:#f6f6f6;
--card:#ffffff;
--text:#141416;
--muted:#6b6f76;
--border:#e8e8ea;
--accent:#FF4F5A;
--primary:#141416;
--radius:18px;
--shadow:0 12px 40px rgba(0,0,0,0.06);
font-family:"Inter", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
color:var(--text);
}

/* Layout */
.cefr-shell{background:var(--bg);padding:28px 16px 18px;}
.cefr-card{
max-width:980px;
margin:0 auto;
background:var(--card);
border-radius:calc(var(--radius) + 10px);
box-shadow:var(--shadow);
padding:22px 22px 26px;
}

/* Progress */
.cefr-progress{
display:grid;
grid-template-columns:repeat(5,1fr);
gap:14px;
margin-bottom:22px;
}
.cefr-progress__seg{
height:8px;
border-radius:999px;
background:#ececee;
}
.cefr-progress__seg.is-active{
background:var(--accent);
}

/* Titles */
.cefr-body{padding:8px 6px 0;}
.cefr-title{
font-size:34px;
line-height:1.15;
letter-spacing:-0.02em;
margin:10px 0 18px;
}

/* Questions */
.cefr-questions{
display:grid;
gap:18px;
margin:10px 0 18px;
}
.cefr-q{
border:1px solid var(--border);
border-radius:16px;
padding:14px;
background:#ffffff;
}
.cefr-q__prompt{
font-size:16px;
color:var(--text);
margin-bottom:10px;
font-weight:600;
}
.cefr-options{
display:grid;
gap:10px;
background:#ffffff;
}

/* --------------------------------------------------
ANSWER OPTIONS
-------------------------------------------------- */

.cefr-option{
text-align:left;
background:#ffffff;
color:#000000;
border:1px solid var(--border);
border-radius:999px;
padding:14px 18px;
font-size:16px;
font-weight:600;
cursor:pointer;
transition:
background .12s ease,
color .12s ease,
border-color .12s ease,
box-shadow .12s ease,
transform .08s ease;
}

.cefr-option:hover{
background:var(--accent);
color:#ffffff;
border-color:var(--accent);
box-shadow:0 10px 22px rgba(255,79,90,0.25);
}

.cefr-option:active{
background:var(--accent);
color:#ffffff;
border-color:var(--accent);
transform:translateY(1px);
box-shadow:0 6px 14px rgba(255,79,90,0.35);
}

.cefr-option.is-selected{
background:var(--accent);
color:#ffffff;
border-color:var(--accent);
font-weight:800;
box-shadow:0 12px 26px rgba(255,79,90,0.35);
}

.cefr-option:focus-visible{
outline:3px solid rgba(255,79,90,0.35);
outline-offset:2px;
}

/* Navigation */
.cefr-nav{
display:flex;
justify-content:space-between;
align-items:center;
margin-top:18px;
gap:12px;
}
.cefr-nav--single{justify-content:center;}

.cefr-btn{
border:1px solid transparent;
border-radius:999px;
padding:12px 22px;
font-weight:700;
cursor:pointer;
transition:transform .08s ease, opacity .08s ease;
user-select:none;
font-family:"Inter", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}
.cefr-btn:active{transform:translateY(1px);}
.cefr-btn.is-disabled{opacity:.5;pointer-events:none;}
.cefr-btn--ghost{
background:#ececee;
border-color:#cfd2d6;
color:#6b6f76;
}
.cefr-btn--primary{
background:var(--primary);
color:#ffffff;
}
.cefr-btn--ghost:hover,
.cefr-btn--primary:hover{
background:#EB5D5F;
border-color:#EB5D5F;
color:#ffffff;
box-shadow:0 8px 20px rgba(235,93,95,0.30);
}

/* Result */
.cefr-result{
border:1px solid var(--border);
border-radius:18px;
padding:18px;
margin:6px 0 16px;
}
.cefr-result__label{
color:var(--muted);
font-weight:700;
font-size:13px;
text-transform:uppercase;
letter-spacing:.08em;
}
.cefr-result__level{
font-size:48px;
font-weight:800;
margin-top:6px;
}
.cefr-result__meta{
color:var(--muted);
margin-top:6px;
}

/* Form */
.cefr-form{
border:1px solid var(--border);
border-radius:18px;
padding:18px;
}
.cefr-form__title{
margin:0 0 12px;
font-size:18px;
}
.cefr-form__row{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:12px;
}
@media (max-width:560px){
.cefr-form__row{grid-template-columns:1fr;}
}

.cefr-field{
display:grid;
gap:6px;
margin-bottom:12px;
}
.cefr-field__label{
font-size:12px;
color:var(--muted);
font-weight:700;
}
.cefr-input{
border:1px solid var(--border);
border-radius:12px;
padding:12px;
font-size:16px;
outline:none;
font-family:"Inter", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}
.cefr-input:focus{border-color:var(--accent);}

.cefr-submit{width:100%;margin-top:6px;}
.cefr-submit.is-loading{opacity:.75;cursor:wait;}
.cefr-submit.is-ok{background:#0e8a3a;}

.cefr-error{margin-top:10px;color:#b00020;font-weight:600;}
.cefr-success{margin-top:10px;color:#0e8a3a;font-weight:700;}

/* GDPR */
.cefr-gdpr{
display:flex;
gap:10px;
align-items:flex-start;
margin:10px 0 6px;
font-size:14px;
}
.cefr-gdpr input{margin-top:3px;}
.cefr-gdpr__text{line-height:1.35;}

/* --------------------------------------------------
THEME OVERRIDE — must be LAST to win cascade
-------------------------------------------------- */
.cefr-test .cefr-option{
background:#ffffff !important;
color:#000000 !important;
}
.cefr-test .cefr-option:hover{
background:var(--accent) !important;
color:#ffffff !important;
}
.cefr-test .cefr-option:active{
background:var(--accent) !important;
color:#ffffff !important;
}
.cefr-test .cefr-option.is-selected{
background:var(--accent) !important;
color:#ffffff !important;
}
