/* Existing shop palette, actual product photos instead of invented colour swatches. */
.dv-native-product { --dv-variant-accent: #f47721; --dv-variant-ink: #222; --dv-variant-line: #dedede; }
.dv-native-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 14px; margin: 24px 0 8px; }
.dv-native-price strong { color: var(--dv-variant-ink); font-size: 30px; font-weight: 600; line-height: 1.25; }
.dv-native-price del { color: #777; font-size: 17px; }
.dv-native-stock { margin: 0 0 28px; color: #386746; font-size: 14px; }
.dv-native-stock.is-unavailable { color: #767676; }
.dv-native-form { margin-top: 26px; }
.dv-native-axis { min-width: 0; margin: 0 0 24px; padding: 0; border: 0; }
.dv-native-axis legend { width: 100%; margin: 0 0 12px; padding: 0; color: #222; font-size: 15px; font-weight: 600; line-height: 1.5; }
.dv-native-axis legend span { margin-left: 9px; color: #777; font-size: 14px; font-weight: 400; }
.dv-native-options { display: flex; flex-wrap: wrap; gap: 8px; }
.dv-native-option { position: relative; display: inline-flex; justify-content: center; align-items: center; gap: 8px; max-width: 100%; min-height: 44px; padding: 10px 14px; border: 1px solid var(--dv-variant-line); border-radius: 2px; background: #fff; color: #333; font: inherit; font-size: 14px; line-height: 1.35; text-align: center; text-transform: none; cursor: pointer; transition: border-color .15s, box-shadow .15s; }
.dv-native-option:hover { border-color: #777; }
.dv-native-option.is-selected { border-color: var(--dv-variant-accent); box-shadow: inset 0 0 0 1px var(--dv-variant-accent); color: #222; }
.dv-native-option:focus-visible, .dv-native-thumb:focus-visible { outline: 2px solid #222; outline-offset: 3px; }
.dv-native-option.is-adjusting:not(.is-selected) { border-style: dashed; color: #777; }
.dv-native-option.is-out-of-stock:not(.is-selected) { opacity: .55; }
.dv-native-options--visual .dv-native-option { flex-direction: column; justify-content: flex-start; width: 100px; padding: 8px 6px; }
.dv-native-options--visual .dv-native-option img { display: block; width: 56px; height: 68px; object-fit: contain; }
.dv-native-options--visual .dv-native-option span { overflow-wrap: anywhere; font-size: 12px; }
.dv-native-selection { margin: 0 0 16px; color: #666; font-size: 13px; line-height: 1.6; }
.dv-native-cart { display: flex; align-items: stretch; gap: 12px; margin: 24px 0; }
.dv-native-cart .dv-simple-donor__add { flex: 1; max-width: 360px; }
.dv-native-cart .dv-simple-donor__add:disabled { background: #eee; color: #777; cursor: not-allowed; }
.dv-native-gallery { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.dv-native-gallery[hidden], .dv-native-product [hidden] { display: none !important; }
.dv-native-thumb { width: 68px; height: 80px; padding: 5px; border: 1px solid var(--dv-variant-line); border-radius: 2px; background: white; cursor: pointer; }
.dv-native-thumb.is-active { border-color: var(--dv-variant-accent); }
.dv-native-thumb img { width: 100%; height: 100%; object-fit: contain; }
.dv-native-product .dv-simple-donor__stage { position: relative; top: auto; }
.dv-native-product .dv-simple-donor__gallery { min-width: 0; }
.dv-native-product .dv-simple-tabs__panel td { overflow-wrap: anywhere; }
@media (max-width: 767px) {
    .dv-native-price { margin-top: 20px; }
    .dv-native-price strong { font-size: 26px; }
    .dv-native-stock { margin-bottom: 20px; }
    .dv-native-axis { margin-bottom: 20px; }
    .dv-native-axis legend span { display: block; margin-left: 0; }
    .dv-native-options--visual .dv-native-option { width: 89px; }
    .dv-native-option { padding: 10px 12px; }
    .dv-native-cart { gap: 8px; }
}
@media (prefers-reduced-motion: reduce) { .dv-native-option { transition: none; } }
