/*
Theme Name: MBBS In Italy
Theme URI: https://nvfoundation.com/
Author: National Vidya Foundation
Description: Block theme for an Italy MBBS (IMAT) admissions site. Every page, header and footer is editable in the WordPress Site Editor. Site name, phone, WhatsApp and email update everywhere from one place (Site Details).
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 7.4
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: mbbs-italy
*/

/* ---------- Header ---------- */
header.wp-block-template-part{position:sticky;top:var(--wp-admin--admin-bar--height,0);z-index:50;background:rgba(250,246,238,.94);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--wp--preset--color--line)}
.site-header{padding-top:.85rem;padding-bottom:.85rem}
.site-header__inner{gap:1.25rem;align-items:center}
.site-header .wp-block-site-title{font-family:var(--wp--preset--font-family--heading);font-size:1.35rem;font-weight:600;letter-spacing:-.01em;white-space:nowrap}
.site-header .wp-block-site-title a{color:var(--wp--preset--color--forest);text-decoration:none}
.site-header .wp-block-site-title a::before{content:"";display:inline-block;width:.62em;height:.62em;margin-right:.45em;border-radius:50%;background:conic-gradient(var(--wp--preset--color--forest) 0 33%,var(--wp--preset--color--cream) 0 66%,var(--wp--preset--color--terracotta) 0);box-shadow:0 0 0 2px var(--wp--preset--color--line);vertical-align:.02em}
.site-header .wp-block-navigation{font-size:.94rem;font-weight:500;gap:1.35rem}
.site-header .wp-block-navigation a{color:var(--wp--preset--color--ink);text-decoration:none}
.site-header .wp-block-navigation a:hover{color:var(--wp--preset--color--terracotta)}
.site-header .header-cta .wp-block-button__link{padding:.6rem 1.1rem;font-size:.9rem}
@media (max-width:1180px){.site-header .header-cta{display:none}}

/* ---------- Generic sections ---------- */
.sec{padding-top:clamp(3rem,7vw,5.5rem);padding-bottom:clamp(3rem,7vw,5.5rem)}
.sec--sand{background:var(--wp--preset--color--sand)}
.sec--white{background:#fff}
.eyebrow{font-size:.78rem !important;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--wp--preset--color--terracotta);margin-bottom:.6rem}
.lead{font-size:clamp(1.08rem,1.6vw,1.25rem);line-height:1.65;color:var(--wp--preset--color--muted)}
.small{font-size:.88rem;color:var(--wp--preset--color--muted)}

/* ---------- Home hero ---------- */
.hero{position:relative;overflow:hidden;background:var(--wp--preset--color--forest);color:var(--wp--preset--color--cream);padding-top:clamp(4rem,10vw,7.5rem);padding-bottom:clamp(4rem,10vw,7.5rem)}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(60rem 30rem at 85% 0%,rgba(201,162,39,.20),transparent 60%),radial-gradient(40rem 26rem at 0% 100%,rgba(184,80,42,.28),transparent 60%);pointer-events:none}
.hero::after{content:"";position:absolute;right:-6rem;top:50%;width:min(46vw,34rem);aspect-ratio:1;transform:translateY(-50%);border-radius:50%;border:1px solid rgba(250,246,238,.16);box-shadow:0 0 0 3.5rem rgba(250,246,238,.03),0 0 0 7rem rgba(250,246,238,.025);pointer-events:none}
.hero>*{position:relative;z-index:1}
.hero h1{color:var(--wp--preset--color--cream);font-size:clamp(2.5rem,6vw,4.6rem);line-height:1.04;letter-spacing:-.025em;max-width:15ch;margin-top:0}
.hero h1 em{font-style:italic;color:var(--wp--preset--color--gold)}
.hero .lead{color:rgba(250,246,238,.82);max-width:46rem}
.hero .eyebrow{color:var(--wp--preset--color--gold)}
.hero .is-style-outline .wp-block-button__link{color:var(--wp--preset--color--cream);border-color:rgba(250,246,238,.55)}
.hero .is-style-outline .wp-block-button__link:hover{background:var(--wp--preset--color--cream);color:var(--wp--preset--color--forest)}

/* ---------- Page hero (inner pages) ---------- */
.page-hero{background:var(--wp--preset--color--forest);color:var(--wp--preset--color--cream);padding-top:clamp(3rem,7vw,5rem);padding-bottom:clamp(2.5rem,6vw,4rem);position:relative;overflow:hidden}
.page-hero::after{content:"";position:absolute;right:-5rem;bottom:-9rem;width:22rem;aspect-ratio:1;border-radius:50%;border:1px solid rgba(250,246,238,.14);box-shadow:0 0 0 3rem rgba(250,246,238,.03)}
.page-hero .wp-block-post-title{color:var(--wp--preset--color--cream);font-size:clamp(2.2rem,5vw,3.6rem);letter-spacing:-.02em;margin:0;position:relative;z-index:1}
.page-content>.wp-block-paragraph:first-child,.page-content>p:first-child{margin-top:clamp(2rem,5vw,3rem)}

/* ---------- Stats ---------- */
.stats{gap:0 !important;background:#fff;border:1px solid var(--wp--preset--color--line);border-radius:20px;overflow:hidden;margin-top:-3.2rem !important;position:relative;z-index:2;box-shadow:0 20px 50px -30px rgba(15,59,46,.45)}
.stats>.wp-block-column{padding:1.6rem 1.5rem;border-right:1px solid var(--wp--preset--color--line)}
.stats>.wp-block-column:last-child{border-right:0}
.stats .stat-num{font-family:var(--wp--preset--font-family--heading);font-size:clamp(2rem,3.4vw,2.7rem);line-height:1;color:var(--wp--preset--color--forest);margin:0 0 .4rem;font-weight:600}
.stats p{margin:0}
@media (max-width:781px){.stats>.wp-block-column{border-right:0;border-bottom:1px solid var(--wp--preset--color--line)}.stats>.wp-block-column:last-child{border-bottom:0}}

/* ---------- Cards ---------- */
.cards{gap:1.25rem !important}
.card,.cards>.wp-block-column{background:#fff;border:1px solid var(--wp--preset--color--line);border-radius:18px;padding:1.6rem 1.5rem;transition:transform .2s ease,box-shadow .2s ease}
.cards>.wp-block-column:hover{transform:translateY(-3px);box-shadow:0 18px 40px -28px rgba(15,59,46,.5)}
.cards h3{font-size:1.3rem;margin-top:0}
.cards .card-tag{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--wp--preset--color--terracotta);margin:0 0 .5rem}

/* ---------- Steps ---------- */
ol.steps{list-style:none;padding:0;counter-reset:st;display:grid;gap:.85rem}
ol.steps>li{counter-increment:st;position:relative;background:#fff;border:1px solid var(--wp--preset--color--line);border-radius:16px;padding:1.05rem 1.2rem 1.05rem 4.1rem;line-height:1.55}
ol.steps>li::before{content:counter(st);position:absolute;left:1.1rem;top:1rem;width:2.1rem;height:2.1rem;border-radius:50%;display:grid;place-items:center;background:var(--wp--preset--color--forest);color:var(--wp--preset--color--cream);font-family:var(--wp--preset--font-family--heading);font-weight:600}

/* ---------- Notes ---------- */
.note{background:var(--wp--preset--color--sand);border-left:4px solid var(--wp--preset--color--terracotta);border-radius:0 14px 14px 0;padding:1.2rem 1.4rem}
.note p:last-child{margin-bottom:0}
.note--green{border-left-color:var(--wp--preset--color--forest);background:#EAF1EC}
.note h3{margin-top:0;font-size:1.2rem}

/* ---------- Tables ---------- */
.wp-block-table{overflow-x:auto}
.wp-block-table table{border-collapse:separate;border-spacing:0;width:100%;background:#fff;border:1px solid var(--wp--preset--color--line);border-radius:14px;overflow:hidden;font-size:.95rem}
.wp-block-table th{background:var(--wp--preset--color--forest);color:var(--wp--preset--color--cream);font-weight:600;text-align:left;padding:.8rem .9rem;border:0}
.wp-block-table td{padding:.75rem .9rem;border:0;border-top:1px solid var(--wp--preset--color--line);vertical-align:top}
.wp-block-table tbody tr:nth-child(even) td{background:#FCFAF5}
.wp-block-table figcaption{font-size:.85rem;color:var(--wp--preset--color--muted);text-align:left}
.wp-block-table table.has-fixed-layout{table-layout:auto}

/* ---------- FAQ ---------- */
.wp-block-details{background:#fff;border:1px solid var(--wp--preset--color--line);border-radius:14px;padding:1rem 1.25rem;margin-block:.7rem}
.wp-block-details summary{font-weight:600;cursor:pointer;font-size:1.05rem;color:var(--wp--preset--color--forest);list-style:none;position:relative;padding-right:2rem}
.wp-block-details summary::-webkit-details-marker{display:none}
.wp-block-details summary::after{content:"+";position:absolute;right:0;top:-.15rem;font-size:1.5rem;line-height:1;color:var(--wp--preset--color--terracotta)}
.wp-block-details[open] summary::after{content:"–"}
.wp-block-details[open] summary{margin-bottom:.6rem}

/* ---------- CTA band ---------- */
.cta-band{background:var(--wp--preset--color--terracotta);color:#fff;border-radius:24px;padding:clamp(2rem,5vw,3.2rem)}
.cta-band h2{color:#fff;margin-top:0}
.cta-band .wp-block-button__link{background:#fff;color:var(--wp--preset--color--terracotta)}
.cta-band .is-style-outline .wp-block-button__link{background:transparent;color:#fff;border-color:rgba(255,255,255,.7)}

/* ---------- Sources ---------- */
.sources{font-size:.85rem;color:var(--wp--preset--color--muted);border-top:1px solid var(--wp--preset--color--line);padding-top:1.2rem;margin-top:3rem}
.sources a{color:var(--wp--preset--color--muted);word-break:break-word}

/* ---------- Footer ---------- */
footer.wp-block-template-part{margin-top:0}
.site-footer{background:var(--wp--preset--color--forest-dark);color:rgba(250,246,238,.78);padding-top:clamp(3rem,6vw,4.5rem);padding-bottom:1.5rem;font-size:.93rem}
.site-footer a{color:var(--wp--preset--color--cream);text-decoration:none}
.site-footer a:hover{color:var(--wp--preset--color--gold)}
.site-footer h4,.site-footer .wp-block-site-title{color:var(--wp--preset--color--cream);font-family:var(--wp--preset--font-family--heading)}
.site-footer h4{font-size:1rem;letter-spacing:.06em;text-transform:uppercase;margin-top:0}
.site-footer ul{list-style:none;padding:0;margin:0}
.site-footer li{margin:.35rem 0}
.site-footer .footer-bottom{border-top:1px solid rgba(250,246,238,.14);margin-top:2.5rem;padding-top:1.2rem;font-size:.82rem}
.site-footer .disclaimer{font-size:.8rem;line-height:1.6;color:rgba(250,246,238,.6)}

/* ---------- Misc ---------- */
.wp-block-button__link{transition:transform .15s ease,background .15s ease}
.wp-block-button__link:hover{transform:translateY(-1px)}
.page-content a:not(.wp-block-button__link){text-underline-offset:.18em;text-decoration-thickness:1px}
.wp-block-separator{border-color:var(--wp--preset--color--line);opacity:1}
@media (max-width:600px){.hero::after,.page-hero::after{display:none}}
