/* /lab/home-1/ v2: live sentence hero, calendar day popovers, clear break cards. v2 tokens only. */
.h1-hero .answer{margin-top:var(--spacing-3xl)}
.h1-cal{position:relative}
.h1-hint{margin:calc(-1 * var(--spacing-md)) 0 var(--spacing-2xl)}
.h1-cal .days i[data-d]{cursor:default}
.h1-cal .days i[data-d]:focus{outline:none}
.h1-cal .days i[data-d]:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:-1px;border-radius:8px;z-index:1}
.h1-cal .days i.cur::after{content:"";position:absolute;inset:.08em;border:2px solid var(--ink);border-radius:8px;pointer-events:none}
.h1-cal .days .h.cur::after,.h1-cal .days .l.cur::after{inset:-.06em;border-radius:12px}

/* popover */
.pop{position:absolute;z-index:20;left:0;top:0;width:min(23rem,calc(100% - 16px));background:var(--ink);color:#fff;border-radius:16px;padding:14px 16px;box-shadow:var(--shadow-xl);
  font-size:var(--text-sm);line-height:1.45;--ax:50%}
.pop::before{content:"";position:absolute;left:var(--ax);width:12px;height:12px;background:inherit;transform:translateX(-50%) rotate(45deg);border-radius:2px;top:-5px}
.pop.up::before{top:auto;bottom:-5px}
.pop p{margin:0 0 6px;color:rgba(255,255,255,.88)}.pop p:last-child{margin:0}
.pop b{color:#fff}
.pop .pp-t{font-size:var(--text-md);font-weight:800;color:#fff;letter-spacing:-.01em}
.pop .pp-d{font-size:var(--text-xs);font-weight:700;letter-spacing:.02em;color:var(--sun-200)}
.pop .pp-m{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.pop .pp-m span{font-size:var(--text-xs);font-weight:800;padding:2px 8px;border-radius:var(--radius-full);background:rgba(255,255,255,.12);color:#fff}
.pop .pp-m span:first-child{background:var(--color-day-leave)}
.pop .pp-m span:empty{display:none}
.pop.pop-n,.pop.pop-h{width:auto;max-width:min(20rem,calc(100% - 16px));padding:8px 12px}
.pop.pop-n{background:#fff;color:var(--color-text-secondary);border:1px solid var(--gray-300);box-shadow:var(--shadow-md)}
.pop.pop-n::before{background:#fff;border-left:1px solid var(--gray-300);border-top:1px solid var(--gray-300)}
.pop.pop-n.up::before{border:0;border-right:1px solid var(--gray-300);border-bottom:1px solid var(--gray-300)}
.pop.pop-n .pp-d{color:var(--color-text-secondary);font-weight:600}
.pop.pop-h{background:var(--color-day-holiday-solid)}
.pop.pop-h .pp-d{color:rgba(255,255,255,.85)}
@media (prefers-reduced-motion:no-preference){.pop:not([hidden]){animation:pop-in .16s cubic-bezier(.2,.8,.2,1)}}
@keyframes pop-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}

/* break cards */
.h1-top{margin-top:var(--spacing-5xl)}
.h1-top h2{margin:0 0 var(--spacing-xs)}
.h1-top>p{margin:0 0 var(--spacing-2xl)}
.bks{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,19rem),1fr));gap:var(--spacing-xl)}
.bk{display:flex;flex-direction:column;gap:var(--spacing-md);height:100%;text-decoration:none;color:var(--color-text-secondary);background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-4xl);
  padding:var(--spacing-2xl);box-shadow:var(--shadow-sm);transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s,border-color .2s}
.bk:hover,.bk:focus-visible{transform:translateY(-3px);box-shadow:var(--shadow-xl);border-color:var(--ink);color:var(--color-text-secondary)}
.bk-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.bk-rank{font-size:var(--text-sm);font-weight:800;color:var(--gray-500);font-variant-numeric:tabular-nums}
.bk .away{font-size:var(--text-xs)}
.bk-name{font-size:var(--text-lg);line-height:1.3;font-weight:800;color:var(--ink);letter-spacing:-.01em}
.bk-deal{display:flex;flex-direction:column;gap:2px}
.bk-book{align-self:flex-start;font-weight:800;color:#fff;background:var(--color-day-leave);border-radius:10px;padding:2px 10px;font-size:var(--text-md)}
.bk-get{font-size:var(--text-xl);line-height:1.25;font-weight:800;color:var(--ink);letter-spacing:-.02em}
.bk-rib{display:flex;flex-wrap:wrap;row-gap:6px;margin:var(--spacing-xs) 0}
.bc{flex:0 0 3.8em;display:flex;flex-direction:column;align-items:center;gap:3px;position:relative;font-size:.75rem;padding-bottom:2px}
.bc em{font-style:normal;font-size:.6875rem;font-weight:700;color:var(--gray-500)}
.bc b{position:relative;z-index:0;display:flex;align-items:center;justify-content:center;width:100%;height:2em;font-size:.875rem;font-weight:800;color:var(--gray-700);font-variant-numeric:tabular-nums}
.bc b::after{content:"";position:absolute;inset:.15em 0;z-index:-2;background:var(--color-day-range)}
.bc:first-child b::after{border-radius:999px 0 0 999px}.bc:last-child b::after{border-radius:0 999px 999px 0}
.bc.h b,.bc.l b{color:#fff}
.bc.h b::before,.bc.l b::before{content:"";position:absolute;z-index:-1;top:50%;left:50%;width:1.95em;height:1.95em;transform:translate(-50%,-50%);border-radius:50%;background:var(--color-day-holiday-solid)}
.bc.l b::before{border-radius:28%;background:var(--color-day-leave)}
.bc small{font-size:.625rem;line-height:1.15;font-weight:700;text-align:center;min-height:1.15em;white-space:nowrap}
.bc.l small{color:var(--pink-700);text-transform:uppercase;letter-spacing:.04em}
.bc.h small{color:var(--brand-700)}
.bk-facts{display:grid;gap:6px;margin-top:auto;padding-top:var(--spacing-md);border-top:1px solid var(--gray-200);font-size:var(--text-sm);color:var(--ink)}
.bk-facts span{display:grid;grid-template-columns:5.5em minmax(0,1fr);gap:8px}
.bk-facts em{font-style:normal;color:var(--color-text-tertiary);font-weight:600}
.bk-cta{font-size:var(--text-sm);font-weight:700;color:var(--brand-700);text-decoration:underline;text-underline-offset:3px}
.bk.first{border:2px solid var(--ink);box-shadow:var(--shadow-offset);background:linear-gradient(135deg,#fff 55%,var(--brand-50))}
.bk.first:hover,.bk.first:focus-visible{box-shadow:0 8px 0 var(--ink)}
.bk.first .bk-rank{color:var(--ink);background:var(--color-sticker);padding:3px 10px;border-radius:var(--radius-full)}
@media (min-width:880px){
  .bk.first{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);grid-template-areas:"top rib" "name rib" "deal rib" "facts facts" "cta cta";column-gap:var(--spacing-4xl);padding:var(--spacing-3xl)}
  .bk.first .bk-top{grid-area:top}.bk.first .bk-name{grid-area:name;font-size:var(--display-xs)}.bk.first .bk-deal{grid-area:deal}
  .bk.first .bk-rib{grid-area:rib;align-self:center;font-size:1.15rem}.bk.first .bk-facts{grid-area:facts;grid-template-columns:repeat(3,minmax(0,1fr))}
  .bk.first .bk-facts span{grid-template-columns:1fr;gap:2px}.bk.first .bk-cta{grid-area:cta;margin-top:var(--spacing-md)}
  .bk.first .bk-get{font-size:var(--display-xs)}
}
.hc1v2 .ad-slot{margin-top:var(--spacing-5xl)}
@media (prefers-reduced-motion:no-preference){
  .js .bks .bk{animation:hc-up .7s cubic-bezier(.2,.8,.2,1) backwards;animation-delay:calc(var(--k)*60ms)}
  .js .h1-cal .year.lit .days .h::before,.js .h1-cal .year.lit .days .l::before{animation:hc-dot .45s cubic-bezier(.2,.9,.3,1.4) both;animation-delay:calc(var(--i)*50ms + .15s)}
}

/* featured #1 card, attached to (overlapping) the bottom of the violet hero */
.h1-hero{padding-bottom:calc(var(--spacing-5xl) + 3.5rem)}
.h1-hero:has(+ .h1-feat[hidden]){padding-bottom:var(--spacing-5xl)}
.h1-feat{position:relative;z-index:1;margin:-4.5rem var(--spacing-2xl) 0}
.h1-feat[hidden]{display:none}
.h1-feat .bks{grid-template-columns:minmax(0,1fr)}
.h1-feat + .h1-cal{margin-top:var(--spacing-3xl)}
@media (max-width:639px){.h1-hero{padding-bottom:calc(var(--spacing-3xl) + 3rem)}.h1-feat{margin:-3.25rem var(--spacing-md) 0}}

/* v4: calendar header with year switcher (segmented pill, synced with the hero year dropdown) */
.h1-calh{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--spacing-md) var(--spacing-xl);margin-bottom:var(--spacing-lg)}
.h1-calh h2{margin:0}
.yseg{position:relative;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;padding:4px;border-radius:var(--radius-full);background:var(--gray-100);border:1px solid var(--gray-200);isolation:isolate}
.yseg[hidden]{display:none}
.yseg-th{position:absolute;z-index:-1;top:4px;bottom:4px;left:4px;width:calc((100% - 8px) / var(--n));border-radius:var(--radius-full);background:var(--ink);box-shadow:0 2px 0 var(--brand-700);
  transform:translateX(calc(var(--k) * 100%));transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.yseg button{appearance:none;border:0;background:none;font:inherit;font-size:var(--text-sm);font-weight:800;font-variant-numeric:tabular-nums;color:var(--gray-600);
  min-height:40px;min-width:4.5em;padding:0 var(--spacing-xl);border-radius:var(--radius-full);cursor:pointer;transition:color .2s}
.yseg button:hover{color:var(--ink)}
.yseg button[aria-pressed="true"]{color:#fff}
.yseg button:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:2px}
@media (prefers-reduced-motion:reduce){.yseg-th{transition:none}}
.h1-cal .h1-hint{margin:0 0 var(--spacing-2xl)}

/* v4: past months drawer (current year only) */
.h1-past{margin:0 0 var(--spacing-2xl)}
.h1-past[hidden]{display:none}
.h1-past details{border:0;background:none;border-radius:0;margin:0}
.h1-past summary{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;column-gap:var(--spacing-sm);row-gap:0;position:relative;list-style:none;cursor:pointer;min-height:48px;padding:var(--spacing-md) calc(var(--spacing-lg) + 28px) var(--spacing-md) var(--spacing-xl);
  border:1px dashed var(--gray-300);border-radius:var(--radius-2xl);background:var(--gray-50);color:var(--ink);font-weight:700;font-size:var(--text-sm);transition:background .2s,border-color .2s}
.h1-past summary::-webkit-details-marker{display:none}
.h1-past summary::after{content:none;display:none}
.h1-past-t,.h1-past-r{white-space:nowrap}
.h1-past summary:hover{background:#fff;border-color:var(--gray-400)}
.h1-past summary:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:2px}
.h1-past-r{color:var(--color-text-tertiary);font-weight:600}
.h1-past-c{position:absolute;right:var(--spacing-lg);top:50%;margin-top:-10px;width:20px;height:20px;color:var(--gray-500);transition:transform .25s}
.h1-past details[open] summary{border-style:solid;background:#fff}
.h1-past details[open] .h1-past-c{transform:rotate(180deg)}
.h1-past .year.past{margin-top:var(--spacing-2xl);padding-bottom:var(--spacing-2xl);border-bottom:1px solid var(--gray-200);opacity:.72}
@media (prefers-reduced-motion:no-preference){.h1-past details[open] .year.past{animation:h1-past-in .35s cubic-bezier(.2,.8,.2,1)}}
@keyframes h1-past-in{from{opacity:0;transform:translateY(8px)}}

/* v5: "Custom amount" leave dialog (opens from the last option of the hero leave dropdown) */
.cust{position:fixed;inset:auto;margin:0;max-width:none;left:50%;top:20vh;width:min(22rem,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;padding:0;
  color:var(--color-text-secondary);background:#fff;border:var(--outline);border-radius:24px;box-shadow:var(--shadow-offset)}
.cust:not([open]){display:none}
.cust::backdrop{background:rgba(24,16,48,.32)}
.cust.sheet{left:12px;right:12px;top:max(16px,8vh);width:auto}
.cust-f{display:flex;flex-direction:column;padding:var(--spacing-xl) var(--spacing-2xl) var(--spacing-2xl)}
.cust-h{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md)}
.cust-k{font-size:var(--text-xs);font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);background:var(--color-sticker);padding:3px 10px;border-radius:var(--radius-full)}
.cust-x{flex:none;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;margin-right:-8px;padding:0;border:0;border-radius:50%;background:none;color:var(--gray-600);cursor:pointer}
.cust-x:hover{background:var(--gray-100);color:var(--ink)}.cust-x svg{width:20px;height:20px}
.cust-t{margin:var(--spacing-md) 0 var(--spacing-xs);font-size:var(--text-xl);line-height:1.25;font-weight:800;color:var(--ink);letter-spacing:-.01em}
.cust-d{margin:0 0 var(--spacing-xl);font-size:var(--text-sm);line-height:1.45}
.cust-l{font-size:var(--text-sm);font-weight:700;color:var(--ink);margin-bottom:var(--spacing-xs)}
.cust-row{display:flex;align-items:center;gap:var(--spacing-md);min-height:56px;padding:0 var(--spacing-lg) 0 0;border:2px solid var(--ink);border-radius:16px;background:#fff;
  box-shadow:0 3px 0 var(--ink);transition:box-shadow .15s,border-color .15s}
.cust-row:focus-within{border-color:var(--brand-600);box-shadow:0 3px 0 var(--brand-700),0 0 0 4px var(--brand-200)}
.cust-n{flex:1 1 auto;min-width:0;width:100%;align-self:stretch;border:0;outline:0;background:none;padding:0 var(--spacing-lg);font:800 1.625rem/1 var(--font-family-body);color:var(--brand-700);font-variant-numeric:tabular-nums}
.cust-u{flex:none;font-weight:700;color:var(--gray-500)}
.cust.bad .cust-row{border-color:var(--pink-700);box-shadow:0 3px 0 var(--pink-700)}
.cust-e{margin:var(--spacing-sm) 0 0;min-height:0;font-size:var(--text-sm);font-weight:700;color:var(--pink-700)}
.cust-e:empty{display:none}
.cust-a{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--spacing-md);margin-top:var(--spacing-xl)}
.cust-a .btn{flex:1 1 7rem}
@media (prefers-reduced-motion:no-preference){.cust[open]{animation:pop-in .18s cubic-bezier(.2,.8,.2,1)}}

/* live pages (DECISIONS #26): homepage "Pick your country" / "How it works", country page year links, breadcrumb */
.h1-more{margin-top:var(--spacing-5xl)}
.h1-more>h2{margin:0 0 var(--spacing-xl)}
.h1-crumbs{margin-bottom:var(--spacing-xl)}
