/* Good: hide only the theme’s header, keep our custom header visible */
body.page-template-template-la-foresta-home .site-header,
body.page-template-template-la-foresta-home .rh-header {
  display: none !important;
}

/* ensure our header is visible */
body.page-template-template-la-foresta-home #laf-site-header {
  display: block !important;
}


/* ===== Custom Header ===== */
.laf-header {
  position: sticky; top: 0; z-index: 1001;
  background: #111; color: #fff; border-bottom: 1px solid rgba(255,255,255,.08);
}
.laf-header-inner {
  max-width: 1200px; margin: 0 auto; padding: 12px 16px;
  display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 12px;
}
.laf-brand img { max-height: 56px; width: auto; height: auto; }
.laf-brand-text { color: #fff; text-decoration: none; font-weight: 700; font-size: 1.25rem; }

/* Burger (mobile) */
.laf-burger { display: none; background: transparent; border: 0; color: #fff; font-size: 22px; cursor: pointer; }

/* Nav */
.laf-nav { display: flex; align-items: center; gap: 18px; }
.laf-menu { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 18px; }
.laf-menu > li > a {
  color: #fff; text-decoration: none; padding: 6px 2px; display: inline-block;
  transition: border-color .2s ease;
}

/* White underline for active items (no green) */
.laf-menu > li.current-menu-item > a,
.laf-menu > li.current-menu-ancestor > a,
.laf-menu > li > a:focus,
.laf-menu > li > a:hover {
  border-bottom: 2px solid #fff;
}

/* Reservation CTA */
.laf-cta {
  margin-left: 8px; padding: 8px 14px; border-radius: 999px;
  background: #c03; color: #fff; text-decoration: none; white-space: nowrap;
}

/* Responsive header */
@media (max-width: 992px) {
  .laf-header-inner { grid-template-columns: 1fr auto; }
  .laf-burger { display: inline-block; }
  .laf-nav {
    position: fixed; inset: 64px 0 auto 0; background: #111;
    display: none; flex-direction: column; gap: 12px; padding: 16px;
    border-bottom: 1px solid rgba(255,255,255,.08);
  }
  .laf-nav.is-open { display: flex; }
  .laf-menu { flex-direction: column; gap: 8px; }
  .laf-menu > li > a { padding: 8px 0; }
  .laf-cta { align-self: flex-start; }
}
@media (min-width: 993px) {
  .laf-nav { display: flex !important; position: static; padding: 0; }
}

/* ===== Page body (Hero/CTAs/Gallery/…) ===== */
#laf-home { --gap: clamp(16px,2vw,24px); font-family: inherit; }

/* HERO */
#laf-home .laf-hero{position:relative;min-height:70vh;overflow:hidden;color:#fff}
#laf-home .laf-hero .slide{position:absolute;inset:0;background:var(--bg) center/cover no-repeat;opacity:0;transition:.6s}
#laf-home .laf-hero .slide.is-active{opacity:1}
#laf-home .laf-hero .inner{position:absolute;inset:auto 0 10% 0;max-width:1100px;margin:auto;padding:0 var(--gap)}
#laf-home .laf-hero .ratings{display:flex;gap:12px;margin:.75rem 0}
#laf-home .laf-hero .usps{display:flex;flex-wrap:wrap;gap:10px}
#laf-home .laf-hero .usp{background:rgba(0,0,0,.5);padding:.5rem .75rem;border-radius:999px}
#laf-home .laf-hero .nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,.4);border:0;color:#fff;font-size:28px;width:40px;height:40px;cursor:pointer}
#laf-home .laf-hero .prev{left:8px}#laf-home .laf-hero .next{right:8px}

/* CTAs */
#laf-home .laf-ctas{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap);padding:40px var(--gap);max-width:1100px;margin:auto}
#laf-home .laf-ctas article{background:#f7f7f7;padding:20px;border-radius:16px;text-align:center}
#laf-home .btn{display:inline-block;padding:.6rem 1rem;border-radius:999px;background:#c03;color:#fff;text-decoration:none}

/* About */
#laf-home .laf-about{display:grid;grid-template-columns:1.3fr .7fr;gap:var(--gap);max-width:1100px;margin:auto;padding:40px var(--gap)}
#laf-home .laf-about .photo{background:#eee;border-radius:16px;min-height:220px}

/* Gallery */
#laf-home .laf-gallery{position:relative;padding:20px 0;background:#111}
#laf-home .laf-gallery .gallery-track{display:flex;gap:8px;overflow:auto;scroll-snap-type:x mandatory;padding:0 var(--gap)}
#laf-home .laf-gallery .gitem{flex:0 0 260px;scroll-snap-align:center}
#laf-home .laf-gallery .gallery-track img{
  width:100%;
  height:180px;
  object-fit:cover;
  border-radius:10px;
}

/* Lightbox */
#laf-home .lightbox{position:fixed;inset:0;background:rgba(0,0,0,.9);display:grid;place-items:center}
#laf-home .lightbox[hidden]{display:none}
#laf-home .lightbox img{max-width:min(92vw,1200px);max-height:90vh}
#laf-home .lb-close{position:absolute;top:10px;right:14px;font-size:32px;color:#fff;background:none;border:0}

/* Reviews */
#laf-home .laf-reviews{max-width:900px;margin:40px auto;padding:0 var(--gap);text-align:center}
#laf-home .laf-reviews blockquote{background:#f7f7f7;margin:10px auto;padding:18px;border-radius:14px}

/* Map + Hours */
#laf-home .laf-map-hours{display:grid;grid-template-columns:1.2fr .8fr;gap:var(--gap);max-width:1100px;margin:auto;padding:40px var(--gap)}
#laf-home .laf-map-hours iframe{width:100%;height:360px;border:0;border-radius:12px}
#laf-home .laf-map-hours .hours ul{list-style:none;margin:0;padding:0}
#laf-home .laf-map-hours .hours li{padding:6px 0;border-bottom:1px solid #eee}

/* Contact */
#laf-home .laf-contact{max-width:700px;margin:40px auto;padding:0 var(--gap)}
#laf-home #laf-contact-form label{display:block;margin-bottom:10px}
#laf-home #laf-contact-form input,#laf-home #laf-contact-form textarea{width:100%;padding:.6rem;border:1px solid #ddd;border-radius:10px}
#laf-home #laf-contact-form .hp{display:none !important}
#laf-home #laf-contact-form .form-msg{margin-top:8px}

/* Responsive body */
@media (max-width: 900px){
  #laf-home .laf-ctas{grid-template-columns:repeat(2,1fr)}
  #laf-home .laf-about{grid-template-columns:1fr}
  #laf-home .laf-map-hours{grid-template-columns:1fr}
}
/* LatePoint button inside CTA section */
.latepoint-btn a,
.latepoint-btn button {
  display:inline-block;
  padding:.6rem 1rem;
  border-radius:999px;
  background:#c03;
  color:#fff !important;
  text-decoration:none;
  border:0;
  line-height:1.2;
  cursor:pointer;
}
.latepoint-btn a:hover,
.latepoint-btn button:hover { filter:brightness(1.05); }
/* Glass panel behind hero text */
#laf-home .laf-hero .inner .panel{
  display:inline-block;
  background: rgba(0,0,0,.35);          /* semi-transparent */
  -webkit-backdrop-filter: blur(4px) saturate(120%);
  backdrop-filter: blur(4px) saturate(120%);
  padding: 16px 20px;
  border-radius: 16px;
  box-shadow: 0 6px 18px rgba(0,0,0,.25);
  max-width: min(92vw, 820px);
}
#laf-home .laf-hero .inner .panel h1,
#laf-home .laf-hero .inner .panel h2,
#laf-home .laf-hero .inner .panel p,
#laf-home .laf-hero .inner .panel .ratings,
#laf-home .laf-hero .inner .panel .usps,
#laf-home .laf-hero .inner .panel a { color:#fff; }

#laf-home .laf-hero .inner .ratings { margin:.5rem 0 .75rem; }
#laf-home .laf-hero .inner .usps .usp{ background:rgba(255,255,255,.14); }
#laf-home .laf-hero .inner .usps .usp:hover{ background:rgba(255,255,255,.22); }

/* Mobile: panel takes full width for readability */
@media (max-width: 640px){
  #laf-home .laf-hero .inner .panel{ display:block; width: calc(100% - 2*var(--gap)); }
}
/* Lightbox image: no crop, keep aspect ratio */
#laf-home .laf-gallery .lightbox {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.9);
  display: grid;
  place-items: center;
}

#laf-home .laf-gallery .lightbox img{
  width: auto;
  height: auto;
  max-width: min(92vw, 1400px);
  max-height: 90vh;
  object-fit: contain;   
  border-radius: 0;
  display: block;
  box-shadow: 0 8px 30px rgba(0,0,0,.5);
}

#laf-home .laf-gallery .lb-close{
  position:absolute; top:10px; right:14px;
  font-size:32px; color:#fff; background:none; border:0; cursor:pointer;
}
/* Thumbs only */
#laf-home .laf-gallery .gallery-track img{
  width:100%;
  height:180px;
  object-fit:cover;
  border-radius:10px;
}

/* Lightbox overlay container */
#laf-home .laf-gallery .lightbox{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.9);
  display:grid;
  place-items:center;
}

/* Lightbox image: never crop, keep aspect */
#laf-home .laf-gallery .lightbox img{
  width:auto !important;
  height:auto !important;
  max-width:96vw !important;
  max-height:90vh !important;
  object-fit:contain !important;
  border-radius:0 !important;
  display:block !important;
}
/* Lightbox nav arrows */
#laf-home .laf-gallery .lightbox .lb-prev,
#laf-home .laf-gallery .lightbox .lb-next{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:44px; height:44px;
  border-radius:50%;
  border:0;
  background:rgba(255,255,255,.15);
  color:#fff; font-size:28px; line-height:44px;
  display:grid; place-items:center;
  cursor:pointer;
}
#laf-home .laf-gallery .lightbox .lb-prev{ left:14px; }
#laf-home .laf-gallery .lightbox .lb-next{ right:14px; }
#laf-home .laf-gallery .lightbox .lb-prev:hover,
#laf-home .laf-gallery .lightbox .lb-next:hover{ background:rgba(255,255,255,.25); }
/* Bottom gradient overlay on slides (helps all text in lower area) */
#laf-home .laf-hero .slide::after{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(to top, rgba(0,0,0,.55) 0%, rgba(0,0,0,.35) 35%, rgba(0,0,0,0) 65%);
  pointer-events:none;
}
/* put overlay BELOW the text */
#laf-home .laf-hero .slide{ position: relative; }
#laf-home .laf-hero .slide::after{
  content:"";
  position:absolute; inset:0;
  background: linear-gradient(to top, rgba(0,0,0,.55) 0%, rgba(0,0,0,.35) 35%, rgba(0,0,0,0) 65%);
  pointer-events:none;
  z-index: 0;                /* overlay below */
}

/* text container above overlay */
#laf-home .laf-hero .inner{
  position: relative;
  z-index: 1;                /* text above */
}

/* keep hero text always bright */
#laf-home .laf-hero h1,
#laf-home .laf-hero h2,
#laf-home .laf-hero p,
#laf-home .laf-hero .ratings,
#laf-home .laf-hero .usps a,
#laf-home .laf-hero .usps a:visited{
  color:#fff !important;
  text-shadow: 0 1px 2px rgba(0,0,0,.35);
}

/* optional: pill links hover */
#laf-home .laf-hero .usps .usp{ background:rgba(255,255,255,.16); }
#laf-home .laf-hero .usps .usp:hover{ background:rgba(255,255,255,.24); }
/* --- HERO: force full-height layout --- */
#laf-home .laf-hero{
  position: relative;
  /*  */
  min-height: 70vh;
  height: clamp(420px, 70vh, 800px);
  overflow: hidden;
}

/*  */
#laf-home .laf-hero .slides{
  position: absolute;
  inset: 0;
}

/*  */
#laf-home .laf-hero .slide{
  position: absolute;
  inset: 0;
  background: var(--bg) center/cover no-repeat;
  opacity: 0;
  transition: opacity .6s ease;
  z-index: 0; /*  */
}
#laf-home .laf-hero .slide.is-active{ opacity: 1; }

/*  */
#laf-home .laf-hero .slide::after{
  content:"";
  position:absolute; inset:0;
  background: linear-gradient(to top, rgba(0,0,0,.55) 0%, rgba(0,0,0,.35) 35%, rgba(0,0,0,0) 65%);
  pointer-events:none;
  z-index: 0; /* */
}

/*   */
#laf-home .laf-hero .inner{
  position: absolute;
  left: 0; right: 0; bottom: 10%;
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 var(--gap);
  z-index: 1; /*  */
}


#laf-home .laf-hero h1,
#laf-home .laf-hero h2,
#laf-home .laf-hero p,
#laf-home .laf-hero .ratings,
#laf-home .laf-hero .usps a,
#laf-home .laf-hero .usps a:visited{
  color:#fff !important;
  text-shadow: 0 1px 2px rgba(0,0,0,.35);
}

*/
#laf-home .laf-hero .nav{
  position:absolute;
  top:50%; transform:translateY(-50%);
  background:rgba(0,0,0,.4);
  border:0; color:#fff; font-size:28px; width:40px; height:40px; cursor:pointer;
  z-index: 2; /*  */
}
#laf-home .laf-hero .prev{ left:8px; }
#laf-home .laf-hero .next{ right:8px; }
/* Reviews aggregate header */
.laf-reviews-aggregate{
  background: #b31d38; /* deep red overlay like sample; adjust if needed */
  color:#fff;
  padding: 36px var(--gap) 28px;
  position: relative;
}
.laf-reviews-aggregate .wrap{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: clamp(12px,2vw,24px);
  max-width:1100px; margin:0 auto;
}
.laf-reviews-aggregate .rating-card{
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 14px;
  padding: 16px 18px;
}
.laf-reviews-aggregate .brand{ font-size: 1.4rem; font-weight: 700; margin-bottom: 6px; }
.laf-reviews-aggregate .stars{ letter-spacing: 4px; font-size: 20px; line-height:1; margin: 6px 0; }
.laf-reviews-aggregate .meta a{ color:#fff; text-decoration: underline; text-underline-offset: 2px; }
.laf-reviews-aggregate .title{
  text-align:center; margin: 28px auto 14px; font-size: clamp(1.2rem, 2.8vw, 1.6rem);
  max-width:1100px;
}

/* Testimonial slider */
.laf-reviews-aggregate .t-slider{
  position: relative; max-width: 840px; margin: 0 auto 8px;
}
.laf-reviews-aggregate .t-track{ position: relative; overflow: hidden; }
.laf-reviews-aggregate .t-item{
  background:#fff; color:#222; border-radius:12px; border:1px solid #eee;
  padding:16px 18px; box-shadow:0 8px 24px rgba(0,0,0,.15);
  position:absolute; inset:0; opacity:0; transform: translateX(10%); transition:.35s ease;
}
.laf-reviews-aggregate .t-item.is-active{ opacity:1; transform: translateX(0); position:relative; }
.laf-reviews-aggregate .t-item header{
  display:flex; align-items:center; gap:10px; margin-bottom:6px; flex-wrap:wrap;
}
.laf-reviews-aggregate .t-item .src{ color:#888; font-size:.9rem; }
.laf-reviews-aggregate .t-item .t-stars{ margin-left:auto; color:#ffb400; letter-spacing:2px; }

/* Slider arrows */
.laf-reviews-aggregate .t-prev,
.laf-reviews-aggregate .t-next{
  position:absolute; top:50%; transform:translateY(-50%);
  width:38px; height:38px; border-radius:50%; border:0;
  background:rgba(255,255,255,.2); color:#fff; font-size:24px; display:grid; place-items:center;
  cursor:pointer;
}
.laf-reviews-aggregate .t-prev{ left:-46px; }
.laf-reviews-aggregate .t-next{ right:-46px; }
.laf-reviews-aggregate .t-prev:hover,
.laf-reviews-aggregate .t-next:hover{ background:rgba(255,255,255,.3); }

/* Slider dots */
.laf-reviews-aggregate .t-dots{ display:flex; gap:8px; justify-content:center; margin-top:10px; }
.laf-reviews-aggregate .t-dots button{
  width:8px; height:8px; border-radius:50%; border:0; background:rgba(255,255,255,.45); cursor:pointer;
}
.laf-reviews-aggregate .t-dots button.is-active{ background:#fff; }

/* Responsive */
@media (max-width: 980px){
  .laf-reviews-aggregate .wrap{ grid-template-columns:1fr; }
  .laf-reviews-aggregate .t-prev{ left:6px; }
  .laf-reviews-aggregate .t-next{ right:6px; }
}
/* Phone strip */
#laf-home .laf-phone-strip{
  background:#0f172a; /* dark navy */
  color:#fff;
  padding: 10px 0;
}
#laf-home .laf-phone-strip .inner{
  max-width:1100px; margin:0 auto; padding:0 var(--gap);
  display:flex; gap:10px; align-items:center; justify-content:center;
  font-size: clamp(1rem, 2.4vw, 1.2rem);
}
#laf-home .laf-phone-strip .tel{
  display:inline-block; padding:6px 12px; border-radius:999px;
  background:#b31d38; color:#fff; text-decoration:none; font-weight:700;
}
#laf-home .laf-phone-strip .tel:hover{ filter:brightness(1.05); }
/* Hide theme/Elementor footers on our custom page */
body.page-template-template-la-foresta-home .site-footer,
body.page-template-template-la-foresta-home .rh-footer,
body.page-template-template-la-foresta-home .hfe-footer,
body.page-template-template-la-foresta-home .elementor-location-footer{
  display:none !important;
}

/* Footer base */
#laf-footer{
  --c1:#1f5063; --c2:#215f79; /* gradient like sample */
  color:#fff; background: linear-gradient(180deg, var(--c1), var(--c2));
}
#laf-footer a{ color:#fff; text-decoration:none; }
#laf-footer a:hover{ text-decoration:underline; }

#laf-footer .wrap{
  max-width:1100px; margin:0 auto; padding:28px var(--gap);
  display:grid; gap:28px;
  grid-template-columns: 1.3fr 1fr 1fr;
  align-items:flex-start;
}

/* Vertical dotted separators like screenshot */
#laf-footer .col{ position:relative; padding:0 24px; }
#laf-footer .col + .col::before{
  content:""; position:absolute; left:0; top:0; bottom:0;
  width:1px; border-left:2px dotted rgba(255,255,255,.35);
  transform: translateX(-12px);
}

/* Column content */
#laf-footer .logo img{ height:70px; width:auto; }
#laf-footer .brand-name{ margin:.6rem 0 0; font-size:1.25rem; }
#laf-footer address{ font-style:normal; margin:.6rem 0 0; line-height:1.6; }

#laf-footer h4{ margin:0 0 .6rem; font-size:1.05rem; }
#laf-footer .foot-menu{ list-style:none; margin:0; padding:0; display:grid; gap:8px; }
#laf-footer .hours{ list-style:none; margin:0 0 10px; padding:0; display:grid; gap:6px; }
#laf-footer .hours li{ display:flex; justify-content:space-between; gap:14px; }
#laf-footer .hours li span{ opacity:.9; }
#laf-footer .hours li strong{ font-weight:700; }

#laf-footer .payments{ display:flex; gap:10px; flex-wrap:wrap; }
#laf-footer .payments .badge{
  border:1px solid rgba(255,255,255,.35);
  border-radius:6px; padding:4px 8px; font-size:.85rem; background:rgba(255,255,255,.08);
}

/* Bottom bar */
#laf-footer .bottom{
  border-top:1px solid rgba(255,255,255,.25);
  display:flex; justify-content:center; gap:16px; padding:10px var(--gap);
  font-size:.95rem; color:#dce3ea;
}
#laf-footer .bottom .by a{ text-decoration:underline; text-underline-offset:2px; }

/* Responsive */
@media (max-width:1000px){
  #laf-footer .wrap{ grid-template-columns:1fr 1fr; }
  #laf-footer .hours li{ gap:10px; }
}
@media (max-width:640px){
  #laf-footer .wrap{ grid-template-columns:1fr; }
  #laf-footer .col{ padding:0; }
  #laf-footer .col + .col::before{ display:none; }
  #laf-footer .bottom{ flex-direction:column; text-align:center; }
}
/* default gap if not defined somewhere else */
:root { --gap: 16px; }

/* Header & buttons on top in mobile */
.laf-header{ z-index: 3000; }
.laf-burger{ z-index: 3001; position: relative; }

/* Hero arrows above overlay (mobile) */
#laf-home .laf-hero .nav{ z-index: 2; }

/* Mobile nav panel location */
@media (max-width: 992px){
  .laf-nav{
    position: fixed;
    top: 60px; left: 0; right: 0; /* below header */
    background: #111; display: none; flex-direction: column;
    gap: 12px; padding: 16px; border-bottom: 1px solid rgba(255,255,255,.08);
  }
  .laf-nav.is-open{ display: flex; }
}

/* Lightbox on top of everything */
#laf-home .laf-gallery .lightbox{ z-index: 5000; }

/* Map: ensure visible on mobile */
#laf-home .laf-map-hours .map iframe{
  display:block;
  width:100%;
  min-height: 320px; /* 4:3-ish */
  border:0; border-radius:12px;
}

/* Footer: safe padding on phones and not hugging edges */
#laf-footer .wrap{ padding: 24px var(--gap); }
#laf-footer .col{ padding: 0 8px; }
@media (max-width:640px){
  #laf-footer .wrap{ grid-template-columns:1fr; }
  #laf-footer .col{ padding: 0; }
}

/* Make copyright row visible above bottom nav bars */
@media (max-width:640px){
  #laf-footer{ padding-bottom: 70px; } /* space for bottom app bars */
}

/* Tight text edges in whole footer on very small widths */
@media (max-width:400px){
  #laf-footer .wrap{ padding-left: 14px; padding-right: 14px; }
}

/* Optional: ensure page content not hidden behind floating bottom tabs */
@media (max-width:640px){
  #laf-home{ scroll-padding-bottom: 80px; }
}
/* Map container: fix for mobile sizing & iOS rendering */
#laf-home .laf-map-hours .map{
  position: relative;
  -webkit-transform: translateZ(0); /* iOS repaint fix */
          transform: translateZ(0);
}

#laf-home .laf-map-hours .map iframe{
  display:block;
  width:100%;
  height: 360px;     
  border:0;
  border-radius:12px;
}

@supports (aspect-ratio: 16/9){
  #laf-home .laf-map-hours .map iframe{
    height:auto;
    aspect-ratio: 16 / 9; 
    min-height: 300px;    
  }
}

#laf-home .laf-map-hours .map iframe.is-lazy,
#laf-home .laf-map-hours .map iframe.lazyloaded{
  opacity:1 !important;
  visibility:visible !important;
}

@media (max-width:640px){
  #laf-footer{ padding-bottom: 70px; }
}
/* Leaflet map box */
#laf-home #laf-map{
  width:100%;
  height:420px;         /* روی موبایل هم ارتفاع قطعی دارد */
  border-radius:12px;
  overflow:hidden;
  box-shadow:0 6px 18px rgba(0,0,0,.12);
}
.leaflet-container{ border-radius:12px; }
@supports (aspect-ratio: 16/9){
  #laf-home #laf-map{ height:auto; aspect-ratio: 16/10; min-height:320px; }
}
/* Contact form styling */
#laf-home .laf-contact{ max-width: 760px; margin:40px auto; padding:0 var(--gap); }
#laf-contact-form{ background:#fff; border:1px solid #eee; border-radius:16px; padding:20px; box-shadow:0 8px 24px rgba(0,0,0,.06); }
#laf-contact-form .row{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
#laf-contact-form label{ display:block; font-weight:600; margin-bottom:10px; }
#laf-contact-form input, #laf-contact-form textarea{
  width:100%; margin-top:6px; padding:.65rem .8rem;
  border:1px solid #d7d7d7; border-radius:10px; font-weight:400; background:#fafafa;
}
#laf-contact-form textarea{ min-height:140px; resize:vertical; }
#laf-contact-form .hp{ display:none !important; }

/* Button with spinner */
#laf-contact-form .btn{
  display:inline-flex; align-items:center; gap:10px;
  padding:.7rem 1.1rem; border-radius:999px; border:0; cursor:pointer;
  background:#b31d38; color:#fff; margin-top:6px;
}
#laf-contact-form .spinner{
  width:16px; height:16px; border:2px solid #fff; border-top-color:transparent; border-radius:50%;
  display:none; animation: lafspin .8s linear infinite;
}
@keyframes lafspin{ to{ transform:rotate(360deg);} }

/* Messages */
#laf-contact-form .form-msg{ margin-top:10px; font-weight:600; }
#laf-contact-form .form-msg.success{ color:#1f8a34; }
#laf-contact-form .form-msg.error{ color:#c81e32; }

/* Mobile */
@media (max-width:700px){
  #laf-contact-form .row{ grid-template-columns:1fr; }
}
