/* Home page (design C) only. Requires theme.css loaded first. */

.mock-flag{position:absolute;left:10px;top:74px;z-index:60;background:#000c;color:#fff;font:600 11px/1 var(--text);padding:6px 9px;border-radius:6px;letter-spacing:.04em}
/* hero */
.hero{padding-top:56px;padding-bottom:18px;text-align:center}
.hero h1{font-size:clamp(2rem,5vw,3.6rem);line-height:1.08;max-width:15ch;margin:0 auto .35em}
.hero .lead{max-width:62ch;margin:0 auto;color:var(--mut);font-size:1.08rem}
.hero .acts{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:22px}
.meta{font-size:.85rem;color:var(--mut);margin-top:14px}
/* map */
.mapcard{margin:22px auto 0;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-l);box-shadow:var(--shadow);overflow:hidden}
.maphead{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--line)}
.maphead h2{font-size:1.2rem}
.legend{display:flex;gap:14px;font-size:.82rem;color:var(--mut);flex-wrap:wrap;align-items:center}
.legend i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:5px;vertical-align:-1px;box-shadow:inset 0 0 0 1px #0006}
.legend .swatch-row{display:inline-flex;gap:3px;margin-right:6px;vertical-align:middle}
.legend .swatch-row i{margin-right:0;border-radius:2px}
.legend .sw.cov-us{background:#b22234}.legend .sw.cov-ca{background:#edeae2;box-shadow:inset 0 0 0 1.5px #b5473a}.legend .sw.cov-mx{background:#1f6e49}
.legend .sw.cov-kr{background:#1f4fa3}.legend .sw.cov-jp{background:#bc2d3a}
.legend .sw.soon{background:linear-gradient(90deg,#1a3338 0 25%,#1f3a3f 25% 50%,#243f44 50% 75%,#1c363c 75% 100%);width:22px}
.pick{font:500 .9rem var(--text);padding:8px 10px;border-radius:var(--r-s);border:1px solid var(--line2);background:var(--bg);color:var(--ink);max-width:220px}
.mapbox{position:relative;background:var(--ocean)}
#world-map{display:block;width:100%;height:auto;touch-action:pan-y}
/* World map country fills — distinct covered accents + muted soon tones (Marc 06/11) */
.country{fill:#1f3a3f;stroke:#22383d;stroke-width:var(--csw,.55);cursor:pointer;transition:fill .15s,stroke .15s;outline:none}
.country.soon-0{fill:#1a3338}.country.soon-0:hover,.country.soon-0:focus{fill:#27484e}
.country.soon-1{fill:#1f3a3f}.country.soon-1:hover,.country.soon-1:focus{fill:#2c5157}
.country.soon-2{fill:#243f44}.country.soon-2:hover,.country.soon-2:focus{fill:#32565c}
.country.soon-3{fill:#1c363c}.country.soon-3:hover,.country.soon-3:focus{fill:#294a50}
.country.soon-4{fill:#223a41}.country.soon-4:hover,.country.soon-4:focus{fill:#2f5057}
/* Covered guides: signature country colors + soft gold stroke so they pop on #0b1719 ocean */
.country.cov{stroke:#d9b76599;stroke-width:var(--csw,.75);paint-order:stroke fill}
.country.cov-us{fill:#b22234;stroke:#e8dfd1;stroke-width:.5}.country.cov-us:hover,.country.cov-us:focus{fill:#cc3347}
.country.cov-ca{fill:#edeae2;stroke:#b5473a;stroke-width:.75}.country.cov-ca:hover,.country.cov-ca:focus{fill:#faf8f3}
.country.cov-mx{fill:#1f6e49}.country.cov-mx:hover,.country.cov-mx:focus{fill:#2f8a5f}
.country.cov-kr{fill:#1f4fa3;stroke:#cd2e3a;stroke-width:.6}.country.cov-kr:hover,.country.cov-kr:focus{fill:#3a6ec4}
.country.cov-jp{fill:#bc2d3a;stroke:#f4efe6;stroke-width:.55}.country.cov-jp:hover,.country.cov-jp:focus{fill:#d04450}
.country.sel{fill:var(--sel)!important;stroke:#f0d58c!important}
.grat{fill:none;stroke:var(--grat);stroke-width:.4}
.sphere{fill:var(--ocean);stroke:var(--line)}
.arc{fill:none;stroke:var(--arc);stroke-width:1.2;stroke-dasharray:3 4;opacity:.8}
.hub{fill:var(--arc)}
.pin circle.p{fill:var(--sel)}.pin circle.ring{fill:none;stroke:var(--sel);stroke-width:1.5;animation:pulse 2s infinite}
.pin text{font:700 11px var(--text);fill:var(--head);paint-order:stroke;stroke:var(--paper);stroke-width:3px}
@keyframes pulse{0%{r:6;opacity:1}100%{r:20;opacity:0}}
.planebtn{cursor:pointer}.planebtn circle{fill:var(--plane-bg);stroke:var(--plane-ring);stroke-width:2;filter:drop-shadow(0 3px 6px #0004)}
.planebtn path{fill:var(--plane-fg)}.planebtn text{font:700 12px var(--text);fill:var(--head);paint-order:stroke;stroke:var(--paper);stroke-width:4px}
.planebtn:hover circle,.planebtn:focus circle{fill:var(--plane-bg-h)}.planebtn:focus{outline:none}
.zoom{position:absolute;right:12px;bottom:12px;display:flex;flex-direction:column;gap:6px}
.zoom button:focus-visible{outline:2px solid var(--sel);outline-offset:2px}.zoom button{width:40px;height:40px;display:grid;place-items:center;padding:0;line-height:1;border-radius:9px;border:1px solid var(--line2);background:var(--paper);color:var(--ink);font:700 18px var(--text);cursor:pointer}
.tip{position:absolute;pointer-events:none;background:var(--ink);color:var(--bg);font:600 .8rem var(--text);padding:5px 9px;border-radius:6px;opacity:0;transform:translate(-50%,-130%);white-space:nowrap}
.mhint{display:none}@media (max-width:820px){.mhint{display:inline}.dhint{display:none}}.mapfoot{padding:10px 18px;font-size:.8rem;color:var(--mut);border-top:1px solid var(--line)}
/* ad */
.ad{margin:28px auto;max-width:970px;min-height:110px;display:grid;place-items:center;text-align:center;border:1.5px dashed var(--line2);border-radius:var(--r-s);color:var(--mut);font-size:.8rem;background:var(--paper)}
.ad b{display:block;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}
/* sections */
section.blk{padding-top:38px;padding-bottom:38px}
.blk>h2,.blk .h2{font-size:clamp(1.5rem,3vw,2.1rem);margin-bottom:.3em}
.sub{color:var(--mut);margin:0 0 20px;max-width:70ch}
.tablewrap{overflow-x:auto;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-m)}
table{border-collapse:collapse;width:100%;font-size:.9rem}th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}
th{font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--mut);background:var(--zebra)}
.badge{display:inline-block;font:700 .72rem var(--text);padding:3px 8px;border-radius:99px}.badge.yes{background:var(--ok-bg);color:var(--ok)}.badge.no{background:var(--no-bg);color:var(--no)}.badge.na{background:var(--chip);color:var(--mut)}
.na{color:var(--mut);font-style:italic}
.filter{display:flex;gap:10px;align-items:center;margin-bottom:12px}.filter input{font:inherit;padding:9px 12px;border-radius:var(--r-s);border:1px solid var(--line2);background:var(--paper);color:var(--ink);width:min(320px,100%)}
.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.card{display:block;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-m);padding:18px;text-decoration:none;color:var(--ink);box-shadow:var(--shadow-s)}
.card:hover{border-color:var(--acc)}.card h3{font-size:1.08rem;margin-bottom:4px}.card p{margin:0;color:var(--mut);font-size:.9rem}
.card .k{font:700 .7rem var(--text);letter-spacing:.1em;text-transform:uppercase;color:var(--acc)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.chips a{text-decoration:none;font-size:.88rem;padding:7px 13px;border-radius:99px;background:var(--chip);color:var(--head);border:1px solid var(--line)}
.chips a:hover{background:var(--pri);color:var(--on-pri)}
.disc{font-size:.8rem;color:var(--mut)}
.family{display:grid;grid-template-columns:1.1fr 1fr;gap:28px;align-items:center}
.family .ph{display:grid;grid-template-columns:2fr 1fr;gap:12px}.family .ph img{width:100%;border-radius:var(--r-m);object-fit:cover;display:block}
.family .ph .col{display:grid;gap:12px}.family .ph .main{aspect-ratio:3/4;height:100%}.family .ph .col img{aspect-ratio:1}
.advert{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:var(--pri);color:var(--on-pri);border-radius:var(--r-l);padding:24px 28px}
.advert h2{color:var(--on-pri);font-size:1.4rem}.advert p{margin:.2em 0 0;opacity:.85}.advert .btn{background:var(--on-pri);color:var(--pri)}
/* panel */
.scrim{position:fixed;inset:0;background:#0007;z-index:40;opacity:0;pointer-events:none;transition:opacity .2s}
.scrim.on{opacity:1;pointer-events:auto}
.panel{position:fixed;top:0;right:0;height:100%;width:min(560px,100%);z-index:50;background:var(--paper);color:var(--ink);box-shadow:-10px 0 40px #0004;transform:translateX(105%);transition:transform .25s,visibility 0s .25s;visibility:hidden;overflow-y:auto;display:flex;flex-direction:column}
.panel.on{transform:none;visibility:visible;transition:transform .25s}
.ph-top{position:sticky;top:0;background:var(--panel-h);color:var(--panel-h-ink);padding:18px 22px;display:flex;gap:12px;align-items:flex-start;z-index:2}
.ph-top h2{color:inherit;font-size:1.6rem;line-height:1.15}.ph-top .k{font:700 .7rem var(--text);letter-spacing:.12em;text-transform:uppercase;opacity:.8}
.ph-top .x{margin-left:auto;background:#fff2;border:0;color:inherit;width:36px;height:36px;border-radius:50%;font-size:20px;cursor:pointer;flex:none}
.pbody{padding:18px 22px 40px}
.pbody h3{font-size:1.1rem;margin:22px 0 10px}
.rules{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.rules li{display:grid;grid-template-columns:132px 1fr;gap:10px;padding:10px 12px;background:var(--zebra);border-radius:var(--r-s);font-size:.9rem;border-left:3px solid var(--acc)}
.rules li b:first-child{color:var(--head)}
.src{display:block;padding:12px 14px;border-radius:var(--r-s);background:var(--chip);font-size:.88rem;text-decoration:none;color:var(--head);border:1px solid var(--line)}
.src strong{display:block}
.vet{padding:12px 0;border-bottom:1px solid var(--line);font-size:.88rem}.vet strong{font-size:.98rem;color:var(--head)}.vet div{color:var(--mut)}
.note{font-size:.8rem;color:var(--mut);background:var(--zebra);padding:10px 12px;border-radius:var(--r-s);margin-top:14px}
.al{padding:14px 0;border-bottom:1px solid var(--line);font-size:.88rem}
.al .row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.al strong{font-size:1rem;color:var(--head)}.al .iata{font:700 .72rem var(--text);background:var(--chip);padding:2px 6px;border-radius:4px}
.al dl{display:grid;grid-template-columns:96px 1fr;gap:3px 10px;margin:8px 0}.al dt{color:var(--mut)}.al dd{margin:0}
.al .lk{display:flex;gap:14px;font-weight:600}
@media (max-width:820px){
 .hero{padding-top:30px;padding-bottom:8px}.hero .lead{font-size:1rem}.maphead{padding:12px}.pick{max-width:100%;width:100%}
 .family{grid-template-columns:1fr}
 table thead{display:none}table tr{display:block;border-bottom:1px solid var(--line);padding:8px 0}table td{display:grid;grid-template-columns:110px 1fr;border:0;padding:4px 12px}
 table td::before{content:attr(data-l);font-weight:600;color:var(--mut);font-size:.78rem}
 .panel{top:auto;bottom:0;height:88%;width:100%;border-radius:18px 18px 0 0;transform:translateY(105%)}
 .rules li{grid-template-columns:1fr;gap:2px}
}
.hero{padding-top:70px}.hero h1{font-size:clamp(2.2rem,5.6vw,4.2rem);max-width:17ch;letter-spacing:.005em}
.hero .k{font:600 .75rem var(--text);letter-spacing:.3em;text-transform:uppercase;color:var(--acc);margin-bottom:14px}
.mapcard{border-color:#3a5a56;background:linear-gradient(#11252a,#0b1719)}.maphead h2{color:var(--acc)}
.pin text,.planebtn text{stroke:#0b1719}
.card{background:linear-gradient(160deg,#142c31,#0f2226)}.card h3{color:var(--head)}
.advert{background:linear-gradient(120deg,#b38a35,#d9b765)}.advert h2{color:#0b1719}
.ph-top{border-bottom:1px solid var(--acc)}
.ad-slot{position:relative;margin:28px auto;max-width:970px;min-height:0}.ad-slot:empty{display:none}.ad-slot.ad-slot-bottom{display:flex;align-items:center;justify-content:center;width:100%;max-width:970px;min-height:250px;border:1px dashed #d9b76599;border-radius:var(--r-s,10px);background:#d9b7650d;overflow:hidden}.ad-slot-bottom .adl{font:600 .7rem var(--text,inherit);letter-spacing:.16em;text-transform:uppercase;color:var(--mut,#8a8a8a);opacity:.75;pointer-events:none}.ad-slot-bottom ins.adsbygoogle{width:100%}@media (max-width:767px){.ad-slot.ad-slot-bottom{min-height:120px;margin:22px auto}}.home-bottom-ad{display:block;margin:0;max-width:none;border:0;background:transparent;overflow:visible}.home-bottom-ad-min{grid-area:1/1;width:100%;height:250px;pointer-events:none;visibility:hidden}.home-bottom-ad-box{grid-area:1/1;display:flex;align-items:center;justify-content:center;width:100%;z-index:1}.home-bottom-ad-box ins.adsbygoogle{width:100%}.home-bottom-ad .adl{grid-area:1/1;z-index:1;font:600 .7rem var(--text,inherit);letter-spacing:.16em;text-transform:uppercase;color:var(--mut,#8a8a8a);opacity:.75;pointer-events:none}@media (max-width:767px){.home-bottom-ad{margin:0}.home-bottom-ad-min{height:120px}}
/* USA call-to-action (hero pill, map chip, panel button) */
.uspill{display:inline-flex;align-items:center;gap:10px;margin:0 auto 18px;padding:10px 20px 10px 14px;border-radius:99px;background:linear-gradient(120deg,#b38a35,#f0d58c);color:#0b1719;font:700 .95rem var(--text);letter-spacing:.02em;text-decoration:none;box-shadow:0 0 0 1px #f0d58c,0 0 0 5px #d9b76533,0 10px 26px #0007}
.uspill .fl{font-size:1.3rem;line-height:1}
/* small SVG flags (assets/img/flags), replace emoji flags that Windows shows as letters */
.flag{display:inline-block;flex:none;width:21px;height:14px;border-radius:2px;object-fit:cover;vertical-align:-2px;box-shadow:0 0 0 1px #ffffff40,0 1px 2px #0006}
.uspill .flag{box-shadow:0 0 0 1px #0b171959}
#ptitle .flag{width:24px;height:16px;margin-right:10px;vertical-align:0}
.uspill .ar{transition:transform .15s}
.uspill:hover .ar,.uspill:focus-visible .ar{transform:translateX(3px)}.uspill:focus-visible{outline:3px solid #f0d58c;outline-offset:3px}
.uschip{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border-radius:99px;border:1px solid var(--acc);color:var(--head);background:var(--chip);font:600 .84rem var(--text);text-decoration:none}
.uschip:hover{background:var(--pri);color:var(--on-pri)}
.btn.big{font-size:.95rem;padding:16px 26px;border-radius:99px}
.pbody .lede{font-size:1.05rem;color:var(--head);margin-top:0}
/* hero illustration (pet passport): stacked below the text on small screens, right column on desktop */
.hero-art{max-width:520px;margin:26px auto 0}.hero-art img{display:block;width:100%;height:auto}
@media (max-width:700px){.hero-art{max-width:440px;margin-top:22px}}
@media (min-width:901px){.hero{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:36px;align-items:center;text-align:left;padding-top:56px}.hero h1{font-size:clamp(2.4rem,4.4vw,3.7rem);margin-left:0}.hero .lead{margin-left:0}.hero .acts{justify-content:flex-start}.hero-art{max-width:none;margin:0}}

/* Hero CTAs as paw prints (fix5): cat / dog / cat; label font = hero h1 (var(--disp), Marcellus) */
.hero .acts.paws{gap:10px;align-items:flex-end;margin-top:22px}
.paw-defs{position:absolute;width:0;height:0;overflow:hidden}
.paw{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;width:89px;height:75px;padding:0 8px 7px;text-decoration:none;color:var(--head);border-radius:42% 42% 38% 38%;transition:transform .18s ease,filter .18s ease;-webkit-tap-highlight-color:transparent}
.paw-bg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;transition:filter .18s}
.paw-in{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;min-height:38px;justify-content:center;text-align:center}
.paw-ic{width:13px;height:13px;fill:currentColor;flex:none}
.paw-t{font:400 12px/1.04 var(--disp);letter-spacing:0;max-width:6.4em;text-wrap:balance}
.paw-gold{color:var(--on-pri)}.paw-gold .paw-bg{fill:url(#pawGold);stroke:#f3dc98;stroke-width:2.5;filter:drop-shadow(0 6px 10px #d9b76533)}
.paw .claw{fill:none;stroke:#a8812f;stroke-width:5;stroke-linecap:round;opacity:.75}
.paw-cat:hover,.paw-cat:focus-visible{transform:translateY(-2px) rotate(-3deg)}
.paw-dog:hover,.paw-dog:focus-visible{transform:translateY(-2px) rotate(3deg)}
.paw-gold:hover .paw-bg{filter:brightness(1.07) drop-shadow(0 8px 14px #d9b76555)}
.paw:focus{outline:none}.paw:focus-visible{outline:3px solid #f0d58c;outline-offset:3px}
@media (prefers-reduced-motion:reduce){.paw,.paw-bg{transition:none}.paw:hover,.paw:focus-visible{transform:none}}
@media (max-width:600px){.hero .acts.paws{display:flex;flex-wrap:nowrap;justify-content:flex-start;gap:10px}}

.intro-biz{margin:12px 0 0;text-align:center}.intro-biz a{color:var(--gold-l);font:600 .9rem var(--text);text-decoration:none;border:1px solid var(--gold);border-radius:999px;padding:6px 14px;display:inline-block}.intro-biz a:hover{background:#1a3236;color:#f8e7b5}

/* Entry chips into the veterans/military navy section (page itself uses theme-navy.css) */
a.btn.btn-navy,a.btn-navy{
  background:#03284f !important;color:#e2c275 !important;
  border:1px solid rgba(217,183,101,.45) !important;
  box-shadow:inset 0 0 0 1px rgba(0,31,63,.55);
}
a.btn.btn-navy:hover,a.btn-navy:hover{
  background:#001f3f !important;color:#f4f6fa !important;
}
