/* Accepted-offer checkout and its address/card pickers. Intentionally scoped. */
.fmm-offer-checkout { color:#111827; padding:28px 0 52px; font-size:13px; }
.fmm-offer-checkout .fmm-container { max-width:1100px; padding-inline:24px; }
.fmm-op-reservation { display:flex; align-items:center; justify-content:center; gap:10px; background:#fff5c2; border-bottom:1px solid #f4e5a5; color:#854d0e; font-size:11px; padding:13px 18px; margin:-28px 0 28px; }
.fmm-op-reservation small { background:#fff; padding:3px 6px; border-radius:4px; white-space:nowrap; }
.fmm-offer-checkout .fmm-crumbs { margin:0 0 56px; font-size:11px; }
.fmm-offer-checkout .fmm-page-head { margin:0 0 24px; }
.fmm-offer-checkout .fmm-page-head h1 { font-size:28px; line-height:1.25; font-weight:750; letter-spacing:-.5px; }
.fmm-offer-checkout .fmm-page-head p { font-size:14px; margin-top:8px; color:#111827; }
.fmm-offer-checkout .fmm-costeps { max-width:670px; margin:0 auto 38px; }
.fmm-offer-checkout .fmm-op__locked { display:table; padding:6px 10px; border-radius:5px; background:#f3f4f6; color:#6b7280; font-size:11px; margin:0 0 28px; }
.fmm-offer-checkout .fmm-panel { padding:20px; border:1px solid #e5e7eb; border-radius:14px; box-shadow:none; background:#fff; }
.fmm-offer-checkout h2 { font-size:15px; font-weight:700; margin:0 0 20px; }
.fmm-op-grid,.fmm-offer-checkout .fmm-od { display:grid; grid-template-columns:minmax(0,2.1fr) minmax(270px,1fr); gap:28px; align-items:start; }
.fmm-op-main { display:grid; gap:24px; min-width:0; }
.fmm-op-contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.fmm-op-contact-grid header { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom:20px; }
.fmm-op-contact-grid h2 { margin:0; }
.fmm-op-contact-grid header a,.fmm-op-contact-grid header button { color:#b77900; border:0; background:none; padding:0; font-size:11px; cursor:pointer; }
.fmm-op-contact-grid p { font-size:12px; line-height:1.7; margin:5px 0; }
.fmm-op-product-row { display:flex; gap:20px; align-items:center; }
.fmm-op-product-row>img { width:124px; height:124px; border-radius:10px; object-fit:cover; }
.fmm-op-product-row>div { flex:1; min-width:0; }
.fmm-op-product-row h2 { margin:0 0 14px; font-size:18px; padding-right:8px; }
.fmm-op-product-row .fmm-chip { float:right; font-size:10px; }
.fmm-op-agreed { border-top:1px solid #f3f4f6; padding-top:14px; display:grid; gap:5px; font-size:11px; }
.fmm-op-agreed strong { font-size:22px; }
.fmm-op-selected-payment { background:#f9fafb; border:1px solid #f3f4f6; border-radius:8px; padding:14px 12px; display:flex; justify-content:space-between; align-items:center; gap:12px; width:100%; font:inherit; text-align:left; }
.fmm-op-aside { box-shadow:0 5px 12px #0000000a!important; }
.fmm-op-grand { display:block; font-size:30px; line-height:1.4; margin:4px 0 20px; }
.fmm-offer-checkout .fmm-btn { min-height:44px; height:auto; border-radius:9px; font-size:13px; font-weight:600; justify-content:center; }
.fmm-offer-checkout .fmm-btn--primary { color:#111; background:#ffc020; border-color:#ffc020; }
.fmm-offer-checkout button:disabled { opacity:.5; cursor:not-allowed; }
.fmm-op-assurances { list-style:none; padding:0; margin:18px 0; font-size:11px; line-height:2.2; }
.fmm-op-assurances li:before { content:'✓'; display:inline-block; color:#22c55e; margin-right:8px; }
.fmm-op-back { display:block; text-align:center; width:100%; font-size:11px; color:#6b7280; border:0; background:none; padding:12px 0; cursor:pointer; }
.fmm-op-breakdown .fmm-sumrow,.fmm-op-aside .fmm-sumrow { font-size:12px; gap:18px; padding:9px 0; }
.fmm-op-breakdown .fmm-sumrow b,.fmm-op-aside .fmm-sumrow b { text-align:right; font-weight:500; }
.fmm-op-breakdown .fmm-sumrow--total { margin-top:10px; border-top:1px solid #f3f4f6; font-weight:700; }
.fmm-op-breakdown .fmm-sumrow--total b { font-size:20px; color:#e9a500; font-weight:700; }
.fmm-op-protection { display:flex; gap:14px; align-items:center; border-color:#fde68a!important; }
.fmm-op-protection>span { border-radius:50%; background:#fffbeb; color:#e9a500; padding:12px; font-size:20px; }
.fmm-op-protection p { font-size:11px; line-height:1.7; margin:6px 0 0; }
.fmm-offer-checkout .fmm-addrgrid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.fmm-offer-checkout .fmm-addrcard { border:1px solid #e5e7eb; border-radius:12px; padding:18px; font-size:13px; }
.fmm-offer-checkout .fmm-addrcard.is-on,.fmm-offer-checkout .fmm-radio.is-on { border-color:#f5b400; background:#fffae8; }
.fmm-offer-checkout .fmm-addrcard__edit { display:block; text-align:right; border-top:1px solid #f3f4f6; margin-top:16px; padding-top:12px; font-size:10px; }
.fmm-offer-checkout .fmm-pkgadd { min-height:48px; border:1px dashed #cbd5e1; border-radius:10px; font-size:12px; }
.fmm-offer-checkout .fmm-radio { border:1px solid #e5e7eb; padding:18px; border-radius:12px; display:flex; flex-direction:row-reverse; justify-content:space-between; align-items:center; }
.fmm-offer-checkout input[type=radio] { accent-color:#f5b400; }
.fmm-op-methods .fmm-addrgrid,.fmm-payment-picker .fmm-addrgrid { grid-template-columns:1fr; }
.fmm-op-methods .fmm-addrcard,.fmm-payment-picker .fmm-addrcard { display:grid; grid-template-columns:42px 1fr; column-gap:12px; align-items:center; padding:16px; position:relative; }
.fmm-op-methods .fmm-addrcard__top,.fmm-payment-picker .fmm-addrcard__top { grid-row:span 2; margin:0; }
.fmm-op-methods .fmm-addrcard__tick,.fmm-payment-picker .fmm-addrcard__tick { position:absolute; right:16px; top:24px; }
.fmm-op-methods .fmm-addrcard__top>.fmm-line__meta,.fmm-payment-picker .fmm-addrcard__top>.fmm-line__meta { display:none; }
.fmm-op-methods .fmm-addrcard__lines,.fmm-payment-picker .fmm-addrcard__lines { margin:4px 0 0; font-size:11px; }
.fmm-op-pay-bottom { border:1px solid #e5e7eb; border-top:0; margin-top:-12px; border-radius:0 0 14px 14px; background:#fff; padding:12px 20px 20px; }
.fmm-op-pay-bottom p { display:flex; justify-content:space-between; font-size:11px; margin:0 0 18px; }
.fmm-op-mini { display:flex; align-items:center; gap:12px; padding-bottom:18px; border-bottom:1px solid #f3f4f6; margin-bottom:12px; font-size:12px; }
.fmm-op-mini img { width:58px; height:58px; border-radius:8px; object-fit:cover; }
.fmm-op-mini b:last-child { margin-left:auto; white-space:nowrap; }
.fmm-op-updating { color:#6b7280; font-size:12px; }
.fmm-offer-checkout .fmm-op-sufficient { display:inline-block; width:fit-content; padding:2px 6px; margin:4px 0; background:#d1fae5; color:#065f46; border-radius:4px; font-size:10px; }
.fmm-offer-checkout .fmm-infobar { font-size:11px; border-radius:8px; background:#eff6ff; color:#1d4ed8; }
.fmm-offer-checkout .fmm-back { border:0; background:none; font-size:12px; margin-bottom:14px; cursor:pointer; }
.fmm-offer-checkout .fmm-modal__box { max-width:460px; }
@media(max-width:760px) {
 .fmm-op-grid,.fmm-offer-checkout .fmm-od { grid-template-columns:1fr; gap:20px; }
 .fmm-op-contact-grid { gap:14px; }
 .fmm-offer-checkout .fmm-crumbs { margin-bottom:28px; }
 .fmm-offer-checkout .fmm-container { padding-inline:16px; }
 .fmm-offer-checkout .fmm-panel { padding:16px; }
 .fmm-op-product-row>img { width:90px; height:90px; }
}
@media(max-width:440px) { .fmm-op-contact-grid,.fmm-offer-checkout .fmm-addrgrid { grid-template-columns:1fr; } }
