/* BORGO PUNTA VILLA — ATELIER BLU 6.10
 * Editorial refinement informed by Tenuta Merlò experiences.
 * Preserve existing photos, font family, blue palette and scroll rhythm.
 * Satin-gold reserved for direct-quote actions and few fine accents.
 */
:root {
  --bpv-gold: #C8A66E;
  --bpv-gold-hover: #E0BC7E;
  --bpv-gold-deep: #977039;
  --bpv-gold-line: rgba(200,166,110,.50);
  --bpv-premium-ink: #263744;
  --bpv-premium-navy: #061D3F;
  --bpv-premium-cream: #FAF8F3;
}

/* Site-wide finishing touches: subtle refinement, never a palette reset. */
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
body :is(.a-heading,.a-display,.bpv62-cta h2,.bpv-residence h2,.page-hero h1) {
  text-wrap: balance;
}
body :is(.a-rooms-sub,.a-intro-bottom p,.a-pet-lead,.a-island-copy p,
         .bpv-residence-history-copy p,.where-story-copy p) {
  text-wrap: pretty;
}
body .a-section-index, body .kicker { font-variant-numeric: lining-nums; }

/* The reference site's restrained editorial discipline: slim brass markers. */
body :is(.a-intro,.a-rooms,.a-island,.a-gallery,.bpv-residence-history,
         .places-index-intro,.where-practical-section) .a-section-index::before,
body :is(.bpv-residence-history,.where-practical-section,.places-index-intro) .kicker::before {
  content: ''; display: inline-block; width: 24px; height: 1px;
  margin-right: 12px; vertical-align: middle; background: var(--bpv-gold-deep);
}
body .a-intro-bottom, body .a-rooms-title { column-gap: clamp(24px,4.4vw,70px); }
body .a-intro-bottom p { line-height: 1.75; }
body .a-category-grid { gap: clamp(16px,1.7vw,27px); }
body .a-category-photo { border-radius: 18px; isolation: isolate; }
body .a-category-photo img { transition: transform .7s ease, filter .4s ease; }
body .a-category:focus-within .a-category-photo img { transform: scale(1.025); }
body .a-category-caption { border-top: 1px solid rgba(17,67,110,.10); margin-top: 18px; padding-top: 22px; }
body .a-category-caption .a-index-num { color: var(--bpv-gold-deep); font-weight: 700; }
body .a-category-caption h3 { line-height: 1.18; }
body .a-category-arrow { box-shadow: 0 4px 14px rgba(0,27,60,.10); }
body .a-category:hover .a-category-arrow,
body .a-category:focus-within .a-category-arrow { background: var(--bpv-gold); color: var(--bpv-premium-navy); }
body .a-gallery-grid { gap: clamp(12px,1.2vw,20px); }
body .a-gallery-item { border-radius: 16px; }
body .a-gallery-item img { transition: transform .65s ease; }
body .a-gallery-item:focus-visible { outline-offset: 3px; }
body .bpv64-review-card {
  border-color: rgba(13,60,103,.13); border-radius: 20px;
  box-shadow: 0 12px 32px rgba(6,35,66,.045);
}
body .bpv64-review-card::before {
  content:''; display:block; width:35px; height:2px;
  background:var(--bpv-gold); margin-bottom: 24px; flex-shrink:0;
}
body .bpv64-review-card blockquote { font-style: normal !important; line-height:1.58; }
body .bpv64-review-card figcaption { border-top-color:rgba(13,60,103,.13); }
body .bpv-residence-history-photo { border-radius:20px; }
body .bpv-residence-history-photo figcaption { letter-spacing:.10em; }
body .bpv-gallery-pending { border-radius:18px; }
body .a-hero .a-hero-summary { line-height:1.72; }
body .a-experience-points li { padding-block:15px; }
body .a-pet-stamp { box-shadow: 0 12px 30px rgba(6,33,69,.10); }
body .a-archive-list .a-filters { margin-bottom: clamp(34px,4vw,57px); }
body .a-apartment-grid .card-photo { overflow:hidden; border-radius:16px; }
body .a-apartment-grid .card h3 { line-height:1.18; }
body .a-apartment-grid .card-detail-link { text-underline-offset:4px; }
body .site-footer .footer-shell { border-color:rgba(255,255,255,.11); }

/* Satin-gold quote CTA: explicit semantic class, independent of URL/language.
 * The navy label has >7:1 contrast against this gold.
 * Legacy versions carry !important rules; always override them here. */
body a.bpv-gold-cta,
body.bpv-at-home a.bpv-gold-cta,
body.bpv-editorial-interior a.bpv-gold-cta,
body .site-header .desktop-menu a.bpv-gold-cta,
body .site-header.bpv-header-over-hero .desktop-menu a.bpv-gold-cta,
body .site-header.bpv-header-over-hero:not(.bpv-header-scrolled):not(.bpv-header-menu-open) .desktop-menu a.bpv-gold-cta,
body .site-header .mobile-menu a.bpv-gold-cta,
body :is(.a-cta,.bpv62-cta,.places-index-cta,.bpv-residence-island,.bpv-residence-final,.bpv-photo-final,.bpv-pool-page-cta,.where-parking-section) a.bpv-gold-cta,
body.bpv-editorial-interior :is(.a-cta,.bpv62-cta,.places-index-cta,.bpv-residence-island,.bpv-residence-final,.bpv-photo-final,.bpv-pool-page-cta,.where-parking-section) a.bpv-gold-cta {
  display:inline-flex !important;
  align-items:center; justify-content:center; gap: clamp(12px,1.4vw,22px);
  padding: 13px clamp(22px,2vw,34px) !important;
  min-height: 52px;
  width: fit-content; max-width:100%;
  background:var(--bpv-gold) !important;
  border:1px solid var(--bpv-gold) !important;
  border-radius:999px !important;
  box-shadow:0 8px 22px rgba(6,29,63,.09);
  color:var(--bpv-premium-navy) !important;
  -webkit-text-fill-color:var(--bpv-premium-navy) !important;
  font-family:'DM Sans',Arial,sans-serif;
  font-size:clamp(12px,.84vw,14px); font-weight:700;
  letter-spacing:.035em; line-height:1.3;
  text-decoration:none !important;
  text-align:center;
  transform:translateY(0);
  opacity:1 !important; visibility:visible !important;
  transition:background-color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease !important;
}
body a.bpv-gold-cta :is(span,svg,i),
body.bpv-editorial-interior a.bpv-gold-cta :is(span,svg,i),
body .site-header a.bpv-gold-cta :is(span,svg,i) {
  color:var(--bpv-premium-navy) !important;
  -webkit-text-fill-color:var(--bpv-premium-navy) !important;
}
body a.bpv-gold-cta:is(:hover,:focus-visible,:active),
body.bpv-editorial-interior a.bpv-gold-cta:is(:hover,:focus-visible,:active),
body .site-header .desktop-menu a.bpv-gold-cta:is(:hover,:focus-visible,:active),
body .site-header .mobile-menu a.bpv-gold-cta:is(:hover,:focus-visible,:active),
body :is(.a-cta,.bpv62-cta,.places-index-cta,.bpv-residence-island,.bpv-residence-final,.bpv-photo-final,.bpv-pool-page-cta,.where-parking-section) a.bpv-gold-cta:is(:hover,:focus-visible,:active),
body.bpv-editorial-interior :is(.a-cta,.bpv62-cta,.places-index-cta,.bpv-residence-island,.bpv-residence-final,.bpv-photo-final,.bpv-pool-page-cta,.where-parking-section) a.bpv-gold-cta:is(:hover,:focus-visible,:active) {
  background:var(--bpv-gold-hover) !important;
  border-color:var(--bpv-gold-hover) !important;
  color:var(--bpv-premium-navy) !important;
  -webkit-text-fill-color:var(--bpv-premium-navy) !important;
  box-shadow:0 12px 26px rgba(6,29,63,.14);
  transform:translateY(-2px);
}
body a.bpv-gold-cta:focus-visible {
  outline:3px solid #fff !important; outline-offset:3px !important;
}
/* Header is a compact golden invitation; other navigation stays blue/white. */
body .site-header .desktop-menu a.bpv-gold-cta { min-height:43px; padding:10px 20px !important; font-size:11px; white-space:nowrap; }
body .site-header .mobile-menu a.bpv-gold-cta { width:100%; justify-content:center; }

/* Header legacy contrast selectors are unusually specific: override both
 * the transparent-on-hero and solid-on-scroll states unambiguously. */
body .site-header .desktop-menu a.button-primary.mini.bpv-gold-cta,
body .site-header.bpv-header-over-hero .desktop-menu a.button-primary.mini.bpv-gold-cta,
body .site-header.bpv-header-over-hero:not(.bpv-header-scrolled):not(.bpv-header-menu-open) .desktop-menu a.button-primary.mini.bpv-gold-cta,
body .site-header.bpv-header-over-hero.bpv-header-scrolled .desktop-menu a.button-primary.mini.bpv-gold-cta,
body .site-header.bpv-header-over-hero.bpv-header-menu-open .desktop-menu a.button-primary.mini.bpv-gold-cta {
  background:var(--bpv-gold) !important;
  border-color:var(--bpv-gold) !important;
  color:var(--bpv-premium-navy) !important;
  -webkit-text-fill-color:var(--bpv-premium-navy) !important;
}
body .site-header .desktop-menu a.button-primary.mini.bpv-gold-cta:is(:hover,:focus-visible),
body .site-header.bpv-header-over-hero:not(.bpv-header-scrolled):not(.bpv-header-menu-open) .desktop-menu a.button-primary.mini.bpv-gold-cta:is(:hover,:focus-visible) {
  background:var(--bpv-gold-hover) !important;
  border-color:var(--bpv-gold-hover) !important;
  color:var(--bpv-premium-navy) !important;
  -webkit-text-fill-color:var(--bpv-premium-navy) !important;
}

/* A text CTA linking to the quote also becomes a real golden button. */
body .a-pet-copy a.a-inline-link.bpv-gold-cta { margin-top:10px; }
/* Header dropdown remains unobstructed and other blue buttons retain their color. */

/* Small gold details in the conversion funnel, not gold wallpaper. */
body .a-cta .a-section-index::before,
body .bpv62-cta .bpv62-cta-eyebrow::before,
body .places-index-cta .kicker::before {
  content:'';display:inline-block;width:24px;height:1px;margin-right:13px;
  vertical-align:middle;background:var(--bpv-gold);
}
body .a-cta .a-section-index,
body .bpv62-cta .bpv62-cta-eyebrow { color:#dcecf7 !important; }
body .quote-page .kicker, body .bpv-quote-step-number { color:var(--bpv-gold-deep); }
body .bpv-residence-history-copy .kicker::before { background:var(--bpv-gold-deep); }

/* Preserve responsive readability and comfortable touch targets. */
@media (max-width:1000px) {
  body .a-category-grid { gap:16px; }
  body .a-category-caption { margin-top:12px; }
}
@media (max-width:700px) {
  body .a-category-grid { gap:22px; }
  body .a-category-caption { margin-top:12px; }
  body .bpv64-review-card { border-radius:17px; }
  body .a-category-photo, body .a-gallery-item { border-radius:14px; }
  body .site-header .mobile-menu a.bpv-gold-cta { min-height:48px; }
  body a.bpv-gold-cta { min-height:49px; padding:12px 21px !important; }
}
@media (prefers-reduced-motion: reduce) {
  body a.bpv-gold-cta, body .a-category-photo img, body .a-gallery-item img { transition:none !important; }
  body a.bpv-gold-cta:is(:hover,:focus-visible) { transform:none; }
}
