/* Optional stands remain part of the order summary and use native cart totals. */
.grain-addons {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  grid-column: 1 / -1;
  clear: both;
  margin: 0 0 24px;
  padding: clamp(18px, 2.4vw, 26px);
  border: 1px solid var(--line, #dacbb7);
  border-radius: 12px;
  background: #f6ede0;
  color: var(--ink, #38291f);
}
.grain-cart-view .woocommerce-cart-form > .grain-addons { margin-block: 24px 0; }
.grain-addons__heading { display: flex; align-items: center; flex-wrap: wrap; justify-content: space-between; gap: 7px 12px; margin-block-end: 6px; }
.grain-addons__badge { display: inline-block; flex: 0 0 auto; padding: 3px 8px; border: 1px solid #d9c6ab; border-radius: 20px; font-size: 10px; font-weight: 400; line-height: 1.4; color: #80674e; background: #fffcf7; }
.grain-addons .grain-addons__title {
  font-family: inherit;
  font-size: clamp(20px, 2vw, 24px);
  font-weight: 500;
  line-height: 1.35;
  color: #563b28;
  letter-spacing: -.02em;
  margin: 0;
}
.grain-addons__note { font-size: 12px; line-height: 1.7; color: #80674e; margin: 0 0 18px; }
.grain-addons__options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.grain-addons__card {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: 20px 104px minmax(0, 1fr);
  align-items: center;
  gap: 14px;
  min-width: 0;
  min-height: 148px;
  margin: 0;
  padding: 20px;
  background: #fffcf7;
  border: 1px solid #decfb9;
  border-radius: 9px;
  cursor: pointer;
  transition: border-color .15s, background .15s;
}
.grain-addons__card:hover { border-color: #aa8660; }
.grain-addons__card.is-selected { border-color: #86603f; background: #f4e8d7; }
.grain-addons__card:focus-within { outline: 2px solid #9b744f; outline-offset: 3px; }
.grain-addons__card input[type=checkbox] {
  width: 20px;
  height: 20px;
  min-width: 20px;
  min-height: 20px;
  padding: 0;
  margin: 0;
  accent-color: #6a482e;
  cursor: pointer;
}
.grain-addons__card input:disabled { cursor: wait; }
.grain-addons__image {
  display: block;
  width: 104px !important;
  height: 104px !important;
  max-width: 100%;
  object-fit: contain;
  border-radius: 5px;
  background: #fff;
  margin: 0 !important;
}
.grain-addons__copy { display: flex; flex-direction: column; gap: 7px; min-width: 0; }
.grain-addons__name { font-size: 14px; font-weight: 600; line-height: 1.45; color: #563b28; }
.grain-addons__description { font-size: 12px; line-height: 1.6; font-weight: 400; color: #8a7056; }
.grain-addons__price { font-size: 15px; font-weight: 600; line-height: 1.5; color: #715030; }
.grain-addons__status { font-size: 12px; line-height: 1.7; margin: 12px 0 0; color: #6b4e33; }
.grain-addons__status.is-error { color: #923c2e; }
.grain-addons__status[hidden] { display: none; }
.grain-addons[aria-busy=true] { opacity: .75; }
form.checkout #place_order.grain-addon-checkout-wait { opacity: .65; cursor: wait; }
.grain-checkout-view .woocommerce .woocommerce-checkout-review-order-table .grain-addons-row > td { padding: 14px 0 16px; text-align: start; }
.grain-addons.grain-addons--summary { margin: 0; padding: 14px; border-color: #d8c4a9; border-radius: 9px; background: #f8f0e3; }
.grain-addons--summary .grain-addons__heading { margin-block-end: 4px; }
.grain-addons.grain-addons--summary .grain-addons__title { font-family: inherit; font-size: 16px; font-weight: 600; line-height: 1.4; letter-spacing: -.01em; }
.grain-addons--summary .grain-addons__note { margin: 0 0 10px; font-size: 11px; line-height: 1.5; }
.grain-addons--summary .grain-addons__options { grid-template-columns: minmax(0, 1fr); gap: 8px; }
.grain-addons--summary .grain-addons__card { grid-template-columns: 18px 54px minmax(0, 1fr); gap: 10px; min-height: 74px; padding: 10px; border-radius: 6px; }
.grain-addons--summary .grain-addons__card input[type=checkbox] { width: 18px; height: 18px; min-width: 18px; min-height: 18px; }
.grain-addons--summary .grain-addons__image { width: 54px !important; height: 54px !important; }
.grain-addons--summary .grain-addons__copy { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 4px 10px; }
.grain-addons--summary .grain-addons__name { font-size: 12px; line-height: 1.5; }
.grain-addons--summary .grain-addons__description { display: none; }
.grain-addons--summary .grain-addons__price { font-size: 13px; line-height: 1.5; white-space: nowrap; }
.grain-addons--summary .grain-addons__status { margin-block-start: 8px; font-size: 11px; }
body:lang(ar) .grain-addons .grain-addons__title { font-family: 'Noto Sans Arabic', sans-serif; line-height: 1.6; letter-spacing: 0; }
@media (max-width: 900px) {
  .grain-addons__card { grid-template-columns: 20px 84px minmax(0, 1fr); padding: 16px; gap: 12px; }
  .grain-addons__image { width: 84px !important; height: 94px !important; }
}
@media (max-width: 640px) {
  .grain-addons { padding: 18px 16px; margin-block-end: 20px; border-radius: 9px; }
  .grain-addons__options { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .grain-addons__card { min-height: 122px; grid-template-columns: 20px 86px minmax(0, 1fr); padding: 14px; gap: 12px; }
  .grain-addons__image { width: 86px !important; height: 94px !important; }
  .grain-addons__note { margin-block-end: 14px; }
}
@media (max-width: 360px) {
  .grain-addons__card { grid-template-columns: 20px 70px minmax(0, 1fr); padding: 12px; gap: 10px; }
  .grain-addons__image { width: 70px !important; height: 86px !important; }
  .grain-addons__name { font-size: 13px; }
  .grain-addons__description { font-size: 11px; }
  .grain-addons--summary .grain-addons__copy { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) { .grain-addons__card { transition: none; } }

/* Each optional accessory has its own stock-aware quantity beside its name. */
.grain-addons__card{grid-template-columns:minmax(0,1fr) auto;gap:12px;cursor:default}
.grain-addons__toggle{display:grid;grid-template-columns:20px 84px minmax(0,1fr);gap:12px;align-items:center;margin:0;min-width:0;cursor:pointer}
.grain-addons__quantity{min-width:0;display:flex;flex-direction:column;align-items:center;gap:5px}
.grain-addons__quantity>label{font-size:10px;line-height:1.4;color:#80674e;margin:0}
.grain-addon-stepper{display:flex;align-items:center;border:1px solid #d4bea0;border-radius:5px;overflow:hidden;background:#fffaf3}
.grain-addon-stepper button{width:28px;min-width:28px;height:36px;min-height:36px;margin:0;padding:0;border:0;background:#f2e6d3;color:#563b28;font:500 18px/1 Arial,sans-serif;cursor:pointer}
.grain-addon-stepper input[type=number]{box-sizing:border-box;width:34px!important;max-width:34px;min-width:34px;height:36px;min-height:36px!important;border:0;border-radius:0;padding:0!important;margin:0!important;background:#fffaf3;text-align:center;font-family:inherit;font-size:13px;font-weight:500;line-height:1.4;appearance:textfield;-moz-appearance:textfield}
.grain-addon-stepper input::-webkit-inner-spin-button,.grain-addon-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.grain-addon-stepper button:disabled,.grain-addon-stepper input:disabled{opacity:.45;cursor:default}
.grain-addon-stepper button:focus-visible,.grain-addon-stepper input:focus-visible{outline:2px solid #92633c;outline-offset:-2px}
.grain-addons--summary .grain-addons__card{grid-template-columns:minmax(0,1fr) auto;gap:10px;min-height:84px}
.grain-addons--summary .grain-addons__toggle{grid-template-columns:18px 44px minmax(0,1fr);gap:8px}
.grain-addons--summary .grain-addons__image{width:44px!important;height:54px!important}
.grain-addons--summary .grain-addons__copy{display:flex;flex-direction:column;align-items:flex-start;gap:3px}
@media(max-width:900px){.grain-addons__toggle{grid-template-columns:20px 60px minmax(0,1fr);gap:9px}.grain-addons__image{width:60px!important;height:72px!important}.grain-addons__card{padding:14px}}
@media(max-width:640px){.grain-addons__toggle{grid-template-columns:18px 54px minmax(0,1fr)}.grain-addons__image{width:54px!important;height:64px!important}.grain-addons__card{grid-template-columns:minmax(0,1fr) auto;gap:9px;min-height:96px;padding:12px}.grain-addons__name{font-size:12px}.grain-addons__description{display:none}.grain-addon-stepper button{width:28px;min-width:28px}.grain-addons--summary .grain-addons__card{padding:9px;gap:8px}}
@media(max-width:370px){.grain-addons__toggle,.grain-addons--summary .grain-addons__toggle{grid-template-columns:18px minmax(0,1fr)}.grain-addons__toggle .grain-addons__image{display:none}.grain-addons--summary .grain-addons__name{font-size:11px}}

/* A separate photo button opens a larger view without changing the selection. */
.grain-checkout-item.grain-checkout-item--addon{grid-template-columns:64px minmax(0,1fr)}
.grain-checkout-item--addon .grain-checkout-item-media{width:64px;height:auto;overflow:visible;background:transparent}
.grain-addons .grain-addons__card,.grain-addons--summary .grain-addons__card{grid-template-columns:76px minmax(0,1fr) auto;gap:12px;min-height:112px}
.grain-addons .grain-addons__toggle,.grain-addons--summary .grain-addons__toggle{grid-template-columns:18px minmax(0,1fr);gap:9px;align-items:start}
.grain-addons .grain-addons__toggle input{margin-top:2px}
.grain-addons .grain-addons__card--no-photo{grid-template-columns:minmax(0,1fr) auto}
.grain-addons .grain-addons__quantity{align-self:center}
@media(max-width:900px){.grain-addons .grain-addons__options{grid-template-columns:minmax(0,1fr)}}
@media(max-width:480px){.grain-addons .grain-addons__card,.grain-addons--summary .grain-addons__card{grid-template-columns:64px minmax(0,1fr);gap:9px 11px;padding:12px}.grain-addons .grain-addons__photo{grid-column:1;grid-row:1 / 3;align-self:center}.grain-addons .grain-addons__toggle{grid-column:2;grid-row:1}.grain-addons .grain-addons__quantity{grid-column:2;grid-row:2;flex-direction:row;flex-wrap:wrap;align-items:center;gap:3px 8px}.grain-addons .grain-addons__quantity>label{font-size:10px}.grain-addons .grain-addons__card--no-photo{grid-template-columns:minmax(0,1fr)}.grain-addons .grain-addons__card--no-photo .grain-addons__toggle,.grain-addons .grain-addons__card--no-photo .grain-addons__quantity{grid-column:1}.grain-addons .grain-addons__name{font-size:12px;overflow-wrap:anywhere}}

/* Compact cart/order rows use a zoom icon; the full picker keeps its photo label. */
.woocommerce button.grain-accessory-photo.grain-accessory-photo--line {
  box-sizing: border-box;
  display: block;
  width: 64px;
  height: 64px;
  min-height: 64px;
  max-height: 64px;
}
.woocommerce button.grain-accessory-photo.grain-accessory-photo--line img {
  box-sizing: border-box;
  width: 100% !important;
  height: 100% !important;
}
.woocommerce button.grain-accessory-photo.grain-accessory-photo--line > .grain-accessory-photo__cue {
  position: absolute;
  inset-inline-end: 3px;
  bottom: 3px;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  place-items: center;
  width: 24px;
  height: 24px;
  min-height: 24px;
  padding: 0;
  gap: 0;
  border: 1px solid #d7c3a7;
  border-radius: 50%;
  background: #f4e8d7f2;
}
.woocommerce button.grain-accessory-photo.grain-accessory-photo--line > .grain-accessory-photo__cue > span { display: none; }

.grain-addons__magnet{display:flex;grid-column:1/-1;gap:10px;align-items:center;padding:12px 0 0;margin:4px 0 0;border-top:1px solid #deceb7;cursor:pointer}
.grain-addons__magnet>span{display:flex;align-items:center;justify-content:space-between;gap:8px;flex:1;flex-wrap:wrap}
.grain-addons__magnet strong{font-size:12px;font-weight:500;line-height:1.5}.grain-addons__magnet small{border-radius:20px;background:#e7eedf;color:#416043;padding:3px 8px;font-size:10px}
.grain-addons__magnet:has(input:disabled){opacity:.65}
.grain-addons__magnet-scope{grid-column:1/-1;margin:0;font-size:10px;line-height:1.5;color:#80674e}\n