/* Borgo Punta Villa 3.9.11 – arrival guide, self-contained responsive editorial layout. */
#bpv-stay-guide{color:#19384d;background:#f7fafe;overflow:clip}
#bpv-stay-guide .kicker{font-size:12px;letter-spacing:.19em;color:#6791ad;font-weight:500}
.bpv-stay-hero{padding:clamp(100px,9vw,145px) 0 clamp(76px,8vw,105px);background:#f7fafe}
.bpv-stay-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:50px;align-items:end}
.bpv-stay-hero h1{font-family:var(--bpv-heading-font);font-weight:410;font-size:clamp(58px,7.5vw,112px);line-height:1.04;letter-spacing:-.064em;max-width:950px;margin:22px 0 28px;color:#173f62}
.bpv-stay-hero-lead{font-family:var(--bpv-body-font);font-size:clamp(19px,1.75vw,24px);line-height:1.58;max-width:760px;color:#58778e}
.bpv-stay-hero-graphic{display:flex;gap:12px;align-items:center;color:#85aac4;font-size:12px;letter-spacing:.16em;padding-bottom:10px}
.bpv-stay-hero-graphic i{width:72px;height:1px;background:#9db9cd}
.bpv-stay-journey{padding:40px 0 55px;background:#eaf3fa}
.bpv-stay-journey-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:22px}
.bpv-stay-journey-step{display:flex;gap:15px;align-items:center;min-width:0;border-top:1px solid #bfd4e3;padding-top:22px}
.bpv-stay-step-index{font-size:12px;letter-spacing:.14em;color:#7ba1bc}
.bpv-stay-journey-step strong{font-size:clamp(17px,2vw,23px);font-family:var(--bpv-heading-font);font-weight:440;letter-spacing:-.035em;color:#1b5685}
.bpv-stay-chapter{padding:clamp(85px,9vw,135px) 0}
.bpv-stay-chapter--light{background:#fff}
.bpv-stay-chapter--sea{background:#e9f3fa}
.bpv-stay-chapter--local{background:#fff}
.bpv-stay-chapter-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.92fr);gap:clamp(48px,8vw,115px);align-items:center}
.bpv-stay-chapter-grid--image-first{grid-template-columns:minmax(0,.92fr) minmax(0,1fr)}
.bpv-stay-copy h2{font-family:var(--bpv-heading-font);font-weight:420;font-size:clamp(44px,5.5vw,78px);line-height:1.08;letter-spacing:-.058em;color:#1b4769;margin:21px 0 23px;max-width:640px}
.bpv-stay-chapter-lead{font-size:clamp(17px,1.52vw,21px);color:#557086;line-height:1.76;max-width:610px;margin:0 0 34px}
.bpv-stay-photo{position:relative;min-height:470px;height:100%;margin:0;border-radius:17px;overflow:hidden;background:linear-gradient(145deg,#eaf4fb,#b7d1e3);isolation:isolate}
.bpv-stay-photo--landscape{min-height:530px}
.bpv-stay-photo img{display:block;width:100%;height:100%;min-height:470px;object-fit:cover;object-position:center;transition:transform 1.1s ease}
.bpv-stay-photo:hover img{transform:scale(1.03)}
.bpv-stay-photo-placeholder{min-height:470px;display:grid;place-items:center;color:#6c99b5;font-family:var(--bpv-heading-font);font-size:15px;letter-spacing:.18em;text-align:center;padding:20px}
.bpv-stay-infolist{border-top:1px solid #dbe6ee}
.bpv-stay-infolist article{padding:24px 0;border-bottom:1px solid #dbe6ee}
.bpv-stay-infolist h3,.bpv-stay-practical-card h3{font-family:var(--bpv-heading-font);font-weight:480;font-size:23px;letter-spacing:-.035em;margin:0 0 11px;color:#1b5685}
.bpv-stay-infolist p,.bpv-stay-practical-card p{font-size:15px;line-height:1.78;margin:0 0 15px;color:#5b7080}
.bpv-stay-infolist a,.bpv-stay-text-link,.bpv-stay-practical-card a{color:#1b5685;font-weight:550;text-decoration:none;border-bottom:1px solid #8ab2cc;padding-bottom:3px;transition:border-color .2s,color .2s}
.bpv-stay-infolist a:hover,.bpv-stay-text-link:hover,.bpv-stay-practical-card a:hover{color:#2876ab;border-color:#2876ab}
.bpv-stay-meta{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.11em;color:#7894a8;margin:16px 0 10px}
.bpv-stay-phone-links{display:flex;gap:13px 26px;flex-wrap:wrap}
.bpv-stay-ferry-links{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin:26px 0}
.bpv-stay-ferry-links a{display:inline-flex;align-items:center;color:#fff;background:#1a5686;padding:15px 23px;border-radius:999px;text-decoration:none;font-size:13px;font-weight:550;transition:transform .28s,background .28s}
.bpv-stay-ferry-links a:hover{background:#2876ab;transform:translateY(-2px)}
.bpv-stay-ferry-links a:nth-child(2){color:#1a5686;background:#fff;border:1px solid #adc8db}
.bpv-stay-ferry-links a:nth-child(2):hover{background:#f4f9fd}
.bpv-stay-note{border-left:2px solid #9fbfd3;padding:3px 0 3px 16px;font-size:14px!important;line-height:1.73;color:#687e90;margin:20px 0 30px}
.bpv-stay-taxi-card{padding:22px 24px;border:1px solid #dae7f0;border-radius:16px;background:#f8fbfe;margin:24px 0}
.bpv-stay-taxi-card .bpv-stay-meta{margin:0 0 12px}
.bpv-stay-taxi-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid #e3edf4}
.bpv-stay-taxi-row:last-child{border-bottom:0}
.bpv-stay-taxi-row a{color:#1b5685;text-decoration:none;font-size:14px}
.bpv-stay-taxi-row a:hover{text-decoration:underline}
.bpv-stay-practical{background:#f7fafe;padding:clamp(82px,9vw,128px) 0}
.bpv-stay-practical-heading{max-width:760px;margin:0 0 48px}
.bpv-stay-practical-heading h2,.bpv-stay-closing h2{font-family:var(--bpv-heading-font);font-weight:420;font-size:clamp(43px,5.3vw,73px);letter-spacing:-.06em;line-height:1.08;margin:19px 0 19px;color:#1b4769}
.bpv-stay-practical-heading p{color:#647f93;font-size:17px;line-height:1.7;margin:0}
.bpv-stay-practical-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.bpv-stay-practical-card{background:#fff;border:1px solid #dce8ef;border-radius:18px;padding:28px 23px;min-height:245px}
.bpv-stay-practical-index{display:block;font-size:12px;letter-spacing:.12em;color:#90b1c6;margin-bottom:23px}
.bpv-stay-practical-card h3{font-size:21px}
.bpv-stay-practical-card p{margin:0 0 15px;font-size:14px}
.bpv-stay-practical-card a{font-size:13px}
.bpv-stay-closing{background:#e8f3fa;padding:clamp(70px,8vw,105px) 0}
.bpv-stay-closing-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.52fr);gap:clamp(35px,7vw,100px);align-items:center}
.bpv-stay-closing h2{margin-bottom:0}
.bpv-stay-closing p{font-size:18px;line-height:1.65;color:#5b788e;margin:0 0 25px}
.bpv-stay-closing .button-primary{background:#1a5686;border-color:#1a5686}
@media(min-width:1021px){.desktop-menu{gap:clamp(9px,1.12vw,19px)!important;font-size:clamp(11px,.86vw,13px)!important}.nav{gap:18px}.official-logo{max-width:145px}}
@media(min-width:1021px) and (max-width:1190px){.desktop-menu{gap:8px!important;font-size:11px!important}.official-logo{max-width:118px}}
@media(max-width:900px){.bpv-stay-chapter-grid,.bpv-stay-chapter-grid--image-first{grid-template-columns:1fr;gap:35px}.bpv-stay-chapter-grid--image-first .bpv-stay-copy{order:0}.bpv-stay-chapter-grid--image-first .bpv-stay-photo{order:1}.bpv-stay-practical-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bpv-stay-photo,.bpv-stay-photo img,.bpv-stay-photo-placeholder{min-height:350px}}
@media(max-width:680px){.bpv-stay-hero{padding:96px 0 66px}.bpv-stay-hero-grid{grid-template-columns:1fr;gap:15px}.bpv-stay-hero-graphic{display:none}.bpv-stay-hero h1{font-size:clamp(50px,11vw,69px)}.bpv-stay-journey-grid{grid-template-columns:1fr 1fr;gap:20px}.bpv-stay-journey-step strong{font-size:18px}.bpv-stay-chapter{padding:75px 0}.bpv-stay-copy h2{font-size:clamp(42px,10vw,60px)}.bpv-stay-hero-lead{font-size:18px}.bpv-stay-practical-grid{grid-template-columns:1fr}.bpv-stay-practical-card{min-height:0}.bpv-stay-photo,.bpv-stay-photo img,.bpv-stay-photo-placeholder{min-height:310px}.bpv-stay-photo{border-radius:13px}.bpv-stay-closing-grid{grid-template-columns:1fr}.bpv-stay-journey{padding:30px 0 40px}}
@media(prefers-reduced-motion:reduce){.bpv-stay-photo img{transition:none}}

/* V3.9.12 — Only two headings: avoid clipping the descenders (g, j, p, q, y).
   The scroll reveal retains its opacity and translation, but no longer crops
   the fully visible glyphs. Line heights, margins and fonts remain unchanged. */
@media (prefers-reduced-motion: no-preference) {
  .bpv-motion-on .bpv-stay-hero h1.bpv-reveal,
  .bpv-motion-on .bpv-pool-page-cta h2.bpv-reveal {
    clip-path: none !important;
    overflow: visible !important;
  }
}

.bpv-stay-taxi-row > span{color:#1b5685;font-size:14px}

/* Quote date constraints – V3.9.13 */
.bpv-quote-dates-hint{font-size:13px;line-height:1.5;color:#648096;margin-top:-5px}
.bpv-quote-dates-hint.bpv-quote-dates-error,.bpv-quote-error{color:#963b41}
.bpv-quote-error{background:#fff5f5;border:1px solid #e9c4c7;border-radius:12px;padding:13px 16px;margin-bottom:18px;font-size:15px;line-height:1.5}
