/* Borgo Punta Villa | Atelier Blu 6.12.0
   Accessible Experiences navigation and sunlit, photographic summer page.
   The original navy/blue/satin-gold identity is deliberately preserved.
*/
:root{--bpv612-gold:#c8a66e;--bpv612-navy:#061d3f}
/* A compact and clearly recognizable desktop navigation item. */
.site-header .bpv-nav-experiences{position:relative;z-index:300;display:block;flex:0 0 auto}
.site-header .bpv-nav-experiences>summary{
  padding:28px 0;cursor:pointer;list-style:none;display:inline-flex;
  align-items:center;gap:8px;color:#243a51;font-size:inherit;font-weight:700;
  white-space:nowrap;outline-offset:6px;user-select:none
}
.site-header .bpv-nav-experiences>summary::-webkit-details-marker{display:none}
.site-header .bpv-nav-experiences>summary:after{content:'⌄';font-size:16px;font-weight:600;line-height:1;transform:translateY(-2px);transition:transform .2s}
.site-header .bpv-nav-experiences[open]>summary:after{transform:rotate(180deg) translateY(2px)}
.site-header.bpv-header-over-hero:not(.bpv-header-scrolled):not(.bpv-header-menu-open) .bpv-nav-experiences>summary{color:#fff}
.site-header .bpv-nav-experiences-panel{
  position:absolute;z-index:400;top:calc(100% - 7px);left:50%;transform:translateX(-50%);
  min-width:245px;max-width:min(350px,90vw);padding:10px;
  background:#fff;border:1px solid #dae6ef;box-shadow:0 24px 55px rgba(5,29,59,.18);
  border-radius:16px;display:grid;gap:3px
}
.site-header .bpv-nav-experiences-panel a{
  color:#19364c!important;-webkit-text-fill-color:#19364c!important;
  display:block;padding:13px 15px;min-height:45px;border-radius:10px;
  font-size:13px;font-weight:650;line-height:1.35;white-space:normal;
}
.site-header .bpv-nav-experiences-panel a:is(:hover,:focus-visible){background:#eff5f9;color:#0c4f7f!important}
.site-header .bpv-nav-experiences-panel a:first-child{border-bottom:1px solid #e1ebf0;border-radius:10px 10px 0 0}
.site-header .bpv-nav-experiences>summary:focus-visible{outline:2px solid var(--bpv612-gold)}
/* Visible mobile destination links; not hidden inside the desktop navigation. */
.bpv-mobile-experiences{margin:12px 0 10px;padding:17px 18px 11px;background:#eef5fb;border:1px solid #d5e5f0;border-radius:16px}
.bpv-mobile-exp-heading{display:block;color:#286e9f;font-size:10px;font-weight:750;letter-spacing:.17em;margin:2px 0 12px}
.mobile-menu .bpv-mobile-exp-link,
.site-header .mobile-menu .bpv-mobile-exp-link{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 1px;min-height:48px;border-bottom:1px solid #d7e5ef;color:#0d355a!important;font-weight:700;font-size:15px;text-decoration:none}
.mobile-menu .bpv-mobile-exp-link:last-child{border-bottom:0}
.mobile-menu .bpv-mobile-exp-link span{color:#ad8a53;font-weight:700;font-size:18px}
/* On laptop widths, collapse the long menu rather than letting entries disappear off-screen. */
@media(max-width:1480px){
  body .site-header .desktop-menu{display:none!important}
  body .site-header .menu-toggle{display:inline-flex!important;min-width:92px;min-height:44px;padding:0 16px;border:1px solid rgba(8,48,104,.18);border-radius:999px;align-items:center;justify-content:space-between;gap:13px;font-size:12px;cursor:pointer}
  body .site-header .nav{min-height:88px}
  body .site-header .official-logo{width:124px}
  body .site-header .mobile-menu{position:fixed;left:0;right:0;top:88px;z-index:350;max-height:calc(100dvh - 88px);overflow-y:auto;padding:14px max(28px,calc((100vw - 900px)/2)) 28px;background:#fff;border-top:1px solid #e0e9ef;box-shadow:0 24px 60px rgba(6,29,63,.12)}
  body .site-header .mobile-menu>a:not(.mobile-cta){display:flex;align-items:center;min-height:50px;padding:0;border-bottom:1px solid #dde8f1;font-size:15px}
  body .site-header .mobile-menu .mobile-cta{width:100%;margin-top:18px}
  body .site-header .menu-toggle i,body .site-header .menu-toggle i:before,body .site-header .menu-toggle i:after{display:block;width:15px;height:1px;background:currentColor;content:'';transition:.2s}
  body .site-header .menu-toggle i{position:relative}
  body .site-header .menu-toggle i:before{position:absolute;top:-5px}
  body .site-header .menu-toggle i:after{position:absolute;top:5px}
  body .site-header .menu-toggle[aria-expanded=true] i{background:transparent}
  body .site-header .menu-toggle[aria-expanded=true] i:before{top:0;transform:rotate(45deg)}
  body .site-header .menu-toggle[aria-expanded=true] i:after{top:0;transform:rotate(-45deg)}
}
@media(max-width:720px){
  body .site-header .nav{min-height:74px}
  body .site-header .mobile-menu{top:74px;max-height:calc(100dvh - 74px);padding:10px 20px 24px}
  body .site-header .official-logo{width:110px}
  body .site-header .menu-toggle{min-width:88px;min-height:42px;padding:0 14px}
}
/* Summer page: give the photography room, with editorial proportions and ample but not empty spacing. */
.bpv-exp-summer .bpv-exp-hero{min-height:clamp(630px,85svh,920px);padding:145px 0 106px}
.bpv-exp-summer .bpv-exp-hero::before{
  background:linear-gradient(90deg,rgba(4,24,49,.85) 0%,rgba(4,24,49,.68) 30%,rgba(4,24,49,.24) 70%,rgba(4,24,49,.13) 100%),
  linear-gradient(0deg,rgba(4,24,49,.27),transparent 55%),
  var(--bpv-exp-hero,linear-gradient(130deg,#13527b,#082145)) center/cover no-repeat,
  url(../img/hero-pool.webp) center/cover no-repeat;
}
.bpv-exp-summer .bpv-exp-hero h1 em{color:#d8ebf7!important}
.bpv-exp-summer .bpv-exp-intro{background:#f7fafc;padding:clamp(75px,7vw,110px) 0}
.bpv-exp-summer .bpv-exp-feature-sea{padding:clamp(76px,7.5vw,118px) 0;background:#fff}
.bpv-exp-summer .bpv-exp-feature-sea .bpv-exp-photo{border-radius:22px;overflow:hidden;box-shadow:0 24px 60px rgba(13,49,79,.12)}
.bpv-exp-summer .bpv-exp-feature-sea .bpv-exp-photo img{height:min(660px,54vw);min-height:460px;aspect-ratio:4/4.3;object-fit:cover;object-position:center}
.bpv-exp-summer .bpv-exp-feature-copy .bpv-exp-kicker{color:#266d9e!important}
.bpv-exp-summer .bpv-exp-feature-copy h2 em{color:#2382bc!important}
/* A genuinely photographic interlude makes the page feel like a destination, not a catalogue. */
.bpv-summer-postcards{padding:clamp(78px,7vw,112px) 0;background:#edf5fa}
.bpv-summer-postcards-heading{max-width:870px;margin:0 0 clamp(28px,3vw,45px)}
.bpv-summer-postcards-heading .bpv-exp-kicker{color:#216dad!important;margin-bottom:12px}
.bpv-exp-page .bpv-summer-postcards-heading h2{margin-bottom:0}
.bpv-exp-page .bpv-summer-postcards-heading h2 em{color:#2685bb!important}
.bpv-summer-postcards-grid{display:grid;grid-template-columns:1.17fr .86fr .86fr;gap:clamp(13px,1.35vw,22px)}
.bpv-summer-postcard{position:relative;isolation:isolate;overflow:hidden;margin:0;border-radius:20px;min-height:clamp(360px,36vw,515px);background:linear-gradient(130deg,#7baac7,#1a496d)}
.bpv-summer-postcard img{display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:cover;transition:transform .6s ease}
.bpv-summer-postcard:hover img{transform:scale(1.035)}
.bpv-summer-postcard::after{content:'';pointer-events:none;position:absolute;inset:0;background:linear-gradient(180deg,transparent 28%,rgba(3,24,45,.12) 52%,rgba(3,24,45,.84) 100%)}
.bpv-summer-postcard figcaption{position:absolute;z-index:2;left:clamp(20px,2.2vw,33px);right:20px;bottom:clamp(24px,2.4vw,35px);display:grid;gap:12px}
.bpv-summer-postcard figcaption span{font:700 10px/1.6 'DM Sans',sans-serif;letter-spacing:.18em;color:#dceaf6}
.bpv-summer-postcard figcaption strong{font:500 clamp(24px,2.35vw,36px)/1.14 'Manrope',sans-serif;letter-spacing:-.05em;color:white}
.bpv-exp-summer .bpv-exp-collection{background:#fff;padding:clamp(70px,7vw,105px) 0}
.bpv-exp-summer .bpv-exp-collection .bpv-exp-card{background:#f4f8fb;border:1px solid #dce7f0;border-radius:19px;min-height:245px}
.bpv-exp-summer .bpv-exp-collection .bpv-exp-card h3{font-size:clamp(21px,1.8vw,27px)}
.bpv-exp-summer .bpv-exp-collection .bpv-exp-card:hover{border-color:rgba(200,166,110,.74);box-shadow:0 15px 33px rgba(22,52,79,.07)}
.bpv-summer-photo-credits{font:400 11px/1.7 'DM Sans',Arial,sans-serif;color:#718494;padding-top:19px;padding-bottom:28px}
.bpv-summer-photo-credits a{color:#55748c;text-decoration:underline;text-underline-offset:2px}
@media(max-width:1050px){
  .bpv-summer-postcards-grid{grid-template-columns:1fr 1fr}
  .bpv-summer-postcard-large{grid-column:1/-1;min-height:500px}
  .bpv-summer-postcard{min-height:360px}
  .bpv-exp-summer .bpv-exp-feature-sea .bpv-exp-photo img{height:450px;min-height:0;aspect-ratio:16/10}
}
@media(max-width:700px){
  .bpv-exp-summer .bpv-exp-hero{min-height:670px;padding:125px 0 84px}
  .bpv-exp-summer .bpv-exp-hero::before{background:linear-gradient(90deg,rgba(4,24,49,.87),rgba(4,24,49,.34)),linear-gradient(0deg,rgba(4,24,49,.38),transparent 75%),var(--bpv-exp-hero,linear-gradient(130deg,#13527b,#082145)) center/cover no-repeat}
  .bpv-summer-postcards{padding:68px 0}
  .bpv-summer-postcards-grid{grid-template-columns:1fr;gap:13px}
  .bpv-summer-postcard,.bpv-summer-postcard-large{grid-column:auto;min-height:340px;border-radius:16px}
  .bpv-summer-postcard-large{min-height:390px}
  .bpv-exp-summer .bpv-exp-feature-sea .bpv-exp-photo img{height:340px;aspect-ratio:1/1}
  .bpv-summer-photo-credits{font-size:10px}
}
@media(prefers-reduced-motion:reduce){.bpv-summer-postcard img{transition:none}}
