#eiman-booking-root{
  --eb-night:#102A3C; --eb-night-deep:#0A1D2A;
  --eb-sand:#EDE2C8; --eb-sand-2:#E1D2AE;
  --eb-gold:#C9962B; --eb-gold-light:#E3B855;
  --eb-ink:#1B1B18; --eb-cream:#F6EFDE;
  max-width:520px; margin:28px auto; font-family:inherit;
}
#eiman-booking-root *{box-sizing:border-box;}
.eb-panel{
  background: var(--eb-sand); color: var(--eb-ink); border-radius:16px; padding:22px 20px 20px;
  box-shadow: 0 14px 30px rgba(16,42,60,0.18); border:1px solid rgba(16,42,60,0.08);
}
.eb-panel h2{
  font-family:'Cinzel', serif; font-size:21px; letter-spacing:.04em; text-transform:none; margin:0 0 10px;
  color:var(--eb-gold); text-align:center; font-weight:600; position:relative; padding-bottom:12px;
}
.eb-panel h2::after{
  content:""; position:absolute; left:50%; bottom:0; transform:translateX(-50%);
  width:64px; height:2px; background:linear-gradient(90deg, transparent, var(--eb-gold), transparent);
}
.eb-trust-row{ display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin-bottom:18px; }
.eb-trust-badge{ font-size:11px; font-weight:600; color:#2E6B3E; background:#E4EFE4; border-radius:20px; padding:5px 10px; white-space:nowrap; }
.eb-field{margin-bottom:14px;}
.eb-field label{ display:block; font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:#6B5B3E; margin-bottom:6px; font-weight:600;}
.eb-field input, .eb-field select{ width:100%; padding:12px 12px; border-radius:9px; border:1.5px solid var(--eb-sand-2); background:#fff; font-size:15.5px; color:var(--eb-ink);}
.eb-field input:focus, .eb-field select:focus{outline:none; border-color:var(--eb-gold);}
.eb-row2{display:grid; grid-template-columns:1fr 1fr; gap:12px;}
.eb-checkbox-row{ display:flex; align-items:center; gap:8px; margin-top:8px; font-size:13px; color:#5C4E33;}
.eb-checkbox-row input{ width:auto; }
.eb-note{ font-size:12px; margin-top:6px; padding:6px 10px; border-radius:7px; display:inline-block;}
.eb-note.ok{background:#E4EFE4; color:#2E6B3E;}
.eb-note.low{background:#FBEBD9; color:#95591A;}
.eb-note.full{background:#F6DFDA; color:#A6352A;}
.eb-divider{ border:none; border-top:1.5px dashed #C9B98E; margin:18px 0;}
.eb-price-line{display:flex; justify-content:space-between; font-size:15px; margin-bottom:6px; color:#4A4030;}
.eb-price-total{display:flex; justify-content:space-between; font-size:18px; color:var(--eb-night); margin-top:8px; font-weight:700;}
.eb-voucher-row{display:flex; gap:8px;}
.eb-voucher-row button{ padding:0 16px; border-radius:9px; border:1.5px solid var(--eb-gold); background:#fff; color:#8A6A1A; font-weight:600; font-size:13px; cursor:pointer;}
button.eb-cta{ width:100%; margin-top:18px; padding:14px; border:none; border-radius:10px; background: linear-gradient(180deg, var(--eb-gold-light), var(--eb-gold)); color:#2A1A05; font-weight:700; font-size:15px; cursor:pointer;}
.eb-hint{ font-size:11.5px; color:#7A6B4C; text-align:center; margin-top:10px; }

.eb-overlay{ display:none; position:fixed; inset:0; background:rgba(10,20,28,0.72); z-index:9999; align-items:flex-end; justify-content:center; }
.eb-overlay.show{ display:flex; }
.eb-modal{ background:var(--eb-sand); color:var(--eb-ink); width:100%; max-width:520px; border-radius:18px 18px 0 0; padding:22px 20px 24px; max-height:88vh; overflow-y:auto; }
.eb-modal h3{ font-size:17px; text-align:center; margin:0 0 4px; color:var(--eb-night); font-weight:700;}
.eb-modal-sub{ text-align:center; font-size:12.5px; color:#7A6B4C; margin-bottom:16px;}
.eb-review-list{ background:#fff; border-radius:12px; padding:6px 14px; margin-bottom:16px;}
.eb-review-row{ display:flex; justify-content:space-between; padding:10px 0; border-bottom:1px solid #EFE8D6; font-size:13.5px;}
.eb-review-row:last-child{ border-bottom:none; }
.eb-review-row span:first-child{ color:#8A7A57; }
.eb-review-row span:last-child{ font-weight:600; text-align:right; max-width:60%;}
.eb-review-total{ display:flex; justify-content:space-between; font-size:17px; color:var(--eb-night); padding:10px 4px 4px; font-weight:700;}
.eb-modal-actions{ display:flex; gap:10px; margin-top:6px;}
.eb-modal-actions button{ flex:1; padding:13px; border-radius:10px; border:none; font-weight:600; font-size:14px; cursor:pointer;}
.eb-btn-back{ background:#E4D9BC; color:#4A4030; }
.eb-btn-confirm{ background: linear-gradient(180deg, var(--eb-gold-light), var(--eb-gold)); color:#2A1A05; }

.eb-ticket-wrap{ display:none; margin-top:24px; }
.eb-ticket-wrap.show{ display:block; }
.eb-ticket{ background:#fff; color:var(--eb-ink); border-radius:18px; overflow:hidden; box-shadow: 0 18px 40px rgba(0,0,0,0.12); border:1px solid #E7DCC3; }
.eb-ticket-motif{ height:6px; background-image: repeating-linear-gradient(135deg, var(--eb-gold) 0 2px, transparent 2px 10px); }
.eb-ticket-head{ text-align:center; padding:26px 22px 16px; }
.eb-ticket-logo{ width:60px; height:auto; margin:0 auto 8px; display:block; }
.eb-ticket-tagline{ font-size:11px; color:#8C6A22; max-width:260px; margin:0 auto; line-height:1.5; }
.eb-ticket-seal{ width:auto; display:inline-block; margin-top:14px; padding:6px 16px; border:1px solid var(--eb-gold); border-radius:20px; font-size:10.5px; font-weight:700; letter-spacing:.06em; color:#8C6A22 !important; background:#fff !important; text-transform:uppercase; }
.eb-hr{ height:1px; background:#EFE6D2; margin:0 22px; }
.eb-hr-gold{ height:1px; background:linear-gradient(90deg, transparent, var(--eb-gold) 20%, var(--eb-gold) 80%, transparent); margin:16px 22px; }
.eb-ticket-tour{ font-size:16.5px; color:var(--eb-night); margin:16px 22px 0; font-weight:700; text-align:center; line-height:1.4;}
.eb-ticket-route{ display:flex; align-items:center; justify-content:center; gap:16px; padding:16px 22px 4px; }
.eb-route-point{ text-align:center; }
.eb-route-point label{ display:block; font-size:9px; text-transform:uppercase; letter-spacing:.12em; color:#8A7A57; margin-bottom:4px;}
.eb-route-point .val{ font-size:14px; font-weight:700; color:var(--eb-night); }
.eb-route-sep{ color:var(--eb-gold); font-size:11px; }
.eb-ticket-grid{ display:grid; grid-template-columns:1fr 1fr; gap:14px 10px; padding:16px 22px 4px; text-align:center; }
.eb-ticket-grid .eb-item label{ display:block; font-size:9px; text-transform:uppercase; letter-spacing:.07em; color:#8A7A57; margin-bottom:3px;}
.eb-ticket-grid .eb-item div{ font-size:13.5px; font-weight:500; }
.eb-ticket-code{ font-family:monospace; text-align:center; font-size:19px; letter-spacing:.13em; color:var(--eb-night); background:#FBF4E3; border:1px solid var(--eb-gold); border-radius:10px; padding:11px; margin:0 22px 10px;}
.eb-ticket-note{ font-size:11.5px; color:#8A7A57; text-align:center; }
.eb-price-row{ display:flex; justify-content:center; align-items:baseline; gap:8px; margin:14px 22px 0; }
.eb-price-row span:first-child{ font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:#8A7A57; }
.eb-price-amt{ font-size:18px; font-weight:700; color:var(--eb-night); }
.eb-ticket-bottom{ padding:0 0 18px; text-align:center; }
.eb-ticket-foot{ text-align:center; padding:14px; font-size:10.5px; letter-spacing:.04em; color:#8C6A22; }
.eb-send-row{ display:flex; gap:10px; }
.eb-send-btn{ flex:1; padding:12px; border-radius:10px; border:none; font-size:13.5px; font-weight:600; cursor:pointer; text-align:center; text-decoration:none; display:block;}
.eb-send-btn.wa{ background:#25D366; color:#06340F; }
.eb-send-btn.mail{ background:#1B4A63; color:#EDE2C8; }
.eb-calendar{ position:relative !important; width:100% !important; box-sizing:border-box; }
.eb-cal-panel{ display:none; position:absolute !important; top:calc(100% + 4px) !important; left:0 !important; right:0 !important; width:auto !important; max-width:100%; box-sizing:border-box !important; background:#fff; border:1.5px solid var(--eb-sand-2); border-radius:12px; box-shadow:0 8px 18px rgba(16,42,60,0.18); z-index:25; padding:12px; overflow:hidden; }
.eb-cal-panel.is-open{ display:block; }
.eb-cal-grid{ display:grid; grid-template-columns:repeat(7, minmax(0,1fr)); gap:3px; width:100%; box-sizing:border-box; }
.eb-cal-header{ display:flex; justify-content:space-between; align-items:center; padding:2px 4px 10px; font-size:16px; font-weight:700; color:var(--eb-night) !important; background:transparent !important; }
.eb-cal-nav{ border:none !important; background:#F2E9D2 !important; width:32px; height:32px; border-radius:8px; font-size:18px; cursor:pointer; color:var(--eb-night) !important; }
.eb-cal-nav:disabled{ opacity:.35; cursor:default; }
.eb-cal-wd{ text-align:center; font-size:12.5px; font-weight:600; color:#8A7A57 !important; padding:6px 0; min-width:0; }
.eb-cal-cell{ aspect-ratio:1; border:none !important; background:transparent !important; font-size:15.5px; border-radius:8px; cursor:pointer; min-width:0; white-space:nowrap; display:flex !important; align-items:center; justify-content:center; padding:0 !important; overflow:hidden; }
.eb-cal-empty{ cursor:default; background:transparent !important; }
.eb-cal-day{ background:#F6F1E4 !important; color:var(--eb-ink) !important; }
.eb-cal-day:hover:not([disabled]){ background:#E9DEC0 !important; }
.eb-cal-day.is-selected{ background:var(--eb-gold) !important; color:#2A1A05 !important; font-weight:700; }
.eb-cal-day.eb-cal-low{ box-shadow: inset 0 -3px 0 #C99A4A; }
.eb-cal-day.eb-cal-full{ background:#F0E5DD !important; color:#B9A99A !important; text-decoration:line-through; }
.eb-cal-day:disabled{ opacity:.4; cursor:not-allowed; }

.eb-phone-row{ display:flex; gap:8px; }
.eb-phone-row .eb-country-code{ width:78px; min-width:78px; flex:0 0 78px; }
.eb-phone-row .eb-country-code .eb-dd-btn{ padding:11px 4px; font-size:12.5px; justify-content:center; gap:2px; }
.eb-phone-row input[type="tel"]{ flex:1 1 auto; min-width:0; }
.eb-phone-row .eb-country-code .eb-dd-list{ min-width:180px; left:0; }
.eb-email-sent-note{ margin-top:14px; background:#E4EFE4; border-radius:10px; padding:12px 14px; font-size:13px; color:#2E6B3E; text-align:center; font-weight:600;}
.eb-reminder-note{ margin-top:14px; background:#EAF2EF; border-radius:10px; padding:12px 14px; font-size:12.5px; color:#2E5A46;}

.eb-dropdown{ position:relative; width:100%; }
.eb-dd-btn{ width:100%; padding:12px 14px; border-radius:9px; border:1.5px solid var(--eb-sand-2) !important; background:#fff !important; font-size:15.5px; color:var(--eb-ink) !important; text-align:left; display:flex; justify-content:space-between; align-items:center; cursor:pointer; }
.eb-dd-arrow{ color:#8A7A57; font-size:11px; }
.eb-dd-list{ display:none; position:absolute; top:calc(100% + 4px); left:0; right:0; max-height:180px; overflow-y:auto; background:#fff; border:1.5px solid var(--eb-sand-2); border-radius:9px; box-shadow:0 8px 18px rgba(16,42,60,0.18); z-index:20; }
.eb-dd-list.is-open{ display:block; }
.eb-dd-item{ padding:10px 12px; font-size:15.5px; cursor:pointer; }
.eb-dd-item:hover, .eb-dd-item.is-selected{ background:#F2E9D2; }
.eb-children-collapsible{ display:none; margin-top:10px; }
.eb-children-collapsible.is-open{ display:block; }
.eb-yn-row{ display:flex; gap:8px; }
.eb-yn-btn{ flex:1; padding:10px; border-radius:9px; border:1.5px solid var(--eb-sand-2) !important; background:#fff !important; color:var(--eb-ink) !important; font-size:14.5px; font-weight:600; cursor:pointer; }
.eb-yn-btn.is-selected{ background:var(--eb-gold) !important; border-color:var(--eb-gold) !important; color:#2A1A05 !important; }
.eb-voucher-fields{ display:none; margin-top:10px; }
.eb-voucher-fields.is-open{ display:block; }
.eb-child-row .eb-dropdown{ width:72px; }


.eb-child-row{ display:flex; justify-content:space-between; align-items:center; padding:8px 0; border-bottom:1px solid rgba(0,0,0,0.06);}
.eb-child-row:last-child{ border-bottom:none; }
.eb-child-label{ font-size:14.5px; color:#4A4030; }
.eb-child-label em{ font-style:normal; color:#8A7A57; font-size:12px; }
.eb-contact-box{ background:#FBEBD9; border:1.5px dashed #C99A4A; border-radius:12px; padding:14px; margin:14px 0; font-size:13px; color:#7A4B1A;}
.eb-contact-box strong{ display:block; margin-bottom:6px; color:#5C3A12; font-size:13.5px;}
.eb-contact-btn{ margin-top:10px; width:100%; padding:11px; border-radius:9px; border:1.5px solid #C99A4A; background:#fff; color:#5C3A12; font-weight:600; font-size:13.5px; cursor:pointer;}
.eb-passport-box{ background:#FBEBD9; border:1.5px dashed #C99A4A; border-radius:12px; padding:14px; margin-top:14px; font-size:13px; color:#7A4B1A;}

.eb-passport-box strong{ display:block; margin-bottom:6px; color:#5C3A12; font-size:13.5px;}
.eb-upload-btn{ margin-top:10px; display:inline-block; background:#fff; border:1.5px solid #C99A4A; padding:9px 14px; border-radius:8px; font-size:12.5px; cursor:pointer; color:#5C3A12;}
