/* Bruise-care PDP only. This stylesheet is imported from its handle-specific hero branch. */
.gva-bruise-fit { position: relative; z-index: 5; margin: 16px 0 0; font-family: GvahqFigtree, Figtree, sans-serif; }
.gva-bruise-fit summary { display: inline-flex; align-items: center; gap: 8px; min-height: 38px; box-sizing: border-box; padding: 7px 17px; border: 1px solid #183451; border-radius: 999px; background: #e9f1fc; color: #142b45; box-shadow: 0 2px 5px rgba(20,43,69,.12); font-size: 15px; font-weight: 700; line-height: 1.2; list-style: none; cursor: pointer; }
.gva-bruise-fit summary::-webkit-details-marker { display: none; }
.gva-bruise-fit summary:focus-visible, .gva-bruise-fit__close:focus-visible { outline: 2px solid #173b6d; outline-offset: 3px; }
.gva-bruise-fit__help { display: inline-grid; place-items: center; width: 17px; height: 17px; border: 1.5px solid currentColor; border-radius: 50%; font-size: 12px; line-height: 1; }
.gva-bruise-fit__panel { position: absolute; top: calc(100% + 14px); left: 0; z-index: 40; box-sizing: border-box; width: min(360px, calc(100vw - 30px)); max-height: min(76vh, 650px); overflow-y: auto; padding: 20px; border: 1px solid #e1e5e8; border-radius: 8px; background: #fff; box-shadow: 0 14px 35px rgba(20,43,69,.18); color: #4e555c; font-size: 14px; line-height: 1.55; }
.gva-bruise-fit__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.gva-bruise-fit__head strong { color: #292929; font-size: 16px; line-height: 1.3; }
.gva-bruise-fit__close { flex: 0 0 22px; width: 22px; height: 22px; padding: 0; border: 0; background: transparent; color: #90959a; font-size: 24px; line-height: 1; cursor: pointer; }
.gva-bruise-fit__listbox { padding: 14px 13px; border-left: 3px solid #183451; border-radius: 5px; background: #eef4fd; color: #4b535c; }
.gva-bruise-fit__listbox > strong { display: block; margin-bottom: 9px; color: #263f5c; font-size: 12px; }
.gva-bruise-fit .gva-bruise-fit__listbox ul { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.gva-bruise-fit .gva-bruise-fit__listbox li { display: flex; align-items: flex-start; gap: 11px; color: #4b535c; font-size: 13px; line-height: 1.45; }
.gva-bruise-fit .gva-bruise-fit__listbox li::before { content: ''; display: block; flex: 0 0 9px; width: 9px; height: 9px; margin-top: 5px; border: 0; border-radius: 50%; background: #15304c; }
.gva-bruise-fit__panel p { margin: 13px 0 0; }
.gva-bruise-fit__panel p strong { color: #2a2a2a; }

.gva-bruise-delivery { box-sizing: border-box; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; column-gap: 8px; row-gap: 2px; width: 100%; padding: 11px 14px; border-radius: 8px; background: #f8f8f8; color: #30343a; font: 400 13px/1.45 GvahqFigtree, Figtree, sans-serif; text-align: center; }
.gva-bruise-delivery__dot { flex: 0 0 7px; width: 7px; height: 7px; border-radius: 50%; background: #3f8b45; }
.gva-bruise-delivery__time { flex-basis: 100%; }
.gva-bruise-refund { box-sizing: border-box; display: flex; align-items: center; gap: 10px; width: 100%; min-width: 0; margin: 8px 0 10px; padding: 10px 16px; border: 1px solid #1b3557; border-radius: 8px; background: #edf3ff; color: #203955; font-family: GvahqFigtree, Figtree, sans-serif; }
.gva-bruise-refund img { display: block; flex: 0 0 60px; width: 60px; height: 60px; object-fit: contain; }
.gva-bruise-refund h2 { margin: 0 0 2px; color: #182e4a; font-size: 16px; font-weight: 700; line-height: 1.4; }
.gva-bruise-refund p { margin: 0; color: #43566d; font-size: 13px; line-height: 1.5; }

.gva-bruise-professional { box-sizing: border-box; width: 100%; min-width: 0; margin: 0 0 8px; padding: 20px; border-radius: 8px; background: #fafafa; color: #1b1b1b; font: 400 13px/1.6 GvahqFigtree, Figtree, sans-serif; }
.gva-bruise-professional h2 { margin: 0 0 10px; color: #171717; font-size: 16px; font-weight: 600; line-height: 1.4; }
.gva-bruise-professional p { margin: 0; }
.gva-bruise-professional p strong { font-weight: 700; }
.gva-bruise-professional__author { display: flex; align-items: center; gap: 10px; margin-top: 13px; }
.gva-bruise-professional__author img { display: block; flex: 0 0 52px; width: 52px; height: 52px; border-radius: 50%; object-fit: cover; }
.gva-bruise-professional__author em { white-space: nowrap; font-size: 14px; }
.gva-bruise-professional__author span { font-size: 12px; }
.gva-bruise-professional__check { display: inline-grid; place-items: center; width: 15px; height: 15px; margin-inline: 2px; border-radius: 50%; background: #3f86ff; color: #fff; font-size: 10px !important; font-weight: 700; }

.gva-bruise-accordion-copy { color: #17384a; font-size: 14px; line-height: 1.6; }
.gva-bruise-accordion-copy p { margin: 0 0 12px; }
.gva-bruise-accordion-copy strong { font-weight: 700; }
.gva-bruise-accordion-copy__intro { color: #58778a; font-weight: 600; }
.gva-bruise-accordion-copy .gva-bruise-accordion-copy__rows { display: block; margin: 0; padding: 0; list-style: none; }
.gva-bruise-accordion-copy__rows > li { display: grid; grid-template-columns: 28px minmax(0,1fr); gap: 12px; padding: 12px 0; border-top: 1px solid #d4e2f0; margin: 0; }
.gva-bruise-accordion-copy__rows > li:last-child { border-bottom: 1px solid #d4e2f0; }
.gva-bruise-accordion-copy__icon { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 7px; background: #eef4fd; color: #162d4c; font-size: 17px; line-height: 1; }
.gva-bruise-accordion-copy h3 { margin: 0 0 6px; color: #172e4c; font-size: 14px; font-weight: 700; line-height: 1.5; }
.gva-bruise-accordion-copy__rows p { margin: 0; color: #496777; }
.gva-bruise-accordion-copy__callout { margin: 12px 0 0 !important; padding: 12px 14px; border-left: 3px solid #172e4c; border-radius: 6px; background: #eef4fd; color: #496777; font-size: 13px; }
.gva-bruise-accordion-copy__callout strong { color: #172e4c; }
.gva-bruise-accordion-copy--policy { color: #333; }
.gva-bruise-accordion-copy--policy p { margin-bottom: 20px; }
.gva-bruise-accordion-copy--policy p:last-child { margin-bottom: 0; }
.gva-bruise-accordion-copy .gva-bruise-accordion-copy__bullets { display: block; margin: 20px 0; padding-left: 22px; list-style: disc; }
.gva-bruise-accordion-copy__bullets li { display: list-item; margin: 0 0 4px; padding: 0; }
.gva-bruise-accordion-copy a { color: inherit; overflow-wrap: anywhere; text-decoration: underline; }

@media (max-width: 480px) {
  .gva-bruise-fit__panel { max-height: min(72vh, 620px); padding: 18px; }
  .gva-bruise-refund { padding: 12px; }
  .gva-bruise-refund p, .gva-bruise-professional { font-size: 14px; }
  .gva-bruise-professional { padding: 18px; }
}
