/* Seeds PDP visual polish. Every rule belongs to product content or product recommendations. */
.sd-pdp { max-inline-size: 1280px; --pdp-border: color-mix(in srgb, var(--border) 55%, var(--card)); --pdp-tint: color-mix(in srgb, var(--soft) 20%, var(--card)); --pdp-secondary: color-mix(in srgb, var(--text) 72%, var(--muted)); --pdp-shadow: 0 2px 8px color-mix(in srgb, var(--text) 5%, transparent); --pdp-ink: color-mix(in srgb, var(--primary) 48%, var(--text)); --pdp-radius: 10px; --pdp-excerpt-limit: 200px; }
/* Facts stay inside the right overview column; tabs follow the entire overview.
   Source phone order stays unchanged without moving or duplicating nodes. */
.sd-pdp .sd-pdp__layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 22px; align-items: start; }
.sd-pdp .sd-pdp__overview { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-areas: "identity" "gallery" "purchase" "conditions" "facts"; gap: 1rem; align-items: start; min-inline-size: 0; }
.sd-pdp .sd-pdp__facts { grid-area: facts; min-inline-size: 0; container: pdp-facts / inline-size; }
.sd-pdp .sd-pdp__facts-row { display: grid; grid-template-columns: minmax(0, auto); grid-template-areas: "calendar" "specs"; gap: 16px; align-items: start; min-inline-size: 0; }
.sd-pdp .sd-pdp__identity { grid-area: identity; min-inline-size: 0; }
.sd-pdp .sd-product__gallery { grid-area: gallery; inline-size: 100%; max-inline-size: 500px; margin-inline: auto; min-inline-size: 0; }
.sd-pdp .sd-product__buy { grid-area: purchase; min-inline-size: 0; }
.sd-pdp .sd-pdp__conditions { grid-area: conditions; min-inline-size: 0; }
.sd-pdp .sd-pdp__calendar { grid-area: calendar; min-inline-size: 0; container: pdp-calendar / inline-size; }
.sd-pdp .sd-specs { grid-area: specs; min-inline-size: 0; }
.sd-pdp .sd-calendar { margin: 0; padding: 0; min-inline-size: 0; overflow: hidden; }
.sd-pdp .sd-product__aside { margin: 1rem 0 0; border-radius: var(--pdp-radius); }
.sd-pdp .sd-gallery > div { border: 1px solid var(--pdp-border); border-radius: 12px; box-shadow: 0 3px 12px color-mix(in srgb, var(--text) 8%, transparent); }
.sd-pdp .sd-gallery > div:focus-within { outline: 2px solid var(--focus); outline-offset: 3px; }
.sd-pdp .sd-gallery__strip { grid-template-rows: minmax(0, 1fr); }
.sd-pdp .sd-gallery__slide { min-inline-size: 0; min-block-size: 0; overflow: hidden; }
.sd-pdp .sd-gallery__slide img { inline-size: 100%; block-size: 100%; object-fit: contain; transition: transform 180ms ease; }
.sd-pdp .sd-pdp__thumbs { display: flex; gap: .625rem; overflow-x: auto; padding: 3px; margin: .625rem -3px 0; scrollbar-width: thin; scroll-snap-type: x proximity; }
.sd-pdp .sd-pdp__thumbs > li { flex: 0 0 calc((100% - 1.875rem) / 4); max-inline-size: 88px; scroll-snap-align: start; }
.sd-pdp .sd-thumb { border: 1px solid var(--pdp-border); border-radius: 8px; transition: border-color 180ms ease, box-shadow 180ms ease; }
.sd-pdp .sd-thumb:hover { border-color: var(--primary); }
.sd-pdp .sd-thumb[aria-current="true"] { border-color: var(--primary); outline: 1px solid var(--primary); outline-offset: 1px; box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary) 12%, transparent); }
.sd-pdp .product__title { margin: 0; font-size: clamp(1.5rem, 2.1vw, 1.875rem); font-weight: 700; line-height: 1.22; overflow-wrap: anywhere; letter-spacing: -.02em; }
.sd-pdp .sd-pdp__sku { display: inline-flex; flex-wrap: wrap; align-items: center; gap: .375rem .5rem; margin: 0; padding: .5rem .625rem; border: 1px solid color-mix(in srgb, var(--primary) 24%, var(--card)); border-radius: 8px; background: color-mix(in srgb, var(--soft) 35%, var(--card)); color: var(--pdp-secondary); font-size: .8125rem; line-height: 1.35; overflow-wrap: anywhere; max-inline-size: 100%; }
.sd-pdp .sd-pdp__sku > svg { inline-size: 1rem; block-size: 1rem; flex: 0 0 1rem; color: var(--pdp-ink); }
.sd-pdp .sd-pdp__sku strong { min-inline-size: 0; color: var(--pdp-ink); font-size: 1.0625rem; font-weight: 700; line-height: 1.25; font-variant-numeric: tabular-nums; letter-spacing: .02em; }
.sd-pdp .sd-pdp__rating { gap: .5rem 1rem; margin-block: .25rem .75rem; min-block-size: 1.75rem; font-size: .8125rem; }
.sd-pdp .sd-pdp__rating:not(:has(*)) { display: none; }
.sd-pdp .sd-pdp__write-review { display: inline-flex; align-items: center; gap: .375rem; color: var(--pdp-ink); font-size: .8125rem; font-weight: 500; text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; padding-block: .375rem; }
.sd-pdp .sd-pdp__write-review:hover { text-decoration-thickness: 2px; }
.sd-pdp .sd-pdp__intro { color: var(--pdp-secondary); font-size: .9375rem; line-height: 1.6; max-inline-size: 68ch; margin-block-end: .25rem; }
.sd-pdp .sd-pdp__intro p { margin: 0; }
.sd-pdp .sd-pdp__offer { margin-block-start: 0; gap: .625rem 1rem; align-items: center; }
.sd-pdp .sd-pdp__offer [data-sd-price-now] { font-size: 2.25rem; font-weight: 700; line-height: 1.12; color: var(--pdp-ink); font-variant-numeric: tabular-nums; letter-spacing: -.025em; }
.sd-pdp .sd-product__buy > p.text-xs { font-size: .8125rem; color: var(--pdp-secondary); }
.sd-pdp .sd-pdp__offer .chip { block-size: auto; min-block-size: 1.75rem; padding: .375rem .625rem; margin: 0; border: 0; border-radius: 6px; font-size: .8125rem; font-weight: 500; }
.sd-pdp .sd-pdp__option { min-inline-size: 0; border: 0; padding: 0; margin: 1rem 0 0; }
.sd-pdp .sd-pdp__option legend { margin-block-end: .5rem; }
.sd-pdp .sd-tile { overflow-wrap: anywhere; min-inline-size: 0; min-block-size: 3.5rem; border-radius: 8px; }
.sd-pdp .sd-pdp__actions { display: grid; grid-template-columns: 136px 48px minmax(0, 1fr); justify-content: start; gap: .625rem; margin-block-start: 1rem; }
.sd-pdp .sd-qtybox { inline-size: 136px; block-size: 3rem; min-block-size: 3rem; border: 1px solid var(--border); border-radius: 8px; overflow: hidden; box-shadow: none; transition: border-color 180ms ease, box-shadow 180ms ease; }
.sd-pdp .sd-qtybox button { flex: 0 0 44px; min-inline-size: 44px; min-block-size: 46px; transition: background-color 180ms ease, color 180ms ease; }
.sd-pdp .sd-qtybox input { flex: 1 1 auto; inline-size: 46px; min-inline-size: 0; font-size: 1rem; }
.sd-pdp .sd-pdp__actions .product__atc { grid-column: 1 / -1; grid-row: 2; inline-size: 100%; min-inline-size: 0; min-block-size: 3rem; border-radius: 8px; font-size: .9375rem; letter-spacing: 0; text-transform: none; font-weight: 600; box-shadow: none; transition: background-color 180ms ease, box-shadow 180ms ease, transform 180ms ease; }
.sd-pdp .sd-pdp__actions .list-btn { grid-column: 2; grid-row: 1; min-block-size: 3rem; inline-size: 48px; padding: .625rem; border-color: var(--pdp-border); border-radius: 8px; background: transparent; transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease; }
.sd-pdp .sd-pdp__actions .list-btn svg { flex-shrink: 0; }
.sd-pdp :is(.sd-pdp__wish-off,.sd-pdp__wish-on) { display: none; }
.sd-pdp .sd-benefits { display: grid; grid-template-columns: minmax(0, 1fr); gap: .625rem 1.25rem; margin: 0; padding: .875rem 0; background: transparent; border: 0; border-block: 1px solid var(--pdp-border); border-radius: 0; font-size: .8125rem; line-height: 1.45; }
.sd-pdp .sd-benefits:not(:has(li)) { display: none; }
.sd-pdp .sd-benefits > li { color: var(--pdp-secondary); margin: 0; align-items: start; gap: .5rem; min-inline-size: 0; }
.sd-pdp .sd-benefits > li > svg { inline-size: 1rem; block-size: 1rem; margin: .125rem 0 0; color: var(--pdp-ink); }
.sd-pdp :is(.sd-specs,.sd-calendar) { padding: 0; margin: 0; border: 1px solid var(--pdp-border); border-radius: var(--pdp-radius); background: var(--pdp-tint); box-shadow: var(--pdp-shadow); }
.sd-pdp .sd-specs__title { display: flex; align-items: center; gap: .625rem; padding: 1rem 1rem .875rem; margin: 0; background: transparent; color: var(--text); font-size: 1rem; font-weight: 650; line-height: 1.35; letter-spacing: -.01em; text-transform: none; border: 0; }
.sd-pdp .sd-specs__title > svg { inline-size: 1.125rem; block-size: 1.125rem; flex-shrink: 0; color: var(--pdp-ink); }
.sd-pdp .sd-specs__list { display: block; margin: 0; padding: 0 1rem .75rem; }
.sd-pdp .sd-specs .specs__row { display: grid; grid-template-columns: minmax(0, auto) minmax(0, max-content); align-items: center; gap: .625rem; padding: .25rem 0; border: 0; border-block-start: 1px solid color-mix(in srgb, var(--pdp-border) 65%, transparent); background: transparent; }
.sd-pdp .sd-specs .specs__row:first-child { border-block-start: 0; }
.sd-pdp .sd-specs :is(.specs__key,.specs__value) { min-inline-size: 0; overflow-wrap: anywhere; font-size: .84375rem; line-height: 1.4; }
.sd-pdp .sd-specs .specs__key { display: flex; align-items: center; gap: .5rem; color: var(--pdp-secondary); font-weight: 400; }
.sd-pdp .sd-specs__icon { inline-size: 1rem; block-size: 1rem; flex: 0 0 1rem; color: var(--pdp-ink); }
.sd-pdp .sd-specs .specs__value { text-align: end; margin: 0; color: var(--text); font-weight: 600; line-height: 1.4; font-variant-numeric: tabular-nums; }
/* Twelve columns stay legible on phones: each period label occupies its own row. */
.sd-pdp .sd-calendar__table-wrap { padding: 0 .5rem .625rem; }
.sd-pdp .sd-calendar__table { display: block; inline-size: 100%; font-size: .875rem; border-collapse: collapse; }
.sd-pdp .sd-calendar__table :is(thead,tbody) { display: block; }
.sd-pdp .sd-calendar__table tr { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 3px; }
.sd-pdp .sd-calendar__table :is(th,td) { min-inline-size: 0; padding: 0; border: 0; }
.sd-pdp .sd-calendar__table thead th { padding-block: .25rem .5rem; color: var(--text); font-size: .75rem; font-weight: 600; letter-spacing: -.025em; text-align: center; }
.sd-pdp .sd-calendar__table thead th:first-child { display: none; }
.sd-pdp .sd-calendar__table abbr { display: flex; justify-content: center; white-space: nowrap; text-decoration: none; text-transform: lowercase; }
.sd-pdp .sd-calendar__table abbr::first-letter { text-transform: uppercase; }
.sd-pdp .sd-calendar__period { margin-block-start: .625rem; }
.sd-pdp .sd-calendar__period > th { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: .125rem .5rem; grid-column: 1 / -1; padding-block-end: .375rem; text-align: start; font-size: .8125rem; font-weight: 500; line-height: 1.4; }
.sd-pdp .sd-calendar__period > th small { font-size: .75rem; font-weight: 400; color: var(--muted); overflow-wrap: anywhere; }
.sd-pdp .sd-calendar__cell > span { display: block; min-block-size: 1.5rem; background: color-mix(in srgb, var(--border) 65%, var(--card)); border: 1px solid color-mix(in srgb, var(--pdp-ink) 80%, var(--card)); border-radius: 4px; }
.sd-pdp .sd-calendar__cell.is-on > span { background: var(--pdp-ink); border-color: var(--pdp-ink); }
.sd-pdp .sd-calendar__period--seedlings .sd-calendar__cell.is-on > span { background: color-mix(in srgb, var(--primary) 46%, var(--card)); border-color: color-mix(in srgb, var(--pdp-ink) 65%, var(--card)); }
.sd-pdp .sd-calendar__period--bloom .sd-calendar__cell.is-on > span { background: var(--accent); border-color: color-mix(in srgb, var(--accent) 60%, var(--text)); }
.sd-pdp .sd-calendar__note { margin: 0; padding: .125rem 1rem .875rem; font-size: .78125rem; color: var(--pdp-secondary); line-height: 1.4; }
.sd-pdp .product__details { grid-area: auto; margin: 0; inline-size: 100%; max-inline-size: none; min-inline-size: 0; }
.sd-pdp .sd-pdp-tabs { scroll-margin-block-start: calc(var(--sd-head-h, 100px) + 1.25rem); }
.sd-pdp .sd-pdp-tabs__nav { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .25rem; padding: 0; margin-block-end: .875rem; border: 0; border-block-end: 1px solid var(--pdp-border); border-radius: 0; background: transparent; }
.sd-pdp .sd-pdp-tabs__nav button { min-inline-size: 0; min-block-size: 2.875rem; padding: .75rem .25rem; margin-block-end: -1px; border: 0; border-block-end: 2px solid transparent; border-radius: 0; background: transparent; color: var(--muted); font: inherit; font-size: .875rem; font-weight: 500; line-height: 1.3; cursor: pointer; transition: color 180ms ease, border-color 180ms ease, background-color 180ms ease; }
.sd-pdp .sd-pdp-tabs__nav button:hover { color: var(--pdp-ink); border-block-end-color: color-mix(in srgb, var(--primary) 35%, var(--card)); background: transparent; }
.sd-pdp .sd-pdp-tabs__nav button[aria-selected="true"] { color: var(--pdp-ink); border-color: var(--primary); background: transparent; box-shadow: none; font-weight: 600; }
.sd-pdp .sd-pdp-panel { inline-size: 100%; max-inline-size: none; min-inline-size: 0; }
.sd-pdp .sd-pdp-panel__body { inline-size: 100%; max-inline-size: none; padding: .25rem 0 0; border: 0; border-radius: 0; background: transparent; overflow-wrap: anywhere; }
.sd-pdp .sd-pdp-panel > summary { padding: .875rem 1rem; margin-block-end: .5rem; border: 1px solid var(--pdp-border); border-radius: 8px; background: var(--pdp-tint); font-weight: 600; cursor: pointer; }
.sd-pdp .sd-pdp-panel[open] > summary { color: var(--primary); }
.sd-pdp .sd-pdp-panel + .sd-pdp-panel { margin-block-start: .75rem; }
.sd-pdp [data-pdp-tabs-ready] .sd-pdp-panel { margin: 0; }
.sd-pdp .sd-pdp__rich { inline-size: 100%; max-inline-size: none; font-size: .9375rem; line-height: 1.75; }
.sd-pdp .sd-pdp__rich p { margin-block: 0 1rem; }
.sd-pdp .sd-pdp__rich :is(h2,h3,h4,h5,h6) { text-transform: none; letter-spacing: -.01em; margin-block: 1.625rem .625rem; color: var(--text); font-weight: 600; line-height: 1.35; }
.sd-pdp .sd-pdp__rich h2 { font-size: 1.25rem; }
.sd-pdp .sd-pdp__rich :is(h3,h4,h5,h6) { font-size: 1.0625rem; }
.sd-pdp .sd-pdp__rich > :first-child { margin-block-start: 0; }
.sd-pdp .sd-pdp__rich > :last-child { margin-block-end: 0; }
.sd-pdp .sd-pdp__rich :is(ul,ol) { margin: .625rem 0 1.25rem; padding-inline-start: 1.375rem; }
.sd-pdp .sd-pdp__rich ul { list-style: disc; }
.sd-pdp .sd-pdp__rich ol { list-style: decimal; }
.sd-pdp .sd-pdp__rich li { padding-inline-start: .125rem; margin-block: .375rem; }
.sd-pdp .sd-pdp__rich :is(img,video,iframe) { max-inline-size: 100%; block-size: auto; }
.sd-pdp .sd-pdp__rich table { display: block; max-inline-size: 100%; overflow-x: auto; }
.sd-pdp .sd-pdp__empty { margin: 0; color: var(--muted); font-size: .9375rem; line-height: 1.6; }
/* Full content is the default. Only measured, enhanced excerpts are clipped. */
.sd-pdp .sd-pdp-panel__body:has(> [data-pdp-expandable]) { max-inline-size: none; font-size: .9375rem; }
.sd-pdp .sd-pdp__excerpt { inline-size: 100%; max-inline-size: none; display: flow-root; position: relative; }
.sd-pdp .sd-pdp__excerpt[data-pdp-clamped] { max-block-size: var(--pdp-excerpt-limit); overflow: clip; }
.sd-pdp .sd-pdp__excerpt[data-pdp-clamped]::after { content: ''; position: absolute; inset: auto 0 0; block-size: 2.5rem; pointer-events: none; background: linear-gradient(to bottom, transparent, var(--bg)); }
.sd-pdp .sd-pdp__expand { display: flex; margin: .625rem auto 0; min-block-size: 2.75rem; inline-size: auto; max-inline-size: 100%; padding: .5rem 1rem; border: 1px solid var(--pdp-border); border-radius: 8px; color: var(--pdp-ink); background: transparent; font-size: .875rem; font-weight: 500; }
@media (max-width: 767px) {
  .sd-pdp { --pdp-excerpt-limit: 180px; }
}
.sd-pdp .sd-write { inline-size: 100%; max-inline-size: none; scroll-margin-block-start: calc(var(--sd-head-h, 100px) + 1.25rem); }
.sd-pdp .sd-write .card { border-color: var(--pdp-border); border-radius: 10px; background: var(--pdp-tint); }
.sd-pdp :is(a,button,input,summary,[role="tabpanel"]):focus-visible, .sd-pdp-related :is(a,button,[data-pdp-rail]):focus-visible { outline: 2px solid var(--focus); outline-offset: 3px; }
.sd-pdp [hidden] { display: none !important; }
:root[data-sellanto-js] .sd-pdp .sd-sticky:not([data-sellanto-sticky-shown]) { display: none; }
/* Existing recommendation data, cards and forms; presentation only on a PDP. */
.sd-pdp-related { position: relative; max-inline-size: 1280px; margin-block-start: 1.5rem; content-visibility: visible; }
.sd-pdp-related > .sd-sec { margin-block-end: .75rem; padding-inline-end: 6.5rem; }
.sd-pdp-related .sd-head-rule { font-size: 1.125rem; letter-spacing: 0; text-transform: none; }
.sd-pdp-related .sd-head-rule::after { display: none; }
.sd-pdp-related__controls { position: absolute; inset-inline-end: 1rem; inset-block-start: 0; display: flex; gap: .375rem; }
.sd-pdp-related__controls .btn { inline-size: 2.75rem; block-size: 2.75rem; padding: .625rem; border-radius: 50%; }
.sd-pdp-related__controls svg { inline-size: 1rem; block-size: 1rem; }
.sd-pdp-related [data-pdp-rail] { display: grid; grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: minmax(16rem, 85%); gap: .875rem; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; padding: .25rem .125rem .5rem; }
.sd-pdp-related [data-pdp-rail] > article { display: grid; grid-template-columns: 5.5rem minmax(0, 1fr); align-items: start; block-size: auto; min-inline-size: 0; border-radius: 10px; scroll-snap-align: start; }
.sd-pdp-related [data-pdp-rail] > article > div:first-child { margin: .5rem 0 .5rem .5rem; }
.sd-pdp-related [data-pdp-rail] > article > div:first-child > a { aspect-ratio: 1; border-radius: 8px; }
.sd-pdp-related [data-pdp-rail] > article > div:first-child img { object-fit: contain; }
.sd-pdp-related [data-pdp-rail] > article > div:first-child > span { display: none; }
.sd-pdp-related [data-pdp-rail] > article > div:first-child > button { inline-size: 1.75rem; block-size: 1.75rem; min-inline-size: 1.75rem; min-block-size: 1.75rem; inset: .25rem .25rem auto auto; }
.sd-pdp-related [data-pdp-rail] > article > div:last-child { padding: .625rem; }
.sd-pdp-related [data-pdp-rail] :is(h3,h4) { margin: 0; font-size: .8125rem; line-height: 1.4; }
.sd-pdp-related [data-pdp-rail] article > div:last-child > p { display: none; }
.sd-pdp-related [data-pdp-rail] article > div:last-child > div { margin-block-start: .375rem; }
.sd-pdp-related [data-pdp-rail] article > div:last-child > div span.text-lg { font-size: .9375rem; }
.sd-pdp-related [data-pdp-rail] form { margin-block-start: .5rem; }
.sd-pdp-related [data-pdp-rail] .btn { padding: .375rem .5rem; min-block-size: 2.75rem; font-size: .75rem; }
@media (min-width: 600px) {
  .sd-pdp .sd-pdp__actions { inline-size: min(100%, 524px); grid-template-columns: 136px minmax(0, 1fr) 48px; }
  .sd-pdp .sd-pdp__actions .product__atc { grid-column: 2; grid-row: 1; }
  .sd-pdp .sd-pdp__actions .list-btn { grid-column: 3; }
  .sd-pdp .sd-benefits { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sd-pdp .sd-pdp-tabs__nav { display: flex; justify-content: center; gap: 36px; }
  .sd-pdp .sd-pdp-tabs__nav button { flex: 0 0 auto; padding-inline: 0; white-space: nowrap; }
  .sd-pdp-related [data-pdp-rail] { grid-auto-columns: calc((100% - .875rem) / 2); }
}
@media (min-width: 1000px) {
  .sd-pdp .sd-pdp__overview { grid-template-columns: 500px minmax(0, 1fr); grid-template-areas: "gallery identity" "gallery purchase" "gallery conditions" "gallery facts"; grid-template-rows: min-content min-content min-content minmax(0, 1fr); column-gap: 1.5rem; row-gap: .875rem; }
  .sd-pdp .sd-pdp__facts-row { grid-template-columns: minmax(0, 390px); justify-content: start; }
  .sd-pdp .sd-pdp__facts-row > .sd-pdp__calendar { max-inline-size: 390px; }
  .sd-pdp .sd-pdp__facts-row > .sd-specs { max-inline-size: 350px; }
  @container pdp-facts (min-width: 680px) {
    .sd-pdp .sd-pdp__facts-row { grid-template-columns: minmax(0, 390px) minmax(0, 350px); grid-template-areas: "calendar specs"; }
  }
  .sd-pdp .sd-calendar { display: grid; grid-template-columns: minmax(0, 1fr) auto; }
  .sd-pdp .sd-calendar .sd-calendar__legend { align-self: center; gap: .5rem; margin: 0; padding: 0 1rem 0 0; }
  .sd-pdp :is(.sd-calendar__table-wrap,.sd-calendar__note) { grid-column: 1 / -1; }
  .sd-pdp .sd-calendar__table tr { grid-template-columns: 48px repeat(12, minmax(0, 1fr)); gap: 3px; }
  .sd-pdp .sd-calendar__table thead th:first-child { display: block; }
  .sd-pdp .sd-calendar__table-wrap { padding-inline: .25rem; }
  .sd-pdp .sd-calendar__table thead th { font-size: .6875rem; }
  .sd-pdp .sd-calendar__period { margin-block-start: .375rem; }
  .sd-pdp .sd-calendar__period[data-pdp-compact-period] > th { grid-column: auto; align-self: center; padding: 0; font-size: .75rem; }

  /* Narrow calendar cards keep all twelve month names legible. */
  @container pdp-calendar (max-width: 357px) {
    .sd-pdp .sd-calendar__table tr { grid-template-columns: repeat(12, minmax(0, 1fr)); }
    .sd-pdp .sd-calendar__table thead th:first-child { display: none; }
    .sd-pdp .sd-calendar__period[data-pdp-compact-period] > th { grid-column: 1 / -1; padding-block-end: .375rem; }
  }

}
@media (min-width: 1100px) {
  .sd-pdp-related [data-pdp-rail] { grid-auto-columns: calc((100% - 2.625rem) / 4); }
}
/* Small effects never resize controls or alter the established layout. */
.sd-pdp .sd-qtybox:focus-within { border-color: var(--primary); box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary) 12%, transparent); }
.sd-pdp .sd-qtybox button:first-of-type { border-inline-end: 1px solid var(--pdp-border); }
.sd-pdp .sd-qtybox button:last-of-type { border-inline-start: 1px solid var(--pdp-border); }
.sd-pdp .sd-qtybox button:focus-visible { outline: 2px solid var(--focus); outline-offset: -3px; }
.sd-pdp .sd-thumb:focus-visible { outline: 2px solid var(--focus); outline-offset: 3px; }
.sd-pdp .sd-pdp__actions .list-btn[aria-pressed="true"] { border-color: var(--primary); color: var(--pdp-ink); background: var(--pdp-tint); }
.sd-pdp [data-pdp-tabs-ready] .sd-pdp-panel:not([hidden]) { animation: sd-pdp-panel-in 160ms ease-out; }
@keyframes sd-pdp-panel-in { from { opacity: .8; } to { opacity: 1; } }
@media (hover: hover) and (pointer: fine) {
  .sd-pdp .sd-gallery > div:hover .sd-gallery__slide img { transform: scale(1.025); }
  .sd-pdp .sd-qtybox button:hover { color: var(--pdp-ink); background: var(--pdp-tint); }
  .sd-pdp .sd-pdp__actions .product__atc:enabled:hover { background: color-mix(in srgb, var(--accent) 96%, var(--text)); box-shadow: 0 2px 5px color-mix(in srgb, var(--text) 9%, transparent); transform: translateY(-1px); }
  .sd-pdp .sd-pdp__actions .list-btn:hover { border-color: color-mix(in srgb, var(--primary) 45%, var(--card)); color: var(--pdp-ink); background: var(--pdp-tint); }
}
.sd-pdp .sd-pdp__actions .product__atc:enabled:active { transform: translateY(0); }
.sd-pdp .sd-qtybox button:active { background: color-mix(in srgb, var(--primary) 12%, var(--card)); }
@media (prefers-reduced-motion: reduce) {
  .sd-pdp .sd-gallery__strip, .sd-pdp-related [data-pdp-rail] { scroll-behavior: auto; }
  .sd-pdp :is(.sd-gallery__slide img,.sd-thumb,.sd-pdp-tabs__nav button,.sd-qtybox,.sd-qtybox button,.product__atc,.list-btn) { transition: none; }
  .sd-pdp [data-pdp-tabs-ready] .sd-pdp-panel:not([hidden]) { animation: none; }
  .sd-pdp .sd-gallery > div:hover .sd-gallery__slide img, .sd-pdp .sd-pdp__actions .product__atc:enabled:hover { transform: none; }
}

/* Visual annotations; no values or functional state are supplied by CSS. */
.sd-pdp .sd-pdp__write-review::before { content: ''; inline-size: 1rem; block-size: 1rem; background: currentColor; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linejoin='round'%3E%3Cpath d='M5 4h14a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-9l-5 3v-3a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2Z'/%3E%3Cpath d='M7 9h10M7 13h6'/%3E%3C/svg%3E") center / contain no-repeat; }
.sd-pdp .sd-calendar__legend { display: flex; flex-wrap: wrap; gap: .5rem 1rem; margin: -.125rem 0 .625rem; padding: 0 1rem; list-style: none; }
.sd-pdp .sd-calendar__legend-item { display: inline-flex; align-items: center; gap: .375rem; color: var(--text); font-size: .75rem; line-height: 1.5; }
.sd-pdp .sd-calendar__legend-item::before { content: ''; inline-size: .625rem; block-size: .625rem; flex-shrink: 0; border-radius: 50%; background: var(--pdp-ink); }
.sd-pdp .sd-calendar__legend-item--seedlings::before { background: color-mix(in srgb, var(--primary) 46%, var(--card)); }
.sd-pdp .sd-calendar__legend-item--bloom::before { background: var(--accent); }
.sd-pdp .sd-calendar__period[data-pdp-compact-period] > th small { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (max-width: 419px) {
  .sd-pdp .sd-calendar__table thead th { font-size: .75rem; }
}
@media (max-width: 359px) {
  .sd-pdp .sd-calendar__table thead th { font-size: .6875rem; }
  .sd-pdp .sd-specs .specs__row { grid-template-columns: minmax(0, 1fr); gap: .25rem; }
  .sd-pdp .sd-specs .specs__value { text-align: start; }
}
