/* Pagina Baby Trakking: testo completo e tutte le fotografie. */
.baby-content { max-width: 1200px; margin: 0 auto; padding: 40px 20px 48px; }
.baby-row { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); grid-template-areas: "copy photos"; gap: 36px; align-items: center; margin-bottom: 40px; }
.baby-row:nth-child(even) { grid-template-areas: "photos copy"; }
.baby-row:last-child { margin-bottom: 0; }
.baby-copy { grid-area: copy; }
.baby-gallery { grid-area: photos; }
.baby-copy h2 { font-size: 27px; line-height: 1.25; margin: 0 0 18px; color: #222; }
.baby-copy { min-width: 0; }
.baby-copy h1 { font-size: 32px; line-height: 1.2; margin: 0 0 22px; color: #222; }
.baby-copy p { font-size: 16px; line-height: 1.65; margin: 0 0 16px; color: #444; }
.baby-gallery { display: flex; gap: 10px; min-width: 0; align-items: start; width: 100%; max-width: 480px; justify-self: center; }
.baby-gallery .baby-photo { display: block; min-width: 0; flex: var(--photo-ratio, 1) 1 0; }
.baby-gallery img { display: block; width: 100%; height: auto; border-radius: 10px; }
.baby-contact { display: inline-block; background: var(--whatsapp-green); color: #15351f; font-weight: bold; padding: 12px 16px; border-radius: 8px; text-decoration: none; line-height: 1.4; margin-top: 8px; }
.baby-contact:hover { background: var(--whatsapp-green-dark); }
.baby-gallery:focus-visible, .baby-contact:focus-visible { outline: 3px solid var(--brand-blue); outline-offset: 4px; }
@media (max-width: 700px) { .baby-row, .baby-row:nth-child(even) { grid-template-columns: minmax(0,1fr); grid-template-areas: "copy" "photos"; gap: 18px; margin-bottom: 30px; } }
@media (max-width: 700px) {
 .baby-content { padding: 28px 16px 36px; }
 .baby-copy h1 { font-size: 25px; }
 .baby-copy h2 { font-size: 23px; }
 .baby-copy p { font-size: 15px; line-height: 1.55; }
 .baby-contact { font-size: 14px; }
 .baby-gallery { display: flex; overflow-x: auto; gap: 12px; scroll-snap-type: x mandatory; padding: 4px 4px 12px; scrollbar-width: thin; }
 .baby-gallery .baby-photo { flex: 0 0 auto; width: calc(220px * var(--photo-ratio, 1)); scroll-snap-align: start; }
 .baby-gallery img { width: 100%; height: 220px; object-fit: contain; }
 body.page-baby .hero-small { padding: 38px 16px; }
 body.page-baby .hero-small h2 { font-size: 30px; }
 body.page-baby .hero-small p { font-size: 16px; }
}
