/*
Theme Name: Sora Blog
Theme URI: https://www.godrejsora.org.in/blog/
Description: Custom blog theme for godrejsora.org.in, matched to the main site (red #ce2335, gold #b08d57, Poppins 400/600, 1170px container, dark footer).
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: sora-blog
*/

/* ---------- Fonts (served by the main site) ---------- */
@font-face{font-family:"Poppins";font-style:normal;font-weight:400;font-display:swap;src:url("/assets/fonts/poppins-400.woff2") format("woff2")}
@font-face{font-family:"Poppins";font-style:normal;font-weight:600;font-display:swap;src:url("/assets/fonts/poppins-600.woff2") format("woff2")}

/* ---------- Tokens ---------- */
:root{
	--red:#ce2335;
	--red-dark:#a51c2a;
	--red-soft:rgba(206,35,53,.08);
	--gold:#b08d57;
	--gold-soft:rgba(176,141,87,.14);
	--ink:#212529;
	--body:#495057;
	--muted:#6c757d;
	--line:#e9ecef;
	--line-2:#dee2e6;
	--paper:#f8f9fa;
	--container:1170px;
	--radius:.5rem;
	--shadow:0 19px 48px -12px rgba(0,0,0,.25);
	--head-h:64px;
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--head-h) + 1rem)}
body{margin:0;font-family:"Poppins",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;font-size:1rem;font-weight:400;line-height:1.6;color:var(--ink);background:#fff;padding-top:var(--head-h)}
img{max-width:100%;height:auto;display:block}
a{color:var(--red);text-decoration:none}
a:hover{color:var(--red-dark)}
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--red);outline-offset:2px}
h1,h2,h3,h4{font-weight:600;line-height:1.25;color:var(--ink);margin:0 0 .5rem}
p{margin:0 0 1rem}
.wrap{width:100%;max-width:var(--container);margin:0 auto;padding-left:2.5rem;padding-right:2.5rem}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:.5rem;top:-3rem;z-index:2000;background:var(--red);color:#fff;padding:.5rem 1rem;border-radius:var(--radius)}
.skip:focus{top:.5rem;color:#fff}

/* ---------- Header (mirrors main site navbar) ---------- */
.site-head{position:fixed;top:0;left:0;right:0;z-index:1030;background:var(--paper);box-shadow:0 .125rem .25rem rgba(0,0,0,.075)}
.site-head__row{display:flex;align-items:center;justify-content:space-between;height:var(--head-h)}
.brand img{width:87px;height:48px}
.site-nav ul{display:flex;gap:2rem;list-style:none;margin:0;padding:0;height:var(--head-h)}
.site-nav li{display:flex}
.site-nav a{position:relative;display:flex;align-items:center;color:rgba(0,0,0,.65);font-weight:400;transition:color .15s ease}
.site-nav a:hover{color:var(--red)}
.site-nav a.is-active{color:var(--red)}
.site-nav a.is-active::before{content:"";position:absolute;left:0;bottom:0;width:100%;height:3px;background:var(--red);border-radius:.5rem .5rem 0 0}

/* ---------- Breadcrumbs ---------- */
.crumbs ol{display:flex;flex-wrap:wrap;gap:.25rem;list-style:none;margin:0 0 1rem;padding:0;font-size:.8125rem;color:var(--muted)}
.crumbs li{display:flex;align-items:center;min-width:0}
.crumbs li+li::before{content:"/";margin-right:.35rem;color:var(--line-2)}
.crumbs a{color:var(--muted)}
.crumbs a:hover{color:var(--red)}
.crumbs [aria-current]{color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:32ch}

/* ---------- Page head (listing / archives) ---------- */
.page-head{background:var(--paper);border-bottom:1px solid var(--line);padding:2.5rem 0 2.25rem;position:relative}
.page-head::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,var(--gold) 20%,var(--gold) 80%,transparent);opacity:.5}
.page-head h1{font-size:clamp(1.5rem,1.2rem + 1.2vw,2rem);margin:0}
.page-head__intro{margin:.6rem 0 0;max-width:46rem;color:var(--body)}

/* ---------- Section titles ---------- */
.rule-title{display:flex;align-items:center;gap:1rem;font-size:1.25rem;margin:3rem 0 1.5rem}
.rule-title::after{content:"";flex:1;height:1px;background:var(--line-2)}
.rule-title::before{content:"";width:28px;height:2px;background:var(--gold)}

/* ---------- Listing ---------- */
.listing{padding:2.5rem 0 4rem}
.grid{display:grid;gap:1.75rem;grid-template-columns:repeat(3,minmax(0,1fr))}

/* Card */
.card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:box-shadow .25s ease,transform .25s ease}
.card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}
.card__media{display:block;aspect-ratio:16/9;overflow:hidden;background:var(--paper)}
.card__media img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.card:hover .card__media img{transform:scale(1.04)}
.card__ph{display:block;width:100%;height:100%;background:linear-gradient(135deg,var(--paper),var(--gold-soft))}
.card__body{display:flex;flex-direction:column;flex:1;padding:1.25rem 1.25rem 1.1rem}
.card__cat{align-self:flex-start;font-size:.6875rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-bottom:.5rem}
.card__cat:hover{color:var(--red)}
.card__title{font-size:1.0625rem;line-height:1.4;margin:0 0 .5rem}
.card__title a{color:var(--ink)}
.card__title a:hover{color:var(--red)}
.card__excerpt{font-size:.875rem;color:var(--body);margin:0 0 1rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.card .meta{margin-top:auto;padding-top:.85rem;border-top:1px solid var(--line)}

/* Lead card */
.card--lead{display:grid;grid-template-columns:1.15fr 1fr;align-items:stretch}
.card--lead .card__media{aspect-ratio:auto;min-height:340px}
.card--lead .card__body{padding:2.25rem 2.25rem 1.75rem;justify-content:center}
.card--lead .card__title{font-size:clamp(1.3rem,1.1rem + .8vw,1.75rem);line-height:1.3;margin-bottom:.85rem}
.card--lead .card__excerpt{font-size:.9375rem;-webkit-line-clamp:4}
.card--lead .meta{margin-top:.5rem}

/* Meta line */
.meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.75rem;color:var(--muted)}
.meta .dot{width:3px;height:3px;border-radius:50%;background:var(--gold)}

/* Pagination */
.pager ul{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem;list-style:none;margin:3rem 0 0;padding:0}
.pager a,.pager span{display:inline-flex;align-items:center;justify-content:center;min-width:2.5rem;height:2.5rem;padding:0 .9rem;border:1px solid var(--line-2);border-radius:50rem;font-size:.875rem;color:var(--ink);background:#fff}
.pager a:hover{border-color:var(--red);color:var(--red)}
.pager .current{background:var(--red);border-color:var(--red);color:#fff}
.pager .dots{border:0;background:none}

.empty{text-align:center;padding:2rem 0;max-width:30rem;margin:0 auto}
.empty .search{margin-bottom:1.5rem}

/* ---------- Buttons / search ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;padding:.6rem 1.4rem;border:1px solid var(--red);border-radius:50rem;background:var(--red);color:#fff;font-size:.875rem;font-weight:600;transition:background .15s ease,color .15s ease}
.btn:hover{background:#fff;color:var(--red)}
.search{display:flex;border:1px solid var(--line-2);border-radius:50rem;overflow:hidden;background:#fff}
.search input{flex:1;min-width:0;border:0;padding:.6rem 1rem;font:inherit;font-size:.875rem;color:var(--ink);background:transparent}
.search input:focus{outline:none}
.search:focus-within{border-color:var(--red);box-shadow:0 0 0 .2rem rgba(206,35,53,.15)}
.search button{border:0;background:var(--red);color:#fff;font:inherit;font-size:.8125rem;font-weight:600;padding:0 1.1rem;cursor:pointer}
.search button:hover{background:var(--red-dark)}

/* ---------- Single post ---------- */
.post-head{background:var(--paper);border-bottom:1px solid var(--line);padding:2.5rem 0 2rem;position:relative}
.post-head::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,var(--gold) 20%,var(--gold) 80%,transparent);opacity:.5}
.post-head .card__cat{display:inline-block}
.post-head h1{font-size:clamp(1.5rem,1.15rem + 1.5vw,2.375rem);line-height:1.25;max-width:52rem;margin:0 0 1rem}
.post-head__by{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;font-size:.8125rem;color:var(--body)}
.post-head__by>span{font-weight:600;color:var(--ink)}
.post-head__by .meta{font-size:.8125rem}

.post-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:3.5rem;padding-top:2.5rem;padding-bottom:3rem;align-items:start}
.post-main{min-width:0}
.post-hero{margin:0 0 2rem;border-radius:var(--radius);overflow:hidden}
.post-hero img{width:100%}

/* Entry typography */
.entry{font-size:1rem;line-height:1.8;color:var(--body)}
.entry--page{max-width:52rem;padding:2.5rem 0 4rem}
.entry>*:first-child{margin-top:0}
.entry p{margin:0 0 1.25rem}
.entry h2{position:relative;font-size:1.5rem;line-height:1.3;margin:2.5rem 0 1rem;padding-top:1rem}
.entry h2::before{content:"";position:absolute;top:0;left:0;width:32px;height:2px;background:var(--gold)}
.entry h3{font-size:1.1875rem;margin:2rem 0 .75rem}
.entry h4{font-size:1rem;margin:1.5rem 0 .5rem}
.entry strong{color:var(--ink);font-weight:600}
.entry a{text-decoration:underline;text-decoration-color:rgba(206,35,53,.35);text-underline-offset:3px}
.entry a:hover{text-decoration-color:var(--red)}
.entry ul,.entry ol{margin:0 0 1.25rem;padding-left:1.4rem}
.entry li{margin-bottom:.45rem}
.entry ul li::marker{color:var(--gold)}
.entry ol li::marker{color:var(--red);font-weight:600}
.entry blockquote{margin:2rem 0;padding:1.25rem 1.5rem;border-left:3px solid var(--gold);background:var(--paper);border-radius:0 var(--radius) var(--radius) 0;color:var(--ink)}
.entry blockquote p:last-child{margin:0}
.entry figure{margin:2rem 0}
.entry figure img{border-radius:var(--radius)}
.entry figcaption,.entry .wp-element-caption{font-size:.8125rem;color:var(--muted);text-align:center;margin-top:.6rem}
.entry hr{border:0;height:1px;background:var(--line-2);margin:2.5rem 0}
.entry code{font-size:.875em;background:var(--paper);padding:.1em .35em;border-radius:.25rem}
.entry .alignwide{margin-left:0;margin-right:0}

/* Tables */
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:1.75rem 0;border:1px solid var(--line);border-radius:var(--radius)}
.table-scroll table,.entry .wp-block-table table{margin:0}
.entry table{width:100%;border-collapse:collapse;font-size:.875rem;line-height:1.5;margin:1.75rem 0}
.entry th,.entry td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.entry thead th{background:var(--ink);color:#fff;font-weight:600;white-space:nowrap}
.entry tbody tr:nth-child(even){background:var(--paper)}
.entry tbody tr:last-child td{border-bottom:0}
.entry .wp-block-table{margin:1.75rem 0}
.entry .wp-block-table .table-scroll{margin:0}

/* FAQ blocks (details/summary or Yoast/SASWP FAQ markup) */
.entry details{border:1px solid var(--line);border-radius:var(--radius);margin:0 0 .75rem;background:#fff}
.entry summary{cursor:pointer;padding:1rem 1.25rem;font-weight:600;color:var(--ink);list-style:none;position:relative;padding-right:3rem}
.entry summary::-webkit-details-marker{display:none}
.entry summary::after{content:"+";position:absolute;right:1.25rem;top:50%;transform:translateY(-50%);color:var(--red);font-size:1.25rem;font-weight:400}
.entry details[open] summary::after{content:"\2212"}
.entry details>*:not(summary){padding:0 1.25rem}
.entry details[open]>*:last-child{padding-bottom:1rem;margin-bottom:0}
.entry .schema-faq-section,.entry .saswp-faq-block-section li{border-bottom:1px solid var(--line);padding:1rem 0}
.entry .schema-faq-question,.entry .saswp-faq-block-section h3,.entry .saswp-faq-block-section strong{display:block;color:var(--ink);font-weight:600}

/* Tags + prev/next */
.tags{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:2.5rem 0 0;padding:0}
.tags a{display:inline-block;padding:.3rem .85rem;border:1px solid var(--line-2);border-radius:50rem;font-size:.75rem;color:var(--body)}
.tags a:hover{border-color:var(--red);color:var(--red)}
.post-nav{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:2.5rem;padding-top:2rem;border-top:1px solid var(--line)}
.post-nav__link{display:flex;flex-direction:column;gap:.3rem;padding:1rem 1.25rem;border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);transition:border-color .15s ease}
.post-nav__link:hover{border-color:var(--red);color:var(--ink)}
.post-nav__link small{font-size:.6875rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.post-nav__link span{font-size:.875rem;font-weight:600;line-height:1.45}
.post-nav__link--next{text-align:right;grid-column:2}

/* Sidebar */
.post-side{position:sticky;top:calc(var(--head-h) + 1.5rem);display:flex;flex-direction:column;gap:1.5rem}
.side-card{border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem;background:#fff}
.side-card__title{font-size:.9375rem;font-weight:600;color:var(--ink);margin:0 0 1rem;padding-bottom:.75rem;border-bottom:1px solid var(--line);position:relative}
.side-card__title::after{content:"";position:absolute;left:0;bottom:-1px;width:28px;height:2px;background:var(--gold)}
.side-card--project{background:var(--ink);border-color:var(--ink);color:#adb5bd;position:relative;overflow:hidden}
.side-card--project::before{content:"";position:absolute;top:0;left:1.5rem;right:1.5rem;height:2px;background:var(--gold)}
.side-card__eyebrow{font-size:.6875rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin:0 0 .5rem}
.side-card__name{font-size:1.125rem;font-weight:600;line-height:1.35;color:#fff;margin:0 0 .35rem}
.side-card__loc{font-size:.8125rem;margin:0 0 1.25rem}
.side-card--project .btn{width:100%}
.side-card--project .btn:hover{background:transparent;color:#fff;border-color:#fff}
.side-list{list-style:none;margin:0;padding:0}
.side-list li{padding:.75rem 0;border-bottom:1px solid var(--line)}
.side-list li:first-child{padding-top:0}
.side-list li:last-child{border-bottom:0;padding-bottom:0}
.side-list a{display:block;font-size:.875rem;font-weight:600;line-height:1.45;color:var(--ink)}
.side-list a:hover{color:var(--red)}
.side-list time{display:block;font-size:.75rem;color:var(--muted);margin-top:.25rem}

/* Related */
.related{background:var(--paper);border-top:1px solid var(--line);padding:.5rem 0 4rem}

/* ---------- Footer (mirrors main site) ---------- */
.site-foot{background:#212529}
.site-foot .disclosure{max-width:60rem;margin:0 auto;padding:2rem 1rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.1);font-size:.8rem;line-height:1.7;text-align:center;color:#adb5bd}
.site-foot .disclosure a,.site-foot .copyright a{color:#dee2e6}
.site-foot .disclosure a:hover,.site-foot .copyright a:hover{color:#fff}
.site-foot .copyright{font-size:.9rem;padding:1.5rem 1rem;text-align:center;color:#adb5bd;line-height:2}

/* ---------- Responsive ---------- */
@media (max-width:1199px){
	.post-layout{grid-template-columns:minmax(0,1fr) 280px;gap:2.5rem}
}
@media (max-width:991px){
	.grid{grid-template-columns:repeat(2,minmax(0,1fr))}
	.card--lead{grid-template-columns:1fr}
	.card--lead .card__media{min-height:0;aspect-ratio:16/9}
	.card--lead .card__body{padding:1.5rem}
	.post-layout{grid-template-columns:1fr}
	.post-side{position:static}
}
@media (max-width:767px){
	:root{--head-h:58px}
	.wrap{padding-left:1.2rem;padding-right:1.2rem}
	.brand img{width:76px;height:42px}
	.site-nav ul{gap:1.5rem}
	.grid{grid-template-columns:1fr;gap:1.25rem}
	.page-head,.post-head{padding:1.75rem 0 1.5rem}
	.listing{padding:1.75rem 0 3rem}
	.rule-title{margin:2.25rem 0 1.25rem}
	.post-layout{padding-top:1.75rem}
	.post-hero{margin:0 -1.2rem 1.5rem;border-radius:0}
	.entry h2{font-size:1.3rem}
	.post-nav{grid-template-columns:1fr}
	.post-nav__link--next{grid-column:1}
	.crumbs [aria-current]{max-width:22ch}
}
@media (prefers-reduced-motion:reduce){
	*{transition:none!important}
}
