/*
Theme Name: RIF Blog v2
Theme URI: https://rabbiitfirm.com
Author: Rabbi IT Firm
Author URI: https://rabbiitfirm.com
Description: Fast WordPress blog/magazine theme with 16 complete design skins (header, homepage, cards, fonts, palette, sidebar, post layout, footer). Pick one per site: wp theme mod set rif_skin <name>. Real footer menu + legal links row, built-in [rif_contact] form, info-page styling. No jQuery, no builder, one small CSS per skin.
Version: 2.2.0
Requires at least: 5.9
Tested up to: 6.8
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: rif-blog
Tags: blog, news, magazine, one-column, two-columns, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready, wide-blocks, accessibility-ready
*/

/* ---------- Tokens ---------- */
:root{
	--accent:#1f5fd6;--accent-ink:#fff;
	--accent-text:var(--accent);
	--bg:#fff;--surface:#f5f6f8;--surface-2:#eceef2;
	--text:#15181e;--muted:#5a6372;--border:#e2e5ea;
	--radius:14px;--radius-sm:8px;
	--shadow:0 1px 2px rgba(16,24,40,.06),0 6px 20px rgba(16,24,40,.06);
	--maxw:1200px;--read:720px;--hdr:64px;
	--font-body:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
	--font-head:var(--font-body);
}
[data-theme="dark"]{
	--bg:#0e1116;--surface:#161a21;--surface-2:#1e232c;
	--text:#e9ecf1;--muted:#9ba5b5;--border:#272d38;
	--accent-text:color-mix(in srgb,var(--accent) 45%,#fff);
	--shadow:0 1px 2px rgba(0,0,0,.4),0 6px 20px rgba(0,0,0,.35);
	color-scheme:dark;
}

/* ---------- Reset / base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--hdr) + 16px)}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-wrap:break-word}
img,video,iframe,svg{max-width:100%}
img{height:auto;display:block}
a{color:var(--accent-text);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{text-decoration:none}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:4px}
h1,h2,h3,h4,h5,h6{font-family:var(--font-head);line-height:1.22;margin:0 0 .5em;letter-spacing:-.01em;color:var(--text)}
p{margin:0 0 1.2em}
ul,ol{padding-left:1.3em}
hr{border:0;border-top:1px solid var(--border);margin:2em 0}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}
.screen-reader-text:focus,.skip-link:focus{background:var(--bg);clip:auto!important;clip-path:none;color:var(--text);display:block;font-weight:700;height:auto;left:8px;padding:12px 18px;top:8px;width:auto;z-index:100000;box-shadow:var(--shadow);border-radius:8px}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.rif-container{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:16px}
@media (min-width:768px){.rif-container{padding-inline:24px}}

/* ---------- Buttons / forms ---------- */
.btn,.button,button[type=submit],input[type=submit],.wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;gap:.4em;background:var(--accent);color:var(--accent-ink);border:0;border-radius:10px;padding:.7em 1.2em;font:inherit;font-weight:700;cursor:pointer;text-decoration:none;line-height:1.2;transition:filter .15s}
.btn:hover,.button:hover,button[type=submit]:hover,input[type=submit]:hover{filter:brightness(1.1)}
input[type=text],input[type=search],input[type=email],input[type=url],input[type=number],input[type=password],input[type=tel],select,textarea{width:100%;font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:.7em .9em;min-height:44px}
input:focus,select:focus,textarea:focus{border-color:var(--accent);outline:2px solid color-mix(in srgb,var(--accent) 35%,transparent);outline-offset:0}
textarea{min-height:120px;resize:vertical}
label{font-weight:600}
.search-form{display:flex;gap:8px;max-width:560px}
.search-form .search-field{flex:1}

/* ---------- Ticker ---------- */
.rif-ticker{background:var(--text);color:var(--bg);font-size:13.5px}
.rif-ticker__in{display:flex;align-items:center;gap:12px;height:36px;overflow:hidden}
.rif-ticker__label{background:var(--accent);color:var(--accent-ink);padding:2px 10px;border-radius:99px;font-size:12px;text-transform:uppercase;letter-spacing:.05em;flex:none}
.rif-ticker__track{overflow:hidden;flex:1;white-space:nowrap;mask-image:linear-gradient(90deg,transparent,#000 24px,#000 calc(100% - 24px),transparent)}
.rif-ticker__move{display:inline-block;padding-left:100%;animation:rif-tick 60s linear infinite}
.rif-ticker__track:hover .rif-ticker__move,.rif-ticker__track:focus-within .rif-ticker__move{animation-play-state:paused}
.rif-ticker a{color:inherit;text-decoration:none;margin-right:36px}
.rif-ticker a:hover{text-decoration:underline}
.rif-ticker__dup{display:inline}
@keyframes rif-tick{to{transform:translateX(-100%)}}

/* ---------- Header ---------- */
.site-header{background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--border);z-index:50;position:relative}
.site-header.is-sticky{position:sticky;top:0}
.admin-bar .site-header.is-sticky{top:32px}
@media (max-width:782px){.admin-bar .site-header.is-sticky{top:46px}}
.site-header__in{display:flex;align-items:center;gap:16px;min-height:var(--hdr)}
.site-branding{flex:none;display:flex;align-items:center}
.site-title{font-family:var(--font-head);font-weight:800;font-size:1.35rem;letter-spacing:-.02em;color:var(--text);text-decoration:none;line-height:1.1}
.site-title::first-letter{color:var(--accent-text)}
.custom-logo-link img,.custom-logo{max-height:44px;width:auto}
.header-actions{margin-left:auto;display:flex;gap:4px;align-items:center}
.icon-btn{background:none;border:0;color:var(--text);width:44px;height:44px;display:inline-grid;place-items:center;border-radius:10px;cursor:pointer;padding:0}
.icon-btn:hover{background:var(--surface-2)}
.menu-toggle{display:inline-grid}
.primary-nav{position:absolute;left:0;right:0;top:100%;background:var(--bg);border-bottom:1px solid var(--border);display:none;max-height:calc(100vh - var(--hdr));overflow:auto;box-shadow:var(--shadow)}
.primary-nav.is-open{display:block}
.no-js .primary-nav{display:block;position:static;box-shadow:none;border:0;flex-basis:100%}
.no-js .menu-toggle{display:none}
.no-js .site-header__in{flex-wrap:wrap}
.primary-nav ul{list-style:none;margin:0;padding:8px 16px}
.primary-nav a{display:block;padding:11px 8px;color:var(--text);text-decoration:none;font-weight:600;border-radius:8px}
.primary-nav a:hover,.primary-nav .current-menu-item>a,.primary-nav .current-cat>a{color:var(--accent-text)}
.primary-nav .sub-menu{padding:0 0 0 14px}
.search-panel{border-top:1px solid var(--border);padding:14px 0;background:var(--surface)}
.rif-progress{position:absolute;left:0;bottom:-1px;height:3px;width:100%;background:var(--accent);transform:scaleX(0);transform-origin:0 50%;pointer-events:none}
@media (min-width:960px){
	.menu-toggle{display:none}
	.primary-nav{position:static;display:block;background:none;border:0;box-shadow:none;overflow:visible;max-height:none;margin-left:12px;flex:1}
	.primary-nav>ul,.primary-nav>.menu{display:flex;flex-wrap:wrap;gap:2px;padding:0}
	.primary-nav li{position:relative}
	.primary-nav a{padding:8px 12px;font-size:15px}
	.primary-nav .sub-menu{position:absolute;left:0;top:100%;min-width:220px;background:var(--bg);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);padding:8px;display:none;z-index:5}
	.primary-nav li:hover>.sub-menu,.primary-nav li:focus-within>.sub-menu{display:block}
	.primary-nav .menu-item-has-children>a::after{content:"▾";font-size:.7em;margin-left:5px;opacity:.6}
}

/* ---------- Layout ---------- */
.site-main{min-height:50vh;padding-block:24px 56px}
.rif-wrap{display:grid;grid-template-columns:minmax(0,1fr);gap:40px}
.has-sidebar .rif-wrap{grid-template-columns:minmax(0,1fr)}
@media (min-width:1024px){
	.has-sidebar .rif-wrap{grid-template-columns:minmax(0,1fr) 320px}
	.sidebar__in{position:sticky;top:calc(var(--hdr) + 20px)}
}
.rif-narrow{max-width:820px}
.rif-narrow--wide{max-width:1000px}
.rif-narrow--info{max-width:900px}
.no-sidebar .rif-wrap{margin-inline:auto}

/* ---------- Section titles ---------- */
.rif-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:1.25rem;font-weight:800;margin:0 0 18px;padding-bottom:10px;border-bottom:2px solid var(--border);position:relative}
.rif-section-title span{position:relative}
.rif-section-title::after{content:"";position:absolute;left:0;bottom:-2px;height:2px;width:56px;background:var(--accent)}
.rif-more{font-size:.85rem;font-weight:700;text-decoration:none;white-space:nowrap}
.rif-catblocks{margin-block:40px 8px;display:grid;gap:40px}
.rif-section-title+.rif-grid,.rif-section-title+.rif-rows{margin-top:0}

/* ---------- Badges / meta ---------- */
.rif-badge{display:inline-block;background:var(--accent);color:var(--accent-ink);font-size:11.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:3px 9px;border-radius:99px;text-decoration:none;line-height:1.5;margin-bottom:8px}
.rif-badge:hover{filter:brightness(1.12)}
.rif-meta{display:flex;flex-wrap:wrap;gap:4px;align-items:center;font-size:13px;color:var(--muted)}
.rif-dot{opacity:.6}

/* ---------- Placeholder / images ---------- */
.rif-img{width:100%;height:100%;object-fit:cover}
.rif-ph{display:grid;place-items:center;width:100%;height:100%;background:linear-gradient(135deg,var(--surface-2),color-mix(in srgb,var(--accent) 22%,var(--surface-2)));color:color-mix(in srgb,var(--accent) 55%,var(--muted));font:800 clamp(28px,6vw,64px)/1 var(--font-head)}

/* ---------- Cards ---------- */
.rif-grid{display:grid;gap:26px;grid-template-columns:minmax(0,1fr)}
@media (min-width:600px){.rif-grid--auto,.rif-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1024px){.rif-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.no-sidebar .rif-grid--auto{grid-template-columns:repeat(3,minmax(0,1fr))}}
.rif-card{display:flex;flex-direction:column;background:var(--bg);min-width:0}
.rif-card__media{display:block;aspect-ratio:16/9;border-radius:var(--radius);overflow:hidden;background:var(--surface-2);margin-bottom:14px}
.rif-card__media .rif-img{transition:transform .35s}
.rif-card:hover .rif-card__media .rif-img{transform:scale(1.04)}
.rif-card__title{font-size:1.15rem;font-weight:800;margin:0 0 8px}
.rif-card--lead .rif-card__title{font-size:1.45rem}
.rif-card__title a,.rif-row__title a,.rif-overlay__title a,.rif-textrow__title a,.rif-mini__title{color:var(--text);text-decoration:none;background:linear-gradient(currentColor,currentColor) 0 100%/0 2px no-repeat;transition:background-size .25s}
.rif-card__title a:hover,.rif-row__title a:hover,.rif-textrow__title a:hover,.rif-mini__title:hover{background-size:100% 2px}
.rif-card__ex{color:var(--muted);font-size:.95rem;margin:0 0 10px}

.rif-rows{display:grid;gap:0}
.rif-row{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;padding-block:22px;border-bottom:1px solid var(--border)}
.rif-row:first-child{padding-top:0}
.rif-row__media{display:block;aspect-ratio:16/9;border-radius:var(--radius);overflow:hidden;background:var(--surface-2)}
.rif-row__title{font-size:1.3rem;font-weight:800;margin:0 0 8px}
.rif-row__ex{color:var(--muted);margin:0 0 10px}
@media (min-width:700px){.rif-row{grid-template-columns:280px minmax(0,1fr);gap:24px}.rif-row__media{aspect-ratio:4/3}}

.rif-textrows .rif-textrow{padding-block:22px;border-bottom:1px solid var(--border)}
.rif-textrow__title{font-size:1.35rem;font-weight:800;margin:0 0 8px}
.rif-textrow__ex{color:var(--muted);margin:0 0 8px}

.rif-mini{display:grid;grid-template-columns:76px minmax(0,1fr);gap:12px;align-items:center;list-style:none}
.rif-mini__img{display:block;width:76px;aspect-ratio:1;border-radius:10px;overflow:hidden;background:var(--surface-2)}
.rif-mini__img .rif-ph{font-size:24px}
.rif-mini__title{font-weight:700;font-size:.95rem;line-height:1.35;display:block}
.rif-mini__date{display:block;font-size:12.5px;color:var(--muted);margin-top:3px}
.rif-mini__num{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--accent);color:var(--accent-ink);font-weight:800;font-size:14px}
.rif-mini-list{list-style:none;padding:0;margin:0;display:grid;gap:14px}
.rif-mini-list .rif-mini:has(.rif-mini__num){grid-template-columns:34px minmax(0,1fr)}

/* Hero */
.rif-hero{display:grid;gap:16px;margin-bottom:8px}
.rif-overlay{position:relative;border-radius:var(--radius);overflow:hidden;background:var(--surface-2);aspect-ratio:16/10;isolation:isolate}
.rif-overlay__media{position:absolute;inset:0;display:block;z-index:-2}
.rif-overlay::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,0) 30%,rgba(0,0,0,.78) 100%)}
.rif-overlay__body{position:absolute;left:0;right:0;bottom:0;padding:16px 18px;color:#fff}
.rif-overlay__title{font-size:1.05rem;font-weight:800;margin:0 0 6px;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.35)}
.rif-overlay__title a{color:#fff}
.rif-overlay .rif-meta{color:rgba(255,255,255,.85)}
.rif-overlay .rif-badge{margin-bottom:6px}
.rif-overlay--lead .rif-overlay__title{font-size:clamp(1.35rem,3.6vw,2rem)}
.rif-overlay--lead{aspect-ratio:16/11}
.rif-overlay .rif-ph{filter:saturate(.8)}
.rif-overlay .rif-img{transition:transform .5s}
.rif-overlay:hover .rif-img{transform:scale(1.04)}
.rif-hero__side{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}
.rif-hero__side .rif-overlay{aspect-ratio:4/3}
.rif-hero__side .rif-overlay__body{padding:12px}
.rif-hero__side .rif-overlay__title{font-size:.95rem}
.rif-hero__side .rif-overlay .rif-meta,.rif-hero__side .rif-badge{display:none}
@media (min-width:900px){
	.rif-hero:not(.rif-hero--n1){grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}
	.rif-hero__side{grid-template-columns:1fr;grid-auto-rows:1fr}
	.rif-hero__side .rif-overlay{aspect-ratio:auto;min-height:150px}
	.rif-hero .rif-overlay--lead{aspect-ratio:auto;min-height:100%}
	.rif-hero:not(.rif-hero--n1) .rif-overlay--lead{min-height:420px}
	.rif-hero__side .rif-overlay__title{font-size:1.02rem}
}

/* Category blocks */
.rif-catblock__in{display:grid;gap:20px}
.rif-catblock__list{display:grid;gap:16px;align-content:start}
@media (min-width:700px){.rif-catblock__in{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:28px}}

/* ---------- Pagination ---------- */
.pagination{margin-top:36px}
.pagination .nav-links{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.page-numbers{min-width:44px;height:44px;display:inline-grid;place-items:center;padding:0 12px;border:1px solid var(--border);border-radius:10px;text-decoration:none;color:var(--text);font-weight:700}
.page-numbers.current,.page-numbers:hover{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.page-numbers.dots{border:0}

/* ---------- Archive head ---------- */
.rif-archive-head{background:var(--surface);border-radius:var(--radius);padding:24px;margin-bottom:28px}
.rif-archive-title{font-size:clamp(1.5rem,4vw,2.2rem);font-weight:800;margin:0}
.rif-archive-title span{color:var(--accent-text)}
.rif-archive-desc{color:var(--muted);margin-top:8px}
.rif-archive-desc p:last-child{margin:0}
.rif-archive-head .search-form{margin-top:14px}

/* ---------- Breadcrumbs ---------- */
.rif-crumbs{font-size:13.5px;color:var(--muted);margin-bottom:14px}
.rif-crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px}
.rif-crumbs li{display:flex;align-items:center;gap:4px;min-width:0}
.rif-crumbs li+li::before{content:"/";opacity:.5}
.rif-crumbs a{color:var(--muted);text-decoration:none}
.rif-crumbs a:hover{color:var(--accent-text);text-decoration:underline}
.rif-crumbs li[aria-current] span{max-width:42ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ---------- Single ---------- */
.rif-title{font-size:clamp(1.7rem,4.2vw,2.4rem);font-weight:800;line-height:1.15;margin:.1em 0 .5em;letter-spacing:-.02em}
.rif-single__head{max-width:var(--read);margin-inline:auto}
.rif-byline{display:flex;gap:12px;align-items:center;margin-block:16px 24px}
.rif-avatar,.rif-authorbox img{border-radius:50%}
.rif-byline__name{display:block;font-weight:700;font-size:.95rem}
.rif-byline__name a{color:var(--text);text-decoration:none}
.rif-byline__name a:hover{color:var(--accent-text)}
.rif-single__img{margin:0 0 28px;border-radius:var(--radius);overflow:hidden}
.rif-single__img .rif-img,.rif-single__img img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.rif-single__img figcaption{font-size:13px;color:var(--muted);padding:8px 4px 0}
.rif-single__img{max-width:calc(var(--read) + 120px);margin-inline:auto}
.entry-content{max-width:var(--read);margin-inline:auto;font-size:1.125rem;line-height:1.8}
.entry-content>*{margin-top:0}
.entry-content h2{font-size:1.75rem;font-weight:800;margin:1.9em 0 .6em}
.entry-content h3{font-size:1.4rem;font-weight:800;margin:1.6em 0 .5em}
.entry-content h4{font-size:1.15rem;font-weight:800;margin:1.4em 0 .4em}
.entry-content a{font-weight:600}
.entry-content img{border-radius:var(--radius-sm);height:auto}
.entry-content figure{margin:1.8em 0}
.entry-content figcaption,.wp-caption-text{font-size:13.5px;color:var(--muted);text-align:center;margin-top:8px}
.entry-content blockquote{margin:1.8em 0;padding:.2em 1.2em;border-left:4px solid var(--accent);background:var(--surface);border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-size:1.05em}
.entry-content blockquote p:last-child{margin:0}
.entry-content ul,.entry-content ol{margin:0 0 1.4em}
.entry-content li{margin-bottom:.4em}
.entry-content pre{background:#0e1116;color:#e6e9ef;padding:16px;border-radius:var(--radius-sm);overflow:auto;font-size:.9rem;line-height:1.55}
.entry-content code{background:var(--surface-2);padding:.15em .4em;border-radius:5px;font-size:.9em}
.entry-content pre code{background:none;padding:0}
.entry-content table{width:100%;border-collapse:collapse;margin:1.6em 0;font-size:.96rem;display:block;overflow-x:auto}
.entry-content th,.entry-content td{border:1px solid var(--border);padding:10px 12px;text-align:left}
.entry-content th{background:var(--surface)}
.entry-content .alignwide{max-width:calc(var(--read) + 200px);margin-inline:calc((var(--read) + 200px - var(--read))/-2)}
@media (max-width:1000px){.entry-content .alignwide{margin-inline:0;max-width:100%}}
.entry-content .alignleft{float:left;margin:.3em 1.2em 1em 0}
.entry-content .alignright{float:right;margin:.3em 0 1em 1.2em}
.entry-content .aligncenter{margin-inline:auto;display:block}
.entry-content iframe{max-width:100%}
.wp-block-image img{margin-inline:auto}
.page-links{margin:1.5em 0}

.rif-toc{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 20px;margin:0 0 1.8em;font-size:.97rem;line-height:1.5}
.rif-toc strong{display:block;margin-bottom:8px;font-size:1rem}
.rif-toc ol{margin:0;padding-left:1.2em}
.rif-toc li{margin-bottom:5px}
.rif-toc .is-sub{margin-left:1em;list-style:circle}
.rif-toc a{font-weight:500}

.rif-single__foot{max-width:var(--read);margin:32px auto 0}
.rif-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px}
.rif-chips a{background:var(--surface);color:var(--text);padding:5px 14px;border-radius:99px;font-size:.88rem;text-decoration:none;border:1px solid var(--border)}
.rif-chips a:hover{border-color:var(--accent);color:var(--accent-text)}
.rif-share{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-block:20px}
.rif-share__label{font-weight:800;margin-right:4px}
.rif-share__btn{background:var(--surface);border:1px solid var(--border);color:var(--text);padding:8px 14px;border-radius:99px;font:600 .88rem/1 var(--font-body);text-decoration:none;cursor:pointer;min-height:38px;display:inline-flex;align-items:center}
.rif-share__btn:hover{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.rif-authorbox{display:flex;gap:16px;background:var(--surface);border-radius:var(--radius);padding:20px;margin-top:24px}
.rif-authorbox p{margin:4px 0 0;color:var(--muted);font-size:.95rem}
.rif-authorbox a{color:var(--text)}

.post-navigation{margin:40px auto;max-width:var(--read)}
.post-navigation .nav-links{display:grid;gap:12px}
@media (min-width:640px){.post-navigation .nav-links{grid-template-columns:1fr 1fr}}
.post-navigation a{display:block;border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;text-decoration:none;color:var(--text);height:100%}
.post-navigation a:hover{border-color:var(--accent)}
.nav-sub{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--accent-text);font-weight:800}
.nav-title{font-weight:700;line-height:1.35}
.nav-next{text-align:right}
.rif-related{margin-top:48px}

/* Pages */
.rif-page .rif-title{max-width:var(--read);margin-inline:auto}
.rif-narrow{margin-inline:auto}

/* Tool page */
.rif-tool{max-width:1100px}
.rif-tool__head{text-align:center;margin-block:8px 28px}
.rif-tool__head .rif-title{margin-bottom:.3em}
.rif-tool__lead{color:var(--muted);font-size:1.15rem;max-width:680px;margin:0 auto}
.entry-content--tool{max-width:none;font-size:1.05rem}
.entry-content--tool>.alignfull,.entry-content--tool>.alignwide{max-width:none;margin-inline:0}
.rif-tool-card,.entry-content--tool .wp-block-group.is-style-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:clamp(16px,3vw,28px);box-shadow:var(--shadow);margin-bottom:24px}
.entry-content--tool textarea{min-height:160px;font-size:1.05rem}
.entry-content--tool button,.entry-content--tool .button{min-height:44px}

/* 404 */
.rif-404{text-align:center;padding-block:40px 24px}
.rif-404__code{font-size:clamp(4rem,14vw,8rem);font-weight:900;line-height:1;margin:0;color:var(--accent-text);letter-spacing:-.04em}
.rif-404 .search-form{margin:20px auto}
.rif-empty{background:var(--surface);border-radius:var(--radius);padding:32px;text-align:center}
.rif-empty .search-form{margin:16px auto}
.rif-empty .rif-chips{justify-content:center;margin-top:16px}

/* ---------- Sidebar / widgets ---------- */
.sidebar .widget,.footer-col .widget{margin-bottom:32px}
.widget-title{font-size:1.05rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;margin:0 0 14px;padding-bottom:8px;border-bottom:2px solid var(--border);position:relative}
.widget-title::after{content:"";position:absolute;left:0;bottom:-2px;width:40px;height:2px;background:var(--accent)}
.widget ul{list-style:none;margin:0;padding:0}
.widget li{padding:7px 0;border-bottom:1px solid var(--border)}
.widget li:last-child{border:0}
.widget a{color:var(--text);text-decoration:none}
.widget a:hover{color:var(--accent-text)}
.widget .rif-mini-list li{padding:0;border:0}
.widget .rif-mini__title{color:var(--text)}
.widget .search-form{max-width:none}
.sidebar .widget_search .btn{padding-inline:.9em}
.wp-block-search__button{background:var(--accent);color:var(--accent-ink);border:0;border-radius:10px}

/* ---------- Ads (reserve space = no layout shift) ---------- */
.rif-ad{display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;max-width:100%;margin:20px auto;background:transparent;position:relative}
.rif-ad--header{min-height:100px;max-width:var(--maxw);padding-inline:16px}
.rif-ad--content{min-height:280px;margin-block:1.8em}
.rif-ad--sidebar{min-height:250px;margin:0 0 28px}
.rif-ad--after{min-height:250px}
.no-ad-reserve .rif-ad{min-height:0}
.rif-ad:empty{display:none}
.rif-ad::before{content:attr(aria-label);position:absolute;top:2px;left:50%;transform:translateX(-50%);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);opacity:.55;pointer-events:none}
.rif-ad>*{position:relative}

/* ---------- Comments ---------- */
.rif-comments{max-width:var(--read);margin:48px auto 0}
.comment-list{list-style:none;padding:0;margin:0 0 32px}
.comment-list .children{list-style:none;padding-left:20px;border-left:2px solid var(--border);margin-left:8px}
.comment-body{padding:16px 0;border-bottom:1px solid var(--border);position:relative}
.comment-meta{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;font-size:.85rem;color:var(--muted);margin-bottom:6px}
.comment-author{display:flex;align-items:center;gap:10px;font-weight:700;color:var(--text)}
.comment-author .avatar{border-radius:50%}
.comment-author .fn a{color:var(--text);text-decoration:none}
.comment-metadata a{color:var(--muted);text-decoration:none}
.reply a{font-size:.85rem;font-weight:700;text-decoration:none}
.comment-respond{background:var(--surface);padding:22px;border-radius:var(--radius)}
.comment-reply-title{font-size:1.2rem;font-weight:800}
.comment-form p{margin-bottom:14px}
.comment-form label{display:block;margin-bottom:4px;font-size:.9rem}
.comment-form-cookies-consent{display:flex;gap:8px;align-items:center}
.comment-form-cookies-consent input{width:auto}
.comment-form-cookies-consent label{margin:0;font-weight:400}

/* ---------- Footer ---------- */
.site-footer{background:var(--surface);border-top:1px solid var(--border);margin-top:24px;font-size:.95rem}
.footer-cols{display:grid;gap:8px 40px;padding-block:44px 8px}
@media (min-width:768px){.footer-cols{grid-template-columns:1.3fr 1fr 1fr}}
.footer-col p{color:var(--muted)}
.footer-bar{border-top:1px solid var(--border);padding-block:18px}
.footer-bar__in{display:flex;flex-wrap:wrap;gap:10px 24px;align-items:center;justify-content:space-between}
.copyright{margin:0;color:var(--muted);font-size:.9rem}
.footer-nav .menu{list-style:none;display:flex;flex-wrap:wrap;gap:6px 18px;margin:0;padding:0}
.footer-nav a,.rif-social a{color:var(--muted);text-decoration:none;font-weight:600;font-size:.9rem}
.footer-nav a:hover,.rif-social a:hover{color:var(--accent-text)}
.rif-social{display:flex;gap:14px;flex-wrap:wrap}

/* ---------- WordPress core ---------- */
.wp-caption{max-width:100%}
.gallery{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}
.gallery-item{margin:0}
.sticky .rif-card__title::before{content:"★ ";color:var(--accent-text)}
.bypostauthor{}

/* ---------- Dark mode tweaks ---------- */
[data-theme="dark"] .entry-content pre{background:#07090c}
[data-theme="dark"] .rif-img{filter:brightness(.92)}

/* ---------- Print ---------- */
@media print{.site-header,.site-footer,.sidebar,.rif-ad,.rif-share,.rif-ticker,.rif-related,.comment-respond{display:none!important}body{font-size:12pt}}


/* ================= v2 common: footer menu, contact form, info pages ================= */
.footer-legal .menu,.footer-nav .menu{list-style:none;display:flex;flex-wrap:wrap;gap:6px 20px;margin:0;padding:0}
.footer-legal a{color:var(--muted);text-decoration:none;font-weight:600;font-size:.9rem}
.footer-legal a:hover{color:var(--accent-text);text-decoration:underline}
.footer-list .menu{flex-direction:column;gap:8px}
.footer-col--brand{display:flex;flex-direction:column;gap:28px}
.footer-brand{display:grid;gap:12px;align-content:start;min-width:0}
.footer-brand__logo{line-height:1}
.footer-brand .custom-logo-link img,.footer-brand .custom-logo{max-height:48px;width:auto;max-width:100%}
.footer-brand__name{font-family:var(--font-head);font-weight:800;font-size:1.6rem;line-height:1.1;color:var(--text);text-decoration:none}
.footer-brand__bio{margin:0;max-width:46ch;color:var(--muted);font-size:.95rem;line-height:1.6;overflow-wrap:anywhere}
.footer-brand .rif-social{margin-top:2px}
.footer-cols--line{padding-block:36px 0;text-align:center}.footer-cols--line .footer-brand{justify-items:center}.footer-cols--line .footer-brand__bio{margin-inline:auto}.footer-cols--line .rif-social{justify-content:center}
.rif-hp{position:absolute!important;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.rif-contact{max-width:680px;margin:1.6em 0}
.rif-contact__row{display:grid;gap:0 16px}
@media (min-width:600px){.rif-contact__row{grid-template-columns:1fr 1fr}}
.rif-contact label{display:block;margin-bottom:6px;font-size:.92rem}
.rif-contact [aria-invalid=true]{border-color:#b42318}
.rif-field-err{display:block;color:#b42318;font-size:.86rem;margin-top:4px;font-weight:600}
[data-theme="dark"] .rif-field-err{color:#ff8a80}
.rif-notice{padding:14px 16px;border-radius:var(--radius-sm);margin-bottom:18px;border:1px solid;font-size:.96rem}
.rif-notice--ok{background:color-mix(in srgb,#16a34a 14%,var(--bg));border-color:#16a34a}
.rif-notice--err{background:color-mix(in srgb,#dc2626 12%,var(--bg));border-color:#dc2626}
.rif-info__head{text-align:center;margin-bottom:28px}
.rif-info__head .rif-title{margin-bottom:.25em}
.rif-info__icon{display:inline-grid;place-items:center;width:58px;height:58px;border-radius:50%;background:color-mix(in srgb,var(--accent) 14%,var(--bg));color:var(--accent-text);margin-bottom:10px}
.rif-info__lead{color:var(--muted);font-size:1.12rem;max-width:620px;margin:0 auto}
.rif-info__card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:clamp(20px,4vw,40px);box-shadow:var(--shadow)}
.entry-content--info{max-width:none;font-size:1.06rem;line-height:1.75}
.entry-content--info h2{font-size:1.4rem;margin:1.6em 0 .5em}
.entry-content--info>h2:first-child{margin-top:0}
.rif-info__more{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:28px}
.rif-info__more a{background:var(--surface);border:1px solid var(--border);color:var(--text);padding:8px 16px;border-radius:99px;font-weight:600;font-size:.9rem;text-decoration:none}
.rif-info__more a:hover{border-color:var(--accent);color:var(--accent-text)}
body{overflow-x:clip}
.site-footer :is(h2,h3,h4,h5){color:inherit}

/* v2.2 guards: sane image heights and no horizontal overflow */
.rif-card__media,.rif-row__media,.rif-bigcards .rif-card__media{max-height:220px}
.rif-masonry .rif-card__media{max-height:220px}
html,body{overflow-x:clip}
