/* NosaCell 5.1 readability and interaction quality layer. */
:root{--nosa-readable-muted:#686760;--nosa-readable-on-dark:#d8d6cd;--nosa-focus:#ffe45c}
html{font-size:100%;-webkit-text-size-adjust:100%}
body{font-size:16px;line-height:1.85;text-rendering:optimizeLegibility}
p,li,dd,dt,label,input,select,textarea,button{line-height:1.75}
input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px;min-height:46px}
small,.nosa-muted,.woocommerce-result-count,.woocommerce-breadcrumb{font-size:max(13px,.8125rem);line-height:1.7}
.site-header small,.site-footer small,[class*="card"] small,[class*="meta"]{font-size:max(13px,.8125rem)}
.site-footer,.site-footer p,.site-footer li{color:var(--nosa-readable-on-dark)}
.site-footer a{color:#f4f2ea}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--nosa-focus);outline-offset:3px}
.button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,button{min-height:44px}
.price,.woocommerce-Price-amount{font-variant-numeric:tabular-nums}
@media(max-width:782px){body{font-size:16px}.woocommerce form .form-row label{font-size:14px}.woocommerce-error,.woocommerce-info,.woocommerce-message{font-size:14px;line-height:1.8}}
@media(prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* 5.2 shared interaction fixes. */
.nosa-header :is(button,a),.nosa-search-panel button{touch-action:manipulation}
.nosa-search-panel form{min-width:0}
.nosa-search-suggestions{max-height:min(60dvh,480px);overflow-y:auto;overscroll-behavior:contain}
.nosa-search-suggestions a{min-width:0;min-height:64px}
.nosa-search-suggestions a > span{min-width:0;overflow-wrap:anywhere}
.nosa-search-suggestions a.is-active{outline:2px solid #806000;outline-offset:-2px;background:#fff6cf}
.nosa-v4-more-results{min-height:48px;width:100%;margin-top:16px}
.nosa-product-card{min-width:0}
.nosa-product-card .nosa-product-card__title{overflow-wrap:anywhere}
@media(max-width:1024px){.nosa-primary-nav.is-mobile-open{max-height:100dvh;overflow-y:auto;overscroll-behavior:contain;padding-bottom:max(24px,env(safe-area-inset-bottom))}}
@media(max-width:560px){.nosa-search-panel form{gap:8px}.nosa-search-suggestions a{flex-wrap:wrap}.nosa-header-tools{min-width:0}}


/* --- v5.4.0: express-delivery badges on product cards --- */
.nosa-product-card__visual{position:relative}
.nosa-product-card__express-badge{
  position:absolute;
  right:12px;
  bottom:12px;
  z-index:2;
  min-height:40px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  max-width:calc(100% - 64px);
  padding:7px 10px 7px 8px;
  border:1px solid rgba(255,210,31,.42);
  border-radius:14px;
  color:#fff;
  background:linear-gradient(135deg,rgba(9,9,9,.88),rgba(38,38,32,.88));
  box-shadow:0 10px 28px rgba(18,18,15,.18);
  backdrop-filter:blur(8px);
}
.nosa-product-card__express-icon,
.nosa-loop-express-badge__icon{
  width:26px;
  height:26px;
  flex:none;
  display:grid;
  place-items:center;
  border-radius:10px;
  color:#12120f;
  background:linear-gradient(145deg,#ffe77a,#ffd21f);
  box-shadow:0 5px 12px rgba(255,210,31,.25);
}
.nosa-product-card__express-text,
.nosa-loop-express-badge__text{min-width:0;display:flex;flex-direction:column;line-height:1.1}
.nosa-product-card__express-text b,
.nosa-loop-express-badge__text b{font-size:11px;font-weight:860;color:#fff}
.nosa-product-card__express-text small,
.nosa-loop-express-badge__text small{margin-top:3px;font-size:9.5px;font-weight:720;color:#f5d557;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:767px){
  .nosa-product-card__express-badge{right:10px;bottom:10px;max-width:calc(100% - 54px);padding:6px 9px 6px 7px}
  .nosa-product-card__express-text b{font-size:10.5px}
  .nosa-product-card__express-text small{font-size:9px}
}
