.elementor-283 .elementor-element.elementor-element-eb3d16b{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-283 .elementor-element.elementor-element-eb3d16b:not(.elementor-motion-effects-element-type-background), .elementor-283 .elementor-element.elementor-element-eb3d16b > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-24f7376 );}.elementor-283 .elementor-element.elementor-element-eb3d16b.e-con{--align-self:flex-end;--flex-grow:0;--flex-shrink:0;}.elementor-283 .elementor-element.elementor-element-b448ac7{--divider-border-style:solid;--divider-color:var( --e-global-color-primary );--divider-border-width:1px;width:var( --container-widget-width, 30% );max-width:30%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:24px 0px 0px 0px;--container-widget-width:30%;--container-widget-flex-grow:0;}.elementor-283 .elementor-element.elementor-element-b448ac7.elementor-element{--align-self:center;}.elementor-283 .elementor-element.elementor-element-b448ac7 .elementor-divider-separator{width:100%;margin:0 auto;margin-center:0;}.elementor-283 .elementor-element.elementor-element-b448ac7 .elementor-divider{text-align:center;padding-block-start:2px;padding-block-end:2px;}.elementor-283 .elementor-element.elementor-element-3b7c2e0{--display:flex;--align-items:stretch;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-283 .elementor-element.elementor-element-3b7c2e0:not(.elementor-motion-effects-element-type-background), .elementor-283 .elementor-element.elementor-element-3b7c2e0 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-24f7376 );}.elementor-283 .elementor-element.elementor-element-d844633{width:100%;max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(max-width:1280px) and (min-width:768px){.elementor-283 .elementor-element.elementor-element-eb3d16b{--width:1525.2px;}}/* Start custom CSS for html, class: .elementor-element-d844633 *//* =========================================================
   EUPHORIA — FOOTER (FINAL CONSOLIDATED + LOCKED)
   ---------------------------------------------------------
   • Desktop: 4-col; Tablet: 2-col; Mobile: 1-col
   • Brand: inline on desktop/tablet; stacked on mobile
   • Desktop: company name lowered (hard-locked)
   • Button: black text (normal) → soft gray (hover)
   • Description: light gray, sentence case, left-aligned, narrower
   • Tablet/Mobile: phone + email centered
   • Elementor safety overrides retained
   ========================================================= */


/* ========== 1) DESIGN TOKENS ========== */
:root{
  --footer-bg:#0A0A0A;
  --text:#EDEDED;
  --gold:#D4AF37;
  --muted:#BBBBBB;
  --border:rgba(255,255,255,0.10);
  --radius:12px;
}


/* ========== 2) WRAPPER & TYPE ========== */
footer.site-footer{
  background:var(--footer-bg);
  color:var(--text);
  padding:0 1vw 6px;
  font-family:'Lato',sans-serif;
  font-size:14px;
  line-height:1.6;
}


/* ========== 3) GRID ========== */
.footer-container{
  display:grid;
  grid-template-columns:1.1fr 1.1fr 1.1fr 1.1fr;
  gap:3rem;
  max-width:1400px;
  margin:0 auto 24px;
}

@media (max-width:1024px){
  .footer-container{ grid-template-columns:repeat(2,1fr); }
}

@media (max-width:768px){
  footer.site-footer{ padding:40px 6vw; }
  .footer-container{ grid-template-columns:1fr; gap:2rem; }
  .footer-column{ text-align:center; }
}

footer.site-footer iframe{ border-radius:10px; } /* optional nicety */


/* ========== 4) BRAND (logo + name) ========== */
/* Desktop/Tablet base */
.footer-brand-row{
  display:inline-flex;
  align-items:center;
  gap:.6rem;
  margin-bottom:1rem;
}
.footer-brand-mark{
  width:75px;
  height:auto;
  object-fit:contain;
  display:block;
}
.footer-brand-name{
  margin:0;
  color:var(--gold);
  font-family:'Playfair Display',serif;
  font-size:1.5rem;
  line-height:1.1;
}

/* Mobile: stack + subtle right nudge on logo */
@media (max-width:768px){
  footer.site-footer .footer-brand-row{
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:.3rem !important;
    margin-bottom:.75rem;
  }
  footer.site-footer .footer-brand-row .footer-brand-mark{
    width:70px !important;
    height:auto !important;
    margin:0 auto !important;
    position:relative;
    left:12px; /* safe, no horizontal scroll */
  }
  footer.site-footer .footer-brand-row .footer-brand-name{
    text-align:center !important;
    margin:.2rem 0 0 0;
    font-size:1.3rem !important;
    line-height:1.2;
  }
  footer.site-footer .footer-column:first-of-type{ text-align:center !important; }
}


/* ========== 5) HEADERS & TEXT ========== */
.footer-column h4{
  color:var(--gold);
  font-family:'Playfair Display',serif;
  font-size:1.1rem;
  margin:0 0 1.2rem;
}
.footer-column p,
.footer-column li{
  font-size:0.95rem;
  color:var(--text);
  margin:0.3rem 0;
}
.footer-column ul{ list-style:none; padding:0; margin:0; }
.footer-column li{ margin:6px 0; }


/* ========== 6) LINKS ========== */
.footer-column a,
.footer-bottom a{
  color:var(--text);
  text-decoration:none;
  transition:color .2s ease;
}
.footer-column a:hover,
.footer-bottom a:hover{
  color:var(--gold);
  text-decoration:underline;
  text-underline-offset:2px;
}


/* ========== 7) BOOK NOW BUTTON ========== */
footer.site-footer .footer-column a.btn-gold,
footer.site-footer a.btn-gold{
  display:inline-block;
  margin-top:1rem;
  padding:10px 22px;
  background:var(--gold);
  color:#000 !important;                /* black by default */
  border-radius:var(--radius);
  text-decoration:none !important;
  font-weight:600;
  transition:color .25s ease, filter .25s ease, transform .15s ease;
}
footer.site-footer .footer-column a.btn-gold:hover,
footer.site-footer a.btn-gold:hover{
  color:#F2F2F2 !important;            /* soft gray on hover */
  filter:brightness(1.05);
  transform:translateY(-1px);
}

/* Keep hover color for regular links — but NOT the button */
footer.site-footer .footer-column a:not(.btn-gold):hover,
footer.site-footer .footer-bottom a:not(.btn-gold):hover{
  color:var(--gold) !important;
  text-decoration:underline;
  text-underline-offset:2px;
}


/* ========== 8) BOTTOM STRIP ========== */
.footer-bottom{
  border-top:1px solid var(--border);
  text-align:center;
  font-size:.85rem;
  color:var(--muted);
  padding-top:20px;
  margin-top:24px;
}


/* ========== 9) DESCRIPTION ROW ========== */
footer.site-footer .footer-description-row{
  max-width:1100px;
  margin:16px auto 0;
  padding-top:12px;
  border-top:1px solid var(--border);
  text-align:left !important;
}
footer.site-footer .footer-description-row .footer-desc{
  color:var(--muted) !important;
  text-transform:none !important;      /* sentence/mixed case */
  max-width:80ch !important;           /* 56–80ch reads well */
  line-height:1.5;
  margin:0;
  text-align:left !important;
}
/* Fallback if description lives in first column as last <p> */
footer.site-footer .footer-container .footer-column:first-of-type > p:last-of-type{
  text-transform:none !important;
  color:var(--muted) !important;
  max-width:80ch !important;
  line-height:1.5;
  margin:0;
  text-align:left !important;
}


/* ========== 10) VISIBILITY / ELEMENTOR SAFETY ========== */
footer.site-footer,
footer.site-footer .footer-column,
footer.site-footer .footer-column p,
footer.site-footer .footer-column li,
footer.site-footer .footer-column a,
footer.site-footer .footer-bottom,
footer.site-footer .footer-bottom a{
  color:#EDEDED !important;
}
footer.site-footer .footer-column h4,
footer.site-footer .footer-brand-name{
  color:#D4AF37 !important;
}
footer.site-footer *{
  --e-global-color-text:#EDEDED;
  --e-global-color-secondary:#EDEDED;
  --e-global-color-accent:#D4AF37;
}


/* ========== 11) TABLET & MOBILE CONTACT ALIGNMENT ========== */
@media (max-width:1024px){
  footer.site-footer .footer-column:first-of-type p,
  footer.site-footer .footer-column:first-of-type a[href^="tel"],
  footer.site-footer .footer-column:first-of-type a[href^="mailto"]{
    text-align:center !important;
    display:block;
    margin:0 auto;
  }
}


/* ========== 12) DESKTOP HARD-LOCK (KEEP NAME LOWERED) ========== */
/* This MUST remain at the end to beat any theme/minifier reordering. */
@media (min-width:1025px){
  footer.site-footer .footer-container .footer-column:first-of-type .footer-brand-row{
    align-items:flex-start !important; /* anchor from top */
  }
  footer.site-footer .footer-container .footer-column:first-of-type
  .footer-brand-row .footer-brand-name.footer-brand-name{
    transform:translateY(27px) !important; /* adjust 14–22px if desired */
    margin-top:0 !important;
    top:0 !important;
    display:inline-block !important;
  }
}
/* Fix mobile logo centering */
@media (max-width:768px){
  footer.site-footer .footer-brand-row .footer-brand-mark{
    left:0 !important;
  }
}/* End custom CSS */