/* ==========================================================================
   Jothi · ஜோதி — public site (home, create horoscope, contact, my report)
   "Celestial Ivory" theme. Drop-in replacement for assets/public.css.
   Works on top of either the original or the new assets/style.css.
   ========================================================================== */

.public-site{
  --p-ink:#1c1a33;--p-muted:#6d6982;--p-accent:#4a3da3;--p-violet:#7b61ff;
  --p-gold:#c29a4b;--p-gold-2:#e7c77f;--p-gold-soft:#f6ecd6;
  --p-bg:#faf7f1;--p-line:#ebe4d7;--p-night:#0f0c25;--p-night-2:#241d55;
  --p-serif:'Fraunces',Georgia,JothiTamil,serif;
  --p-sans:'Plus Jakarta Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',JothiTamil,sans-serif;
  --p-stars:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='320' height='260'%3E%3Cg fill='%23fff'%3E%3Ccircle cx='20' cy='30' r='.8'/%3E%3Ccircle cx='110' cy='80' r='.6' opacity='.7'/%3E%3Ccircle cx='250' cy='140' r='.8' opacity='.6'/%3E%3Ccircle cx='70' cy='190' r='1'/%3E%3Ccircle cx='300' cy='230' r='1' opacity='.8'/%3E%3Ccircle cx='160' cy='240' r='.5' opacity='.6'/%3E%3Ccircle cx='210' cy='60' r='.5' opacity='.5'/%3E%3Ccircle cx='290' cy='20' r='.6' opacity='.7'/%3E%3C/g%3E%3Ccircle cx='180' cy='24' r='1.2' fill='%23f5dfa8'/%3E%3Ccircle cx='36' cy='120' r='1' fill='%23f5dfa8' opacity='.7'/%3E%3C/svg%3E");
  margin:0;background:var(--p-bg);color:var(--p-ink);font:15px/1.7 var(--p-sans);-webkit-font-smoothing:antialiased;overflow-x:hidden
}
html:has(.public-site){overflow-x:hidden;scroll-behavior:smooth}
.public-site ::selection{background:#e4dbff}
.public-site p{color:var(--p-muted)}
.public-site a{text-decoration:none;transition:color .2s,opacity .2s}

/* ---------- Shared bits (override either style.css) ---------- */
.public-site .eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:11px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--p-gold);margin-bottom:14px}
.public-site .eyebrow:before{content:'✦';font-size:12px;letter-spacing:0}
.public-site .btn,.public-site button{border:0;border-radius:999px;padding:13px 26px;font-weight:600;font-size:14px;color:#fff;display:inline-flex;align-items:center;gap:10px;position:relative;overflow:hidden;cursor:pointer;
  background:linear-gradient(135deg,var(--p-violet),var(--p-accent) 55%,#2e2477);box-shadow:0 1px 0 rgba(255,255,255,.25) inset,0 10px 24px -10px rgba(74,61,163,.7);transition:transform .25s,box-shadow .25s}
.public-site .btn:after,.public-site button:after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);transform:translateX(-120%);transition:transform .8s}
.public-site .btn:hover,.public-site button:hover{transform:translateY(-2px);box-shadow:0 1px 0 rgba(255,255,255,.25) inset,0 18px 34px -12px rgba(74,61,163,.75)}
.public-site .btn:hover:after,.public-site button:hover:after{transform:translateX(120%)}
.public-site .btn.secondary{background:linear-gradient(135deg,#fff4d6,var(--p-gold-2) 55%,var(--p-gold));color:#2a1f05;border:0;box-shadow:0 12px 30px -12px rgba(194,154,75,.8)}
.public-site .card{background:#fff;border:1px solid var(--p-line);border-radius:22px;box-shadow:0 1px 2px rgba(28,26,51,.03),0 10px 30px -18px rgba(40,30,90,.18)}
.public-site input,.public-site select,.public-site textarea{border-radius:12px;border:1px solid #e2dbcd;padding:12px 14px;background:#fff;transition:border-color .2s,box-shadow .2s}
.public-site input:focus,.public-site select:focus,.public-site textarea:focus{outline:none;border-color:var(--p-violet);box-shadow:0 0 0 4px rgba(123,97,255,.15)}
.public-site h1,.public-site h2{font-family:var(--p-serif);font-weight:400}

/* ---------- Header (on the night sky) ---------- */
.public-header{max-width:1260px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 32px;position:relative;z-index:5;color:#fff;border-bottom:1px solid rgba(255,255,255,.08)}
.public-header:before{content:'';position:absolute;z-index:-1;top:0;bottom:-1px;left:50%;width:100vw;transform:translateX(-50%);
  background:var(--p-stars),var(--p-night)}
.public-brand{color:inherit}
.public-brand .brand{margin:0;padding:0;display:flex;align-items:center;gap:13px}
.public-site .brand-mark{width:46px;height:46px;border-radius:50%;color:#2a1f05;font-size:26px;display:grid;place-items:center;
  background:radial-gradient(circle at 30% 25%,#fff4d6,var(--p-gold-2) 45%,var(--p-gold));box-shadow:0 0 0 1px rgba(255,255,255,.35) inset,0 0 30px rgba(231,199,127,.5);animation:pGlow 5s ease-in-out infinite}
@keyframes pGlow{50%{box-shadow:0 0 0 1px rgba(255,255,255,.35) inset,0 0 46px rgba(231,199,127,.8)}}
.public-header .brand strong{font-family:var(--p-serif);font-weight:500;font-size:30px;color:#fff;letter-spacing:-.5px;line-height:1}
.public-header .brand small{color:var(--p-gold-2);letter-spacing:3px;font-size:9px;margin-top:7px;display:block}
.public-header nav{display:flex;align-items:center;gap:6px;font-size:14px;flex-wrap:wrap}
.public-header nav>a{color:#cfcae8;padding:8px 14px;border-radius:999px;font-weight:500}
.public-header nav>a:hover{color:#fff;background:rgba(255,255,255,.08)}
.public-header nav>a:first-child{color:#2a1f05;background:linear-gradient(135deg,#fff4d6,var(--p-gold-2));font-weight:600;margin-right:6px;order:9}
.public-header nav>a:first-child:hover{background:linear-gradient(135deg,#fff,var(--p-gold-2))}
.public-header .lang{order:10;margin-left:8px;display:flex;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:3px}
.public-header .lang a{color:#bdb8da;padding:4px 12px;border-radius:999px;font-size:11px}
.public-header .lang a.active{background:#fff;color:var(--p-accent);font-weight:600;box-shadow:none}

/* ---------- Hero ---------- */
.public-main{max-width:1200px;margin:auto;padding:0 32px}
.public-hero{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:50px;min-height:600px;padding:80px 0 120px;position:relative;color:#fff;isolation:isolate}
.public-hero:before{content:'';position:absolute;z-index:-2;top:0;bottom:0;left:50%;width:100vw;transform:translateX(-50%);
  background:var(--p-stars),radial-gradient(600px 500px at 78% 45%,rgba(123,97,255,.45),transparent 65%),radial-gradient(500px 400px at 5% 100%,rgba(194,154,75,.22),transparent 70%),linear-gradient(180deg,var(--p-night) 0%,#1b1543 70%,#2a2160 100%)}
.public-hero:after{content:'';position:absolute;z-index:-1;bottom:-1px;left:50%;width:100vw;height:90px;transform:translateX(-50%);background:var(--p-bg);clip-path:ellipse(75% 100% at 50% 100%)}
.public-hero>div:first-child{animation:pRise .8s ease both}
.public-hero .eyebrow{color:var(--p-gold-2)}
.public-hero h1{font-size:clamp(42px,5.4vw,74px);line-height:1.04;letter-spacing:-2.2px;margin:18px 0 26px;font-weight:300;
  background:linear-gradient(100deg,#fff 35%,#f3dfae 65%,var(--p-gold-2));-webkit-background-clip:text;background-clip:text;color:transparent}
.public-lead{font-size:18px;line-height:1.8;max-width:620px;color:var(--p-muted)}
.public-hero .public-lead{color:#c9c4e4!important}
.public-hero .btn{margin-top:18px;padding:17px 30px;font-size:15px;background:linear-gradient(135deg,#fff4d6,var(--p-gold-2) 55%,var(--p-gold));color:#2a1f05;box-shadow:0 0 0 6px rgba(231,199,127,.12),0 18px 40px -12px rgba(231,199,127,.6)}
.public-hero .btn:hover{box-shadow:0 0 0 9px rgba(231,199,127,.16),0 22px 44px -12px rgba(231,199,127,.7)}
.public-small{font-size:12.5px;color:#9d97c4!important;margin-top:22px;letter-spacing:.3px}

.public-visual{position:relative;min-height:460px;aspect-ratio:1;max-width:520px;width:100%;justify-self:center;display:grid;place-items:center;border-radius:50%;
  background:radial-gradient(circle,rgba(123,97,255,.35) 0,rgba(123,97,255,.08) 45%,transparent 70%);animation:pRise 1s .15s ease both}
.public-visual:before{content:'';position:absolute;inset:4%;border-radius:50%;border:1px dashed rgba(231,199,127,.25);animation:pSpin 160s linear infinite reverse}
.public-visual:after{content:'';position:absolute;inset:0;border-radius:50%;pointer-events:none;background:radial-gradient(circle at 50% 4%,#fff4d6 0 4px,rgba(231,199,127,.7) 5px,rgba(231,199,127,0) 16px);animation:pSpin 24s linear infinite}
.public-visual .celestial{position:absolute;inset:0;width:100%;height:100%;opacity:1;right:auto;top:auto;animation:pSpin 120s linear infinite;filter:drop-shadow(0 0 10px rgba(231,199,127,.35))}
.public-visual .celestial g{stroke:var(--p-gold-2);stroke-width:.6;opacity:.85}
.public-visual .celestial circle[fill]{fill:var(--p-gold-2)}
.orbit-caption{position:relative;z-index:2;width:220px;height:220px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:26px;
  background:radial-gradient(circle at 50% 30%,rgba(70,55,160,.95),rgba(20,16,50,.96));border:1px solid rgba(231,199,127,.35);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 20px 60px -20px rgba(0,0,0,.6)}
.orbit-caption span{display:block;font-size:32px;color:var(--p-gold-2);line-height:1;animation:pSpin 30s linear infinite}
.orbit-caption strong{display:block;font-family:var(--p-serif);font-weight:400;font-style:italic;font-size:22px;line-height:1.25;color:#fff;margin-top:10px}
.orbit-caption small{display:block;font-size:9.5px;letter-spacing:1.8px;text-transform:uppercase;margin-top:12px;color:var(--p-gold-2)}

@keyframes pSpin{to{transform:rotate(360deg)}}
@keyframes pOrbit{from{transform:rotate(0)}to{transform:rotate(360deg)}}
@keyframes pRise{from{opacity:0;transform:translateY(16px)}}

/* ---------- Highlight strip ---------- */
.public-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:-40px auto 0;position:relative;z-index:3;max-width:1000px;padding:8px;
  background:#fff;border:1px solid var(--p-line);border-radius:22px;box-shadow:0 24px 50px -24px rgba(28,20,70,.3);border-block:1px solid var(--p-line)}
.public-strip span{display:flex;flex-direction:column;align-items:center;gap:6px;padding:18px 10px;text-align:center;font-size:13px;font-weight:600;color:var(--p-ink);position:relative}
.public-strip span:before{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-size:16px;color:var(--p-gold);background:var(--p-gold-soft)}
.public-strip span:nth-child(1):before{content:'✦'}
.public-strip span:nth-child(2):before{content:'◷'}
.public-strip span:nth-child(3):before{content:'❖'}
.public-strip span:nth-child(4):before{content:'அ';font-size:15px}
.public-strip span+span:after{content:'';position:absolute;left:0;top:25%;bottom:25%;width:1px;background:var(--p-line)}

/* ---------- Features ---------- */
.public-section{padding:110px 0 80px;text-align:center}
.public-section h2,.public-bottom h2{font-family:var(--p-serif);font-weight:400;letter-spacing:-1px;line-height:1.2}
.public-section h2{font-size:clamp(32px,3.6vw,46px);max-width:640px;margin:0 auto}
.public-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:50px;text-align:left;counter-reset:feat}
.public-feature-grid .card{padding:34px 30px 30px;margin:0;position:relative;overflow:hidden;counter-increment:feat;transition:transform .35s cubic-bezier(.2,.7,.3,1),box-shadow .35s,border-color .35s}
.public-feature-grid .card:before{content:counter(feat,decimal-leading-zero);position:absolute;right:22px;top:14px;font-family:var(--p-serif);font-size:54px;font-weight:300;color:#f1ebdf;line-height:1;transition:color .35s}
.public-feature-grid .card:after{content:'';position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--p-violet),var(--p-gold-2));transform:scaleX(0);transform-origin:left;transition:transform .45s}
.public-feature-grid .card:hover{transform:translateY(-6px);border-color:#e0d4bb;box-shadow:0 30px 60px -30px rgba(40,30,90,.35)}
.public-feature-grid .card:hover:after{transform:scaleX(1)}
.public-feature-grid .card:hover:before{color:var(--p-gold-soft)}
.feature-symbol{position:relative;display:grid;place-items:center;width:58px;height:58px;border-radius:18px;font-size:26px;color:var(--p-gold-2);margin-bottom:22px;
  background:var(--p-stars),linear-gradient(135deg,var(--p-night-2),var(--p-night));box-shadow:0 12px 24px -12px rgba(15,12,37,.7)}
.public-feature-grid h3{font-family:var(--p-serif);font-size:23px;font-weight:500;margin:0 0 10px;letter-spacing:-.3px}
.public-feature-grid p{font-size:14.5px;line-height:1.8;color:var(--p-muted);margin:0}

/* ---------- Call to action banner ---------- */
.public-bottom{display:flex;align-items:center;justify-content:space-between;gap:30px;margin:10px 0 40px;padding:48px 56px;border-radius:28px;position:relative;overflow:hidden;isolation:isolate;color:#fff;
  background:var(--p-stars),radial-gradient(500px 300px at 90% 50%,rgba(231,199,127,.3),transparent 70%),radial-gradient(500px 300px at 0 0,rgba(123,97,255,.4),transparent 70%),linear-gradient(135deg,var(--p-night-2),var(--p-night));
  box-shadow:0 30px 60px -30px rgba(15,12,37,.6)}
.public-bottom:before{content:'';position:absolute;z-index:-1;right:-80px;top:50%;width:320px;height:320px;margin-top:-160px;border-radius:50%;border:1px solid rgba(231,199,127,.25);box-shadow:0 0 0 40px rgba(231,199,127,.04),0 0 0 41px rgba(231,199,127,.15)}
.public-bottom h2{font-size:clamp(26px,3vw,36px);margin:0 0 8px;color:#fff}
.public-bottom p{color:#c9c4e4!important;margin:0}
.public-bottom .btn{flex:none;padding:16px 30px}

/* ---------- Pricing / offer ---------- */
.public-offer{display:grid;grid-template-columns:1.6fr 1fr;gap:0;margin:40px 0 90px;padding:0!important;overflow:hidden;border:1px solid transparent!important;
  background:linear-gradient(#fff,#fff) padding-box,linear-gradient(135deg,var(--p-gold-2),#e9e2f7 40%,var(--p-violet)) border-box!important}
.public-offer>div{padding:44px 46px}
.public-offer h2{font-size:clamp(28px,3vw,38px);margin:0 0 14px;letter-spacing:-.8px}
.public-offer>div:first-child p{font-size:15px;line-height:1.85}
.public-offer .hint{font-size:12px;margin-top:18px;padding:12px 14px;background:#faf7f1;border-radius:12px;color:#8b8699}
.public-offer>div:last-child{display:flex;flex-direction:column;justify-content:center;text-align:center;
  background:radial-gradient(circle at 50% 0,var(--p-gold-soft),transparent 70%),#fdfaf3;border-left:1px dashed #e5d8bd}
.price{font-family:var(--p-serif);font-size:34px;font-weight:400;line-height:1.2;color:var(--p-ink);display:block;margin:0 0 12px;letter-spacing:-.5px}
.public-offer>div:last-child p{font-size:13px;margin:4px 0}
.public-offer>div:last-child p:last-child{margin-top:16px;padding-top:16px;border-top:1px solid #efe5cf;font-size:12.5px}

/* ---------- Footer ---------- */
.public-footer{max-width:none;margin:0;padding:56px max(32px,calc(50% - 600px)) 40px;color:#9d97c4;font-size:12.5px;line-height:1.8;display:grid;grid-template-columns:1fr 2fr auto;gap:30px;align-items:center;
  background:var(--p-stars),linear-gradient(180deg,var(--p-night-2),var(--p-night));border-top:1px solid rgba(231,199,127,.25)}
.public-footer strong{font-family:var(--p-serif);font-size:22px;font-weight:400;color:#fff}
.public-footer p{color:#9d97c4!important;margin:0;font-size:12px}
.public-footer .row{display:flex;gap:18px;flex-wrap:wrap;justify-content:flex-end}
.public-footer a{color:#d7d2ef}
.public-footer a:hover{color:var(--p-gold-2)}

/* ---------- Inner public pages (form, contact, report) ---------- */
.public-section-title{padding:60px 0 32px;max-width:860px}
.public-section-title h1{font-family:var(--p-serif);font-size:clamp(34px,4vw,50px);font-weight:400;line-height:1.15;letter-spacing:-1.2px}
.public-section-title>p{color:var(--p-muted);font-size:16px}
.public-form-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:32px;align-items:start;margin-bottom:80px}
.public-form-layout>.card{padding:36px}
.public-form-aside{position:sticky;top:24px;color:#fff;border:0!important;background:var(--p-stars),radial-gradient(300px 200px at 100% 0,rgba(123,97,255,.4),transparent 70%),linear-gradient(160deg,var(--p-night-2),var(--p-night))!important}
.public-form-aside h2,.public-form-aside h3,.public-form-aside strong{color:#fff}
.public-form-aside p{color:#c9c4e4!important;font-size:14px;line-height:1.9}
.public-consent{display:flex;gap:12px;margin:24px 0;font-size:13px;line-height:1.7;align-items:flex-start;padding:14px 16px;background:#faf7f1;border-radius:14px}
.public-consent input{width:18px;flex:0 0 18px;margin-top:4px;accent-color:var(--p-accent)}
.public-options summary{cursor:pointer;padding:16px 0;font-weight:600;color:var(--p-accent)}
.public-options .form-grid{margin-top:16px}
.public-reading{max-width:850px;margin:50px auto 80px;line-height:1.9}
.public-reading form>label{margin-top:18px}
.public-reading form>button{margin-top:18px}
.public-reading>form{margin:20px 0}
.public-reading details{margin:20px 0}
.access-code{margin:24px 0;padding:20px;background:linear-gradient(135deg,var(--p-gold-soft),#fbf7ee);border:1px dashed var(--p-gold);border-radius:16px}
.access-code code{display:block;overflow-wrap:anywhere;margin-top:12px;font-size:16px;font-weight:600;letter-spacing:1px;color:var(--p-accent)}
.public-site .tabs{margin-top:0}
.public-site .report-notes{white-space:pre-wrap}
.public-site .stats{margin-top:28px}
.public-site .card{overflow-wrap:anywhere;min-width:0}
.public-site .row{flex-wrap:wrap}

/* ---------- Tamil ---------- */
html[lang=ta] .public-hero h1{font-family:inherit;font-size:clamp(32px,4vw,52px);letter-spacing:0;line-height:1.5;font-weight:600}
html[lang=ta] .public-section h2,html[lang=ta] .public-section-title h1,html[lang=ta] .public-bottom h2,html[lang=ta] .public-offer h2,html[lang=ta] .orbit-caption strong,html[lang=ta] .public-feature-grid h3{font-family:inherit;line-height:1.55;letter-spacing:0;font-style:normal}

/* ---------- Responsive ---------- */
@media(max-width:1000px){
  .public-header nav>a:not(:first-child){padding:8px 10px}
  .public-hero{gap:20px;min-height:auto}
  .public-visual{min-height:0}
  .public-visual:after{display:none}
  .public-feature-grid{gap:14px}
  .public-form-layout{grid-template-columns:1fr}
  .public-form-aside{display:none}
}
@media(max-width:760px){
  .public-header{flex-wrap:wrap;padding:16px 20px}
  .public-header .brand strong{font-size:26px}
  .public-site .brand-mark{width:40px;height:40px;font-size:22px}
  .public-header nav{width:100%;gap:4px;font-size:13px;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none;padding-bottom:2px}
  .public-header nav::-webkit-scrollbar{display:none}
  .public-header nav>a{white-space:nowrap;padding:7px 11px}
  .public-header nav>a:first-child{order:0}
  .public-header .lang{order:0;margin-left:auto}
  .public-main{padding:0 20px}
  .public-hero{grid-template-columns:1fr;padding:44px 0 100px;text-align:left}
  .public-hero h1{letter-spacing:-1.2px}
  .public-lead{font-size:16px}
  .public-visual{max-width:320px;order:-1;margin:0 auto -10px}
  .orbit-caption{width:160px;height:160px;padding:16px}
  .orbit-caption strong{font-size:17px}
  .orbit-caption span{font-size:24px}
  .public-strip{grid-template-columns:1fr 1fr;margin-top:-50px}
  .public-strip span:nth-child(3):after{display:none}
  .public-strip span:nth-child(n+3){border-top:1px solid var(--p-line)}
  .public-section{padding:70px 0 50px}
  .public-feature-grid{grid-template-columns:1fr;margin-top:34px}
  .public-bottom{flex-direction:column;align-items:flex-start;padding:34px 26px;border-radius:22px}
  .public-offer{grid-template-columns:1fr;margin-bottom:60px}
  .public-offer>div{padding:30px 24px}
  .public-offer>div:last-child{border-left:0;border-top:1px dashed #e5d8bd}
  .public-footer{grid-template-columns:1fr;padding:40px 20px 30px;gap:14px}
  .public-footer .row{justify-content:flex-start}
  .public-form-layout>.card{padding:22px}
  .public-site .form-grid{grid-template-columns:1fr}
  .public-site .span2{grid-column:span 1}
}
@media(prefers-reduced-motion:reduce){.public-site *,.public-site *:before,.public-site *:after{animation:none!important;transition:none!important}}
/* Keep every navigation link and the language switch visible on narrow screens. */
@media(max-width:760px){.public-header nav{flex-wrap:wrap;overflow:visible}.public-header .lang{margin-left:0;flex-shrink:0}}

.public-header .language-status{color:#cfc8e0;margin:0;font-size:11px}

/* Header language picker and wrapping (nav grew with the Reports link) */
.public-header nav{row-gap:10px}
.public-header .language-picker{display:flex;align-items:center;gap:6px;margin-left:8px}
.public-header .language-picker label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.public-header .language-picker select{width:auto;min-width:108px;padding:7px 30px 7px 12px;border-radius:999px;font-size:12.5px;background-color:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);color:#fff;box-shadow:none}
.public-header .language-picker select option{color:var(--p-ink)}
.public-header .language-picker button{padding:7px 14px;font-size:12.5px;border-radius:999px;background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.2);box-shadow:none}
.public-header .language-picker button:hover{background:rgba(255,255,255,.2)}
.public-feature-grid .card{display:flex;flex-direction:column}
.public-feature-grid .card p:last-child{margin-top:auto;margin-bottom:0;padding-top:14px}
@media(max-width:760px){.public-header .language-picker{margin-left:auto}.public-header .language-picker select{min-width:92px}}

/* Two doors: a client button and a quiet practitioner link */
.public-header nav>a.nav-signin{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);color:#fff;font-weight:600}
.public-header nav>a.nav-signin:hover{background:rgba(255,255,255,.2)}
.public-header nav>a.nav-admin{color:#8f89b8;font-size:12.5px;padding:8px 10px}
.public-header nav>a.nav-admin:hover{color:var(--p-gold-2);background:transparent}
@media(max-width:760px){.public-header nav>a.nav-admin{order:11}}

/* tighter nav: seven items plus the language control have to share one line */
@media(min-width:761px){
 .public-header{padding:20px 28px}
 .public-header nav{gap:2px}
 .public-header nav>a{padding:8px 11px;font-size:13.5px}
 .public-header nav>a:first-child{padding:8px 16px}
 .public-header .language-picker{margin-left:6px}
 .public-header .language-picker select{min-width:96px;padding:7px 28px 7px 10px}
 .public-header .language-picker button{padding:7px 12px}
}

/* ---------- Shop ---------- */
/* ---------- The shop: product cards, cart chip, summary bar ---------- */
.public-site .shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:22px;margin-bottom:26px;align-items:stretch}
.public-site .shop-card{display:flex;flex-direction:column;gap:8px;padding:26px 26px 24px;height:100%}
.public-site .shop-card h3{font-family:var(--p-serif);font-size:21px;font-weight:500;margin:0;letter-spacing:-.3px;line-height:1.3}
.public-site .shop-card .shop-blurb{font-size:14px;line-height:1.72;margin:2px 0 0;color:var(--p-muted)}
/* Price and the buttons travel together to the foot of the card, so a row of cards lines up
   whether or not a report has a description written for it. */
.public-site .shop-foot{margin-top:auto;padding-top:18px}
.public-site .shop-card .shop-price{font-family:var(--p-serif);font-size:27px;color:var(--p-ink);margin:0;letter-spacing:-.5px}
.public-site .shop-card .shop-actions{margin:0;padding-top:12px;display:flex;align-items:center;gap:10px 14px;flex-wrap:wrap}
.public-site .shop-card .shop-actions form{margin:0}
.public-site .shop-more{font-size:13px;font-weight:600;white-space:nowrap}
.public-site .shop-card .shop-actions button{background:linear-gradient(135deg,#fff4d6,var(--p-gold-2) 55%,var(--p-gold));color:#2a1f05;box-shadow:0 10px 26px -14px rgba(194,154,75,.9);padding:12px 24px}
.public-site .shop-card .hint{margin:8px 0 0;font-size:13px}
.public-site .shop-card .shop-actions .hint{margin:0}
.public-site .shop-featured{border-color:#e3d5b4;box-shadow:0 1px 2px rgba(28,26,51,.04),0 18px 44px -24px rgba(194,154,75,.65)}
.public-site .shop-badge{align-self:flex-start;background:linear-gradient(135deg,var(--p-gold-2),var(--p-gold));color:#2a1f05;font-size:10.5px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;padding:5px 12px;border-radius:999px;margin-bottom:4px}
.public-site .shop-bar{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:22px 26px;
 background:var(--p-stars),linear-gradient(135deg,var(--p-night-2),var(--p-night));border:0;color:#fff}
.public-site .shop-bar strong{color:#fff}
.public-site .shop-bar .hint{color:#c6c0e4;margin:5px 0 0;font-size:13px}
.public-site .shop-bar .row{display:flex;align-items:center;gap:20px}
.public-site .shop-bar .btn{background:linear-gradient(135deg,#fff4d6,var(--p-gold-2) 55%,var(--p-gold));color:#2a1f05;box-shadow:0 12px 30px -14px rgba(0,0,0,.6)}
.public-site .shop-total{font-family:var(--p-serif);font-size:25px;letter-spacing:-.5px}
/* Quiet controls: removing a line or re-totalling is not the action we are pushing. */
.public-site .shop-quiet{background:none;color:var(--p-muted);border:1px solid var(--p-line);box-shadow:none;padding:9px 18px;font-size:13px;font-weight:600}
.public-site .shop-quiet:hover{background:#fbf8f2;color:var(--p-ink);box-shadow:none;transform:none}
.public-site .shop-quiet:after{display:none}
.public-site .shop-qty{max-width:86px;text-align:center;padding:9px 10px}
.public-site .shop-totals .detail{padding:13px 0}
.public-site .shop-totals .btn{margin-top:18px;background:linear-gradient(135deg,#fff4d6,var(--p-gold-2) 55%,var(--p-gold));color:#2a1f05;box-shadow:0 12px 30px -12px rgba(194,154,75,.8)}
.public-header nav>a.nav-cart{color:#fff;font-weight:600}
.public-header nav>a.nav-cart i{font-style:normal;background:var(--p-gold-2);color:#2a1f05;border-radius:999px;padding:1px 7px;margin-left:4px;font-size:11.5px;font-weight:700}
@media(max-width:600px){.public-site .shop-grid{grid-template-columns:1fr}.public-site .shop-bar{flex-direction:column;align-items:flex-start}.public-site .shop-bar .row{width:100%;justify-content:space-between}}
