/*
Theme Name: SzántóGráf
Theme URI: https://szantograf.hu
Author: Szántó István / átdolgozás
Description: Konzervatív, hírlap-szerű téma a SzántóGráf háztáji hír- és szórakoztató portálhoz. Nyomdai fejléc, hajszálvonalas hasábok, lapvörös kiemelőszín. A reklámfelületek widget-területként szerkeszthetők.
Version: 1.0.8
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: szantograf
*/

:root{
  --paper:#F4EFE3;
  --ink:#1A1613;
  --soft:#574F41;
  --red:#8C1D2A;
  --rule:#C6BDA6;
  --rule-dk:#A79D83;
  --ad:#E8E1CE;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);
  font-family:"PT Serif",Georgia,serif;font-size:16.5px;line-height:1.5;
  -webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
.wrap{max-width:1160px;margin:0 auto;padding:0 22px}
h1,h2,h3,h4,.name,.kick,.seclabel{font-family:"Spectral",Georgia,serif}

/* accessibility */
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.skip-link{position:absolute;left:-999px;top:0;background:var(--ink);color:var(--paper);padding:10px 16px;z-index:100}
.skip-link:focus{left:8px;top:8px}
a:focus,button:focus,input:focus{outline:2px solid var(--red);outline-offset:2px}

/* edition strip */
.edition{border-bottom:1px solid var(--rule-dk)}
.edition .wrap{display:flex;justify-content:space-between;align-items:center;
  padding:6px 22px;font-size:12px;letter-spacing:.03em;color:var(--soft);
  text-transform:uppercase;font-family:"Spectral",serif}
.edition a{color:var(--soft)}
.edition a:hover{color:var(--red)}

/* nameplate */
.nameplate{padding:18px 0 0}
.nameplate .top{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;padding:6px 0}
.nameplate .col{font-family:"Spectral",serif;font-size:11.5px;line-height:1.35;
  color:var(--soft);text-transform:uppercase;letter-spacing:.05em}
.nameplate .col.r{text-align:right}
.name{font-weight:800;font-size:clamp(44px,8vw,84px);line-height:.9;
  text-align:center;letter-spacing:-.015em;color:var(--ink);white-space:nowrap}
.name a{color:inherit}
.name em{font-style:normal;color:var(--red)}
.custom-logo-link{display:block;text-align:center}
.custom-logo{margin:0 auto;max-height:96px;width:auto}
.nameplate .motto{text-align:center;font-family:"Spectral",serif;font-style:italic;
  font-size:15px;color:var(--soft);padding:8px 0 12px;border-bottom:3px double var(--ink)}

/* ad slots */
.ad{background:var(--ad);border:1px solid var(--rule-dk);
  display:flex;align-items:center;justify-content:center;text-align:center;
  color:#8A7C5C;position:relative;flex-direction:column}
.ad::before{content:"HIRDETÉS";position:absolute;top:5px;left:7px;
  font-family:"Spectral",serif;font-size:9px;letter-spacing:.16em;color:#AC9E78}
.ad .adlabel{font-family:"Spectral",serif;font-size:12.5px;letter-spacing:.02em;
  text-transform:uppercase;padding:0 12px}
.ad-zone{margin-bottom:20px}
.ad-header{width:468px;max-width:100%;height:66px;margin:0 auto}
.ad-rail{width:100%;min-height:250px;margin-bottom:20px}
.ad-rail.tall{min-height:600px}
.ad-infeed{width:100%;min-height:92px;margin:0 0 6px}
.ad-zone .widget{border:0;padding:0;margin:0;background:transparent}

/* AdRotate kimenet normalizálása */
.ad-zone{text-align:center}
.ad-zone img{margin:0 auto;height:auto;max-width:100%}
/* Hirdetés-egység: hajszálvékony keret + apró „HIRDETÉS" felirat (iparági disclosure) */
.ad-unit{display:inline-block;border:1px solid #DBD2BE;padding:6px 7px 5px;background:#FBF8F1;max-width:100%}
.ad-label{display:block;font-family:"Spectral",serif;font-size:9px;line-height:1;letter-spacing:.14em;
  text-transform:uppercase;color:#A99C80;text-align:left;margin:0 0 5px}
.ad-unit__body{line-height:0}
.ad-unit__body img{display:block;margin:0 auto}
.adhint{display:block;font-family:"Spectral",serif;font-size:9px;letter-spacing:.03em;
  color:#B4A67E;margin-top:6px;text-transform:none;font-style:italic;padding:0 8px}
/* AdRotate partner-címerek: soronként több, egységes méret.
   FONTOS: az AdRotate „reszponzív" inline `height:auto !important`-ot rak a képre, amit
   külső CSS-ből `height`-tal nem lehet legyőzni — ezért `max-height`-tal korlátozzuk
   (azt az AdRotate nem állítja), így az arányos magasság kicsire szorul és több fér egy sorba. */
.partners-ads{text-align:center;line-height:0}
.partners-ads a,.partners-ads p,.partners-ads div,.partners-ads span{display:inline-block;vertical-align:middle;margin:0;padding:0}
.partners-ads br{display:none}
.partners-ads img{display:inline-block;vertical-align:middle;max-height:84px;max-width:130px;
  width:auto;height:auto;object-fit:contain;margin:8px 10px}
.logostrip--ads{text-align:center;line-height:0;padding:6px 0}
.logostrip--ads a,.logostrip--ads p,.logostrip--ads div,.logostrip--ads span{display:inline-block;vertical-align:middle;margin:0;padding:0}
.logostrip--ads br{display:none}
.logostrip--ads img{display:inline-block;vertical-align:middle;max-height:58px;max-width:170px;
  width:auto;height:auto;object-fit:contain;margin:8px 16px}

.header-ad-wrap{text-align:center;padding:16px 22px 4px}

/* rubric nav */
nav.rubrics{border-bottom:2px solid var(--ink);position:sticky;top:0;z-index:40;background:var(--paper)}
nav.rubrics .menu-wrap{max-width:1160px;margin:0 auto;padding:0 22px}
nav.rubrics ul{list-style:none;margin:0;padding:0;display:flex;gap:0;overflow-x:auto;scrollbar-width:none;
  /* Görgetés-jelző árnyékok: csak akkor látszanak, ha van jobbra/balra még tartalom */
  background:
    linear-gradient(90deg, var(--paper) 22%, rgba(244,239,227,0)) 0 0 / 36px 100% no-repeat local,
    linear-gradient(90deg, rgba(244,239,227,0), var(--paper) 78%) 100% 0 / 36px 100% no-repeat local,
    radial-gradient(farthest-side at 0 50%, rgba(26,22,19,.20), rgba(26,22,19,0)) 0 0 / 16px 100% no-repeat scroll,
    radial-gradient(farthest-side at 100% 50%, rgba(26,22,19,.20), rgba(26,22,19,0)) 100% 0 / 16px 100% no-repeat scroll}
nav.rubrics ul::-webkit-scrollbar{display:none}
nav.rubrics li{flex:0 0 auto}
nav.rubrics a{font-family:"Spectral",serif;font-weight:600;font-size:14px;
  text-transform:uppercase;letter-spacing:.03em;padding:11px 15px;white-space:nowrap;
  border-right:1px solid var(--rule);display:block}
nav.rubrics li:first-child a{padding-left:0}
nav.rubrics a:hover,nav.rubrics .current-menu-item>a,nav.rubrics .current-cat>a{color:var(--red)}

/* kickers / meta */
.kick{font-family:"Spectral",serif;font-weight:600;font-size:11.5px;
  letter-spacing:.11em;text-transform:uppercase;color:var(--red);display:block;margin-bottom:5px}
.meta{font-family:"Spectral",serif;font-size:12px;color:var(--soft);
  font-style:italic;letter-spacing:.01em}
.byline{font-family:"Spectral",serif;font-size:12px;text-transform:uppercase;
  letter-spacing:.06em;color:var(--soft)}

/* section label */
.seclabel{display:flex;align-items:center;gap:14px;margin:30px 0 16px}
.seclabel h2{font-weight:800;font-size:16px;text-transform:uppercase;letter-spacing:.08em;margin:0;white-space:normal}
.seclabel h2 a{color:inherit}
.seclabel::after{content:"";flex:1;border-top:2px solid var(--ink)}
.seclabel .more{font-family:"Spectral",serif;font-size:11px;text-transform:uppercase;
  letter-spacing:.06em;color:var(--red);white-space:nowrap}

/* front page */
.front{padding:26px 0 8px}
.front-grid{display:grid;grid-template-columns:1.85fr 1px 1fr;gap:26px}
.front-grid--solo{grid-template-columns:1fr}
.vrule{background:var(--rule);width:1px}
.lead .kick{font-size:12px}
.lead h1{font-weight:800;font-size:clamp(30px,4.4vw,50px);line-height:1.03;
  letter-spacing:-.015em;margin:2px 0 12px}
.lead h1 a:hover{color:var(--red)}
.lead .thumb{height:330px;background:#DBD2BC;border:1px solid var(--rule-dk);
  display:flex;align-items:flex-end;justify-content:flex-end;overflow:hidden}
.lead .thumb img{width:100%;height:100%;object-fit:cover}
.lead .thumb .cap{font-family:"Spectral",serif;font-style:italic;font-size:11px;color:var(--soft);padding:6px 8px}
.lead .stand{margin:14px 0 8px;font-size:18px;color:#33302A}
.lead .stand::first-letter{font-family:"Spectral",serif;font-weight:800;
  font-size:56px;line-height:.8;float:left;padding:6px 8px 0 0;color:var(--red)}

.briefs .btitle{font-family:"Spectral",serif;font-weight:800;font-size:13px;
  text-transform:uppercase;letter-spacing:.08em;border-bottom:2px solid var(--ink);
  padding-bottom:6px;margin-bottom:4px}
.brief{padding:14px 0;border-bottom:1px solid var(--rule)}
.brief:last-child{border-bottom:0}
.brief h3{font-weight:700;font-size:19px;line-height:1.12;margin:0 0 5px}
.brief h3 a:hover{color:var(--red)}
.brief p{margin:0 0 5px;font-size:14.5px;color:var(--soft)}

/* main + sidebar */
.layout{display:grid;grid-template-columns:1fr 312px;gap:34px;padding:8px 0 34px}
/* Grid-túlcsordulás megelőzése: a rács-elemek zsugorodhassanak a tartalom alá */
.layout>*,.feed>*,.rubrow>*,.front-grid>*{min-width:0}
.story h3,.brief h3,.li h4,.entry-header h1,.lead h1,.seclabel h2,.entry-content{overflow-wrap:anywhere;word-break:break-word}
.colrule{border-top:3px double var(--ink);margin:18px 0 0}
.feed{display:grid;grid-template-columns:1fr 1px 1fr;gap:26px}
.story{padding-bottom:4px}
.story .thumb{height:150px;background:#DBD2BC;border:1px solid var(--rule-dk);margin-bottom:10px;overflow:hidden}
.story .thumb img{width:100%;height:100%;object-fit:cover}
.story h3{font-weight:700;font-size:20px;line-height:1.12;margin:4px 0 6px}
.story h3 a:hover{color:var(--red)}
.story p{margin:0 0 6px;font-size:15px;color:var(--soft)}
.feed-sep{border:0;border-top:1px solid var(--rule);margin:22px 0}

.rubrow{display:grid;grid-template-columns:1fr 1px 1fr;gap:26px}
.rublock .rt{font-family:"Spectral",serif;font-weight:800;font-size:14px;
  text-transform:uppercase;letter-spacing:.06em;border-bottom:2px solid var(--red);padding-bottom:6px;margin:0 0 8px}
.rublock .rt a{color:inherit}
.li{padding:9px 0;border-bottom:1px solid var(--rule)}
.li:last-child{border-bottom:0}
.li h4{font-family:"PT Serif",serif;font-weight:700;font-size:15.5px;line-height:1.16;margin:0 0 2px}
.li h4 a:hover{color:var(--red)}

/* sidebar */
.side{align-self:start;position:sticky;top:56px}
.widget{border:1px solid var(--rule-dk);padding:15px;margin-bottom:20px;background:#F7F3E9}
.widget-title,.widget h4{font-family:"Spectral",serif;font-weight:800;font-size:13px;
  text-transform:uppercase;letter-spacing:.07em;margin:0 0 12px;border-bottom:2px solid var(--ink);padding-bottom:7px}
.search{display:flex;gap:7px}
.search input[type=search],.search input[type=text]{flex:1;min-width:0;border:1px solid var(--rule-dk);
  background:var(--paper);padding:9px 10px;font-family:inherit;font-size:14px}
.search button,.search input[type=submit]{background:var(--ink);color:var(--paper);border:0;padding:9px 14px;
  font-family:"Spectral",serif;font-weight:600;text-transform:uppercase;font-size:12px;letter-spacing:.05em;cursor:pointer}
.search button:hover,.search input[type=submit]:hover{background:var(--red)}
.social{display:flex;flex-direction:column}
.social a{font-family:"Spectral",serif;font-size:13.5px;padding:8px 0;border-bottom:1px solid var(--rule);
  display:flex;justify-content:space-between}
.social a:last-child{border-bottom:0}
.social a:hover{color:var(--red)}
.social a span{color:var(--soft);font-style:italic}

.gyasz{border:2px solid var(--ink);padding:16px;margin-bottom:20px;text-align:center;background:#F7F3E9}
.gyasz .k{font-family:"Spectral",serif;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--soft)}
.gyasz h4{font-family:"Spectral",serif;font-weight:800;font-size:23px;margin:6px 0;border:0}
.gyasz p{font-size:13px;color:var(--soft);margin:0 0 12px}
.gyasz .btn{display:inline-block;font-family:"Spectral",serif;font-size:12px;text-transform:uppercase;
  letter-spacing:.06em;border:1px solid var(--ink);padding:8px 18px;color:var(--ink)}
.gyasz .btn:hover{background:var(--ink);color:var(--paper)}

/* WP calendar */
.widget_calendar table{width:100%;border-collapse:collapse;font-family:"Spectral",serif;font-size:12.5px}
.widget_calendar caption{font-family:"Spectral",serif;font-weight:600;font-size:13px;margin-bottom:8px;
  color:var(--red);text-transform:uppercase;letter-spacing:.04em}
.widget_calendar th{color:var(--soft);font-weight:600;padding:4px 0;text-align:center}
.widget_calendar td{text-align:center;padding:5px 0}
.widget_calendar td#today{background:var(--red);color:#fff}
.widget_calendar td a{color:var(--red);font-weight:700}
.widget_calendar nav{display:flex;justify-content:space-between;font-size:11px;margin-top:6px}

/* partner települések */
.partners{border-top:3px double var(--ink);border-bottom:3px double var(--ink);padding:30px 0;margin-top:20px}
.partners .head{text-align:center;margin-bottom:22px}
.partners .k{font-family:"Spectral",serif;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--red)}
.partners h2{font-family:"Spectral",serif;font-weight:800;font-size:26px;margin:5px 0 3px}
.partners .sub{font-family:"Spectral",serif;font-style:italic;font-size:14px;color:var(--soft);margin:0}
.crestgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:0;
  border-left:1px solid var(--rule);border-top:1px solid var(--rule)}
.crest{aspect-ratio:1/.86;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:8px}
.crest:hover{background:#EDE6D5}
.crest .shield{width:24px;height:30px;background:var(--ink);clip-path:polygon(0 0,100% 0,100% 62%,50% 100%,0 62%);opacity:.8}
.crest:hover .shield{background:var(--red);opacity:1}
.crest span{font-family:"Spectral",serif;font-size:10.5px;text-align:center;color:var(--soft);line-height:1.15}

/* media partners */
.mediapartners{padding:26px 0}
.mediapartners .head{text-align:center;margin-bottom:16px}
.mediapartners .k{font-family:"Spectral",serif;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--soft)}
.logostrip{display:flex;flex-wrap:wrap;gap:0;justify-content:center;border-top:1px solid var(--rule);border-left:1px solid var(--rule)}
.logostrip .lg{height:60px;flex:1 1 180px;min-width:150px;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);
  display:flex;align-items:center;justify-content:center;font-family:"Spectral",serif;font-weight:700;color:var(--soft);font-size:15px}
.logostrip .lg.adslot{background:var(--ad);color:#8A7C5C;font-size:12px;font-weight:400;font-style:italic}

/* footer / impresszum */
footer.site-footer{border-top:2px solid var(--ink);padding:30px 0 26px;margin-top:6px}
footer.site-footer .cols{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px}
footer.site-footer .name{font-size:34px;text-align:left;white-space:normal}
footer.site-footer p{font-size:13.5px;color:var(--soft);margin:8px 0 0;max-width:42ch}
footer.site-footer h5{font-family:"Spectral",serif;font-weight:800;font-size:12px;letter-spacing:.06em;text-transform:uppercase;
  color:var(--ink);margin:0 0 10px;border-bottom:1px solid var(--rule);padding-bottom:6px}
footer.site-footer ul{list-style:none;padding:0;margin:0;font-size:14px;line-height:1.95}
footer.site-footer ul a:hover{color:var(--red)}
footer.site-footer .base{font-family:"Spectral",serif;font-size:11.5px;color:var(--soft);letter-spacing:.02em;
  margin-top:24px;border-top:1px solid var(--rule);padding-top:14px;text-transform:uppercase}

/* single / archive content */
.singlewrap,.archivewrap{padding:26px 0 34px}
.entry-header{margin-bottom:18px}
.entry-header h1{font-family:"Spectral",serif;font-weight:800;font-size:clamp(28px,4vw,44px);line-height:1.04;
  letter-spacing:-.015em;margin:4px 0 10px}
.entry-thumb{margin:0 0 18px;border:1px solid var(--rule-dk);overflow:hidden}
.entry-thumb img{width:100%;height:auto;display:block}
.entry-content{font-size:17.5px;line-height:1.62;max-width:70ch}
.entry-content p{margin:0 0 1.1em}
.entry-content h2,.entry-content h3{font-family:"Spectral",serif;margin:1.4em 0 .5em}
.entry-content a{color:var(--red);text-decoration:underline;text-underline-offset:2px}
.entry-content blockquote{border-left:3px solid var(--red);margin:1.2em 0;padding:.2em 0 .2em 18px;font-style:italic;color:var(--soft)}
/* Cikk-képek: egységesen a tartalomoszlop teljes szélessége */
.entry-content img{width:100%;height:auto;display:block;border:1px solid var(--rule-dk);margin:1.2em 0}
.entry-content figure{margin:1.2em 0;max-width:100%}
.entry-content figure img,.entry-content .wp-caption img{margin:0}
.entry-content .wp-caption{width:100%!important}
.entry-content figcaption,.entry-content .wp-caption-text{font-family:"Spectral",serif;font-style:italic;
  font-size:13px;color:var(--soft);padding:6px 2px 0;text-align:left;margin-bottom:1.2em}
/* Igazított képek: megtartják a lebegést, de maximum fél oszlop szélesek */
.entry-content .alignleft{float:left;margin:.3em 1.2em .8em 0;max-width:50%}
.entry-content .alignright{float:right;margin:.3em 0 .8em 1.2em;max-width:50%}
.entry-content .aligncenter{margin-left:auto;margin-right:auto}
.entry-content .alignleft img,.entry-content .alignright img,.entry-content .aligncenter img{width:100%}
.page-title{font-family:"Spectral",serif;font-weight:800;font-size:26px;margin:0 0 6px}
.pagination{margin:26px 0;display:flex;gap:6px;flex-wrap:wrap;font-family:"Spectral",serif}
.pagination .page-numbers{border:1px solid var(--rule-dk);padding:7px 12px;color:var(--ink)}
.pagination .current{background:var(--ink);color:var(--paper)}
.pagination a:hover{background:var(--red);color:#fff;border-color:var(--red)}

/* responsive */
@media(max-width:900px){
  .front-grid{grid-template-columns:1fr}
  .front-grid .vrule{display:none}
  .layout{grid-template-columns:1fr}
  .side{position:static}
  .feed,.rubrow{grid-template-columns:1fr}
  .feed .vrule,.rubrow .vrule{display:none}
  footer.site-footer .cols{grid-template-columns:1fr}
}
@media(max-width:560px){
  .nameplate .top{grid-template-columns:1fr}
  .nameplate .col,.nameplate .col.r{text-align:center}
  .ad-header{display:none}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto}}
