/* Shared product details; the existing site palette and navigation remain authoritative. */
.product-page { --product-wash: #f4f8f7; }
.product-page h1 { font-size: clamp(2.2rem, 4.1vw, 3.6rem); line-height: 1.08; }
.product-page .hero-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); padding-top: 3.4rem; padding-bottom: 3.4rem; min-height: 520px; }
.product-heading { display: flex; align-items: center; gap: .8rem; margin: 0 0 1.3rem; font-size: 1.2rem; font-weight: 850; }
.product-heading .product-icon, .product-heading .shelflife-hero-icon { width: 48px; height: 48px; object-fit: contain; margin: 0; border-radius: 10px; }
.product-page .product-shot { margin: 0; padding: .6rem; transform: none; }
.product-screen { display: block; width: 100%; height: auto; border-radius: 5px; }
.product-page figcaption { padding: .65rem .2rem .2rem; font-size: .875rem; line-height: 1.5; color: #4b5563; }
.plan-summary { margin-top: 1.2rem; font-size: 1rem; font-weight: 750; }
.plan-summary span { color: #0f766e; font-weight: 650; }
.product-links { display: flex; flex-wrap: wrap; gap: .4rem 1.5rem; justify-content: center; border-bottom: 1px solid var(--line); padding: .9rem 1rem; }
.product-links a { min-height: 44px; display: inline-flex; align-items: center; font-weight: 700; text-underline-offset: .3em; }
.product-page section[id] { scroll-margin-top: 90px; }
.product-page .feature-grid, .pricing-grid, .setup-grid, .screenshot-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1.25rem; }
.product-page .card h3 { font-size: 1.2rem; line-height: 1.3; margin-bottom: .65rem; }
.product-page .card p { font-size: 1rem; }
.product-page .card { padding: 1.5rem; }
.product-page .route-band { background: var(--product-wash); }
.screenshot-grid figure { margin: 0; min-width: 0; }
.screenshot-grid img { display: block; width: 100%; height: auto; border: 1px solid var(--line); border-radius: 8px; transition: box-shadow .15s ease; }
.screenshot-grid a:hover img { box-shadow: var(--shadow); }
.setup-grid { list-style: none; }
.step-number { display: block; color: var(--green); font-weight: 800; font-size: 1.8rem; margin-bottom: .8rem; }
.plan-card { display: flex; flex-direction: column; background: white; }
.product-page .plan-card .plan-price { font-size: 2.4rem; font-weight: 850; line-height: 1.2; margin: .5rem 0; color: var(--ink); }
.plan-price span { font-size: 1rem; color: var(--ink-soft); font-weight: 500; }
.product-page .plan-cycle { color: var(--ink-soft); min-height: 1.7rem; margin: 0 0 .65rem; }
.trial-note { color: var(--green) !important; font-weight: 750; }
.plan-card ul { padding-left: 1.2rem; margin: 1rem 0 1.5rem; flex: 1; }
.plan-card li { margin-bottom: .65rem; }
.pricing-source { margin-top: 1.1rem; color: var(--ink-soft); font-size: .875rem; }
.faq-list { max-width: 850px; }
.faq-list details { border-bottom: 1px solid var(--line); padding: 1.2rem 0; }
.faq-list summary { font-size: 1.1rem; font-weight: 750; cursor: pointer; padding-right: .5rem; }
.faq-list details p { margin-top: .9rem; color: var(--ink-soft); }
.product-page #next .section-copy { margin-bottom: 1.5rem; }
a:focus-visible, summary:focus-visible { outline: 3px solid #1d4ed8; outline-offset: 4px; }
@media (max-width: 920px) {
 .product-page .hero-grid { grid-template-columns: 1fr; }
 .product-page .product-shot { max-width: 760px; }
 .product-page .feature-grid, .screenshot-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .pricing-grid, .setup-grid { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
 .product-page .feature-grid, .screenshot-grid { grid-template-columns: 1fr; }
 .product-page .hero-grid { padding-top: 2.5rem; padding-bottom: 2.5rem; }
 .product-links { justify-content: flex-start; gap: .2rem 1.1rem; }
 .product-page section { padding-top: 3rem; padding-bottom: 3rem; }
 .product-page .card { padding: 1.25rem; }
}
.app-grid .app-heading { display: flex; align-items: center; gap: .8rem; margin-bottom: 1rem; }
.app-grid .app-icon { width: 48px; height: 48px; object-fit: contain; }
.app-grid .app-card { display: flex; flex-direction: column; }
.app-grid .home-plan-summary { margin-top: auto; padding-top: .8rem; font-size: .95rem; font-weight: 700; }
.app-grid .home-plan-summary span { color: #0f766e; }
.app-grid .button-row { margin-top: 1rem; }
