/*
 * MarathiKatha.one - Custom stylesheet (layered on top of Bootstrap 5)
 * Premium, warm, editorial aesthetic inspired by Maharashtrian art motifs.
 */

:root{
	--mk-maroon:#8A2D3B;
	--mk-maroon-dark:#5F1E29;
	--mk-saffron:#E08B2F;
	--mk-mustard:#D9A441;
	--mk-teal:#1F7A73;
	--mk-cream:#FBF6EE;
	--mk-cream-dark:#F3E9D8;
	--mk-ink:#2B211D;
	--mk-ink-soft:#6B5D54;
	--mk-border:#E7DCC8;
	--mk-white:#FFFFFF;
	--mk-success:#3D8361;
	--mk-radius:12px;
	--mk-radius-lg:20px;
	--mk-shadow:0 1px 2px rgba(43,33,29,.05), 0 8px 24px rgba(43,33,29,.06);
	--mk-font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans", Arial, sans-serif;
	--mk-font-display: Georgia, "Noto Serif", "Times New Roman", serif;
}

*{ box-sizing:border-box; }

body{
	font-family:var(--mk-font-body);
	color:var(--mk-ink);
	background:var(--mk-cream);
	line-height:1.65;
	font-size:16px;
}

a{ color:var(--mk-maroon); text-decoration:none; }
a:hover{ color:var(--mk-maroon-dark); text-decoration:underline; }

.skip-link{
	position:absolute; top:0; left:0; z-index:2000; padding:.75rem 1rem;
	background:var(--mk-maroon); color:#fff;
}

h1,h2,h3,h4,h5{ font-family:var(--mk-font-display); color:var(--mk-maroon-dark); font-weight:700; }
.mk-section-title{ font-size:2rem; margin-bottom:.5rem; }
.mk-section-eyebrow{
	text-transform:uppercase; letter-spacing:.08em; font-size:.78rem; font-weight:700;
	color:var(--mk-teal); display:inline-block; margin-bottom:.5rem;
}
.mk-section-lede{ color:var(--mk-ink-soft); max-width:760px; }
.mk-section{ padding:3.5rem 0; }
.mk-section-alt{ background:var(--mk-white); }

/* ---------- Header / Nav ---------- */
.mk-topbar{ background:var(--mk-maroon-dark); color:#F4E7D8; font-size:.85rem; padding:.4rem 0; }
.mk-topbar a{ color:#F4E7D8; opacity:.9; }
.mk-topbar a:hover{ opacity:1; text-decoration:underline; }
.mk-topbar-links a{ margin-left:.35rem; }

.mk-navbar{ background:var(--mk-cream); border-bottom:1px solid var(--mk-border); padding:.65rem 0; }
.mk-site-header.sticky-top{ z-index:1030; }
.mk-brand{ display:flex; align-items:center; gap:.55rem; }
.mk-brand-text{ font-family:var(--mk-font-display); font-weight:700; font-size:1.35rem; color:var(--mk-maroon-dark); }
.mk-brand-dot{ color:var(--mk-saffron); }
.mk-navbar .nav-link{ color:var(--mk-ink); font-weight:600; padding:.5rem .85rem; }
.mk-navbar .nav-link:hover, .mk-navbar .nav-link:focus{ color:var(--mk-maroon); }
.mk-mega-menu{ border-radius:var(--mk-radius); border:1px solid var(--mk-border); box-shadow:var(--mk-shadow); padding:.5rem; }
.mk-mega-menu .dropdown-item{ border-radius:8px; padding:.5rem .75rem; }
.mk-mega-menu .dropdown-item:hover{ background:var(--mk-cream-dark); }

.mk-nav-search{ display:flex; align-items:center; gap:.25rem; }
.mk-nav-search input{ border-radius:20px 0 0 20px; border-color:var(--mk-border); }
.mk-search-btn{ background:var(--mk-maroon); color:#fff; border-radius:0 20px 20px 0; border:1px solid var(--mk-maroon); }

/* ---------- Buttons ---------- */
.mk-btn-accent{ background:var(--mk-saffron); border-color:var(--mk-saffron); color:#231007; font-weight:700; border-radius:999px; padding:.65rem 1.5rem; }
.mk-btn-accent:hover{ background:#C97A22; border-color:#C97A22; color:#231007; }
.mk-btn-outline{ border:2px solid var(--mk-maroon); color:var(--mk-maroon); font-weight:700; border-radius:999px; padding:.6rem 1.4rem; background:transparent; }
.mk-btn-outline:hover{ background:var(--mk-maroon); color:#fff; }

/* ---------- Breadcrumb ---------- */
.mk-breadcrumb{ padding:.75rem 0; font-size:.9rem; }
.mk-breadcrumb .breadcrumb-item + .breadcrumb-item::before{ content:"/"; color:var(--mk-ink-soft); }
.mk-breadcrumb .breadcrumb-item a{ color:var(--mk-teal); }
.mk-breadcrumb .breadcrumb-item.active{ color:var(--mk-ink-soft); }

/* ---------- Hero ---------- */
.mk-hero{
	position:relative; overflow:hidden; background:linear-gradient(135deg, var(--mk-maroon-dark), var(--mk-maroon) 60%, var(--mk-saffron));
	color:#fff; padding:4.5rem 0 3.5rem;
}
.mk-hero::after{
	content:""; position:absolute; inset:0; opacity:.12; pointer-events:none;
	background-image:radial-gradient(circle at 10% 20%, #fff 0, transparent 40%), radial-gradient(circle at 90% 80%, #fff 0, transparent 35%);
}
.mk-hero-eyebrow{ text-transform:uppercase; letter-spacing:.1em; font-size:.8rem; font-weight:700; color:var(--mk-mustard); }
.mk-hero h1{ color:#fff; font-size:clamp(2rem, 4vw, 3.1rem); line-height:1.15; margin:.5rem 0 1rem; }
.mk-hero p.lead{ color:#F6E9D8; max-width:600px; font-size:1.1rem; }
.mk-hero-actions{ display:flex; gap:1rem; flex-wrap:wrap; margin-top:1.5rem; }
.mk-hero-image{ border-radius:var(--mk-radius-lg); box-shadow:0 20px 50px rgba(0,0,0,.35); position:relative; z-index:1; }
.mk-hero-stats{ display:flex; gap:2rem; margin-top:2rem; flex-wrap:wrap; }
.mk-hero-stat-num{ font-family:var(--mk-font-display); font-size:1.8rem; font-weight:700; color:#fff; display:block; }
.mk-hero-stat-label{ font-size:.85rem; color:#F0DEC5; }

/* ---------- Cards ---------- */
.mk-card{
	background:var(--mk-white); border:1px solid var(--mk-border); border-radius:var(--mk-radius);
	box-shadow:var(--mk-shadow); height:100%; transition:transform .15s ease, box-shadow .15s ease;
}
.mk-card:hover{ transform:translateY(-4px); box-shadow:0 12px 28px rgba(43,33,29,.12); }
.mk-card-body{ padding:1.5rem; }
.mk-card-eyebrow{ color:var(--mk-teal); font-size:.75rem; text-transform:uppercase; letter-spacing:.06em; font-weight:700; }
.mk-card h3{ font-size:1.15rem; margin:.4rem 0 .5rem; }
.mk-card p{ color:var(--mk-ink-soft); font-size:.95rem; margin-bottom:.75rem; }
.mk-card-meta{ font-size:.8rem; color:var(--mk-ink-soft); display:flex; gap:.75rem; flex-wrap:wrap; }

.mk-category-icon{
	width:56px; height:56px; border-radius:16px; display:flex; align-items:center; justify-content:center;
	background:var(--mk-cream-dark); font-size:1.6rem; margin-bottom:1rem;
}

/* ---------- Infobox ---------- */
.mk-infobox{
	background:var(--mk-cream-dark); border-left:4px solid var(--mk-saffron); border-radius:0 var(--mk-radius) var(--mk-radius) 0;
	padding:1.25rem 1.5rem; margin:1.5rem 0;
}
.mk-infobox h4{ font-size:1rem; margin-bottom:.5rem; color:var(--mk-maroon-dark); }
.mk-infobox--teal{ border-left-color:var(--mk-teal); }

/* ---------- Tables (timeline / character tables) ---------- */
.mk-table-wrap{ overflow-x:auto; margin:1.5rem 0; border-radius:var(--mk-radius); border:1px solid var(--mk-border); }
.mk-table{ width:100%; border-collapse:collapse; background:var(--mk-white); font-size:.95rem; }
.mk-table caption{ caption-side:top; text-align:left; font-weight:700; padding:.75rem 1rem; color:var(--mk-maroon-dark); background:var(--mk-cream-dark); }
.mk-table th, .mk-table td{ padding:.75rem 1rem; border-bottom:1px solid var(--mk-border); text-align:left; vertical-align:top; }
.mk-table th{ background:var(--mk-cream-dark); color:var(--mk-maroon-dark); }
.mk-table tr:last-child td{ border-bottom:none; }

/* ---------- Rating widget ---------- */
.mk-rating-widget{ display:flex; align-items:center; gap:.75rem; flex-wrap:wrap; margin:1rem 0; }
.mk-rating-stars{ display:flex; gap:.2rem; }
.mk-star{
	background:none; border:none; font-size:1.4rem; line-height:1; color:var(--mk-border); cursor:pointer; padding:0;
	transition:color .1s ease, transform .1s ease;
}
.mk-star:hover, .mk-star:focus-visible{ transform:scale(1.15); }
.mk-star.mk-star--active, .mk-star.mk-star--hover{ color:var(--mk-mustard); }
.mk-rating-summary{ font-size:.9rem; color:var(--mk-ink-soft); }
.mk-rating-thanks{ font-size:.9rem; color:var(--mk-success); font-weight:600; }

/* ---------- FAQ accordion ---------- */
.mk-faq-accordion .accordion-item{ border:1px solid var(--mk-border); border-radius:var(--mk-radius) !important; margin-bottom:.75rem; overflow:hidden; }
.mk-faq-accordion .accordion-button{ font-weight:700; color:var(--mk-maroon-dark); background:var(--mk-white); }
.mk-faq-accordion .accordion-button:not(.collapsed){ background:var(--mk-cream-dark); color:var(--mk-maroon-dark); box-shadow:none; }
.mk-faq-accordion .accordion-button:focus{ box-shadow:0 0 0 3px rgba(138,45,59,.25); }

/* ---------- Testimonials ---------- */
.mk-testimonial{ background:var(--mk-white); border-radius:var(--mk-radius); border:1px solid var(--mk-border); padding:1.5rem; height:100%; box-shadow:var(--mk-shadow); }
.mk-testimonial-quote{ font-family:var(--mk-font-display); font-style:italic; color:var(--mk-ink); }
.mk-testimonial-author{ display:flex; align-items:center; gap:.75rem; margin-top:1rem; }
.mk-testimonial-avatar{
	width:44px; height:44px; border-radius:50%; background:var(--mk-maroon); color:#fff; display:flex;
	align-items:center; justify-content:center; font-weight:700; flex-shrink:0;
}

/* ---------- CTA band ---------- */
.mk-cta-band{ background:var(--mk-teal); color:#fff; border-radius:var(--mk-radius-lg); padding:3rem; text-align:center; }
.mk-cta-band h2{ color:#fff; }
.mk-cta-band p{ color:#DCEFEC; max-width:640px; margin-inline:auto; }

/* ---------- Newsletter footer band ---------- */
.mk-footer-newsletter{ background:var(--mk-maroon-dark); color:#fff; padding:2.5rem 0; }
.mk-footer-newsletter-title{ color:#fff; font-size:1.5rem; margin-bottom:.5rem; }
.mk-footer-newsletter-text{ color:#EBD9C4; }
.mk-newsletter-form{ display:flex; flex-wrap:wrap; gap:.5rem; }
.mk-newsletter-form input{ flex:1 1 220px; border-radius:999px; border:none; padding:.65rem 1.1rem; }
.mk-newsletter-form .mk-btn-accent{ flex:0 0 auto; }
.mk-form-note{ width:100%; font-size:.78rem; color:#D9C2A6; margin:.4rem 0 0; }
.mk-form-note a{ color:#F3E4CB; text-decoration:underline; }

/* ---------- Footer ---------- */
.mk-site-footer{ background:var(--mk-ink); color:#E7DCC8; }
.mk-footer-main{ padding:3rem 0; }
.mk-footer-brand .mk-brand-text{ color:#fff; }
.mk-footer-about{ color:#C9BBA9; font-size:.92rem; max-width:320px; }
.mk-footer-heading{ color:#fff; font-size:1rem; margin-bottom:1rem; font-family:var(--mk-font-body); font-weight:700; }
.mk-footer-links{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:.55rem; }
.mk-footer-links a{ color:#C9BBA9; font-size:.92rem; }
.mk-footer-links a:hover{ color:#fff; }
.mk-social-links{ display:flex; gap:.6rem; margin-top:1rem; }
.mk-social-links a{
	width:36px; height:36px; border-radius:50%; border:1px solid #4B4038; color:#E7DCC8; display:flex;
	align-items:center; justify-content:center; font-size:.75rem; font-weight:700;
}
.mk-social-links a:hover{ background:var(--mk-saffron); color:#231007; border-color:var(--mk-saffron); }
.mk-footer-bottom{ background:#1C1512; padding:1rem 0; font-size:.85rem; color:#A6988A; }
.mk-footer-bottom a{ color:#D9C2A6; }
.mk-footer-disclaimer{ text-align:right; }

.mk-back-to-top{
	position:fixed; bottom:1.5rem; right:1.5rem; width:44px; height:44px; border-radius:50%; background:var(--mk-maroon);
	color:#fff; display:flex; align-items:center; justify-content:center; font-size:1.2rem; box-shadow:var(--mk-shadow);
	opacity:0; visibility:hidden; transition:opacity .2s ease; z-index:1040;
}
.mk-back-to-top.mk-visible{ opacity:1; visibility:visible; }

/* ---------- Utility ---------- */
.mk-badge{
	display:inline-flex; align-items:center; gap:.35rem; background:var(--mk-cream-dark); color:var(--mk-maroon-dark);
	border-radius:999px; padding:.3rem .8rem; font-size:.78rem; font-weight:700;
}

@media (max-width: 767.98px){
	.mk-footer-disclaimer{ text-align:left; }
	.mk-cta-band{ padding:2rem 1.25rem; }
	.mk-hero{ padding:3rem 0 2.5rem; text-align:center; }
	.mk-hero-actions{ justify-content:center; }
	.mk-hero-stats{ justify-content:center; }
}

@media (prefers-reduced-motion: reduce){
	.mk-card, .mk-star, .mk-back-to-top{ transition:none; }
}
