/* v689 — checkout allergen layout integrity
   Scoped to the existing v660 declaration component so customer, Table QR,
   Staff Table and Quick Order keep the same allergen data/runtime behavior. */
body.shop-page .allergy-declaration-v660{
  min-width:0;
  overflow:hidden;
}
body.shop-page .allergy-declaration-v660 details{
  min-width:0;
}
body.shop-page .allergy-declaration-v660 summary{
  min-height:40px;
  display:flex;
  align-items:center;
  gap:8px;
  line-height:1.25;
}
body.shop-page .allergy-declaration-v660 .allergy-grid-v660{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
  width:100%;
  min-width:0;
}
body.shop-page .allergy-declaration-v660 .allergy-grid-v660 label{
  display:grid!important;
  grid-template-columns:20px minmax(0,1fr)!important;
  align-items:center!important;
  justify-content:start!important;
  gap:10px!important;
  min-width:0!important;
  min-height:50px!important;
  margin:0!important;
  padding:9px 10px!important;
  border-radius:12px!important;
  cursor:pointer;
  text-align:left!important;
}
/* Form-wide checkout rules intentionally size text inputs to 100%/48px.
   A checkbox is a control, not a text field; pin its native control size. */
body.shop-page .checkout-form .allergy-grid-v660 input[type="checkbox"],
body.shop-page .order-panel .allergy-grid-v660 input[type="checkbox"],
body.shop-page #order-panel .allergy-grid-v660 input[type="checkbox"]{
  -webkit-appearance:auto!important;
  appearance:auto!important;
  display:block!important;
  box-sizing:border-box!important;
  width:20px!important;
  min-width:20px!important;
  max-width:20px!important;
  height:20px!important;
  min-height:20px!important;
  max-height:20px!important;
  margin:0!important;
  padding:0!important;
  border-radius:4px!important;
  flex:0 0 20px!important;
  justify-self:start!important;
  align-self:center!important;
  accent-color:var(--brand,#f97316);
  box-shadow:none!important;
}
body.shop-page .allergy-declaration-v660 .allergy-grid-v660 label>span{
  display:block!important;
  min-width:0!important;
  margin:0!important;
  color:#273142;
  font-size:14px!important;
  font-weight:850!important;
  line-height:1.22!important;
  text-align:left!important;
  overflow-wrap:normal;
  word-break:normal;
}
body.shop-page .allergy-declaration-v660 .allergy-grid-v660 input[type="checkbox"]:checked+span{
  color:#111827;
  font-weight:950!important;
}
body.shop-page .allergy-declaration-v660 .allergy-note-v660 textarea{
  width:100%!important;
  min-width:0!important;
}
@media (max-width:359px){
  body.shop-page .allergy-declaration-v660 .allergy-grid-v660{
    grid-template-columns:1fr!important;
  }
}
@media (prefers-reduced-motion:reduce){
  body.shop-page .allergy-declaration-v660 .allergy-grid-v660 label{transition:none!important}
}
