
#footer,#footer-bottom,#footer-callout-wrap{display:none!important}
.lpf-shell{--ink:#151311;--paper:#f2eee8;--gold:#d1aa45;--muted:#aaa097;--line:rgba(255,255,255,.12);font-family:inherit;background:#11100f;color:#fff}
.lpf-shell *{box-sizing:border-box}.lpf-shell a{text-decoration:none}
.lpf-cta{max-width:1240px;margin:0 auto;display:flex;justify-content:space-between;align-items:flex-end;gap:42px;padding:54px 42px;background:linear-gradient(120deg,#ede5d9,#f7f3ed);color:var(--ink);border-radius:28px 28px 0 0}
.lpf-cta-copy{max-width:760px}.lpf-cta-copy>p,.lpf-card-kicker,.lpf-social-zone>p{font-size:12px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;margin:0 0 9px}.lpf-cta h2{font-size:clamp(28px,4vw,52px);line-height:1.02;letter-spacing:-.03em;margin:0 0 12px}.lpf-cta-copy>span{font-size:16px;line-height:1.6;color:#625b54}
.lpf-cta-actions{display:flex;gap:10px;flex-wrap:wrap}.lpf-btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 18px;border-radius:999px;font-size:13px;font-weight:800}.lpf-btn-gold{background:var(--ink);color:#fff!important}.lpf-btn-outline{border:1px solid #302b27;color:#201d1a!important}
.lpf-footer{max-width:1240px;margin:0 auto;padding:54px 42px 26px;background:radial-gradient(circle at 20% 0,rgba(185,139,54,.12),transparent 35%),linear-gradient(180deg,#141210,#0d0c0b);border-radius:0 0 28px 28px}
.lpf-top{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:70px;padding-bottom:42px;border-bottom:1px solid var(--line)}
.lpf-logo{display:inline-flex;flex-direction:column;color:#fff!important;line-height:1}.lpf-logo>span{font-size:36px;font-weight:900;letter-spacing:.035em}.lpf-logo>small{font-size:10px;letter-spacing:.18em;margin-top:6px;color:#bbae9e}.lpf-brand-line{font-size:16px;font-weight:800;margin:20px 0 8px}.lpf-description{max-width:620px;color:#bdb4aa;font-size:15px;line-height:1.7;margin:0 0 16px}.lpf-official{display:flex;align-items:center;gap:8px;color:#d5c9bb;font-size:13px}.lpf-official i{width:8px;height:8px;border-radius:50%;background:var(--gold);box-shadow:0 0 18px rgba(209,170,69,.6)}
.lpf-social-zone{margin-top:25px}.lpf-socials{display:flex;gap:10px;flex-wrap:wrap}.lpf-social{display:inline-flex;min-height:44px;align-items:center;gap:8px;padding:8px 13px;border:1px solid var(--line);border-radius:999px;color:#fff!important}.lpf-social>span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#fff;color:#111;font-weight:900}.lpf-social b{font-size:13px}
.lpf-contact-card{padding:26px;border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.035)}.lpf-contact-card h3{font-size:22px;margin:0 0 12px}.lpf-contact-card address{font-style:normal;color:#bdb4aa;font-size:14px}.lpf-contact-links{display:flex;flex-direction:column;margin:14px 0}.lpf-contact-links a,.lpf-newsletter{display:flex;align-items:center;min-height:42px;color:#fff!important;font-size:14px}.lpf-hours{display:flex;flex-direction:column;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:#bdb4aa;font-size:13px;line-height:1.6}.lpf-hours strong{color:#fff;margin-bottom:4px}.lpf-newsletter{justify-content:space-between;margin-top:10px;color:#e0c472!important}
.lpf-navigation{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;padding:40px 0;border-bottom:1px solid var(--line)}.lpf-nav-title{width:100%;display:flex;justify-content:space-between;align-items:center;background:none;border:0;color:#fff;padding:0 0 11px;font:inherit;font-size:14px;font-weight:800;text-align:left;cursor:default}.lpf-nav-title i{display:none}.lpf-menu{list-style:none;padding:0;margin:0}.lpf-menu li{margin:0}.lpf-menu a{display:flex;align-items:center;min-height:40px;color:#aaa097!important;font-size:13px;border-bottom:1px solid transparent}.lpf-menu a:hover,.lpf-menu a:focus-visible{color:#fff!important;border-color:rgba(209,170,69,.45);outline:none}
.lpf-network{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:28px 0;border-bottom:1px solid var(--line)}.lpf-network a{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:14px;padding:17px;border:1px solid var(--line);border-radius:17px;color:#fff!important;min-height:86px}.lpf-network a>span{grid-row:1/3;color:#d7b65e;font-weight:800;font-size:12px}.lpf-network strong{font-size:16px}.lpf-network small{font-size:12px;color:#aaa097;line-height:1.35}
.lpf-bottom{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-top:24px;color:#8f877e}.lpf-bottom p{font-size:12px;margin:0}.lpf-bottom>div{display:flex;gap:12px;flex-wrap:wrap}.lpf-bottom span{font-size:12px}
@media(max-width:820px){.lpf-cta,.lpf-footer{border-radius:0;padding-left:22px;padding-right:22px}.lpf-cta{flex-direction:column;align-items:flex-start}.lpf-top{grid-template-columns:1fr;gap:34px}.lpf-navigation{grid-template-columns:1fr;gap:0}.lpf-nav-column{border-bottom:1px solid var(--line)}.lpf-nav-title{min-height:52px;padding:0;cursor:pointer}.lpf-nav-title i{display:block;font-style:normal;font-size:20px}.lpf-nav-content{display:none;padding-bottom:12px}.lpf-nav-column.is-open .lpf-nav-content{display:block}.lpf-nav-column.is-open .lpf-nav-title i{transform:rotate(45deg)}.lpf-network{grid-template-columns:1fr}.lpf-bottom{align-items:flex-start;flex-direction:column}.lpf-menu a{min-height:44px}}
@media(max-width:480px){.lpf-cta-actions{width:100%}.lpf-btn{width:100%}.lpf-logo>span{font-size:31px}}


/* 1.3.1 full-owner hardening */
.lpf-full-owner{display:block!important;visibility:visible!important;opacity:1!important;position:relative;z-index:1}
.lpf-social-zone{display:block!important}
.lpf-socials{display:flex!important}
.lpf-social{min-width:156px}
.lpf-social-copy{display:flex;flex-direction:column;line-height:1.15}
.lpf-social-copy b{font-size:13px}
.lpf-social-copy small{font-size:11px;color:#aaa097;margin-top:3px}
.lpf-client-links{display:flex;flex-wrap:wrap;gap:8px;padding:22px 0;border-bottom:1px solid var(--line)}
.lpf-client-links a{display:inline-flex;align-items:center;min-height:42px;padding:7px 12px;border:1px solid var(--line);border-radius:999px;color:#d8d0c7!important;font-size:12px}
.lpf-client-links a:hover,.lpf-client-links a:focus-visible{color:#fff!important;border-color:rgba(209,170,69,.55);outline:none}
@media(max-width:820px){
 .lpf-socials{display:grid!important;grid-template-columns:1fr 1fr}
 .lpf-social{min-width:0;width:100%}
 .lpf-client-links{display:grid;grid-template-columns:1fr 1fr}
 .lpf-client-links a{justify-content:center;text-align:center;min-height:44px}
}
@media(max-width:460px){
 .lpf-socials,.lpf-client-links{grid-template-columns:1fr}
}


/* Footer Owner 2027 takeover: suppress any older Lucaffè footer render. */
body .lpf-shell{display:none!important}
body #lucaffe-footer-owner-2027{display:block!important;visibility:visible!important;opacity:1!important}
body #lucaffe-footer-owner-2027 .lpf-shell{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}
body #lucaffe-footer-owner-2027 .lpf-social-zone,
body #lucaffe-footer-owner-2027 .lpf-socials,
body #lucaffe-footer-owner-2027 .lpf-client-links{
  visibility:visible!important;
  opacity:1!important;
}


/* ==========================================================
   Footer Owner 2027 v1.1.0 — TRUE FULL-VIEWPORT WIDTH
   Fixes Total/WPBakery/container constraints on wide screens.
   ========================================================== */

html,
body {
  max-width: 100%;
}

body {
  overflow-x: clip;
}

/* Break the owner out of ANY centered/max-width theme or builder parent. */
body #lucaffe-footer-owner-2027 {
  position: relative !important;
  left: auto !important;
  right: auto !important;
  width: 100vw !important;
  max-width: 100vw !important;
  min-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding: 0 !important;
  transform: none !important;
  clear: both !important;
}

/* The shell and visible footer must themselves own the entire viewport. */
body #lucaffe-footer-owner-2027 .lpf-shell {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  overflow: hidden;
}

body #lucaffe-footer-owner-2027 .lpf-cta,
body #lucaffe-footer-owner-2027 .lpf-footer {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  border-radius: 0 !important;
}

/* Luxury wide-screen rhythm. */
body #lucaffe-footer-owner-2027 .lpf-cta {
  padding-left: max(42px, calc((100vw - 1760px) / 2)) !important;
  padding-right: max(42px, calc((100vw - 1760px) / 2)) !important;
}

body #lucaffe-footer-owner-2027 .lpf-footer {
  padding-left: max(42px, calc((100vw - 1760px) / 2)) !important;
  padding-right: max(42px, calc((100vw - 1760px) / 2)) !important;
}

/* Keep every information layer wide, centered and readable on 2K/4K screens. */
body #lucaffe-footer-owner-2027 .lpf-top,
body #lucaffe-footer-owner-2027 .lpf-navigation,
body #lucaffe-footer-owner-2027 .lpf-client-links,
body #lucaffe-footer-owner-2027 .lpf-network,
body #lucaffe-footer-owner-2027 .lpf-bottom {
  width: 100% !important;
  max-width: 1760px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Wider desktop composition. */
@media (min-width: 1280px) {
  body #lucaffe-footer-owner-2027 .lpf-top {
    grid-template-columns: minmax(0, 1.45fr) minmax(360px, .55fr);
    gap: clamp(64px, 6vw, 120px);
  }

  body #lucaffe-footer-owner-2027 .lpf-navigation {
    grid-template-columns: repeat(4, minmax(190px, 1fr));
    gap: clamp(36px, 4vw, 80px);
  }

  body #lucaffe-footer-owner-2027 .lpf-network {
    gap: 18px;
  }
}

/* Preserve sane tablet/mobile padding after the viewport breakout. */
@media (max-width: 820px) {
  body #lucaffe-footer-owner-2027 {
    width: 100vw !important;
    min-width: 100vw !important;
  }

  body #lucaffe-footer-owner-2027 .lpf-cta,
  body #lucaffe-footer-owner-2027 .lpf-footer {
    padding-left: 22px !important;
    padding-right: 22px !important;
  }
}

@media (max-width: 480px) {
  body #lucaffe-footer-owner-2027 .lpf-cta,
  body #lucaffe-footer-owner-2027 .lpf-footer {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
}


/* ==========================================================
   Footer Owner 2027 v1.1.1 — CENTERED CTA CARD
   The footer stays true 100vw; the CTA becomes a centered
   luxury card instead of a viewport-wide strip.
   ========================================================== */

/* Undo v1.1.0's full-width CTA treatment only for the CTA. */
body #lucaffe-footer-owner-2027 .lpf-cta {
  box-sizing: border-box !important;
  position: relative !important;
  width: min(1480px, calc(100vw - 72px)) !important;
  max-width: 1480px !important;
  min-width: 0 !important;

  /* Center against viewport even if a theme parent has odd alignment. */
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) !important;

  margin: 34px 0 0 !important;

  /* Normal card padding; no 2K/4K viewport-derived giant padding. */
  padding:
    clamp(34px, 3.4vw, 62px)
    clamp(30px, 4vw, 72px) !important;

  border-radius: 26px !important;
  overflow: hidden !important;
}

/* Keep CTA composition balanced and centered on wide desktop. */
body #lucaffe-footer-owner-2027 .lpf-cta-copy {
  width: min(760px, 100%) !important;
  max-width: 760px !important;
}

body #lucaffe-footer-owner-2027 .lpf-cta-actions {
  margin-left: auto !important;
  justify-content: flex-end !important;
  align-items: center !important;
}

/* The actual dark footer remains full viewport width. */
body #lucaffe-footer-owner-2027 .lpf-footer {
  width: 100% !important;
  max-width: none !important;
  margin: 34px 0 0 !important;
  border-radius: 0 !important;
}

/* Large/4K monitors: card stays comfortably centered, never lost at left. */
@media (min-width: 1800px) {
  body #lucaffe-footer-owner-2027 .lpf-cta {
    width: min(1540px, calc(100vw - 120px)) !important;
    max-width: 1540px !important;
  }
}

/* Tablet/mobile: centered card with practical edge gutters. */
@media (max-width: 820px) {
  body #lucaffe-footer-owner-2027 .lpf-cta {
    width: calc(100vw - 32px) !important;
    max-width: calc(100vw - 32px) !important;
    margin-top: 20px !important;
    padding: 28px 22px !important;
    border-radius: 20px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
  }

  body #lucaffe-footer-owner-2027 .lpf-cta-actions {
    margin-left: 0 !important;
    justify-content: flex-start !important;
  }

  body #lucaffe-footer-owner-2027 .lpf-footer {
    margin-top: 20px !important;
  }
}

@media (max-width: 480px) {
  body #lucaffe-footer-owner-2027 .lpf-cta {
    width: calc(100vw - 24px) !important;
    max-width: calc(100vw - 24px) !important;
    padding: 24px 18px !important;
    border-radius: 18px !important;
  }
}
