.atlas-booking { --atlas-gold:#a36d17; --atlas-dark:#75490d; --atlas-line:#e8dcc7; color:#27313b; background:#fff; border:1px solid #e6d8be; border-radius:20px; box-shadow:0 14px 38px rgba(73,50,18,.1); padding:clamp(1rem,3vw,1.75rem); }
.atlas-booking *, .atlas-booking *::before, .atlas-booking *::after { box-sizing:border-box; }
.atlas-booking [hidden] { display:none!important; }
.atlas-booking .booking-progress { margin-bottom:1.5rem; padding-bottom:1rem; border-bottom:1px solid var(--atlas-line); }
.atlas-booking .booking-step > h4 { color:#27313b; line-height:1.35; margin-bottom:.6rem; }
.atlas-booking .booking-step > .hint { line-height:1.5; margin-bottom:1rem; }
.atlas-booking .atlas-passengers { display:block; padding:1rem; margin:0 0 1rem; border:1px solid var(--atlas-line); border-radius:14px; background:#fffdf9; }
.atlas-booking .atlas-passengers label { display:block; font-weight:700; margin-bottom:.55rem; }
.atlas-booking .atlas-passengers .hint { margin:.45rem 0 0; }
.atlas-booking .atlas-quantity { display:inline-grid; grid-template-columns:44px minmax(58px,78px) 44px; gap:.25rem; align-items:center; border:1px solid var(--atlas-line); border-radius:11px; padding:.2rem; background:#fff; max-width:100%; }
.atlas-booking .atlas-quantity button { min-height:44px; border:0; border-radius:8px; background:#f7f1e5; color:var(--atlas-dark); font-size:1.25rem; font-weight:700; cursor:pointer; }
.atlas-booking .atlas-quantity button:hover:not(:disabled) { background:#ead5aa; }
.atlas-booking .atlas-quantity button:disabled { opacity:.45; cursor:not-allowed; }
.atlas-booking .atlas-quantity input { width:100%; min-width:0; border:0; padding:.45rem .15rem; background:transparent; text-align:center; color:#27313b; font-size:1.1rem; font-weight:700; appearance:textfield; -moz-appearance:textfield; }
.atlas-booking .atlas-quantity input::-webkit-inner-spin-button { -webkit-appearance:none; }
.atlas-booking .atlas-mode-tabs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem; margin:1rem 0 1.2rem; }
.atlas-booking .atlas-mode-tabs button { width:100%; min-height:84px; padding:.8rem; text-align:left; border:1.5px solid var(--atlas-line); border-radius:13px; background:#fff; color:#27313b; cursor:pointer; }
.atlas-booking .atlas-mode-tabs button strong, .atlas-booking .atlas-mode-tabs button span { display:block; }
.atlas-booking .atlas-mode-tabs button span { margin-top:.3rem; font-size:.83rem; color:#52606b; }
.atlas-booking .atlas-mode-tabs button.selected { border-color:var(--atlas-gold); background:#fff8eb; box-shadow:0 0 0 2px rgba(163,109,23,.1); }
.atlas-booking .atlas-vehicle-heading { font-weight:700; margin:0 0 .7rem; }
.atlas-booking .transportation-options { display:grid; gap:.7rem; }
.atlas-booking[data-atlas-mode="shared"] .transportation-options, .atlas-booking[data-atlas-mode="shared"] .atlas-vehicle-heading { display:none; }
.atlas-booking .transportation-card { border:1.5px solid var(--atlas-line); border-radius:13px; background:#fff; box-shadow:none; transform:none; }
.atlas-booking .transportation-card:hover { transform:none; border-color:var(--atlas-gold); }
.atlas-booking .transportation-card.selected { border-color:var(--atlas-gold); background:#fff8eb; }
.atlas-booking .transportation-card.is-unavailable { opacity:.6; background:#f5f5f5; }
.atlas-booking .transportation-card .card-header { padding:.85rem .95rem .2rem; background:transparent; border:0; }
.atlas-booking .transportation-card .card-header h5 { font-size:.98rem; }
.atlas-booking .transportation-card .amount { color:var(--atlas-dark); font-size:1.2rem; }
.atlas-booking .transportation-card .unit { font-size:.72rem; }
.atlas-booking .transportation-card .card-body { padding:0 .95rem .85rem; }
.atlas-booking .transportation-card .card-body p { margin:.2rem 0 .6rem; }
.atlas-booking .transportation-card .btn-select, .atlas-booking .atlas-shared-panel .btn-select { min-height:42px; border:1px solid var(--atlas-gold); border-radius:9px; color:var(--atlas-dark); background:#fff; font-weight:700; cursor:pointer; }
.atlas-booking .transportation-card.selected .btn-select, .atlas-booking .atlas-shared-panel.selected .btn-select { color:#fff; background:var(--atlas-gold); }
.atlas-booking .transportation-card .btn-select:disabled { color:#555; background:#ddd; border-color:#bbb; cursor:not-allowed; }
.atlas-booking .atlas-shared-panel { padding:1rem; border:1.5px solid var(--atlas-gold); border-radius:13px; background:#fff8eb; }
.atlas-booking .atlas-shared-panel strong, .atlas-booking .atlas-shared-panel span { display:block; margin-bottom:.45rem; }
.atlas-booking .atlas-services { display:grid; gap:.8rem; }
.atlas-booking .atlas-extra { display:flex; justify-content:space-between; gap:.75rem; flex-wrap:wrap; padding:1rem; border:1.5px solid var(--atlas-line); border-radius:13px; background:#fff; }
.atlas-booking .atlas-extra.selected { border-color:var(--atlas-gold); background:#fff8eb; }
.atlas-booking .atlas-extra strong, .atlas-booking .atlas-extra span { display:block; }
.atlas-booking .atlas-extra strong { color:#27313b; }
.atlas-booking .atlas-extra span { margin-top:.25rem; color:#75490d; font-size:.87rem; }
.atlas-booking .atlas-extra p { margin:.4rem 0 0; color:#53606b; font-size:.82rem; }
.atlas-booking .atlas-guide { display:block; }
.atlas-booking .atlas-guide-actions { display:flex; align-items:center; flex-wrap:wrap; gap:.7rem; margin-top:.7rem; }
.atlas-booking .atlas-guide-toggle { display:inline-flex; align-items:center; min-height:38px; padding:.35rem .7rem; border:1px solid var(--atlas-gold); border-radius:9px; color:var(--atlas-dark); font-size:.85rem; font-weight:700; cursor:pointer; }
.atlas-booking .atlas-guide-toggle input { position:absolute; width:1px; height:1px; opacity:0; }
.atlas-booking .atlas-guide-selected { color:var(--atlas-dark); font-size:.88rem; font-weight:700; }
.atlas-booking [data-atlas-guide-remove] { min-height:38px; padding:.2rem .3rem; border:0; background:transparent; color:#53606b; font-size:.82rem; text-decoration:underline; cursor:pointer; }
.atlas-booking [data-atlas-guide-remove]:hover { color:var(--atlas-dark); }
.atlas-booking .atlas-step-actions { display:flex; align-items:center; gap:.7rem; margin-top:1rem; }
.atlas-booking .atlas-step-actions .btn-back { min-height:48px; padding:.65rem 1rem; border:1px solid var(--atlas-line); border-radius:10px; background:#fff; color:#27313b; cursor:pointer; }
.atlas-booking .atlas-step-actions .btn-continue { flex:1; margin-top:0; }
.atlas-booking .price-summary { margin:1rem 0 0; padding:1rem; border:1px solid var(--atlas-line); border-radius:13px; background:#fffaf0; }
.atlas-booking .summary-row { padding:.45rem 0; gap:.6rem; }
.atlas-booking .summary-row span:last-child { white-space:nowrap; font-variant-numeric:tabular-nums; font-weight:700; }
.atlas-booking .summary-row.total { margin-top:.6rem; padding-top:.8rem; border-top:1px solid #d7c49d; font-weight:800; font-size:1.1rem; }
.atlas-booking .summary-row.total span:last-child { color:var(--atlas-dark); font-size:1.3rem; }
.atlas-booking .price-summary .btn-continue { display:block; width:100%; min-height:48px; margin-top:1rem; border:0; border-radius:10px; background:var(--atlas-gold); color:#fff; font-weight:700; cursor:pointer; }
.atlas-booking .price-summary .atlas-step-actions .btn-continue { width:auto; margin-top:0; }
.atlas-booking .price-summary .btn-continue:hover:not(:disabled) { background:var(--atlas-dark); }
.atlas-booking .price-summary .btn-continue:disabled { background:#c8c4ba; color:#333; cursor:not-allowed; }
.atlas-booking .atlas-inline-error { color:#914027; font-size:.84rem; margin:.5rem 0; }
.atlas-booking :is(button,input,label):focus-visible, .atlas-booking .atlas-guide-toggle:focus-within { outline:3px solid var(--atlas-gold); outline-offset:2px; }
@media(max-width:540px){.atlas-booking .booking-progress{justify-content:space-between;overflow:visible}.atlas-booking .progress-step{flex:1 1 0;min-width:0;text-align:center}.atlas-booking .progress-step .step-label{font-size:.7rem;overflow-wrap:anywhere}.atlas-booking .progress-connector{flex:0 1 8px;min-width:5px}.atlas-booking .atlas-mode-tabs{gap:.5rem}.atlas-booking .atlas-mode-tabs button{padding:.7rem}.atlas-booking .atlas-extra{display:block}.atlas-booking .atlas-extra .atlas-quantity{margin-top:.65rem}}
