/* ==========================================================================
   Iranian France News — main stylesheet (RTL)
   ========================================================================== */

/* ---------- Fonts (Vazirmatn, self-hosted, OFL) ---------- */
@font-face{font-family:"Vazirmatn";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/vazirmatn-arabic-400-normal.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:"Vazirmatn";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/vazirmatn-arabic-500-normal.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:"Vazirmatn";font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/vazirmatn-arabic-700-normal.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:"Vazirmatn";font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/vazirmatn-arabic-800-normal.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:"Vazirmatn";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/vazirmatn-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Vazirmatn";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/vazirmatn-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Vazirmatn";font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/vazirmatn-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Vazirmatn";font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/vazirmatn-latin-800-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* ---------- Tokens ---------- */
:root{
	--accent:#c8102e;
	--accent-ink:#fff;
	--blue:#1f3c88;
	--green:#167a4a;
	--gold:#b8892d;
	--ink:#0e1a2b;
	--ink-2:#2c3746;
	--muted:#6b7484;
	--line:#e8e3d9;
	--paper:#f7f5f0;
	--paper-2:#efebe2;
	--card:#ffffff;
	--dark:#0e1a2b;
	--dark-2:#16243a;
	--radius:14px;
	--radius-sm:10px;
	--shadow:0 1px 2px rgba(14,26,43,.05),0 8px 24px -12px rgba(14,26,43,.18);
	--shadow-lg:0 20px 50px -20px rgba(14,26,43,.35);
	--font:"Vazirmatn",Tahoma,"Segoe UI",system-ui,sans-serif;
	--wrap:1240px;
	color-scheme:light;
}
[data-theme="dark"]{
	--ink:#edf1f7;
	--ink-2:#c9d1dd;
	--muted:#94a0b3;
	--line:#24324a;
	--paper:#0b1220;
	--paper-2:#101a2c;
	--card:#131e31;
	--dark:#070d18;
	--dark-2:#0f1a2c;
	--shadow:0 1px 2px rgba(0,0,0,.3),0 8px 24px -12px rgba(0,0,0,.6);
	color-scheme:dark;
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:var(--font);font-size:16px;line-height:1.85;color:var(--ink);background:var(--paper);direction:rtl;text-align:right;-webkit-font-smoothing:antialiased;font-feature-settings:"ss01"}
img,svg,video,iframe{max-width:100%}
img{height:auto;display:block}
a{color:inherit;text-decoration:none}
a:hover{color:var(--accent)}
h1,h2,h3,h4{line-height:1.5;margin:0;font-weight:800;letter-spacing:0}
p{margin:0 0 1em}
ul{margin:0;padding:0;list-style:none}
button{font:inherit;color:inherit;cursor:pointer}
input,textarea,select{font:inherit}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:4px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip-link{position:absolute;top:-60px;right:16px;background:var(--accent);color:#fff;padding:8px 14px;border-radius:8px;z-index:999}
.skip-link:focus{top:12px;color:#fff}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:20px}
.ifn-icon{width:1.15em;height:1.15em;flex:none;vertical-align:-.2em}
.muted{color:var(--muted);font-size:.92rem}

.btn{display:inline-flex;align-items:center;gap:8px;background:var(--accent);color:#fff;font-weight:700;padding:10px 20px;border-radius:999px;border:0;transition:transform .2s,box-shadow .2s,background .2s;font-size:.95rem}
.btn:hover{color:#fff;transform:translateY(-1px);box-shadow:0 10px 20px -10px var(--accent)}
.btn-light{background:#fff;color:var(--ink)}
.btn-light:hover{color:var(--accent)}
.btn-outline{background:transparent;color:var(--ink);border:1.5px solid var(--line)}
.btn-outline:hover{border-color:var(--accent);color:var(--accent);box-shadow:none}
.btn .ifn-icon{width:1em;height:1em}

/* ---------- Brand ---------- */
.brand{margin:0;font-size:inherit}
.brand a{display:flex;align-items:center;gap:14px;color:var(--ink)}
.brand-mark{display:inline-flex;gap:3px;height:46px;align-items:stretch;transform:skewX(-12deg)}
.brand-mark i{display:block;width:9px;border-radius:3px}
.brand-mark i:nth-child(1){background:var(--green)}
.brand-mark i:nth-child(2){background:var(--blue)}
.brand-mark i:nth-child(3){background:var(--accent)}
.brand-text{display:flex;flex-direction:column;line-height:1.25}
.brand-name{font-size:2rem;font-weight:800;letter-spacing:-.5px}
.brand-tag{font-size:.82rem;color:var(--muted);font-weight:500;margin-top:4px}
.custom-logo-link img{max-height:72px;width:auto}

/* ---------- Top bar ---------- */
.topbar{background:var(--dark);color:#c7cfdc;font-size:.82rem}
.topbar-in{display:flex;align-items:center;gap:18px;min-height:38px}
.today{display:flex;align-items:center;gap:8px}
.today .sep{opacity:.35}
.today .greg{opacity:.75}
.top-menu{display:flex;gap:16px;margin-inline-start:auto}
.top-menu a:hover{color:#fff}
.socials{display:flex;gap:6px}
.socials a{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;transition:background .2s,color .2s}
.socials-top{margin-inline-start:auto}
.top-menu + .socials-top{margin-inline-start:0}
.socials-top a:hover{background:rgba(255,255,255,.1);color:#fff}
.socials .ifn-icon{width:16px;height:16px}

/* ---------- Masthead ---------- */
.masthead{background:var(--card);border-bottom:1px solid var(--line)}
.masthead-in{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:22px}
.header-ad{max-width:728px;flex:1;display:flex;justify-content:flex-end}
.header-ad .widget{margin:0}
.masthead-note{display:flex;align-items:center;gap:14px;color:var(--muted);font-size:.95rem}
.masthead-note p{margin:0}
.flagline{width:64px;height:4px;border-radius:4px;background:linear-gradient(90deg,var(--accent) 0 33%,var(--blue) 33% 66%,var(--green) 66%)}

/* ---------- Nav ---------- */
.navbar{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--card) 92%,transparent);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}
.admin-bar .navbar{top:32px}
.navbar-in{display:flex;align-items:center;gap:8px;min-height:56px}
.nav-brand{display:none;font-weight:800;font-size:1.1rem}
.primary-nav{flex:1}
.primary-nav .menu{display:flex;flex-wrap:wrap;gap:2px}
.primary-nav .menu>li{position:relative}
.primary-nav .menu>li>a{display:block;padding:15px 13px;font-weight:700;font-size:.97rem;position:relative}
.primary-nav .menu>li>a::after{content:"";position:absolute;right:13px;left:13px;bottom:8px;height:3px;border-radius:3px;background:var(--accent);transform:scaleX(0);transition:transform .25s}
.primary-nav .menu>li:hover>a::after,.primary-nav .menu>li.current-menu-item>a::after,.primary-nav .menu>li.current-menu-ancestor>a::after{transform:scaleX(1)}
.primary-nav .menu-item-has-children>a{padding-left:24px!important}
.primary-nav .menu-item-has-children>a::before{content:"";position:absolute;left:10px;top:50%;width:6px;height:6px;border-left:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-70%) rotate(-45deg);opacity:.6}
.primary-nav .sub-menu{position:absolute;top:100%;right:0;min-width:250px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:8px;opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s;z-index:60}
.primary-nav li:hover>.sub-menu,.primary-nav li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:none}
.primary-nav .sub-menu a{display:block;padding:9px 12px;border-radius:8px;font-size:.93rem;font-weight:500}
.primary-nav .sub-menu a:hover{background:var(--paper);color:var(--accent)}
.drawer-head,.socials-drawer,.sub-toggle{display:none}
.nav-tools{display:flex;gap:4px;margin-inline-start:auto}
.icon-btn{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;border:0;background:transparent;transition:background .2s}
.icon-btn:hover{background:var(--paper-2);color:var(--accent)}
.icon-btn .ifn-icon{width:20px;height:20px}
.nav-toggle{display:none}
.theme-toggle .i-sun{display:none}
[data-theme="dark"] .theme-toggle .i-sun{display:block}
[data-theme="dark"] .theme-toggle .i-moon{display:none}
.search-panel{border-top:1px solid var(--line);background:var(--card);padding-block:16px}
.search-form{display:flex;align-items:center;background:var(--paper);border:1.5px solid var(--line);border-radius:999px;padding:4px 18px 4px 4px;transition:border-color .2s}
.search-form:focus-within{border-color:var(--accent)}
.search-field{flex:1;border:0;background:transparent;padding:10px 0;color:var(--ink);outline:0;min-width:0}
.search-submit{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;border:0;background:var(--accent);color:#fff}
.nav-overlay{position:fixed;inset:0;background:rgba(7,13,24,.5);z-index:70}

/* ---------- Ticker ---------- */
.ticker{background:var(--card);border-bottom:1px solid var(--line)}
.ticker-in{display:flex;align-items:center;gap:14px;min-height:46px;overflow:hidden}
.ticker-label{display:inline-flex;align-items:center;gap:6px;flex:none;background:var(--accent);color:#fff;font-weight:800;font-size:.85rem;padding:5px 14px;border-radius:999px;position:relative}
.ticker-label::before{content:"";width:7px;height:7px;border-radius:50%;background:#fff;animation:pulse 1.6s infinite}
.ticker-label .ifn-icon{display:none}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(255,255,255,.8)}70%{box-shadow:0 0 0 8px rgba(255,255,255,0)}100%{box-shadow:0 0 0 0 rgba(255,255,255,0)}}
.ticker-track{flex:1;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 40px,#000 calc(100% - 40px),transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 40px,#000 calc(100% - 40px),transparent)}
.ticker-list{display:flex;gap:40px;width:max-content;white-space:nowrap;animation:ticker var(--ticker-speed,60s) linear infinite}
.ticker-track:hover .ticker-list{animation-play-state:paused}
.ticker-list li{display:flex;align-items:center;gap:10px;font-size:.93rem;font-weight:500}
.ticker-list li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--line)}
.t-time{color:var(--muted);font-size:.8rem}
@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(50%)}}

/* ---------- Generic card parts ---------- */
.thumb{display:block;position:relative;overflow:hidden;background:var(--paper-2);border-radius:var(--radius-sm)}
.thumb img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
article:hover .thumb img{transform:scale(1.045)}
.thumb-ph{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(135deg,var(--paper-2),var(--line))}
.thumb-ph .brand-mark{height:30px;opacity:.5}
.chip{display:inline-block;font-size:.76rem;font-weight:800;color:var(--accent);margin-bottom:6px;letter-spacing:0}
.chip-lg{font-size:.85rem;background:color-mix(in srgb,var(--accent) 10%,transparent);padding:4px 12px;border-radius:999px;margin-bottom:14px}
.title{font-weight:800}
.title a{background-image:linear-gradient(currentColor,currentColor);background-size:0 1.5px;background-repeat:no-repeat;background-position:100% 100%;transition:background-size .35s,color .2s}
.title a:hover{background-size:100% 1.5px}
.meta{display:flex;flex-wrap:wrap;gap:14px;color:var(--muted);font-size:.8rem;margin-top:8px}
.meta-item{display:inline-flex;align-items:center;gap:5px}
.meta .ifn-icon{width:14px;height:14px;opacity:.8}
.excerpt{color:var(--ink-2);font-size:.95rem;margin:8px 0 0;line-height:1.9}

/* card */
.post-card{display:flex;flex-direction:column;gap:12px}
.post-card .thumb{aspect-ratio:16/10}
.post-card .title{font-size:1.06rem;line-height:1.65}

/* row */
.post-row{display:grid;grid-template-columns:116px 1fr;gap:14px;align-items:start}
.post-row .thumb{aspect-ratio:4/3;border-radius:10px}
.post-row .title{font-size:.98rem;line-height:1.65}
.post-row .meta{margin-top:4px}

/* mini */
.post-mini{display:flex;gap:14px;align-items:flex-start;padding-block:13px;border-bottom:1px dashed var(--line)}
.post-mini:last-child{border-bottom:0}
.post-mini .num{flex:none;font-size:1.9rem;font-weight:800;line-height:1;color:transparent;-webkit-text-stroke:1.2px var(--accent);min-width:28px;text-align:center}
.post-mini .title{font-size:.95rem;line-height:1.7;font-weight:700}
.post-mini .meta{margin-top:2px}

/* overlay */
.post-overlay{position:relative;border-radius:var(--radius);overflow:hidden;isolation:isolate;min-height:220px;height:100%;color:#fff;background:var(--dark)}
.post-overlay .thumb{position:absolute;inset:0;border-radius:0}
.post-overlay .thumb::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(5,10,20,.92) 0%,rgba(5,10,20,.55) 40%,rgba(5,10,20,0) 75%)}
.post-overlay .body{position:absolute;inset:auto 0 0 0;padding:20px 22px;z-index:2}
.post-overlay .title{font-size:1.08rem;line-height:1.65;color:#fff;text-shadow:0 1px 12px rgba(0,0,0,.3)}
.post-overlay .title a:hover{color:#fff}
.post-overlay .chip{background:var(--accent);color:#fff;padding:2px 10px;border-radius:999px}
.post-overlay .meta{color:rgba(255,255,255,.78)}
.post-overlay .excerpt{color:rgba(255,255,255,.85)}

/* portrait */
.post-portrait{display:flex;flex-direction:column;gap:10px}
.post-portrait .thumb{aspect-ratio:4/5;border-radius:var(--radius)}
.post-portrait .title{font-size:.96rem;line-height:1.65}

/* video */
.post-video{display:flex;flex-direction:column;gap:12px}
.post-video .thumb{aspect-ratio:16/9}
.play{position:absolute;inset:0;display:grid;place-items:center;z-index:2}
.play .ifn-icon{width:54px;height:54px;padding:15px 17px 15px 13px;background:rgba(255,255,255,.95);color:var(--accent);border-radius:50%;box-shadow:0 10px 30px rgba(0,0,0,.4);transition:transform .3s}
.post-video:hover .play .ifn-icon{transform:scale(1.1)}

/* ---------- Sections ---------- */
.block{padding-block:40px}
.sec-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px;border-bottom:2px solid var(--line);position:relative}
.sec-title{display:inline-flex;align-items:center;gap:10px;font-size:1.3rem;padding-bottom:12px;margin-bottom:-2px;border-bottom:2px solid var(--accent)}
.sec-title .ifn-icon{color:var(--accent);width:22px;height:22px}
.sec-more{display:inline-flex;align-items:center;gap:6px;font-size:.85rem;font-weight:700;color:var(--muted);padding-bottom:10px}
.sec-more .ifn-icon{width:16px;height:16px;transition:transform .2s}
.sec-more:hover .ifn-icon{transform:translateX(-4px)}
.tone-blue .sec-title{border-color:var(--blue)}.tone-blue .sec-title .ifn-icon{color:var(--blue)}
.tone-gold .sec-title{border-color:var(--gold)}.tone-gold .sec-title .ifn-icon{color:var(--gold)}
.tone-green .sec-title{border-color:var(--green)}.tone-green .sec-title .ifn-icon{color:var(--green)}

.with-aside{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:40px;align-items:start}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.three-col{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.stack{display:flex;flex-direction:column;gap:18px}

/* hero */
.hero{padding-top:28px}
.hero-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:16px;min-height:520px}
.hero-main .post-overlay{min-height:520px}
.hero-main .title{font-size:1.85rem;line-height:1.55}
.hero-main .body{padding:30px 32px}
.hero-main .excerpt{max-width:60ch;font-size:1rem}
.hero-side{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:16px}
.hero-side .post-overlay{min-height:250px}
.hero-side .title{font-size:1rem}

/* news */
.news-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:28px}
.news-lead .post-card .title{font-size:1.45rem;line-height:1.6}
.news-list{display:flex;flex-direction:column;gap:16px}
.news-list .post-row{padding-bottom:16px;border-bottom:1px solid var(--line)}
.news-list .post-row:last-child{border-bottom:0;padding-bottom:0}

/* aside boxes */
.aside{display:flex;flex-direction:column;gap:22px}
.aside-sticky{position:sticky;top:80px;display:flex;flex-direction:column;gap:22px}
.box{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px 22px;box-shadow:var(--shadow)}
.box .sec-head{margin-bottom:6px}
.box .sec-title{font-size:1.08rem}
.box-cta{background:radial-gradient(120% 100% at 100% 0%,#2b5fd9 0%,var(--blue) 45%,#0f214f 100%);color:#fff;border:0;position:relative;overflow:hidden}
.box-cta::after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;left:-60px;bottom:-80px;background:rgba(255,255,255,.08)}
.box-cta h3{font-size:1.15rem;margin:10px 0 6px}
.box-cta p{font-size:.9rem;opacity:.85;line-height:1.9}
.cta-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:rgba(255,255,255,.14)}
.cta-icon .ifn-icon{width:24px;height:24px}
.box-adcall{display:flex;align-items:center;gap:14px;padding:16px 20px}
.box-adcall>.ifn-icon{width:38px;height:38px;padding:9px;border-radius:12px;background:color-mix(in srgb,var(--gold) 15%,transparent);color:var(--gold)}
.box-adcall span{display:flex;flex-direction:column;line-height:1.6}
.box-adcall small{color:var(--muted)}
.aside-widgets{display:flex;flex-direction:column;gap:22px}
.aside-widgets .widget{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px 22px;margin:0;box-shadow:var(--shadow);font-size:.93rem}
.aside-widgets .widget h2,.aside-widgets .widget h3,.widget-title{font-size:1.05rem;margin:0 0 12px}
.aside-widgets .widget li{padding-block:6px;border-bottom:1px dashed var(--line)}
.aside-widgets .widget li:last-child{border-bottom:0}
.aside-widgets .wp-block-search__inside-wrapper{display:flex;gap:6px}
.aside-widgets .wp-block-search__input{flex:1;border:1px solid var(--line);border-radius:999px;padding:8px 14px;background:var(--paper);color:var(--ink)}
.aside-widgets .wp-block-search__button{border:0;border-radius:999px;background:var(--accent);color:#fff;padding:8px 16px;font-weight:700}
.widget img{border-radius:var(--radius-sm)}
.widget-title{font-size:1.05rem;margin-bottom:12px}

/* paris */
.block-paris{background:linear-gradient(180deg,var(--paper-2),var(--paper))}

/* video band */
.block-video{background:var(--dark);color:#fff;padding-block:48px;position:relative;overflow:hidden}
.block-video::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 80% at 0% 0%,rgba(200,16,46,.25),transparent 60%),radial-gradient(50% 60% at 100% 100%,rgba(31,60,136,.35),transparent 60%);pointer-events:none}
.block-video .wrap{position:relative}
.tone-light{border-color:rgba(255,255,255,.12)}
.tone-light .sec-more{color:rgba(255,255,255,.65)}
.video-layout{display:grid;grid-template-columns:1.6fr 1fr;gap:28px}
.video-main .title{font-size:1.4rem}
.video-list{display:flex;flex-direction:column;gap:18px}
.video-list .post-video{display:grid;grid-template-columns:150px 1fr;gap:14px;align-items:center}
.video-list .play .ifn-icon{width:34px;height:34px;padding:9px 10px 9px 8px}
.video-list .title{font-size:.95rem}
.block-video .title a:hover{color:#fff}
.block-video .meta{color:rgba(255,255,255,.6)}
.block-video .thumb{background:var(--dark-2)}

/* portraits */
.portraits{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}

/* sights scroller */
.scroller{display:grid;grid-auto-flow:column;grid-auto-columns:clamp(240px,24%,300px);gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px;scrollbar-width:thin}
.scroller .post-overlay{aspect-ratio:3/4;scroll-snap-align:start;min-height:0}
.scroller .title{font-size:1.02rem}

/* directory */
.block-directory{background:var(--card);border-block:1px solid var(--line)}
.dir-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:26px;flex-wrap:wrap}
.dir-title{font-size:1.6rem}
.dir-head p{color:var(--muted);margin:6px 0 0}
.dir-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px}
.dir-grid a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;min-height:132px;padding:18px 12px;border-radius:var(--radius);background:var(--paper);border:1px solid var(--line);font-weight:700;font-size:.92rem;line-height:1.6;transition:transform .25s,box-shadow .25s,border-color .25s,background .25s}
.dir-grid a:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:transparent;background:var(--card);color:var(--ink)}
.dir-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:color-mix(in srgb,var(--accent) 9%,transparent);color:var(--accent);transition:background .25s,color .25s}
.dir-grid li:nth-child(3n+2) .dir-icon{background:color-mix(in srgb,var(--blue) 10%,transparent);color:var(--blue)}
.dir-grid li:nth-child(3n) .dir-icon{background:color-mix(in srgb,var(--green) 11%,transparent);color:var(--green)}
.dir-grid a:hover .dir-icon{background:var(--accent);color:#fff}
.dir-icon .ifn-icon{width:26px;height:26px}

/* three col */
.col-box{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow)}
.col-box .sec-title{font-size:1.08rem}
.col-box .post-card{margin-bottom:6px}
.guide-list{display:flex;flex-direction:column;gap:10px}
.guide-list a{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:12px;background:var(--paper);border:1px solid var(--line);font-weight:700;font-size:.95rem;transition:.2s}
.guide-list a>.ifn-icon:first-child{width:36px;height:36px;padding:8px;border-radius:10px;background:var(--card);color:var(--blue)}
.guide-list span{flex:1;line-height:1.6}
.guide-list .go{width:16px;height:16px;color:var(--muted);transition:transform .2s}
.guide-list a:hover{border-color:var(--blue);color:var(--blue)}
.guide-list a:hover .go{transform:translateX(-4px);color:var(--blue)}
.home-ad{padding-block:10px;text-align:center}

/* ---------- Archive ---------- */
.archive-head{background:var(--card);border-bottom:1px solid var(--line);padding-block:30px;margin-bottom:34px}
.archive-title{font-size:2rem;position:relative;padding-right:18px}
.archive-title::before{content:"";position:absolute;right:0;top:.35em;bottom:.35em;width:5px;border-radius:5px;background:var(--accent)}
.archive-desc{color:var(--muted);margin-top:8px;max-width:70ch}
.subcats{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.subcats a{display:block;padding:6px 14px;border-radius:999px;border:1px solid var(--line);font-size:.88rem;font-weight:700;background:var(--paper)}
.subcats a:hover{border-color:var(--accent)}
.archive-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:30px 26px}
.archive-lead{grid-column:1/-1}
.archive-lead .post-overlay{min-height:440px}
.archive-lead .title{font-size:1.7rem}
.archive-lead .body{padding:28px 30px}
.search-list{display:flex;flex-direction:column;gap:22px}
.search-list .post-row{grid-template-columns:200px 1fr;padding-bottom:22px;border-bottom:1px solid var(--line)}
.search-inline{max-width:560px;margin-top:18px}
.pagination{margin-block:40px 10px}
.pagination ul{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.pagination a,.pagination span{display:grid;place-items:center;min-width:44px;height:44px;padding:0 14px;border-radius:12px;background:var(--card);border:1px solid var(--line);font-weight:700}
.pagination .current{background:var(--accent);color:#fff;border-color:var(--accent)}
.pagination a:hover{border-color:var(--accent)}
.none-found{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:40px;text-align:center}

/* ---------- Single ---------- */
.single-wrap{padding-top:30px}
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:.84rem;color:var(--muted);margin-bottom:14px}
.crumbs .ifn-icon{width:14px;height:14px;opacity:.6}
.entry{min-width:0}
.entry-head{margin-bottom:24px}
.entry-title{font-size:clamp(1.6rem,3.2vw,2.35rem);line-height:1.55}
.entry-lead{font-size:1.15rem;color:var(--ink-2);margin:14px 0 0;line-height:1.95;font-weight:500}
.entry-meta-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:20px;padding-block:14px;border-block:1px solid var(--line)}
.entry-meta-row .meta{margin:0;font-size:.86rem}
.entry-figure{margin:0 0 28px}
.entry-figure img{width:100%;border-radius:var(--radius);aspect-ratio:16/9;object-fit:cover}
.entry-figure figcaption{font-size:.84rem;color:var(--muted);margin-top:8px}
.entry-content{font-size:1.1rem;line-height:2.1;color:var(--ink)}
.entry-content>*{margin-block:0 1.2em}
.entry-content h2{font-size:1.5rem;margin-top:1.8em}
.entry-content h3{font-size:1.25rem;margin-top:1.6em}
.entry-content a{color:var(--accent);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.entry-content img{border-radius:var(--radius-sm)}
.entry-content ul{list-style:disc;padding-right:1.4em}
.entry-content ol{padding-right:1.4em}
.entry-content li{margin-bottom:.4em}
.entry-content blockquote{margin:1.6em 0;padding:18px 24px;border-right:4px solid var(--accent);background:var(--card);border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-size:1.12rem;font-weight:500}
.entry-content blockquote p:last-child{margin:0}
.entry-content figure{margin-inline:0}
.entry-content iframe{width:100%;border-radius:var(--radius-sm)}
.entry-content table{width:100%;border-collapse:collapse;font-size:.95rem}
.entry-content th,.entry-content td{border:1px solid var(--line);padding:10px}
.wp-block-embed__wrapper{position:relative}
.alignwide{margin-inline:-40px}
.aligncenter{margin-inline:auto}
.entry-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:30px;padding-top:20px;border-top:1px solid var(--line)}
.tags{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:.88rem}
.tags span{color:var(--muted)}
.tags a{padding:4px 12px;border-radius:999px;background:var(--card);border:1px solid var(--line)}
.share{display:flex;align-items:center;gap:6px}
.share-label{font-size:.85rem;color:var(--muted);margin-left:4px}
.share-btn{position:relative;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:var(--card);color:var(--ink-2);transition:.2s}
.share-btn .ifn-icon{width:17px;height:17px}
.s-telegram:hover{background:#229ed9;color:#fff;border-color:#229ed9}
.s-whatsapp:hover{background:#25d366;color:#fff;border-color:#25d366}
.s-facebook:hover{background:#1877f2;color:#fff;border-color:#1877f2}
.s-x:hover,.s-copy:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.copied{position:absolute;bottom:115%;background:var(--ink);color:var(--paper);font-size:.72rem;padding:2px 8px;border-radius:6px;white-space:nowrap;opacity:0;transition:.2s;pointer-events:none}
.s-copy.done .copied{opacity:1}
.single-ad{margin-top:30px;text-align:center}
.related{margin-top:46px}
.read-progress{position:fixed;top:0;right:0;left:0;height:3px;z-index:100;background:transparent}
.admin-bar .read-progress{top:32px}
.read-progress span{display:block;height:100%;width:0;background:linear-gradient(270deg,var(--accent),#ff6a3d);transition:width .1s linear}
.comments{margin-top:46px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:24px}
.comment-list{list-style:none;padding:0}
.comment-form input:not([type=submit]):not([type=checkbox]),.comment-form textarea{width:100%;padding:10px 14px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink)}
.comment-form .submit{background:var(--accent);color:#fff;border:0;border-radius:999px;padding:10px 22px;font-weight:700}

/* 404 */
.not-found{text-align:center;padding-block:80px;max-width:640px}
.nf-code{font-size:6rem;font-weight:800;line-height:1;margin:0;color:transparent;-webkit-text-stroke:2px var(--accent)}
.not-found h1{font-size:1.8rem;margin:10px 0}
.not-found .search-inline{margin:24px auto}

/* ---------- Footer ---------- */
.site-footer{background:var(--dark);color:#b9c3d3;margin-top:60px;font-size:.93rem}
.footer-flag{height:4px;background:linear-gradient(90deg,var(--accent) 0 33.3%,var(--blue) 33.3% 66.6%,var(--green) 66.6%)}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding-block:52px 36px}
.site-footer .brand a{color:#fff}
.site-footer .brand-tag{color:#8c97aa}
.f-about p{margin:18px 0;line-height:2}
.f-title{color:#fff;font-size:1rem;margin-bottom:16px}
.f-links li{margin-bottom:8px}
.f-links a:hover{color:#fff}
.f-mail{margin-top:14px}
.site-footer .btn-outline{color:#fff;border-color:rgba(255,255,255,.2);margin-top:12px}
.site-footer .btn-outline:hover{border-color:#fff;color:#fff}
.socials-footer a{background:rgba(255,255,255,.07);width:38px;height:38px}
.socials-footer a:hover{background:var(--accent);color:#fff}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding-block:18px;font-size:.84rem}
.footer-bottom .wrap{display:flex;justify-content:space-between;align-items:center;gap:20px}
.footer-bottom p{margin:0}
.to-top{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.07)}
.to-top .up{transform:rotate(90deg)}
.to-top:hover{background:var(--accent);color:#fff}

/* WP core bits */
.wp-caption,.gallery-caption{font-size:.85rem;color:var(--muted)}
.sticky{}
.bypostauthor{}
.alignleft{float:left;margin:0 1.5em 1em 0}
.alignright{float:right;margin:0 0 1em 1.5em}

/* ---------- Responsive ---------- */
@media (max-width:1100px){
	.with-aside{grid-template-columns:minmax(0,1fr) 300px;gap:28px}
	.grid-4{grid-template-columns:repeat(2,1fr)}
	.footer-grid{grid-template-columns:1fr 1fr}
	.news-layout{grid-template-columns:1fr}
}
@media (max-width:960px){
	.nav-toggle{display:grid}
	.nav-brand{display:block}
	.primary-nav{position:fixed;top:0;right:0;bottom:0;width:min(330px,86vw);background:var(--card);z-index:80;transform:translateX(105%);transition:transform .3s cubic-bezier(.2,.7,.2,1);overflow-y:auto;padding:0 18px 24px;box-shadow:var(--shadow-lg);visibility:hidden}
	.nav-open .primary-nav{transform:none;visibility:visible}
	.drawer-head{display:flex;justify-content:space-between;align-items:center;font-weight:800;padding-block:12px;border-bottom:1px solid var(--line);margin-bottom:8px}
	.primary-nav .menu{flex-direction:column}
	.primary-nav .menu>li>a{padding:12px 4px;border-bottom:1px solid var(--line)}
	.primary-nav .menu>li>a::after,.primary-nav .menu-item-has-children>a::before{display:none}
	.primary-nav .sub-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;padding:4px 12px 8px 0;display:none;min-width:0}
	.primary-nav .open>.sub-menu{display:block}
	.primary-nav .menu-item-has-children{position:relative}
	.sub-toggle{display:grid!important;position:absolute;left:0;top:6px;width:40px;height:40px;border:0;background:transparent;display:grid;place-items:center}
	.sub-toggle::before{content:"";width:8px;height:8px;border-left:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);transition:.2s}
	.open>.sub-toggle::before{transform:rotate(135deg)}
	.socials-drawer{display:flex;margin-top:20px}
	.socials-drawer a{background:var(--paper)}
	.masthead{display:none}
	.with-aside,.two-col,.three-col{grid-template-columns:1fr}
	.aside-sticky{position:static}
	.hero-grid{grid-template-columns:1fr;min-height:0}
	.hero-main .post-overlay{min-height:420px}
	.video-layout{grid-template-columns:1fr}
}
@media (max-width:782px){.admin-bar .navbar{top:46px}}
@media (max-width:640px){
	body{font-size:15.5px}
	.wrap{padding-inline:16px}
	.topbar .greg,.topbar .sep{display:none}
	.hero{padding-top:16px}
	.hero-main .post-overlay{min-height:380px}
	.hero-main .title{font-size:1.4rem}
	.hero-main .body{padding:20px}
	.hero-main .excerpt{display:none}
	.hero-side{grid-template-columns:1fr 1fr;grid-template-rows:auto;gap:12px}
	.hero-side .post-overlay{min-height:200px}
	.hero-side .body{padding:14px}
	.hero-side .title{font-size:.9rem}
	.hero-side .meta{display:none}
	.grid-4,.grid-3,.archive-grid{grid-template-columns:1fr}
	.grid-4{grid-template-columns:1fr 1fr;gap:16px}
	.grid-4 .post-card .title{font-size:.95rem}
	.block{padding-block:30px}
	.sec-title{font-size:1.15rem}
	.video-list .post-video{grid-template-columns:120px 1fr}
	.search-list .post-row{grid-template-columns:110px 1fr}
	.dir-grid{grid-template-columns:repeat(2,1fr)}
	.footer-grid{grid-template-columns:1fr}
	.archive-lead .post-overlay{min-height:340px}
	.archive-lead .title{font-size:1.3rem}
	.entry-content{font-size:1.04rem}
	.share-label{display:none}
	.alignwide{margin-inline:0}
}
@media (prefers-reduced-motion:reduce){
	*,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important}
	.ticker-list{animation:none}
	.ticker-track{overflow-x:auto}
}
@media print{
	.topbar,.navbar,.ticker,.aside,.share,.site-footer,.related,.comments,.read-progress{display:none!important}
	.with-aside{display:block}
}
