/* Product pages only; approved header and hero styles are untouched. */
:is(.petium-page,.veterinari-page) main > section:not(#hero_petium):not(#hero_vet) h2,
:is(.petium-page,.veterinari-page) main > section:not(#hero_petium):not(#hero_vet) h3 { color:#321a00; }
:is(.petium-page,.veterinari-page) main > section.dark-background:not(#hero_petium):not(#hero_vet) h2 { color:var(--heading-color); }
:is(.petium-page,.veterinari-page) main > section:not(#hero_petium):not(#hero_vet) [data-aos] { opacity:1; transform:none; transition:none; }
.product-story { background:#faf8f4; padding:88px 0; }
.product-story .section-title { max-width:820px; margin:auto; }
.product-chapter { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:48px; padding:44px 0; border-top:1px solid #dfd7cb; scroll-margin-top:130px; }
.chapter-visual { overflow:hidden; border-radius:24px; background:#fff; }
.chapter-visual img { display:block; width:100%; height:auto; object-fit:contain; }
.chapter-number { display:block; color:#986120; font-size:.85rem; letter-spacing:.1em; margin-bottom:20px; }
.chapter-copy h3 { font-size:clamp(1.65rem,2.8vw,2.7rem); line-height:1.2; margin-bottom:24px; }
.chapter-copy p { font-size:1.1rem; line-height:1.8; color:#514b43; max-width:520px; }
.story-stage { display:none; }
.story-admin { display:flex; flex-direction:column; align-items:center; justify-content:center; aspect-ratio:4/3; padding:28px; background:#321a00; color:#fff; }
.story-admin-mark { font-size:2.6rem; font-weight:700; color:#fbaf47; }
.story-admin i { font-size:4rem; margin:22px 0; }
.story-admin p { color:#fff; text-align:center; font-size:1.1rem; }
.story-admin p span { color:#fbaf47; margin:0 10px; }
.product-faq { background:#faf8f4; }
.product-faq-list { max-width:900px; margin:auto; }
.product-faq details { border-bottom:1px solid #ddd5c9; }
.product-faq summary { padding:22px 0; cursor:pointer; font-weight:600; color:#321a00; }
.product-faq details p { padding-bottom:22px; line-height:1.75; }
.product-faq summary:focus-visible { outline:3px solid #9b5c13; outline-offset:4px; }
.petium-page #funzioni .feature-card, .veterinari-page #features .feature-card { border:1px solid #e4ded4; box-shadow:none; border-radius:22px; }
.veterinari-page #features .feature-card:hover { transform:translateY(-4px); }
.veterinari-page #pricing .pricing-item { border-radius:26px; }
@media(min-width:992px) {
 .product-story.is-enhanced .product-story-layout { display:grid; grid-template-columns:1.05fr 1fr; gap:64px; align-items:start; }
 .product-story.is-enhanced .story-stage { display:block; position:sticky; top:120px; margin-top:48px; border-radius:24px; overflow:hidden; box-shadow:0 24px 60px rgba(50,26,0,.12); }
 .story-stage img { display:block; width:100%; height:auto; object-fit:contain; }
 .product-story.is-enhanced .product-chapter { display:block; min-height:clamp(320px,51vh,510px); display:flex; align-items:center; padding:44px 0; }
 .product-story.is-enhanced .chapter-visual { display:none; }
 .product-story.is-enhanced .chapter-copy { width:100%; }
 .product-story.is-enhanced .product-chapter.is-current .chapter-number { color:#321a00; font-weight:700; }
}
@media(max-width:991px) {
 .product-story { padding:56px 0; }
 .product-chapter { display:flex; flex-direction:column; gap:24px; padding:32px 0; }
 .chapter-copy { order:0; width:100%; }
 .chapter-visual { order:1; max-width:560px; width:100%; }
 .chapter-copy p { font-size:1rem; }
}
@media(prefers-reduced-motion:reduce) {
 .product-story.is-enhanced .product-story-layout { display:block; }
 .product-story.is-enhanced .story-stage { display:none; }
 .product-story.is-enhanced .chapter-visual { display:block; }
 .product-story.is-enhanced .product-chapter { display:grid; min-height:0; grid-template-columns:1fr 1fr; }
 :is(.petium-page,.veterinari-page) main > section:not(#hero_petium):not(#hero_vet) * { transition:none !important; animation:none !important; }
}

@media(max-width:991px) and (prefers-reduced-motion:reduce) { .product-story.is-enhanced .product-chapter { display:flex; flex-direction:column; } }

@media(min-width:992px) { .product-story.is-enhanced .story-stage img { max-height:calc(100svh - 170px); object-fit:contain; } .product-story.is-enhanced .story-stage .story-admin { max-height:calc(100svh - 170px); } }

/* V33 mockups stay complete and can be opened for detail. */
.veterinari-page #features .feature-image img { width:100%; height:auto; object-fit:contain; }
.veterinari-page #features .feature-image img:hover { transform:none; }
.mockup-zoomable { cursor:zoom-in; }
.mockup-zoomable:focus-visible { outline:3px solid #9b5c13; outline-offset:4px; }
.mockup-dialog { width:min(96vw,1600px); max-width:96vw; max-height:94svh; padding:54px 16px 16px; border:0; border-radius:18px; background:#fff; }
.mockup-dialog::backdrop { background:rgba(20,12,4,.84); }
.mockup-dialog-close { position:absolute; top:8px; right:16px; min-height:40px; padding:8px 18px; border:1px solid #d8c5ae; border-radius:50px; background:#fff; color:#321a00; }
.mockup-dialog-close:focus-visible { outline:3px solid #9b5c13; outline-offset:3px; }
.mockup-dialog-image { display:block; width:100%; height:auto; max-height:calc(94svh - 84px); object-fit:contain; }

/* V34: compact desktop chapters; approved mobile story unchanged. */
@media(min-width:992px) and (prefers-reduced-motion:no-preference) {
 .product-story.is-enhanced .story-stage { margin-top:28px; }
}
@media(max-width:991px) {
 .petium-page #hero_petium .hero-content h2 { text-align:center; margin-left:auto; margin-right:auto; }
}

/* Reserve room for the accessible desktop image zoom control. */
@media(min-width:992px) { .product-story.is-enhanced .story-stage img { max-height:calc(100svh - 236px); } }
.story-zoom-button:focus-visible { outline:3px solid #9b5c13; outline-offset:3px; }
