.puja-page{--soft:var(--gold-soft);--green:#42613d;--hindi:var(--sans);padding-bottom:3rem;max-width:1000px}
.puja-page .breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem .55rem;margin-bottom:1.2rem;color:var(--muted);font-size:.86rem}
.puja-page .breadcrumb a{color:var(--accent);text-decoration:none}
.puja-page .page-heading{max-width:850px;margin-bottom:1.6rem}
.puja-page .page-heading h1,.puja-page h2{display:flex;align-items:center;gap:.7rem}
.puja-page .title-icon{color:#936009;display:inline-flex;flex-shrink:0}
.puja-page .title-icon svg{width:1.7rem;height:1.7rem;transition:transform .2s}
.puja-form-section:hover>h2 .title-icon svg{transform:rotate(-7deg)}
.puja-panel{min-width:0;padding:1.6rem;border:1px solid #dfd5bd;border-radius:14px;background:#fffdfa;margin:1.25rem 0}
.puja-main-panel{border-top:3px solid #e8b447;box-shadow:0 3px 0 #ece5d6}
.puja-page fieldset#puja-controls{border:0;padding:0;margin:0;min-width:0}
.puja-form-section+.puja-form-section{border-top:1px solid #e7dfcd;margin-top:1.55rem;padding-top:1.55rem}
.puja-panel h2{font-size:1.25rem;margin:0 0 1.1rem}
.puja-fields,.puja-person-basics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem 1.3rem}
.puja-schedule{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:1.3rem;margin-top:1.3rem;align-items:end}
.puja-preferred-time{border:0;margin:0;padding:0;min-width:0}
.puja-date-field>label,.puja-preferred-time>legend{display:flex;align-items:center;gap:.5rem;font-weight:600;padding:0;margin:0 0 .55rem}
.puja-schedule .title-icon svg{width:1.2rem;height:1.2rem}
.puja-date-field>input{width:100%;min-width:0;min-height:52px}
.puja-time-range{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.5rem;min-height:52px;padding:0 .75rem;border:1px solid #b7ad96;border-radius:6px;background:#fff}
.puja-time-range .field{display:flex;align-items:center;gap:.35rem;min-width:0}
.puja-time-range label{margin:0;font-size:.9rem;font-weight:400;color:#656555;flex:none}
.puja-time-range input{width:100%;min-width:0;margin:0;padding:.4rem .2rem;border:0;background:transparent;font-size:1rem}
.puja-time-separator{color:#936009}
.puja-fields .full{grid-column:1/-1}
.puja-page .field,.puja-page .birth-group{min-width:0}
.puja-fields input,.puja-fields select,.puja-person-basics input,.puja-person-basics select,.puja-page textarea{width:100%;min-width:0;max-width:100%}
.puja-page input[type="checkbox"]{width:1rem;min-width:1rem;flex:none}
.puja-page input[type="date"],.puja-page input[type="time"]{min-height:44px}
.puja-page .field-help{font-size:.9rem;line-height:1.5}
.puja-page .field-help:empty{display:none}
.puja-venue-field .place-combobox{position:relative}
.puja-venue-field .place-search-icon{pointer-events:none}
.puja-venue-field #venue-search{padding-left:2.45rem}
.puja-page .geo-country-field{min-width:0}
.puja-page .geo-country-field select{min-width:0;max-width:100%}
.puja-venue-field:has(.geo-country-field){display:grid;grid-template-columns:minmax(95px,.8fr) minmax(0,1.6fr);column-gap:.75rem;align-content:start}
.puja-venue-field:has(.geo-country-field)>label{grid-column:2;grid-row:1}
.puja-venue-field .geo-country-field{display:flex;flex-direction:column;align-items:stretch;grid-column:1;grid-row:1/3;gap:.45rem;margin:0}
.puja-venue-field .geo-country-field label{font-size:.9rem;line-height:1.5}
.puja-venue-field .geo-country-field select{width:100%;min-height:46px;flex:none}
.puja-venue-field:has(.geo-country-field)>.place-combobox{grid-column:2;grid-row:2}
.puja-venue-field>:not(label,.geo-country-field,.place-combobox){grid-column:1/-1}
.puja-custom-venue{margin-top:.5rem}
.puja-custom-venue summary{cursor:pointer;color:#80510a;font-size:.92rem;padding:.4rem 0}
.puja-custom-venue .check-row{margin:1rem 0}
.puja-coordinate-fields{gap:.8rem}
.puja-page .puja-zone-note{margin:.6rem 0 0;color:#656555;overflow-wrap:anywhere}
.puja-page .puja-section-help{margin:-.35rem 0 1rem}
.puja-member{min-width:0;padding:1.15rem 0 1.3rem}
.puja-member+.puja-member{border-top:1px solid #e7dfcd;margin-top:.45rem}
.puja-member:first-child{padding-top:0}
.puja-member-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.puja-member h3{margin:0;font-size:1.05rem}
.puja-person-role{grid-column:1/-1;border:0;padding:0;margin:0;min-width:0}
.puja-person-role legend{font-weight:600;margin-bottom:.65rem;padding:0}
.puja-role-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}
.puja-role-options label{display:flex;align-items:center;gap:.65rem;min-height:48px;height:100%;margin:0;padding:.8rem;border:1px solid #d5cbb5;border-radius:8px;font-size:.94rem;font-weight:400;line-height:1.45;cursor:pointer}
.puja-role-options label:has(input:checked){background:#fff3c9;border-color:#ad790d}
.puja-role-options label:has(input:focus-visible){outline:2px solid #80510a;outline-offset:3px}
.puja-person-role input[type="radio"]{width:1rem;min-width:1rem;height:1rem;margin:0;flex:none;accent-color:#936009}
.puja-birth-toggle{margin:1.1rem 0}
.puja-page .puja-birth-help{margin:-.6rem 0 1.1rem}
.puja-page .puja-availability-help{margin:.75rem 0 0}
.puja-member .birth-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem 1.3rem}
.puja-member:not(.has-birth-details) .time-control,.puja-member:not(.has-birth-details) .place-control{display:none}
.puja-member .place-control,.puja-member .birth-form-grid>.full{grid-column:1/-1}
.puja-member .input-row{display:grid;grid-template-columns:1fr 1.5fr 1.1fr;gap:.6rem}
.puja-member .custom-place-option{margin-top:.7rem}
.puja-page .puja-notes-section{padding-top:1.15rem;margin-top:.5rem}
.puja-submit{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.3rem;margin-top:1.4rem}
.puja-submit .form-privacy{flex-basis:100%;font-size:.88rem;margin:0}
.puja-service-note{padding:.15rem .2rem;max-width:900px;color:#626451}
.puja-service-note p{font-size:.94rem;line-height:1.6;margin:.7rem 0}
.puja-service-note .small{font-size:.85rem}
.puja-results,.puja-message{scroll-margin-top:6rem}
.puja-results{border-left:4px solid #d9a330}
.puja-result-summary{font-size:1.1rem;font-weight:600;line-height:1.65;max-width:800px}
.puja-result-context{color:#656555;line-height:1.6;white-space:pre-line;overflow-wrap:anywhere}
.puja-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1rem 1.3rem;margin-top:1.2rem}
.puja-contact-links{display:flex;flex-wrap:wrap;gap:.7rem 1.4rem;margin-top:1.3rem;font-size:.92rem}
.puja-page pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;line-height:1.6;background:#f7f4eb;padding:1rem;border-radius:8px;max-width:100%}
.puja-message pre{max-height:24rem;overflow:auto}
.puja-message .small{color:#656555;margin-bottom:0}
.puja-page #puja-copy-fallback{width:100%}
.puja-method-link{font-size:.9rem;margin-top:1.4rem}
.puja-page [hidden]{display:none!important}
@media(max-width:760px){
  .puja-page .page-heading{margin-bottom:1.2rem}
  .puja-page .page-heading h1{font-size:1.8rem}
  .puja-panel{padding:1.15rem}
  .puja-ceremony-fields,.puja-person-basics,.puja-member .birth-form-grid{grid-template-columns:1fr}
  .puja-role-options{grid-template-columns:1fr}
  .puja-schedule{grid-template-columns:1fr;gap:1rem}
  .puja-member-heading{align-items:flex-start}
  .puja-form-section+.puja-form-section{margin-top:1.3rem;padding-top:1.3rem}
  .puja-contact-links a{display:inline-flex;align-items:center;min-height:44px}
}
@media(max-width:380px){
  .puja-panel{padding:1rem}
  .puja-coordinate-fields{grid-template-columns:1fr}
  .puja-page .geo-country-field{display:flex;flex-direction:column;align-items:stretch}
  .puja-submit>.button,.puja-actions>.button{width:100%;justify-content:center}
}
@media(max-width:600px){
  .puja-time-range{grid-template-columns:1fr;gap:0}
  .puja-time-range .field{gap:.75rem}
  .puja-time-range .field+.field,.puja-time-range .field:last-child{border-top:1px solid #e7dfcd}
  .puja-time-range label{min-width:2.6rem}
  .puja-time-range input{flex:1;min-height:48px}
  .puja-time-separator{display:none}
}
@media(prefers-reduced-motion:reduce){.puja-page .title-icon svg{transition:none;transform:none!important}}
@media print{#puja-form,.puja-service-note,.puja-actions,.puja-contact-links,.puja-method-link,.site-header,.site-footer{display:none!important}.puja-panel{border:1px solid #aaa;box-shadow:none;break-inside:avoid}}
