/* Our Haute Product Details v1.0.0 — scoped, lightweight, no theme overrides. */
.ohpd-stock-badge { display: inline-flex; align-items: center; gap: 7px; padding: 7px 11px; border: 1px solid; border-radius: 5px; font-family: inherit; font-weight: 600; font-size: 12px; line-height: 1.45; letter-spacing: .015em; max-width: 100%; box-sizing: border-box; }
.ohpd-stock-icon { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; }
.ohpd-stock-icon svg { width: 16px; height: 16px; }
.ohpd-stock-label { overflow-wrap: anywhere; }
.ohpd-status-instock { color: #176638; background: #f0faf3; border-color: #b9ddc4; }
.ohpd-status-outofstock { color: #a02828; background: #fff4f4; border-color: #ecc0c0; }
.ohpd-status-onbackorder { color: #795000; background: #fff9e8; border-color: #e6d29d; }
.ohpd-status-select, .ohpd-status-unavailable { color: #555; background: #f7f7f7; border-color: #ddd; }
.ohpd-single-stock { display: flex; width: fit-content; max-width: 100%; margin: 13px 0 15px; }
.ohpd-catalog-stock { display: inline-flex; font-size: 11px; padding: 4px 7px; margin: 7px 0 6px; }
.ohpd-catalog-stock .ohpd-stock-icon svg { width: 14px; height: 14px; }
.ohpd-accordions { --ohpd-accent: #9b663c; box-sizing: border-box; border: 1px solid #e3e3e3; border-radius: 7px; margin: 18px 0 22px; background: #fff; font-family: inherit; color: #252525; overflow: hidden; clear: both; }
.ohpd-accordion { margin: 0; padding: 0; border: none; background: transparent; }
.ohpd-accordion + .ohpd-accordion { border-top: 1px solid #e8e8e8; }
.ohpd-accordion-heading { display: flex; justify-content: space-between; align-items: center; gap: 10px; min-height: 48px; padding: 12px 14px; box-sizing: border-box; cursor: pointer; list-style: none; font-size: 13px; font-weight: 650; line-height: 1.4; color: #252525; -webkit-tap-highlight-color: transparent; }
.ohpd-accordion-heading::-webkit-details-marker { display: none; }
.ohpd-accordion-heading::marker { content: ''; }
.ohpd-accordion-heading:focus-visible { outline: 2px solid var(--ohpd-accent); outline-offset: -3px; }
.ohpd-accordion-heading:hover { background: #fafafa; }
.ohpd-accordion-heading-left { display: inline-flex; gap: 10px; align-items: center; }
.ohpd-accordion-heading-left svg { flex: 0 0 20px; color: #444; }
.ohpd-chevron { width: 7px; height: 7px; flex: 0 0 7px; border-right: 1.8px solid #444; border-bottom: 1.8px solid #444; transform: rotate(45deg); transition: transform 160ms ease; margin: -4px 2px 0; }
.ohpd-accordion[open] .ohpd-chevron { transform: rotate(225deg); margin-top: 4px; }
.ohpd-accordion-body { padding: 0 15px 16px 44px; font-size: 12px; line-height: 1.65; color: #444; }
.ohpd-accordion-body p { margin: 0 0 9px !important; padding: 0; font: inherit; line-height: inherit; color: inherit; }
.ohpd-accordion-body p strong { font-weight: 700; color: #2c2c2c; }
.ohpd-policy-link { color: var(--ohpd-accent) !important; font-size: 12px; font-weight: 650; text-decoration: underline; text-underline-offset: 3px; display: inline-block; margin-top: 3px; }
.ohpd-policy-link:hover, .ohpd-policy-link:focus { opacity: .8; }
.ohpd-legacy-hide { display: none !important; }
@media (max-width: 480px) { .ohpd-accordion-heading { padding: 12px; min-height: 48px; font-size: 12.5px; } .ohpd-accordion-body { padding: 0 12px 15px 12px; font-size: 12px; } .ohpd-stock-badge { max-width: 100%; } }
@media (prefers-reduced-motion: reduce) { .ohpd-chevron { transition: none; } }
