/* PetPolicyCheck shared theme (design C): tokens, fonts, wallpaper, header, footer, buttons.
   Loaded by every page (home + build.py pages) BEFORE the page stylesheet (home-c.css on the home, /style.css elsewhere). */
@font-face{font-family:"Marcellus";src:url(../fonts/marcellus-latin.woff2) format("woff2");font-display:swap}
@font-face{font-family:"Inter";src:url(../fonts/inter-var-latin.woff2) format("woff2");font-weight:400 800;font-display:swap}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}
body{margin:0;font:16px/1.6 var(--text);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;position:relative}
body::before{content:"";position:fixed;inset:0;background:var(--wall);background-size:var(--wall-size,150px);pointer-events:none;z-index:0}
body>*{position:relative;z-index:1}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}
a{color:var(--link)}
h1,h2,h3{font-family:var(--disp);font-weight:var(--hw,400);color:var(--head);margin:0}
/* header */
.top{position:sticky;top:0;z-index:30;background:var(--hdr);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;gap:20px;min-height:66px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;flex:none}
.brand .wm{font-family:var(--disp);font-size:1.35rem;color:var(--head);font-weight:var(--hw,400)}.brand .wm span{color:var(--acc)}
.nav{display:flex;gap:4px;margin-left:auto;overflow-x:auto;scrollbar-width:none}
.nav a{white-space:nowrap;text-decoration:none;color:var(--ink);font-weight:500;font-size:.93rem;padding:8px 11px;border-radius:var(--r-s)}
.nav a:hover,.nav a[aria-current]{background:var(--chip);color:var(--head)}
.nav a.cta{background:var(--pri);color:var(--on-pri)}
.nav a.nav-book{color:var(--pri);font-weight:700;box-shadow:inset 0 0 0 1.5px var(--pri)}.nav a.nav-book:hover,.nav a.nav-book[aria-current]{background:var(--pri);color:var(--on-pri)}
.btn.book-cta{background:linear-gradient(180deg,#f0d58c,#d9b765 55%,#c49a45);color:var(--on-pri);font-weight:700;padding:16px 28px;font-size:.9rem;box-shadow:0 0 0 1px #f0d58c,0 0 0 4px #0b1719,0 0 0 5px #d9b76599,0 10px 28px #d9b76533}
.btn.book-cta:hover{background:linear-gradient(180deg,#f7e2a6,#e3c27a 55%,#d0a650)}
.btn{display:inline-flex;align-items:center;gap:8px;border:0;cursor:pointer;font:600 .98rem var(--text);padding:12px 20px;border-radius:var(--r-b);text-decoration:none;background:var(--pri);color:var(--on-pri)}
.btn.ghost{background:transparent;color:var(--head);box-shadow:inset 0 0 0 1.5px var(--line2)}
.btn svg{width:18px;height:18px;fill:currentColor}
.foot{margin-top:40px;background:var(--foot);color:var(--foot-ink);padding:36px 0 50px;font-size:.88rem}
.foot a{color:var(--foot-ink)}.foot .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:24px}.foot h4{margin:0 0 8px;font:700 .75rem var(--text);letter-spacing:.1em;text-transform:uppercase;opacity:.7}
.foot ul{list-style:none;margin:0;padding:0}.foot li{margin:4px 0}.foot .wm{font-family:var(--disp);font-size:1.25rem}
:root{--bg:#0b1719;--paper:#11252a;--ink:#ece4d0;--mut:#a7b0a2;--head:#f5ecd6;--link:#e3c27a;--pri:#d9b765;--on-pri:#0b1719;--acc:#d9b765;
--line:#23413f;--line2:#3a5a56;--chip:#173236;--zebra:#142c31;--hdr:#0b1719e6;--foot:#071012;--foot-ink:#cfc6b0;--panel-h:#0f2226;--panel-h-ink:#f5ecd6;
--ocean:#08161a;--land:#1f3d42;--land-h:#2f5a5f;--land-data:#b38a35;--land-data-h:#d9b765;--sel:#f0d58c;--border:#0b1719;--grat:#12292d;--arc:#d9b765;
--plane-bg:#d9b765;--plane-bg-h:#f0d58c;--plane-fg:#0b1719;--plane-ring:#0b1719;--ok:#9fd6a0;--ok-bg:#1d3b2a;--no:#f0a3a3;--no-bg:#3b1d22;
--disp:"Marcellus",Georgia,serif;--text:"Inter",system-ui,sans-serif;--r-s:6px;--r-m:10px;--r-l:14px;--r-b:4px;--shadow:0 30px 60px #0008;--shadow-s:none}
.btn{text-transform:uppercase;letter-spacing:.1em;font-size:.82rem;padding:14px 22px}
:root{--wall-size:220px}
.brand .lbadge{flex:none;width:72px;height:54px;border-radius:14px;background:#fdf8ef;box-shadow:0 0 0 1.5px #d9b765,0 0 0 4px #0b1719,0 0 0 5px #d9b76555;display:grid;place-items:center;overflow:hidden}
.brand .lbadge img{width:62px;height:auto;display:block}
@media (max-width:820px){.brand .lbadge{width:62px;height:47px;border-radius:12px}.brand .lbadge img{width:54px}}
:root{--wall:url("../img/wallpaper-tile.png")}
@media (max-width:820px){.wrap{padding:0 16px}.top .wrap{gap:10px;min-height:58px;flex-wrap:wrap;padding-top:8px}.nav{width:100%;margin:0 -16px;padding:0 12px 8px}.brand .wm{font-size:1.15rem}.foot .cols{grid-template-columns:1fr 1fr}}
/* Header (fix6 v3): logo + 10 nav links in one row; under 1100px they collapse into the "Menu" dropdown (which adds Advertise).
   Below the header line: a row of three 300×250 units (one column under 700px). */
.top .wrap{position:relative}
.top .nav.menu{margin-left:auto;gap:2px}
.top .nav a.menu-only{display:none}
.menu-btn{display:none;flex:none;align-items:center;gap:8px;min-height:44px;margin-left:auto;padding:0 14px;border-radius:var(--r-s);border:1px solid var(--line2);background:var(--chip);color:var(--head);font:600 .9rem var(--text);cursor:pointer}
.menu-btn svg{fill:currentColor}.menu-btn:hover,.menu-btn[aria-expanded="true"]{border-color:var(--pri);color:var(--pri)}
.menu-btn:focus-visible,.top .nav.menu a:focus-visible{outline:3px solid #f0d58c;outline-offset:2px}
@media (max-width:1279px){.top .wrap{gap:14px}.top .nav.menu a{padding:8px 8px;font-size:.88rem}}
@media (max-width:1099px){
 .menu-btn{display:inline-flex}
 .top .nav.menu{display:none;position:absolute;right:24px;top:calc(100% - 4px);z-index:40;flex-direction:column;gap:2px;width:250px;margin:0;padding:8px;overflow:visible;background:var(--paper);border:1px solid var(--line2);border-radius:var(--r-m);box-shadow:0 18px 40px #000a}
 .top .nav.menu.open{display:flex}
 .top .nav.menu a{padding:10px 12px;font-size:.98rem}
 .top .nav.menu a.menu-only{display:block}
 .top .nav.menu a.nav-book,.top .nav.menu a.cta{margin:4px 0;text-align:center}}
@media (max-width:820px){.top .wrap{flex-wrap:nowrap;padding-top:0}.brand{margin-right:auto}.menu-btn{padding:0 12px}
 .top .nav.menu{right:16px;left:16px;width:auto;top:calc(100% - 2px)}}
.hdr-band{padding:14px 0 10px}
.hdr-ad{display:flex;justify-content:center}
.hdr-box{position:relative;width:728px;height:90px;min-height:90px;max-width:100%;display:flex;align-items:center;justify-content:center;overflow:hidden}
.hdr-ins{display:block;width:728px;height:90px;min-height:90px}
.hdr-ad .adl{position:absolute;inset:auto auto 50% 50%;transform:translate(-50%,50%);font:600 .64rem var(--text);letter-spacing:.16em;text-transform:uppercase;color:var(--mut);opacity:.7;pointer-events:none}
.hdr-ad.empty .hdr-box{border:1px dashed #d9b76566;border-radius:var(--r-s);background:#d9b76508}
@media (max-width:767px){.hdr-band{padding:10px 0 4px}.hdr-box,.hdr-ins{width:320px;height:100px;min-height:100px}}
/* Content-width empty ad frames (728 max, fixed min-height). Not used inside the Paw Passport intro. */
.adframe{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:100%;max-width:728px;min-height:90px;margin:28px auto;padding:12px 16px;box-sizing:border-box;border:1px dashed #d9b76599;border-radius:var(--r-s,10px);background:#d9b7650d;text-align:center;overflow:hidden}
.adframe .adl{font:600 .64rem var(--text,inherit);letter-spacing:.16em;text-transform:uppercase;color:var(--mut,#a7b0a2);opacity:.8;pointer-events:none}
.adframe-cta{font-weight:600;text-decoration:none;border-bottom:1px dotted currentColor}
.adframe-cta:hover{border-bottom-style:solid}
.adframe img{max-width:100%;height:auto;display:block;margin:4px auto 0}
.adframe-live{display:grid;grid-template-columns:1fr;align-items:center;justify-items:center;padding:0}
.adframe-min{grid-area:1/1;width:100%;height:90px;visibility:hidden;pointer-events:none}
.adframe-box{grid-area:1/1;display:flex;align-items:center;justify-content:center;width:100%;z-index:1}
.adframe-box ins.adsbygoogle{width:100%}
.foot .adframe{margin:14px auto 6px}
.foot .adframe .adl{color:var(--foot-ink);opacity:.6}
.home-mid-ad{margin:4px auto 8px}
.home-mid-ad .adframe{margin:12px auto}
html.intro-lock .adframe,html.intro-lock .adgrid,.intro .adframe,.intro .adgrid{display:none !important}
.adframe-live{border:0;background:transparent;padding:0;overflow:visible}
.adgrid{display:flex;flex-wrap:wrap;justify-content:center;align-items:stretch;gap:16px;margin:22px auto;max-width:948px}
.hdr-band .adgrid{margin:0 auto}
.adgrid .adframe-rect{flex:0 1 300px;width:300px;max-width:300px;height:250px;min-height:250px;max-height:250px;margin:0;overflow:hidden}
.adgrid .adframe-rect .adframe-min{width:100%;height:250px;min-height:250px}
.adframe-ck{max-width:336px;min-height:280px}
.adframe-ck .adframe-min{height:280px;min-height:280px}
.adframe-fo{max-width:300px;min-height:250px}
.adframe-fo .adframe-min{height:250px;min-height:250px}
.home-mid-ad .adgrid{margin:8px auto 12px}
@media (max-width:700px){
 /* Mobile adgrids v3 20261101 — 3-en-ligne, collapse unfilled, tighter hdr */
 .adgrid{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  justify-content:center !important;
  align-items:stretch !important;
  gap:6px !important;
  margin:8px auto !important;
  max-width:100% !important;
  padding:0 6px !important;
  min-height:0 !important;
  box-sizing:border-box;
 }
 .adgrid .adframe-rect{
  flex:1 1 0 !important;
  width:auto !important;
  min-width:0 !important;
  max-width:none !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  aspect-ratio:300 / 250;
  margin:0 !important;
  padding:4px !important;
  box-sizing:border-box;
  overflow:hidden !important;
 }
 .adgrid .adframe-rect .adframe-min{
  display:none !important;
  height:0 !important;
  min-height:0 !important;
 }
 .adgrid .adframe-empty{
  min-height:0 !important;
  gap:1px !important;
  padding:4px 2px !important;
 }
 .adgrid .adframe-empty .adl{font-size:.5rem;letter-spacing:.08em}
 .adgrid .adframe-empty .adframe-cta{font-size:.72rem}
 .adgrid .adframe-live{
  aspect-ratio:auto !important;
  min-height:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
 }
 .adgrid .adframe-live:has(ins.adsbygoogle:not([data-ad-status="filled"])),
 .adgrid .adframe-live:has(ins.adsbygoogle[data-ad-status="unfilled"]),
 .adgrid .adframe-live:has(ins.adsbygoogle:not([data-ad-status])){
  display:none !important;
  flex:0 0 0 !important;
  width:0 !important;
  max-width:0 !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  border:0 !important;
 }
 .adgrid .adframe-live:has(ins.adsbygoogle[data-ad-status="filled"]){
  display:flex !important;
  flex:1 1 0 !important;
  aspect-ratio:300 / 250 !important;
 }
 .hdr-band{
  padding:2px 0 0 !important;
  min-height:0 !important;
  margin:0 !important;
 }
 .hdr-band .adgrid{margin:0 auto 2px !important}
 .hdr-band:not(:has(.adframe-empty)):not(:has(.adframe-live:has(ins.adsbygoogle[data-ad-status="filled"]))){
  display:none !important;
  height:0 !important;
  padding:0 !important;
  margin:0 !important;
 }
 .foot .adgrid,
 .sfad-wrap .adgrid{margin:8px auto 4px !important}
 .sfad-wrap{margin-top:2px !important;min-height:0 !important}
 .sfad-wrap .sfad-adv{margin:4px 0 !important}
 main, .wrap > .crumbs, .crumbs, .breadcrumb, nav.crumbs{
  margin-top:0 !important;
 }
}
@media (max-width:360px){
 .adgrid{gap:4px !important;padding:0 4px !important}
 .adgrid .adframe-empty .adframe-cta{font-size:.65rem}
}
@media (max-width:767px){
 .adframe:not(.adframe-ck):not(.adframe-fo):not(.adframe-rect),
 .adframe:not(.adframe-ck):not(.adframe-fo):not(.adframe-rect) .adframe-min{min-height:100px}
 .adframe:not(.adframe-ck):not(.adframe-fo):not(.adframe-rect) .adframe-min{height:100px}
 .adframe{margin:18px auto}
 .adgrid .adframe{margin:0}
}
