/* Shared reading and mobile refinements for calculators and editorial pages. */
.age-guide{line-height:1.85;color:var(--ink,#3c1630)}
.age-guide h2{font-size:clamp(1.5rem,4vw,2rem);line-height:1.3;margin-bottom:1.25rem}
.age-guide h3{font-size:1.15rem;line-height:1.4;margin:1.75rem 0 .75rem;color:#943657}
.age-guide p,.age-guide li{margin-bottom:1rem}
.age-guide ol{padding-left:1.5rem}
.age-guide a{color:#943657;text-underline-offset:3px}
.article-body,.container,.form-group,.form-box,.date-dropdowns>div{min-width:0}
.article-body,.age-guide,.contact-link,.receipt-row .value{overflow-wrap:anywhere}
pre{max-width:100%;overflow-x:auto}table{max-width:100%}
input,select,button{max-width:100%}
@media(max-width:600px){
 header nav a,.policy-links a{display:inline-flex;align-items:center;min-height:44px}
 header nav{gap:.2rem 1rem!important}
 .policy-links{gap:.2rem 1rem}
 .form-group input,.form-group select,.lang-selector select{min-height:44px;min-width:0;font-size:16px!important}
 .btn{min-height:48px;padding-left:.8rem;padding-right:.8rem}
 .receipt-row .label,.receipt-row .value{min-width:0;flex:1}
 .receipt-header h2{font-size:1.15rem!important;overflow-wrap:anywhere}
 .contact-link{max-width:100%;box-sizing:border-box}
 .tools-grid{grid-template-columns:minmax(0,1fr)}
 .faq-list summary{line-height:1.6;min-height:44px}
 .age-guide{line-height:1.8}
}
/* Long translated headings must not set the minimum width of the page. */
.home-sections{width:100%;min-width:0;margin-left:auto;margin-right:auto}
.section-block,.feature-card,.tip-card,.tool-card{min-width:0;overflow-wrap:anywhere}
/* Avoid platform-dependent decorative glyphs covering the first input. */
.form-box::before{content:none!important}
/* Keep the homepage heading compact so the form stays near the top. */
.calculator-first{padding-top:clamp(1.5rem,3vw,2.5rem)}
.calculator-heading-copy{min-width:0}
/* A small birthday illustration shares the heading space without adding a hero. */
.home-calculator .calculator-first{padding-top:1.25rem}
.home-calculator .calculator-intro{display:block;margin-bottom:1rem}
.home-calculator .calculator-heading-copy{position:relative;padding-right:136px;min-height:100px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem}
.birthday-decoration{position:absolute;right:0;top:0;pointer-events:none;overflow:visible}
.birthday-balloon{animation:birthday-bob 4s ease-in-out infinite;transform-origin:29px 50px}
.birthday-flames{animation:birthday-flicker 1.8s ease-in-out infinite;transform-origin:80px 36px}
.home-calculator .free-message{margin:0;max-width:180px;font-size:.8rem;line-height:1.5;text-align:center;color:var(--muted)}
.home-calculator .calculator-layout .form-box{padding:1.5rem!important}
.home-calculator .calculator-layout .form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-bottom:1rem;align-items:end}
.home-calculator .calculator-layout .form-row:last-child{margin-bottom:0}
.home-calculator .date-dropdowns{grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem}
.home-calculator .date-dropdowns label{font-size:.75rem;margin-bottom:.25rem}
@keyframes birthday-bob{50%{transform:translateY(-4px) rotate(-3deg)}}
@keyframes birthday-flicker{50%{opacity:.7;transform:scaleY(.85)}}
@media(max-width:760px){
 .home-calculator .calculator-first{padding-top:.75rem}
 .home-calculator .calculator-heading-copy{padding-right:90px;min-height:82px;grid-template-columns:minmax(0,1fr);gap:.3rem}
 .home-calculator .free-message{max-width:none;text-align:left;font-size:.7rem}
 .home-calculator .calculator-intro h1{font-size:1.85rem!important}
 .home-calculator .calculator-intro .subhead{font-size:.85rem!important;line-height:1.45!important}
 .birthday-decoration{width:84px;height:78px}
 .home-calculator .calculator-layout .form-box{padding:1rem!important}
 .home-calculator .calculator-layout .form-row{grid-template-columns:minmax(0,1fr);gap:.65rem;margin-bottom:.65rem}
 .home-calculator .form-group>label{margin-bottom:.3rem;font-size:.8rem}
 .home-calculator .calculator-layout .form-group input,.home-calculator .date-dropdowns select{min-height:44px;padding:.5rem}
 .home-calculator .date-picker-group{position:relative}
 .home-calculator .date-picker-row{display:block}
 .home-calculator .date-picker-group:has(.date-today)>label{padding-right:60px;min-height:28px}
 .home-calculator .date-today{position:absolute;right:0;top:-5px;min-height:32px;padding:.2rem .5rem;font-size:.75rem}
 .home-calculator .calculator-layout .btn{min-height:48px;padding:.75rem}
}
@media(prefers-reduced-motion:reduce){.birthday-balloon,.birthday-flames{animation:none}}
@media print{.birthday-decoration{display:none}}

/* In-page guide links follow the existing editorial palette. */
.guide-contents{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;padding:1rem 0;border-block:1px solid #ead8df;margin:1.5rem 0}
.guide-contents a{display:inline-flex;align-items:center;min-height:44px;font-weight:600}
.age-guide h3[id]{scroll-margin-top:2rem}
.guide-contents a:focus-visible,.policy-links a:focus-visible{outline:2px solid #943657;outline-offset:4px;border-radius:2px}
