/*
Theme Name: Besscare
Theme URI: https://besscare.eu
Author: Besscare Editorial
Description: Independent home renewable energy media platform theme. Deep pine + signal lime, Georgia display serif, pv-magazine-style media layout.
Version: 1.0.3
License: Proprietary
Text Domain: besscare
*/
:root{
  --pine:#0C3524; --lime:#C1F24B; --lime-d:#A8D92E; --moss:#5C7A12;
  --paper:#F7F5F0; --ink:#14181A; --muted:#5B6660; --line:rgba(20,24,26,.12);
  --tint-g:#E4EFE3; --tint-b:#EFF7D9;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:"Segoe UI",system-ui,-apple-system,Roboto,"Helvetica Neue",Arial,sans-serif;background:var(--paper);color:var(--ink);line-height:1.55;font-size:15px}
a{color:inherit;text-decoration:none}
a:hover{color:var(--moss)}
img{max-width:100%;height:auto}
.serif{font-family:Georgia,"Times New Roman",serif}
.wrap{max-width:1240px;margin:0 auto;padding:0 20px}
.btn{display:inline-block;padding:12px 24px;font-size:12px;font-weight:700;letter-spacing:1.1px;text-transform:uppercase;border-radius:3px;border:1px solid transparent}
.btn.p{background:var(--lime);color:var(--pine)}.btn.p:hover{background:var(--lime-d);color:var(--pine)}
.btn.d{background:var(--ink);color:#fff;border-color:var(--ink)}.btn.d:hover{background:var(--pine);color:#fff}

/* ===== masthead ===== */
.mast{background:#fff;border-bottom:1px solid var(--line)}
.mast .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 20px}
.brand .bn{font-family:Georgia,serif;font-size:30px;font-weight:600;letter-spacing:-.5px;color:var(--pine)}
.brand .bn span{color:var(--lime-d);font-weight:700}
.tagline{font-size:12px;color:var(--muted);white-space:nowrap}
.mast .right{display:flex;gap:10px;align-items:center}
.subbtn{background:var(--lime);color:var(--pine);border:0;border-radius:4px;padding:9px 18px;font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase}
.subbtn:hover{background:var(--lime-d);color:var(--pine)}
/* ===== country tabs ===== */
.tabs{background:var(--pine);overflow-x:auto}
.tabs .wrap{display:flex;padding:0 20px}
.tabs a{color:#fff;font-size:12.5px;font-weight:600;padding:9px 16px;white-space:nowrap;border-left:1px solid rgba(255,255,255,.12)}
.tabs a.coming{opacity:.45;font-weight:400;font-style:italic}
.tabs a:hover{background:rgba(255,255,255,.08)}
/* ===== main nav ===== */
.mainnav{background:#fff;border-bottom:2px solid var(--pine);position:sticky;top:0;z-index:50}
.mainnav .wrap{display:flex;gap:2px;padding:0 20px;overflow-x:auto}
.mainnav a{padding:11px 15px;font-size:13.5px;font-weight:600;color:var(--ink);border-bottom:3px solid transparent;white-space:nowrap}
.mainnav a:hover,.mainnav .current-menu-item>a,.mainnav .current_page_item>a{color:var(--pine);border-bottom-color:var(--lime)}
/* ===== pro strip ===== */
.prostrip{display:flex;justify-content:space-between;align-items:center;background:var(--pine);color:#fff;border-radius:8px;padding:12px 20px;font-size:13.5px;margin-top:14px}
.prostrip b{color:var(--lime)}
/* ===== front grid ===== */
.front{display:grid;grid-template-columns:1fr 312px;gap:18px;padding:20px 0 40px}
@media(max-width:900px){.front{grid-template-columns:1fr}}
/* top story */
.topstory{position:relative;border-radius:10px;overflow:hidden;background:linear-gradient(150deg,#134731,#0C3524);color:#fff;min-height:300px;display:flex;align-items:flex-end}
.topstory img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.38}
.topstory .inner{padding:26px;position:relative;z-index:2}
.topstory .kick{color:var(--lime);font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase}
.topstory h1{font-family:Georgia,serif;font-size:clamp(22px,2.6vw,32px);line-height:1.25;margin:10px 0 8px;max-width:640px;font-weight:600}
.topstory .by{font-size:12px;color:#C9D8CF}
/* usp */
.usp{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px}
.usp .u{background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px}
.usp .k{font-size:10px;letter-spacing:1.6px;text-transform:uppercase;color:var(--moss);font-weight:700}
.usp .t{font-family:Georgia,serif;font-size:16px;font-weight:700;margin-top:5px;color:var(--pine)}
.usp .d{font-size:12px;color:#43504a;margin-top:5px}
@media(max-width:860px){.usp{grid-template-columns:1fr 1fr}}
/* sections */
.sect{margin-top:26px}
.sect>h2{font-family:Georgia,serif;font-size:19px;color:var(--pine);border-bottom:2px solid var(--lime);padding-bottom:7px;margin-bottom:14px;display:flex;justify-content:space-between;align-items:baseline}
.sect>h2 .more{font-family:"Segoe UI",sans-serif;font-size:12px;color:var(--moss);font-weight:600}
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media(max-width:760px){.cards3{grid-template-columns:1fr}}
.acard{background:#fff;border:1px solid var(--line);border-radius:9px;display:block;transition:box-shadow .15s;overflow:hidden}
.acard:hover{box-shadow:0 4px 18px rgba(28,36,32,.09)}
.acard .aimg img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block}
.acard .in{padding:16px}
.acard .k,.k{font-size:10.5px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:var(--moss)}
.acard h3{font-family:Georgia,serif;font-size:15.5px;line-height:1.35;margin:6px 0}
.acard p{font-size:12.5px;color:#4a554f;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.acard .by{font-size:11px;color:var(--muted);margin-top:8px}
/* news items */
.newsday{margin:22px 0 8px;font-family:Georgia,serif;font-size:15px;color:var(--pine);border-bottom:1.5pt solid var(--lime);padding-bottom:5px}
.newsitem{display:flex;gap:14px;background:#fff;border:1px solid var(--line);border-radius:9px;padding:12px;margin-bottom:10px}
.newsitem img{width:130px;aspect-ratio:3/2;object-fit:cover;border-radius:6px;flex-shrink:0}
.newsitem h3{font-family:Georgia,serif;font-size:15px;line-height:1.35;margin:2px 0 4px}
.newsitem p{font-size:12.5px;color:#4a554f}
.newsitem .by{font-size:11px;color:var(--muted);margin-top:5px}
/* rail */
.mr{background:#fff;border:1px solid var(--line);border-radius:9px;padding:16px;margin-bottom:16px}
.mr h3{font-size:11px;letter-spacing:1.6px;text-transform:uppercase;color:var(--moss);margin-bottom:10px}
.mr ol{padding-left:20px}
.mr li{margin-bottom:10px;font-size:13px;font-weight:600;line-height:1.4}
.mr li span{display:block;font-size:11px;color:var(--muted);font-weight:400}
.nlbox{background:var(--tint-g);border-radius:9px;padding:18px}
.nlbox h3{font-family:Georgia,serif;font-size:16px;color:var(--pine);margin-bottom:6px}
.nlbox p{font-size:12.5px;color:#33413a;margin-bottom:10px}
.nlbox input{width:100%;border:1px solid var(--line);border-radius:6px;padding:9px 11px;font-size:13px;margin-bottom:8px}
.nlbox button{width:100%;background:var(--pine);color:#fff;border:0;border-radius:6px;padding:10px;font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;cursor:pointer}
/* article */
.page{max-width:1240px;margin:0 auto;padding:26px 20px 50px}
.pagetitle{font-family:Georgia,serif;font-size:28px;color:var(--pine);margin-bottom:6px}
.pagesub{color:var(--muted);font-size:14px;margin-bottom:22px;max-width:760px}
.article{max-width:760px}
.article h1.entry-title{font-family:Georgia,serif;font-size:30px;line-height:1.25;margin:10px 0 12px;color:var(--ink)}
.article .by{font-size:12.5px;color:var(--muted);margin-bottom:18px}
.article .body p{margin-bottom:15px;font-size:15.5px;color:#2c3630}
.article .body h2{font-family:Georgia,serif;font-size:21px;margin:24px 0 10px;color:var(--pine)}
.article .body h3{font-family:Georgia,serif;font-size:18px;margin:20px 0 8px;color:var(--pine)}
.article .body ul,.article .body ol{padding-left:20px;margin-bottom:15px}
.article .body li{margin-bottom:6px}
.article .body table{border-collapse:collapse;width:100%;font-size:13px;margin:12px 0}
.article .body th{background:var(--pine);color:#fff;padding:10px 12px;text-align:left;font-size:11px;letter-spacing:1px;text-transform:uppercase}
.article .body td{padding:9px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.article .body tr:nth-child(even) td{background:#f6f4ee}
.prbanner{background:#f2f4f5;border:1px solid #d8dde0;border-radius:9px;padding:12px 16px;font-size:12px;color:#5a646c;margin:14px 0}
/* brand table */
.btable{width:100%;border-collapse:collapse;background:#fff;border-radius:10px;overflow:hidden}
.btable th{background:var(--pine);color:#fff;font-size:10.5px;letter-spacing:1px;text-transform:uppercase;padding:11px 12px;text-align:left}
.btable td{padding:10px 12px;border-bottom:1px solid var(--line);font-size:13px;vertical-align:top}
.btable tr:last-child td{border-bottom:0}
.btable .score{font-family:Georgia,serif;font-weight:700;font-size:16px;color:var(--moss)}
.badge{display:inline-block;font-size:10px;font-weight:700;padding:2px 8px;border-radius:999px}
.badge.tb{background:var(--tint-g);color:var(--pine)}.badge.ts{background:var(--tint-b);color:#6b4d12}.badge.pend{background:#eef0f1;color:#77808a}
/* footer */
footer{background:var(--pine);color:#C9D8CF;font-size:13px;margin-top:20px}
footer .wrap{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:24px;padding:40px 20px 24px}
footer h4{color:#fff;font-family:Georgia,serif;font-size:15px;margin-bottom:10px}
footer a{display:block;padding:2.5px 0;color:#C9D8CF}
footer a:hover{color:#fff}
footer .base{max-width:1240px;margin:0 auto;padding:14px 20px 22px;border-top:1px solid rgba(255,255,255,.1);font-size:11px;opacity:.65}
.socials{display:flex;gap:10px;margin-top:12px}
.socials svg{fill:#C9D8CF}
@media(max-width:760px){footer .wrap{grid-template-columns:1fr 1fr}.tagline{display:none}}
/* cookie */
#ckbar{position:fixed;bottom:0;left:0;right:0;background:var(--pine);color:#E4EFE3;padding:12px 20px;font-size:12.5px;z-index:99;display:flex;justify-content:center;gap:18px;align-items:center;flex-wrap:wrap}
#ckbar a{color:var(--lime)}
#ckbar button{background:var(--lime);color:var(--pine);border:0;border-radius:4px;padding:7px 18px;font-weight:700;font-size:12px;cursor:pointer}
/* forms */
.form{background:#fff;border:1px solid var(--line);border-radius:10px;padding:26px;max-width:660px;margin:0 auto}
.form label{display:block;font-size:11.5px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--muted);margin:14px 0 5px}
.form input,.form textarea,.form select{width:100%;border:1px solid var(--line);border-radius:8px;padding:10px 12px;font-size:13.5px;font-family:inherit}
.form textarea{min-height:100px;resize:vertical}

/* ===== v1.0.2: nav li reset + tool/page components ===== */
.mainnav li{list-style:none;display:block}
:root{--green:var(--pine);--brass:var(--lime);--brass-d:var(--lime-d);--brass-dd:var(--moss)}
.qc-slot{background:#fff;border:1px dashed var(--line);border-radius:9px;padding:16px;margin-bottom:10px}
.qc-slot label{display:block;font-size:11.5px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:900px){.grid3{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.grid3{grid-template-columns:1fr}}
.ccard{background:#fff;border:1px solid var(--line);border-radius:10px;padding:22px}
.ccard .flag{font-size:24px}
.ccard h3{font-family:Georgia,serif;font-size:19px;margin:6px 0 3px}
.ccard .st{font-size:10.5px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase}
.ccard .st.live{color:#166534}.ccard .st.soon{color:#9a7a2e}
.ccard p{font-size:12.5px;color:#43504a}
.ccard .insight{margin-top:10px;background:var(--tint-g);border-radius:7px;padding:9px 13px;font-size:12px;color:#33413a}
.cstats{margin:12px 0;display:grid;gap:7px}
.cstats .row{display:flex;justify-content:space-between;font-size:12.5px;border-bottom:1px dashed var(--line);padding-bottom:5px}
.cstats .row b{font-family:Georgia,serif;color:var(--brass-dd)}
.coming{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-top:20px}
.coming .k{background:#fff;border:1px dashed var(--line);border-radius:9px;padding:13px 8px;text-align:center}
.coming .k .f{font-size:19px}.coming .k .n{font-size:12px;font-weight:600;margin-top:3px}
.coming .k .s{font-size:9.5px;color:#9a7a2e;letter-spacing:1px;text-transform:uppercase;font-weight:700}
@media(max-width:760px){.coming{grid-template-columns:repeat(3,1fr)}}
.pledge{background:var(--tint-g);border-radius:12px;padding:26px 30px;display:flex;gap:20px;align-items:flex-start;max-width:860px;margin:0 auto}
.pledge .ic{font-size:26px}
.pledge h3{font-family:Georgia,serif;font-size:18px;margin-bottom:6px;color:var(--pine)}
.pledge p{font-size:13.5px;color:#33413a}
.langnote{background:#FBF4E4;border:1px solid var(--tint-b);border-radius:9px;padding:13px 16px;font-size:12.5px;color:#6b4d12;margin:16px 0}
.brandrow{cursor:pointer}.brandrow:hover{background:#f4f1ea}
.btn.g{border-color:rgba(255,255,255,.55);color:#fff}
.sub-lang.on{background:var(--pine);color:#fff}

/* ===== v1.0.3: homepage brand film ===== */
.filmwrap{max-width:880px;margin:0 auto}
.filmwrap video{width:100%;aspect-ratio:16/9;border-radius:12px;display:block;background:#0C3524}
.filmnote{text-align:center;font-size:12.5px;color:var(--muted);margin-top:10px}
