/* Project-wide responsive safeguards. Loaded last in every layout. */
html,body{width:100%;max-width:100%;overflow-x:clip}body{min-width:0}img,svg,video,canvas{max-width:100%}main,section,article,aside,header,footer,nav,form,fieldset,.app-shell,.page-shell,.page-content,.public-content,.landing-section,.section-content,.search-results{min-width:0}fieldset{min-inline-size:0}h1,h2,h3,p,strong,small,span,a{overflow-wrap:anywhere}.field,.field>input,.field>textarea,.field>select,.modern-select,.modern-select-trigger,.search-field,.search-field input{min-width:0;max-width:100%}.table-panel,.table-scroll{width:100%;max-width:100%}.table-scroll{overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.dialog{max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow-y:auto}.toast{max-width:calc(100vw - 24px)}

@media(max-width:1100px){
  .quick-links,.catalog-grid{grid-template-columns:minmax(0,1fr)}
  .attribute-row{align-items:flex-start;flex-wrap:wrap}
  .attribute-row>div:first-child{min-width:0;flex:1 1 180px}
  .attribute-row .tag-list{flex:1 1 100%}
}

@media(max-width:900px){
  .sidebar{width:min(84vw,300px);max-width:100%;overflow-y:auto;overscroll-behavior:contain;box-shadow:-22px 0 55px rgba(10,12,30,.22)}
  .page-shell,.page-content{max-width:100%;min-width:0}
  .page-content{padding:22px 18px 86px}
  .topbar{min-width:0;height:66px;gap:10px;padding-inline:14px}
  .top-search{min-width:0;max-width:none}
  .top-actions{flex:0 0 auto;gap:3px}
  .dashboard-grid,.settings-grid,.appearance-layout,.product-detail,.store-layout,.offer-detail-hero{grid-template-columns:minmax(0,1fr)}
  .store-side,.smtp-test,.appearance-preview-wrap{position:static}
  .table-panel{overflow:hidden}
  table{min-width:720px}
  .stores-map{height:calc(100dvh - 160px);min-height:430px}
  .map-toolbar{align-items:flex-start;gap:12px}
  .bottom-sheet{max-width:100%}
  .landing-hero,.about-grid,.map-landing-section,.join-section{grid-template-columns:minmax(0,1fr)}
  .landing-hero>*,.about-grid>*,.map-landing-section>*,.join-section>*{min-width:0}
  .public-header{max-width:100%}
}

@media(max-width:700px){
  input,select,textarea{font-size:16px}
  .page-content{padding:18px 12px 82px}
  .public-content{padding:20px 12px 56px}
  .panel{padding:17px;border-radius:14px}
  .page-head,.section-head,.panel-head{align-items:flex-start;flex-direction:column;gap:10px}
  .page-head{margin-block-end:18px}
  .page-head>div,.page-head>.button,.page-head>a.button{width:100%}
  .page-head h1{font-size:25px}
  .page-head>.button,.page-head>a.button{justify-content:center}
  .form-grid,.profile-grid,.theme-color-grid{grid-template-columns:minmax(0,1fr)}
  .span-2{grid-column:auto}
  .filter-bar{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%;overflow:visible;gap:8px}
  .filter-bar>.search-field{grid-column:1/-1;width:100%;min-width:0}
  .filter-bar>.select,.filter-bar>.modern-select{width:100%;min-width:0;max-width:100%;flex-basis:auto}
  .filter-bar>.button{width:100%}
  .results-toolbar,.drawer-results-toolbar{align-items:stretch;flex-wrap:wrap;justify-content:space-between;gap:8px}
  .results-toolbar .sort-control,.drawer-results-toolbar .sort-control{min-width:0;flex:1}
  .results-toolbar .sort-control form,.drawer-results-toolbar .sort-control form{width:100%}
  .results-toolbar .sort-control .select,.drawer-results-toolbar .sort-control .select{width:100%;min-width:0}
  .filter-drawer-trigger{flex:0 0 auto}
  .list-item,.seller-card{align-items:flex-start;flex-wrap:wrap}
  .list-item>.button,.seller-card>.button{width:100%}
  .approval-actions{flex-wrap:wrap}
  .catalog-card .panel-head{align-items:stretch}
  .catalog-card .panel-head>div{min-width:0}
  .catalog-status-badges{align-self:flex-start;flex-wrap:wrap}
  .attribute-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto}
  .attribute-row>div:first-child,.attribute-row .tag-list{grid-column:1/-1;width:100%}
  .attribute-row>form{margin:0}
  .dialog{width:calc(100vw - 24px);padding:20px 16px;border-radius:16px}
  .dialog h2{padding-inline-end:32px;font-size:20px}
  .toast-stack{inset-block-start:10px;inset-inline:10px}
  .toast{width:100%;min-width:0}
  .auth-wrap{padding:20px 12px}
  .auth-panel,.auth-panel.wide-panel{width:100%;padding:24px 17px}
  .guest-nav{height:64px;padding-inline:12px}
  .guest-nav .brand{font-size:17px}
  .guest-nav>.button{padding-inline:10px;font-size:12px}
  .profile-hours .hours-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:13px}
  .profile-hours .hours-row>strong{align-self:center}
  .profile-hours .closed-check{justify-self:end}
  .profile-hours .time-field{grid-row:auto!important;display:flex;min-width:0;flex-direction:column;align-items:stretch;gap:5px}
  .profile-hours .time-field input{width:100%;min-width:0}
  .profile-hours .time-separator{display:none}
  .coordinate-fields{grid-template-columns:minmax(0,1fr)}
  .profile-location-map{max-width:100%}
  .product-step-card,.offer-form-section{width:100%;min-width:0}
  .offer-form-actions{align-items:stretch;display:grid;grid-template-columns:1fr 2fr;position:sticky}
  .offer-form-actions .button{width:100%}
  .offer-current-image{align-items:flex-start;flex-direction:column}
  .offer-current-image img{width:100%;height:auto;max-height:220px}
  .offer-detail-media,.offer-detail-media img{width:100%;min-height:0;aspect-ratio:4/3}
  .store-public-hero,.store-cover-frame,.store-profile-header{max-width:100%}
  .store-category-filter-chips,.tabs{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}
  .map-toolbar{flex-direction:column}
  .map-toolbar>*{width:100%}
  .map-count{max-width:calc(100% - 24px);white-space:normal;text-align:center}
  .landing-section{padding-inline:16px}
  .landing-hero{width:100%;min-height:auto;gap:34px;padding:42px 16px 34px;overflow:hidden}
  .landing-hero-copy{width:100%;max-width:100%;min-width:0;text-align:center}
  .landing-hero h1{max-width:100%;margin:12px 0 16px;font-size:clamp(34px,9.5vw,41px);line-height:1.2;letter-spacing:-.025em}
  .landing-hero-copy>p{width:100%;max-width:100%;margin-inline:auto;font-size:15px;line-height:1.85}
  .landing-search{display:grid;grid-template-columns:minmax(0,1fr);width:100%;max-width:100%;margin-block-start:22px;padding:7px}
  .landing-search>span{inset-block-start:20px}
  .landing-search input{width:100%;min-width:0;padding-inline:38px 10px;text-overflow:ellipsis}
  .landing-search .button{width:100%;min-width:0}
  .hero-actions{display:grid;grid-template-columns:minmax(0,1fr);width:100%;gap:8px;margin-block-start:14px}
  .hero-actions .button,.hero-actions .text-link{display:flex;align-items:center;justify-content:center;width:100%;min-width:0;min-height:44px;padding:8px 10px;white-space:normal}
  .trust-row{justify-content:center;width:100%;gap:7px 12px;margin-block-start:16px;font-size:10px}
  .landing-hero-visual{width:100%;max-width:100%;height:360px;min-width:0;overflow:hidden}
  .hero-live-map{width:100%;max-width:100%;height:340px;border-radius:25px}
  .network-glow{max-width:82vw;max-height:82vw}
  .phone-mock{max-width:88vw}
  .join-section{margin-inline:12px;padding-inline:18px}
  .join-card{width:100%;min-width:0}
  .landing-footer,.public-footer{max-width:100%}
  .public-header{gap:10px;padding:10px 12px}
  .public-header .brand{flex:0 0 auto}
  .public-actions{margin-inline-start:auto}
  .public-search,.public-links{flex-basis:100%;width:100%;max-width:100%}
  .landing-reveal-enabled .scroll-reveal.reveal-from-right,.landing-reveal-enabled .scroll-reveal.reveal-from-left{translate:0 18px}
  .landing-reveal-enabled .scroll-reveal.is-visible{translate:0 0}
}

@media(max-width:480px){
  .topbar{padding-inline:9px}
  .top-actions .button.ghost{padding-inline:9px;font-size:12px}
  .panel{padding:14px}
  .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .stat-card{min-width:0;padding:11px;gap:8px}
  .stat-card span{font-size:10px}
  .stat-card strong{font-size:18px}
  .filter-bar{grid-template-columns:minmax(0,1fr)}
  .filter-bar>*{grid-column:1!important}
  .product-progress{padding-inline:5px}
  .product-form-actions>div:last-child{grid-template-columns:minmax(0,1fr)}
  .product-form-actions .button{width:100%}
  .product-color-options{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .color-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .modern-price-range{grid-template-columns:minmax(0,1fr)}
  .modern-price-range>i{display:none}
  .filter-location-card{grid-template-columns:34px minmax(0,1fr)}
  .filter-location-card .location-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}
  .offer-manage-content{padding:15px}
  .offer-manage-facts{grid-template-columns:minmax(0,1fr)}
  .offer-manage-facts>div,.offer-manage-facts>div:nth-child(2),.offer-manage-facts>div:last-child{grid-column:auto;padding:8px 0;border:0;border-block-end:1px solid var(--line)}
  .offer-manage-actions{grid-template-columns:minmax(0,1fr)}
  .offer-detail-items article{display:grid;grid-template-columns:64px minmax(0,1fr)}
  .offer-item-image{width:64px;height:64px;flex-basis:64px}
  .offer-item-facts{grid-column:1/-1;padding-inline-start:0}
  .store-profile-copy h1{font-size:20px}
  .store-contact-actions{grid-template-columns:minmax(0,1fr)!important}
  .map-store-sheet .sheet-actions{grid-template-columns:minmax(0,1fr)}
  .landing-actions .button,.public-actions .button{padding-inline:10px;font-size:12px}
  .landing-nav .brand,.public-header .brand{font-size:17px}
  .join-card-benefits{grid-template-columns:minmax(0,1fr)}
  .landing-hero{padding-inline:12px}
  .landing-hero h1{font-size:clamp(32px,9.2vw,38px)}
  .landing-hero-visual{height:345px}
  .hero-live-map{height:325px}
  .live-network-glow{width:290px;height:290px}
  .live-store-node{width:112px;padding:6px}
  .live-store-node strong{font-size:9px}
  .live-store-node small{font-size:7px}
  .live-nearby-counter{max-width:calc(100% - 12px);min-width:0}
}

@media(max-width:380px){
  .product-grid,.public-content .product-grid,.offer-grid,.store-offer-grid,.offers-results-grid{grid-template-columns:minmax(0,1fr)!important}
  .product-image,.offer-card-media{height:210px}
  .stats-grid{grid-template-columns:minmax(0,1fr)}
  .landing-nav .brand>span:last-child{display:none}
}

@media(hover:none){
  .button:hover,.product-card:hover,.offer-card:hover,.category-card:hover,.offer-manage-card:hover{transform:none}
}

@media(prefers-reduced-motion:reduce){
  .sidebar,.bottom-sheet,.filter-panel,.drawer-backdrop,.action-menu{scroll-behavior:auto;transition-duration:.01ms!important}
}
