/*
Theme Name: FarmaErmann Magazine
Theme URI: https://www.farmaermann.it/blog/
Description: Child theme editoriale "magazine" per il blog FarmaErmann. Grafica raffinata (Playfair Display + Newsreader + Libre Franklin) su base Sahifa. Usa esclusivamente le immagini reali gia' caricate nel blog (in evidenza o prima immagine del contenuto).
Author: FarmaErmann
Template: sahifa
Version: 1.0.0
*/

/* ============ TOKENS ============ */
:root{
  --paper:#F7F5EF; --white:#FFFFFF; --ink:#17211C; --muted:#5C665F;
  --green-deep:#0C4A3A; --green:#008064; --green-sage:#3E8E74;
  --gold:#C6A15B; --gold-dark:#B08D3F; --mint:#DCE7E2; --mint2:#E7EFEA;
  --hairline:#E4E0D5; --footer:#0A3428;
  --serif:'Playfair Display',Georgia,serif;
  --read:'Newsreader',Georgia,serif;
  --sans:'Libre Franklin',system-ui,sans-serif;
}

/* ============ RESET / BASE ============ */
.fe-body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--read);-webkit-font-smoothing:antialiased;}
.fe-body *{box-sizing:border-box;}
.fe-body a{color:inherit;text-decoration:none;}
.fe-body img{max-width:100%;height:auto;display:block;}
.fe-wrap{max-width:1180px;margin:0 auto;padding:0 24px;}
.fe-kick{font-family:var(--sans);font-weight:600;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-dark);}
.fe-meta{font-family:var(--sans);font-size:12px;letter-spacing:.02em;color:var(--muted);}
.fe-ph{background:var(--mint);border:1px solid #CBD9D2;overflow:hidden;display:flex;align-items:center;justify-content:center;}
.fe-ph img{width:100%;height:100%;object-fit:cover;}
.fe-ph svg{opacity:.85;width:38px;height:38px;}

/* ============ UTILITY BAR ============ */
.fe-util{background:var(--green-deep);}
.fe-util .fe-wrap{display:flex;align-items:center;justify-content:space-between;height:42px;}
.fe-util span,.fe-util a{font-family:var(--sans);font-size:11px;letter-spacing:.18em;text-transform:uppercase;}
.fe-util .l{color:#EBE7DA;} .fe-util .r{color:var(--gold);}

/* ============ MASTHEAD ============ */
.fe-mast{text-align:center;padding:36px 0 22px;}
.fe-brandrow{display:flex;align-items:center;justify-content:center;gap:14px;}
.fe-wordmark{font-family:var(--sans);font-size:clamp(26px,5vw,40px);letter-spacing:.04em;line-height:1;}
.fe-wordmark .a{font-weight:400;color:var(--green-sage);} .fe-wordmark .b{font-weight:700;color:var(--green-deep);}
.fe-tag{margin-top:12px;font-family:var(--read);font-style:italic;font-size:clamp(16px,2.4vw,19px);color:var(--muted);}

/* ============ NAV ============ */
.fe-nav{border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);}
.fe-nav .in{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px 22px;padding:15px 24px;
  font-family:var(--sans);font-size:12px;font-weight:500;letter-spacing:.11em;text-transform:uppercase;color:#25322C;}
.fe-nav .sep{color:#C9C4B4;}
.fe-nav a:hover,.fe-nav a.current{color:var(--green-deep);}

/* ============ SECTION LABEL ============ */
.fe-seclabel{display:flex;align-items:center;gap:20px;margin-top:70px;}
.fe-seclabel .t{font-family:var(--serif);font-style:italic;font-size:26px;color:var(--green-deep);white-space:nowrap;}
.fe-seclabel .t a{color:inherit;}
.fe-seclabel .rule{flex-grow:1;height:1px;background:var(--hairline);}

/* ============ HERO ============ */
.fe-hero{display:grid;grid-template-columns:1.28fr 1fr;gap:56px;align-items:center;margin-top:52px;}
.fe-hero .fe-ph{height:500px;border-radius:6px;}
.fe-hero h1{font-family:var(--serif);font-weight:700;font-size:clamp(34px,4.4vw,52px);line-height:1.08;letter-spacing:-.01em;margin:16px 0 20px;}
.fe-hero h1 a{color:var(--ink);}
.fe-hero .stand{font-family:var(--read);font-style:italic;font-size:clamp(18px,2.4vw,20px);line-height:1.5;color:#3D4742;margin:0 0 22px;}
.fe-readlink{display:inline-block;font-family:var(--sans);font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--green-deep);border-bottom:2px solid var(--gold);padding-bottom:5px;margin-top:10px;}

/* ============ CARD GRID ============ */
.fe-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin-top:34px;}
.fe-card{display:block;}
.fe-card .fe-ph{height:224px;border-radius:6px;}
.fe-card .fe-kick{display:block;margin-top:16px;}
.fe-card h3{font-family:var(--serif);font-weight:600;font-size:22px;line-height:1.2;margin:10px 0 10px;color:var(--ink);}
.fe-card:hover h3{color:var(--green-deep);}
.fe-card p{font-family:var(--read);font-size:16px;line-height:1.5;color:#4C554F;margin:0 0 12px;}

/* ============ ARCHIVE / CATEGORY ============ */
.fe-archhead{max-width:760px;margin:56px auto 0;text-align:center;padding:0 24px;}
.fe-archhead h1{font-family:var(--serif);font-weight:700;font-size:clamp(38px,5vw,56px);line-height:1.05;margin:14px 0 16px;color:var(--green-deep);}
.fe-archhead p{font-family:var(--read);font-style:italic;font-size:19px;line-height:1.5;color:#3D4742;margin:0;}
.fe-archrule{max-width:1140px;margin:40px auto 0;height:1px;background:var(--hairline);}

/* ============ PAGINATION ============ */
.fe-pager{margin:54px auto 0;display:flex;justify-content:center;align-items:center;gap:10px;flex-wrap:wrap;}
.fe-pager .page-numbers{font-family:var(--sans);font-size:14px;min-width:44px;height:44px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--hairline);border-radius:8px;color:#2C352F;background:var(--white);}
.fe-pager .page-numbers.current{background:var(--green-deep);color:var(--paper);border-color:var(--green-deep);font-weight:600;}
.fe-pager .page-numbers:hover{border-color:var(--gold);}
.fe-pager .page-numbers.dots{border:none;background:transparent;}

/* ============ SINGLE ARTICLE ============ */
.fe-arthead{max-width:700px;margin:56px auto 0;text-align:center;padding:0 24px;}
.fe-arthead h1{font-family:var(--serif);font-weight:700;font-size:clamp(32px,4.6vw,48px);line-height:1.1;letter-spacing:-.01em;margin:18px 0 18px;}
.fe-arthead .stand{font-family:var(--read);font-style:italic;font-size:clamp(18px,2.4vw,21px);line-height:1.5;color:#3D4742;margin:0 0 22px;}
.fe-lead{max-width:900px;margin:44px auto 0;height:440px;border-radius:16px;overflow:hidden;background:var(--mint);}
.fe-lead img{width:100%;height:100%;object-fit:cover;}
.fe-article-body{max-width:660px;margin:50px auto 0;padding:0 24px;font-family:var(--read);font-size:20px;line-height:1.75;color:#25302A;}
.fe-article-body p{margin:0 0 26px;}
.fe-article-body h2{font-family:var(--serif);font-weight:600;font-size:30px;line-height:1.2;margin:36px 0 16px;color:var(--ink);}
.fe-article-body h3{font-family:var(--serif);font-weight:600;font-size:24px;line-height:1.25;margin:30px 0 14px;color:var(--ink);}
.fe-article-body a{color:var(--green);border-bottom:1px solid #BFD8CF;}
.fe-article-body a:hover{color:var(--green-deep);}
.fe-article-body img{border-radius:12px;margin:24px auto;}
.fe-article-body ul,.fe-article-body ol{margin:0 0 26px;padding-left:24px;}
.fe-article-body li{margin:0 0 10px;}
.fe-article-body blockquote{border-left:3px solid var(--gold);margin:34px 0;padding:6px 0 6px 28px;font-family:var(--serif);font-style:italic;font-size:24px;line-height:1.4;color:var(--green-deep);}
.fe-article-body table{width:100%;border-collapse:collapse;margin:0 0 26px;font-size:16px;}
.fe-article-body th,.fe-article-body td{border:1px solid var(--hairline);padding:10px 12px;text-align:left;}

/* dropcap on first paragraph */
.fe-article-body > p:first-of-type::first-letter{font-family:var(--serif);font-weight:700;font-size:76px;line-height:.78;float:left;padding:6px 14px 0 0;color:var(--green-deep);}

.fe-shopcta{max-width:900px;margin:48px auto 0;background:var(--mint2);border:1px solid #D4E1DB;border-radius:16px;padding:32px 40px;display:flex;align-items:center;justify-content:space-between;gap:26px;flex-wrap:wrap;}
.fe-shopcta .t{font-family:var(--serif);font-weight:600;font-size:22px;color:var(--ink);}
.fe-shopcta a{flex-shrink:0;padding:14px 26px;background:var(--green-deep);color:var(--paper);border-radius:999px;font-family:var(--sans);font-weight:600;font-size:12px;letter-spacing:.08em;text-transform:uppercase;}

/* author box */
.fe-authorbox{max-width:900px;margin:50px auto 0;padding:30px 34px;background:#EFEDE4;border-radius:16px;display:flex;gap:24px;align-items:center;}
.fe-authorbox .av{width:70px;height:70px;flex:0 0 70px;border-radius:50%;background:var(--green-deep);display:flex;align-items:center;justify-content:center;overflow:hidden;}
.fe-authorbox .av img{width:100%;height:100%;object-fit:cover;}
.fe-authorbox .role{font-family:var(--sans);font-weight:600;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-dark);}
.fe-authorbox .an{font-family:var(--serif);font-weight:700;font-size:20px;color:var(--ink);margin:4px 0 6px;}
.fe-authorbox .bio{font-family:var(--read);font-size:16px;line-height:1.5;color:#4C554F;margin:0;}

/* related */
.fe-related{max-width:1140px;margin:60px auto 0;padding:0 24px;}
.fe-relgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:38px;margin-top:28px;}
.fe-relcard .fe-ph{height:190px;border-radius:8px;}
.fe-relcard .fe-kick{display:block;margin-top:16px;}
.fe-relcard h3{font-family:var(--serif);font-weight:600;font-size:21px;line-height:1.2;margin:9px 0 8px;color:var(--ink);}
.fe-relcard:hover h3{color:var(--green-deep);}

/* ============ NEWSLETTER ============ */
.fe-nl{background:var(--green-deep);margin-top:78px;}
.fe-nl .in{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:center;padding:56px 24px;}
.fe-nl .kickg{font-family:var(--sans);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:14px;}
.fe-nl h2{font-family:var(--serif);font-weight:600;font-size:clamp(26px,3.4vw,34px);line-height:1.15;color:var(--paper);margin:0;}
.fe-nl label{display:block;font-family:var(--sans);font-size:12px;letter-spacing:.06em;color:#BFD4CB;margin-bottom:10px;}
.fe-nl .field{display:flex;gap:12px;}
.fe-nl input{flex-grow:1;height:52px;border:1px solid #3E6B5B;background:#0A3E31;color:var(--paper);padding:0 18px;font-family:var(--sans);font-size:15px;border-radius:999px;}
.fe-nl button{height:52px;padding:0 28px;background:var(--gold);color:var(--ink);border:none;border-radius:999px;font-family:var(--sans);font-weight:600;font-size:13px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;white-space:nowrap;}

/* ============ FOOTER ============ */
.fe-foot{background:var(--footer);padding:52px 0 30px;margin-top:20px;color:#CFE0D8;}
.fe-foot .cols{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:44px;}
.fe-foot .fw{font-family:var(--sans);font-size:24px;letter-spacing:.04em;}
.fe-foot .fw .a{font-weight:400;color:#7FB8A4;} .fe-foot .fw .b{font-weight:700;color:var(--paper);}
.fe-foot p{font-family:var(--read);font-size:15px;line-height:1.55;color:#9FBBB0;margin:16px 0 0;max-width:300px;}
.fe-foot .ct{font-family:var(--sans);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:16px;}
.fe-foot .lk a{display:block;font-family:var(--sans);font-size:14px;line-height:2.1;color:#B9CEC5;}
.fe-foot .lk a:hover{color:var(--paper);}
.fe-foot .bottom{border-top:1px solid #16493A;padding-top:22px;margin-top:38px;font-family:var(--sans);font-size:12px;color:#7FA093;}

/* ============ SITEMAP ============ */
.fe-chips{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px;}
.fe-chip{font-family:var(--sans);font-weight:600;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--green-deep);background:var(--white);border:1px solid var(--hairline);border-radius:999px;padding:10px 18px;}
.fe-chip:hover{border-color:var(--gold);}
.fe-chip span{color:var(--gold-dark);margin-left:4px;}
.fe-smcols{columns:2;column-gap:56px;margin-top:30px;}
.fe-smblock{break-inside:avoid;margin-bottom:34px;}
.fe-smblock h3{font-family:var(--serif);font-weight:700;font-size:22px;color:var(--green-deep);margin:0 0 12px;padding-bottom:10px;border-bottom:2px solid var(--gold);}
.fe-smblock ul{list-style:none;margin:0;padding:0;}
.fe-smblock li{display:flex;justify-content:space-between;gap:16px;align-items:baseline;padding:9px 0;border-bottom:1px solid #EDE9DE;font-family:var(--read);font-size:16px;line-height:1.35;}
.fe-smblock li a{color:#25302A;}
.fe-smblock li a:hover{color:var(--green);}
.fe-smblock li .d{font-family:var(--sans);font-size:11px;color:#9AA39D;white-space:nowrap;}
@media(max-width:760px){.fe-smcols{columns:1;}}

/* ============ GENERIC PAGE ============ */
.fe-page{max-width:760px;margin:52px auto 0;padding:0 24px;}
.fe-page h1{font-family:var(--serif);font-weight:700;font-size:clamp(30px,4vw,44px);line-height:1.1;color:var(--green-deep);margin:0 0 24px;}
.fe-page .fe-article-body{max-width:none;margin-top:0;padding:0;}

/* ============ RESPONSIVE ============ */
@media(max-width:900px){
  .fe-hero{grid-template-columns:1fr;gap:26px;}.fe-hero .fe-ph{height:300px;}
  .fe-cards{grid-template-columns:1fr;gap:34px;}.fe-card .fe-ph{height:220px;}
  .fe-relgrid{grid-template-columns:1fr;gap:30px;}
  .fe-lead{height:280px;}
  .fe-authorbox{flex-direction:column;text-align:center;}
  .fe-nl .in{grid-template-columns:1fr;gap:26px;}
  .fe-foot .cols{grid-template-columns:1fr 1fr;gap:32px;}
  .fe-util .r{display:none;}
}
@media(max-width:560px){
  .fe-foot .cols{grid-template-columns:1fr;}
  .fe-nl .field{flex-direction:column;}.fe-nl button{width:100%;}
}
