/*
Theme Name: Vaidik Puja
Author: Vaidik Puja
Description: An ivory and vermilion theme for Hindu ceremonies, pandit profiles and puja enquiries.
Version: 1.35.0
Requires at least: 5.9
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: vaidik-puja
*/
@font-face{font-family:'Spectral';src:url('assets/fonts/Spectral-Medium.ttf') format('truetype');font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:'Hind';src:url('assets/fonts/Hind-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'Hind';src:url('assets/fonts/Hind-SemiBold.ttf') format('truetype');font-style:normal;font-weight:600;font-display:swap}
:root{--paper:#fcf8ef;--ink:#39281f;--rust:#973e20;--line:#ddcdb6;--gold:#e8b465;--serif:'Spectral','Nirmala UI',Georgia,serif;--sans:'Hind','Nirmala UI',system-ui,sans-serif}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.55 var(--sans)}
h1,h2,h3,.brand,.foot strong{font-family:var(--serif);font-weight:500;line-height:1.16;text-wrap:balance}
h1,h2,h3,p{margin:0}
h2{font-size:clamp(38px,4.4vw,64px);letter-spacing:-.025em;margin-bottom:26px}
h3{font-size:clamp(25px,2.4vw,34px);letter-spacing:-.015em;margin:18px 0 10px}
a{color:inherit;text-underline-offset:.25em}
button,input,select,textarea{font:inherit}button{cursor:pointer}
:focus-visible{outline:3px solid #13889a;outline-offset:4px}
[hidden]{display:none!important}
img{max-width:100%;height:auto}
.shell{width:min(1180px,89%);margin-inline:auto}
.sr,.skip:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.skip:focus{position:fixed;top:5px;left:8px;background:white;padding:10px;z-index:50}
.invocation{text-align:center;background:#612617;color:#ffe1aa;font-size:14px;padding:5px 0;letter-spacing:normal;font-family:var(--serif);font-weight:500;line-height:1.65}
.bar,.identity,nav,nav ul,.foot,.enquiry{display:flex;align-items:center;gap:20px}
.bar{justify-content:space-between;min-height:84px;padding-block:14px;flex-wrap:wrap}
.identity{gap:12px}
.vaidik-logo{display:inline-flex;align-items:center;max-width:100%}
.vaidik-logo img{display:block;width:clamp(178px,19vw,220px);height:auto}
.seal,.motif{display:grid;place-items:center;border:1px solid #c68a51;color:var(--rust);border-radius:50%}
.seal{width:43px;height:43px;font:28px var(--serif)}
.brand{font-size:clamp(24px,2.8vw,40px);letter-spacing:-.05em}
.identity a,nav a,.button,.foot a{text-decoration:none}
.custom-logo{display:block;width:auto;max-height:54px}
nav,nav ul{gap:clamp(12px,2.5vw,38px);list-style:none;margin:0;padding:0;font-size:14px;font-weight:600;flex-wrap:wrap}
nav a:hover,.brand:hover,.foot a:hover{text-decoration:underline}
.button{background:var(--rust);color:white;font-weight:600;font-size:14px;display:inline-flex;align-items:center;gap:1.6em;padding:14px 21px;border-radius:4px}
.button:hover{filter:brightness(.9)}
.menu-toggle{background:transparent;color:var(--rust);border:1px solid var(--line);border-radius:4px;padding:8px 16px}
.hero,.slide{position:relative;background:#32231d;color:#fff9ee}
.scene{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:65% center}
.slide:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(28,13,11,.88),rgba(29,14,12,.61) 36%,transparent 79%)}
.slide-copy{position:relative;z-index:1;padding-block:clamp(72px,7vw,116px) 100px;min-height:clamp(450px,38vw,595px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.slide h1{font-size:clamp(58px,6.8vw,104px);letter-spacing:-.035em;max-width:11ch;line-height:1.06}
.slide p{max-width:38ch;color:#f1e5d7;margin:20px 0 26px}
.ivory{background:#f8e8c9;color:#532c1c}
.controls{display:flex;align-items:center;gap:14px;position:absolute;bottom:25px;right:max(5.5%,calc((100% - 1180px)/2));z-index:2;font-size:13px;font-variant-numeric:tabular-nums}
.controls button{border:1px solid #cfbb9d;color:white;background:#2b1c17b8;border-radius:50%;width:40px;height:40px}
.section{padding-block:clamp(48px,5.5vw,85px)}
.grid,.profiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.card{background:#fffdf6;border:1px solid var(--line);border-top:3px solid #bf8655;padding:clamp(22px,2.7vw,39px);display:flex;align-items:flex-start;flex-direction:column}
.card:nth-child(2){border-top-color:#a46145}.card:nth-child(3){border-top-color:#999562}
.motif{width:48px;height:48px;background:#fbedd5;font:30px var(--serif)}
.card p,.intro,.enquiry p,.profiles p{color:#69574b}
.card a,.textlink{color:var(--rust);font-weight:600;margin-top:auto;padding-top:20px}
.card img{width:100%;height:150px;object-fit:cover}
.tinted{background:#efe6d5;border-block:1px solid var(--line)}
.intro,.enquiry p{max-width:57ch}
.profiles article{margin-top:28px}.profiles img{width:104px;height:104px;border-radius:50%;object-fit:cover}
.textlink{display:inline-block}
.enquiry,.foot{justify-content:space-between;flex-wrap:wrap}
.enquiry h2{margin-bottom:12px}
footer{background:#43261d;color:#f5e9d6}
.foot{padding-block:28px;font-size:14px}.foot strong{font-size:25px;margin-right:auto}
.entry{max-width:800px;overflow-wrap:anywhere}.entry h1{font-size:clamp(40px,6vw,75px);margin-bottom:24px}.entry p,.entry article{margin-bottom:1.3em}
.entry input,.entry textarea{max-width:100%;padding:8px}.entry figure{max-width:100%}
@media(max-width:780px){.bar{gap:10px}.header-book{display:none}nav{order:3;width:100%;padding-bottom:8px}.grid,.profiles{grid-template-columns:1fr}.card{padding:24px}.slide-copy{min-height:480px}.slide:after{background:linear-gradient(90deg,#1c100ed9,#1c100e66)}.scene{object-position:70% center}.slide h1{font-size:clamp(52px,11vw,78px)}.foot{gap:14px}}


.booking{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:36px;align-items:start}
.booking h2{margin-bottom:15px}.booking p{max-width:40ch}
.booking-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:clamp(20px,3vw,36px);background:#fffdf6;border:1px solid var(--line)}
.booking-form label{display:grid;gap:6px;font-size:14px;font-weight:600}
.booking-form input,.booking-form select{width:100%;min-width:0;padding:11px;border:1px solid #bba994;border-radius:3px;background:white;color:var(--ink);font:inherit}
.booking-form .full{grid-column:1/-1}.booking-form button{border:0;justify-self:start}
.booking .receipt{grid-column:1/-1;background:#e9f3df;padding:14px 20px;max-width:none}
.booking:has(.receipt) .booking-form{grid-column:1/-1}
@media(max-width:780px){.booking{grid-template-columns:1fr}}
@media(max-width:540px){.booking-form{grid-template-columns:1fr}}
.entry form{margin-block:22px}.entry .booking-form textarea{width:100%;padding:12px;border:1px solid #bba994;border-radius:3px;font:inherit;resize:vertical}
.entry h2{margin-top:1em}.entry button.button{border:0}.map-box,.history-card{padding:20px;border:1px solid var(--line);background:#fffdf6}.map-box summary{cursor:pointer;color:var(--rust);font-weight:600}.map-box iframe{display:block;width:100%;height:340px;margin-top:16px;border:0}.entry .history-card p,.entry .history-card h3{margin:0 0 6px}.journal-post{padding-block:20px;border-bottom:1px solid var(--line)}.foot nav{gap:14px;flex-wrap:wrap}
.account-actions details{border-top:1px solid var(--line);padding:12px 0}
.account-actions summary{color:var(--rust);cursor:pointer;font-weight:600}
.account-actions details[open] summary{margin-bottom:10px}
.account-actions label{display:inline-grid;gap:4px;margin-right:8px}

:is(h1,h2,h3,.brand):is(:lang(hi),:lang(sa)){letter-spacing:normal;line-height:1.35}

.card .service-book{color:#fff;padding:10px 18px;margin-top:18px;text-decoration:none}.card .service-description{flex:1}.service-description p+p{margin-top:.75em}

.profiles article{padding:24px;background:var(--paper);border:1px solid var(--line)}.profiles small{display:block;color:var(--rust);margin-bottom:8px}

.booking-choice{display:flex;align-items:center;gap:14px}.booking-choice label{flex:1;min-width:0}.booking-art{width:64px;height:64px;flex:none;display:grid;place-items:center;overflow:hidden;border:1px solid var(--line);border-radius:50%;background:#fbedd5;color:var(--rust);font:32px var(--serif)}.booking-art:empty{display:none}.booking-art img{display:block;width:100%;height:100%;object-fit:cover}

.booking-diya{display:block;width:60px;height:60px;margin:0 0 14px}

.vaidik-music{display:flex;align-items:center;justify-content:center;gap:12px;padding:6px 12px;background:#fcf8ef;color:#612617}.vaidik-music audio{width:210px;max-width:65vw;height:34px}

#jyotish-form{max-width:760px}#jyotish-form [hidden]{display:none}#jyotish-result table{width:100%;border-collapse:collapse;margin-bottom:1rem}#jyotish-result td,#jyotish-result th{padding:.5em;border-bottom:1px solid var(--line);text-align:left}#jyotish-result{overflow-x:auto}

.kundali-wheel{display:grid;grid-template:repeat(4,minmax(52px,auto))/repeat(4,minmax(0,1fr));max-width:580px;background:#fcf8ef;border:1px solid #ccb795}.kundali-wheel>div{padding:5px;border:1px solid #ccb795;display:flex;flex-direction:column;font-size:clamp(.7rem,2vw,.95rem)}.kundali-center{grid-area:2/2/4/4;align-self:center;text-align:center;color:#80381f}

@font-face{font-family:KundaliDeva;src:url("assets/noto-devanagari.ttf") format("truetype");font-weight:100 900;font-display:swap}#jyotish-result[lang="hi"],#jyotish-result[lang="hi"] :is(h2,h3,button,select,th,td,strong){font-family:KundaliDeva,sans-serif}#jyotish-result>label{display:inline-block;margin:.5rem 1rem .75rem 0}

#vaidik-login{max-width:30rem;padding:1.25rem;background:var(--paper);border:1px solid var(--line)}#vaidik-login .input{display:block;width:100%;margin-top:.35rem;padding:.65rem;font:inherit}#vaidik-login label{font-weight:600}

.journal-list .journal-post{display:flex;align-items:flex-start;gap:1.5rem;padding:1.5rem 0;border-top:1px solid var(--line);margin:0}.journal-photo{width:36%;aspect-ratio:4/3;height:auto;object-fit:cover}.journal-post h2{margin:.3em 0;font-size:clamp(1.5rem,3vw,2.2rem)}.journal-post h2 a{color:inherit}.journal-post small{color:var(--rust)}@media(max-width:600px){.journal-list .journal-post{flex-direction:column;gap:.75rem}.journal-photo{width:100%}}
