/* ===================================================================
   GESTYA.it — Shared styles for inner pages (Moduli, Modulo detail,
   Blog index, Article). Loaded AFTER site.css; reuses its tokens.
=================================================================== */

/* compact page hero (dark) */
.page-hero{position:relative;background:var(--hero-bg);color:#fff;overflow:hidden;padding:140px 0 64px;}
.page-hero .glow{position:absolute;border-radius:50%;filter:blur(10px);pointer-events:none;}
.page-hero .pg1{width:560px;height:560px;background:radial-gradient(circle,rgba(109,79,196,.45),transparent 62%);top:-240px;right:-140px;}
.page-hero .pg2{width:480px;height:480px;background:radial-gradient(circle,rgba(31,174,143,.32),transparent 62%);bottom:-260px;left:-160px;}
.page-hero .motif{position:absolute;border:2px solid rgba(255,255,255,.06);border-radius:30px;transform:rotate(45deg);}
.page-hero .pm1{width:320px;height:320px;right:6%;top:-90px;}
.page-hero .wrap{position:relative;}
.crumbs{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:600;color:rgba(255,255,255,.6);margin-bottom:22px;flex-wrap:wrap;}
.crumbs a{color:rgba(255,255,255,.8);transition:color .2s;}
.crumbs a:hover{color:#fff;}
.crumbs i{font-size:15px;opacity:.5;}
.crumbs .cur{color:#fff;}
.page-hero h1{font-size:46px;line-height:1.08;font-weight:800;max-width:760px;}
.page-hero .lead{font-size:18px;color:rgba(255,255,255,.82);margin:18px 0 0;max-width:620px;line-height:1.6;}
.ph-meta{display:flex;gap:22px;margin-top:30px;flex-wrap:wrap;color:rgba(255,255,255,.66);font-size:13.5px;font-weight:600;}
.ph-meta .it{display:inline-flex;align-items:center;gap:8px;}
.ph-meta i{font-size:18px;color:var(--teal);}

/* ===================== MODULI INDEX ===================== */
.cat-block{padding:60px 0;}
.cat-block:nth-child(even){background:var(--bg-soft);}
.cat-head{display:flex;align-items:center;gap:16px;margin-bottom:28px;}
.cat-head .ci{width:54px;height:54px;border-radius:15px;display:grid;place-items:center;font-size:27px;background:var(--grad);color:#fff;box-shadow:var(--shadow-violet);flex-shrink:0;}
.cat-head h2{font-size:27px;font-weight:800;}
.cat-head .cc{font-size:14px;color:var(--muted);margin-top:2px;}
.cat-head .num{margin-left:auto;font-size:13px;font-weight:700;color:var(--violet);background:var(--bg-soft-2);padding:7px 15px;border-radius:30px;}
.cat-block:nth-child(even) .cat-head .num{background:#fff;}
a.mod{display:block;color:inherit;}
.modlink{cursor:pointer;}

/* jump nav (sticky category pills) */
.jump{position:sticky;top:68px;z-index:20;background:rgba(255,255,255,.9);backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid var(--border);}
.jump-inner{display:flex;gap:8px;overflow-x:auto;padding:14px 0;scrollbar-width:none;}
.jump-inner::-webkit-scrollbar{display:none;}
.jump a{flex-shrink:0;font-size:13.5px;font-weight:700;color:var(--ink-2);padding:8px 16px;border-radius:30px;border:1.5px solid var(--border-2);transition:all .16s;white-space:nowrap;}
.jump a:hover{border-color:var(--violet);color:var(--violet);}

/* ===================== MODULE DETAIL ===================== */
.md-hero-grid{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:54px;align-items:center;}
.md-badge{display:inline-flex;align-items:center;gap:9px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);padding:8px 15px;border-radius:30px;font-size:13px;font-weight:700;}
.md-badge .mi{width:24px;height:24px;border-radius:7px;background:var(--grad);display:grid;place-items:center;font-size:14px;}
.md-visual{position:relative;border-radius:var(--r-lg);overflow:hidden;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.13);min-height:360px;padding:26px;backdrop-filter:blur(6px);box-shadow:var(--shadow-lg);}
.md-visual .vrow{display:flex;align-items:center;gap:12px;padding:13px 15px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:13px;margin-bottom:12px;}
.md-visual .vrow .vi{width:40px;height:40px;border-radius:11px;background:var(--grad);display:grid;place-items:center;font-size:20px;flex-shrink:0;}
.md-visual .vrow .vt{font-weight:700;font-size:14px;}
.md-visual .vrow .vs{font-size:12px;color:rgba(255,255,255,.6);margin-top:1px;}
.md-visual .vrow .vk{margin-left:auto;font-weight:800;font-size:16px;}
.md-visual .vbar{height:8px;border-radius:6px;background:rgba(255,255,255,.12);overflow:hidden;margin-top:6px;}
.md-visual .vbar>span{display:block;height:100%;background:var(--grad);border-radius:6px;}

/* feature cards on detail */
.featcards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
@media(max-width:900px){.featcards{grid-template-columns:1fr;}}
.featcard{background:#fff;border:1px solid var(--border);border-radius:var(--r);padding:24px;transition:box-shadow .2s,transform .2s;}
.featcard:hover{box-shadow:var(--shadow);transform:translateY(-3px);}
.featcard .fi{width:48px;height:48px;border-radius:13px;background:var(--bg-soft-2);color:var(--violet);display:grid;place-items:center;font-size:24px;margin-bottom:15px;}
.featcard h3{font-size:17px;font-weight:800;}
.featcard p{font-size:14px;color:var(--muted);margin:10px 0 0;line-height:1.55;}

/* benefits list */
.benefits{display:grid;grid-template-columns:1fr 1fr;gap:14px 36px;}
@media(max-width:760px){.benefits{grid-template-columns:1fr;}}
.benefit{display:flex;gap:13px;align-items:flex-start;}
.benefit .bk{width:26px;height:26px;border-radius:8px;background:var(--teal);color:#fff;display:grid;place-items:center;font-size:16px;flex-shrink:0;margin-top:1px;}
.benefit p{margin:0;font-size:15px;color:var(--ink-2);line-height:1.5;}
.benefit b{color:var(--ink);}

/* related modules */
.rel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
@media(max-width:900px){.rel-grid{grid-template-columns:1fr;}}

/* ===================== BLOG INDEX ===================== */
.blog-search{display:flex;align-items:center;gap:11px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:13px;padding:12px 18px;max-width:440px;margin-top:30px;}
.blog-search i{font-size:20px;color:rgba(255,255,255,.7);}
.blog-search input{flex:1;border:0;outline:0;background:transparent;font:inherit;font-size:15px;color:#fff;}
.blog-search input::placeholder{color:rgba(255,255,255,.55);}

.featured{display:grid;grid-template-columns:1.15fr 1fr;gap:34px;align-items:center;background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow);margin-bottom:48px;}
.featured.no-img{grid-template-columns:1fr;gap:0;}
.featured.no-img .fbody{padding:36px 44px;}
.featured .fimg{position:relative;aspect-ratio:16/11;min-height:300px;}
.featured .fbody{padding:14px 40px 14px 6px;}
.featured .fbody h2{font-size:28px;font-weight:800;line-height:1.18;margin:14px 0 0;}
.featured .fbody p{font-size:15.5px;color:var(--muted);margin:14px 0 0;line-height:1.6;}
@media(max-width:860px){.featured{grid-template-columns:1fr;}.featured .fbody{padding:4px 28px 30px;}}

/* post image placeholder (gradient + icon) */
.pimg{position:relative;overflow:hidden;background:var(--hero-bg);display:grid;place-items:center;}
.pimg .pg{position:absolute;width:280px;height:280px;border-radius:50%;filter:blur(6px);}
.pimg .pa{background:radial-gradient(circle,rgba(109,79,196,.6),transparent 62%);top:-90px;left:-70px;}
.pimg .pb{background:radial-gradient(circle,rgba(31,174,143,.5),transparent 62%);bottom:-90px;right:-70px;}
.pimg .pico{position:relative;font-size:54px;color:rgba(255,255,255,.92);}
.pimg.sm .pico{font-size:38px;}

.tag{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--violet);background:var(--bg-soft-2);padding:5px 12px;border-radius:30px;}
.tag.on-img{position:absolute;top:14px;left:14px;background:rgba(255,255,255,.92);backdrop-filter:blur(6px);z-index:2;}

.post-meta{display:flex;align-items:center;gap:12px;font-size:12.5px;color:var(--muted);margin-top:16px;}
.post-meta .av{width:28px;height:28px;border-radius:50%;background:var(--grad);display:grid;place-items:center;color:#fff;font-weight:700;font-size:11px;}
.post-meta .dot{width:3px;height:3px;border-radius:50%;background:var(--muted-2);}

.blog-layout{display:grid;grid-template-columns:1fr 300px;gap:40px;align-items:start;}
@media(max-width:980px){.blog-layout{grid-template-columns:1fr;}}
.blog-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.blog-grid.related-grid{grid-template-columns:repeat(3,1fr);}
@media(max-width:980px){.blog-grid.related-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:620px){.blog-grid,.blog-grid.related-grid{grid-template-columns:1fr;}}
.post{background:#fff;border:1px solid var(--border);border-radius:var(--r);overflow:hidden;cursor:pointer;transition:box-shadow .2s,transform .2s,border-color .2s;display:flex;flex-direction:column;}
.post:hover{box-shadow:var(--shadow);transform:translateY(-3px);border-color:transparent;}
.post .pimg{aspect-ratio:16/9;}
.post .pbody{padding:20px;display:flex;flex-direction:column;flex:1;}
.post h3{font-size:18px;font-weight:800;line-height:1.28;margin:13px 0 0;transition:color .2s;}
.post:hover h3{color:var(--violet);}
.post p{font-size:13.5px;color:var(--muted);margin:10px 0 0;line-height:1.55;flex:1;}

/* sidebar */
.side-card{background:#fff;border:1px solid var(--border);border-radius:var(--r);padding:22px;margin-bottom:20px;}
.side-card h4{font-size:13px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ink);margin:0 0 16px;display:flex;align-items:center;gap:8px;}
.side-card h4 i{color:var(--violet);font-size:17px;}
.cat-list a{display:flex;align-items:center;justify-content:space-between;padding:9px 0;font-size:14px;font-weight:600;color:var(--ink-2);border-bottom:1px solid var(--border);transition:color .2s;}
.cat-list a:last-child{border-bottom:0;}
.cat-list a:hover{color:var(--violet);}
.cat-list a .c{font-size:12px;color:var(--muted);background:var(--bg-soft);padding:2px 9px;border-radius:20px;}
.side-pop a{display:flex;gap:12px;padding:11px 0;border-bottom:1px solid var(--border);}
.side-pop a.no-thumb{gap:0;}
.side-pop a:last-child{border-bottom:0;}
.side-pop .si{width:54px;height:54px;border-radius:11px;flex-shrink:0;}
.side-pop .st{font-size:13.5px;font-weight:700;line-height:1.3;transition:color .2s;}
.side-pop a:hover .st{color:var(--violet);}
.side-pop .sd{font-size:11.5px;color:var(--muted);margin-top:4px;}
.side-news{background:var(--hero-bg);color:#fff;border:0;position:relative;overflow:hidden;}
.side-news .ng{position:absolute;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(31,174,143,.4),transparent 62%);bottom:-90px;right:-70px;filter:blur(6px);}
.side-news h4{color:#fff;}
.side-news p{font-size:13.5px;color:rgba(255,255,255,.78);margin:0 0 16px;position:relative;}
.side-news .nf{position:relative;display:flex;flex-direction:column;gap:10px;}
.side-news input{border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.1);border-radius:10px;padding:11px 14px;font:inherit;font-size:14px;color:#fff;outline:0;}
.side-news input::placeholder{color:rgba(255,255,255,.55);}

/* pagination */
.pagin{display:flex;justify-content:center;gap:8px;margin-top:44px;}
.pagin a{min-width:42px;height:42px;padding:0 10px;border-radius:11px;border:1.5px solid var(--border-2);background:#fff;display:grid;place-items:center;font-size:14px;font-weight:700;color:var(--ink-2);cursor:pointer;transition:all .15s;}
.pagin a:hover{border-color:var(--violet);color:var(--violet);}
.pagin a.on{background:var(--grad);color:#fff;border-color:transparent;}

/* ===================== ARTICLE ===================== */
.art-hero{padding-bottom:50px;}
.art-hero h1{font-size:42px;max-width:820px;}
.art-meta{display:flex;align-items:center;gap:14px;margin-top:26px;color:rgba(255,255,255,.78);font-size:14px;}
.art-meta .av{width:44px;height:44px;border-radius:50%;background:var(--grad);display:grid;place-items:center;color:#fff;font-weight:700;font-size:16px;}
.art-meta .an{font-weight:700;color:#fff;}
.art-meta .ad{font-size:13px;color:rgba(255,255,255,.6);margin-top:2px;}
.art-meta .sp{margin-left:auto;display:flex;gap:8px;}
.art-meta .sp a{width:38px;height:38px;border-radius:10px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);display:grid;place-items:center;font-size:17px;color:#fff;transition:background .2s;}
.art-meta .sp a:hover{background:var(--grad);border-color:transparent;}

.art-cover{position:relative;margin:-40px auto 0;max-width:920px;aspect-ratio:16/7;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-lg);z-index:2;}
.art-wrap{max-width:760px;margin:0 auto;padding:0 28px;}
.prose{font-size:17px;line-height:1.75;color:var(--ink-2);}
.prose>p{margin:22px 0;}
.prose h2{font-size:28px;font-weight:800;color:var(--ink);margin:46px 0 0;letter-spacing:-.02em;}
.prose h3{font-size:21px;font-weight:800;color:var(--ink);margin:34px 0 0;}
.prose h2+p,.prose h3+p{margin-top:14px;}
.prose ul,.prose ol{margin:20px 0;padding-left:4px;list-style:none;}
.prose ul li{position:relative;padding:7px 0 7px 32px;}
.prose ul li::before{content:"";position:absolute;left:0;top:14px;width:18px;height:18px;border-radius:6px;background:var(--bg-soft-2);}
.prose ul li::after{content:"\2713";position:absolute;left:3px;top:9px;font-size:12px;font-weight:800;color:var(--violet);}
.prose ol{counter-reset:n;}
.prose ol li{position:relative;padding:7px 0 7px 40px;counter-increment:n;}
.prose ol li::before{content:counter(n);position:absolute;left:0;top:8px;width:26px;height:26px;border-radius:8px;background:var(--grad);color:#fff;font-size:13px;font-weight:800;display:grid;place-items:center;}
.prose blockquote{margin:30px 0;padding:22px 26px;background:var(--bg-soft);border-left:4px solid var(--violet);border-radius:0 14px 14px 0;font-size:19px;font-weight:600;color:var(--ink);font-style:italic;}
.prose .figure{margin:34px 0;}
.prose .figure .pimg{aspect-ratio:16/8;border-radius:var(--r);}
.prose .figure figcaption{text-align:center;font-size:13px;color:var(--muted);margin-top:11px;}
.prose a.inl{color:var(--violet);font-weight:600;text-decoration:underline;text-underline-offset:2px;}
.prose strong{color:var(--ink);}
.art-tags{display:flex;gap:9px;flex-wrap:wrap;margin:40px 0 0;}
.author-box{display:flex;gap:18px;align-items:center;background:var(--bg-soft);border-radius:var(--r);padding:24px;margin-top:40px;}
.author-box .ba{width:64px;height:64px;border-radius:50%;background:var(--grad);display:grid;place-items:center;color:#fff;font-weight:800;font-size:24px;flex-shrink:0;}
.author-box .bn{font-size:17px;font-weight:800;}
.author-box .br{font-size:13.5px;color:var(--violet);font-weight:700;margin-top:2px;}
.author-box .bb{font-size:14px;color:var(--muted);margin-top:7px;line-height:1.5;}
