:root{
  --navy:#0b1d3e; --navy2:#153060; --navy3:#1e4080;
  --blue:#1a56db; --blue2:#3b7cf8; --sky:#dbeafe; --sky2:#eff6ff;
  --amber:#f59e0b; --amber2:#fbbf24; --amber3:#fde68a; --amberdim:#fffbeb;
  --green:#059669; --green2:#10b981; --greendim:#d1fae5;
  --red:#dc2626; --red2:#ef4444; --reddim:#fee2e2;
  --purple:#7c3aed; --purpdim:#f5f3ff;
  --disc:#be185d; --discdim:#fdf2f8;
  --n0:#0f172a; --n1:#1e293b; --n2:#334155;
  --n3:#64748b; --n4:#94a3b8; --n5:#cbd5e1;
  --n6:#e2e8f0; --n7:#f1f5f9; --n8:#f8fafc;
  --page:#eef2f9;
  --card:#fff;
  --r:12px; --rm:8px; --rs:6px;
  --sh1:0 2px 8px rgba(11,29,62,.08);
  --sh2:0 6px 20px rgba(11,29,62,.13);
  --sh3:0 12px 36px rgba(11,29,62,.2);
}

*,*::before,*::after{box-sizing:border-box;}
body{background:var(--page); font-family:'Nunito',sans-serif;}

/* ── TOAST ── */
#pk-toast{
  display:none;position:fixed;top:16px;left:50%;transform:translateX(-50%);
  background:var(--navy);color:#fff;padding:10px 22px;border-radius:30px;
  font-size:13px;font-weight:700;z-index:9999;white-space:nowrap;
  box-shadow:var(--sh3);pointer-events:none;border-left:4px solid var(--amber);
}
@keyframes tin{from{opacity:0;top:4px}to{opacity:1;top:16px}}

/* ══════════════════════════════════════════════════════════
   FIX 1: DATEPICKER POPUP — position:fixed portal
   #dp-popup is now placed OUTSIDE .indate-more in the HTML,
   as a direct child of .pk-date-wrap. JS positions it via
   getBoundingClientRect of #sd-more on open/scroll/resize.
   This eliminates all overflow:hidden clipping issues.
   Month nav: _updateDatepicker monkey-patch forces display:block.
   ══════════════════════════════════════════════════════════ */

  .ymobweb01{display:none !important;}

   #dp-popup{
  display:none;
  position:fixed;
  z-index:9990;
  background:#fff;
  border-radius:var(--r);
  box-shadow:var(--sh3);
  border:1px solid var(--n5);
  overflow:visible; /* MUST NOT be hidden — clips calendar on month rebuild */
  min-width:308px;
  max-width:340px;
  /* top/left set dynamically by JS posPicker() */
}
#dp-popup.open{display:block;}
@media(max-width:480px){
  #dp-popup{min-width:calc(100vw - 28px);max-width:calc(100vw - 28px);}
}
.dp-popup-hdr{
  background:linear-gradient(90deg,var(--navy),var(--navy2));
  color:#fff;padding:10px 14px;font-size:12.5px;font-weight:700;
  display:flex;justify-content:space-between;align-items:center;
  border-radius:var(--r) var(--r) 0 0; /* match popup rounding */
}
.dp-close{background:none;border:none;color:#fff;font-size:22px;cursor:pointer;line-height:1;padding:0;opacity:.85;}
.dp-close:hover{opacity:1;}
#dp-inner{
  padding:6px 8px 10px;
  background:#fff;
  border-radius:0 0 var(--r) var(--r);
  overflow:hidden; /* clip only the inner content, not the popup itself */
}
/* Force the calendar div always visible — jQuery UI may set display:block then
   briefly toggle it during month navigation. The !important overrides all that. */
#dp-popup .ui-datepicker-inline,
#dp-popup .ui-datepicker{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  width:100%!important;
  border:none!important;
  box-shadow:none!important;
  position:static!important; /* prevent jQuery UI from repositioning it */
}

/* jQuery UI overrides */
.ui-datepicker{font-family:'Nunito',sans-serif!important;border:none!important;box-shadow:none!important;padding:0!important;width:100%!important;}
.ui-datepicker-header{background:var(--n7)!important;border:none!important;border-radius:var(--rs)!important;padding:7px 10px!important;margin-bottom:4px!important;}
.ui-datepicker-title{font-size:13px!important;font-weight:800!important;color:var(--n1)!important;}
.ui-datepicker-prev,.ui-datepicker-next{top:5px!important;width:26px!important;height:26px!important;background:#fff!important;border:1px solid var(--n5)!important;border-radius:50%!important;cursor:pointer!important;}
.ui-datepicker-prev{left:6px!important;}.ui-datepicker-next{right:6px!important;}
.ui-datepicker-prev span,.ui-datepicker-next span{display:none!important;}
.ui-datepicker-prev::after{content:'‹';color:var(--n1);font-size:17px;font-weight:900;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);}
.ui-datepicker-next::after{content:'›';color:var(--n1);font-size:17px;font-weight:900;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);}
.ui-datepicker table{margin:0!important;width:100%!important;}
.ui-datepicker th{font-size:10px!important;font-weight:800!important;color:var(--n4)!important;padding:4px 2px!important;text-align:center!important;}
.ui-datepicker td{padding:2px!important;}
.ui-datepicker td a,.ui-datepicker td span{text-align:center!important;padding:6px 3px!important;font-size:13px!important;font-weight:700!important;border-radius:7px!important;border:none!important;display:block!important;}
.ui-datepicker td a:hover{background:var(--sky)!important;color:var(--blue)!important;}
.ui-datepicker .ui-state-active{background:var(--blue)!important;color:#fff!important;border-radius:7px!important;}
.ui-datepicker .ui-state-highlight{background:var(--amberdim)!important;color:#92400e!important;}
.ui-datepicker .dp-blk a{background:var(--n7)!important;color:var(--n5)!important;cursor:not-allowed!important;text-decoration:line-through!important;}
.ui-datepicker td.dp-sp a{background:var(--purpdim)!important;color:var(--purple)!important;font-weight:900!important;}

/* ── HEADER WRAPPER ── */
.pk-header-wrap{
  background:linear-gradient(130deg,var(--navy) 0%,var(--navy2) 55%,#1a3a70 100%);
  border-radius:var(--r) var(--r) 0 0;overflow:hidden;
  position:relative;
}
.pk-header-wrap::after{
  content:'';position:absolute;right:-40px;top:-40px;
  width:200px;height:200px;border-radius:50%;
  background:rgba(245,158,11,.07);pointer-events:none;
}

/* HERO row */
.pk-hero-row{padding:16px 16px 14px;display:flex;align-items:center;gap:12px;position:relative;z-index:1;}
.pk-hero-ico{
  width:52px;height:52px;border-radius:14px;flex-shrink:0;
  background:rgba(255,255,255,.14);border:1.5px solid rgba(255,255,255,.18);
  display:flex;align-items:center;justify-content:center;font-size:26px;
}
.pk-hero-title{font-family:'Poppins',sans-serif;font-size:17px;font-weight:800;color:#fff;line-height:1.2;margin:0;}
.pk-hero-sub{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px;}
.pk-chip{display:inline-flex;align-items:center;gap:4px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.15);color:rgba(255,255,255,.88);font-size:11px;font-weight:700;padding:2px 9px;border-radius:20px;}
.pk-chip i{color:var(--amber2);font-size:10px;}

/* timing / marquee */
.pk-timing{background:rgba(11,29,62,.88);color:var(--amber2);padding:7px 16px;font-size:12px;font-weight:700;display:flex;align-items:center;gap:7px;}
.pk-timing i{color:var(--amber);}
.pk-marquee{background:rgba(245,158,11,.08);border-top:1px solid rgba(245,158,11,.18);padding:6px 16px;font-size:12px;color:var(--amber2);font-weight:600;}
/* hero note line — "Online prices only · walk-in rates higher" */
.pk-hero-note{font-size:11px;color:rgba(255,255,255,.6);margin-top:5px;letter-spacing:.2px;}
.pk-chip-price{background:rgba(245,158,11,.22)!important;border-color:rgba(245,158,11,.35)!important;color:var(--amber2)!important;}

/* ── DATE SECTION ── */
.pk-date-wrap{background:#fff;border-bottom:1px solid var(--n6);padding:15px 14px 12px;position:relative;}
.sec-lbl{font-family:'Poppins',sans-serif;font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--n4);margin-bottom:10px;display:flex;align-items:center;gap:7px;}
.sec-lbl::after{content:'';flex:1;height:1px;background:var(--n6);}
.sec-lbl i{color:var(--blue2);font-size:11px;}

/* confirmed date pill */
.date-conf{display:none;align-items:center;gap:8px;background:var(--greendim);border:1.5px solid #6ee7b7;border-radius:var(--rm);padding:8px 12px;margin-bottom:10px;}
.date-conf.show{display:flex;}
.date-conf-txt{font-size:12.5px;font-weight:800;color:var(--green);flex:1;}
.date-conf-chg{font-size:11px;font-weight:800;color:var(--blue);background:var(--sky2);border:1.5px solid #93c5fd;border-radius:5px;padding:3px 11px;cursor:pointer;font-family:'Nunito',sans-serif;transition:all .14s;white-space:nowrap;}
.date-conf-chg:hover{background:var(--blue);color:#fff;border-color:var(--blue);}

/* ── DATE STRIP ── */
.bdate01{margin:0 0 2px;white-space:nowrap;padding:2px 0 4px;overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
.bdate01::-webkit-scrollbar{display:none;}
.indate01{
  display:inline-block;vertical-align:top;
  background:#4a5568;cursor:pointer;
  width:64px;margin:0 3px 0 0;
  border:2.5px solid transparent;border-radius:9px;overflow:hidden;
  transition:all .17s ease;user-select:none;text-align:center;
}
.indate01:not(.indate03):hover{border-color:var(--blue);transform:translateY(-3px);box-shadow:0 6px 16px rgba(26,86,219,.2);}
.indate01 h4{font-size:11px!important;font-weight:800;padding:5px 2px 4px;background:#374151;color:#fff;margin:0;letter-spacing:.6px;font-family:'Poppins',sans-serif;}
.indate01 h5{font-size:20px;font-weight:900;padding:5px 2px;background:#fff;color:var(--n0);margin:0;line-height:1;font-family:'Poppins',sans-serif;}
.indate01 h6{font-size:10px;font-weight:700;padding:3px 2px 5px;background:var(--n7);color:var(--blue);margin:0;letter-spacing:.2px;}
.indate02{border-color:var(--blue)!important;transform:translateY(-3px)!important;box-shadow:0 6px 16px rgba(26,86,219,.25)!important;}
.indate02 h4{background:var(--blue)!important;}
.indate02 h5{color:var(--blue)!important;background:#eff6ff!important;}
.indate02 h6{background:var(--blue)!important;color:#fff!important;}
.indate-sp{border:2.5px solid var(--amber)!important;}
.indate-sp h4{background:#92400e!important;color:#fde68a!important;}
.indate-sp h5{background:#fffbeb!important;color:#92400e!important;}
.indate-sp h6{background:var(--amber)!important;color:#1c1060!important;font-weight:900!important;}
.indate02-sp{border-color:#e11d48!important;transform:translateY(-3px)!important;box-shadow:0 6px 18px rgba(225,29,72,.3)!important;}
.indate02-sp h4{background:#9f1239!important;color:#fecdd3!important;}
.indate02-sp h5{background:#fff1f2!important;color:#9f1239!important;font-weight:900!important;}
.indate02-sp h6{background:#e11d48!important;color:#fff!important;font-weight:900!important;}
.indate03{cursor:not-allowed!important;opacity:.5;}
.indate03 h4{background:#6b7280!important;}
.indate03 h5{color:#9ca3af!important;background:#f3f4f6!important;}
.indate03 h6{color:#9ca3af!important;text-decoration:line-through;background:#f3f4f6!important;}
/* .indate-past removed — first week starts from minDate, no past padding tiles shown */
.indate-today h4::after{content:' ◆';font-size:7px;opacity:.8;}
/* MORE tile — no overflow:hidden so popup can escape if needed, but popup is now fixed anyway */
.indate-more{
  display:inline-block;vertical-align:top;
  width:64px;margin:0;border-radius:9px;overflow:visible;cursor:pointer;
  border:2.5px dashed var(--blue2);background:var(--sky2);text-align:center;
  transition:all .17s;position:relative;
}
.indate-more:hover{background:var(--blue);border-color:var(--blue);border-style:solid;}
.indate-more:hover .sm-m,.indate-more:hover .sm-i,.indate-more:hover .sm-b{color:#fff!important;}
.indate-more .sm-m{background:var(--blue);color:#fff;font-size:10px;font-weight:800;padding:5px 2px 4px;display:block;letter-spacing:.5px;font-family:'Poppins',sans-serif;}
.sm-i{font-size:15px;padding:5px 2px 2px;color:var(--blue2);display:block;}
.sm-b{font-size:10px;font-weight:700;color:var(--blue2);padding:2px 2px 5px;display:block;}

/* cutoff */
.cutoff-bar{margin-top:10px;padding:8px 12px;border-radius:var(--rm);font-size:12px;font-weight:700;display:flex;align-items:center;gap:7px;}
.cutoff-warn{background:var(--amberdim);border:1px solid var(--amber3);color:#78350f;}
.cutoff-off{background:var(--reddim);border:1px solid #fca5a5;color:#7f1d1d;}

/* ── SESSIONS ── */
.pk-sessions{background:#fff;border-top:1px solid var(--n6);padding:12px 14px;}
.ses-row{display:flex;flex-wrap:wrap;gap:8px;}
.ses-opt{position:relative;}
.ses-opt input[type=radio]{position:absolute;opacity:0;pointer-events:none;}
.ses-opt label{display:block;cursor:pointer;border-radius:var(--rs);overflow:hidden;border:2.5px solid var(--n5);min-width:86px;text-align:center;transition:all .14s;}
.ses-opt label:hover{transform:translateY(-2px);box-shadow:var(--sh2);}
.ses-opt label .st{background:var(--red2);color:#fff;padding:5px 12px;font-size:12.5px;font-weight:800;}
.ses-opt label .sn{padding:4px 8px;background:var(--n8);font-size:11px;color:var(--blue);font-weight:700;}
.ses-opt input:checked+label{border-color:var(--blue);box-shadow:0 0 0 3px var(--sky);}
.ses-opt input:checked+label .st{background:var(--blue);}
.ses-opt input:checked+label .sn{color:#b45309;background:var(--amberdim);font-weight:800;}

/* ── MAIN GRID ── */
.pk-grid{display:flex;gap:14px;padding:12px 0 0;align-items:flex-start;}
.pk-left{flex:1;min-width:0;}
.pk-right{width:296px;flex-shrink:0;}
@media(max-width:767px){.pk-grid{flex-direction:column;}.pk-right{width:100%;}}

/* ── CATEGORY CARD ── */
.cat-card{background:#fff;border-radius:var(--r);box-shadow:var(--sh1);border:1px solid var(--n6);overflow:hidden;margin-bottom:12px;transition:box-shadow .18s;}
.cat-card:hover{box-shadow:var(--sh2);}

/* card header */
.cat-hdr{display:flex;align-items:stretch;}
.cat-stripe{width:5px;flex-shrink:0;}
.s-blue{background:linear-gradient(180deg,var(--blue),var(--blue2));}
.s-teal{background:linear-gradient(180deg,#0891b2,#06b6d4);}
.s-indigo{background:linear-gradient(180deg,#4338ca,#6366f1);}
.s-green{background:linear-gradient(180deg,var(--green),var(--green2));}
.s-orange{background:linear-gradient(180deg,#ea580c,#f97316);}
.cat-hdr-body{flex:1;padding:12px 14px;display:flex;align-items:center;gap:10px;}
.cat-ico{width:40px;height:40px;border-radius:10px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:20px;}
.ico-blue{background:linear-gradient(135deg,#dbeafe,#bfdbfe);}
.ico-teal{background:linear-gradient(135deg,#cffafe,#a5f3fc);}
.ico-indigo{background:linear-gradient(135deg,#e0e7ff,#c7d2fe);}
.ico-green{background:linear-gradient(135deg,#d1fae5,#a7f3d0);}
.ico-orange{background:linear-gradient(135deg,#ffedd5,#fed7aa);}
.cat-info{flex:1;}
.cat-name{font-family:'Poppins',sans-serif;font-size:14px;font-weight:700;color:var(--n0);line-height:1.25;margin:0;}
.cat-meta{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin-top:4px;}
.cat-chip{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:700;padding:2px 8px;border-radius:20px;}
.cc-blue{background:var(--sky2);color:var(--navy2);}
.cc-teal{background:#ecfeff;color:#164e63;}
.cc-indigo{background:#eef2ff;color:#3730a3;}
.cc-green{background:var(--greendim);color:#064e3b;}
.cc-orange{background:#fff7ed;color:#7c2d12;}
.rg-btn{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:700;color:var(--blue);background:none;border:none;cursor:pointer;padding:0;font-family:'Nunito',sans-serif;text-decoration:underline dotted;transition:color .12s;}
.rg-btn:hover{color:var(--navy);}
.rg-btn i{font-size:9px;transition:transform .2s;}
.rg-btn.open i{transform:rotate(180deg);}
.rg-body{display:none;background:var(--n8);border-top:1px solid var(--n6);padding:10px 14px 10px 36px;font-size:12px;color:var(--n2);line-height:1.75;}
.rg-body.open{display:block;}

/* age bar */
.cat-age{background:var(--n8);border-top:1px solid var(--n6);border-bottom:1px solid var(--n6);padding:7px 14px;display:flex;flex-wrap:wrap;gap:12px;font-size:11.5px;color:var(--n3);}
.age-pill{display:inline-flex;align-items:center;gap:4px;font-weight:700;}

/* ── PACKAGE TABLE ── */
.pkg-tbl{width:100%;border-collapse:collapse;}
.pkg-tbl thead th{background:var(--n7);color:var(--n3);padding:8px 10px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;text-align:left;border-bottom:2px solid var(--n5);}
.pkg-tbl tbody td{padding:11px 10px;border-bottom:1px solid var(--n7);vertical-align:middle;font-size:13px;}
.pkg-tbl tbody tr:last-child td{border-bottom:none;}
.pkg-tbl tbody tr:hover td{background:#f5f9ff;}
.pkg-tbl tbody tr:hover td:first-child{box-shadow:inset 3px 0 0 var(--amber);}

.pname{font-family:'Poppins',sans-serif;font-size:13.5px;font-weight:700;color:var(--navy2);margin:0 0 2px;}
.pdet{font-size:11px;color:var(--n3);margin:0 0 3px;line-height:1.5;}
.ptag{display:inline-flex;align-items:center;gap:2px;background:var(--amberdim);color:#78350f;border:1px solid var(--amber3);font-size:10px;font-weight:800;padding:1px 7px;border-radius:20px;}
/* special event/occasion name banner — shown above packages on special dates */
.spev-banner{display:flex;align-items:center;gap:8px;background:linear-gradient(90deg,#fdf2f8,#fce7f3);border:1.5px solid #f9a8d4;border-radius:var(--rs);padding:7px 12px;margin:0 0 2px;font-size:12.5px;font-weight:800;color:#9d174d;}
.spev-banner i{color:#ec4899;font-size:13px;}
/* spevname badge injected below cat-name in card header on special dates */
.cat-spev-badge{display:inline-flex;align-items:center;gap:5px;margin-top:4px;background:linear-gradient(90deg,#fdf2f8,#fce7f3);border:1.5px solid #f9a8d4;border-radius:20px;padding:2px 10px;font-size:11px;font-weight:800;color:#9d174d;}
.cat-spev-badge i{color:#ec4899;font-size:10px;}
.pstrike{font-size:11px;color:var(--n4);margin:0 0 1px;}
.pstrike s{color:var(--red2);font-weight:600;}
.save-pct{display:inline-block;background:var(--discdim);color:var(--disc);font-size:10px;font-weight:800;padding:1px 5px;border-radius:5px;margin-left:3px;border:1px solid #fbcfe8;}
.pprice{font-family:'Poppins',sans-serif;font-size:17px;font-weight:800;color:var(--navy2);margin:1px 0 0;}
.no-pkg{padding:20px 10px;text-align:center;color:var(--n4);font-size:12.5px;font-style:italic;}
.esezen-chip{display:inline-flex;align-items:center;gap:3px;font-size:10px;font-weight:700;color:var(--n3);background:var(--n7);border:1px solid var(--n6);padding:1px 7px;border-radius:10px;margin-top:3px;}
.esezen-chip i{color:var(--blue2);font-size:9px;}
.no-pkg-days{margin-top:5px;font-size:11px;color:var(--blue2);font-weight:700;font-style:normal;}

/* qty stepper */
.qrow{display:flex;align-items:center;gap:4px;}
.qb{width:32px;height:32px;border-radius:var(--rs);border:2px solid var(--n5);background:#fff;font-size:18px;font-weight:800;cursor:pointer;color:var(--n2);display:flex;align-items:center;justify-content:center;transition:all .13s;flex-shrink:0;line-height:1;font-family:'Nunito',sans-serif;}
.qb:hover:not(:disabled){background:var(--blue);color:#fff;border-color:var(--blue);}
.qb:disabled{background:var(--n7);color:var(--n5);cursor:not-allowed;border-color:var(--n6);}
.qval{width:40px;height:32px;text-align:center;font-size:15px;font-weight:800;border:2px solid var(--n5);border-radius:var(--rs);background:#fff;color:var(--n0);outline:none;font-family:'Poppins',sans-serif;}
.qval:focus{border-color:var(--blue);}
.amtbadge{font-size:12.5px;font-weight:800;color:var(--green);background:var(--greendim);border:1px solid #6ee7b7;border-radius:var(--rs);padding:4px 8px;min-width:64px;display:inline-block;text-align:right;transition:all .18s;}
.sbadge{font-size:11px;font-weight:700;padding:4px 10px;border-radius:20px;}
/* rmodel=4 purple theme */
.s-purple{background:linear-gradient(180deg,#6d28d9,#7c3aed);}
.ico-purple{background:linear-gradient(135deg,#ede9fe,#ddd6fe);}
.cc-purple{background:#f5f3ff;color:#4c1d95;}
.chip-grp-badge{display:inline-flex;align-items:center;gap:4px;background:#f5f3ff;color:#4c1d95;border:1.5px solid #c4b5fd;font-size:11px;font-weight:800;padding:2px 10px;border-radius:20px;}
.chip-grp-badge i{color:#7c3aed;font-size:10px;}
.chip-food-badge{display:inline-flex;align-items:center;gap:4px;background:#fff7ed;color:#7c2d12;border:1.5px solid #fed7aa;font-size:11px;font-weight:800;padding:2px 10px;border-radius:20px;}
.chip-food-badge i{color:#ea580c;font-size:10px;}
/* infant free-entry note in age bar */
.age-pill-infant{background:linear-gradient(90deg,#f0fdf4,#ecfdf5);border:1.5px solid #6ee7b7;border-radius:20px;padding:3px 12px;color:var(--n2);}
.sb-cl{background:var(--reddim);color:var(--red2);border:1px solid #fca5a5;}
.sb-so{background:var(--n7);color:var(--n3);border:1px solid var(--n5);}

/* ── FIX 4: No-packages fallback table ── */
.nopkg-wrap{background:#fff;border-radius:var(--r);box-shadow:var(--sh1);border:1px solid var(--n6);overflow:hidden;margin-bottom:12px;}
.nopkg-wrap table{width:100%;border-collapse:collapse;}
.nopkg-wrap table th{background:var(--n7);color:var(--n3);padding:9px 12px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--n5);text-align:left;}
.nopkg-wrap table td{padding:11px 12px;border-bottom:1px solid var(--n7);vertical-align:middle;font-size:13px;}
.nopkg-wrap table tr:last-child td{border-bottom:none;}
.nopkg-msg{text-align:center;padding:28px 16px!important;}
.nopkg-msg h4{color:var(--n2);font-size:14px;font-weight:700;margin:0 0 14px;}
.binput01{display:inline-block;padding:6px 10px;border:1.5px solid var(--n5);border-radius:var(--rs);font-family:'Poppins',sans-serif;font-size:14px;font-weight:800;color:var(--navy2);background:var(--n7);width:100px;text-align:right;}
.binput02{width:80px;}

/* ── SUMMARY TABLE ── */
.sum-row td{padding:9px 10px;font-weight:700;font-size:12.5px;border:none;}
.sum-tix td{background:#eff6ff;color:var(--blue);}
.sum-tot td{background:var(--sky2);color:var(--navy);font-size:14px;font-weight:900;}
.sum-disc td{background:var(--discdim);color:var(--disc);display:none;}
.sum-fin td{background:linear-gradient(90deg,var(--sky2),#e0f2fe);color:var(--navy);font-size:15px;font-weight:900;display:none;}
.sum-adv td{background:var(--navy);color:var(--amber3);font-size:11.5px;padding:9px 10px;}
.sum-adv p{margin:2px 0;}
.sum-free td{background:var(--greendim);font-size:11.5px;color:var(--green);font-weight:700;border-top:1px solid #a7f3d0;}
.ti{border:none;background:transparent;font-weight:inherit;color:inherit;font-size:inherit;width:76px;text-align:right;outline:none;font-family:'Poppins',sans-serif;}

/* model divider */
.model-div{display:flex;align-items:center;gap:9px;padding:0 0 10px;font-size:10.5px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;color:var(--n4);margin-top:4px;}
.model-div::before,.model-div::after{content:'';flex:1;height:1.5px;background:var(--n6);}

/* ── ORDER CARD ── */
.ov-card{background:#fff;border-radius:var(--r);box-shadow:var(--sh2);border:1px solid var(--n6);overflow:hidden;}
/* ── Desktop sticky right column ──
   Bootstrap 3's .row uses floats, not flex, so align-self won't work.
   We override the booking form row to use flexbox on ≥768px so that
   position:sticky on the right column actually works. */
@media(min-width:768px){
  .pk-booking-row{
    display:flex!important;
    align-items:flex-start!important;
    flex-wrap:wrap!important;
  }
  .pk-booking-row>.col-sm-8{flex:0 0 66.6667%;max-width:66.6667%;float:none!important;}
  .pk-booking-row>.pk-right-col{flex:0 0 33.3333%;max-width:33.3333%;float:none!important;}
  .pk-right-col{
    position:sticky !important;
    top:110px;
    align-self:flex-start;
    z-index:10;
  }
  .ov-card{
    max-height:calc(100vh - 28px);
    overflow-y:auto;
    scrollbar-width:thin;
    scrollbar-color:var(--n5) transparent;
  }
  .ov-card::-webkit-scrollbar{width:4px;}
  .ov-card::-webkit-scrollbar-thumb{background:var(--n5);border-radius:4px;}
}
.ov-hdr{background:linear-gradient(135deg,var(--navy),var(--navy2));color:#fff;padding:13px 15px;display:flex;justify-content:space-between;align-items:center;}
.ov-hdr-title{font-family:'Poppins',sans-serif;font-size:14px;font-weight:700;}
.ov-hdr-pill{background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.14);font-size:10px;padding:2px 10px;border-radius:20px;font-weight:700;}
.ov-row{display:flex;justify-content:space-between;align-items:center;padding:9px 15px;border-bottom:1px solid var(--n7);font-size:13px;}
.ov-row:last-child{border-bottom:none;}
.ov-lbl{color:var(--n4);font-weight:600;}
.ov-val{font-weight:800;color:var(--navy2);font-family:'Poppins',sans-serif;}
.ov-tot{background:var(--sky2);}.ov-tot .ov-val{font-size:18px;font-weight:900;}
.ov-disc{background:var(--discdim);display:none;}.ov-disc .ov-val{color:var(--disc);font-size:15px;}
.ov-fin{background:linear-gradient(90deg,var(--sky2),#dbeafe);display:none;}.ov-fin .ov-val{font-size:20px;font-weight:900;color:var(--navy);}
.oi{border:none;background:transparent;font-weight:inherit;color:inherit;font-size:inherit;width:95px;text-align:right;outline:none;font-family:'Poppins',sans-serif;}
.ov-adv{margin:7px 13px 4px;padding:9px 11px;border-radius:var(--rs);background:var(--amberdim);border:1px solid var(--amber3);font-size:11.5px;color:#78350f;}
.ov-adv p{margin:2px 0;font-weight:700;}

/* coupon */
.cp-block{padding:11px 15px 5px;border-top:1px solid var(--n6);}
.cp-lbl{font-size:10px;font-weight:800;color:var(--n4);text-transform:uppercase;letter-spacing:.8px;margin-bottom:7px;}
.cp-row{display:flex;gap:6px;}
.cp-in{flex:1;padding:8px 11px;border:2px dashed var(--n5);border-radius:var(--rs);font-size:12.5px;background:var(--amberdim);outline:none;font-family:'Nunito',sans-serif;text-transform:uppercase;letter-spacing:.5px;font-weight:700;transition:border .15s;}
.cp-in:focus{border-color:var(--blue);border-style:solid;background:#fff;}
.cp-btn{padding:8px 14px;background:var(--blue);color:#fff;border:none;border-radius:var(--rs);font-size:12.5px;font-weight:800;cursor:pointer;font-family:'Nunito',sans-serif;flex-shrink:0;transition:all .14s;}
.cp-btn:hover{background:var(--navy2);transform:translateY(-1px);}
.cp-msg{font-size:11.5px;margin-top:6px;padding:6px 9px;border-radius:var(--rs);display:none;font-weight:700;}
.cp-msg.ok{display:block;color:var(--green);background:var(--greendim);border:1px solid #6ee7b7;}
.cp-msg.err{display:block;color:var(--red);background:var(--reddim);border:1px solid #fca5a5;}

/* Book + WhatsApp buttons */
.cta-block{padding:12px 15px 15px;}
.book-btn{display:block;width:100%;padding:13px;border:none;background:linear-gradient(135deg,#c84400,#e85d04,#f59e0b);color:#fff;border-radius:var(--rm);font-family:'Poppins',sans-serif;font-size:14.5px;font-weight:700;cursor:pointer;box-shadow:0 5px 18px rgba(232,93,4,.4);letter-spacing:.3px;text-shadow:0 1px 2px rgba(0,0,0,.2);transition:all .2s;}
.book-btn:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(232,93,4,.5);}
.book-btn:active{transform:translateY(0);}
.wa-btn{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:9px;padding:11px;background:linear-gradient(135deg,#1bba54,#25D366);color:#fff;border-radius:var(--rm);text-decoration:none;font-size:13.5px;font-weight:800;box-shadow:0 3px 12px rgba(37,211,102,.3);transition:all .18s;}
.wa-btn:hover{transform:translateY(-2px);color:#fff;text-decoration:none;box-shadow:0 7px 20px rgba(37,211,102,.4);}

/* ── STICKY BAR ── */
#pk-bar{position:fixed;bottom:0;left:0;right:0;background:#1E437B;color:#fff;box-shadow:0 -5px 24px rgba(5,13,40,.5);z-index:1000;transform:translateY(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);}
#pk-bar.on{transform:translateY(0);}
.bar-top{display:flex;align-items:center;overflow:hidden;padding:4px 14px 3px;border-bottom:1px solid rgba(255,255,255,.07);}
.bpill{background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:2px 10px;font-size:10px;font-weight:700;white-space:nowrap;margin-right:5px;flex-shrink:0;}
.bpill.gold{background:rgba(245,158,11,.2);color:var(--amber2);border-color:rgba(245,158,11,.3);}
.bdot{opacity:.2;margin-right:5px;font-size:11px;flex-shrink:0;}
.bar-main{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 14px 10px;}
.bar-l{flex-shrink:0;}
.bar-lbl{font-size:9px;opacity:.55;letter-spacing:1px;text-transform:uppercase;margin-bottom:1px;}
.bar-amt{font-family:'Poppins',sans-serif;font-size:22px;font-weight:800;letter-spacing:-.5px;line-height:1.1;}
.bar-r{display:flex;align-items:center;gap:6px;}
.bar-cin{width:95px;padding:6px 9px;border:1.5px solid rgba(255,255,255,.2);border-radius:var(--rm);background:rgba(255,255,255,.09);color:#fff;font-size:11px;font-family:'Nunito',sans-serif;outline:none;font-weight:700;}
.bar-cin::placeholder{color:rgba(255,255,255,.3);font-size:10px;}
.bar-cin:focus{border-color:rgba(255,255,255,.5);background:rgba(255,255,255,.14);}
.bar-capply{padding:6px 11px;background:rgba(255,255,255,.12);color:#fff;border:1.5px solid rgba(255,255,255,.2);border-radius:var(--rm);font-size:11px;font-weight:800;cursor:pointer;font-family:'Nunito',sans-serif;transition:background .13s;flex-shrink:0;white-space:nowrap;}
.bar-capply:hover{background:rgba(255,255,255,.22);}
.bar-book{padding:10px 20px;background:linear-gradient(135deg,#c84400,#e85d04);color:#fff;border:none;border-radius:var(--rm);font-family:'Poppins',sans-serif;font-size:13.5px;font-weight:700;cursor:pointer;flex-shrink:0;box-shadow:0 3px 12px rgba(232,93,4,.4);transition:all .13s;white-space:nowrap;}
.bar-book:hover{background:linear-gradient(135deg,#b03b00,#c84400);transform:translateY(-1px);}
.bar-msg{display:none;font-size:10px;padding:0 14px 5px;font-weight:700;}
.bar-msg.ok{display:block;color:#6ee7b7;}
.bar-msg.err{display:block;color:#fca5a5;}
@media(max-width:480px){
  .bar-cin,.bar-capply{display:none;}
  .bar-amt{font-size:18px;}
  .bar-book{padding:9px 15px;font-size:13px;}
}

/* ── INFO CARDS ── */
.info-card{background:#fff;border-radius:var(--r);box-shadow:var(--sh1);border:1px solid var(--n6);overflow:hidden;margin-bottom:12px;}
.info-card-hdr{padding:9px 14px;background:var(--n8);border-bottom:1px solid var(--n6);font-size:11px;font-weight:800;color:var(--n3);text-transform:uppercase;letter-spacing:.6px;}
.info-card-body{padding:13px 14px;font-size:13px;line-height:1.8;color:var(--n1);}

/* ── RESPONSIVE DATE TILES ── */
@media(min-width:769px){.indate01,.indate-more{width:64px;margin-right:4px;}}
@media(max-width:768px) and (min-width:581px){.indate01,.indate-more{width:56px;margin-right:3px;}.indate01 h5{font-size:17px;}.indate01 h6{font-size:10px;}}
@media(max-width:580px) and (min-width:481px){.indate01,.indate-more{width:48px;margin-right:3px;}.indate01 h4{font-size:10px!important;}.indate01 h5{font-size:15px;}.indate01 h6{font-size:9.5px;}}
@media(max-width:480px) and (min-width:361px){.indate01,.indate-more{width:40px;margin-right:2px;}.indate01 h4{font-size:9px!important;}.indate01 h5{font-size:14px;}.indate01 h6{font-size:9px;}}
@media(max-width:360px){.indate01,.indate-more{width:35px;margin-right:2px;}.indate01 h4{font-size:8.5px!important;}.indate01 h5{font-size:12px;}.indate01 h6{font-size:8.5px;}}

/* ── RESPONSIVE GENERAL ── */
@media(max-width:767px){
  .ydeskweb01{display:none !important;}
  .ymobweb01{display:block !important;}

  .pk-hero-title{font-size:14.5px;}
  .pkg-tbl thead th{padding:7px 7px;font-size:9.5px;}
  .pkg-tbl tbody td{padding:9px 7px;font-size:12px;}
  .pname{font-size:12.5px;}
  .pprice{font-size:15px;}
  .amtbadge{font-size:11.5px;min-width:54px;padding:3px 6px;}
  .qb{width:28px;height:28px;font-size:16px;}
  .qval{width:34px;height:28px;font-size:13px;}
  .cat-name{font-size:13px;}
}
@media(max-width:480px){
  .pkg-tbl thead th:nth-child(2){width:15%!important;}
  .pkg-tbl thead th:nth-child(3){width:26%!important;}
  .pkg-tbl thead th:nth-child(4){width:20%!important;}
}