/* V2.99.4 — Premium readability pass
   Goal: larger, calmer mobile typography without changing the approved visual language.
   Loaded last so it acts as a controlled accessibility/readability layer. */

:root{
  --szr-text-xs:10px;
  --szr-text-sm:11.5px;
  --szr-text-md:13px;
  --szr-text-base:15px;
  --szr-control:14px;
}

/* ---------- Shared chrome ---------- */
.global-header-copy strong{font-size:19px!important;line-height:1.08!important}
.global-header-copy span{font-size:10.5px!important;line-height:1.25!important}
.bottom-nav .nav-item,.planner-bottom-nav .nav-item,.result-bottom-nav .nav-item,.shopping-bottom-nav .nav-item{font-size:10.3px!important}
.bottom-nav .camera-label,.planner-bottom-nav .camera-label,.result-bottom-nav .camera-label,.shopping-bottom-nav .camera-label{font-size:10px!important}

/* ---------- Home ---------- */
.eyebrow{font-size:9.4px!important}
.hero-content p{font-size:12.5px!important;line-height:1.45!important}
.hero-badge span{font-size:17px!important}
.feature-kicker{font-size:9px!important}
.feature-copy h2{font-size:20.5px!important;line-height:1.04!important}
.feature-copy p{font-size:11px!important;line-height:1.36!important}
.feature-note{font-size:12.5px!important;line-height:1.02!important}
.micro-benefits strong{font-size:10px!important}
.micro-benefits small{font-size:8.8px!important}

/* First-entry info / install surfaces */
.important-info-card p,.important-info-list p{font-size:11.5px!important;line-height:1.48!important}
.important-info-list strong{font-size:12.5px!important}
.important-info-kicker{font-size:9px!important}
.install-lead,.install-guide-intro{font-size:12.5px!important;line-height:1.45!important}
.install-benefits strong,.install-steps strong{font-size:12.2px!important}
.install-benefits small,.install-steps small,.install-ios-note{font-size:10.5px!important;line-height:1.4!important}
.install-primary{font-size:14px!important}
.install-later{font-size:11.5px!important}

/* ---------- Planner wizard ---------- */
body.wizard-planner{
  --wz-block-title-size:clamp(21px,5vw,28px)!important;
  --wz-block-copy-size:clamp(10.5px,2.8vw,12.5px)!important;
  --wz-script-size:clamp(16px,4.1vw,20px)!important;
  --wz-progress-title-size:16px!important;
}
body.wizard-planner .wizard-progress-copy>span{font-size:9px!important}
body.wizard-planner .wizard-progress-number{font-size:11px!important}
body.wizard-planner .wizard-step .panel-title strong{font-size:13.5px!important}
body.wizard-planner .family-name strong{font-size:21px!important}
body.wizard-planner .family-name small{font-size:10px!important}
body.wizard-planner .family-card>p{font-size:9.8px!important;line-height:1.4!important}
body.wizard-planner .child-ages>strong{font-size:10px!important}
body.wizard-planner .age-field{font-size:9.5px!important}
body.wizard-planner .age-field select{font-size:11px!important}
body.wizard-planner .days-row b{font-size:16.5px!important}
body.wizard-planner .days-row small{font-size:8.8px!important}
body.wizard-planner .days-hint{font-size:10px!important}
body.wizard-planner .budget-options button,
body.wizard-planner .time-options button{font-size:11.5px!important}
body.wizard-planner .money-field>span{font-size:10px!important}
body.wizard-planner .money-field input{font-size:15px!important}
body.wizard-planner .money-field b{font-size:10px!important}
body.wizard-planner #taste-section .diet-grid b{font-size:10px!important;line-height:1.12!important}
body.wizard-planner #taste-section .cuisine-grid span{font-size:9.6px!important;line-height:1.12!important}
body.wizard-planner #allergy-section .allergen-grid button{font-size:10px!important;line-height:1.12!important}
body.wizard-planner #allergy-section .avoid-panel label,
body.wizard-planner #allergy-section .avoid-panel span{font-size:10.5px!important}
body.wizard-planner #allergy-section textarea,
body.wizard-planner #allergy-section input{font-size:14px!important}
body.wizard-planner #review-section .review-head span,
body.wizard-planner #review-section .review-lines span{font-size:9px!important}
body.wizard-planner #review-section .review-head strong{font-size:16px!important}
body.wizard-planner #review-section .review-head small{font-size:10px!important}
body.wizard-planner #review-section .review-stats small{font-size:8.8px!important}
body.wizard-planner #review-section .review-stats b{font-size:11.5px!important}
body.wizard-planner #review-section .review-lines p{font-size:10.5px!important;line-height:1.38!important}
body.wizard-planner #review-section .review-extra{font-size:10.5px!important;line-height:1.42!important}
body.wizard-planner .wizard-primary,
body.wizard-planner .wizard-secondary{font-size:13.5px!important;line-height:1!important}
body.wizard-planner .wizard-inline-warning{font-size:10.5px!important;line-height:1.35!important}

/* Cooking-style gate */
body.wizard-planner .cooking-style-gate-heading>span{font-size:8.8px!important}
body.wizard-planner .cooking-style-gate-heading h3{font-size:22px!important}
body.wizard-planner .cooking-style-gate-options button>b{font-size:12.5px!important}

/* ---------- Camera wizard ---------- */
body.camera-wizard-page .camera-wizard-heading h3{font-size:22px!important;line-height:1.02!important}
body.camera-wizard-page .camera-wizard-heading p{font-size:11.5px!important;line-height:1.4!important}
body.camera-wizard-page .camera-wizard-heading em{font-size:17px!important}
body.camera-wizard-page .camera-premium-instructions strong{font-size:12.5px!important}
body.camera-wizard-page .camera-premium-instructions span{font-size:10.5px!important;line-height:1.38!important}
body.camera-wizard-page .camera-guide-privacy p{font-size:10.3px!important}
.camera-live-top span,.camera-live-top b{font-size:11px!important}
.camera-live-bottom strong{font-size:12px!important}
.camera-voice-pill{font-size:10px!important}
.camera-record b{font-size:12.5px!important}
.camera-record small{font-size:10px!important}
.camera-permission p,.camera-analysis-overlay p{font-size:11px!important;line-height:1.45!important}
.camera-permission button{font-size:12px!important}
.ingredient-chip b{font-size:11px!important}
.ingredient-chip small{font-size:9.5px!important}
.manual-add input{font-size:16px!important}
.manual-add button{font-size:11.5px!important}
.camera-retake-inline{font-size:11px!important}
.today-suggestion-top span{font-size:8.8px!important}
.today-suggestion-top b{font-size:10px!important}
.today-suggestion h3{font-size:17px!important}
.today-suggestion p{font-size:10.5px!important;line-height:1.42!important}
.today-suggestion-meta small{font-size:8px!important}
.today-suggestion-meta strong{font-size:9.5px!important}
.today-suggestion-tier strong{font-size:9.2px!important}
.today-suggestion-tier span{font-size:9px!important}
.today-suggestion-actions .today-suggestion-open b{font-size:12.5px!important}
.camera-standard-loading .premium-shared-loader-copy p{font-size:11.5px!important}
.camera-standard-loading .wizard-loader-hint{font-size:9.5px!important}
.fridge-recipe-panel header span{font-size:8.5px!important}
.fridge-recipe-panel header strong{font-size:18px!important}
.recipe-loading p,.recipe-block p{font-size:11.5px!important;line-height:1.48!important}
.recipe-block>span{font-size:8.5px!important}
.recipe-ingredient strong,.recipe-ingredient b{font-size:11px!important}
.recipe-steps strong{font-size:11px!important}
.recipe-steps li p{font-size:11.2px!important}

/* ---------- Result / plan ---------- */
.result-hero>span{font-size:9px!important}
.result-hero p{font-size:12px!important;line-height:1.48!important}
.result-section-title span{font-size:9px!important}
.result-section-title small{font-size:10px!important}
.day-card small,.wizard-day-card small{font-size:9.5px!important}
.day-card p,.wizard-day-card p{font-size:11px!important;line-height:1.38!important}
.shopping-preview span{font-size:13px!important}
.shopping-preview small{font-size:10.5px!important}

/* ---------- Shared meal detail ---------- */
.meal-detail-topbar span,.meal-detail-section-head span{font-size:9px!important}
.meal-detail-topbar strong{font-size:18px!important}
.meal-detail-hero-copy p,.meal-detail-note,.meal-detail-caution{font-size:11.5px!important;line-height:1.5!important}
.meal-detail-metrics small{font-size:9px!important}
.meal-detail-metrics strong{font-size:12.5px!important}
.meal-detail-section-head h2{font-size:20px!important}
.meal-detail-section-head em{font-size:16px!important}
.meal-detail-ingredient strong,.meal-detail-ingredient b{font-size:11.5px!important}
.meal-detail-step strong{font-size:12px!important}
.meal-detail-step p{font-size:11.5px!important;line-height:1.5!important}
.meal-swap-trigger b{font-size:12.5px!important}
.meal-swap-trigger small{font-size:10.5px!important;line-height:1.4!important}

/* ---------- Shopping ---------- */
.shopping-hero>span{font-size:9px!important}
.shopping-hero p{font-size:12px!important;line-height:1.48!important}
.shopping-section-head span{font-size:8.8px!important}
.shopping-section-head h2{font-size:19px!important}
.shopping-section-head>small{font-size:9.3px!important}
.list-head button{font-size:10px!important}
.price-loader strong,.price-idle-copy strong{font-size:11.5px!important}
.price-loader span,.price-idle-copy span{font-size:10px!important}
.market-card .market-name{font-size:11.5px!important}
.market-card .market-badge{font-size:8px!important}
.market-card small{font-size:9px!important}
.basket-best span{font-size:8.5px!important}
.basket-best b{font-size:11.5px!important}
.price-note{font-size:9.3px!important;line-height:1.5!important}
.shopping-progress>div{font-size:9.8px!important}
.shopping-group h3{font-size:11px!important}
.shopping-copy strong{font-size:11.5px!important}
.shopping-copy small{font-size:9.3px!important}
.shopping-qty{font-size:10px!important}
.basket-estimate-main span{font-size:8.5px!important}
.basket-estimate-main small{font-size:10px!important}
.basket-budget-grid small{font-size:9px!important}
.basket-budget-grid strong{font-size:14px!important}
.basket-category-head span{font-size:8.5px!important}
.basket-category-head small{font-size:9px!important}
.basket-category-row strong{font-size:10.8px!important}
.basket-category-row b{font-size:10.8px!important}
.basket-confidence span{font-size:10.2px!important}
.shopping-sync-card strong{font-size:12px!important}
.shopping-sync-card span{font-size:10px!important}
.shopping-empty p{font-size:11px!important}
.shopping-empty a{font-size:11.5px!important}

/* ---------- Saved ---------- */
.saved-intro>span,.saved-section-head span{font-size:9px!important}
.saved-intro p{font-size:12px!important;line-height:1.5!important}
.saved-section-head small{font-size:9.2px!important}
.saved-plan-cover-copy small{font-size:8.8px!important}
.saved-plan-cover-copy strong{font-size:17px!important}
.saved-plan-stats small{font-size:9px!important}
.saved-plan-stats b{font-size:11.5px!important}
.saved-meal-preview span{font-size:9.3px!important}
.saved-plan-actions button{font-size:10.5px!important}
.saved-current-badge{font-size:8px!important}
.saved-empty p{font-size:11px!important}
.saved-empty a{font-size:11.5px!important}
.saved-local-note{font-size:9.5px!important}
.saved-favorite-card small{font-size:8.5px!important}
.saved-favorite-card strong{font-size:12px!important}
.saved-favorite-card span{font-size:9.3px!important}

/* ---------- Beta feedback ---------- */
.beta-feedback-sheet p,.beta-feedback-sheet textarea,.beta-feedback-sheet button{font-size:12px}
.beta-feedback-sheet textarea{font-size:16px!important}

/* Gesture surfaces: keep vertical scrolling native while allowing horizontal intent detection. */
.wizard-stage,.meal-detail-panel,.fridge-recipe-panel{touch-action:pan-y pinch-zoom}

/* Very narrow phones: preserve readability without breaking card geometry. */
@media(max-width:350px){
  :root{--szr-text-sm:11px;--szr-text-md:12.5px}
  .feature-copy h2{font-size:18.5px!important}
  .feature-copy p{font-size:10.3px!important}
  body.wizard-planner{--wz-block-title-size:19px!important;--wz-block-copy-size:10px!important;--wz-script-size:14.5px!important}
  body.wizard-planner #taste-section .diet-grid b{font-size:9.4px!important}
  body.wizard-planner #taste-section .cuisine-grid span{font-size:9px!important}
  .bottom-nav .nav-item,.planner-bottom-nav .nav-item,.result-bottom-nav .nav-item,.shopping-bottom-nav .nav-item{font-size:9.7px!important}
}

/* Exact shared-detail selectors (late cascade) */
.meal-detail-ingredients .meal-ingredient-name{font-size:12px!important;line-height:1.4!important}
.meal-detail-ingredients .meal-ingredient-meta strong{font-size:11px!important;line-height:1.18!important}
.meal-detail-ingredients .meal-ingredient-meta small{font-size:10px!important;line-height:1.42!important}
.meal-detail-steps .meal-step-head strong{font-size:12px!important}
.meal-detail-steps .meal-step-head small{font-size:10px!important}
.meal-detail-steps p{font-size:11.7px!important;line-height:1.55!important}
.meal-finish-card span{font-size:8.8px!important}
.meal-finish-card p,.meal-chef-tip p{font-size:11.5px!important;line-height:1.5!important}
.meal-chef-tip b{font-size:11.5px!important}

/* Exact beta feedback selectors */
.global-feedback-button{font-size:9.5px!important}
.beta-feedback-kicker{font-size:8.8px!important}
.beta-feedback-head p{font-size:11.5px!important;line-height:1.48!important}
.beta-feedback-type span{font-size:10px!important}
.beta-feedback-field>span{font-size:10px!important}
.beta-feedback-field textarea{font-size:16px!important}
.beta-feedback-meta{font-size:9.3px!important}
.beta-feedback-submit{font-size:13px!important}
.beta-feedback-status{font-size:10px!important}
.beta-feedback-success p{font-size:11.5px!important;line-height:1.48!important}

/* V2.99.4.2 — horizontal app gestures without breaking vertical scroll. */
.wizard-stage,
.meal-detail-panel,
.fridge-recipe-panel{
  touch-action:pan-y;
  overscroll-behavior-x:contain;
}
