body{font-family:var(--bgsm-font-sans);}
.small-muted{color:#64748b;}
.section-kicker{display:inline-flex;align-items:center;gap:.45rem;font-size:.8rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#2563eb;margin-bottom:.75rem;}
.step-anchor-nav{display:flex;flex-wrap:wrap;gap:.55rem;margin-bottom:1rem;}
.sticky-summary{position:sticky;top:96px;}
.checkout-section-card,
.bgsm-surface-card{padding:1.15rem;border-radius:var(--bgsm-radius-md);border:var(--bgsm-border);background:#fff;box-shadow:var(--bgsm-shadow-sm);}
@media (max-width: 991.98px){.sticky-summary{position:static;}}

.media-cover-220{height:220px;object-fit:cover;}
.search-input-wide{min-width:260px;}
.aspect-ratio-map{--bs-aspect-ratio:42%;}
@media (max-width: 767.98px){
  .search-input-wide{min-width:0;width:100%;}
  .media-cover-220{height:200px;}
  .aspect-ratio-map{--bs-aspect-ratio:68%;}
  .section-kicker{font-size:.74rem;}
}


/* Phase D: accessibility + mobile QA */
html{scroll-behavior:smooth;}
body{line-height:1.5;-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility;}
img,svg,video,canvas{max-width:100%;height:auto;}
a,button,[role="button"],input,select,textarea,.btn{touch-action:manipulation;}
.skip-link{position:absolute;left:1rem;top:-3rem;z-index:2000;padding:.75rem 1rem;border-radius:14px;background:#0f172a;color:#fff;text-decoration:none;box-shadow:0 12px 30px rgba(15,23,42,.22);transition:top .2s ease;}
.skip-link:focus{top:1rem;color:#fff;}
.visually-hidden-focusable:not(:focus):not(:focus-within){position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;}
:focus-visible{outline:3px solid rgba(37,99,235,.45);outline-offset:2px;}
a:focus-visible,button:focus-visible,.btn:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.form-check-input:focus-visible{box-shadow:0 0 0 .25rem rgba(37,99,235,.18)!important;}
.navmenu a,.dropdown-item,.navbar .btn{min-height:44px;display:inline-flex;align-items:center;}
.table-responsive{scrollbar-width:thin;}
@media (max-width: 575.98px){
  .container,.container-fluid,.container-xl{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right));}
  h1,.h1{font-size:clamp(1.75rem,7vw,2.4rem);}
  h2,.h2{font-size:clamp(1.4rem,5.8vw,1.95rem);}
  .btn,.form-control,.form-select{min-height:46px;}
}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important;}
}
@media (prefers-contrast: more){
  :focus-visible{outline-color:#1d4ed8;}
  .ux-status-badge,.badge,.btn{border-width:2px;}
}


body{overflow-wrap:break-word;}
h1,h2,h3,h4,h5,h6,.display-1,.display-2,.display-3,.display-4,.display-5,.display-6{overflow-wrap:anywhere;hyphens:auto;}
.table-responsive{border-radius:20px;-webkit-overflow-scrolling:touch;}
.form-control,.form-select,.btn{min-height:44px;}
@media (max-width:575.98px){
  html{font-size:15px;}
  .display-1,.display-2,.display-3{font-size:clamp(2rem,8vw,3.5rem)!important;}
  .display-4,.display-5,.display-6{font-size:clamp(1.5rem,6vw,2.5rem)!important;}
  .table{font-size:.94rem;}
  .btn,.form-control,.form-select{font-size:16px;}
}


/* Mobile QA hardening */
main, section, .container, .container-fluid{max-width:100%;}
.row{--bs-gutter-x:1rem;}
.card,.bgsm-card,.checkout-section-card,.bgsm-surface-card{min-width:0;}
.table-responsive>.table{margin-bottom:0;}
textarea.form-control{min-height:120px;}
.form-control,.form-select{max-width:100%;}
.badge,.btn{white-space:normal;}
.alert,.small-muted,.text-muted,p,li,label{overflow-wrap:anywhere;}
@media (max-width: 991.98px){
  body{overflow-x:hidden;}
  .sticky-top{top:0;}
  .row{--bs-gutter-x:.9rem;}
}
@media (max-width: 767.98px){
  .container,.container-fluid,.container-xl{padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right));}
  .section{padding-top:42px;padding-bottom:42px;}
  .card-body,.checkout-section-card,.bgsm-surface-card{padding:1rem!important;}
  .modal-dialog{margin:.75rem;}
  .table{min-width:640px;}
  .bgsm-mobile-table{min-width:100%;}
}
@media (max-width: 575.98px){
  body{font-size:.98rem;}
  .row{--bs-gutter-x:.8rem;}
  .section{padding-top:36px;padding-bottom:36px;}
  .card-body,.checkout-section-card,.bgsm-surface-card{padding:.92rem!important;}
  .btn-group,.d-flex{gap:inherit;}
}
