/* Returns row sits in .product-usp__wrapper next to Warranty: same 20px icon and 14px text. */
.sdg-rp-usp { list-style: none; }
/* Line under the returns row, same as the theme's line under the last trust row
   (.product-usp__wrapper li:last-child). !important because .pdp-usp sets border and margin with !important. */
.product-usp__wrapper .sdg-rp-usp:not(:last-child) { padding-bottom: 22px; border-bottom: 1px solid #ddd !important; }
.product-usp__wrapper .sdg-rp-usp + li { margin-top: 10px !important; }
.sdg-rp-row { display: flex; align-items: center; gap: 8px; width: 100%; padding: 0; border: 0; background: none; font: inherit; font-size: 14px; color: inherit; text-align: start; cursor: pointer; }
.sdg-rp-row:focus-visible { outline: 2px solid #0079c1; outline-offset: 2px; }
.sdg-rp-icon { flex: none; width: 20px; height: 20px; }
.sdg-rp-row__text { flex: 1; }
.sdg-rp-row__chev { flex: none; color: #6b7280; }
.sdg-rp-price { display: flex; align-items: center; gap: 8px; margin: 10px 0; font-size: 14px; }
.sdg-rp-price .sdg-rp-row__text { flex: 1; }
.sdg-rp-price__details { flex: none; padding: 0; border: 0; background: none; color: #0079c1; font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; }
.sdg-rp-price__details:focus-visible { outline: 2px solid #0079c1; outline-offset: 2px; }
[dir="rtl"] .sdg-rp-row__chev, .rtl .sdg-rp-row__chev { transform: scaleX(-1); }

/* Details popup: values copied from the AppleCare+ "Read more" popup
   (sdg-addon-display/css/sdg-addon-display.css, .sdg-readmore-*) so the PDP popups match.
   Centred dialog on desktop, bottom sheet up to 768px. Copied rather than shared because
   that stylesheet only loads where add-ons show. */
.sdg-rp-sheet { position: fixed; inset: 0; z-index: 1000000; }
.sdg-rp-sheet[hidden] { display: none; }
.sdg-rp-sheet__overlay { position: absolute; inset: 0; background: rgba(0, 0, 0, .5); }
.sdg-rp-sheet__panel {
    position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
    width: 92%; max-width: 460px; max-height: 85vh; overflow: auto;
    background: #fff; border-radius: 16px; padding: 28px; text-align: start;
}
.sdg-rp-sheet__panel:focus { outline: none; }
.sdg-rp-sheet__handle { display: none; }
.sdg-rp-sheet__head { padding-right: 36px; margin-bottom: 4px; }
.sdg-rp-sheet__title { font-size: 20px; font-weight: 800; color: #111; line-height: 1.3; margin: 0; }
.sdg-rp-sheet__close {
    position: absolute; top: 16px; right: 16px; border: 0; background: #efefef; color: #444;
    border-radius: 50%; width: 32px; height: 32px; font-size: 18px; line-height: 1; cursor: pointer;
}
.sdg-rp-sheet__list { list-style: none; margin: 14px 0 8px; padding: 0; }
.sdg-rp-sheet__list li { position: relative; padding-left: 30px; margin-bottom: 14px; color: #222; font-size: 15px; line-height: 1.45; }
.sdg-rp-sheet__list li::before {
    content: ''; position: absolute; left: 0; top: 2px; width: 18px; height: 18px;
    background: no-repeat center / 18px 18px;
}
.sdg-rp-sheet__list li.sdg-rp-yes::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234b5563' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M8 12l3 3 5-6'/%3E%3C/svg%3E");
}
/* Same circle as the tick, with a cross, in red so "can't return" reads at a glance. */
.sdg-rp-sheet__list li.sdg-rp-no::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b91c1c' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M9 9l6 6M15 9l-6 6'/%3E%3C/svg%3E");
}
/* Intro band, refund note and policy button follow the prototype's detail layer. */
.sdg-rp-sheet__intro { margin: 14px 0 0; padding: 9px 11px; border-radius: 8px; background: #e6f2fa; color: #0b3f73; font-size: 13px; font-weight: 500; line-height: 1.45; }
.sdg-rp-sheet__lead { color: #4b5563; font-size: 13px; line-height: 1.5; margin: 14px 0 0; }
.sdg-rp-sheet__link { display: block; margin-top: 14px; padding: 9px; border: 1px solid #0079c1; border-radius: 8px; color: #0079c1; font-size: 13px; font-weight: 600; text-align: center; text-decoration: none; }
.sdg-rp-sheet__link:hover { background: #e6f2fa; color: #0079c1; text-decoration: none; }
body.sdg-rp-locked { overflow: hidden; }

[dir="rtl"] .sdg-rp-sheet__head, .rtl .sdg-rp-sheet__head { padding-right: 0; padding-left: 36px; }
[dir="rtl"] .sdg-rp-sheet__list li, .rtl .sdg-rp-sheet__list li { padding-left: 0; padding-right: 30px; }
[dir="rtl"] .sdg-rp-sheet__list li::before, .rtl .sdg-rp-sheet__list li::before { left: auto; right: 0; }
[dir="rtl"] .sdg-rp-sheet__close, .rtl .sdg-rp-sheet__close { right: auto; left: 16px; }

@media (max-width: 768px) {
    .sdg-rp-sheet__panel {
        top: auto; bottom: 0; left: 0; transform: none;
        width: 100%; max-width: none; border-radius: 16px 16px 0 0; padding-top: 22px;
    }
    .sdg-rp-sheet__handle { display: block; width: 40px; height: 4px; margin: -8px auto 14px; border-radius: 2px; background: #d9d9d9; }
}

/* Cart summary: one line under Proceed to Checkout. */
.sdg-rp-cart { display: flex; align-items: center; gap: 8px; margin-top: 12px; padding-top: 12px; border-top: 1px solid #ddd; font-size: 14px; color: #212529; }
/* Checkout summary: one line under Total. */
.sdg-rp-summary td { padding-top: 4px !important; padding-bottom: 8px !important; border: 0 !important; }
.sdg-rp-checkout { display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 400; color: #212529; }

/* Mobile theme cart: the summary line sits in its own box, like the seller box above it.
   Keyed on a class the plugin adds for the mobile theme, not on a breakpoint, so it holds in
   landscape too. */
.sdg-rp-cart.sdg-rp-cart--boxed { margin: 16px 0 0; padding: 14px 16px; border: 1px solid #dee2e6; border-radius: 5px; background: #fff; }
