/* Lavivo Villa one-page styles. Three design variants via body.lv-design-{a,b,c}. */
:root{
  --lv-accent:#2F5D50; --lv-accent-2:#234A40; --lv-gold:#B89B65;
  --lv-ink:#1D2320; --lv-text:#353B37; --lv-muted:#5E655F;
  --lv-bg:#ffffff; --lv-alt:#F3EFE7; --lv-card:#ffffff; --lv-line:#E4DDCF;
  --lv-serif:"Playfair Display",Georgia,serif; --lv-sans:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --lv-radius:18px; --lv-btn-radius:999px;
}
body.lv-design-b{
  --lv-accent:#9C7A43; --lv-accent-2:#7F6234; --lv-gold:#B89B65;
  --lv-ink:#2A2620; --lv-text:#3F3A32; --lv-muted:#6E675C;
  --lv-bg:#FBF8F2; --lv-alt:#F2EBDD; --lv-card:#FFFDF9; --lv-line:#E6D9BF;
  --lv-serif:"Cormorant Garamond",Georgia,serif; --lv-sans:"Manrope",system-ui,sans-serif;
  --lv-radius:4px; --lv-btn-radius:2px;
}
body.lv-design-c{
  --lv-accent:#1F3B33; --lv-accent-2:#14302A; --lv-gold:#A88B5A;
  --lv-ink:#111312; --lv-text:#2B2F2D; --lv-muted:#5B605D;
  --lv-bg:#ffffff; --lv-alt:#F2F2EF; --lv-card:#ffffff; --lv-line:#E3E3DE;
  --lv-serif:"DM Serif Display",Georgia,serif; --lv-sans:"DM Sans",system-ui,sans-serif;
  --lv-radius:0px; --lv-btn-radius:0px;
}
body{background:var(--lv-bg);color:var(--lv-text);font-family:var(--lv-sans)}
body h1,body h2,body h3,body h4,.site-title{font-family:var(--lv-serif)!important;color:var(--lv-ink)}
.lv-section{padding:clamp(64px,9vw,120px) 20px!important;margin:0!important}
.lv-bg-cream{background:var(--lv-alt)}
.lv-section h2{font-size:clamp(30px,4vw,44px);line-height:1.15;margin:0 0 18px;font-weight:500}
.lv-eyebrow{font-family:var(--lv-sans);text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:600;color:rgba(255,255,255,.85);margin:0 0 12px}
.lv-eyebrow--dark{color:var(--lv-accent)}
.lv-badge{display:inline-block;background:var(--lv-accent);color:#fff;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:8px 16px;border-radius:999px;margin:0 0 18px}
.lv-badge--gold{background:var(--lv-gold)}
.lv-note{font-size:14px;color:var(--lv-muted)}
/* Hero */
.lv-hero{min-height:100svh}
.lv-hero .wp-block-cover__inner-container{width:100%;padding:0 20px 9vh}
.lv-hero__title{color:#fff!important;font-size:clamp(46px,8vw,96px)!important;line-height:1!important;margin:0 0 14px!important;font-weight:500}
.lv-hero__lead{color:#fff;font-size:clamp(17px,2.1vw,22px);max-width:620px;margin:0 0 28px;opacity:.95}
.lv-hero .lv-badge{background:var(--lv-gold)}
/* Buttons */
.wp-block-button__link{border-radius:var(--lv-btn-radius)!important;padding:15px 28px!important;font-weight:600;letter-spacing:.01em}
.lv-btn-wa .wp-block-button__link{background:#1FAF5A!important;color:#fff!important}
.lv-btn-wa .wp-block-button__link:hover{background:#178a47!important}
.lv-btn-wa .wp-block-button__link::before{content:"";display:inline-block;width:18px;height:18px;margin:-3px 9px 0 0;vertical-align:middle;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17.47 14.38c-.3-.15-1.75-.86-2.03-.96-.27-.1-.47-.15-.67.15-.2.3-.77.96-.94 1.16-.17.2-.35.22-.65.07-.3-.15-1.26-.46-2.4-1.48-.89-.79-1.49-1.77-1.66-2.07-.17-.3-.02-.46.13-.6.13-.14.3-.35.45-.52.15-.17.2-.3.3-.5.1-.2.05-.37-.03-.52-.07-.15-.67-1.61-.92-2.21-.24-.58-.49-.5-.67-.51h-.57c-.2 0-.52.07-.8.37-.27.3-1.04 1.02-1.04 2.48s1.07 2.88 1.21 3.08c.15.2 2.1 3.2 5.08 4.49.71.31 1.26.49 1.7.63.71.23 1.36.19 1.87.12.57-.09 1.75-.72 2-1.41.25-.69.25-1.29.17-1.41-.07-.12-.27-.2-.57-.35zM12.04 21.5h-.01a9.43 9.43 0 0 1-4.8-1.31l-.35-.2-3.56.93.95-3.47-.22-.36a9.4 9.4 0 0 1-1.44-5.01c0-5.2 4.23-9.43 9.44-9.43 2.52 0 4.89.98 6.67 2.77a9.37 9.37 0 0 1 2.76 6.67c0 5.2-4.24 9.43-9.44 9.43zm8.03-17.46A11.3 11.3 0 0 0 12.04.7C5.78.7.69 5.79.69 12.05c0 2 .52 3.95 1.52 5.67L.6 23.3l5.72-1.5a11.3 11.3 0 0 0 5.42 1.38h.01c6.25 0 11.35-5.09 11.35-11.35 0-3.03-1.18-5.88-3.33-8.02z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17.47 14.38c-.3-.15-1.75-.86-2.03-.96-.27-.1-.47-.15-.67.15-.2.3-.77.96-.94 1.16-.17.2-.35.22-.65.07-.3-.15-1.26-.46-2.4-1.48-.89-.79-1.49-1.77-1.66-2.07-.17-.3-.02-.46.13-.6.13-.14.3-.35.45-.52.15-.17.2-.3.3-.5.1-.2.05-.37-.03-.52-.07-.15-.67-1.61-.92-2.21-.24-.58-.49-.5-.67-.51h-.57c-.2 0-.52.07-.8.37-.27.3-1.04 1.02-1.04 2.48s1.07 2.88 1.21 3.08c.15.2 2.1 3.2 5.08 4.49.71.31 1.26.49 1.7.63.71.23 1.36.19 1.87.12.57-.09 1.75-.72 2-1.41.25-.69.25-1.29.17-1.41-.07-.12-.27-.2-.57-.35zM12.04 21.5h-.01a9.43 9.43 0 0 1-4.8-1.31l-.35-.2-3.56.93.95-3.47-.22-.36a9.4 9.4 0 0 1-1.44-5.01c0-5.2 4.23-9.43 9.44-9.43 2.52 0 4.89.98 6.67 2.77a9.37 9.37 0 0 1 2.76 6.67c0 5.2-4.24 9.43-9.44 9.43zm8.03-17.46A11.3 11.3 0 0 0 12.04.7C5.78.7.69 5.79.69 12.05c0 2 .52 3.95 1.52 5.67L.6 23.3l5.72-1.5a11.3 11.3 0 0 0 5.42 1.38h.01c6.25 0 11.35-5.09 11.35-11.35 0-3.03-1.18-5.88-3.33-8.02z'/%3E%3C/svg%3E") center/contain no-repeat}
.lv-btn-ghost .wp-block-button__link{border:1.5px solid rgba(255,255,255,.85)!important;color:#fff!important;background:transparent!important}
.lv-btn{display:inline-block;background:var(--lv-accent);color:#fff!important;padding:13px 24px;border-radius:var(--lv-btn-radius);text-decoration:none;font-weight:600}
/* Highlights */
.lv-price-row{gap:clamp(24px,5vw,72px)!important;align-items:center}
.lv-price-card{background:var(--lv-card);border:1px solid var(--lv-line);border-radius:var(--lv-radius);padding:32px!important;box-shadow:0 20px 50px -30px rgba(0,0,0,.25)}
.lv-price{font-family:var(--lv-serif);font-size:clamp(36px,4.6vw,52px);color:var(--lv-ink);line-height:1.1;margin:0 0 6px}
.lv-price-sub{color:var(--lv-muted);margin:0 0 22px}
.lv-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--lv-line);border:1px solid var(--lv-line);border-radius:var(--lv-radius);overflow:hidden;margin-top:48px}
.lv-stat{background:var(--lv-card);padding:26px 18px;text-align:center;display:flex;flex-direction:column;gap:6px}
.lv-stat__v{font-family:var(--lv-serif);font-size:clamp(24px,2.6vw,32px);color:var(--lv-ink)}
.lv-stat__k{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--lv-muted)}
/* Lists, cards, images */
.lv-list{list-style:none;padding:0!important;margin:18px 0 0}
.lv-list li{padding:12px 0;border-bottom:1px solid var(--lv-line)}
.lv-cards{gap:20px!important;margin-top:28px}
.lv-card{background:var(--lv-card);border:1px solid var(--lv-line);border-radius:var(--lv-radius);padding:28px!important}
.lv-card h3{font-size:24px;margin:0 0 6px}
.lv-rounded img{border-radius:var(--lv-radius)}
.lv-subhead{margin-top:56px!important;font-size:26px}
.lv-progress img{border-radius:calc(var(--lv-radius) * .6)}
/* Location */
.lv-distances{list-style:none;padding:0;margin:20px 0 8px}
.lv-distances li{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--lv-line)}
.lv-distances b{color:var(--lv-accent);font-weight:600}
.lv-map{position:relative;padding-top:70%;border-radius:var(--lv-radius);overflow:hidden;background:var(--lv-line)}
.lv-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
/* Contact */
.lv-contact{background:var(--lv-accent);color:#fff}
.lv-contact h2{color:#fff!important}
.lv-contact p{color:rgba(255,255,255,.9)}
.lv-form-card{background:#fff;border-radius:var(--lv-radius);padding:32px!important;color:var(--lv-text)}
.lv-form-card .ff-btn-submit{background:var(--lv-accent)!important;border-radius:var(--lv-btn-radius)!important;padding:14px 26px!important;font-weight:600}
.lv-form-card label{font-weight:600;font-size:14px}
/* Gallery */
#gallery .modula{margin-top:28px}
#gallery .modula-item .jtg-description, #gallery .modula-item .description{font-size:12px!important;letter-spacing:.06em}
/* Header */
.site-header .header-navigation .menu > li > a{font-family:var(--lv-sans);font-size:14px;font-weight:500;letter-spacing:.04em}
/* Mobile */
@media (max-width: 781px){
  .lv-stats{grid-template-columns:repeat(2,1fr)}
  .lv-stat:last-child{grid-column:1/-1}
  .lv-hero .wp-block-cover__inner-container{padding-bottom:12vh}
  .lv-hero__buttons{flex-direction:column;align-items:stretch}
  .lv-price-card,.lv-form-card,.lv-card{padding:24px!important}
}
/* Design B: centered hero, thin gold rules */
body.lv-design-b .lv-hero .wp-block-cover__inner-container{text-align:center}
body.lv-design-b .lv-hero__inner{margin:0 auto!important;align-items:center}
body.lv-design-b .lv-hero__lead{margin-left:auto;margin-right:auto}
body.lv-design-b .lv-hero__buttons{justify-content:center}
body.lv-design-b .lv-hero{align-items:center!important}
body.lv-design-b .lv-section h2{font-weight:500;font-size:clamp(34px,4.6vw,52px)}
body.lv-design-b .lv-section h2::after{content:"";display:block;width:56px;height:1px;background:var(--lv-gold);margin-top:18px}
body.lv-design-b .lv-badge{background:transparent;border:1px solid var(--lv-gold);color:var(--lv-gold)}
body.lv-design-b .lv-hero .lv-badge{color:#fff;border-color:#fff}
body.lv-design-b .lv-contact{background:#2A2620}
body.lv-design-b .lv-btn-wa .wp-block-button__link{background:var(--lv-accent)!important}
/* Design C: split hero, bold minimal */
body.lv-design-c .lv-hero{min-height:auto}
@media (min-width: 900px){
  body.lv-design-c .lv-hero{display:grid!important;grid-template-columns:1fr 1fr;min-height:92svh;padding:0!important;background:var(--lv-alt)}
  body.lv-design-c .lv-hero .wp-block-cover__image-background{position:relative!important;grid-column:2;grid-row:1;height:100%!important;width:100%!important}
  body.lv-design-c .lv-hero .wp-block-cover__background{display:none}
  body.lv-design-c .lv-hero .wp-block-cover__inner-container{grid-column:1;grid-row:1;align-self:center;padding:120px 48px 64px!important;color:var(--lv-ink)}
  body.lv-design-c .lv-hero__title,body.lv-design-c .lv-hero__lead{color:var(--lv-ink)!important}
  body.lv-design-c .lv-hero .lv-eyebrow{color:var(--lv-accent)}
  body.lv-design-c .lv-btn-ghost .wp-block-button__link{border-color:var(--lv-ink)!important;color:var(--lv-ink)!important}
}
body.lv-design-c .lv-section h2{text-transform:none;letter-spacing:-.01em}
body.lv-design-c .lv-stats{border-radius:0}

/* --- Fixes after first visual review --- */
/* Hero legibility: soft top + strong bottom gradient instead of a flat dim */
.lv-hero .wp-block-cover__background{background:linear-gradient(180deg,rgba(0,0,0,.45) 0%,rgba(0,0,0,0) 22%,rgba(0,0,0,.05) 45%,rgba(0,0,0,.55) 75%,rgba(0,0,0,.78) 100%)!important;opacity:1!important}
/* Align hero text with the header/content width */
.lv-hero .wp-block-cover__inner-container{max-width:1240px;margin-left:auto;margin-right:auto}
/* The renders carry a "lavivo villa / for sale" mark at the top: crop it out by anchoring the image to the bottom */
@media (max-width: 899px){
  .lv-hero .wp-block-cover__image-background{top:auto!important;bottom:0!important;height:118%!important;object-position:50% 100%!important}
}
/* Design B: center everything in the hero */
body.lv-design-b .lv-hero__lead{text-align:center}
body.lv-design-b .lv-hero .lv-eyebrow{text-align:center}
/* Design C: dark header over the light half, crop the mark on the image half */
@media (min-width: 900px){
  body.lv-design-c .lv-hero .wp-block-cover__image-background{height:118%!important;align-self:end;object-position:50% 100%!important;margin-top:-18%}
  body.lv-design-c .lv-hero{overflow:hidden}
  body.lv-design-c #masthead:not(.item-is-stuck) .site-title,
  body.lv-design-c .transparent-header #masthead .site-branding .site-title{color:var(--lv-ink)!important}
  body.lv-design-c .transparent-header .header-navigation .menu > li > a{color:var(--lv-ink)!important}
  body.lv-design-c .transparent-header .site-header-main-section-right .header-navigation{background:rgba(242,242,239,.9);padding:4px 12px;border-radius:0}
}
body.lv-design-b .lv-hero__inner > *{margin-left:auto!important;margin-right:auto!important;text-align:center}
body.lv-design-b .lv-hero__inner .wp-block-buttons{justify-content:center}
@media (min-width: 900px){
  body.lv-design-c .site-header .header-navigation .header-menu-container > ul > li.menu-item > a,
  body.lv-design-c .site-header .header-navigation .menu > li > a{color:var(--lv-ink)!important}
  body.lv-design-c .site-header .item-is-stuck .header-navigation .header-menu-container > ul > li.menu-item > a{color:#fff!important}
}
.lv-hero .wp-block-cover__inner-container{width:100%!important;max-width:1240px!important;margin-left:auto!important;margin-right:auto!important;box-sizing:border-box}
body.lv-design-b .lv-hero__lead{max-width:640px!important}
@media (min-width: 900px){ body.lv-design-c .lv-hero .wp-block-cover__inner-container{max-width:none!important;margin:0!important} }
body.lv-design-b .lv-hero__lead{max-width:none!important;padding:0 max(0px,calc((100% - 640px) / 2))}
