/* Packages page: location picker, package cards, booking popup */
.loc-tools{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;margin-bottom:1.2rem}
.loc-tools input{flex:1 1 260px;max-width:380px;padding:.8rem 1.1rem;border:1.5px solid #d5d5dd;border-radius:999px;font:inherit}
.loc-tools input:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 4px rgba(225,38,45,.15)}
.loc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:.7rem}
.loc-btn{padding:.95rem 1rem;border-radius:var(--r-s);border:1.5px solid var(--line);background:#fff;font:700 1rem var(--font-b);color:var(--ink);cursor:pointer;text-align:left;transition:.15s;position:relative}
.loc-btn:hover{border-color:var(--red);color:var(--red);transform:translateY(-2px);box-shadow:var(--sh-s)}
.loc-btn.on{background:var(--red);border-color:var(--red);color:#fff}
.loc-btn.on::after{content:"";position:absolute;right:.9rem;top:50%;width:.45rem;height:.8rem;border:solid var(--yel);border-width:0 3px 3px 0;transform:translateY(-62%) rotate(45deg)}
.loc-none{padding:1rem;color:var(--mut)}

.pkg-panel{margin-top:3rem;scroll-margin-top:90px}
.pkg-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.6rem}
.pkg-head h2{margin:0}
.tiers{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem;align-items:start}
.tier{background:#fff;border:1px solid var(--line);border-radius:calc(var(--r)*1.2);overflow:hidden;box-shadow:var(--sh-s)}
.tier header{background:var(--ink);color:#fff;padding:1.3rem 1.3rem 1.1rem;position:relative}
.tier header h3{color:#fff;margin:0 0 .15rem;font-size:1.35rem}
.tier header p{margin:0;color:#d4d4dc;font-size:.95rem}
.tier.pop{border-color:var(--red);box-shadow:0 18px 36px -18px rgba(225,38,45,.6)}
.tier.pop header{background:var(--red)}
.tier.pop header p{color:#ffe3e4}
.flag{display:inline-block;background:var(--yel);color:var(--ink);font-weight:800;font-size:.78rem;padding:.2rem .6rem;border-radius:999px;margin-bottom:.5rem}
.tier ul{list-style:none;margin:0;padding:.5rem}
.pk{width:100%;display:grid;grid-template-columns:1fr auto;grid-template-areas:"nm pr" "nm go";gap:.1rem .8rem;align-items:center;padding:.8rem .8rem;border:0;border-radius:var(--r-s);background:none;text-align:left;cursor:pointer;font:inherit;color:var(--ink);transition:background .15s}
.pk:hover{background:var(--red-l)}
.pk .nm{grid-area:nm;font-weight:700}
.pk .nm small{display:block;font-weight:500;color:var(--mut);font-size:.84rem}
.pk .pr{grid-area:pr;font:800 1.25rem var(--font-h);color:var(--red);text-align:right}
.pk .go{grid-area:go;font-size:.8rem;font-weight:700;color:var(--ink);text-align:right;opacity:.55}
.pk:hover .go{opacity:1;color:var(--red)}
.pkg-note{margin-top:1.6rem;padding:1.1rem 1.3rem;background:var(--soft);border-radius:var(--r);color:var(--mut);font-size:.96rem}
.pkg-note b{color:var(--ink)}
.terms{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem;margin-top:2rem}
.terms div{padding:1.3rem;border:1px solid var(--line);border-radius:var(--r);background:#fff}
.terms h3{font-size:1.05rem;margin-bottom:.4rem}
.terms p{margin:0;color:var(--mut);font-size:.95rem}

@media (max-width:1180px){.tiers{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.tiers,.terms{grid-template-columns:1fr}.loc-grid{grid-template-columns:repeat(2,1fr)}}
