/* Contain intrinsic sizes rather than masking horizontal overflow. */
html { overscroll-behavior-y:none; -webkit-text-size-adjust:100%; text-size-adjust:100%; }
html,body { overflow-x:clip; }
a,button { touch-action:manipulation; }
img { max-width:100%; }
.products-grid > *, .footer-content > *, .header-main > * { min-width:0; }
.product-title,.product-name { overflow-wrap:break-word; }
.occasions-grid > * { min-width:0; }
.occasion-card h4,.occasion-card p { overflow-wrap:anywhere; max-width:100%; }
.cart-items,.cart-summary,.cart-item-details { min-width:0; }
.cart-item-details h3,.cart-item-breakdown { overflow-wrap:anywhere; }
/* Product breadcrumbs are navigation, but must not inherit the off-canvas menu. */
nav.breadcrumb { position:static !important; top:auto; right:auto; width:auto !important; height:auto !important; max-width:100%; display:flex; flex-direction:row !important; flex-wrap:wrap; padding:0 !important; gap:8px; background:transparent !important; box-shadow:none !important; backdrop-filter:none; -webkit-backdrop-filter:none; border:0; border-radius:0; }
nav.breadcrumb a { padding:0 !important; border-radius:0; }
input,select,textarea { max-width:100%; }
@media (max-width:992px) {
  #mainNav:not(.mobile-open) { display:none; }
  #mainNav.mobile-open { right:0; max-width:100vw; height:100vh; height:100dvh; padding:80px 24px 24px; overflow-y:auto; }
  #mainNav .mobile-nav-close { z-index:1; }
}
@media (max-width:768px) {
  input:not([type=checkbox]):not([type=radio]),select,textarea { font-size:16px !important; }
  .chatbot-window { max-height:calc(100dvh - 120px); }
  .header-main { gap:12px; }
  .header-actions { flex-shrink:0; }
  .logo { min-width:0; }
  input,select,textarea { font-size:16px; }
  .footer-content { grid-template-columns:minmax(0,1fr); }
  .footer-policies { flex-wrap:wrap; }
  .products-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:576px) { .products-grid { grid-template-columns:minmax(0,1fr); } }
