/* eFoldBike Toolkit — shared styles
   Palette from the source spec: electric green #00E676 accent, black #0A0A0A,
   white/light backgrounds everywhere (comparator/quiz results are never dark),
   Amazon orange #FF9900 for every "Buy on Amazon" CTA, hover #000000. */

:root{
	--efb-green:#00863c; /* darkened from #00E676 for AA contrast on white text/buttons */
	--efb-green-bright:#00E676;
	--efb-black:#0A0A0A;
	--efb-orange:#FF9900;
	--efb-grey-dark:#333333;
	--efb-grey-light:#787c82;
	--efb-red:#d63638;
	--efb-border:#e2e2e2;
}

.efb-btn{display:inline-flex;align-items:center;gap:6px;padding:12px 20px;border-radius:6px;font-weight:700;text-decoration:none;border:none;cursor:pointer;min-height:48px;font-size:15px;transition:background-color .15s ease;}
.efb-btn-buy{background:var(--efb-orange);color:#fff;}
.efb-btn-buy:hover{background:#000;color:#fff;}
.efb-btn-details{background:var(--efb-grey-dark);color:#fff;}
.efb-btn-details:hover{background:#1a1a1a;color:#fff;}
.efb-btn-outline{background:transparent;color:var(--efb-green);border:2px solid var(--efb-green-bright);}
.efb-btn-outline:hover{background:rgba(0,230,118,.08);}
.efb-disclosure{font-size:12px;color:#767676;margin:6px 0 0;line-height:1.4;}
.efb-btn-ghost{background:transparent;color:var(--efb-green);}

.efb-badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;}
.efb-badge-featured{background:var(--efb-green-bright);color:#04331a;}
.efb-badge-discount{background:var(--efb-red);color:#fff;}
.efb-badge-eapc-yes{background:#e4f9ee;color:var(--efb-green);border:1px solid var(--efb-green-bright);}
.efb-badge-eapc-amber{background:#fff4e5;color:#8a5a00;border:1px solid #ffb84d;}

/* ---------- Product cards / archive grid ---------- */
.efb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:24px;margin:24px 0;}
.efb-card{border:1px solid var(--efb-border);border-radius:10px;overflow:hidden;display:flex;flex-direction:column;background:#fff;text-decoration:none;color:inherit;transition:box-shadow .15s ease;}
.efb-card:hover{box-shadow:0 6px 20px rgba(0,0,0,.08);}
.efb-card-img{aspect-ratio:1/1;width:100%;object-fit:cover;background:#f5f5f5;}
.efb-card-body{padding:16px;display:flex;flex-direction:column;gap:8px;flex:1;}
.efb-card-brand{color:var(--efb-grey-light);font-size:13px;text-transform:uppercase;letter-spacing:.03em;}
.efb-card-title{font-size:17px;font-weight:700;margin:0;}
.efb-card-note{color:var(--efb-grey-light);font-size:14px;}
.efb-card-price{margin-top:auto;}
.efb-price-current{font-size:20px;font-weight:800;color:var(--efb-green);}
.efb-price-original{color:var(--efb-grey-light);text-decoration:line-through;margin-left:8px;font-size:14px;}
.efb-card-actions{display:flex;gap:8px;padding:0 16px 16px;}
.efb-card-actions .efb-btn{flex:1;justify-content:center;font-size:14px;padding:10px 12px;}

/* ---------- Single bike page ---------- */
.efb-single{max-width:1100px;margin:0 auto;padding:24px 16px;}
.efb-single-top{display:grid;grid-template-columns:1fr;gap:32px;}
@media(min-width:900px){.efb-single-top{grid-template-columns:40% 60%;}}
.efb-single-img{width:100%;object-fit:contain;max-height:420px;}
.efb-hero-brand{color:var(--efb-grey-light);font-weight:600;text-transform:uppercase;font-size:13px;}
.efb-hero-title{font-size:28px;margin:4px 0 8px;}
.efb-hero-note{color:var(--efb-green);font-weight:600;word-wrap:break-word;margin-bottom:12px;}
.efb-hero-price{margin-bottom:16px;}
.efb-hero-price .efb-price-current{font-size:28px;}

.efb-snapshot{display:flex;flex-wrap:wrap;gap:16px;background:#f7fdf9;border:1px solid #d9f2e3;border-radius:10px;padding:14px 18px;margin-bottom:24px;}
.efb-snapshot-item{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px;}

.efb-specs-grid{display:grid;grid-template-columns:1fr;gap:12px;margin-bottom:24px;}
@media(min-width:640px){.efb-specs-grid{grid-template-columns:1fr 1fr;}}
.efb-spec-card{background:#fff;border:1px solid var(--efb-border);border-radius:8px;padding:12px 14px;display:flex;justify-content:space-between;gap:12px;}
.efb-spec-card span:first-child{color:var(--efb-grey-light);}
.efb-spec-card span:last-child{font-weight:700;}

.efb-section-title{font-size:20px;margin:28px 0 12px;}

.efb-scores-layout{display:grid;grid-template-columns:1fr;gap:24px;margin-bottom:24px;}
@media(min-width:800px){.efb-scores-layout{grid-template-columns:1fr 1fr;}}
.efb-score-row{display:flex;align-items:center;gap:10px;margin-bottom:10px;}
.efb-score-label{width:140px;flex-shrink:0;font-size:14px;}
.efb-score-bar-track{flex:1;background:#eee;border-radius:6px;height:10px;overflow:hidden;}
.efb-score-bar-fill{background:var(--efb-green-bright);height:100%;}
.efb-score-value{width:32px;text-align:right;font-weight:700;font-size:14px;}

.efb-two-col{display:grid;grid-template-columns:1fr;gap:20px;margin-bottom:24px;}
@media(min-width:700px){.efb-two-col{grid-template-columns:1fr 1fr;}}
.efb-list-check li{color:#0a7a2f;}
.efb-list-cross li{color:var(--efb-red);}
.efb-list-check,.efb-list-cross{list-style:none;padding:0;margin:0;}
.efb-list-check li,.efb-list-cross li{background:#fff;border:1px solid var(--efb-border);border-radius:6px;padding:10px 12px;margin-bottom:8px;color:#222;}
.efb-list-check li:before{content:"✓ ";color:#0a7a2f;font-weight:700;}
.efb-list-cross li:before{content:"✗ ";color:var(--efb-red);font-weight:700;}

.efb-reviews-block{background:#fafafa;border:1px solid var(--efb-border);border-radius:8px;padding:16px 18px;margin-bottom:24px;}
.efb-stars{color:#f5a623;font-size:18px;}

.efb-ideal-for{display:flex;gap:8px;align-items:flex-start;background:#fff;border:1px solid var(--efb-border);border-radius:8px;padding:12px 14px;margin-bottom:24px;}

/* ---------- Comparator ---------- */
.efb-compare-wrap{max-width:1100px;margin:0 auto;}
.efb-search-row{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px;}
.efb-search-field{position:relative;flex:1;min-width:220px;}
.efb-search-field input{width:100%;padding:12px 36px 12px 12px;border:1px solid var(--efb-border);border-radius:8px;font-size:15px;min-height:48px;box-sizing:border-box;}
.efb-search-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;font-size:16px;color:var(--efb-grey-light);}
.efb-search-dropdown{position:absolute;z-index:20;top:100%;left:0;right:0;background:#fff;border:1px solid var(--efb-border);border-radius:8px;max-height:260px;overflow-y:auto;box-shadow:0 8px 24px rgba(0,0,0,.12);}
.efb-search-option{padding:10px 12px;cursor:pointer;display:flex;justify-content:space-between;}
.efb-search-option:hover{background:#f5fdf8;}
.efb-add-model{align-self:center;}

.efb-table-scroll{overflow-x:auto;}
.efb-compare-table{width:100%;border-collapse:collapse;background:#fff;}
.efb-compare-table th,.efb-compare-table td{border:1px solid var(--efb-border);padding:12px;vertical-align:top;text-align:left;}
.efb-compare-table th:first-child,.efb-compare-table td:first-child{position:sticky;left:0;background:#fafafa;font-weight:600;min-width:170px;}
.efb-compare-table .efb-best{color:var(--efb-green);font-weight:800;}
.efb-compare-table img.efb-card-img{width:120px;height:120px;border-radius:8px;}
.efb-compare-empty{color:var(--efb-grey-light);text-align:center;padding:32px;border:1px dashed var(--efb-border);border-radius:8px;}
.efb-radar-wrap{background:#fff;border:1px solid var(--efb-border);border-radius:8px;padding:16px;}

/* ---------- Quiz ---------- */
.efb-quiz-wrap{max-width:640px;margin:0 auto;background:var(--efb-black);color:#fff;border-radius:14px;padding:28px 24px;}
.efb-quiz-progress-track{background:#2a2a2a;border-radius:6px;height:8px;margin-bottom:24px;overflow:hidden;}
.efb-quiz-progress-fill{background:var(--efb-green-bright);height:100%;transition:width .25s ease;}
.efb-quiz-progress-label{color:#aaa;font-size:13px;margin-bottom:8px;}
.efb-quiz-question{font-size:20px;font-weight:700;margin-bottom:20px;}
.efb-quiz-option{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:#1a1a1a;border:2px solid transparent;color:#fff;border-radius:10px;padding:14px 16px;min-height:48px;font-size:15px;cursor:pointer;margin-bottom:12px;}
.efb-quiz-option:hover{border-color:var(--efb-green-bright);}
.efb-quiz-option .emoji{font-size:22px;}
.efb-quiz-nav{display:flex;justify-content:space-between;margin-top:8px;}
.efb-quiz-nav button{background:none;border:none;color:var(--efb-green-bright);cursor:pointer;font-size:14px;}

.efb-result-wrap{max-width:700px;margin:0 auto;}
.efb-profile-block{text-align:center;margin-bottom:28px;}
.efb-profile-emoji{font-size:48px;}
.efb-profile-name{color:var(--efb-green);font-size:24px;font-weight:800;margin:8px 0;}
.efb-profile-desc{color:var(--efb-grey-light);}
.efb-result-card{border:1px solid var(--efb-border);border-radius:12px;padding:20px;background:#fff;margin-bottom:16px;}
.efb-result-card.secondary{opacity:.9;}
.efb-result-label{color:var(--efb-grey-light);font-size:13px;margin-bottom:6px;}
.efb-pills{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0;}
.efb-pill{background:#f0fbf4;border:1px solid #d9f2e3;border-radius:999px;padding:6px 12px;font-size:13px;}
.efb-match-bar-track{background:#eee;border-radius:6px;height:10px;margin:10px 0;overflow:hidden;}
.efb-match-bar-fill{background:var(--efb-green-bright);height:100%;}
.efb-match-label{color:var(--efb-green);font-weight:700;font-size:14px;}
.efb-retake{display:block;text-align:center;margin-top:16px;background:none;border:none;color:var(--efb-green);cursor:pointer;font-weight:600;}

/* ---------- Range calculator ---------- */
.efb-calc-wrap{max-width:800px;margin:0 auto;}
.efb-calc-form{display:grid;grid-template-columns:1fr;gap:14px;margin-bottom:20px;}
@media(min-width:700px){.efb-calc-form{grid-template-columns:1fr 1fr 1fr auto;align-items:end;}}
.efb-calc-form label{display:block;font-weight:600;margin-bottom:6px;font-size:14px;}
.efb-calc-form input,.efb-calc-form select{width:100%;padding:10px;border:1px solid var(--efb-border);border-radius:6px;min-height:44px;box-sizing:border-box;}
#efb-calc-map{height:450px;width:100%;border-radius:10px;margin-bottom:16px;}
.efb-calc-result{background:#f0fbf4;border:1px solid #d9f2e3;border-radius:8px;padding:14px 16px;font-weight:600;}

@media(max-width:640px){
	.efb-card-actions{flex-direction:column;}
}
