.product-mobile-shortcuts, .product-mobile-buybar { display: none; }
.footer-col details > summary { list-style: none; }
.footer-col details > summary::-webkit-details-marker { display: none; }
@media (max-width: 768px) {
    body:has(.product-detail-page) { padding-bottom: calc(76px + env(safe-area-inset-bottom)); }
    body:has(.product-detail-page) .topbar { display: none; }
    .product-detail-page { padding-top: 14px !important; }
    .product-detail-page .container-product { display: flex; flex-direction: column; gap: 16px; }
    .product-detail-page nav[aria-label="Breadcrumb"] { margin-bottom: 0 !important; font-size: 12px !important; }
    .product-detail-page nav[aria-label="Breadcrumb"] > :nth-child(n+4) { display: none; }
    .product-mobile-shortcuts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
    .product-mobile-shortcuts a { display: flex; align-items: center; justify-content: center; min-height: 44px; border: 1px solid #dbe5f1; background: #fff; color: #0369a1; border-radius: 10px; font-size: 12px; font-weight: 700; }
    .product-detail-page .detail-layout { display: flex; flex-direction: column; gap: 16px; }
    .product-detail-page .detail-info { order: 0; width: 100%; scroll-margin-top: 90px; }
    .product-detail-page .detail-gallery { order: 1; position: static; width: 100%; }
    .product-detail-page .gallery-main { padding: 12px; margin-bottom: 12px; }
    .product-detail-page .gallery-main img { max-height: 180px; width: 100%; }
    .product-detail-page .detail-info h1 { font-size: 24px !important; line-height: 1.3 !important; margin-bottom: 10px !important; }
    .product-detail-page .detail-info > p { font-size: 14px !important; line-height: 1.6 !important; margin-bottom: 14px !important; }
    .product-detail-page .product-specs-bar { font-size: 12px !important; gap: 6px !important; margin-bottom: 12px !important; }
    .product-mobile-disclosure { margin-bottom: 12px; border: 1px solid #dbe5f1; border-radius: 12px; padding: 0 12px; background: #fff; }
    .product-mobile-disclosure > summary { min-height: 44px; padding: 12px 0; font-size: 13px; font-weight: 700; cursor: pointer; }
    .product-mobile-disclosure > div { padding: 10px 0 !important; margin-bottom: 0 !important; box-shadow: none !important; border: 0 !important; font-size: 13px !important; }
    .product-detail-page .plan-picker { margin: 10px 0; gap: 8px; }
    .product-detail-page .plan-option { padding: 12px !important; gap: 8px; flex-wrap: nowrap; cursor: pointer; }
    .product-detail-page .plan-option > div:first-child > div:first-child { font-size: 14px !important; gap: 4px !important; }
    .product-detail-page .plan-option > div:last-child { margin-left: 0 !important; }
    .product-detail-page .plan-option > div:last-child > div:first-child { font-size: 17px !important; }
    .product-detail-page .plan-option .badge, .product-detail-page .vformat-lifetime-badge { font-size: 10px !important; padding: 3px 6px !important; }
    .product-detail-page .vformat-card-perks { font-size: 12px; gap: 3px; }
    .product-detail-page .vformat-card-perks > :not(:last-child) { display: none; }
    .product-detail-page .lifetime-upsell-tag { font-size: 11px; }
    .product-detail-page .detail-info .btn-lg { font-size: 14px; padding: 12px; min-height: 48px; }
    .product-detail-page .detail-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; overflow: visible; padding: 0 0 12px; margin-bottom: 16px; }
    .product-detail-page .detail-tabs .tab-btn { padding: 8px 4px; white-space: normal; font-size: 12px; border: 1px solid #dbe5f1; border-radius: 8px; background: #fff; }
    .product-detail-page .detail-tabs .tab-btn.active { background: #eff6ff; border-color: #0057ff; }
    .product-detail-page .tabs-container { order: 2; scroll-margin-top: 90px; }
    .product-detail-page #vformat-privileges-section { order: 3; margin: 0 !important; }
    .product-detail-page h2 { font-size: 22px !important; line-height: 1.4 !important; }
    .product-detail-page h3 { font-size: 17px !important; line-height: 1.45 !important; }
    .product-detail-page .tab-pane { scroll-margin-top: 90px; }
    .product-detail-page .tab-pane p { font-size: 14px !important; line-height: 1.65 !important; }
    .product-detail-page .vformat-compare-table { table-layout: fixed; width: 100%; }
    .product-detail-page .vformat-compare-table th, .product-detail-page .vformat-compare-table td { padding: 10px 6px !important; font-size: 12px !important; overflow-wrap: anywhere; }
    .product-detail-page .comparison-box-header { padding: 14px; flex-direction: column; align-items: flex-start; }
    .product-mobile-buybar { position: fixed; bottom: 0; inset-inline: 0; z-index: 900; display: grid; grid-template-columns: 1fr auto; gap: 10px; align-items: center; padding: 10px 16px max(10px, env(safe-area-inset-bottom)); background: #fff; border-top: 1px solid #dbe5f1; box-shadow: 0 -4px 16px #0f172a0a; }
    .product-mobile-buybar small { display: block; max-width: 210px; font-size: 11px; color: #64748b; }
    .product-mobile-buybar strong { font-size: 20px; color: #0057ff; }
    .product-mobile-buybar button { min-height: 44px; padding: 10px 16px; border-radius: 10px; border: 0; background: #0057ff; color: #fff; font: inherit; font-weight: 700; }
    body:has(.product-detail-page) .social-proof-toast { display: none !important; }
    body:has(.product-detail-page) #tafinex-toast-container { bottom: 90px !important; }
    .footer { padding: 24px 0 !important; }
    .footer-grid { display: flex; flex-direction: column; gap: 0; }
    .footer-brand { margin-bottom: 16px; }
    .footer-brand > a { margin-bottom: 8px !important; }
    .footer-brand > a img { height: 30px !important; }
    .footer-brand > p { font-size: 12px; line-height: 1.5; margin-bottom: 10px; }
    .footer-brand > div { font-size: 12px !important; }
    .footer-col { border-top: 1px solid #ffffff20; }
    .footer-col summary { display: flex; justify-content: space-between; align-items: center; min-height: 48px; cursor: pointer; }
    .footer-col summary::after { content: '+'; font-size: 20px; color: #94a3b8; }
    .footer-col details[open] > summary::after { content: '−'; }
    .footer-col h5 { font-size: 13px; margin: 0; }
    .footer-links { margin: 0 0 12px; }
    .footer-links a { display: flex; align-items: center; min-height: 44px; font-size: 13px; }
    .footer-disclaimer { margin-top: 16px !important; font-size: 11px !important; padding: 12px !important; }
    .footer-bottom { margin-top: 16px; padding-top: 16px; font-size: 11px; }
}
@media print { .product-mobile-buybar, .product-mobile-shortcuts { display: none !important; } }

@media (min-width: 769px) { .product-mobile-disclosure > summary, details.footer-col > summary { display: none; } }
@media (max-width: 768px) {
    .product-detail-page .tab-pane [style*="grid-template-columns"] { grid-template-columns: minmax(0, 1fr) !important; gap: 12px !important; }
    .product-detail-page .tab-pane :is(div, p, code, li) { min-width: 0; overflow-wrap: anywhere; }
    .product-detail-page .tab-pane img { max-width: 100%; height: auto; }
}
/* Checkout: recipient details precede order review and payment. */
.checkout-coupon { border: 1px dashed #cbd5e1; border-radius: 10px; padding: 0 12px; margin-bottom: 18px; }
.checkout-coupon summary { min-height: 44px; padding: 12px 0; color: #0369a1; font-size: 13px; font-weight: 700; cursor: pointer; }
.checkout-coupon .form-label { font-size: 13px; }
.checkout-coupon #couponInput { min-width: 0; }
.checkout-coupon #applyCouponBtn { font-size: 12px; padding: 8px 10px !important; white-space: normal !important; color: #0369a1; box-shadow: none; }
.checkout-coupon-help { font-size: 12px; line-height: 1.5; color: #64748b; margin: 8px 0 0; }
.checkout-page .checkout-payment-action { margin-top: 16px !important; }
.checkout-page .checkout-terms { padding: 12px !important; font-size: 12px !important; }
@media (max-width: 900px) {
    .checkout-flow { flex-direction: column !important; gap: 16px !important; }
    .checkout-page { padding-top: 18px; }
    .checkout-page > .container > div:first-child { margin-bottom: 18px !important; }
    .checkout-page .section-title { font-size: 25px; }
    .checkout-page .section-subtitle { font-size: 14px; line-height: 1.6; }
    .checkout-flow h3 { font-size: 18px !important; margin-bottom: 16px !important; }
    .checkout-flow .form-group { margin-bottom: 14px; }
    .checkout-flow .form-label { font-size: 13px; }
    .checkout-flow .form-control { min-height: 46px; padding: 10px 12px; }
    .checkout-flow .checkout-field-row { grid-template-columns: minmax(0, 1fr); gap: 0; }
    .checkout-flow #checkoutPayBtn { min-height: 50px; font-size: 15px; }
    body:has(.checkout-page) .social-proof-toast { display: none !important; }
}
