/*
Theme Name: Mistero
Theme URI: https://occhiodellapiramide.it/
Author: Occhio della Piramide
Author URI: https://occhiodellapiramide.it/
Description: Tema editoriale per riviste di approfondimento esoterico e d'inchiesta. Palette acciaio · oro · verde bosco, marchio a sigillo radiante, tipografia Cormorant SC / Cormorant Garamond / Newsreader / Archivo. Creato per occhiodellapiramide.it.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: odp
Tags: blog, news, two-columns, custom-logo, custom-menu, featured-images, editorial, dark
*/

/* ===================================================================
   1. TOKENS
=================================================================== */
:root{
	--ink:#19242E;
	--steel-mid:#4E667E;
	--steel-panel:#202F3D;
	--steel-deep:#141C24;
	--gold:#C7A04D;
	--gold-bright:#D2AE60;
	--green:#2F6039;
	--green-mid:#3F8D4F;
	--green-soft:#9CC0A6;
	--cream:#E8EDE9;
	--paper:#F4EFE6;
	--paper-warm:#F6F1EA;
	--page-bg:#E8E2D6;
	--line-dark:rgba(157,170,182,0.16);
	--line-light:rgba(25,36,46,0.12);
	--text-muted:#55606B;

	--ff-wordmark:'Cormorant SC',serif;
	--ff-display:'Cormorant Garamond',serif;
	--ff-body:'Newsreader',Georgia,serif;
	--ff-ui:'Archivo',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;

	--maxw:1320px;
}

/* ===================================================================
   2. RESET / BASE
=================================================================== */
*,*::before,*::after{box-sizing:border-box;}
html,body{max-width:100%;overflow-x:hidden;}
html{-webkit-text-size-adjust:100%;}
body{
	margin:0;
	background:var(--page-bg);
	color:var(--ink);
	font-family:var(--ff-body);
	font-weight:300;
	line-height:1.6;
	-webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;text-decoration:none;}
a:hover{text-decoration:none;}

.screen-reader-text{
	position:absolute!important;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden;
}
.skip-link{
	position:absolute;left:-9999px;top:0;z-index:100;background:var(--gold);color:var(--ink);
	padding:10px 16px;font-family:var(--ff-ui);font-weight:700;font-size:12px;letter-spacing:0.1em;
}
.skip-link:focus{left:8px;top:8px;}

/* ===================================================================
   3. SHELL
=================================================================== */
.odp-shell{
	max-width:var(--maxw);
	margin:0 auto;
	background:var(--paper);
	box-shadow:0 30px 80px rgba(25,36,46,0.18);
	overflow-x:clip;
}

/* ----- Utility bar ----- */
.odp-utility{
	display:flex;align-items:center;justify-content:space-between;gap:16px;
	padding:9px 36px;background:var(--steel-deep);
	font-family:var(--ff-ui);font-size:10px;font-weight:600;letter-spacing:0.24em;text-transform:uppercase;
}
.odp-utility-meta,.odp-utility-date{color:#8C97A2;}
.odp-utility-links{display:flex;gap:18px;letter-spacing:0.16em;}
.odp-utility-links a{color:var(--gold);}
.odp-utility-links a.is-strong{color:var(--cream);}
.odp-utility-links a:hover{color:var(--gold-bright);}

/* ===================================================================
   4. HEADER / TESTATA
=================================================================== */
.odp-header{background:var(--ink);}
.odp-header-row{
	display:flex;align-items:center;justify-content:space-between;gap:28px;
	padding:18px 36px;flex-wrap:wrap;
}
.odp-brand{display:flex;align-items:center;gap:0;min-width:0;}
.odp-mark{flex-shrink:0;margin:-30px -42px -30px -14px;}
.odp-brand .custom-logo{margin-right:16px;}
.odp-wordmark{
	font-family:var(--ff-wordmark);font-weight:600;font-size:clamp(26px,3.4vw,40px);
	letter-spacing:0.05em;line-height:1;color:var(--paper);white-space:nowrap;
}
.odp-wordmark em{font-weight:400;font-style:italic;color:#9DAAB6;}
.odp-header-right{display:flex;align-items:center;gap:24px;flex-shrink:0;}
.odp-tagline{
	font-family:var(--ff-ui);font-size:10px;font-weight:600;letter-spacing:0.42em;
	text-transform:uppercase;color:var(--gold);white-space:nowrap;
}
.odp-divider{height:32px;width:1px;background:rgba(157,170,182,0.3);}
.odp-btn{
	font-family:var(--ff-ui);font-size:11px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;
	color:var(--ink);background:var(--gold);padding:10px 20px;display:inline-block;transition:background .15s;
}
.odp-btn:hover{background:var(--gold-bright);}
.odp-rule{height:2px;background:linear-gradient(90deg,var(--gold),var(--green) 65%,var(--ink));}
.odp-nav{display:flex;align-items:center;justify-content:center;padding:14px 36px 16px;}
.odp-nav-toggle{position:absolute;left:-9999px;width:1px;height:1px;}
.odp-hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;border:1px solid rgba(157,170,182,0.4);cursor:pointer;flex-shrink:0;}
.odp-hamburger span{display:block;width:20px;height:2px;background:var(--cream);margin:0 auto;}
.odp-menu{
	list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:34px;justify-content:center;
}
.odp-menu a,.odp-menu li{
	font-family:var(--ff-ui);font-size:12px;font-weight:600;letter-spacing:0.18em;
	text-transform:uppercase;color:#D7DEE6;
}
.odp-menu a:hover{color:var(--gold);}
.odp-menu .current-menu-item > a{color:var(--gold);}

/* ===================================================================
   5. KICKERS / BYLINES (shared)
=================================================================== */
.odp-kicker{
	font-family:var(--ff-ui);font-size:10px;font-weight:700;letter-spacing:0.2em;
	text-transform:uppercase;display:inline-block;
}
.odp-kicker.is-green{color:var(--green);}
.odp-kicker.is-onmedia{color:var(--ink);background:var(--gold);padding:6px 12px;letter-spacing:0.24em;}
.odp-byline{
	font-family:var(--ff-ui);font-size:11px;font-weight:600;letter-spacing:0.14em;
	text-transform:uppercase;color:var(--text-muted);
}
.odp-byline.is-green{color:var(--green-soft);}

/* ===================================================================
   6. HERO
=================================================================== */
.odp-hero{display:grid;grid-template-columns:1.4fr 1fr;}
.odp-hero-media{position:relative;display:block;min-height:540px;overflow:hidden;}
.odp-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.odp-hero-placeholder{position:absolute;inset:0;background:linear-gradient(135deg,#2A3946,#19242E);}
.odp-hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(25,36,46,0.05),rgba(25,36,46,0.88));}
.odp-hero-body{position:absolute;left:0;right:0;bottom:0;padding:48px;display:block;}
.odp-hero-title{
	display:block;font-family:var(--ff-display);font-weight:600;font-size:clamp(34px,3.6vw,56px);
	line-height:1.0;letter-spacing:-0.01em;color:#F4F1EC;margin:18px 0 14px;text-wrap:balance;
}
.odp-hero-dek{
	display:block;font-family:var(--ff-body);font-weight:300;font-size:18px;line-height:1.5;
	color:#C7D0D9;max-width:540px;
}
.odp-hero-body .odp-byline{margin-top:20px;display:block;}

.odp-hero-rail{padding:44px 44px 36px;display:flex;flex-direction:column;background:var(--ink);}
.odp-rail-title{
	font-family:var(--ff-ui);font-size:11px;font-weight:700;letter-spacing:0.22em;text-transform:uppercase;
	color:var(--gold);padding-bottom:14px;border-bottom:1px solid rgba(157,170,182,0.2);margin:0 0 6px;
}
.odp-rail-item{display:block;padding:18px 0;border-bottom:1px solid var(--line-dark);}
.odp-rail-item .odp-kicker{margin-bottom:7px;}
.odp-rail-headline{
	display:block;font-family:var(--ff-display);font-weight:600;font-size:25px;line-height:1.1;color:#EDEFF2;
}
.odp-rail-item:hover .odp-rail-headline{color:var(--gold);}
.odp-quote{
	margin:auto 0 0;padding:22px;background:var(--steel-panel);border-left:2px solid var(--green);
}
.odp-quote blockquote{
	margin:0;font-family:var(--ff-display);font-style:italic;font-weight:500;font-size:22px;
	line-height:1.2;color:#F1EBE4;
}
.odp-quote figcaption{
	font-family:var(--ff-ui);font-size:10px;font-weight:600;letter-spacing:0.18em;text-transform:uppercase;
	color:var(--gold);margin-top:12px;
}

/* ===================================================================
   7. FEATURES
=================================================================== */
.odp-features{
	display:grid;grid-template-columns:repeat(3,1fr);
	background:var(--paper);border-bottom:1px solid var(--line-light);
}
.odp-feature{padding:34px 36px;border-right:1px solid rgba(25,36,46,0.1);}
.odp-feature:last-child{border-right:0;}
.odp-feature-num{font-family:var(--ff-ui);font-size:34px;font-weight:700;color:rgba(199,160,77,0.45);line-height:1;}
.odp-feature .odp-kicker{margin:16px 0 8px;}
.odp-feature-title{font-family:var(--ff-display);font-weight:600;font-size:27px;line-height:1.08;margin:0 0 10px;}
.odp-feature-title a:hover{color:var(--green);}
.odp-feature-text{font-family:var(--ff-body);font-weight:300;font-size:15px;line-height:1.55;color:var(--text-muted);margin:0;}

/* ===================================================================
   8. ARCHIVE / CARD GRID
=================================================================== */
.odp-archive{background:var(--paper);}
.odp-section-head{display:flex;align-items:baseline;justify-content:space-between;padding:46px 44px 22px;}
.odp-section-title{font-family:var(--ff-display);font-weight:500;font-size:36px;margin:0;}
.odp-section-link{
	font-family:var(--ff-ui);font-size:11px;font-weight:600;letter-spacing:0.2em;text-transform:uppercase;color:var(--green);
}
.odp-section-link:hover{color:var(--green-mid);}
.odp-card-grid{
	display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line-light);
	border-top:1px solid var(--line-light);border-bottom:1px solid var(--line-light);
}
.odp-card{background:var(--paper);}
.odp-card-media{display:block;position:relative;height:172px;background:#E3DBCF;overflow:hidden;}
.odp-card-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.odp-card-placeholder{position:absolute;inset:0;background:repeating-linear-gradient(45deg,#E3DBCF,#E3DBCF 12px,#DCD3C4 12px,#DCD3C4 24px);}
.odp-card-body{padding:24px 26px 28px;}
.odp-card-body .odp-kicker{margin-bottom:10px;}
.odp-card-title{font-family:var(--ff-display);font-weight:600;font-size:26px;line-height:1.1;margin:0 0 8px;}
.odp-card-title a:hover{color:var(--green);}
.odp-card-text{font-family:var(--ff-body);font-weight:300;font-size:15px;line-height:1.55;color:#5A6570;margin:0;}
.odp-card .odp-byline{margin-top:12px;}

/* list variant (index/archive) */
.odp-card-grid--list{margin:0 44px;}

/* ===================================================================
   9. NEWSLETTER
=================================================================== */
.odp-newsletter{
	display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap;
	padding:50px 44px;background:var(--ink);
}
.odp-newsletter-text{max-width:560px;}
.odp-newsletter-title{font-family:var(--ff-display);font-weight:500;font-size:38px;line-height:1.05;color:#F1EBE4;margin:0 0 10px;}
.odp-newsletter-title em{font-style:italic;color:var(--green-soft);}
.odp-newsletter-text p{font-family:var(--ff-body);font-weight:300;font-size:17px;line-height:1.5;color:#A5B3C0;margin:0;}
.odp-newsletter-form{display:flex;align-items:stretch;border:1px solid rgba(157,170,182,0.4);background:var(--steel-deep);}
.odp-newsletter-form input{
	border:0;background:transparent;color:#C7D0D9;font-family:var(--ff-body);font-size:15px;
	padding:15px 20px;min-width:200px;
}
.odp-newsletter-form input::placeholder{color:#7E8B97;}
.odp-newsletter-form input:focus{outline:none;background:rgba(255,255,255,0.03);}
.odp-newsletter-form button{
	border:0;cursor:pointer;font-family:var(--ff-ui);font-size:11px;font-weight:700;letter-spacing:0.16em;
	text-transform:uppercase;color:var(--ink);background:var(--gold);padding:15px 26px;transition:background .15s;
}
.odp-newsletter-form button:hover{background:var(--gold-bright);}

/* ===================================================================
   10. FOOTER
=================================================================== */
.odp-footer{background:var(--steel-deep);padding:56px 44px 40px;}
.odp-seal-wrap{display:flex;align-items:center;justify-content:center;margin-bottom:40px;}
.odp-footer-bottom{
	display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
	border-top:1px solid var(--line-dark);padding-top:22px;
}
.odp-copyright{font-family:var(--ff-ui);font-size:10px;font-weight:600;letter-spacing:0.18em;text-transform:uppercase;color:#6E7C89;}
.odp-footer-menu,.odp-footer-menu-fallback{
	list-style:none;margin:0;padding:0;display:flex;gap:22px;
	font-family:var(--ff-ui);font-size:10px;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;color:#A5B3C0;
}
.odp-footer-menu a:hover{color:var(--gold);}

/* ===================================================================
   11. ARTICLE / PAGE
=================================================================== */
.odp-page{background:var(--paper);}
.odp-page-head{padding:56px 44px 10px;max-width:820px;}
.odp-page-title{font-family:var(--ff-display);font-weight:600;font-size:clamp(34px,4vw,52px);line-height:1.02;margin:10px 0 0;}
.odp-page-dek{font-family:var(--ff-body);font-size:18px;color:var(--text-muted);margin-top:12px;}

.odp-article{background:var(--paper);padding:56px 44px 8px;}
.odp-article-head{max-width:760px;margin:0 auto;}
.odp-article-title{font-family:var(--ff-display);font-weight:600;font-size:clamp(36px,4.4vw,58px);line-height:1.0;letter-spacing:-0.01em;margin:12px 0 0;text-wrap:balance;}
.odp-article-dek{font-family:var(--ff-body);font-weight:300;font-size:21px;line-height:1.5;color:var(--text-muted);margin:18px 0 0;}
.odp-article-meta{display:flex;align-items:center;gap:10px;margin-top:18px;font-family:var(--ff-ui);font-size:11px;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:var(--text-muted);}
.odp-article-meta .odp-byline{color:var(--green);}
.odp-dot{color:var(--gold);}
.odp-article-figure{margin:40px auto 0;max-width:980px;position:relative;}
.odp-article-img{width:100%;}
.odp-article-figrule{display:block;height:3px;background:var(--gold);margin-top:0;}
.odp-article-body{max-width:720px;margin:40px auto 0;font-family:var(--ff-body);font-size:19px;line-height:1.7;color:#2A333D;}
.odp-article-body p{margin:0 0 1.4em;}
.odp-article-body h2{font-family:var(--ff-display);font-weight:600;font-size:34px;line-height:1.1;margin:1.6em 0 .5em;}
.odp-article-body h3{font-family:var(--ff-display);font-weight:600;font-size:27px;line-height:1.15;margin:1.4em 0 .4em;}
.odp-article-body a{color:var(--green);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;}
.odp-article-body a:hover{color:var(--green-mid);}
.odp-article-body blockquote{
	margin:1.6em 0;padding:8px 0 8px 26px;border-left:2px solid var(--gold);
	font-family:var(--ff-display);font-style:italic;font-size:26px;line-height:1.3;color:var(--ink);
}
.odp-article-body img{margin:1.6em auto;}
.odp-article-body ul,.odp-article-body ol{padding-left:1.2em;}
.odp-article-body li{margin:.4em 0;}
.odp-article-foot{max-width:720px;margin:28px auto 0;}
.odp-tags a{
	display:inline-block;font-family:var(--ff-ui);font-size:10px;font-weight:600;letter-spacing:0.12em;
	text-transform:uppercase;color:var(--green);border:1px solid rgba(47,96,57,0.35);padding:5px 12px;margin:0 6px 6px 0;
}
.odp-tags a:hover{background:var(--green);color:var(--cream);}

.odp-postnav{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line-light);border-top:1px solid var(--line-light);margin-top:40px;}
.odp-postnav-item{background:var(--paper);padding:28px 44px;}
.odp-postnav-item.is-next{text-align:right;}
.odp-postnav-label{display:block;font-family:var(--ff-ui);font-size:10px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;color:var(--gold);}
.odp-postnav-title{display:block;font-family:var(--ff-display);font-weight:600;font-size:22px;line-height:1.12;margin-top:8px;}
.odp-postnav-item:hover .odp-postnav-title{color:var(--green);}

/* ===================================================================
   12. PAGINATION / COMMENTS / SEARCH / EMPTY
=================================================================== */
.odp-pagination{padding:36px 44px 56px;}
.odp-pagination .page-numbers{
	font-family:var(--ff-ui);font-size:12px;font-weight:600;letter-spacing:0.1em;
	padding:8px 14px;border:1px solid var(--line-light);margin:0 4px;display:inline-block;color:var(--ink);
}
.odp-pagination .page-numbers.current{background:var(--ink);color:var(--cream);border-color:var(--ink);}
.odp-pagination .page-numbers:hover{border-color:var(--gold);}

.odp-comments{max-width:720px;margin:48px auto 0;padding:0 44px;}
.odp-comments-title,.odp-comments-formtitle{font-family:var(--ff-display);font-weight:600;font-size:28px;}
.odp-comment-list{list-style:none;padding:0;margin:0 0 32px;}
.odp-comment-list .comment-body{padding:20px 0;border-bottom:1px solid var(--line-light);font-family:var(--ff-body);}
.odp-comments input[type=text],.odp-comments input[type=email],.odp-comments input[type=url],.odp-comments textarea{
	width:100%;border:1px solid var(--line-light);background:#fff;padding:12px 14px;font-family:var(--ff-body);font-size:16px;margin-top:6px;
}
.odp-comments .odp-btn{border:0;cursor:pointer;}

.odp-searchform{display:flex;max-width:480px;margin:24px auto 0;border:1px solid var(--line-light);}
.odp-search-field{flex:1;border:0;padding:13px 16px;font-family:var(--ff-body);font-size:16px;}
.odp-search-field:focus{outline:none;}
.odp-search-submit{border:0;cursor:pointer;background:var(--ink);color:var(--cream);font-family:var(--ff-ui);font-size:11px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;padding:0 22px;}

.odp-empty{background:var(--paper);padding:60px 44px;}
.odp-empty-text{font-family:var(--ff-body);font-size:18px;color:var(--text-muted);text-align:center;margin:0;}

/* ===================================================================
   13. RESPONSIVE
=================================================================== */
@media (max-width:1000px){
	.odp-hero{grid-template-columns:1fr;}
	.odp-hero-media{min-height:420px;}
	.odp-features{grid-template-columns:1fr;}
	.odp-feature{border-right:0;border-bottom:1px solid rgba(25,36,46,0.1);}
	.odp-card-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:760px){
	.odp-utility{flex-wrap:wrap;justify-content:center;gap:8px 18px;padding:9px 20px;}
	.odp-utility-date{display:none;}
	.odp-header-row{padding:12px 18px;gap:6px;flex-wrap:nowrap;}
	.odp-mark{width:60px;height:60px;margin:-10px -10px -10px -6px;}
	.odp-wordmark{font-size:20px;white-space:normal;}
	.odp-header-right{display:none;}
	.odp-hamburger{display:flex;}
	.odp-nav{display:none;padding:0;}
	.odp-nav-toggle:checked ~ .odp-nav{display:block;}
	.odp-menu{flex-direction:column;gap:0;width:100%;}
	.odp-menu li,.odp-menu > a{width:100%;}
	.odp-menu a,.odp-menu li a{display:block;padding:15px 20px;border-bottom:1px solid var(--line-dark);}
	.odp-hero-body{padding:28px;}
	.odp-card-grid{grid-template-columns:1fr;}
	.odp-card-grid--list{margin:0 20px;}
	.odp-section-head,.odp-newsletter,.odp-footer,.odp-article,.odp-page-head,.odp-pagination{padding-left:20px;padding-right:20px;}
	.odp-newsletter-form{width:100%;}
	.odp-newsletter-form input{flex:1;min-width:0;}
	.odp-postnav{grid-template-columns:1fr;}
	.odp-postnav-item.is-next{text-align:left;}
}
