/* paygesim.com — universal stylesheet
   Design tokens, base typography and shared element styles for every page.
   Page layout stays inline on each page so content paints immediately. */

:root{
  /* brand */
  --pg-ink:#05052c;            /* headings, primary text */
  --pg-body:#4b5060;           /* body copy */
  --pg-muted:#6f7480;          /* secondary copy */
  --pg-faint:#8b909c;          /* captions */
  --pg-pink:#d1476b;           /* primary action / accent */
  --pg-pink-dark:#ae3557;      /* accent hover */
  --pg-violet:#5b2bd9;         /* link hover, secondary accent */
  --pg-violet-dark:#3f1fae;
  --pg-hero-a:#5b0fb0;         /* hero gradient start */
  --pg-hero-b:#1d4ed8;         /* hero gradient end */

  /* surfaces */
  --pg-white:#ffffff;
  --pg-band:#faf9f6;           /* tinted section band */
  --pg-tint:#f3f1ff;           /* highlighted column / chip */
  --pg-line:#ececee;           /* hairline */
  --pg-line-soft:#f2f2f6;
  --pg-border:#e7e8ec;         /* card border */

  /* type */
  --pg-font:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',sans-serif;

  /* radii + shadows */
  --pg-r-sm:12px; --pg-r-md:16px; --pg-r-lg:20px; --pg-r-pill:999px;
  --pg-shadow-card:0 2px 6px rgba(5,5,44,.04),0 18px 44px rgba(5,5,44,.06);
  --pg-shadow-soft:0 1px 2px rgba(5,5,44,.05),0 10px 26px rgba(5,5,44,.05);

  /* bootstrap overrides */
  --bs-primary:#d1476b;--bs-primary-rgb:209,71,107;
  --bs-body-font-family:var(--pg-font);
  --bs-body-color:#05052c;--bs-body-bg:#ffffff;--bs-secondary-color:#6f7480;
  --bs-border-color:#ececee;--bs-border-radius:1rem;--bs-link-decoration:none;
}

/* base */
html,body{background:var(--pg-white)}
body{font-family:var(--bs-body-font-family);color:var(--pg-ink);text-wrap:pretty}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}

/* high-definition text rendering */
html,body,button,input,select,textarea{
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
  font-synthesis-weight:none;
  font-optical-sizing:auto;
  font-feature-settings:"kern" 1,"liga" 1;
  font-kerning:normal;
}
h1,h2,h3,h4,h5,h6{font-synthesis:none}
img,svg{image-rendering:-webkit-optimize-contrast}

/* headings + links */
h1,h2,h3,h4{margin:0;letter-spacing:-.02em}
a{color:var(--pg-pink);text-decoration:none}
a:hover{color:var(--pg-pink-dark)}

/* forms + focus */
input,select,textarea,button{font-family:inherit}
.btn:focus-visible,.nav-link:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:2px solid var(--pg-pink);outline-offset:2px
}
.navbar-toggler:focus{box-shadow:none}

/* accessibility */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;transition-duration:.01ms !important}
}

/* ---------------------------------------------------------------
   Components — rules that cannot be expressed inline.
   pm-dest   destination card: price reveals on hover
   pm-see    show more / show less toggle label + chevron
   pm-sticky sticky table of contents on the legal pages
   pm-qty    cart quantity stepper, disabled state
   pm-scroll horizontal scroller with the scrollbar hidden
   pm-hero-search  search field on the gradient hero
   --------------------------------------------------------------- */

input::placeholder,textarea::placeholder{color:#a3a7b0}

.pm-scroll{scrollbar-width:none}
.pm-scroll::-webkit-scrollbar{display:none}

.pm-hero-search input::placeholder{color:rgba(255,255,255,.72)}
.pm-hero-search:focus-within{border-color:rgba(255,255,255,.9)}

.pm-qty:disabled{opacity:.35;cursor:not-allowed}

.pm-dest .px{opacity:0;transition:opacity .18s ease}
.pm-dest .lbl{transition:opacity .18s ease}
.pm-dest:hover .px,.pm-dest:focus-visible .px{opacity:1}
.pm-dest:hover .lbl,.pm-dest:focus-visible .lbl{opacity:0}
@media (hover:none){
  .pm-dest .px{position:static;opacity:1;font-size:13px;font-weight:500;color:var(--pg-muted);display:block}
  .pm-dest .lbl{opacity:1}
}

.pm-see .lbl-less,.pm-see.collapsed .lbl-more{display:inline}
.pm-see .lbl-more,.pm-see.collapsed .lbl-less{display:none}
.pm-see .bi-chevron-down{transform:rotate(180deg);transition:transform .2s ease}
.pm-see.collapsed .bi-chevron-down{transform:rotate(0)}

@media (min-width:992px){.pm-sticky{position:sticky;top:24px}}


/* hover states lifted out of style-hover attributes */
.h0:hover{background:rgba(255,255,255,.24)}
.h1:hover{border-color:#dfe1e6;color:#d1476b}
.h2:hover{border-color:#dfe1e6}
.h3:hover{background:#b93a5b}
.h4:hover{border-color:#d1476b;color:#d1476b}
.h5:hover{border-color:#5b2bd9;color:#5b2bd9}
.h6:hover{background:#5b2bd9;color:#fff;border-color:#5b2bd9}
.h7:hover{color:#5b2bd9}
.h8:hover{background:#f7f2ff}
.h9:hover{background:#fff;color:#05052c;border-color:#fff}
.h10:hover{border-color:#dfe1e6;box-shadow:0 10px 24px rgba(5,5,44,.07)}
.h11:hover{border-color:#dfe1e6;box-shadow:0 12px 28px rgba(5,5,44,.08)}
.h12:hover{opacity:.94}
.h13:hover{background:#186139}
.h14:hover{background:#f1eeff}
.h15:hover{background:rgba(255,255,255,.26)}
.h16:hover{border-color:#dfe1e6;box-shadow:0 14px 30px rgba(5,5,44,.09)}
.h17:hover{background:#f5f2fe;opacity:1}
.h18:hover{filter:brightness(1.08)}
.h19:hover{color:#3f1fae}
.h20:hover{background:#d1476b;color:#fff}
.h21:hover{border-color:#6f7096}
.h22:hover{background:#1b1b4d}
.h23:hover{color:#d1476b}
.h24:hover{border-color:#c9ccd4}
.h25:hover{background:#05052c;color:#fff}
.h26:hover{background:#b83a5b}
.h27:hover{border-color:#05052c}
.h28:hover{color:#05052c}
.h29:hover{background:#f5f6f8}
.h30:hover{background:#f5f6f8;color:#d1476b}

/* ---------------------------------------------------------------
   Destination autocomplete (assets/search.js)
   Rendered on <body> as a fixed layer, because an ancestor with
   overflow:hidden would otherwise clip it. Styled on the design's
   own tokens.
   --------------------------------------------------------------- */
.pg-ac{
  position:fixed;
  z-index:2147483000;
  background:var(--pg-white);
  border:1px solid var(--pg-line);
  border-radius:var(--pg-r-lg);
  box-shadow:var(--pg-shadow-card);
  overflow:hidden auto;
  text-align:left;
}
.pg-ac-item{
  display:flex; align-items:center; gap:12px;
  padding:11px 16px;
  color:var(--pg-ink); text-decoration:none;
  border-bottom:1px solid var(--pg-line-soft);
}
.pg-ac-item:last-child{border-bottom:0}
.pg-ac-item:hover,.pg-ac-item.is-active,.pg-ac-item:focus-visible{
  background:var(--pg-tint); color:var(--pg-ink);
}
.pg-ac-item img{border-radius:4px;object-fit:cover;box-shadow:0 0 0 1px rgba(5,5,44,.08);flex:0 0 auto}
.pg-ac-globe{
  width:26px;height:18px;border-radius:4px;background:var(--pg-tint);color:var(--pg-violet);
  display:inline-flex;align-items:center;justify-content:center;font-size:11px;flex:0 0 auto;
}
.pg-ac-name{
  flex:1 1 auto;min-width:0;font-size:15px;font-weight:600;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.pg-ac-name b{color:var(--pg-violet);font-weight:800}
.pg-ac-price{font-size:13px;color:var(--pg-muted);white-space:nowrap;flex:0 0 auto}
.pg-ac-empty{margin:0;padding:16px;font-size:14.5px;color:var(--pg-muted);text-align:center}
@media (max-width:575.98px){
  .pg-ac{border-radius:var(--pg-r-md)}
  .pg-ac-item{padding:10px 13px;gap:10px}
  .pg-ac-name{font-size:14px}
  .pg-ac-price{font-size:12px}
}
