:root {
  --pv-ink: #102f3b;
  --pv-teal: #24616a;
  --pv-mint: #ddf2ee;
  --pv-cream: #f7fcfb;
  --pv-muted: #3c6068;
  --pv-line: #bddbd7;
  --pv-field: #648682;
  --bs-primary-rgb: 36, 97, 106;
}
body.pv-site { background: linear-gradient(155deg, #e8f7f4, #f7fcfb 450px, #fff); font-family: Inter, "Segoe UI", Arial, sans-serif; }
.pv-site :is(h1,h2,h3,h4,h5,h6), .pv-site .navbar-brand {
  font-family: Inter, "Segoe UI", Arial, sans-serif;
  font-weight: 800;
  letter-spacing: -.035em;
}
.pv-site .pv-header { background: white; }
.pv-site .pv-header .navbar-brand { color: var(--pv-ink); }
.pv-site .pv-hero h1, .pv-site .pv-hero h1 em { font-weight: 800; }
.pv-site .pv-hero h1 em { font-style: normal; }
.pv-site :is(.form-control,.form-select,.pv-planner input,.pv-planner select) { border-color: var(--pv-field); }
.pv-site .pv-planner label { font-size: 14px; font-weight: 700; }
.pv-site .pv-journey-page :is(.pv-journey-actions,.pv-itinerary-card) h2 { font-weight: 800; }
.pv-site .pv-open-questions { background: #fff5df; border-left: 4px solid #e6b65d !important; }
.pv-site :focus-visible { outline-color: #a94728; }
.pv-brand-hero { gap: 44px; padding: 36px 0 18px; align-items: center !important; }
.pv-site .pv-brand-hero h1 { font-size: clamp(42px, 5.7vw, 82px); line-height: 1; margin: 0 0 16px; }
.pv-brand-photo { margin: 0; position: relative; border-radius: 18px; overflow: hidden; }
.pv-brand-photo img { width: 100%; height: clamp(170px, 29vw, 350px); object-fit: cover; object-position: center 42%; display: block; }
.pv-brand-photo figcaption { position: absolute; bottom: 12px; left: 12px; background: #fff; border-radius: 6px; padding: 4px 9px; font-size: 13px; }
.pv-quick-links { display: flex; flex-wrap: wrap; gap: 9px; margin: 10px 0 16px; }
.pv-quick-links a { background: #fff; border: 1px solid var(--pv-line); border-radius: 8px; padding: 8px 12px; text-decoration: none; font-weight: 700; }
.pv-quick-links a:hover { background: var(--pv-mint); }
.pv-home-planner { margin-bottom: 24px; }
.pv-trip-departure { margin: 14px 0 !important; padding: 14px 0 !important; border-block: 1px solid var(--pv-line) !important; }
.pv-trip-departure legend { font-size: 16px; font-weight: 800; }
@media(max-width: 640px) {
  .pv-brand-hero { grid-template-columns: 1fr; gap: 16px; padding-top: 22px; }
  .pv-quick-links a { font-size: 13px; }
}

.pv-directory{padding-block:32px}
.pv-directory h1{font-size:clamp(34px,5vw,62px)}
.pv-directory-lookup{padding:20px;background:white;border:1px solid var(--pv-line);border-radius:14px;margin:18px 0 25px}
.pv-directory-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:12px}
.pv-directory-fields label,.pv-directory-filters label{font-weight:700}
.pv-directory-fields :is(input,select){margin-top:5px}
.pv-directory-filters{margin-block:14px;display:flex;gap:8px 15px;flex-wrap:wrap}
.pv-directory-filters legend{font-size:16px;font-weight:800}
.pv-directory-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,285px);gap:22px;align-items:start}
.pv-directory-rail{display:grid;gap:14px}
.pv-directory-rail .pv-pet-photo-accent{display:block;margin:0}
.pv-directory-rail .pv-pet-photo-accent img{width:100%;height:140px;margin-bottom:10px}
.pv-directory-rail .card>img{width:100%;max-height:180px;object-fit:contain}
.pv-directory-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.pv-directory-card{background:#fff;padding:14px;overflow-wrap:anywhere}
.pv-directory-card h3{font-size:17px;margin:0 0 5px}
.pv-directory-card p{margin-bottom:6px}
.pv-directory-pets{display:flex;flex-wrap:wrap;gap:6px}
.pv-directory-pets a{background:var(--pv-mint);padding:4px 7px;border-radius:5px}
.pv-directory-logo{width:96px;height:52px;object-fit:contain;background:white;border-radius:5px}
.pv-directory-pages{display:flex;gap:16px;margin-block:18px}
.pv-directory-shop{margin-top:22px;background:var(--pv-mint)}
.pv-directory-product{display:flex;align-items:center;gap:8px;background:white;padding:8px;border-radius:8px}
.pv-directory-product img{object-fit:contain}
.pv-home-airlines{margin-block:24px}
.pv-airline-strip{display:flex;flex-wrap:wrap;gap:10px}
.pv-airline-strip a{display:flex;align-items:center;gap:8px;background:white;border:1px solid var(--pv-line);border-radius:9px;padding:7px;font-weight:700}
@media(max-width:760px){.pv-directory-columns{grid-template-columns:1fr}.pv-directory-fields{grid-template-columns:1fr}}
@media(max-width:450px){.pv-directory-results{grid-template-columns:1fr}}

.pv-airline-detail{padding-block:28px}
.pv-airline-heading{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:12px;margin-block:18px 12px}
.pv-airline-heading h1{font-size:clamp(32px,5vw,60px);margin:8px 0 0}
.pv-airline-actions,.pv-airline-sections{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px;margin-bottom:16px}
.pv-airline-sections{padding-block:12px;border-block:1px solid var(--pv-line)}
.pv-airline-sections a{padding:5px 0;font-weight:700}
.pv-airline-panel{padding:clamp(16px,3vw,25px)}
.pv-airline-panel h2{font-size:clamp(19px,3vw,25px);margin-bottom:12px}
.pv-airline-panel p:last-child{margin-bottom:0}
.pv-airline-details{margin-top:5px}
.pv-airline-detail [id]{scroll-margin-top:18px}

.pv-country-heading{margin-top:14px}
.pv-country-heading h1{margin-bottom:8px}
.pv-country-heading>p{font-weight:700;color:var(--pv-muted)}
.pv-country-content{margin-top:18px}
.pv-country-content .pet-regulation-section>.row{row-gap:12px}
.pv-country-content .card{overflow-wrap:anywhere}
.pv-country-detail .pet-type-btn{white-space:normal}

.pv-country-toolbar,.pv-country-picker,.pv-country-dates{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
.pv-country-toolbar{margin:12px 0 16px}
.pv-country-toolbar form{margin:0;min-width:0}
.pv-country-picker label,.pv-country-species{font-weight:700;margin:0}
.pv-country-picker select{width:min(100%,420px);min-width:0}
.pv-site .pv-country-save{background:white;color:var(--pv-teal);border:1px solid var(--pv-field);min-height:44px}
.pv-site .pv-country-save:hover{background:var(--pv-mint);color:var(--pv-ink)}
.pv-country-dates{font-size:13px;color:var(--pv-muted);margin:0}
.pv-country-content .row>*{min-width:0}
.pv-country-service-ad{min-width:0;overflow-wrap:anywhere}
.pv-country-service-ad :is(img,iframe){max-width:100%}
.pv-country-service-ad .row{margin-inline:0}
@media(max-width:600px){
  .pv-country-picker{display:grid;grid-template-columns:minmax(0,1fr) auto;width:100%}
  .pv-country-picker label{grid-column:1/-1}
  .pv-country-picker select{width:100%}
  .pv-country-toolbar{align-items:start}
  .pv-country-detail .pv-airline-actions a{white-space:normal}
}

@media(max-width:760px){
  .pv-directory-columns,.pv-directory-fields{grid-template-columns:minmax(0,1fr)}
  .pv-directory-columns>*,.pv-directory-fields>*{min-width:0}
  .pv-directory-fields select,.pv-directory-rail iframe{width:100%;max-width:100%}
  .pv-directory-rail{overflow-wrap:anywhere;overflow:clip}
  .pv-directory-pets a{max-width:100%;overflow-wrap:anywhere}
}
