.petit-bundle-builder {
  direction:rtl;
  color:var(--petit-text);
  margin-block:24px;
}
.petit-bundle-builder h2 { font-size:26px; }
.petit-bundle-builder h3 { font-size:22px; }
.petit-bundle-builder ul { list-style:none; padding:0; margin:16px 0; }
.petit-bundle-builder .petit-bundle-row {
  display:grid;
  grid-template-columns:56px minmax(0,1fr);
  align-items:center;
  gap:12px;
  padding-block:16px;
  border-bottom:1px solid var(--petit-line);
}
.petit-bundle-builder [hidden] { display:none!important; }
.petit-bundle-row img { width:56px; height:56px; object-fit:cover; border-radius:4px; }
.petit-bundle-item-copy { grid-column:2; min-width:0; }
.petit-bundle-item-copy label { display:block; font-weight:600; overflow-wrap:anywhere; }
.petit-bundle-item-copy small { display:block; font-size:14px; }
.petit-bundle-stepper {
  display:flex;
  direction:ltr;
  grid-column:1 / -1;
  justify-self:end;
  gap:4px;
}
.petit-bundle-builder .petit-bundle-stepper button,
.petit-bundle-builder .petit-bundle-stepper input {
  width:48px;
  min-width:44px;
  min-height:44px;
  padding:4px;
  border:1px solid var(--petit-line);
  border-radius:4px;
  text-align:center;
}
.petit-bundle-builder .petit-bundle-stepper button { background:var(--petit-ink); color:#fff; font-size:22px; }
.petit-bundle-builder .petit-bundle-stepper input { background:#fff; color:var(--petit-text); appearance:textfield; }
.petit-bundle-stepper input::-webkit-inner-spin-button,
.petit-bundle-stepper input::-webkit-outer-spin-button { appearance:none; margin:0; }
.petit-bundle-builder button:disabled { opacity:.5; cursor:default; }
.petit-bundle-builder .petit-bundle-stepper button:disabled { background:var(--petit-line); color:var(--petit-text); cursor:not-allowed; }
.petit-bundle-extras { margin-block:24px; padding:16px; background:var(--petit-paper); border-radius:4px; }
.petit-bundle-extras>label { display:block; }
.petit-bundle-extras>input {
  width:100%; min-height:48px; border:1px solid #757B82; border-radius:4px; padding:8px 12px; background:#fff; color:var(--petit-text);
}
.petit-bundle-search-status,.petit-bundle-unavailable { font-size:14px; }
.petit-bundle-total { border-top:1px solid var(--petit-line); padding-block:16px; }
.petit-bundle-total p { margin:6px 0; }
.petit-bundle-total strong { font-size:26px; }
.petit-bundle-saving { color:var(--petit-accent); font-weight:600; }
.petit-bundle-bar button[type="submit"] {
  width:100%; min-height:48px; border:0; border-radius:4px; padding:12px 20px; background:var(--petit-ink); color:#fff;
}
.petit-bundle-bar-price { display:none; }
@media (max-width:600px) {
  html:has(.petit-bundle-builder) { scroll-padding-bottom:calc(100px + env(safe-area-inset-bottom)); }
  body:has(.petit-bundle-builder) { padding-bottom:calc(100px + env(safe-area-inset-bottom)); }
  .petit-bundle-bar {
    position:fixed; inset:auto 0 0; z-index:40; display:flex; align-items:center; gap:12px;
    padding:12px 16px calc(12px + env(safe-area-inset-bottom));
    background:#fff; border-top:1px solid var(--petit-line);
  }
  .petit-bundle-bar-price { display:block; flex:1; font-size:14px; }
  .petit-bundle-bar-price strong { display:block; font-size:20px; }
  .petit-bundle-builder .petit-bundle-bar button { width:auto; min-width:140px; }
}
.petit-bundle-builder :focus-visible { outline:3px solid var(--petit-accent); outline-offset:3px; }
@media (prefers-reduced-motion:reduce) {
  .petit-bundle-builder * { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}

/* Style D: the existing form, rows, minimum quantities and single submit remain intact. */
.d-shop .petit-bundle-builder {
  color:var(--ink);
  --petit-text:var(--ink);
  --petit-line:var(--line);
  --petit-paper:var(--surface);
  --petit-ink:var(--olive);
  --petit-accent:var(--olive);
  margin-block:48px;
}
.d-shop .petit-bundle-builder h2 { font-size:26px; }
.d-shop .petit-bundle-builder h3 { font-size:24px; }
.d-shop .petit-bundle-selection { border-top:1px solid var(--ink); }
.d-shop .petit-bundle-builder .petit-bundle-row { gap:4px 14px; }
.d-shop .petit-bundle-row img { grid-row:1 / 3; border-radius:0; }
.d-shop .petit-bundle-item-copy small { font-size:13.5px; color:var(--muted); }
.d-shop .petit-bundle-stepper {
  grid-column:2;
  justify-self:start;
  align-items:center;
  border:1px solid var(--line);
  border-radius:999px;
  padding:2px;
  gap:2px;
}
.d-shop .petit-bundle-builder .petit-bundle-stepper button {
  border:0;
  border-radius:999px;
  background:var(--surface);
  color:var(--ink);
  width:44px;
}
.d-shop .petit-bundle-builder .petit-bundle-stepper input {
  border:0;
  border-radius:999px;
  width:44px;
  font-weight:600;
}
.d-shop .petit-bundle-builder .petit-bundle-stepper button:disabled { opacity:.45; }
.d-shop .petit-bundle-extras { padding:24px 0 0; background:none; border-radius:0; }
.d-shop .petit-bundle-extras>input { max-width:560px; border-color:var(--field); border-radius:999px; margin-top:8px; }
.d-shop .petit-bundle-total { margin-top:24px; border-color:var(--line); }
.d-shop .petit-bundle-total strong { font-size:26px; }
.d-shop .petit-bundle-saving { color:var(--olive); }
.d-shop .petit-bundle-bar { max-width:760px; margin-inline:auto; }
.d-shop .petit-bundle-bar button { font-weight:600; }
@media(min-width:700px) {
  .d-shop .petit-bundle-builder .petit-bundle-row { grid-template-columns:64px minmax(0,1fr) auto; gap:14px; }
  .d-shop .petit-bundle-row img { width:64px; height:64px; grid-row:1; }
  .d-shop .petit-bundle-stepper { grid-column:3; justify-self:end; }
}
@media(min-width:900px) {
  .d-shop .petit-bundle-builder h2 { font-size:32px; }
}
@media(max-width:600px) {
  .d-shop .petit-bundle-bar { border-radius:24px 24px 0 0; background:var(--panel); backdrop-filter:blur(12px); }
}
