/* Phase 4 extras: toasts, skeletons, timeline, chips, package pages, gallery masonry, empty states */
.toasts{position:fixed;top:14px;right:14px;z-index:3000;display:flex;flex-direction:column;gap:.5rem;max-width:min(92vw,360px)}
.toast-x{background:#fff;border-left:5px solid var(--gold);border-radius:.7rem;padding:.7rem 2rem .7rem 1rem;box-shadow:0 10px 30px rgba(0,0,0,.18);position:relative;animation:toastin .35s cubic-bezier(.22,.8,.3,1);color:var(--ink)}
.toast-x.success{border-left-color:#1d8f4e}.toast-x.danger,.toast-x.error{border-left-color:#b3261e}.toast-x.warning{border-left-color:var(--saffron)}
.toast-x button{position:absolute;top:.2rem;right:.4rem;border:0;background:none;font-size:1.3rem;line-height:1}@keyframes toastin{from{opacity:0;transform:translateX(30px)}}
.js .alert[data-toast]{display:none}
@keyframes sk{to{background-position:-200% 0}}
.ph,img[loading=lazy]:not(.loaded){background:linear-gradient(100deg,var(--champ) 30%,#fff6e0 50%,var(--champ) 70%) 0 0/200% 100%}
img[loading=lazy]:not(.loaded){animation:sk 1.4s linear infinite}
.chip{display:inline-block;background:var(--champ);color:var(--royal);border:1px solid var(--gold);border-radius:2rem;padding:.05rem .7rem;font-size:.8rem;font-weight:600}
.btn-chip{display:inline-block;border:2px solid var(--gold);border-radius:2rem;padding:.25rem .95rem;font-weight:600;text-decoration:none;background:#fff;color:var(--royal);transition:background .25s,color .25s}
.btn-chip:hover,.btn-chip.on{background:var(--gold);color:#fff}.filters{margin-bottom:1.4rem}
.empty{text-align:center;padding:2rem;max-width:560px;margin:1rem auto}
.timeline{list-style:none;margin:0;padding:0 0 0 1.6rem;position:relative}.timeline::before{content:"";position:absolute;left:.55rem;top:.4rem;bottom:.4rem;width:2px;background:linear-gradient(var(--gold),var(--saffron))}
.timeline li{position:relative;margin-bottom:1.2rem;background:#fff;border-radius:.9rem;padding:.8rem 1rem;box-shadow:var(--shadow)}
.timeline li::before{content:"";position:absolute;left:-1.5rem;top:1.05rem;width:.8rem;height:.8rem;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px var(--champ)}
.tl-day{font-size:.78rem;font-weight:700;color:var(--gold);text-transform:uppercase;letter-spacing:.06em}
.facts dt{font-weight:600;color:var(--royal);font-size:.85rem;margin-top:.5rem}.facts dd{margin:0}
.cmp-bar{position:fixed;left:50%;bottom:76px;transform:translateX(-50%);z-index:1045;display:flex;gap:.6rem;align-items:center;padding:.5rem .9rem;border-radius:2rem;max-width:94vw}
@media(min-width:992px){.cmp-bar{bottom:24px}}.cmp-bar[hidden]{display:none}.btn.disabled{pointer-events:none;opacity:.5}
.g-grid{grid-auto-flow:dense}@media(min-width:576px){.g-item.feat{grid-column:span 2}}
.breadcrumb{background:transparent;padding:0;margin-bottom:1rem;font-size:.92rem}.breadcrumb-item+.breadcrumb-item::before{color:var(--gold)}
body:not(.home) main>.section:first-child{padding-top:2.2rem}
.btn-mag{will-change:transform}

.scroll-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:3500;background:linear-gradient(90deg,var(--gold),var(--saffron),var(--plum));transform:scaleX(0);transform-origin:left;pointer-events:none}
html[data-motion=off] .scroll-progress{display:none}
