/* Unified delivery section: existing city selection and semantic HTML. */
.product-delivery-section { margin: 54px 0 36px; padding: 42px; border: 1px solid #dbe5ef; border-radius: 16px; background: #fff; }
.product-delivery-section > h2 { margin: 0 0 32px; color: #102947; }
#product-preview .faq-question:is(button) { width: 100%; border: 0; background: #fff; color: #102947; font: inherit; font-weight: 600; text-align: left; }
.product-shipping { color: #102947; }
.shipping-overview { display:grid; grid-template-columns:1.25fr 1fr; align-items:start; gap:48px; }
.shipping-location { display:flex; align-items:center; gap:16px; padding-bottom:24px; border-bottom:1px solid #dbe5ef; }
.shipping-location > div { flex:1; min-width:0; }
.shipping-label { display:block; color:#607087; font-size:15px; margin-bottom:4px; }
.shipping-location strong { display:block; font-size:22px; line-height:1.35; overflow-wrap:anywhere; }
.shipping-location > i,.shipping-estimate > i,.shipping-facts i,.shipping-payment i { width:24px; flex:0 0 24px; font-size:23px; color:#006bc7; text-align:center; }
.shipping-city-change { border:0; background:none; color:#006bc7; font:inherit; font-size:15px; cursor:pointer; text-decoration:underline; text-underline-offset:4px; min-height:44px; padding:6px 0 6px 8px; }
.shipping-estimate { display:flex; gap:16px; align-items:start; padding:24px 0; }
.shipping-estimate > i { margin-top:7px; }
.shipping-estimate strong { display:block; font-size:36px; line-height:1.2; letter-spacing:-.02em; }
.shipping-estimate p { margin:8px 0 0; font-size:15px; color:#607087; }
.shipping-facts { display:grid; grid-template-columns:1.25fr 1fr; gap:20px; }
.shipping-facts > div { display:flex; align-items:start; gap:12px; }
.shipping-facts > div + div { border-left:1px solid #dbe5ef; padding-left:20px; }
.shipping-facts strong { font-size:16px; font-weight:600; }
.shipping-total { padding:28px; border-radius:12px; background:#eef7ff; }
.shipping-total dl > div { display:flex; justify-content:space-between; gap:20px; margin-bottom:12px; font-size:18px; }
.shipping-total dd { margin:0; white-space:nowrap; }
.shipping-total .shipping-total__sum { margin:20px 0 12px; border-top:1px solid #cbddec; padding-top:20px; font-size:25px; font-weight:700; }
.shipping-total__sum dd { color:#006bc7; }
.shipping-total p { margin:0; color:#52677e; font-size:14px; line-height:1.6; }
.shipping-payment { margin-top:36px; }
.product-shipping h3 { font-size:23px; color:#102947; margin:0 0 20px; }
.shipping-payment ul { padding:0; list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:32px; }
.shipping-payment li { display:flex; align-items:center; gap:16px; padding:18px 0; border-bottom:1px solid #dbe5ef; font-size:17px; }
.shipping-note { color:#607087; font-size:14px; line-height:1.6; margin:14px 0 0; }
.shipping-process { margin-top:36px; }
.shipping-process ol { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; list-style:none; padding:0; }
.shipping-process li { min-width:0; }
.shipping-process__number { display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; border-radius:50%; color:#006bc7; background:#eef7ff; font-size:16px; font-weight:700; margin-bottom:12px; }
.shipping-process h4 { margin:0 0 6px; color:#102947; font-size:17px; font-weight:600; }
.shipping-process p { margin:0; font-size:15px; line-height:1.6; color:#607087; }
.product-shipping a { color:#006bc7; text-underline-offset:3px; }
.shipping-cities { margin-top:32px; border-top:1px solid #dbe5ef; border-bottom:1px solid #dbe5ef; }
.shipping-cities summary { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:56px; color:#006bc7; font-size:16px; cursor:pointer; list-style:none; }
.shipping-cities summary::-webkit-details-marker { display:none; }
.shipping-cities summary i { font-size:14px; }
.shipping-cities[open] summary i { transform:rotate(180deg); }
.shipping-cities > .shipping-note { margin:0 0 18px; }
.shipping-cities__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:0 24px; margin-bottom:20px; }
.shipping-city { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:12px 4px; min-height:48px; min-width:0; border:0; border-bottom:1px solid #dbe5ef; background:none; color:#102947; font:inherit; font-size:14px; text-align:left; cursor:pointer; }
.shipping-city strong { font-size:14px; white-space:nowrap; font-weight:500; color:#607087; }
.shipping-city:hover,.shipping-city[aria-pressed="true"] { background:#eef7ff; color:#006bc7; }
.shipping-city-form { margin:20px 0 0; max-width:520px; }
.shipping-city-form[hidden] { display:none; }
.shipping-city-form label { display:block; margin-bottom:8px; font-size:15px; }
.shipping-city-form__row { display:flex; gap:8px; }
.shipping-city-form input { min-width:0; width:100%; min-height:44px; border:1px solid #bac9d8; border-radius:6px; padding:10px 12px; font:inherit; font-size:16px; }
.shipping-city-form button { min-height:44px; padding:10px 16px; border:0; border-radius:6px; background:#006bc7; color:#fff; font:inherit; cursor:pointer; }
.shipping-city-error { font-size:14px; color:#b91c1c; margin:6px 0 0; }
.product-shipping :focus-visible { outline:2px solid #006bc7; outline-offset:4px; }
@media(max-width:768px) {
 .product-delivery-section { margin: 36px 0 20px; padding: 24px 18px; }
 .product-delivery-section > h2 { margin-bottom: 24px; }
 .shipping-overview { grid-template-columns:1fr; gap:24px; }
 .shipping-location { padding-bottom:12px; }
 .shipping-location strong { font-size:20px; }
 .shipping-estimate { padding:16px 0; }
 .shipping-estimate strong { font-size:30px; }
 .shipping-facts { gap:12px; }
 .shipping-facts > div { gap:10px; }
 .shipping-facts > div + div { padding-left:12px; }
 .shipping-facts i { width:20px; flex-basis:20px; font-size:20px; }
 .shipping-label { font-size:13px; }
 .shipping-facts strong { font-size:14px; }
 .shipping-total { padding:18px; }
 .shipping-total dl > div { font-size:16px; }
 .shipping-total .shipping-total__sum { font-size:24px; padding-top:14px; margin-top:14px; }
 .shipping-payment ul { grid-template-columns:1fr; gap:0; }
 .product-shipping h3 { font-size:21px; margin-bottom:8px; }
 .shipping-payment,.shipping-process { margin-top:24px; }
 .shipping-payment li { padding:12px 0; font-size:16px; }
 .shipping-process ol { gap:16px; }
 .shipping-process h4 { font-size:14px; }
 .shipping-process p { font-size:13px; }
 .shipping-process__number { width:30px; height:30px; margin-bottom:8px; }
 .shipping-cities { margin-top:24px; }
 .shipping-cities summary { min-height:48px; }
 .shipping-cities__grid { grid-template-columns:repeat(2,1fr); gap:0 16px; }
 .shipping-city { flex-direction:column; align-items:start; gap:4px; }
}
@media(max-width:360px) {
 .shipping-facts { grid-template-columns:1fr; gap:16px; }
 .shipping-facts > div + div { border:0; padding:0; }
 .shipping-process ol { grid-template-columns:1fr; gap:18px; }
 .shipping-process li { display:grid; grid-template-columns:36px 1fr; column-gap:12px; }
 .shipping-process__number { grid-row:1 / 3; margin:0; }
 .shipping-process p { font-size:14px; }
 .shipping-city-form__row { flex-direction:column; }
}
