.package-list{overflow-x:auto}.package-table{width:100%;min-width:850px;border-collapse:collapse}.package-table th{background:#eff6f4;color:#164944;text-align:left;padding:11px;font-size:12px}.package-table td{padding:11px;border-top:1px solid #dce7e4;font-size:13px}.package-actions{display:flex;gap:6px;flex-wrap:wrap}.package-actions button{padding:7px 9px;font-size:11px}.package-actions .danger{background:#a63c35}.wizard{width:min(700px,94vw);box-sizing:border-box;padding:30px;background:linear-gradient(145deg,#fff,#f2f8f6)}.wizard-top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.wizard-top h2{margin-top:4px}.wizard-progress{display:flex;align-items:center;margin:25px 0}.wizard-progress span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#e3ecea;color:#607572;font-size:12px;font-weight:bold}.wizard-progress span.active{background:linear-gradient(135deg,#176d68,#0e4d49);color:#fff}.wizard-progress i{height:3px;background:#dbe6e4;flex:1}.wizard-step{min-height:250px}.wizard-step>p{color:#607572}.day-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin:24px 0}.day-options button{background:#fff;color:#164742;border:1px solid #cfe0dd;padding:18px 8px;box-shadow:0 5px 14px #1234310b}.day-options button.selected{background:linear-gradient(135deg,#176d68,#0e4d49);color:#fff;border-color:#176d68;transform:translateY(-2px)}.traveler-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-top:22px}.traveler-card,.room-card{box-sizing:border-box;min-width:0;border:1px solid #d4e4e1;border-radius:14px;background:#fff;padding:16px;text-align:center;box-shadow:0 7px 18px #1234310a}.traveler-card strong,.room-card strong{display:block;margin:6px 0}.traveler-card small,.room-card small{display:block;color:#69817e;font-size:11px;min-height:18px}.traveler-icon,.room-icon{display:inline-grid;place-items:center;min-width:44px;height:44px;border-radius:12px;background:#e5f3f0;color:#176d68;font-size:24px}.traveler-card.children .traveler-icon{background:#fff1d2;color:#b17715}.traveler-card.infants .traveler-icon{background:#f9e5e4;color:#ae5047}.stepper{display:flex;justify-content:center;align-items:center;gap:9px;margin-top:13px}.stepper button{padding:3px 10px;border-radius:7px;line-height:22px;font-size:19px}.stepper output{min-width:25px;font-size:17px;font-weight:bold;color:#173f3b}.child-bed{max-width:265px;margin-top:17px}.infant-note{font-size:12px;background:#fbf4df;border-radius:7px;padding:9px}.wizard-help{font-size:13px;font-weight:bold;margin-top:16px}.bed-summary{display:flex;justify-content:space-between;gap:14px;background:linear-gradient(90deg,#e7f4f1,#f8fbfa);border:1px solid #cae1dc;border-radius:10px;padding:13px;margin:20px 0}.bed-summary span{color:#4f6c68}.room-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.room-card{padding:12px 7px;cursor:pointer;transition:.18s;border-width:2px}.room-card .stepper{gap:4px}.room-card .stepper button{padding:3px 8px}.room-card:hover{transform:translateY(-3px);box-shadow:0 10px 22px #12343118}.room-card.selected{box-shadow:0 0 0 3px #176d6840}.room-card.sharing{border-color:#84cbbf}.room-card.sharing .room-icon{background:#dff4ef;color:#157868}.room-card.double{border-color:#8ab5d9}.room-card.double .room-icon{background:#e2f0fb;color:#397ba8}.room-card.triple{border-color:#d7af7c}.room-card.triple .room-icon{background:#fff0d9;color:#a56a22}.room-card.quad{border-color:#bd9ac9}.room-card.quad .room-icon{background:#f1e3f4;color:#85569b}.room-card.quint{border-color:#da9d9b}.room-card.quint .room-icon{background:#fbe3e2;color:#ad514b}.date-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:20px}.wizard-actions{display:flex;justify-content:space-between;gap:10px;margin-top:20px}.wizard-actions #wizard-next{margin-left:auto}@media(max-width:720px){.wizard{padding:20px}.day-options{grid-template-columns:repeat(2,minmax(0,1fr))}.traveler-grid,.date-grid{grid-template-columns:1fr}.room-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wizard-step{min-height:330px}.bed-summary{display:block}.bed-summary span{display:block;margin-top:6px}}
.route-map{height:160px;position:relative;overflow:hidden;background:linear-gradient(135deg,#e8f4f1,#f7fbfa);border:1px solid #cae1dc;border-radius:12px;margin:16px 0}.route-map-lines{position:absolute;inset:0;width:100%;height:100%}.map-path{fill:none;stroke:#bbcbc7;stroke-width:3;stroke-linecap:round;cursor:pointer;transition:.2s}.map-path:hover{stroke:#7aa39d;stroke-width:5}.map-path.forward.active{stroke:#d6a51d;stroke-width:5;filter:drop-shadow(0 2px 2px #b5841b55)}.map-path.return.active{stroke:#c65e54;stroke-width:5;filter:drop-shadow(0 2px 2px #a63c3555)}.map-node{position:absolute;border-radius:30px;padding:8px 11px;background:#6b8985;color:#fff;font-size:11px;font-weight:bold;z-index:2;transition:.2s}.map-node.active{background:#176d68;box-shadow:0 0 0 4px #d6a51d55;transform:translateY(-2px)}.map-node.jed{left:6%;top:65%}.map-node.mak{left:32%;top:25%}.map-node.mad{left:61%;top:50%}.map-node.madapt{right:5%;top:15%}.route-selection{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.route-choice{border:1px solid #cfe0dd;border-radius:9px;background:#fff;padding:11px;cursor:pointer;font-size:12px;font-weight:bold;color:#1e5752}.route-choice.selected{background:#176d68;color:#fff;border-color:#176d68}.stay-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}.transport-map .map-path{pointer-events:none}.vehicle-selection{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}.vehicle-card{border:2px solid #d3e4e0;border-radius:14px;background:#fff;padding:14px;text-align:center;cursor:pointer;transition:.2s}.vehicle-card:hover{transform:translateY(-3px);box-shadow:0 8px 18px #12343118}.vehicle-card.selected{border-color:#176d68;background:#e8f5f2;box-shadow:0 0 0 3px #176d6830}.vehicle-card.bus-sharing{border-color:#d7ad4d}.vehicle-card .vehicle-art{position:relative;display:grid;place-items:center;height:66px;margin-bottom:8px;border-radius:10px;background:linear-gradient(135deg,#e0f1ee,#f8f2dc);font-size:40px}.vehicle-card .sharing-mark{position:absolute;right:9px;bottom:5px;padding:1px 4px;border-radius:8px;background:#fff;font-size:14px;line-height:16px}.vehicle-card strong,.vehicle-card small{display:block}.vehicle-card small{color:#637b77;font-size:11px;margin-top:4px}.visa-match{margin-top:16px;padding:12px;border-radius:9px;background:#f4f8f7;border:1px solid #d4e4e0;font-size:13px;font-weight:bold}.visa-match.matched{background:#e7f4ef;border-color:#9fcebd;color:#176d68}.visa-match.warning{background:#fff4de;border-color:#ead29b;color:#865c0d}.city-hotel-section{margin:16px 0;padding:16px;border:1px solid #d5e5e1;border-radius:12px;background:#fff}.hotel-selection-head{display:flex;align-items:end;justify-content:space-between;gap:12px}.hotel-selection-head h3{margin:0}.hotel-selection-head small{color:#607572}.hotel-selection-head label{font-size:11px;margin:0}.hotel-selection-head select{min-width:145px;margin-top:4px;padding:8px}.hotel-map-wrap{position:relative;margin-top:14px;border:1px solid #d4e5e1;border-radius:10px;overflow:hidden;background:#eef6f4}.hotel-map-wrap iframe{display:block;width:100%;height:190px;border:0}.hotel-map-wrap p{margin:0;padding:7px 10px;background:#fff;font-size:11px}.hotel-map-pins{position:absolute;top:9px;left:9px;right:9px;display:flex;gap:6px;flex-wrap:wrap;pointer-events:none}.hotel-pin{pointer-events:auto;width:27px;height:27px;padding:0;border-radius:50%;background:#fff;color:#176d68;border:2px solid #176d68;font-size:11px;font-weight:bold}.hotel-pin.selected{background:#d6a51d;color:#fff;border-color:#fff;box-shadow:0 1px 5px #3336}.hotel-cards,.ziyarat-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.hotel-choice{overflow:hidden;text-align:left;padding:0;border:2px solid #d4e5e1;border-radius:11px;background:#fff;color:#153e3a}.hotel-choice button{display:flex;width:100%;gap:11px;text-align:left;padding:0;background:transparent;color:#153e3a}.hotel-choice:hover{transform:translateY(-2px);box-shadow:0 7px 15px #12343114}.hotel-choice.selected,.ziyarat-choice.selected{border-color:#176d68;box-shadow:0 0 0 3px #176d6830;background:#e8f5f2}.hotel-choice img{width:108px;min-height:108px;object-fit:cover}.hotel-choice span{padding:11px 10px 9px 0}.hotel-choice strong,.hotel-choice small{display:block}.hotel-choice small{font-size:11px;line-height:1.4;color:#607572;margin-top:5px}.ziyarat-choice{text-align:left;padding:14px;border:2px solid #d4e5e1;border-radius:11px;background:#fff;color:#153e3a}.ziyarat-choice strong,.ziyarat-choice small,.ziyarat-choice b{display:block}.ziyarat-choice small{font-size:11px;line-height:1.4;color:#607572;margin:6px 0}.ziyarat-choice b{color:#176d68}.hotel-empty{padding:12px;background:#fff4de;border-radius:8px;color:#865c0d;font-size:12px}@media(max-width:720px){.route-selection,.stay-grid,.vehicle-selection,.hotel-cards,.ziyarat-cards{grid-template-columns:1fr}.route-map{height:200px}.map-node{font-size:10px}.map-node.jed{left:4%;top:72%}.map-node.mak{left:28%;top:28%}.map-node.mad{left:56%;top:57%}.map-node.madapt{right:2%;top:13%}.hotel-selection-head{align-items:start;flex-direction:column}.hotel-choice img{width:92px;min-height:100px}}
.ticket-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}.ticket-grid label{font-size:12px;font-weight:bold}.ticket-grid input{margin-top:6px}.package-final-summary{border:1px solid #cfe1dd;border-radius:13px;overflow:hidden;background:#fff}.quote-head,.quote-total{display:flex;justify-content:space-between;gap:12px;padding:15px 17px}.quote-head{background:#edf7f4;color:#154b46}.quote-head span{font-size:12px;color:#53736e}.quote-lines{display:grid;grid-template-columns:1fr auto;gap:9px 16px;padding:15px 17px;font-size:13px}.quote-lines b{text-align:right;color:#176d68}.quote-prices{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:0 17px 17px}.quote-prices article{padding:12px;border-radius:9px;background:#f5f9f8}.quote-prices small,.quote-prices span{display:block;color:#64807b;font-size:10px}.quote-prices strong{display:block;margin:5px 0;color:#164b46;font-size:16px}.quote-total{background:linear-gradient(135deg,#176d68,#0e4d49);color:#fff;align-items:center}.quote-total strong{font-size:21px}.quote-note{padding:0 17px 4px;color:#71847f;font-size:11px}@media(max-width:720px){.ticket-grid,.quote-prices{grid-template-columns:1fr}}
.quote-details{display:grid;gap:5px;padding:15px 17px;background:#fbfdfc;border-bottom:1px solid #dce9e6;color:#58736e;font-size:11px}.quote-details strong{color:#154b46;font-size:14px}.quote-details span{display:block}
