/* === Packages Form — matches Visa Form luxury identity (navy #0a2540 + gold #c9a14a) === */
.pkgf-wrap{color:#1a1a1a;direction:rtl}
.pkgf-wrap *{box-sizing:border-box}
.pkgf-card{max-width:1080px;margin:40px auto;background:linear-gradient(180deg,#fffefb 0%,#faf5ea 100%);border:1px solid #e8d9b0;border-radius:24px;box-shadow:0 30px 80px -30px rgba(10,37,64,.25),0 0 0 1px rgba(201,161,74,.1);overflow:hidden}
.pkgf-header{position:relative;padding:48px 32px 28px;text-align:center;background:radial-gradient(ellipse at top,rgba(201,161,74,.12),transparent 60%)}
.pkgf-crest{font-size:26px;color:#c9a14a;letter-spacing:8px;margin-bottom:10px}
.pkgf-header h2{font-size:30px;font-weight:800;margin:0;color:#0a2540;letter-spacing:-.5px}
.pkgf-sub{margin:8px 0 0;color:#6b6b6b;font-size:14px}

/* Progress */
.pkgf-progress{padding:22px 32px 18px;background:#fbf7ec;border-block:1px solid #f0e3c2}
.pkgf-progress-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.pkgf-step-count{font-weight:800;color:#0a2540;font-size:13px;background:#fff;border:1.5px solid #e8d9b0;padding:6px 14px;border-radius:30px}
.pkgf-step-name{font-size:17px;font-weight:800;color:#0a2540;flex:1;text-align:center}
.pkgf-progress-pct{font-weight:800;color:#c9a14a;font-size:13px}
.pkgf-progress-bar{position:relative;height:8px;background:#fff;border-radius:30px;overflow:hidden;border:1px solid #ecdfb8;box-shadow:inset 0 1px 3px rgba(10,37,64,.08)}
.pkgf-progress-fill{height:100%;background:linear-gradient(90deg,#c9a14a,#e8c773,#0a2540);border-radius:30px;transition:width .5s cubic-bezier(.4,0,.2,1);box-shadow:0 0 12px rgba(201,161,74,.5)}

/* Steps */
.pkgf-form{padding:32px}
.pkgf-step{display:none;animation:pkgfFade .4s ease}
.pkgf-step.active{display:block}
@keyframes pkgfFade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* Fields */
.pkgf-filters{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px}
.pkgf-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:18px}
.pkgf-field label{display:block;font-size:13px;font-weight:700;color:#0a2540;margin-bottom:6px}
.pkgf-field input,.pkgf-field select{width:100%;padding:12px 14px;border:1.5px solid #e3d9bf;border-radius:12px;font-size:15px;background:#fff;transition:.2s;}
.pkgf-field input:focus,.pkgf-field select:focus{outline:none;border-color:#c9a14a;box-shadow:0 0 0 4px rgba(201,161,74,.15)}

/* Package cards */
.pkgf-packages{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin-bottom:24px}
.pkgf-pkg{background:#fff;border:1.5px solid #e8d9b0;border-radius:20px;overflow:hidden;cursor:pointer;transition:.3s;position:relative}
.pkgf-pkg:hover{transform:translateY(-4px);box-shadow:0 24px 48px -24px rgba(10,37,64,.35);border-color:#c9a14a}
.pkgf-pkg.selected{border-color:#0a2540;box-shadow:0 24px 48px -20px rgba(10,37,64,.45)}
.pkgf-pkg.selected::after{content:'✓';position:absolute;top:12px;left:12px;width:34px;height:34px;background:linear-gradient(135deg,#c9a14a,#e0c485);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:bold;font-size:18px;z-index:2;box-shadow:0 8px 18px -6px rgba(201,161,74,.6)}
.pkgf-pkg-img{height:180px;background:linear-gradient(135deg,#0a2540,#173968);position:relative;overflow:hidden}
.pkgf-pkg-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.pkgf-pkg-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,37,64,.1),rgba(10,37,64,.55));pointer-events:none}
.pkgf-pkg-badge{position:absolute;bottom:12px;right:12px;background:linear-gradient(135deg,#c9a14a,#e0c485);color:#fff;padding:6px 14px;border-radius:20px;font-size:12px;font-weight:700;box-shadow:0 6px 14px -4px rgba(201,161,74,.5)}
.pkgf-pkg-body{padding:18px}
.pkgf-pkg-title{font-size:17px;font-weight:800;color:#0a2540;margin:0 0 8px}
.pkgf-pkg-desc{font-size:13px;color:#666;margin:0 0 12px;min-height:36px;line-height:1.6}
.pkgf-pkg-features{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}
.pkgf-pkg-features span{font-size:11px;background:#fbf7ec;color:#7a5a10;padding:4px 10px;border-radius:99px;font-weight:600;border:1px solid #f0e3c2}
.pkgf-pkg-price{display:flex;align-items:baseline;justify-content:space-between;border-top:1px dashed #f0e3c2;padding-top:12px}
.pkgf-pkg-price .price{font-size:24px;font-weight:900;color:#c9a14a}
.pkgf-pkg-price .unit{font-size:11px;color:#888}
.pkgf-pkg-meta{font-size:12px;color:#888;text-align:left}

/* Selected package summary block (step 2) — big, premium */
.pkgf-selected-pkg{margin-top:18px;border:1.5px solid #e8d9b0;border-radius:20px;overflow:hidden;background:#fff;box-shadow:0 18px 36px -24px rgba(10,37,64,.25)}
.pkgf-selected-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;padding:18px 22px;background:linear-gradient(135deg,#0a2540,#173968);color:#fff}
.pkgf-selected-head h4{margin:0;font-size:18px;font-weight:800}
.pkgf-selected-head .pkgf-selected-price{background:linear-gradient(135deg,#c9a14a,#e0c485);color:#fff;padding:8px 16px;border-radius:30px;font-weight:800;font-size:15px;box-shadow:0 6px 14px -4px rgba(201,161,74,.5)}
.pkgf-selected-meta{display:flex;flex-wrap:wrap;gap:10px;padding:14px 22px;background:#fbf7ec;border-block:1px solid #f0e3c2}
.pkgf-selected-meta span{font-size:12px;background:#fff;color:#0a2540;padding:6px 12px;border-radius:30px;border:1px solid #e8d9b0;font-weight:700}
.pkgf-selected-body{padding:18px 22px}
.pkgf-selected-body p{margin:0 0 14px;color:#444;line-height:1.8;font-size:14px}
.pkgf-selected-features{display:flex;flex-wrap:wrap;gap:8px}
.pkgf-selected-features span{font-size:12px;background:#fbf7ec;color:#7a5a10;padding:6px 14px;border-radius:30px;font-weight:700;border:1px solid #f0e3c2}
.pkgf-selected-features span::before{content:"✓ ";color:#c9a14a;font-weight:900}

/* Actions */
.pkgf-actions{display:flex;justify-content:space-between;gap:12px;margin-top:24px;padding-top:20px;border-top:1px dashed #f0e3c2}
.pkgf-btn,.pkgf-prev{padding:14px 32px;border-radius:30px;border:none;font-weight:700;font-size:15px;cursor:pointer;transition:.25s}
.pkgf-btn{background:linear-gradient(135deg,#0a2540,#173968);color:#fff;box-shadow:0 14px 28px -14px rgba(10,37,64,.6)}
.pkgf-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 18px 36px -14px rgba(10,37,64,.7)}
.pkgf-btn:disabled{opacity:.5;cursor:not-allowed}
.pkgf-prev{background:#fff;color:#0a2540;border:1.5px solid #e3d9bf}
.pkgf-prev:hover{background:#fbf7ec;border-color:#c9a14a}
.pkgf-btn-ghost{background:transparent;color:#c9a14a;border:1.5px solid #c9a14a;text-decoration:none;display:inline-block;margin-top:16px;padding:12px 28px;border-radius:30px;font-weight:700}
.pkgf-btn-ghost:hover{background:#c9a14a;color:#fff}

/* Summary */
.pkgf-summary{background:#fff;border:1px solid #e8d9b0;border-radius:18px;padding:22px}
.pkgf-summary-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px dashed #f0e3c2;font-size:14px}
.pkgf-summary-row:last-child{border:none}
.pkgf-summary-row strong{color:#0a2540}
.pkgf-summary-total{background:linear-gradient(135deg,#0a2540,#173968);color:#fff;border-radius:14px;padding:18px 22px;margin-top:16px;display:flex;justify-content:space-between;align-items:center;font-weight:800;font-size:18px}
.pkgf-summary-total span:last-child{color:#f5d68a;font-size:22px}

/* Payment */
.pkgf-pay-options{display:grid;gap:12px;margin-bottom:8px}
.pkgf-pay-card{display:flex;gap:14px;padding:18px;border:1.5px solid #e8d9b0;border-radius:14px;cursor:pointer;transition:.2s;background:#fff;align-items:flex-start}
.pkgf-pay-card:has(input:checked){border-color:#c9a14a;background:linear-gradient(135deg,#fbf7ec,#fff);box-shadow:0 8px 16px -10px rgba(201,161,74,.4)}
.pkgf-pay-card input{margin-top:6px;accent-color:#c9a14a}
.pkgf-pay-card strong{display:block;font-size:16px;color:#0a2540;margin-bottom:4px}
.pkgf-pay-card span{font-size:13px;color:#777}

/* Thank you */
.pkgf-thanks{text-align:center;position:relative;overflow:hidden}
.pkgf-thanks-card{background:linear-gradient(180deg,#fffefb,#faf5ea);border:1px solid #e8d9b0;border-radius:24px;padding:48px 32px;max-width:560px;margin:0 auto;position:relative;z-index:2}
.pkgf-check{width:90px;height:90px;border-radius:50%;background:linear-gradient(135deg,#c9a14a,#e0c485);color:#fff;font-size:50px;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;animation:pkgfPop .6s cubic-bezier(.34,1.56,.64,1);box-shadow:0 20px 40px -10px rgba(201,161,74,.6)}
@keyframes pkgfPop{0%{transform:scale(0)}60%{transform:scale(1.2)}100%{transform:scale(1)}}
.pkgf-thanks h2{font-size:26px;color:#0a2540;margin:0 0 12px;font-weight:900}
.pkgf-thanks-sub{color:#555;font-size:15px;line-height:1.7;margin:0 0 24px}
.pkgf-thanks-info{background:#fbf7ec;border:1px solid #f0e3c2;border-radius:14px;padding:18px;text-align:right;margin:20px 0;font-size:14px}
.pkgf-thanks-info div{padding:8px 0;border-bottom:1px dashed #e8d9b0;display:flex;justify-content:space-between}
.pkgf-thanks-info div:last-child{border:none}
.pkgf-thanks-info strong{color:#0a2540}
.pkgf-thanks-foot{color:#666;font-size:14px}
.pkgf-thanks-foot strong{color:#c9a14a;font-size:18px}

/* Confetti — gold/navy */
.pkgf-confetti{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.pkgf-confetti span{position:absolute;width:10px;height:10px;background:#c9a14a;animation:pkgfFall 3s linear infinite;top:-20px;opacity:.85}
.pkgf-confetti span:nth-child(odd){background:#e0c485;border-radius:50%}
.pkgf-confetti span:nth-child(3n){background:#0a2540;width:8px;height:8px}
.pkgf-confetti span:nth-child(4n){background:#f5d68a;width:6px;height:6px;border-radius:50%}
@keyframes pkgfFall{to{transform:translateY(800px) rotate(720deg);opacity:0}}

/* Toast — match visa style */
.pkgf-toast{position:fixed;top:24px;left:50%;transform:translateX(-50%) translateY(-100px);background:#0a2540;color:#fff;padding:14px 24px;border-radius:14px;font-weight:600;z-index:99999;transition:.35s cubic-bezier(.34,1.56,.64,1);box-shadow:0 20px 40px -12px rgba(10,37,64,.5),0 0 0 1px rgba(201,161,74,.2);border-right:4px solid #c9a14a;direction:rtl;min-width:260px;text-align:center}
.pkgf-toast.show{transform:translateX(-50%) translateY(0)}
.pkgf-toast.error{background:linear-gradient(135deg,#7a1212,#c0392b);border-right-color:#fff}
.pkgf-toast.success{background:linear-gradient(135deg,#0f5132,#1d8e4f);border-right-color:#fff}
.pkgf-shake{animation:pkgfShake .45s}
@keyframes pkgfShake{0%,100%{transform:translateX(0)}20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}
.pkgf-invalid{border-color:#c0392b!important;box-shadow:0 0 0 4px rgba(192,57,43,.12)!important;background:#fff5f5!important}

@media(max-width:700px){
  .pkgf-card{border-radius:18px}
  .pkgf-form{padding:20px}
  .pkgf-header{padding:32px 18px 22px}
  .pkgf-header h2{font-size:22px}
  .pkgf-progress{padding:16px 18px 12px}
  .pkgf-step-name{font-size:14px}
  .pkgf-filters{grid-template-columns:1fr}
  .pkgf-actions{flex-direction:column-reverse}
  .pkgf-btn,.pkgf-prev{width:100%}
}

/* ============ Rich Sections — Luxury Navy + Gold ============ */
.pkgf-rsec{margin-top:22px;border-radius:20px;overflow:hidden;border:1px solid #e8d9b0;background:linear-gradient(180deg,#fffdf6 0%,#faf3e0 100%);box-shadow:0 18px 40px -28px rgba(10,37,64,.35),inset 0 0 0 1px rgba(255,255,255,.6)}
.pkgf-rsec-head{padding:18px 22px 8px;display:flex;align-items:center;justify-content:flex-start;gap:12px;position:relative}
.pkgf-rsec-head::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,rgba(201,161,74,.55),transparent)}
.pkgf-rsec-head h5{margin:0;font-size:15px;font-weight:800;color:#fff;background:linear-gradient(135deg,#0a2540,#173968);padding:10px 22px;border-radius:30px;box-shadow:0 8px 18px -8px rgba(10,37,64,.55),inset 0 0 0 1px rgba(201,161,74,.4);letter-spacing:.3px;display:inline-flex;align-items:center;gap:8px}
.pkgf-rsec-head h5::before{content:"";width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,#e8c773,#c9a14a);box-shadow:0 0 0 2px rgba(201,161,74,.25)}
.pkgf-rsec-body{padding:6px 22px 22px}

/* Notes */
.pkgf-notes{list-style:none;padding:0;margin:0}
.pkgf-notes li{position:relative;padding:10px 26px 10px 0;color:#0a2540;font-weight:600;line-height:1.75;border-bottom:1px dashed #ecdfb8;font-size:14px}
.pkgf-notes li:last-child{border:none}
.pkgf-notes li::before{content:"";position:absolute;right:6px;top:18px;width:9px;height:9px;border-radius:50%;background:linear-gradient(135deg,#c9a14a,#e8c773);box-shadow:0 0 0 3px rgba(201,161,74,.18)}

/* ============ Icon list (Includes / Gifts) — Luxury redesign v2 ============ */
.pkgf-iconlist{list-style:none!important;padding:0!important;margin:0!important;display:grid!important;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))!important;gap:14px!important;direction:rtl!important}
.pkgf-iconlist li{list-style:none!important;position:relative!important;display:grid!important;grid-template-columns:1fr 52px!important;align-items:center!important;column-gap:14px!important;background:linear-gradient(180deg,#ffffff 0%,#fffaee 100%)!important;border:1px solid #ecdfb8!important;padding:18px 20px 18px 18px!important;border-radius:16px!important;margin:0!important;text-align:right!important;box-shadow:0 8px 18px -14px rgba(10,37,64,.35),inset 0 0 0 1px rgba(255,255,255,.7)!important;transition:transform .2s,box-shadow .2s,border-color .2s!important;overflow:hidden!important;min-height:78px!important}
.pkgf-iconlist li::before,.pkgf-iconlist li::marker,.pkgf-iconlist li::after{content:none!important;display:none!important;background:none!important}
.pkgf-iconlist li:hover{border-color:#c9a14a!important;transform:translateY(-3px)!important;box-shadow:0 16px 28px -16px rgba(201,161,74,.55),0 2px 0 0 rgba(201,161,74,.15)!important}
/* Decorative gold corner accent */
.pkgf-iconlist li{background-image:linear-gradient(180deg,#ffffff 0%,#fffaee 100%),radial-gradient(circle at top left,rgba(201,161,74,.12),transparent 60%)!important;background-origin:padding-box,border-box!important}
/* Number badge (top-left corner in RTL = visual left) */
.pkgf-iconlist li .pkgf-il-num{position:absolute!important;top:10px!important;left:12px!important;font-size:11px!important;font-weight:800!important;color:#c9a14a!important;letter-spacing:1px!important;opacity:.85!important;background:none!important;padding:0!important;border:0!important}
/* Text — flows naturally on right side, never under icon */
.pkgf-iconlist li .pkgf-il-text{grid-column:1!important;grid-row:1!important;display:block!important;min-width:0!important;word-wrap:break-word!important;overflow-wrap:anywhere!important;color:#0a2540!important;font-weight:700!important;font-size:14.5px!important;line-height:1.6!important;text-align:right!important;padding:0!important;margin:0!important;background:none!important;border:0!important}
/* Icon badge — visual right edge in RTL, isolated in its own column */
.pkgf-iconlist li .pkgf-il-ico{grid-column:2!important;grid-row:1!important;width:48px!important;height:48px!important;border-radius:14px!important;background:linear-gradient(135deg,#0a2540 0%,#1d4474 100%)!important;color:#e8c773!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:20px!important;box-shadow:0 8px 16px -6px rgba(10,37,64,.55),inset 0 1px 0 rgba(255,255,255,.15),inset 0 0 0 1px rgba(201,161,74,.5)!important;padding:0!important;margin:0!important;flex:none!important;position:relative!important;transition:transform .25s!important}
.pkgf-iconlist li:hover .pkgf-il-ico{transform:rotate(-8deg) scale(1.05)!important}
/* Gold accent strip on the right edge */
.pkgf-iconlist li{border-right:3px solid transparent!important}
.pkgf-iconlist li:hover{border-right-color:#c9a14a!important}

.pkgf-rsec--gifts .pkgf-iconlist li .pkgf-il-ico{background:linear-gradient(135deg,#c9a14a 0%,#e8c773 50%,#f3d98a 100%)!important;color:#0a2540!important;box-shadow:0 8px 16px -6px rgba(201,161,74,.7),inset 0 1px 0 rgba(255,255,255,.5),inset 0 0 0 1px rgba(255,255,255,.4)!important}
.pkgf-rsec--gifts .pkgf-iconlist li .pkgf-il-num{color:#0a2540!important}

/* Tours */
.pkgf-tour{background:#fff;border:1px solid #ecdfb8;border-radius:16px;padding:16px 20px;margin-bottom:12px;box-shadow:0 10px 22px -18px rgba(10,37,64,.3)}
.pkgf-tour .city{display:inline-block;background:linear-gradient(135deg,#0a2540,#173968);color:#e8c773;padding:7px 20px;border-radius:30px;font-weight:800;font-size:13px;margin-bottom:12px;box-shadow:0 6px 14px -8px rgba(10,37,64,.55);letter-spacing:.3px}
.pkgf-tour ul{list-style:none;padding:0;margin:0;line-height:1.9;color:#0a2540;font-weight:600;font-size:14px}
.pkgf-tour ul li{padding:4px 22px 4px 0;position:relative}
.pkgf-tour ul li::before{content:"◆";position:absolute;right:0;top:4px;color:#c9a14a;font-size:11px}

/* Flights */
.pkgf-flight{background:#fff;border:1px solid #ecdfb8;border-radius:16px;padding:16px 20px;margin-bottom:12px;box-shadow:0 10px 22px -18px rgba(10,37,64,.3)}
.pkgf-flight .row{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.pkgf-flight .leg{flex:1;min-width:120px;color:#0a2540;text-align:center}
.pkgf-flight .leg .lbl{display:block;font-size:11px;color:#8a7a4a;font-weight:700;margin-bottom:4px;letter-spacing:1px;text-transform:uppercase}
.pkgf-flight .leg b{font-size:16px;font-weight:800;color:#0a2540}
.pkgf-flight .plane{font-size:18px;color:#c9a14a;background:linear-gradient(90deg,transparent,#f5e9c4,transparent);padding:6px 16px;flex:0 0 auto}
.pkgf-flight .bag{margin-top:12px;background:linear-gradient(135deg,#fbf7ec,#fff);border:1px dashed #c9a14a;border-radius:20px;padding:8px 14px;color:#7a5a10;font-weight:700;font-size:13px;text-align:center}

/* Hotels */
.pkgf-hotel{display:grid;grid-template-columns:88px 110px 1fr;gap:14px;align-items:stretch;background:#fff;border:1px solid #ecdfb8;border-radius:16px;padding:14px;margin-bottom:12px;box-shadow:0 10px 22px -18px rgba(10,37,64,.3)}
.pkgf-hotel .nights{background:linear-gradient(135deg,#c9a14a,#e8c773);color:#0a2540;border-radius:12px;padding:10px 6px;text-align:center;font-weight:800;display:flex;flex-direction:column;justify-content:center;box-shadow:inset 0 0 0 1px rgba(255,255,255,.45)}
.pkgf-hotel .nights b{display:block;font-size:24px;line-height:1}
.pkgf-hotel .nights span{font-size:11px;opacity:.85;margin-top:2px;font-weight:700}
.pkgf-hotel .city{background:linear-gradient(135deg,#0a2540,#173968);color:#e8c773;border-radius:12px;padding:10px;text-align:center;font-weight:800;font-size:14px;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 0 0 1px rgba(201,161,74,.3)}
.pkgf-hotel .info{display:flex;flex-direction:column;justify-content:center;min-width:0}
.pkgf-hotel .info .hotel{font-weight:800;color:#0a2540;font-size:15px;margin-bottom:6px;line-height:1.3}
.pkgf-hotel .info .meta{display:flex;flex-wrap:wrap;gap:6px}
.pkgf-hotel .info .meta span{background:#fbf7ec;border:1px solid #ecdfb8;color:#7a5a10;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:700}

@media(max-width:640px){
  .pkgf-iconlist{grid-template-columns:1fr}
  .pkgf-hotel{grid-template-columns:72px 1fr;grid-template-rows:auto auto}
  .pkgf-hotel .city{grid-column:2;grid-row:1}
  .pkgf-hotel .nights{grid-column:1;grid-row:1}
  .pkgf-hotel .info{grid-column:1/-1;grid-row:2}
  .pkgf-flight .row{flex-direction:column;text-align:center}
  .pkgf-flight .plane{transform:rotate(90deg);padding:8px}
  .pkgf-rsec-head h5{font-size:13px;padding:8px 16px}
}
