/* Mobile typography and touch layouts. Loaded last; desktop styles stay intact. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
.mobile-dock,.groups-toggle,.builder-metric>span,.muscle-map .map-list-toggle{display:none}
.builder-metric{min-width:0}
.exercise-filter-fields{display:contents}.mobile-filter-toggle{display:none}
.day-tab{width:auto;min-width:48px;padding-inline:9px}
@media screen and (max-width:900px){
  :root{--muted:#626c80}
  .header-row{position:relative}
  .header-row>.brand{position:absolute;left:50%;transform:translateX(-50%);text-align:center}
  .header-row>.brand small{display:none}
  .header-actions{width:100%;justify-content:space-between;margin:0}
  .header-actions .menu-btn{order:1}
  .header-actions [data-action="search"]{order:2}
  .wrap.page-content{padding-inline:24px}
  .body-layout,.builder-layout,.calorie-layout,.detail-columns,.detail-hero{min-width:0}
  .body-layout>*,.builder-layout>*,.calorie-layout>*,.detail-columns>*,.detail-hero>*{min-width:0}
  .page-top p,.section-head p,.portal p,.panel p,.panel li,.directory-body p,.catalog-card p,.article-body p,.prose p,.prose li{font-size:15px;line-height:2}
  input[type=text],input[type=number],input[type=search],input[type=email],select,textarea{font-size:16px!important;min-height:46px}
}
@media screen and (max-width:680px){
  :root{--mobile-gutter:18px;--dock-height:76px}
  html{scroll-padding-top:90px;scroll-padding-bottom:100px}
  body{font-size:16px;line-height:1.95;padding-bottom:calc(var(--dock-height) + env(safe-area-inset-bottom,0px));overflow-wrap:break-word}
  .wrap{padding-inline:var(--mobile-gutter)}
  .wrap.page-content{padding:28px var(--mobile-gutter) 40px}
  .site-header{height:76px}
  .header-row{gap:12px;padding-inline:var(--mobile-gutter)}
  .brand{flex-shrink:0}.wordmark{font-size:31px}
  .brand small{font-size:11px;letter-spacing:0;margin-top:7px;color:#626c80}
  .header-actions{gap:8px}.header-actions>.btn{display:none}
  .icon-btn{height:46px;width:46px;flex-shrink:0}
  .icon-btn svg{width:22px;height:22px}
  .mobile-dock{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));position:fixed;inset:auto 0 0;z-index:35;min-height:var(--dock-height);padding:7px max(8px,env(safe-area-inset-right,0px)) calc(7px + env(safe-area-inset-bottom,0px)) max(8px,env(safe-area-inset-left,0px));background:#fffffffa;border-top:1px solid #dfe4f0;box-shadow:0 -5px 25px #0c1a5710;backdrop-filter:blur(14px)}
  .mobile-dock>a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:60px;min-width:0;font-size:12px;font-weight:500;line-height:1.6;color:#636d84;border-radius:12px}
  .mobile-dock>a[aria-current=page]{color:var(--blue);background:#eff2ff;font-weight:800}
  .mobile-dock>a svg{width:23px;height:23px}
  .mobile-dock .dock-create svg{background:var(--blue);color:white;border-radius:9px;padding:5px;box-sizing:content-box;width:22px;height:22px}
  body:has(input:focus,textarea:focus,select:focus) .mobile-dock{display:none}
  .btn,.btn.small{font-size:15px;min-height:48px;padding:12px 18px;border-radius:12px;gap:8px;line-height:1.6}
  .btn:hover,.exercise-card:hover,.portal:hover,.category-tile:hover{transform:none}
  .text-link{font-size:14px;min-height:44px;line-height:1.8;align-items:center;gap:7px}
  .chip,.map-tabs .chip,.quick-exercises .chip,.source-sections .chip{font-size:14px;min-height:44px;padding:9px 15px;line-height:1.8}
  .pill,.image-pill{font-size:12px;line-height:1.8;padding:4px 9px}
  .eyebrow{font-size:12px;letter-spacing:.3px;line-height:1.9}
  .page-top{padding:24px 0 28px}.page-top .eyebrow{display:none}.page-top h1{font-size:28px;line-height:1.65;letter-spacing:-.5px;margin-bottom:12px}
  .page-top p{font-size:16px;line-height:2;max-width:100%}
  .breadcrumb{font-size:12px;flex-wrap:wrap;gap:5px;margin-bottom:16px;line-height:1.8}
  .breadcrumb a{display:inline-flex;align-items:center;min-height:36px}
  .hero-copy{padding:34px 0 16px}.hero h1{font-size:40px;line-height:1.55;letter-spacing:-1px;margin:20px 0}
  .hero p{font-size:16px;line-height:2.1;color:#d6dcfc}
  .hero-buttons{gap:12px;flex-wrap:wrap;margin:24px 0}.hero-buttons .btn{font-size:15px;flex:1;white-space:nowrap;padding:13px 14px}
  .hero-note{font-size:12px;gap:10px 17px;flex-wrap:wrap;line-height:1.9}.hero-note svg{width:16px;height:16px}
  .hero-visual{height:265px;width:86%;margin-top:28px}.hero-vertical{font-size:10px;letter-spacing:2px}
  .hero-stamp{font-size:11px;line-height:1.7;width:76px;height:76px;left:-17px}
  .floating-card{right:-15px;bottom:24px;padding:13px;gap:10px}.floating-card strong{font-size:14px}.floating-card small{font-size:12px;line-height:1.8}
  .floating-card .icon{height:40px;width:40px}.ticker{font-size:12px;gap:24px;padding:12px 18px}
  .section{padding:38px 0}.section-head{align-items:start;flex-wrap:wrap;gap:10px;margin-bottom:22px}
  .section-head>div{min-width:0;flex:1 1 220px}.section-head h2,.catalog-overview .section-head h2{font-size:23px;line-height:1.7;margin-top:8px}
  .section-head p,.catalog-overview .section-head p{font-size:15px;line-height:1.95}
  .section-head .text-link{font-size:14px;white-space:normal;min-height:44px}
  .portal-grid{gap:12px}.portal{padding:20px 15px}.portal h3{font-size:17px;line-height:1.9;margin-bottom:7px}.portal p{font-size:14px;line-height:2}
  .portal .portal-icon{margin-bottom:18px;width:44px;height:44px}.portal .portal-arrow{left:12px;top:27px}
  .exercise-grid,.body-layout .exercise-grid{grid-template-columns:minmax(0,1fr);gap:14px}
  .muscle-map{display:block;padding:20px 16px}
  .exercise-card>a{display:flex;flex-direction:column;min-height:0}
  .exercise-card .exercise-image,.imported-grid .exercise-image{width:100%;height:auto;min-height:0;aspect-ratio:16/9;position:relative}
  .exercise-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
  .imported-grid .exercise-image img{object-fit:cover;filter:none}
  .exercise-image .image-pill{right:7px;top:8px;font-size:12px;padding:3px 7px;background:#d9f477;color:#14213c}
  .exercise-image .mobile-image-pill{display:inline-flex}
  .exercise-body{display:flex;flex-direction:column;padding:14px 14px 12px;min-width:0}.exercise-body .image-pill{display:none}.exercise-body h3,.imported-grid .exercise-body h3{font-size:15px;line-height:1.7;min-height:0;display:block;margin:0 0 4px;padding-left:0}
  .exercise-body .english,.imported-grid .exercise-body .english{font:12px/1.5 Arial,sans-serif;height:auto;min-height:0;overflow:visible;overflow-wrap:anywhere;margin-bottom:7px}
  .card-bottom{font-size:12px;line-height:1.7;gap:4px;align-items:start;padding-top:8px}.imported-grid .card-bottom>span{white-space:normal;overflow:visible;text-overflow:clip;max-width:none;flex:1}
  .card-bottom svg{width:15px;min-width:15px;margin-top:4px}.save-btn{left:7px;top:7px;width:44px;height:44px;background:#ffffffed}.save-btn svg{width:19px;height:19px}
  .exercise-body h3{padding-left:34px}.muscle-row{gap:9px;margin-left:0;scroll-snap-type:x proximity}.muscle-row>.chip{scroll-snap-align:start;flex-shrink:0}
  .catalog-stats{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px;padding:17px 6px;gap:0;border-radius:15px}.catalog-stats>span{font-size:12px;line-height:1.8;padding-inline:4px}.catalog-stats b{font-size:23px;margin-bottom:4px}.catalog-stats>span:nth-child(2){border-left:1px solid var(--line)}
  .catalog-overview{margin-bottom:18px}.catalog-overview .section-head{display:none}
  .groups-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:52px;padding:12px 16px;margin-bottom:16px;border:1px solid #d6ddef;border-radius:12px;background:#fff;color:var(--blue);font:600 15px/1.8 IRANSansXFaNum,Tahoma,sans-serif}
  .groups-toggle svg{transition:transform .2s;transform:rotate(-90deg)}.groups-toggle[aria-expanded=true] svg{transform:rotate(90deg)}
  .category-grid{display:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.category-grid.is-expanded{display:grid}
  .category-tile{padding:16px;min-height:108px}.category-tile>span{font-size:16px}.category-tile small{font-size:12px;line-height:1.8}.category-tile b{font-size:13px;margin-top:9px}
  .quick-exercises{gap:8px;margin-bottom:16px;margin-left:calc(-1 * var(--mobile-gutter));padding-inline-end:var(--mobile-gutter)}.quick-exercises>span{font-size:13px}
  .toolbar{padding:16px;gap:12px;border-radius:15px;margin-bottom:18px}.toolbar .search-box{min-width:0;flex-basis:100%}
  .search-box input{padding-right:44px!important}.search-box svg{top:16px;right:13px}
  input[type=text],input[type=number],input[type=search],input[type=email],select,textarea,.input{font-size:16px!important;line-height:1.6;min-height:48px;padding:12px;border-color:#cdd5e5;border-radius:10px;max-width:100%}
  .toolbar select{font-size:16px;flex:1 1 100%;width:100%;max-width:100%;padding-inline:12px}
  .toolbar .checkbox-line{flex:1 1 100%}.checkbox-line{font-size:14px;min-height:44px;line-height:1.9}.checkbox-line input,.choice input,.directory-actions input{width:21px;height:21px;flex-shrink:0;accent-color:var(--blue)}
  .toolbar .remove-btn{font-size:14px;min-height:44px}.result-count{font-size:14px;line-height:1.8;white-space:normal}
  .exercise-filter-fields{display:none}.exercise-filter-fields.is-expanded{display:flex;flex-direction:column;gap:12px;flex:1 1 100%;width:100%}
  .mobile-filter-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:10px 12px;font:600 14px/1.8 IRANSansXFaNum,Tahoma,sans-serif;background:#eff3ff;border:1px solid #d9e0f4;border-radius:10px;color:var(--blue);flex:1}
  .mobile-filter-toggle svg{width:16px;transform:rotate(-90deg)}.mobile-filter-toggle[aria-expanded=true] svg{transform:rotate(90deg)}.exercise-toolbar .result-count{font-size:13px}
  .exercise-pagination{padding-top:24px}.exercise-pagination .btn{width:100%}.exercise-pagination p{font-size:13px}
  .panel{padding:21px 18px;border-radius:16px;margin-bottom:18px}.panel h2{font-size:22px;line-height:1.8}.panel h3{font-size:18px;line-height:1.8}.panel p,.panel li{font-size:16px;line-height:2}
  .notice,.notice.demo{font-size:14px;line-height:2.05;padding:14px 16px;overflow-wrap:anywhere}.demo-label{font-size:13px;line-height:1.9}
  .program-banner{padding:25px 21px;gap:24px}.program-banner h2,.nutrition-banner h2{font-size:27px;line-height:1.8}.program-banner p,.nutrition-banner p{font-size:16px;line-height:2}
  .mini-plan{transform:none;margin:0;padding:18px;box-shadow:7px 9px 0 #08178c0c}.mini-plan-head{gap:8px;flex-wrap:wrap;font-size:15px}.mini-plan-head small{font-size:12px}.mini-plan-row{font-size:14px;gap:8px;line-height:1.9}.mini-plan-row em{font-size:13px;flex-shrink:0}
  .nutrition-banner>div{padding:25px 21px}.nutrition-banner>img{height:210px}.more-links{gap:12px;align-items:center}.more-links .btn{max-width:100%}
  .bottom-cta{padding:40px 20px}.bottom-cta h2{font-size:29px}.bottom-cta p{font-size:16px;line-height:2}
  .directory-body h3{font-size:20px;line-height:1.8}.directory-body p{font-size:16px;line-height:2}.directory-actions{flex-wrap:wrap;gap:12px}.directory-actions label{font-size:14px;min-height:44px}.directory-meta{gap:8px}
  .catalog-card{padding:23px}.catalog-card h3{font-size:20px}.catalog-card .english{font-size:14px;line-height:1.8}.catalog-card p{font-size:16px;line-height:2}
  .detail-hero{gap:24px;margin-bottom:24px}.detail-hero h1{font-size:30px;line-height:1.8;overflow-wrap:anywhere}.detail-hero p{font-size:16px;line-height:2}.english-large{font-size:16px;line-height:1.8}
  .detail-list{gap:12px}.detail-list>div{padding:15px}.detail-list small{font-size:13px;margin-bottom:5px}.detail-list b{font-size:16px;line-height:1.9}
  .exercise-video{height:auto;aspect-ratio:16/10;max-height:360px}.media-caption{font-size:13px!important;line-height:2}.media-caption a{display:inline-flex;min-height:44px;align-items:center}
  .steps-list li{font-size:16px;line-height:2.1;gap:12px;padding:15px 0}.steps-list li:before{width:30px;height:30px}
  .source-sections{gap:10px}.source-sections .chip{flex:1 1 44%;white-space:normal;justify-content:space-between}
  .related-exercise-list>a{font-size:15px;line-height:1.9;padding:13px;gap:12px}.related-exercise-list small{font-size:13px}.related-exercise-list img{width:70px;height:55px}
  .form-grid{grid-template-columns:minmax(0,1fr);gap:0}.field{font-size:15px;line-height:1.8;gap:8px;margin-bottom:20px}.field>small{font-size:13px;line-height:1.9}
  .form-panel{padding:24px 18px}.form-panel h2{font-size:24px;line-height:1.8}.form-panel>p,.form-panel form>p{font-size:16px;line-height:2}
  .choice{font-size:16px;line-height:1.9;min-height:54px;padding:13px 15px;flex:1 1 100%;align-items:start}.choice input{margin-top:5px}
  .wizard-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 10px;margin-bottom:24px}.wizard-step{font-size:13px;padding-top:8px;line-height:1.9}.wizard-step b{display:inline;font-size:14px;margin-left:5px}
  .form-buttons{gap:12px;position:static}.form-buttons .btn{flex:1;padding-inline:10px}.form-error{font-size:14px;line-height:1.9}
  .day-tabs{flex-wrap:nowrap;overflow-x:auto;gap:8px;padding-bottom:7px;scroll-snap-type:x proximity;margin:22px 0}.day-tab{min-width:68px;width:auto;height:50px;flex-shrink:0;padding:8px 12px;font-size:14px;scroll-snap-align:start}
  .builder-row{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 10px;border:1px solid var(--line);border-radius:13px;padding:18px 12px;margin:14px 0;background:#fbfcff}
  .builder-row.row-labels{display:none}.builder-row .row-name{grid-column:1/-1;font-size:16px;line-height:1.9;padding-left:42px}.builder-row small{font-size:13px;line-height:1.9;margin-top:3px}
  .builder-metric{display:flex;flex-direction:column;gap:7px}.builder-metric>span{display:block;font-size:12px;color:#566179;white-space:nowrap}.builder-row .builder-metric input{font-size:16px;width:100%;min-height:48px;padding:10px 5px;text-align:center}
  .builder-row>.remove-btn{position:absolute;top:10px;left:8px;width:44px;height:44px;display:grid;place-items:center}.builder-row>.remove-btn svg{width:20px;height:20px}
  .builder-side{order:0}.builder-side .btn{width:100%}.builder-side .more-links .text-link{width:100%;justify-content:center}.builder-layout{gap:0}
  .program-head{flex-wrap:wrap;gap:12px}.program-head h1{font-size:25px;line-height:1.8}.stats{gap:8px}.stat{padding:16px 7px}.stat strong{font-size:25px}.stat small{font-size:13px;line-height:1.9}
  .program-day h3{font-size:17px;padding:15px}.program-day table{font-size:14px;table-layout:fixed}.program-day th:first-child,.program-day td:first-child{width:46%}.program-day th,.program-day td{font-size:13px;line-height:1.9;padding:13px 7px;overflow-wrap:break-word}.program-day th{font-size:12px}.program-actions{gap:10px}.program-actions .btn{flex:1 1 44%}
  .food-grid{grid-template-columns:minmax(0,1fr);gap:15px}.food-card{padding:21px}.food-top{gap:15px}.food-emoji{font-size:33px}.food-card h3{font-size:20px;margin-top:14px}.food-card p{font-size:14px;line-height:1.9}.food-kcal strong{font-size:29px}.food-kcal small{font-size:13px;line-height:1.8}.macros{font-size:13px;line-height:1.9;gap:8px;padding-top:14px;margin:16px 0}.food-card .btn{font-size:15px}
  .plate{padding:23px}.plate h2{font-size:24px}.plate>p{font-size:14px;line-height:1.9}.calorie-ring{width:132px;height:132px;margin:18px auto}.calorie-ring strong{font-size:33px}.calorie-ring small{font-size:13px}.plate-macros{font-size:13px;line-height:1.9}.plate-macros b{font-size:20px}.plate-item{font-size:15px;padding:13px 0;gap:12px}.qty{gap:9px;flex-shrink:0}.qty button{width:44px;height:44px;font-size:23px}.qty span{font-size:16px;min-width:18px;text-align:center}.plate label{font-size:14px}.plate input[type=range]{height:44px}.plate .clear-plate{font-size:15px;min-height:48px}
  .timeline .chip{font-size:14px;min-height:48px;padding:12px 18px}.time-panel{padding:24px 20px}.time-panel h2{font-size:24px;line-height:1.8}.time-panel p{font-size:16px;line-height:2}
  .article-body{padding:23px}.article-body h3{font-size:20px;line-height:1.9}.article-body p{font-size:16px;line-height:2}.article-meta{font-size:13px;gap:10px;align-items:center}
  .prose h2{font-size:24px;line-height:1.8}.prose p,.prose li{font-size:16px;line-height:2.1}.prose .lead{font-size:19px}.faq{padding:20px 0}.faq summary{font-size:17px;line-height:1.9;min-height:44px}.faq p{font-size:16px;line-height:2}
  .empty{padding:38px 20px}.empty h3{font-size:20px;line-height:1.9}.empty p{font-size:15px;line-height:2}
  .modal-backdrop{padding:0;place-items:stretch;align-items:stretch}.modal{border-radius:0;width:100%;max-width:none;min-height:100dvh;max-height:100dvh;overflow-y:auto;padding:calc(22px + env(safe-area-inset-top,0px)) 20px calc(24px + env(safe-area-inset-bottom,0px));box-shadow:none}
  .modal h2,.drawer h2{font-size:25px;line-height:1.8;padding-left:50px}.modal .modal-close,.drawer .drawer-close{position:sticky;top:0;background:#fff;z-index:3}.modal p,.modal li,.drawer p,.drawer li{font-size:16px;line-height:2}
  .modal-results{max-height:calc(100dvh - 220px);max-height:calc(100svh - 220px)}.search-result{font-size:16px;line-height:1.9;padding:15px 5px;gap:12px;min-height:68px}.search-result>div{min-width:0}.search-result small{font-size:13px;line-height:1.9}.search-result .btn{flex-shrink:0}
  .drawer{width:100%;padding:24px;max-height:100dvh}.drawer h3{font-size:19px;line-height:1.8}.drawer-image{height:220px}.mobile-nav a{font-size:17px;min-height:56px;line-height:1.8;padding:15px 0}
  .compare-bar{bottom:calc(var(--dock-height) + env(safe-area-inset-bottom,0px) + 12px);padding:15px;gap:12px}.compare-bar span{font-size:14px;line-height:1.9}.compare-bar .btn{font-size:14px}
  .site-footer{padding-top:36px}.footer-grid{gap:28px 20px}.footer-grid h2{font-size:17px;margin-bottom:12px}.footer-grid p{font-size:14px;line-height:2.05}.footer-grid a:not(.brand){display:flex;align-items:center;min-height:44px;font-size:15px;margin:2px 0;line-height:1.9}.footer-grid .eyebrow{font-size:12px}.footer-bottom{font-size:13px;line-height:2;gap:12px}.footer-bottom>span:last-child{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.footer-bottom a{min-height:44px;display:inline-flex;align-items:center}
  #toast{bottom:calc(var(--dock-height) + env(safe-area-inset-bottom,0px) + 14px);font-size:15px;line-height:1.9;max-width:calc(100vw - 30px);width:max-content;padding:12px 18px}
}
@media screen and (max-width:680px){
  .muscle-map .map-list-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:48px;padding:10px 14px;margin:10px 0 0;border:1px solid #d6ddef;border-radius:12px;background:#fff;color:var(--blue);font:600 14px/1.8 IRANSansXFaNum,Tahoma,sans-serif;text-align:right}
  .muscle-map .map-list-toggle svg{width:18px;height:18px;transition:transform .2s}
  .muscle-map .map-list-toggle[aria-expanded=true] svg{transform:rotate(90deg)}
  .muscle-map .map-muscle-list{display:none}
  .muscle-map .map-muscle-list.is-expanded{display:grid}
}
@media screen and (max-width:360px){
  :root{--mobile-gutter:15px}.wordmark{font-size:28px}.brand small{font-size:10px}.header-actions{gap:5px}.hero h1{font-size:36px}.hero-buttons{flex-direction:column}.hero-buttons .btn{width:100%;flex:auto}.portal-grid{grid-template-columns:1fr}.exercise-card>a{grid-template-columns:96px minmax(0,1fr)}.exercise-body{padding:14px 10px}.category-tile{padding:14px 12px}.category-tile>span{font-size:15px}.mobile-dock>a{font-size:11px}.form-buttons .btn{font-size:14px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
@media print{.mobile-dock,.groups-toggle{display:none!important}body{padding-bottom:0}}

/* Match the mobile dock to its visible items when the bank is paused. */
@media(max-width:680px){.mobile-dock{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr)}}

.exercise-filter-actions,.exercise-sort-pill{display:contents}
@media screen and (max-width:680px){
  .exercise-toolbar{display:flex;gap:10px;padding:0;margin-bottom:18px;border:0;background:transparent}
  .exercise-toolbar .search-box{flex:1 1 100%;min-width:0}
  .exercise-toolbar .search-box input{min-height:54px;padding:12px!important;padding-left:58px!important;min-height:54px;border:1px solid #dfe3ee;border-radius:999px;background:#f5f6fa}
  .exercise-toolbar .search-box svg{left:7px;right:auto;top:50%;width:40px;height:40px;padding:11px;border-radius:50%;background:#08178c;color:#fff;transform:translateY(-50%)}
  .exercise-filter-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:10px;flex:1 1 100%;width:100%;min-width:0;box-sizing:border-box}
  .exercise-toolbar .mobile-filter-toggle{width:100%;justify-content:center;gap:8px;min-width:0;min-height:46px;padding:8px 12px;border:1px solid #e2e5ec;border-radius:999px;background:#f5f6fa;color:#151c34;font-size:14px;white-space:nowrap;flex:none}
  .exercise-toolbar .mobile-filter-toggle[aria-expanded=true]{background:#08178c;color:#fff}
  .exercise-toolbar .mobile-filter-toggle:focus-visible,.exercise-toolbar .exercise-sort-pill:focus-within{outline:3px solid #aab8ff;outline-offset:2px}
  .exercise-toolbar .mobile-filter-toggle>span:first-child{flex:0 0 auto;white-space:nowrap}
  .exercise-toolbar .mobile-filter-toggle svg{width:18px;height:18px;flex-shrink:0}
  .active-filter-count{display:grid;place-items:center;flex:0 0 auto;min-width:24px;height:24px;padding:0 5px;border-radius:999px;background:#e3e8ff;color:#08178c;font-size:12px;line-height:1;white-space:nowrap}
  .exercise-toolbar .mobile-filter-toggle[aria-expanded=true] .active-filter-count{background:#fff;color:#08178c}
  .exercise-toolbar .active-filter-count[hidden]{display:none}
  .exercise-sort-pill{position:relative;display:flex;align-items:center;width:100%;min-width:0;min-height:46px;border:1px solid #e2e5ec;border-radius:999px;background:#f5f6fa}
  .exercise-sort-pill svg{position:absolute;inset-inline-start:auto;left:auto;right:8px;width:18px;height:18px;color:#566176;pointer-events:none;flex-shrink:0}
  .exercise-toolbar .exercise-sort-select{flex:1;width:100%;min-width:0;max-width:none;min-height:44px;padding:8px 40px 8px 30px;border:0;border-radius:999px;background-color:transparent;color:#151c34;font-size:13px;white-space:nowrap;text-overflow:ellipsis}
  .exercise-filter-fields.is-expanded{display:flex;flex:1 1 100%;flex-direction:row;flex-wrap:nowrap;gap:8px;width:100%;overflow-x:auto;overflow-y:hidden;padding:1px 0 5px;scrollbar-width:none;-ms-overflow-style:none}
  .exercise-filter-fields.is-expanded::-webkit-scrollbar{display:none}
  .exercise-toolbar .exercise-filter-fields select{flex:0 0 auto;width:auto;max-width:190px;min-height:44px;padding:8px 30px 8px 14px;border:0;border-radius:999px;background-color:#f5f6fa;font-size:13px}
  .exercise-toolbar .checkbox-line{flex:0 0 auto;min-height:44px;padding:0 14px;border-radius:999px;background:#f5f6fa;font-size:13px;white-space:nowrap}
  .exercise-toolbar .remove-btn{flex:0 0 auto;padding:0 14px;border-radius:999px;background:#fff1e8;color:#bd5318;font-size:13px;white-space:nowrap}
  .exercise-toolbar .result-count{flex:1 1 100%;font-size:13px;line-height:1.8}
}

@media screen and (max-width:680px){
  .page-top{padding-bottom:24px}
  .wrap.page-content{padding-top:24px;padding-bottom:32px}
  .catalog-overview{margin-bottom:16px}
  .catalog-stats{margin-bottom:16px}
  .groups-toggle{margin-bottom:16px}
  .quick-exercises{margin-bottom:16px}
  .exercise-toolbar{gap:8px;margin-bottom:16px}
  .exercise-filter-actions{gap:8px}
  .exercise-grid,.body-layout .exercise-grid{gap:16px}
  .exercise-pagination{padding-top:16px}
}

/* RTL calorie controls: reserve icon space independently of native controls. */
.calorie-layout .toolbar .search-box{min-width:0}
.calorie-layout .toolbar .search-box input{padding-inline-start:44px!important;padding-inline-end:14px!important}
.calorie-layout .toolbar .search-box>svg{position:absolute;inset-inline-start:14px;inset-inline-end:auto;top:50%;width:20px;height:20px;transform:translateY(-50%);color:#566176;pointer-events:none}
.calorie-layout .toolbar select{-webkit-appearance:none;appearance:none;direction:rtl;padding-inline-start:14px;padding-inline-end:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2308178c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:left 12px center;background-size:18px 18px}

/* Consistent Persian numerals in the calorie summary. */
.calorie-layout .plate :is(.calorie-ring strong,.plate-macros b,.plate-macros b small,.qty span){font-family:IRANSansXFaNum,Tahoma,sans-serif!important;font-style:normal;font-variant-numeric:tabular-nums;letter-spacing:0}
.calorie-layout .plate .plate-macros b{direction:ltr;unicode-bidi:isolate;display:flex;align-items:baseline;justify-content:center;gap:4px}
.calorie-layout .plate .plate-macros b small{font-size:.7em;font-weight:400}

/* Nutritional provenance uses native disclosure to keep food cards scannable. */
.food-card{min-width:0;display:flex;flex-direction:column}
.food-card .food-info{margin:12px 0;border-top:1px solid var(--line);font-size:12px;line-height:1.9}
.food-card .food-info summary{min-height:44px;display:list-item;align-content:center;cursor:pointer;color:var(--blue);padding-block:8px}
.food-card .food-info summary:focus-visible{outline:3px solid var(--cyan);outline-offset:2px;border-radius:6px}
.food-info-body{padding-bottom:12px;overflow-wrap:anywhere}
.food-info-body p{font-size:12px;margin:8px 0}
.food-info-body dl{margin:0;display:grid;gap:5px}
.food-info-body dl>div{display:flex;justify-content:space-between;gap:10px}
.food-info-body dd{margin:0;font-variant-numeric:tabular-nums}
.food-info-body ul{padding-inline-start:20px;margin-block:8px}
.food-info-body a{text-decoration:underline;text-underline-offset:3px;display:inline-block;min-height:44px;align-content:center}
.food-card>.btn{margin-top:auto;min-height:44px}
