/* Guilt Free - brand stylesheet
   Warm oat surfaces, deep jade primary, sage/clay neutrals, dark readable text.
   Large controls and plain labels; no emoji, no neon, no clutter. */

:root {
  /* Guilt Free: Fresh & Leafy palette - calm, healthy and grounded. */
  --oat: #fdf6ed;             /* soft off-white: dominant surface */
  --oat-deep: #eef1e9;        /* quiet surface contrast */
  --paper: #fffdf8;           /* reading/card surface */
  --jade: #486c2f;            /* vibrant leaf: primary actions */
  --jade-deep: #17433f;       /* deep forest: high-contrast anchor */
  --jade-tint: #e5eddf;       /* soft leaf tint */
  --sage: #778873;            /* secondary sage */
  --sage-soft: #dbe3d7;       /* pale sage panel */
  --clay: #8c9b72;            /* muted leaf accent, e.g. calories */
  --ink: #18302d;             /* near-forest text */
  --muted: #5d6b5d;
  --line: #d4ded0;
  --danger: #9a3b2e;
  --ok: #2f6b4f;

  --radius: 14px;
  --radius-sm: 10px;
  --shadow: 0 1px 2px rgba(42, 38, 34, 0.06), 0 8px 24px rgba(42, 38, 34, 0.06);

  --font-body: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-display: "Fraunces", Georgia, "Times New Roman", serif;
}

* { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  font-family: var(--font-body);
  font-size: 18px;
  line-height: 1.55;
  color: var(--ink);
  background: var(--oat);
}

h1, h2, h3 { font-family: var(--font-display); font-weight: 600; line-height: 1.15; }
h1 { font-size: 2rem; margin: 0 0 0.5rem; }
h2 { font-size: 1.4rem; margin: 0 0 0.5rem; }
a { color: var(--jade); }

.container { max-width: 1080px; margin: 0 auto; padding: 0 20px; }
.narrow { max-width: 460px; }

/* -- Header -- */
.site-header {
  background: var(--paper);
  border-bottom: 1px solid var(--line);
}
.site-header .container {
  display: flex; align-items: center; justify-content: space-between;
  min-height: 76px; gap: 16px;
}
.wordmark { font-family: var(--font-display); font-size: 1.5rem; font-weight: 600; color: var(--jade-deep); text-decoration: none; }
.tagline { color: var(--muted); font-size: 0.95rem; margin-top: 2px; }
.lang-switch { display: flex; gap: 6px; }
.lang-switch a {
  padding: 8px 12px; border-radius: var(--radius-sm); text-decoration: none;
  color: var(--muted); border: 1px solid transparent; font-size: 0.95rem;
}
.lang-switch a.active { color: var(--jade-deep); border-color: var(--line); background: var(--oat); font-weight: 600; }

/* -- Buttons & forms (large controls) -- */
.btn {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 52px; padding: 0 22px; border-radius: var(--radius-sm);
  font-size: 1.05rem; font-weight: 600; cursor: pointer; text-decoration: none;
  border: 1px solid transparent; transition: background 0.15s, border-color 0.15s;
}
.btn-primary { background: var(--jade); color: #fff; }
.btn-primary:hover { background: var(--jade-deep); }
.btn-secondary { background: var(--paper); color: var(--jade-deep); border-color: var(--line); }
.btn-secondary:hover { border-color: var(--sage); }
.btn-block { width: 100%; }

label { display: block; font-weight: 600; margin: 0 0 6px; }
.field { margin-bottom: 18px; }
.field .help { font-weight: 400; color: var(--muted); font-size: 0.9rem; margin-top: 4px; }
input[type="text"], input[type="email"], input[type="password"] {
  width: 100%; min-height: 52px; padding: 12px 14px; font-size: 1.05rem;
  border: 1px solid var(--line); border-radius: var(--radius-sm);
  background: var(--paper); color: var(--ink);
}
input, select, textarea {
  font: inherit; color: var(--ink); border: 1px solid var(--line); border-radius: var(--radius-sm);
  background: var(--paper);
}
select, textarea { width: 100%; min-height: 52px; padding: 12px 14px; }
textarea { min-height: 104px; resize: vertical; }
select:focus, textarea:focus { outline: 3px solid var(--sage-soft); outline-offset: 1px; border-color: var(--sage); }
input:focus { outline: 3px solid var(--sage-soft); outline-offset: 1px; border-color: var(--sage); }

.card {
  background: var(--paper); border: 1px solid var(--line);
  border-radius: var(--radius); box-shadow: var(--shadow); padding: 28px;
}
.center-page { display: flex; min-height: calc(100vh - 76px); align-items: center; justify-content: center; padding: 40px 20px; }

.notice { padding: 14px 16px; border-radius: var(--radius-sm); margin-bottom: 18px; font-size: 0.98rem; }
.notice-error { background: #f6e4e0; color: var(--danger); border: 1px solid #e6c4bc; }
.notice-ok { background: var(--jade-tint); color: var(--jade-deep); border: 1px solid #cfe0d6; }

/* -- Signature: calories, protein + carbohydrates as headline facts -- */
.facts { display: flex; gap: 10px; }
.fact {
  flex: 1; background: var(--oat); border: 1px solid var(--line);
  border-radius: var(--radius-sm); padding: 12px 14px; text-align: left;
}
.fact .num { font-family: var(--font-display); font-size: 1.7rem; font-weight: 600; color: var(--jade-deep); line-height: 1; }
.fact .unit { font-size: 0.85rem; color: var(--muted); }
.fact .lbl { font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.04em; color: var(--muted); margin-bottom: 4px; }
.fact.protein { border-bottom: 3px solid var(--jade); }
.fact.calories { border-bottom: 3px solid var(--clay); }
.fact.carbs { border-bottom: 3px solid var(--sage); }

/* -- Product grid (P0 read-only demo) -- */
.grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 20px; margin: 28px 0; }
.product { display: flex; flex-direction: column; gap: 12px; }
.product .thumb { aspect-ratio: 4 / 3; background: var(--sage-soft); border-radius: var(--radius-sm); display: flex; align-items: center; justify-content: center; color: var(--jade-deep); font-family: var(--font-display); }
.product .name { font-family: var(--font-display); font-size: 1.15rem; }
.product .flavour { color: var(--muted); font-size: 0.9rem; margin-top: -6px; }

/* -- Nutrition panel (full, US Nutrition Facts style) -- */
.nutrition-panel {
  border: 1px solid var(--ink); border-radius: 6px; background: #fff;
  padding: 12px 14px; max-width: 340px; font-size: 0.95rem;
}
.nutrition-panel .np-title { font-family: var(--font-display); font-size: 1.6rem; border-bottom: 8px solid var(--ink); padding-bottom: 2px; margin: 0; }
.np-row { display: flex; justify-content: space-between; border-top: 1px solid var(--ink); padding: 3px 0; }
.np-row.thick { border-top-width: 6px; }
.np-row.indent { padding-left: 18px; }
.np-row.indent2 { padding-left: 34px; }
.np-cal { display: flex; justify-content: space-between; align-items: baseline; border-top: 4px solid var(--ink); padding-top: 4px; }
.np-cal .np-cal-num { font-family: var(--font-display); font-size: 1.9rem; font-weight: 700; }
.np-dv-head { text-align: right; font-size: 0.8rem; font-weight: 700; padding: 2px 0; }
.np-small { font-size: 0.8rem; color: var(--muted); }
.np-foot { border-top: 6px solid var(--ink); margin-top: 6px; padding-top: 6px; font-size: 0.72rem; color: var(--muted); }
.np-name { font-weight: 700; }

.section-lead { color: var(--muted); max-width: 640px; }
.muted { color: var(--muted); }
.eyebrow { color: var(--jade); font-size: .78rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.site-nav { display: flex; align-items: center; gap: 16px; }
.site-nav > a { color: var(--ink); text-decoration: none; font-size: .92rem; }
.site-nav > a:hover { color: var(--jade); }
.footer { border-top: 1px solid var(--line); margin-top: 48px; padding: 24px 0; color: var(--muted); font-size: 0.9rem; }
.demo-flag { display: inline-block; background: var(--clay); color: #fff; font-size: 0.78rem; padding: 4px 10px; border-radius: 999px; letter-spacing: 0.02em; }

/* -- Admin shell -- */
.admin-layout { display: grid; grid-template-columns: 260px 1fr; min-height: 100vh; }
.admin-nav { background: var(--jade-deep); color: #eaf0ec; padding: 24px 16px; }
.admin-nav .brand { color: #fff; font-family: var(--font-display); font-size: 1.3rem; display: block; margin-bottom: 24px; text-decoration: none; }
.admin-nav .brand span { display: block; font-family: var(--font-body); font-size: .72rem; text-transform: uppercase; letter-spacing: .12em; margin-top: 3px; color: #b9cfc4; }
.admin-nav a.nav-item { display: block; color: #d6e0da; text-decoration: none; padding: 12px 14px; border-radius: var(--radius-sm); font-size: 1rem; margin-bottom: 2px; }
.admin-nav a.nav-item:hover { background: rgba(255,255,255,0.08); }
.admin-nav a.nav-item.active { background: var(--jade); color: #fff; font-weight: 600; }
.admin-nav .nav-subitem { display: block; color: #c5d6cc; text-decoration: none; padding: 8px 14px 8px 28px; font-size: .9rem; }
.admin-nav .nav-future { opacity: .45; cursor: default; }
.admin-main { padding: 32px 36px; background: var(--oat); }
.admin-topbar { display: flex; justify-content: space-between; align-items: center; margin-bottom: 24px; }
.admin-topbar h1 { margin: 2px 0 0; }
.admin-user { display: flex; align-items: center; gap: 14px; color: var(--muted); font-size: .92rem; }
.text-button { appearance: none; padding: 0; border: 0; background: transparent; color: var(--jade); font: inherit; cursor: pointer; text-decoration: underline; }
.text-button.danger { color: var(--danger); }
.btn-danger { background: var(--danger); color: #fff; }
.section-card { margin-bottom: 24px; }
.page-actions, .dashboard-links { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 24px; flex-wrap: wrap; }
.dashboard-links { justify-content: flex-start; margin-top: 22px; margin-bottom: 0; }
.search-form { display: flex; gap: 10px; align-items: center; }
.search-form input { min-height: 48px; width: min(300px, 65vw); padding: 8px 12px; }
.admin-product-list { margin-top: 18px; border-top: 1px solid var(--line); }
.admin-product-row { display: grid; grid-template-columns: 62px minmax(160px, 1fr) 180px 100px; align-items: center; gap: 16px; padding: 14px 4px; border-bottom: 1px solid var(--line); color: inherit; text-decoration: none; }
.admin-product-row:hover { background: rgba(255,255,255,.28); }
.admin-thumb { width: 54px; height: 54px; border-radius: 9px; background: var(--sage-soft); overflow: hidden; display: grid; place-items: center; color: var(--jade-deep); font-family: var(--font-display); }
.admin-thumb img { width: 100%; height: 100%; object-fit: cover; }
.status { font-size: .8rem; color: var(--jade-deep); background: var(--jade-tint); border-radius: 999px; padding: 4px 8px; white-space: nowrap; }
.status-muted { color: var(--muted); background: var(--oat-deep); }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px; }
.form-grid-wide { align-items: start; }
.check-row { display: flex; flex-wrap: wrap; gap: 18px; margin: 0 0 20px; }
.check-row label { font-size: .95rem; font-weight: 500; }
.tag-picker { margin: 6px 0 20px; border: 1px solid var(--line); border-radius: var(--radius-sm); padding: 14px; }
.tag-picker legend { font-weight: 600; padding: 0 4px; }
.tag-options { display: flex; gap: 8px; flex-wrap: wrap; }
.tag-option { display: flex; align-items: center; gap: 5px; border: 1px solid var(--line); border-radius: 999px; padding: 6px 10px; font-size: .86rem; font-weight: 500; }
.tag-option small { color: var(--muted); }
.nutrition-editor, .add-variant { margin: 4px 0 22px; }
.nutrition-editor summary, .add-variant summary { cursor: pointer; font-family: var(--font-display); font-size: 1.05rem; font-weight: 600; }
.nutrition-editor summary span { display: block; font-family: var(--font-body); color: var(--muted); font-size: .84rem; font-weight: 400; margin-top: 4px; }
.nutrition-editor[open] { padding: 16px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: rgba(255,255,255,.25); }
.nutrition-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 12px; }
.nutrition-grid .field { margin-bottom: 12px; }.nutrition-grid label { font-size: .78rem; }.nutrition-grid input { min-height: 42px; }
.variant-card { border-left: 4px solid var(--jade); }.variant-heading { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }.variant-heading h3 { margin: 0 0 16px; }
.image-manager { display: grid; gap: 10px; margin: 6px 0 20px; padding: 14px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: rgba(255,255,255,.25); }.image-manager p { margin: 2px 0; }.image-strip { display: flex; flex-wrap: wrap; gap: 10px; }.image-strip figure { width: 112px; height: 112px; margin: 0; position: relative; border-radius: 8px; overflow: hidden; background: var(--sage-soft); cursor: grab; }.image-strip figure.is-dragging { opacity: .45; }.image-strip figure.is-drop-target { outline: 3px solid var(--jade); outline-offset: 2px; }.image-strip figure img { width: 100%; height: 100%; object-fit: cover; }.image-primary { position: absolute; top: 3px; left: 3px; background: var(--jade-deep); color: #fff; border-radius: 4px; padding: 3px 5px; font-size: .68rem; font-weight: 700; }.image-remove { position: absolute; left: 3px; bottom: 3px; border: 0; background: rgba(42,38,34,.78); color: #fff; border-radius: 4px; padding: 3px 5px; font-size: .7rem; cursor: pointer; }.image-upload { width: 112px; height: 112px; border: 1px dashed var(--sage); border-radius: 8px; color: var(--jade-deep); display: grid; place-items: center; text-align: center; padding: 8px; cursor: pointer; font-size: .82rem; font-weight: 600; }.image-upload.is-drag-over { background: var(--jade-tint); border-color: var(--jade); }.image-upload input { position: absolute; width: 1px; height: 1px; opacity: 0; }.image-status, .form-save-status { min-height: 20px; font-size: .84rem; color: var(--jade-deep); }.image-status-error, .form-save-status.is-error { color: var(--danger); }
.two-column { display: grid; grid-template-columns: minmax(300px, .8fr) minmax(400px, 1.2fr); gap: 24px; align-items: start; }
.two-column .full-width { grid-column: 1 / -1; }
.stack { display: grid; gap: 10px; }.edit-row { border: 1px solid var(--line); border-radius: var(--radius-sm); padding: 12px; }.edit-row summary { cursor: pointer; display: flex; justify-content: space-between; gap: 14px; }.edit-row form { margin-top: 16px; }.inline-form { margin-top: 12px !important; }.translation-row { display: flex; justify-content: space-between; gap: 14px; padding: 12px 0; border-bottom: 1px solid var(--line); }

/* -- Customer catalogue (P1) -- */
.store-hero { background: linear-gradient(118deg, var(--paper), var(--jade-tint)); border-bottom: 1px solid var(--line); }.hero-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(260px, .75fr); gap: 48px; padding-top: 72px; padding-bottom: 72px; align-items: center; }.hero-grid h1 { font-size: clamp(2.4rem, 5vw, 4.2rem); max-width: 660px; margin-top: 8px; }.hero-grid p { max-width: 600px; color: var(--muted); font-size: 1.12rem; margin-bottom: 26px; }.hero-facts { display: grid; grid-template-columns: 1fr; gap: 10px; }.hero-facts div { background: rgba(251,246,236,.82); padding: 16px 18px; border-radius: var(--radius); border: 1px solid var(--line); display: flex; align-items: baseline; gap: 12px; }.hero-facts strong { color: var(--jade-deep); font-family: var(--font-display); font-size: 1.45rem; }.hero-facts span { color: var(--muted); font-size: .94rem; }.store-heading { padding-top: 44px; }.store-heading h2 { margin-top: 3px; font-size: 2rem; }.store-filters { display: flex; gap: 10px; margin: 18px 0 24px; }.store-filters select { max-width: 280px; }.product-card { background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow); display: flex; flex-direction: column; }.product-image { display: grid; place-items: center; aspect-ratio: 1 / .88; background: var(--sage-soft); overflow: hidden; color: var(--jade-deep); font-family: var(--font-display); font-size: 1.4rem; text-align: center; text-decoration: none; }.product-image img { width: 100%; height: 100%; object-fit: cover; }.product-card-body { padding: 18px; display: flex; gap: 12px; flex-direction: column; flex: 1; }.product-meta { min-height: 18px; display: flex; gap: 6px; flex-wrap: wrap; }.product-meta span { font-size: .72rem; text-transform: uppercase; letter-spacing: .06em; color: var(--jade-deep); font-weight: 700; }.product-meta span + span { color: var(--clay); }.product-card h3 { font-size: 1.32rem; margin: 0; }.product-card h3 a { color: var(--ink); text-decoration: none; }.product-bottom { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: auto; font-size: .9rem; }.product-bottom a { font-weight: 600; }.empty-state { padding: 26px; border: 1px dashed var(--sage); border-radius: var(--radius-sm); color: var(--muted); margin: 20px 0; text-align: center; }.product-detail { padding-top: 28px; }.product-detail-grid { display: grid; grid-template-columns: minmax(300px, .95fr) minmax(300px, 1.05fr); gap: 48px; margin-top: 18px; align-items: start; }.product-detail-image { aspect-ratio: 1 / 1; border-radius: var(--radius); background: var(--sage-soft); display: grid; place-items: center; overflow: hidden; color: var(--jade-deep); font-family: var(--font-display); font-size: 2rem; text-align: center; }.product-detail-image img { width: 100%; height: 100%; object-fit: cover; }.detail-flavour { color: var(--muted); margin-top: -8px; }.detail-facts { max-width: 420px; margin: 24px 0; }.detail-price { display: grid; gap: 2px; margin: 18px 0; }.detail-price strong { font-size: 1.45rem; }.detail-price span { color: var(--muted); font-size: .86rem; }.variant-switcher { margin: 22px 0; }.variant-switcher > span { font-size: .84rem; color: var(--muted); display: block; margin-bottom: 7px; }.variant-choice { display: inline-block; margin: 0 6px 6px 0; padding: 7px 10px; border: 1px solid var(--line); border-radius: 999px; text-decoration: none; font-size: .9rem; }.variant-choice.active { background: var(--jade); color: #fff; border-color: var(--jade); }.public-tags { display: flex; flex-wrap: wrap; gap: 6px; }.public-tags span { background: var(--jade-tint); color: var(--jade-deep); padding: 5px 9px; border-radius: 999px; font-size: .82rem; }.detail-information { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin: 48px 0; }.detail-information .nutrition-panel { max-width: none; }

/* -- Compact, product-led homepage carousel -- */
.store-carousel { background: linear-gradient(118deg, var(--paper), var(--jade-tint)); border-bottom: 1px solid var(--line); }.carousel-frame { padding-top: 22px; padding-bottom: 18px; }.carousel-slides { position: relative; min-height: 340px; }.carousel-slide { display: none; grid-template-columns: minmax(0, 1fr) minmax(290px, .88fr); gap: 44px; align-items: center; min-height: 340px; }.carousel-slide.is-active { display: grid; }.carousel-copy { padding: 18px 0; }.carousel-copy h1 { font-size: clamp(2rem, 4vw, 3.25rem); margin: 7px 0 4px; max-width: 600px; }.carousel-flavour { font-weight: 600; color: var(--jade); margin: 0 0 10px; }.carousel-message { color: var(--muted); max-width: 560px; font-size: 1rem; margin: 0 0 18px; }.carousel-facts { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 20px; }.carousel-facts span { border: 1px solid var(--line); border-radius: 999px; background: rgba(255,253,248,.78); padding: 6px 10px; font-size: .86rem; color: var(--muted); }.carousel-facts strong { color: var(--jade-deep); font-family: var(--font-display); font-size: 1.15rem; }.carousel-actions { display: flex; flex-wrap: wrap; gap: 10px; }.carousel-actions form { margin: 0; }.carousel-image { display: grid; place-items: center; height: 292px; border-radius: var(--radius); overflow: hidden; background: var(--sage-soft); text-decoration: none; color: var(--jade-deep); font-family: var(--font-display); font-size: 2rem; text-align: center; }.carousel-image img { width: 100%; height: 100%; object-fit: cover; }.carousel-controls { display: flex; align-items: center; justify-content: center; gap: 14px; margin-top: 4px; }.carousel-arrow, .carousel-dots button { appearance: none; border: 1px solid var(--line); background: var(--paper); color: var(--jade-deep); cursor: pointer; }.carousel-arrow { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; font-size: 1.05rem; }.carousel-dots { display: flex; gap: 7px; }.carousel-dots button { width: 8px; height: 8px; padding: 0; border-radius: 999px; }.carousel-dots button.is-active { background: var(--jade); border-color: var(--jade); }.store-intro { padding: 32px 0 14px; }.store-intro h1 { font-size: 2rem; margin-top: 6px; }.store-heading { padding-top: 34px; }
.carousel-admin-list { display: grid; gap: 10px; }.carousel-admin-row { display: grid; grid-template-columns: 62px minmax(190px, 1fr) 90px 92px auto; align-items: end; gap: 14px; padding: 14px 0; border-top: 1px solid var(--line); }.carousel-admin-row .field { margin: 0; }.carousel-admin-row .field input { min-height: 44px; }.carousel-visible { display: flex; align-items: center; gap: 6px; min-height: 44px; font-size: .9rem; font-weight: 500; }.carousel-admin-copy { grid-column: 2 / -1; margin-top: -2px; }.carousel-admin-copy summary { cursor: pointer; color: var(--jade); font-size: .9rem; }.carousel-admin-copy .form-grid { margin-top: 14px; }.carousel-admin-copy .field { margin-bottom: 12px; }
.product-danger-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 18px; margin: 12px 0 32px; }
.wide-form { max-width: 1120px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.btn-compact { min-height: 40px; padding: 0 14px; font-size: .92rem; }
.po-builder { border-top: 1px solid var(--line); margin: 26px 0 22px; padding-top: 18px; }
.po-builder .section-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 12px; }
.po-builder .section-heading h2 { margin: 0; }
.po-builder .section-heading .section-lead { margin: 4px 0 0; }
/* Compact spreadsheet-like purchasing grid: one header row, label-free rows. */
.po-grid-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.po-grid { display: grid; grid-template-columns: minmax(260px, 2.25fr) 96px minmax(165px, 1fr) minmax(170px, 1fr) 82px; gap: 12px; align-items: center; }
.po-grid-head { padding: 0 2px 8px; font-size: .72rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--muted); border-bottom: 1px solid var(--line); }
.po-grid-head .po-col-action { text-align: right; }
.po-builder-lines { display: grid; }
.po-builder-line { padding: 10px 2px; border-bottom: 1px solid var(--line); }
.po-builder-line .field { margin: 0; min-width: 0; }
.po-builder-line input, .po-builder-line select { width: 100%; min-width: 0; min-height: 44px; }
.po-col-action { display: flex; align-items: center; justify-content: flex-end; }
/* Inline new-product entries: separated rows, never a card inside the card. */
.po-new-list { display: grid; }
.po-new-product { padding: 14px 0; border-bottom: 1px solid var(--line); }
.po-new-product .po-new-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(178px, 1fr)); gap: 12px 14px; }
.po-new-product .field { margin: 0; min-width: 0; }
.po-new-product .field input, .po-new-product .field select { min-height: 46px; }
.po-new-foot { display: flex; justify-content: flex-end; margin-top: 10px; }
.po-actions, .po-line-actions { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }.po-line-actions { justify-content: flex-end; }
.variant-empty { display: grid; gap: 5px; text-align: left; background: rgba(255,255,255,.28); }
.narrow-form { max-width: 780px; }.po-row { grid-template-columns: 62px minmax(160px, 1fr) 220px 170px; }.po-icon { display: grid; place-items: center; width: 54px; height: 54px; background: var(--jade-tint); color: var(--jade-deep); border-radius: 9px; font-weight: 700; font-size: .82rem; }.po-columns { grid-template-columns: 1fr 1fr; }.po-line { border-left: 4px solid var(--sage); }.po-line-header { display: flex; gap: 14px; justify-content: space-between; align-items: flex-start; }.po-line-header h3 { margin: 0; }.po-line-header p { margin: 4px 0 0; }.batch-summary, .recommendations { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 16px 0; color: var(--muted); font-size: .9rem; }.batch-summary strong { color: var(--ink); }.recommendations { background: var(--jade-tint); border-radius: var(--radius-sm); padding: 10px 12px; color: var(--jade-deep); }.recommendations span + span { border-left: 1px solid var(--line); padding-left: 12px; }.receive-form { border-top: 1px solid var(--line); padding-top: 14px; }.receive-form summary { cursor: pointer; font-weight: 700; color: var(--jade-deep); }.receive-form form { margin-top: 16px; }.received-batches { margin-top: 16px; display: grid; gap: 8px; }.received-batches > div { display: flex; justify-content: space-between; gap: 12px; border-top: 1px solid var(--line); padding-top: 8px; font-size: .88rem; }.stock-table { display: grid; margin-top: 18px; border-top: 1px solid var(--line); }.stock-head, .stock-row { display: grid; grid-template-columns: minmax(180px, 1.5fr) 90px 110px 110px minmax(150px, 1fr) 110px minmax(105px, .75fr); gap: 14px; align-items: center; padding: 12px 4px; border-bottom: 1px solid var(--line); }.stock-head { font-size: .76rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
.stock-actions { display: grid; gap: 8px; }.stock-adjust summary { cursor: pointer; color: var(--jade-deep); font-weight: 700; font-size: .88rem; }.stock-adjust form { display: grid; gap: 9px; width: min(100%, 280px); margin-top: 10px; padding: 12px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--paper); }.stock-adjust label { display: grid; gap: 4px; font-size: .82rem; }.stock-adjust textarea { min-height: 64px; }.stock-adjustment-history { margin-top: 24px; }

@media (max-width: 720px) {
  .admin-layout { grid-template-columns: 1fr; }
  .admin-nav { display: flex; flex-wrap: wrap; gap: 6px; }
  .admin-nav .brand { width: 100%; margin-bottom: 12px; }
  .facts { flex-direction: row; }
  .site-header .container { min-height: 66px; }.site-nav > a { display: none; }.hero-grid, .product-detail-grid, .two-column { grid-template-columns: 1fr; gap: 26px; }.hero-grid { padding-top: 42px; padding-bottom: 42px; }.hero-facts { grid-template-columns: repeat(3, 1fr); }.hero-facts div { padding: 12px 9px; display: block; }.hero-facts strong { display: block; font-size: 1.25rem; }.hero-facts span { font-size: .72rem; }.form-grid, .nutrition-grid, .detail-information { grid-template-columns: 1fr; }.admin-main { padding: 24px 16px; }.admin-product-row { grid-template-columns: 48px 1fr; }.admin-product-row > :nth-child(3), .admin-product-row > :nth-child(4) { display: none; }.edit-row summary { display: block; }.edit-row summary .muted { display: block; margin-top: 4px; }.store-filters { flex-direction: column; }.store-filters select { max-width: none; }.product-detail { padding-top: 18px; }
  .po-row { grid-template-columns: 48px 1fr; }.po-line-header { display: block; }.po-line-header .status { display: inline-block; margin-top: 8px; }.received-batches > div { display: block; }.stock-head { display: none; }.stock-row { grid-template-columns: 1fr 1fr; gap: 8px; }.stock-row > :first-child { grid-column: 1 / -1; }
}

@media (prefers-reduced-motion: reduce) {
  * { transition: none !important; animation: none !important; }
}

/* -- Orders & bank transfer (P3) -- */
.narrow-page { max-width: 860px; padding-top: 42px; padding-bottom: 18px; }
.page-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 18px; margin-bottom: 20px; }
.page-heading h1 { margin-bottom: 4px; }
.account-card { width: min(100%, 470px); }
.account-help { margin: 18px 0 0; font-size: .92rem; }
.account-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(260px, .65fr); gap: 22px; align-items: start; }
.account-side-stack { display: grid; gap: 22px; }
.credit-balance { font-family: var(--font-display); color: var(--jade-deep); font-size: 1.7rem; margin: 6px 0; }
.credit-history { border-top: 1px solid var(--line); margin-top: 14px; }
.credit-history p { border-bottom: 1px solid var(--line); padding: 10px 0; margin: 0; font-size: .9rem; }
.credit-use { display: flex; gap: 10px; align-items: flex-start; padding: 14px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--jade-tint); }
.credit-use input { margin-top: 5px; }
.credit-use small { color: var(--muted); font-weight: 400; }
.dashboard-intro, .dashboard-priority, .dashboard-section-card { margin-bottom: 24px; }
.section-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 12px; }
.section-heading h2 { margin: 0; }.section-heading p { margin: 4px 0 0; }
.dashboard-intro { display: flex; align-items: center; justify-content: space-between; gap: 28px; padding: 26px 28px; background: linear-gradient(115deg, var(--paper), var(--jade-tint)); }
.dashboard-intro .eyebrow, .dashboard-section-heading .eyebrow { margin: 0 0 5px; }
.dashboard-intro h2 { font-size: 1.7rem; margin: 0 0 6px; }
.dashboard-intro p:not(.eyebrow) { margin: 0; color: var(--muted); max-width: 700px; }
.dashboard-quick-actions { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; justify-content: flex-end; }
.dashboard-priority { padding: 26px 28px 28px; border-color: #b9cfb5; }
.dashboard-section-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 18px; }
.dashboard-section-heading h2 { margin: 0; font-size: 1.45rem; }
.dashboard-section-heading p { margin: 4px 0 0; }
.dashboard-work-count { color: var(--jade-deep); background: var(--jade-tint); border: 1px solid #c4d7bf; border-radius: 999px; padding: 7px 12px; font-size: .9rem; font-weight: 700; white-space: nowrap; }
.dashboard-clear, .dashboard-empty { display: grid; gap: 3px; color: var(--muted); }
.dashboard-clear { border: 1px solid #c9dcc4; border-radius: var(--radius-sm); background: #f3f8ef; padding: 18px 20px; }
.dashboard-clear strong, .dashboard-empty strong { color: var(--jade-deep); }
.dashboard-next-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.dashboard-next-card { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 14px; min-height: 92px; padding: 15px 16px; color: var(--ink); text-decoration: none; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--paper); }
.dashboard-next-card:hover { border-color: var(--jade); box-shadow: 0 4px 16px rgba(34, 60, 38, .09); }
.dashboard-next-card strong, .dashboard-next-card small { display: block; }
.dashboard-next-card strong { color: var(--jade-deep); margin-bottom: 2px; }
.dashboard-next-card small { color: var(--muted); font-size: .87rem; line-height: 1.35; }
.dashboard-next-card b { color: var(--jade); font-size: .9rem; }
.dashboard-next-number { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--jade-deep); color: #fff; font-family: var(--font-display); font-size: 1.5rem; }
.dashboard-section-card { padding: 26px 28px 28px; }
.dashboard-process-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.dashboard-process-card { min-height: 138px; padding: 16px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--oat); color: var(--ink); text-decoration: none; display: grid; align-content: start; gap: 6px; }
.dashboard-process-card:hover { border-color: var(--sage); background: #fafcf7; }
.dashboard-process-card span { color: var(--muted); font-size: .88rem; line-height: 1.35; }
.dashboard-process-card strong { color: var(--jade-deep); font-family: var(--font-display); font-size: 2rem; line-height: 1; }
.dashboard-process-card small { color: var(--sage); font-size: .82rem; }
.dashboard-stock-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.dashboard-stock-panel { min-height: 184px; padding: 18px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--oat); }
.dashboard-panel-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.dashboard-panel-heading h3 { margin: 0; font-size: 1.08rem; }.dashboard-panel-heading p { margin: 3px 0 0; color: var(--muted); font-size: .86rem; }.dashboard-panel-heading a { font-size: .9rem; white-space: nowrap; }
.dashboard-stock-panel .dashboard-empty { padding-top: 20px; }
.dashboard-purchase-panel { color: var(--ink); text-decoration: none; display: grid; align-content: start; gap: 7px; }
.dashboard-purchase-panel:hover { border-color: var(--sage); background: #fafcf7; }
.dashboard-purchase-panel span { color: var(--muted); font-size: .92rem; }.dashboard-purchase-panel strong { color: var(--jade-deep); font-family: var(--font-display); font-size: 2rem; line-height: 1; }.dashboard-purchase-panel small { color: var(--sage); font-size: .84rem; }
.dashboard-list { border-top: 1px solid var(--line); margin-top: 14px; }.dashboard-list > div { display: flex; justify-content: space-between; align-items: flex-start; gap: 14px; padding: 12px 0; border-bottom: 1px solid var(--line); }.dashboard-list span, .dashboard-list small { display: block; }.dashboard-list small { color: var(--muted); font-size: .85rem; margin-top: 2px; }.dashboard-recent-orders { max-width: 850px; }
.report-summary-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-bottom: 22px; }.report-metric { background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius); padding: 18px; box-shadow: var(--shadow); text-decoration: none; color: var(--ink); display: grid; gap: 5px; }.report-metric span { color: var(--muted); font-size: .85rem; }.report-metric strong { color: var(--jade-deep); font-family: var(--font-display); font-size: 2rem; line-height: 1; }
.report-filter-form { display: flex; flex-wrap: wrap; align-items: end; gap: 12px; }.report-filter-form label { display: grid; gap: 5px; font-size: .86rem; }.report-filter-form input { min-height: 46px; padding: 8px 10px; }
.report-pairs { display: grid; grid-template-columns: 1fr auto; gap: 10px 18px; }.report-pairs span { color: var(--muted); }
.settings-form { display: grid; gap: 22px; }
.account-orders { border-top: 1px solid var(--line); }
.account-order { padding: 16px 0; border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.account-order p { margin: 5px 0 0; font-size: .9rem; }
.account-order .status { margin-left: 8px; }
.account-order-actions { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; justify-content: flex-end; }
.account-order-actions form { margin: 0; }
.account-activation { margin-top: 22px; }
.support-order-link { margin-top: 22px; }
.support-customer-grid, .support-admin-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr); gap: 22px; align-items: start; }
.support-item-picker, .support-case-list, .support-return-list, .resolution-list { border-top: 1px solid var(--line); }
.support-item-picker > div, .support-case-list article, .resolution-list article { display: flex; justify-content: space-between; gap: 14px; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--line); }
.support-item-picker input { width: 76px; min-height: 42px; padding: 8px; }
.support-case-list article { display: block; }
.support-case-list article p { margin: 5px 0; }
.case-heading { display: flex; justify-content: space-between; gap: 18px; align-items: flex-start; }
.case-heading h2 { margin: 10px 0 5px; }
.case-description { margin: 20px 0; padding: 16px; background: var(--oat-deep); border-radius: var(--radius-sm); }
.case-description p { margin: 6px 0 0; white-space: pre-wrap; }
.support-return-list article { padding: 14px 0; border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; gap: 18px; align-items: center; }
.support-return-list p { margin: 5px 0 0; }
.support-return-list form { display: grid; grid-template-columns: minmax(140px, 1fr) minmax(160px, 1fr) auto; gap: 8px; align-items: center; }
.support-return-list select, .support-return-list input { min-height: 42px; padding: 7px 9px; }
.support-status-form { display: grid; gap: 12px; }
.support-status-form select { max-width: 340px; }
.check-inline { display: flex; gap: 8px; align-items: center; font-weight: 500; }
.resolution-list article { display: block; }
.resolution-list article p { margin: 5px 0; }
.narrow-page h1 { margin-top: 4px; }
.buy-form, .cart-quantity, .inline-confirm { display: flex; align-items: end; gap: 10px; flex-wrap: wrap; }
.buy-form label { display: grid; gap: 4px; font-size: .82rem; color: var(--muted); }
.buy-form input { width: 74px; min-height: 42px; }
.cart-lines { border-top: 1px solid var(--line); }
.cart-line { display: flex; justify-content: space-between; gap: 18px; align-items: center; padding: 16px 0; border-bottom: 1px solid var(--line); }
.cart-line p { margin: 5px 0 0; }
.cart-line-image, .checkout-line-image { width: 68px; height: 68px; flex: 0 0 68px; border-radius: var(--radius-sm); overflow: hidden; display: grid; place-items: center; background: var(--sage-soft); color: var(--jade-deep); font-family: var(--font-display); font-weight: 700; }
.cart-line-image img, .checkout-line-image img { width: 100%; height: 100%; object-fit: cover; }
.cart-quantity input, .inline-confirm input { min-height: 42px; width: 84px; padding: 8px; }
.inline-confirm input:nth-child(2) { width: 170px; }
.cart-actions { margin-top: 22px; }
.checkout-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(230px, .85fr); gap: 20px; align-items: start; }
.form-stack { display: grid; gap: 14px; }
.form-stack label { display: grid; gap: 6px; font-size: .9rem; font-weight: 600; }
.form-stack input, .form-stack textarea { padding: 10px 12px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: #fffdf8; font: inherit; }
.form-stack textarea { min-height: 90px; resize: vertical; }
.delivery-choice { border: 1px solid var(--line); border-radius: var(--radius-sm); padding: 12px; display: grid; gap: 10px; }
.delivery-choice legend { font-weight: 700; padding: 0 5px; }.delivery-choice > label { display: block; font-weight: 400; }.delivery-choice .pickup-point { display: grid; gap: 5px; margin-top: 3px; font-size: .84rem; font-weight: 600; }.delivery-choice .pickup-point input { min-height: 42px; }
.home-delivery-fields { display: grid; gap: 8px; padding-top: 8px; border-top: 1px solid var(--line); }.home-delivery-fields p { margin: 0; }.home-delivery-fields label { display: grid; gap: 5px; font-size: .84rem; font-weight: 600; }
.checkout-line { display: flex; align-items: center; gap: 10px; padding: 10px 0; border-bottom: 1px solid var(--line); }.checkout-line p { margin: 0; }
.checkout-note { border-top: 1px solid var(--line); padding-top: 12px; color: var(--muted); font-size: .88rem; }
.quote-picker { margin-bottom: 20px; }
.inline-form { display: flex; gap: 12px; align-items: end; flex-wrap: wrap; }
.inline-form label { flex: 1 1 320px; }
.delivery-services { display: grid; gap: 8px; margin: 12px 0; }
.delivery-service { display: flex; align-items: flex-start; gap: 8px; border: 1px solid var(--line); border-radius: 10px; padding: 10px; }
.order-status { margin-bottom: 18px; }.order-status h2 { margin-top: 28px; }.status-good { color: var(--jade-deep); font-weight: 600; }
.preorder-note { margin: 8px 0; padding: 9px 11px; border-radius: var(--radius-sm); background: var(--jade-tint); color: var(--jade-deep); font-size: .87rem; line-height: 1.42; }
.product-actions { display: flex; align-items: center; gap: 8px; }.btn-small { padding: 7px 10px; font-size: .82rem; }
.table-wrap { overflow-x: auto; } table { width: 100%; border-collapse: collapse; } th, td { border-bottom: 1px solid var(--line); padding: 12px 8px; text-align: left; vertical-align: top; } th { font-size: .76rem; color: var(--muted); text-transform: uppercase; letter-spacing: .06em; } td small { color: var(--muted); } .status-pill { display: inline-block; border-radius: 999px; padding: 4px 8px; background: var(--jade-tint); color: var(--jade-deep); font-size: .78rem; white-space: nowrap; }
@media (max-width: 720px) { .checkout-grid { grid-template-columns: 1fr; } .cart-line { align-items: flex-start; flex-direction: column; } .inline-confirm { min-width: 250px; } }

@media (max-width: 720px) {
  .carousel-slide { grid-template-columns: 1fr; gap: 18px; min-height: 0; }
  .carousel-slides { min-height: 0; }
  .carousel-frame { padding-top: 14px; }
  .carousel-copy { padding: 12px 0 0; }
  .carousel-copy h1 { font-size: 2.1rem; }
  .carousel-image { height: 220px; order: -1; }
  .carousel-admin-row { grid-template-columns: 48px 1fr; align-items: center; }
  .carousel-admin-row .field, .carousel-visible, .carousel-admin-row > div:nth-child(5) { grid-column: 2; }
  .carousel-admin-copy { grid-column: 1 / -1; }
  .po-builder .section-heading { flex-direction: column; }
  .account-grid { grid-template-columns: 1fr; }
  .account-order { align-items: flex-start; flex-direction: column; }
  .account-order-actions { justify-content: flex-start; }
  .support-customer-grid, .support-admin-grid { grid-template-columns: 1fr; }
  .support-return-list article { align-items: flex-start; flex-direction: column; }
  .support-return-list form { width: 100%; grid-template-columns: 1fr; }
  .case-heading { flex-direction: column; }
  .report-summary-grid, .dashboard-next-grid, .dashboard-process-grid, .dashboard-stock-grid { grid-template-columns: 1fr; }
  .dashboard-intro, .dashboard-section-heading { align-items: stretch; flex-direction: column; }
  .dashboard-intro, .dashboard-priority, .dashboard-section-card { padding: 22px 18px; }
  .dashboard-quick-actions { justify-content: stretch; }.dashboard-quick-actions .btn { flex: 1; }
  .dashboard-section-heading .btn { width: 100%; }
}

/* Product page: all uploaded images stay available for the selected variant. */
.product-gallery { min-width: 0; }
.product-gallery-thumbnails { display: grid; grid-template-columns: repeat(auto-fill, minmax(62px, 1fr)); gap: 9px; margin-top: 10px; }
.product-gallery-thumbnail { aspect-ratio: 1; padding: 0; border: 2px solid transparent; border-radius: 10px; overflow: hidden; cursor: pointer; background: var(--sage-soft); }
.product-gallery-thumbnail img { display: block; width: 100%; height: 100%; object-fit: cover; }
.product-gallery-thumbnail:hover, .product-gallery-thumbnail:focus-visible { border-color: var(--sage); }
.product-gallery-thumbnail.is-active { border-color: var(--jade); box-shadow: 0 0 0 2px var(--jade-tint); }

/* Product editor: variants are the daily workflow, so they lead the page. */
.product-editor-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding: 4px 0 20px; }
.product-editor-header h2 { margin: 3px 0 4px; }.product-editor-header .muted { margin: 0; }
.product-editor-actions { display: flex; gap: 10px; flex-wrap: wrap; }.product-editor-actions .btn { white-space: nowrap; }
.product-details > summary, .product-editor-extra > summary, .variant-extra > summary { cursor: pointer; color: var(--jade-deep); font-weight: 700; }
.restock-alert { margin-top: 18px; padding: 16px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--sage-soft); }.restock-alert p { margin: 5px 0 12px; }.restock-form { display: flex; gap: 10px; align-items: end; }.restock-form label { flex: 1; }.restock-form .btn { white-space: nowrap; }
.product-details > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; }.product-details > summary span, .product-editor-extra > summary span, .variant-extra > summary span { color: var(--muted); font-size: .86rem; font-weight: 400; }
.product-details[open], .product-editor-extra[open], .variant-extra[open] { padding: 16px; }.product-details form, .product-editor-extra > .form-grid, .variant-extra > .form-grid { margin-top: 16px; }
.product-editor-extra { margin: 0 0 18px; }.variant-workspace { margin-top: 28px; }.variant-workspace .section-heading { margin-bottom: 12px; }
.add-variant { border: 2px solid var(--jade); }.add-variant > summary { display: flex; justify-content: space-between; gap: 14px; align-items: center; color: var(--jade-deep); }.add-variant > summary span { color: var(--muted); font-size: .88rem; font-weight: 400; }.add-variant form { margin-top: 18px; }
.variant-list { display: grid; gap: 10px; }.variant-card { margin: 0; border-left: 4px solid var(--jade); }.variant-card > summary { cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 15px 18px; list-style: none; }.variant-card > summary::-webkit-details-marker { display: none; }.variant-card > summary::after { content: '-'; color: var(--jade); font-size: 1.15rem; }.variant-card[open] > summary::after { transform: rotate(180deg); }.variant-card[open] > summary { border-bottom: 1px solid var(--line); }.variant-card form { padding: 18px; }.variant-summary { display: grid; gap: 3px; }.variant-summary small, .variant-summary-status { color: var(--muted); font-size: .84rem; }.variant-summary-status { margin-left: auto; padding-right: 8px; }.variant-save-row { display: flex; align-items: center; gap: 16px; margin-top: 18px; }.variant-after-save-note { margin: 4px 0 18px; }
@media (max-width: 720px) { .product-editor-header { display: grid; }.product-editor-actions { width: 100%; }.product-editor-actions .btn { flex: 1; }.add-variant > summary, .product-details > summary { align-items: flex-start; flex-direction: column; }.variant-card > summary { align-items: flex-start; flex-wrap: wrap; }.variant-summary-status { margin-left: 0; padding-right: 0; }.variant-card > summary::after { position: absolute; right: 18px; }.variant-card { position: relative; }.variant-save-row { align-items: flex-start; flex-direction: column; }.restock-form { align-items: stretch; flex-direction: column; } }

/* Carousel artwork must be fully visible; product packshots are not backgrounds. */
.carousel-image { box-sizing: border-box; padding: 18px; background: #fff; }
.carousel-image img { object-fit: contain; object-position: center; }
