/* MASAR VIP v5.0 request flow - placeholders pending wording approval carry data-pending-wording */
.flow{max-width:1200px;margin:auto;padding:24px;width:100%}
.flow-steps{display:flex;gap:8px;list-style:none;padding:0;margin:0 0 22px;flex-wrap:wrap}
.flow-steps li{flex:1;min-width:110px;border:1px solid #d9d2c2;border-radius:2px;padding:10px 12px;font-size:13px;color:#4d463c;text-align:center;background:#fffdf8}
.flow-steps li.is-on{border-color:#cfb680;color:#141310;background:#cfb680;font-weight:700}
.flow-steps li.is-done{border-color:#8a6a2b;color:#211d17}
.flow-step{display:none}
.flow-step.is-on{display:block}
.flow-chips{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 20px}
.flow-chip{border:1px solid #cfc7b5;border-radius:24px;padding:10px 18px;min-height:44px;font-size:14px;color:#211d17;background:#fff;cursor:pointer;font-family:inherit}
.flow-chip.is-on{background:#cfb680;color:#141310;border-color:#cfb680;font-weight:700}
.flow-group{margin:0 0 18px}
.flow-group>h3{font-size:16px;color:#4d463c;margin:0 0 10px;font-family:Arial,Tahoma,sans-serif;font-weight:600}
.flow-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.flow-card{border:1px solid #d9d2c2;border-radius:2px;padding:16px;background:#fffdf8;color:#211d17;cursor:pointer;text-align:start;font:inherit;font-size:15px;display:block;width:100%}
.flow-card:hover{border-color:#8a6a2b}
.flow-card.is-on{border-color:#8a6a2b;background:#f7f1e3}
.flow-card .fc-name{font-weight:700;color:#211d17;display:block;margin:0 0 6px}
.flow-card .fc-price{color:#8a6a2b;font-size:14px;display:block;font-weight:700}
.flow-card .fc-note{color:#4d463c;font-size:13px;display:block;margin-top:4px}
.flow-more{margin:6px 0 0}
.flow-field{display:flex;flex-direction:column;gap:6px;margin:0 0 16px;max-width:420px}
.flow-field label{font-size:13px;font-weight:700;color:#4d463c}
.flow-field input,.flow-field select{height:48px;border:1px solid #cfc7b5;border-radius:2px;padding-inline:12px;font:inherit;font-size:15px;background:#fff;color:#211d17}
.flow-field input[aria-invalid="true"],.flow-field select[aria-invalid="true"]{border-color:#9d2b24}
.flow-err{color:#9d2b24;font-size:13px;margin:-8px 0 12px}
.flow-pax{display:flex;align-items:center;gap:12px}
.flow-pax button{width:44px;height:44px;border:1px solid #cfc7b5;background:#fff;color:#211d17;border-radius:2px;font-size:20px;cursor:pointer}
.flow-pax output{font-size:18px;min-width:32px;text-align:center;color:#211d17}
.flow-summary{border:1px solid #d9d2c2;border-radius:2px;padding:18px;margin:0 0 16px;background:#fffdf8}
.flow-summary dl{display:grid;grid-template-columns:auto 1fr;gap:6px 18px;margin:0}
.flow-summary dt{color:#4d463c;font-size:14px}
.flow-summary dd{margin:0;color:#211d17;font-size:14px}
.flow-note{color:#4d463c;font-size:14px;margin:0 0 14px}
.flow-custom-link{display:inline-block;margin:18px 0;color:#8a6a2b;text-decoration:underline;text-underline-offset:4px;font-size:14px;background:none;border:0;cursor:pointer;font:inherit;font-weight:700}
.flow-bar{position:sticky;bottom:0;inset-inline:0;background:#f6f2ea;border-top:1px solid #d9d2c2;padding:12px 24px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:24px}
.flow-bar .fb-total{color:#211d17;font-size:15px}
.flow-bar .fb-total strong{color:#8a6a2b}
.flow-btn{background:#cfb680;color:#141310;border:1px solid #cfb680;border-radius:2px;min-height:48px;padding-inline:26px;font:inherit;font-size:14px;font-weight:700;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center}
.flow-btn:hover{background:#dcc796}
.flow-btn[disabled]{opacity:.45;cursor:not-allowed}
.flow-btn-ghost{background:transparent;color:#211d17;border:1px solid #cfc7b5;border-radius:2px;min-height:48px;padding-inline:20px;font:inherit;font-size:14px;cursor:pointer}
.flow-class-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.flow-class-cards .fc-seats{color:#4d463c;font-size:13px;display:block}
@media (max-width:900px){.flow-cards{grid-template-columns:repeat(2,1fr)}.flow-class-cards{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){
 .flow-cards{grid-template-columns:1fr}
 .flow-class-cards{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}
 .flow-class-cards .flow-card{flex:0 0 78%;scroll-snap-align:start}
 .flow-bar{padding:10px 14px}
}
@media print{.flow-bar{position:static}}
.flow-summary h3{color:#211d17;margin:0 0 12px;font-size:18px}
.masar:not(.lux-home) .site-header,.masar:not(.lux-home) .site-nav,.masar:not(.lux-home) .lead,.masar:not(.lux-home) footer{padding-inline:max(24px,calc((100% - 1200px)/2))}

/* CLS guard: reserve step-1 height while flow.js renders; :empty stops matching after render so no permanent spacing. Values are border-box (match measured offsetHeight per width tier). */
.flow:empty{min-height:342px}
@media (max-width:766px){.flow:empty{min-height:365px}}
@media (max-width:640px){.flow:empty{min-height:391px}}
@media (max-width:560px){.flow:empty{min-height:413px}}
@media (max-width:520px){[data-lang=ar].flow:empty{min-height:445px}[data-lang=en].flow:empty{min-height:391px}}
@media (max-width:470px){[data-lang=ar].flow:empty{min-height:445px}[data-lang=en].flow:empty{min-height:419px}}
@media (max-width:425px){[data-lang=ar].flow:empty{min-height:467px}[data-lang=en].flow:empty{min-height:495px}}
@media (max-width:390px){[data-lang=ar].flow:empty{min-height:497px}[data-lang=en].flow:empty{min-height:525px}}
