:root{
  --bg: #080018;
  --bg-2: #0d0326;
  --glass: rgba(139,69,255,0.08);
  --glass-border: rgba(139,69,255,0.28);
  --magenta: var(--ip-magenta, #FF19C8);
  --purple: var(--ip-viola, #8B45FF);
  --cyan: var(--ip-ciano, #00DFFF);
  --text: #F5F3FA;
  --muted: #9B8FB0;
  --foil: linear-gradient(120deg, var(--magenta), var(--purple) 45%, var(--cyan) 100%);
}
*{box-sizing:border-box; margin:0; padding:0;}
html,body{background:var(--bg); color:var(--text); font-family:'Inter',sans-serif;}
body{
  background:
    radial-gradient(ellipse 900px 500px at 15% -10%, rgba(139,69,255,0.20), transparent 60%),
    radial-gradient(ellipse 700px 500px at 100% 10%, rgba(0,223,255,0.10), transparent 55%),
    var(--bg);
  min-height:100vh;
}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
.wrap{max-width:1360px; margin:0 auto; padding:0 32px;}

/* HEADER */
.ip-header{position:sticky; top:0; z-index:50; backdrop-filter: blur(14px); background: rgba(8,0,24,0.55); border-bottom:1px solid rgba(139,69,255,0.18);}
.ip-nav{display:flex; align-items:center; justify-content:space-between; padding:18px 32px;}
.ip-logo-link{display:flex; align-items:center; gap:12px;}
.ip-reactor{width:34px; height:34px; border-radius:50%; background: conic-gradient(from 90deg, var(--magenta), var(--purple), var(--cyan), var(--magenta));}
.ip-brand-name{font-family:'Cinzel'; font-weight:600; font-size:20px; letter-spacing:2px; text-transform:uppercase;}
.ip-logo-has-image{display:flex; align-items:center; height:72px; overflow:hidden;}
.ip-logo-img{height:72px !important; width:auto !important; max-width:none; object-fit:contain; border-radius:0;}
@media(max-width:600px){ .ip-logo-has-image, .ip-logo-img{height:48px !important;} }
.ip-primary-nav ul{display:flex; gap:34px; list-style:none;}
.ip-primary-nav a{font-size:13px; letter-spacing:1.5px; text-transform:uppercase; color:var(--muted); transition:color .25s;}
.ip-primary-nav a:hover{color:var(--text);}

/* HERO */
.hero{position:relative;}
.hero-inner{position:relative; overflow:hidden; width:100%; aspect-ratio:16/9; max-height:82vh; display:flex; align-items:flex-end;
  background: linear-gradient(135deg, #2a0a4a, #150430 60%, #0d0326);}
.hero-bg-img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0;}
.hero-overlay{position:absolute; inset:0; z-index:1;
  background:
    linear-gradient(90deg, rgba(8,0,24,0.88) 0%, rgba(8,0,24,0.65) 32%, rgba(8,0,24,0.2) 58%, transparent 78%),
    linear-gradient(0deg, rgba(8,0,24,0.7) 0%, transparent 42%);}
.hero-content{position:relative; z-index:2; padding:60px 64px; max-width:680px;}
.eyebrow{font-family:'IBM Plex Mono'; font-size:12px; letter-spacing:2px; text-transform:uppercase; color:var(--cyan); display:flex; align-items:center; gap:8px; margin-bottom:18px;}
.eyebrow::before{content:""; width:7px; height:7px; border-radius:50%; background:var(--magenta); box-shadow:0 0 10px var(--magenta);}
.hero-title{font-family:'Cinzel'; font-weight:600; font-size:40px; line-height:1.15; background:var(--foil); -webkit-background-clip:text; background-clip:text; color:transparent; margin-bottom:16px;}
.hero-desc{color:var(--muted); font-size:15.5px; line-height:1.7; margin-bottom:26px; max-width:520px;}
.btn-foil{display:inline-flex; align-items:center; gap:10px; padding:13px 26px; border-radius:0; font-size:13px; letter-spacing:1.5px; text-transform:uppercase; font-weight:600; background:var(--foil); color:#0a0014;}

/* SECTION HEAD */
.section-head{display:flex; align-items:baseline; justify-content:space-between; margin:70px 0 26px;}
.section-title{font-family:'Cinzel'; font-size:26px; font-weight:600; letter-spacing:1px;}
.section-title span{background:var(--foil); -webkit-background-clip:text; background-clip:text; color:transparent;}
.section-more{font-family:'IBM Plex Mono'; font-size:12px; color:var(--muted); letter-spacing:1px;}
.section-more:hover{color:var(--cyan);}

/* CARDS */
.grid, .ip-post-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px;}
.card, .ip-card{position:relative; border-radius:0; padding:1.5px; background: linear-gradient(160deg, rgba(139,69,255,0.35), rgba(255,255,255,0.04) 40%, rgba(0,223,255,0.20)); transition: transform .35s ease;}
.card:hover, .ip-card:hover{transform:translateY(-6px);}
.card-inner, .ip-card-inner{background:var(--bg-2); border-radius:0; overflow:hidden; height:100%; display:flex; flex-direction:column;}
.card-cover, .ip-card-cover{height:200px; position:relative; background:linear-gradient(150deg, #3a0f5c, #150430);}
.card-tag, .ip-card-tag{position:absolute; top:14px; left:14px; font-family:'IBM Plex Mono'; font-size:10.5px; letter-spacing:1.5px; text-transform:uppercase; background:rgba(8,0,24,0.65); border:1px solid var(--glass-border); padding:5px 10px; border-radius:0; backdrop-filter:blur(6px);}
.card-body, .ip-card-body{padding:20px 22px 24px;}
.card-meta, .ip-card-meta{font-family:'IBM Plex Mono'; font-size:11px; color:var(--muted); letter-spacing:1px; margin-bottom:10px;}
.card-title, .ip-card-title{font-family:'Cinzel'; font-size:18px; font-weight:600; line-height:1.35; margin-bottom:10px;}
.card-excerpt, .ip-card-excerpt{font-size:13.5px; color:var(--muted); line-height:1.6;}

/* EDITORIAL / SIDEBAR */
.editorial{display:grid; grid-template-columns:1fr 300px; gap:44px; margin-top:80px;}
.post-row{display:flex; gap:24px; padding:24px 0; border-bottom:1px solid rgba(139,69,255,0.14); align-items:center;}
.post-row-thumb{width:240px; aspect-ratio:16/9; height:auto; flex-shrink:0; background:linear-gradient(150deg,#2a0f5c,#0d0326); background-size:cover; background-position:center;}
.post-row-title{font-family:'Cinzel'; font-size:17px; margin:4px 0 8px;}
.post-row-meta{font-family:'IBM Plex Mono'; font-size:10.5px; color:var(--muted); letter-spacing:1px;}
.post-row-excerpt{color:var(--muted); font-size:13px; line-height:1.55; margin-top:6px; margin-bottom:10px;}
.post-row-more{display:inline-block; font-family:'IBM Plex Mono'; font-size:11px; letter-spacing:1px; text-transform:uppercase; color:var(--cyan);}
.post-row-more:hover{color:var(--magenta);}
@media(max-width:600px){ .post-row-thumb{width:120px;} }
.sidebar-box{background:var(--glass); border:1px solid var(--glass-border); border-radius:0; padding:22px; margin-bottom:22px;}
.sidebar-title{font-family:'IBM Plex Mono'; font-size:11.5px; letter-spacing:2px; text-transform:uppercase; color:var(--cyan); margin-bottom:16px;}
.tag-cloud{display:flex; flex-wrap:wrap; gap:9px;}
.tag-pill{font-size:12px; padding:6px 13px; border-radius:0; color:var(--muted); border:1px solid rgba(139,69,255,0.3);}
.tag-pill:hover{color:var(--text); border-color:var(--cyan);}
.cat-list{list-style:none; display:flex; flex-direction:column; gap:13px;}
.cat-list li{display:flex; justify-content:space-between; font-size:13.5px; color:var(--muted);}
.cat-list li b{color:var(--text); font-weight:500;}
.cat-list li span{font-family:'IBM Plex Mono'; font-size:11px;}
.cat-sub{padding-left:16px; font-size:12.5px;}

/* FOOTER */
.ip-footer{margin-top:100px; border-top:1px solid rgba(139,69,255,0.18); padding:46px 32px; text-align:center;}
.ip-footer-brand{font-family:'Cinzel'; letter-spacing:3px; font-size:15px; margin-bottom:8px;}
.ip-footer p{color:var(--muted); font-size:12px; letter-spacing:.5px; margin-bottom:14px;}
.ip-social-links{display:flex; justify-content:center; gap:20px;}
.ip-social-links a{font-size:12px; color:var(--muted); text-transform:uppercase; letter-spacing:1px;}
.ip-social-links a:hover{color:var(--cyan);}

/* SINGLE POST */
.ip-single{max-width:1320px; margin:0 auto; padding:60px 32px 100px;}
.ip-single-meta{display:flex; gap:14px; align-items:center; font-family:'IBM Plex Mono'; font-size:12px; color:var(--cyan); text-transform:uppercase; letter-spacing:1px; margin-bottom:18px;}
.ip-single-date{color:var(--muted);}
.ip-single-title{font-family:'Cinzel'; font-size:36px; font-weight:600; line-height:1.25; margin-bottom:26px;}
.ip-single-cover{border-radius:0; overflow:hidden; margin-bottom:30px; aspect-ratio:16/9; background:linear-gradient(135deg, #2a0a4a, #150430 60%, #0d0326); display:flex; align-items:center; justify-content:center;}
.ip-single-cover img{width:100%; height:100%; object-fit:contain;}
.ip-sinossi{color:var(--text); font-size:16px; line-height:1.8; font-style:italic; opacity:.92; margin-bottom:30px;}
.ip-divider{border:none; height:1px; background:linear-gradient(90deg, transparent, rgba(139,69,255,0.4), transparent); margin:36px 0;}
.ip-single-content{font-size:16.5px; line-height:1.9; color:var(--text);}
.ip-single-content p{text-align:justify;}
.ip-single-content p{margin-bottom:22px;}
.ip-single-content img{border-radius:12px; margin:20px 0;}
.ip-single-tags{margin-top:40px; display:flex; flex-wrap:wrap; gap:9px;}
.ip-single-tags a{font-size:12px; padding:6px 13px; border-radius:0; color:var(--muted); border:1px solid rgba(139,69,255,0.3);}

/* SCHEDA TECNICA */
.ip-scheda{background:var(--glass); border:1px solid var(--glass-border); border-radius:0; padding:28px 30px; margin-top:20px;}
.ip-scheda-title{font-family:'Cinzel'; font-size:18px; font-weight:600; margin-bottom:18px; background:var(--foil); -webkit-background-clip:text; background-clip:text; color:transparent;}
.ip-scheda-row{display:flex; gap:16px; padding:10px 0; border-bottom:1px solid rgba(139,69,255,0.12); font-size:14px;}
.ip-scheda-row:last-child{border-bottom:none;}
.ip-scheda-label{flex:0 0 170px; color:var(--cyan); font-family:'IBM Plex Mono'; font-size:11.5px; letter-spacing:.5px; text-transform:uppercase; padding-top:2px;}
.ip-scheda-value{flex:1; color:var(--text); line-height:1.6;}
.ip-stars-display{font-size:20px; letter-spacing:2px;}
.ip-star-full{color:var(--magenta);}
.ip-star-half{background:var(--foil); -webkit-background-clip:text; background-clip:text; color:transparent;}
.ip-star-empty{color:rgba(139,69,255,0.25);}
.ip-amazon-btn{display:inline-flex; margin-top:22px; padding:13px 26px; border-radius:0; font-size:13px; letter-spacing:1px; font-weight:600; background:var(--foil); color:#0a0014;}
.ip-amazon-disclaimer{margin-top:10px; font-size:11px; color:var(--muted); font-style:italic;}

@media(max-width:860px){
  .grid, .ip-post-grid{grid-template-columns:1fr;}
  .editorial{grid-template-columns:1fr;}
  .ip-primary-nav ul{display:none;}
  .hero-title{font-size:30px;}
  .ip-single-title{font-size:26px;}
  .ip-scheda-label{flex:0 0 130px; font-size:10.5px;}
}

.sidebar-books{display:flex; flex-direction:column; gap:16px;}
.sidebar-book{display:block; padding-bottom:14px; border-bottom:1px solid rgba(139,69,255,0.14);}
.sidebar-book:last-child{border-bottom:none; padding-bottom:0;}
.sidebar-book-title{font-family:'Cinzel'; font-size:14.5px; font-weight:600; margin-bottom:6px; color:var(--text);}
.sidebar-book-trama{font-size:12px; color:var(--muted); line-height:1.5;}
.sidebar-book:hover .sidebar-book-title{color:var(--cyan);}

.sidebar-book-meta{font-family:'IBM Plex Mono'; font-size:10px; color:var(--cyan); letter-spacing:.5px; margin-bottom:6px; text-transform:uppercase;}

.ip-page-content{padding-top:20px;}
.ip-page-content ul, .ip-page-content ol{margin:0 0 22px 22px;}
.ip-page-content li{margin-bottom:8px; line-height:1.7;}
.ip-page-content a{color:var(--cyan); text-decoration:underline;}
.ip-page-content a:hover{color:var(--magenta);}

.ip-title-foil{background:var(--foil); -webkit-background-clip:text; background-clip:text; color:transparent;}
.contact-panel{background:var(--glass); border:1px solid var(--glass-border); padding:44px; max-width:560px; margin:20px auto 0;}
.contact-row{display:flex; align-items:center; gap:18px;}
.contact-badge{width:52px; height:52px; flex-shrink:0; display:flex; align-items:center; justify-content:center; font-size:22px; background:var(--foil); color:#0a0014;}
.contact-label{font-family:'IBM Plex Mono'; font-size:11px; letter-spacing:1.5px; text-transform:uppercase; color:var(--cyan); margin-bottom:4px;}
.contact-value{font-size:16px; color:var(--text);}
.contact-value:hover{color:var(--magenta);}
.contact-divider{height:1px; background:linear-gradient(90deg, transparent, rgba(139,69,255,0.4), transparent); margin:32px 0;}
.contact-socials{display:flex; flex-direction:column; gap:12px;}
.contact-social-btn{display:flex; align-items:center; gap:14px; padding:14px 18px; border:1px solid var(--glass-border); color:var(--text); font-size:14.5px; transition:border-color .2s;}
.contact-social-btn:hover{border-color:var(--cyan);}
.contact-social-badge{width:34px; height:34px; flex-shrink:0; display:flex; align-items:center; justify-content:center; font-family:'IBM Plex Mono'; font-size:11px; font-weight:600; background:var(--foil); color:#0a0014;}
@media(max-width:600px){ .contact-panel{padding:28px 22px;} }

.contact-split{display:grid; grid-template-columns:1fr 1fr; gap:26px; margin-top:20px; align-items:stretch;}
.contact-split .contact-panel{display:flex; flex-direction:column; height:100%;}
.contact-form-panel .contact-form{flex:1; display:flex; flex-direction:column;}
.contact-form-panel .contact-form textarea{flex:1; min-height:160px;}
.contact-split .contact-panel{max-width:none; margin:0;}
.ip-hp-field{position:absolute; left:-9999px;}
.contact-form{display:flex; flex-direction:column; gap:16px;}
.contact-form label{display:flex; flex-direction:column; gap:6px; font-family:'IBM Plex Mono'; font-size:11px; letter-spacing:1px; text-transform:uppercase; color:var(--muted);}
.contact-form input, .contact-form textarea{background:rgba(8,0,24,0.5); border:1px solid var(--glass-border); color:var(--text); font-family:'Inter'; font-size:14px; padding:12px 14px; resize:vertical;}
.contact-form input:focus, .contact-form textarea:focus{outline:none; border-color:var(--cyan);}
.contact-form button{border:none; cursor:pointer; margin-top:6px; align-self:flex-start;}
.contact-form-success{color:var(--cyan); font-size:14px;}
.contact-form-error{color:var(--magenta); font-size:13px; margin-bottom:14px;}
@media(max-width:760px){ .contact-split{grid-template-columns:1fr;} }

.ip-contatti{max-width:1000px;}

.ip-sinossi-box{background:var(--glass); border-left:3px solid var(--purple); padding:22px 26px; margin-bottom:34px;}
.ip-sinossi-label{font-family:'IBM Plex Mono'; font-size:11px; letter-spacing:2px; text-transform:uppercase; color:var(--cyan); margin-bottom:10px;}
.ip-sinossi-box p{font-style:italic; color:var(--text); opacity:.92; font-size:16px; line-height:1.8; text-align:justify;}


.ip-single-layout{display:flex; gap:48px; align-items:flex-start;}
.ip-single-main{flex:1; min-width:0;}
.ip-single-sidebar{width:280px; flex-shrink:0; position:sticky; top:90px; display:flex; flex-direction:column; gap:22px;}
.ip-toc-nav{display:flex; flex-direction:column; gap:11px;}
.ip-toc-nav a{font-size:13px; color:var(--muted); line-height:1.4;}
.ip-toc-nav a:hover{color:var(--cyan);}
.ip-related-list{display:flex; flex-direction:column; gap:16px;}
.ip-related-item{display:block;}
.ip-related-thumb{width:100%; aspect-ratio:16/9; background:linear-gradient(150deg,#2a0f5c,#0d0326); background-size:cover; background-position:center; margin-bottom:8px;}
.ip-related-title{font-family:'Cinzel'; font-size:13.5px; line-height:1.4; color:var(--text);}
.ip-related-item:hover .ip-related-title{color:var(--cyan);}
@media(max-width:900px){
  .ip-single-layout{flex-direction:column;}
  .ip-single-sidebar{width:100%; position:static;}
}

.ip-archive-pagination{display:flex; justify-content:center; gap:10px; margin:60px 0 40px;}
.ip-archive-pagination .page-numbers{padding:10px 16px; border:1px solid var(--glass-border); color:var(--muted); font-family:'IBM Plex Mono'; font-size:13px;}
.ip-archive-pagination .page-numbers.current{background:var(--foil); color:#0a0014; border:none;}
.ip-archive-pagination .page-numbers:hover:not(.current){border-color:var(--cyan); color:var(--text);}

.ip-load-more-wrap{display:flex; justify-content:center; margin:56px 0 40px;}
#ip-load-more-btn{border:none; cursor:pointer;}
#ip-load-more-btn:disabled{opacity:.6; cursor:default;}

.ip-footer-legal{display:flex; justify-content:center; gap:20px; margin-top:16px; padding-top:16px; border-top:1px solid rgba(139,69,255,0.14);}
.ip-footer-legal a{font-size:11px; color:var(--muted); text-transform:uppercase; letter-spacing:1px;}
.ip-footer-legal a:hover{color:var(--cyan);}

.ip-footer-brand{display:flex; justify-content:center; padding-top:6px; overflow:visible;}
.ip-footer-brand .ip-logo-has-image{height:64px; overflow:visible;}
.ip-footer-brand .ip-logo-img{height:64px !important;}

.ip-nav{position:relative;}
.ip-search-toggle{background:none; border:none; color:var(--muted); cursor:pointer; padding:6px; display:flex; margin-left:28px;}
.ip-search-toggle:hover{color:var(--cyan);}
.ip-search-toggle.ip-search-active{color:var(--cyan);}
.ip-search-bar{position:absolute; top:100%; left:0; right:0; z-index:60; max-height:0; overflow:hidden; transition:max-height .3s ease; background:rgba(8,0,24,0.97); backdrop-filter:blur(14px); border-bottom:0 solid rgba(139,69,255,0.18);}
.ip-search-bar.ip-search-open{max-height:90px; border-bottom-width:1px;}
.ip-search-form{padding:18px 32px;}
.ip-search-form input{width:100%; background:rgba(8,0,24,0.6); border:1px solid var(--glass-border); color:var(--text); font-family:'Inter'; font-size:15px; padding:12px 16px;}
.ip-search-form input:focus{outline:none; border-color:var(--cyan);}
@media(max-width:860px){ .ip-search-toggle{margin-left:auto;} }

.ip-no-results{text-align:center; padding:60px 20px;}
.ip-no-results p{color:var(--muted); margin-bottom:24px; font-size:15px;}

.ip-404{max-width:600px; margin:0 auto; text-align:center; padding:100px 32px;}
.ip-404-number{font-family:'Cinzel'; font-size:110px; font-weight:700; line-height:1; background:var(--foil); -webkit-background-clip:text; background-clip:text; color:transparent; margin-bottom:10px; opacity:.5;}
.ip-404-content p{color:var(--muted); margin:18px 0 30px; font-size:15px;}
.ip-404-search{margin-top:44px;}
.ip-404-search input{width:100%; background:rgba(8,0,24,0.6); border:1px solid var(--glass-border); color:var(--text); font-family:'Inter'; font-size:14px; padding:12px 16px;}
.ip-404-search input:focus{outline:none; border-color:var(--cyan);}
.ip-author-bio{color:var(--muted); max-width:700px; margin-bottom:40px; font-size:15px; line-height:1.7;}

.ip-comments-section{margin-top:60px;}
.ip-comment-form-wrap{background:var(--glass); border:1px solid var(--glass-border); padding:26px; margin-bottom:40px;}
.ip-comment-form{display:flex; flex-direction:column; gap:12px;}
.ip-comment-form-row{display:flex; gap:12px;}
.ip-comment-form-row input, .ip-comment-form textarea{flex:1; background:rgba(8,0,24,0.5); border:1px solid var(--glass-border); color:var(--text); font-family:'Inter'; font-size:14px; padding:10px 14px; resize:vertical;}
.ip-comment-form-row input:focus, .ip-comment-form textarea:focus{outline:none; border-color:var(--cyan);}
.ip-comment-form button{align-self:flex-start; border:none; cursor:pointer;}
.ip-comment-form-msg{font-size:13px;}
.ip-comment-form-msg.success{color:var(--cyan);}
.ip-comment-form-msg.error{color:var(--magenta);}
.ip-hp-field{position:absolute; left:-9999px;}
.ip-comments-closed{color:var(--muted); font-size:14px;}

.ip-comment-list{list-style:none; margin-left:calc(var(--depth, 0) * 32px);}
.ip-comment{padding:20px 0; border-bottom:1px solid rgba(139,69,255,0.14);}
.ip-comment-head{display:flex; align-items:center; gap:12px; margin-bottom:10px;}
.ip-comment-avatar{width:38px; height:38px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-family:'IBM Plex Mono'; font-size:13px; font-weight:600; color:#0a0014; flex-shrink:0;}
.ip-comment-author{font-family:'Cinzel'; font-size:14px; font-weight:600;}
.ip-comment-date{font-family:'IBM Plex Mono'; font-size:10.5px; color:var(--muted);}
.ip-comment-body{color:var(--text); font-size:14.5px; line-height:1.7; margin-bottom:10px;}
.ip-comment-reply-btn{background:none; border:none; color:var(--cyan); font-family:'IBM Plex Mono'; font-size:11px; letter-spacing:1px; text-transform:uppercase; cursor:pointer; padding:0;}
.ip-comment-reply-btn:hover{color:var(--magenta);}
.ip-comment-reply-form{margin-top:16px; padding:18px; background:var(--glass); border:1px solid var(--glass-border);}

/* HAMBURGER MENU MOBILE */
.ip-header-actions{display:flex; align-items:center; gap:16px;}
.ip-menu-toggle{display:none; flex-direction:column; justify-content:center; gap:5px; width:26px; height:20px; background:none; border:none; cursor:pointer; padding:0;}
.ip-menu-toggle span{display:block; height:2px; background:var(--text); transition:transform .25s, opacity .25s;}
.ip-menu-toggle.ip-menu-active span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.ip-menu-toggle.ip-menu-active span:nth-child(2){opacity:0;}
.ip-menu-toggle.ip-menu-active span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

.ip-mobile-menu-overlay{position:fixed; top:0; left:0; width:100vw; height:100vh; z-index:100; background:rgba(8,0,24,0.6); backdrop-filter:blur(6px); opacity:0; visibility:hidden; pointer-events:none; transition:opacity .3s, visibility .3s;}
.ip-mobile-menu-overlay.ip-menu-open{pointer-events:auto;}
.ip-mobile-menu-overlay.ip-menu-open{opacity:1; visibility:visible;}
.ip-mobile-menu{position:fixed; top:0; right:0; height:100vh; width:78%; max-width:320px; background:var(--bg-2); border-left:1px solid var(--glass-border); padding:100px 32px 40px; transform:translateX(100%); transition:transform .3s ease; overflow-y:auto;}
.ip-mobile-menu-overlay.ip-menu-open .ip-mobile-menu{transform:translateX(0);}
.ip-mobile-menu ul{list-style:none; display:flex; flex-direction:column; gap:28px;}
.ip-mobile-menu a{font-family:'Cinzel'; font-size:19px; letter-spacing:1px; color:var(--text);}
.ip-mobile-menu a:hover{color:var(--cyan);}

@media(max-width:860px){
  .ip-menu-toggle{display:flex;}
  .ip-header{backdrop-filter:none !important; background:var(--bg-2) !important; box-shadow:0 4px 16px rgba(0,0,0,0.5);}
  .ip-header{backdrop-filter:none !important; background:var(--bg-2) !important; box-shadow:0 4px 16px rgba(0,0,0,0.5);}
}

/* HERO MOBILE FIX */
@media(max-width:640px){
  .hero-inner{aspect-ratio:auto; min-height:520px;}
  .hero-content{padding:32px 24px; max-width:none;}
  .hero-title{font-size:26px;}
  .hero-desc{font-size:14px; -webkit-line-clamp:3; display:-webkit-box; -webkit-box-orient:vertical; overflow:hidden;}
  .hero-overlay{background:linear-gradient(0deg, rgba(8,0,24,0.95) 0%, rgba(8,0,24,0.75) 45%, rgba(8,0,24,0.35) 100%) !important;}
}

/* FIX OVERFLOW ORIZZONTALE MOBILE */
html{overflow-x:hidden;}
.post-row > div:last-child{min-width:0; flex:1;}
.post-row-title, .post-row-excerpt{overflow-wrap:break-word;}
.card-title, .card-excerpt, .sidebar-book-title, .sidebar-book-trama{overflow-wrap:break-word;}

@media(max-width:640px){
  .post-row{flex-direction:column; align-items:stretch; gap:0; background:var(--bg-2); border:1px solid var(--glass-border); padding:0; margin-bottom:22px; overflow:hidden;}
  .post-row-thumb{width:100%; aspect-ratio:16/9;}
  .post-row > div:last-child{padding:20px 22px 24px;}
  .post-row-more{display:none;}
  .post-row-meta{margin-bottom:10px;}
  .post-row-title{font-size:18px; margin:0 0 10px;}
  .post-row-excerpt{margin-top:0; margin-bottom:0; font-size:13.5px;}
  .sidebar-box{padding:18px;}
  .tag-cloud{gap:8px;}
  .cat-list li{flex-wrap:wrap;}
  .editorial .section-title{display:none;}
}

@media(max-width:640px){
  .hero-inner{display:block; aspect-ratio:auto; min-height:auto; background:none;}
  .hero-bg-img{position:static; width:100%; height:auto; aspect-ratio:16/9; object-fit:cover;}
  .hero-overlay{display:none;}
  .hero-content{position:static; background:var(--bg-2); border:1px solid var(--glass-border); border-top:none; padding:24px; max-width:none;}
}

@media(max-width:640px){
  .card, .post-row{width:100% !important; max-width:100% !important; margin-left:0 !important; margin-right:0 !important; box-sizing:border-box !important;}
  .ip-single-main, .post-list, .grid, .editorial{width:100% !important; max-width:100% !important;}
}

.ip-mobile-feed{display:none;}
@media(max-width:640px){
  .ip-mobile-feed{display:block; margin-top:44px;}
  .wrap > .grid{display:none;}
  .ip-desktop-only-title{display:none;}
  .editorial{margin-top:20px;}
  .editorial .post-list{display:none;}
}

@media(max-width:640px){
  * { max-width: 100vw !important; }
  .wrap, .ip-mobile-feed, .grid, .card, .ip-card-link, .card-inner, .card-body {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .hero-content { box-sizing: border-box !important; }
  .btn-foil { max-width: 100% !important; white-space: normal !important; }
}

@media(max-width:640px){
  .ip-mobile-feed .grid{display:block !important;}
  .ip-mobile-feed .card{width:100% !important; max-width:100% !important; box-sizing:border-box !important; margin-bottom:22px;}
}

@media(max-width:640px){
  .ip-comment-form-row{flex-direction:column;}
}

.ip-racconti-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px;}
.ip-racconto-card{background:var(--bg-2); border:1px solid var(--glass-border); display:flex; flex-direction:column;}
.ip-racconto-body{display:flex; flex-direction:column; flex:1;}
.ip-racconto-lista{flex:1;}
.ip-racconto-cover{aspect-ratio:2/3; background-color:#1a0a30;}
.ip-racconto-cover img{width:100%; height:100%; object-fit:cover; display:block;}
.ip-racconto-body{padding:20px;}
.ip-racconto-title{font-family:'Cinzel'; font-size:17px; font-weight:600; margin-bottom:10px; color:var(--text);}
.ip-racconto-lista{font-size:13px; color:var(--muted); line-height:1.6;}
.ip-racconto-body .ip-amazon-btn{margin-top:16px; width:100%; justify-content:center;}
@media(max-width:860px){ .ip-racconti-grid{grid-template-columns:1fr;} }

.ip-alpha-nav{position:sticky; top:80px; z-index:10; display:flex; flex-wrap:wrap; justify-content:center; gap:8px; background:var(--bg-2); border:1px solid var(--glass-border); padding:16px; margin:30px 0 40px;}
.ip-alpha-letter{width:32px; height:32px; display:flex; align-items:center; justify-content:center; font-family:'IBM Plex Mono'; font-size:13px; font-weight:600;}
.ip-alpha-active{color:var(--cyan); border:1px solid var(--glass-border);}
.ip-alpha-active:hover{background:var(--foil); color:#0a0014; border-color:transparent;}
.ip-alpha-disabled{color:rgba(155,143,176,0.3);}

.ip-authors-grid{column-count:3; column-gap:36px;}
.ip-authors-letter-block{break-inside:avoid; margin-bottom:34px;}
.ip-authors-letter-heading{font-family:'Cinzel'; font-size:22px; font-weight:600; color:var(--magenta); margin-bottom:14px; padding-bottom:8px; border-bottom:1px solid rgba(139,69,255,0.25);}
.ip-author-entry{margin-bottom:16px;}
.ip-author-name{font-family:'Cinzel'; font-size:14.5px; font-weight:600; color:var(--text); margin-bottom:4px;}
.ip-author-book{display:block; font-size:13px; color:var(--muted); padding-left:12px; line-height:1.6;}
.ip-author-book:hover{color:var(--cyan);}

@media(max-width:860px){
  .ip-authors-grid{column-count:2;}
}
@media(max-width:600px){
  .ip-authors-grid{column-count:1;}
  .ip-alpha-nav{position:static;}
}
