/* Safina Caterers V5.1 — shared UI/UX safety layer */
:root{--safina-navy:#050608;--safina-navy-2:#0b1320;--safina-gold:#d4af37;--safina-gold-2:#f0d76d;--safina-green:#1fa85a;--safina-cream:#fffaf0;--safina-text:#eef3f8;--safina-muted:#9aa6b5;--safina-line:rgba(212,175,55,.22);--safina-safe-bottom:env(safe-area-inset-bottom,0px)}
html{scroll-padding-top:84px}
body.safina-public-page{overflow-x:hidden}
body.safina-public-page a,body.safina-react-page a{-webkit-tap-highlight-color:transparent}
body.safina-public-page :focus-visible,body.safina-react-page :focus-visible{outline:3px solid rgba(212,175,55,.55);outline-offset:2px}
.safina-skip-link{position:fixed;left:12px;top:8px;transform:translateY(-180%);z-index:300;background:#fff;color:#07111f;padding:10px 14px;border-radius:10px;font-weight:800;box-shadow:0 12px 30px rgba(0,0,0,.18);transition:transform .2s ease}
.safina-skip-link:focus{transform:translateY(0)}
.safina-static-nav{position:sticky;top:0;z-index:60;background:rgba(5,6,8,.96);backdrop-filter:blur(12px);border-bottom:1px solid rgba(212,175,55,.18);box-shadow:0 8px 24px rgba(0,0,0,.12)}
.safina-static-nav-inner{max-width:1180px;margin:0 auto;min-height:68px;padding:10px 22px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.safina-static-brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;min-width:0}
.safina-static-brand img{width:40px;height:40px;border-radius:50%;object-fit:cover;border:2px solid var(--safina-gold);flex:0 0 auto}
.safina-static-brand strong{display:block;color:var(--safina-gold);font-size:12px;letter-spacing:.1em;line-height:1.1}
.safina-static-brand span{display:block;color:#aeb9c6;font-size:10px;margin-top:3px}
.safina-static-links{display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:flex-end}
.safina-static-links a{color:#e8edf4;text-decoration:none;font-size:13px;font-weight:750;white-space:nowrap}
.safina-static-links a:hover{color:var(--safina-gold-2)}
.safina-static-links .quote{padding:9px 14px;border-radius:999px;background:var(--safina-gold);color:#07111f}
.safina-static-menu{display:none}
.safina-static-mobile-links[hidden]{display:none!important}
/* V5.26: mobile navigation dropdown — vertical, readable and layered above page content. */
.safina-static-mobile-links{display:none}
.safina-static-mobile-links a{display:block;color:#f4f6f8;text-decoration:none;font-size:15px;font-weight:750;line-height:1.25;padding:13px 14px;border-bottom:1px solid rgba(212,175,55,.14);transition:background .18s ease,color .18s ease}
.safina-static-mobile-links a:hover,.safina-static-mobile-links a:focus-visible{color:#ffe98b;background:rgba(212,175,55,.08);text-decoration:none}
.safina-static-mobile-links a:last-child{margin:10px 14px 14px;border:1px solid rgba(212,175,55,.7);border-radius:10px;background:linear-gradient(135deg,#d4af37,#f0d76d);color:#07111f;text-align:center;box-shadow:0 8px 22px rgba(212,175,55,.16)}
.safina-static-mobile-links a:last-child:hover,.safina-static-mobile-links a:last-child:focus-visible{background:#ffe98b;color:#07111f}
.safina-static-page{scroll-margin-top:84px}
.safina-public-page .g-hero{position:relative;isolation:isolate}
.safina-public-page .g-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(212,175,55,.55),transparent);pointer-events:none}
.safina-public-page .g-btn{min-height:46px;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.safina-public-page .g-btn:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(15,23,42,.12);text-decoration:none}
.safina-public-page .g-card,.safina-public-page .quote-shell{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.safina-public-page .g-card:hover{transform:translateY(-2px);box-shadow:0 18px 46px rgba(15,23,42,.12);border-color:#dccb8b}
.safina-public-page .field input,.safina-public-page .field select,.safina-public-page .field textarea{min-height:46px;transition:border-color .18s ease,box-shadow .18s ease}
.safina-public-page .field textarea{min-height:120px}
.safina-public-page .field input:focus,.safina-public-page .field select:focus,.safina-public-page .field textarea:focus{outline:none;border-color:#b89322;box-shadow:0 0 0 4px rgba(201,162,39,.14)}
.safina-public-page .notice{box-shadow:0 8px 24px rgba(15,23,42,.04)}
.safina-public-page main{scroll-margin-top:84px}
.safina-app-actions{position:fixed;right:18px;bottom:18px;z-index:100;display:grid;grid-template-columns:1fr;gap:9px;width:152px;pointer-events:none}
.safina-app-actions a{position:relative;isolation:isolate;overflow:visible;pointer-events:auto;display:flex;align-items:center;justify-content:center;min-height:46px;padding:10px 12px;border-radius:999px;text-decoration:none;font-size:13px;font-weight:900;letter-spacing:.01em;border:1px solid transparent;backdrop-filter:blur(10px);transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;animation:safina-heartbeat 2.8s ease-in-out infinite;will-change:transform,box-shadow}
.safina-app-actions a::before{content:"";position:absolute;inset:-2px;border-radius:inherit;z-index:-1;opacity:.75;filter:blur(7px);transform:scale(.96);animation:safina-neon-pulse 2.8s ease-in-out infinite;pointer-events:none}
.safina-app-actions a::after{content:"";position:absolute;inset:1px;border-radius:inherit;border:1px solid rgba(255,255,255,.42);opacity:.7;pointer-events:none}
.safina-app-actions a:hover{transform:translateY(-3px) scale(1.02);filter:brightness(1.08);animation-play-state:paused}
.safina-action-call{background:linear-gradient(135deg,#fff,#f5f7fa);color:#07111f;border-color:rgba(255,255,255,.95);box-shadow:0 0 10px rgba(255,255,255,.55),0 0 24px rgba(212,175,55,.38),0 14px 32px rgba(0,0,0,.25);animation-delay:0s}
.safina-action-call::before{background:rgba(255,255,255,.95);box-shadow:0 0 18px rgba(255,255,255,.8),0 0 34px rgba(212,175,55,.65);animation-delay:0s}
.safina-action-wa{background:linear-gradient(135deg,#20c96b,#159447);color:#fff;border-color:rgba(92,255,162,.75);box-shadow:0 0 10px rgba(35,199,101,.65),0 0 28px rgba(35,199,101,.48),0 14px 32px rgba(0,0,0,.25);animation-delay:.18s}
.safina-action-wa::before{background:rgba(35,199,101,.95);box-shadow:0 0 18px rgba(35,199,101,.9),0 0 38px rgba(35,199,101,.7);animation-delay:.18s}
.safina-action-quote{background:linear-gradient(135deg,#ffe98b,#d4af37);color:#07111f;border-color:rgba(255,237,157,.9);box-shadow:0 0 10px rgba(242,221,134,.7),0 0 28px rgba(212,175,55,.55),0 14px 32px rgba(0,0,0,.25);animation-delay:.36s}
.safina-action-quote::before{background:rgba(242,221,134,.95);box-shadow:0 0 18px rgba(242,221,134,.9),0 0 38px rgba(212,175,55,.72);animation-delay:.36s}
@keyframes safina-heartbeat{0%,56%,100%{transform:scale(1)}60%{transform:scale(1.045)}64%{transform:scale(1)}68%{transform:scale(1.032)}72%{transform:scale(1)} }
@keyframes safina-neon-pulse{0%,56%,100%{opacity:.42;transform:scale(.96)}60%{opacity:.95;transform:scale(1.02)}64%{opacity:.5;transform:scale(.97)}68%{opacity:.82;transform:scale(1.01)}72%{opacity:.42;transform:scale(.96)}}
/* Remove the previous duplicate floating widget; the unified dock replaces it. */
.wa-btn-fixed,.sf-float{display:none!important}
/* Overlay safety: transient dialogs/lightboxes always sit above the action dock and sticky nav. */
.gallery-backdrop{z-index:120!important}
.quote-calendar{z-index:120!important}
body.safina-react-page{padding-bottom:0!important}
@media(max-width:760px){
  html{scroll-padding-top:74px}
  .safina-static-nav-inner{min-height:62px;padding:8px 14px}
  .safina-static-brand img{width:36px;height:36px}
  .safina-static-brand strong{font-size:11px}
  .safina-static-brand span{font-size:9px}
  .safina-static-links{display:none}
  .safina-static-menu{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid rgba(212,175,55,.28);border-radius:12px;background:#0a0c10;color:var(--safina-gold-2);font-size:19px;cursor:pointer}
  .safina-static-mobile-links:not([hidden]){display:flex;flex-direction:column;width:100%;background:rgba(5,6,8,.99);border-top:1px solid rgba(212,175,55,.22);border-bottom:1px solid rgba(212,175,55,.18);box-shadow:0 16px 28px rgba(0,0,0,.3);position:relative;z-index:70;overflow:hidden}
  .safina-static-mobile-links a{width:100%;box-sizing:border-box}
  .safina-static-menu[aria-expanded="true"]{background:#15110a;color:#ffe98b;border-color:rgba(240,215,109,.65)}
  body.safina-public-page{padding-bottom:0!important}
  body.safina-react-page{padding-bottom:0!important}
  body.safina-public-page main{padding-bottom:0}
  .safina-app-actions{left:0;right:0;bottom:0;width:auto;padding:10px 10px calc(10px + var(--safina-safe-bottom));display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;background:rgba(5,6,8,.96);border-top:1px solid rgba(212,175,55,.22);box-shadow:0 -10px 30px rgba(0,0,0,.22);backdrop-filter:blur(16px)}
  .safina-app-actions a{min-height:48px;border-radius:14px;padding:10px 8px;font-size:13px;box-shadow:0 0 12px rgba(212,175,55,.18),0 8px 22px rgba(0,0,0,.22)}
  .safina-public-page .g-wrap{padding-left:16px;padding-right:16px}
  .safina-public-page .g-hero h1{max-width:720px}
}
@media(max-width:420px){
  .safina-app-actions a{font-size:12px;padding-left:5px;padding-right:5px}
  .safina-static-brand span{display:none}
}
/* V5.2: explicit core-site boundary + separate post-footer resource shelf. */
.safina-page-frame{display:flow-root;overflow-x:clip}
.safina-page-frame > .footer-bg{margin-bottom:0}
.safina-post-footer-resources{border-top:1px solid rgba(212,175,55,.22);background:#f7f8fb;color:#101828;position:relative;isolation:isolate}
.safina-post-footer-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding-bottom:22px;border-bottom:1px solid #e5e7eb}
.safina-post-footer-eyebrow{margin:0 0 6px;font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:800;color:#9a7413}
.safina-post-footer-head h2{margin:0 0 7px;font-size:26px;line-height:1.2;color:#0b1320}
.safina-post-footer-head p{margin:0;max-width:760px;color:#667085;font-size:14px;line-height:1.65}
.safina-post-footer-cta{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border-radius:999px;background:#0b1320;color:#fff;text-decoration:none;font-weight:800;border:1px solid #0b1320;transition:transform .18s ease,background .18s ease}
.safina-post-footer-cta:hover{background:#121d2e;transform:translateY(-1px);text-decoration:none}
.safina-post-footer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding-top:22px}
.safina-post-footer-card{background:#fff;border:1px solid #e4e7ec;border-radius:18px;padding:20px;box-shadow:0 8px 28px rgba(16,24,40,.05)}
.safina-post-footer-card h3{margin:0 0 12px;color:#101828;font-size:15px}
.safina-post-footer-links{display:flex;flex-wrap:wrap;gap:8px}
.safina-post-footer-links a{display:inline-flex;align-items:center;min-height:34px;padding:7px 10px;border-radius:10px;border:1px solid #dbe0e6;background:#fff;color:#344054;text-decoration:none;font-size:12px;font-weight:700;transition:border-color .18s ease,color .18s ease,background .18s ease,transform .18s ease}
.safina-post-footer-links a:hover{border-color:#d4af37;color:#765b10;background:#fffaf0;transform:translateY(-1px);text-decoration:none}
@media(max-width:760px){.safina-post-footer-head{align-items:stretch;flex-direction:column}.safina-post-footer-grid{grid-template-columns:1fr}.safina-post-footer-cta{width:100%}.safina-react-page .footer-bg{padding-bottom:calc(1.5rem + var(--safina-safe-bottom) + 8px)!important}.safina-app-actions{box-sizing:border-box}}

@media print{
  .safina-static-nav,.safina-app-actions,.safina-skip-link{display:none!important}
  body.safina-public-page,body.safina-react-page{padding-bottom:0!important}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
/* Existing SEO-page navigation gets the same sticky treatment without changing its content. */
.safina-public-page header.nav{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);box-shadow:0 8px 24px rgba(15,23,42,.08)}
.safina-public-page header.nav .navlinks a,.safina-public-page header.nav .brand{transition:color .18s ease,transform .18s ease}
.safina-public-page header.nav .navlinks a:hover{transform:translateY(-1px)}
.safina-public-page .btn,.safina-public-page .btns a{min-height:44px;display:inline-flex;align-items:center;justify-content:center;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.safina-public-page .btn:hover,.safina-public-page .btns a:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(15,23,42,.12);text-decoration:none}
@media(max-width:760px){
  .safina-public-page header.nav .navrow{flex-direction:row!important;align-items:center!important;min-width:0}
  .safina-public-page header.nav .navlinks{width:100%;overflow-x:auto;flex-wrap:nowrap!important;justify-content:flex-start;scrollbar-width:none;padding-bottom:2px}
  .safina-public-page header.nav .navlinks::-webkit-scrollbar{display:none}
  .safina-public-page header.nav .navlinks a{white-space:nowrap}
}

/* V5.18: Neon heartbeat quick-action dock — shared across every public page. */
@media(max-width:760px){
  body.safina-public-page,body.safina-react-page{padding-bottom:calc(82px + var(--safina-safe-bottom))!important}
}
@media(prefers-reduced-motion:reduce){
  .safina-app-actions a,.safina-app-actions a::before{animation:none!important}
}


/* V5.20: guaranteed neon heartbeat CTA dock */
.safina-app-actions{position:fixed;right:18px;bottom:18px;z-index:9999;display:grid;grid-template-columns:1fr;gap:10px;width:170px;pointer-events:none}
.safina-app-actions a{position:relative;isolation:isolate;overflow:visible;pointer-events:auto;display:flex;align-items:center;justify-content:center;min-height:48px;padding:11px 14px;border-radius:999px;text-decoration:none!important;font-size:14px;font-weight:900;letter-spacing:.01em;border:2px solid transparent;transition:transform .18s ease,filter .18s ease;animation:safina-heartbeat-v520 2.4s ease-in-out infinite;will-change:transform,box-shadow}
.safina-app-actions a::before{content:"";position:absolute;inset:-7px;border-radius:inherit;z-index:-1;opacity:.78;filter:blur(9px);animation:safina-neon-v520 2.4s ease-in-out infinite;pointer-events:none}
.safina-app-actions a::after{content:"";position:absolute;inset:2px;border-radius:inherit;border:1px solid rgba(255,255,255,.7);opacity:.8;pointer-events:none}
.safina-app-actions a:hover{transform:translateY(-3px) scale(1.03);filter:brightness(1.12)}
.safina-action-call{background:linear-gradient(135deg,#ffffff,#e9edf2);color:#07111f;border-color:#fff;box-shadow:0 0 12px rgba(255,255,255,.8),0 0 30px rgba(255,205,60,.62),0 12px 32px rgba(0,0,0,.3)}
.safina-action-call::before{background:#fff;box-shadow:0 0 24px rgba(255,255,255,.95),0 0 46px rgba(255,196,45,.85)}
.safina-action-wa{background:linear-gradient(135deg,#29e878,#119447);color:#fff;border-color:#76ffb2;box-shadow:0 0 14px rgba(38,232,120,.95),0 0 34px rgba(38,232,120,.72),0 12px 32px rgba(0,0,0,.3);animation-delay:.12s}
.safina-action-wa::before{background:#20d96d;box-shadow:0 0 24px rgba(40,255,130,1),0 0 50px rgba(40,255,130,.85);animation-delay:.12s}
.safina-action-quote{background:linear-gradient(135deg,#fff09a,#d4af37);color:#07111f;border-color:#fff1a6;box-shadow:0 0 14px rgba(255,225,105,.95),0 0 34px rgba(212,175,55,.8),0 12px 32px rgba(0,0,0,.3);animation-delay:.24s}
.safina-action-quote::before{background:#f0c93f;box-shadow:0 0 24px rgba(255,225,105,1),0 0 50px rgba(212,175,55,.9);animation-delay:.24s}
@keyframes safina-heartbeat-v520{0%,52%,100%{transform:scale(1)}57%{transform:scale(1.055)}62%{transform:scale(1)}67%{transform:scale(1.04)}72%{transform:scale(1)}}
@keyframes safina-neon-v520{0%,52%,100%{opacity:.45;transform:scale(.97)}57%{opacity:1;transform:scale(1.035)}62%{opacity:.52;transform:scale(.985)}67%{opacity:.92;transform:scale(1.02)}72%{opacity:.45;transform:scale(.97)}}
@media(max-width:760px){.safina-app-actions{left:10px;right:10px;bottom:10px;width:auto;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:8px;border-radius:18px;background:rgba(3,8,15,.9);border:1px solid rgba(255,215,90,.28);box-shadow:0 -8px 30px rgba(0,0,0,.35);backdrop-filter:blur(14px)}.safina-app-actions a{min-height:50px;border-radius:14px;font-size:13px}}
@media(prefers-reduced-motion:reduce){.safina-app-actions a,.safina-app-actions a::before{animation:none!important}}



/* V5.21 CRITICAL: always-on neon CTA dock. Inline-safe class contract. */
.safina-app-actions[data-neon-cta="true"]{
  position:fixed!important; right:18px!important; bottom:18px!important;
  z-index:2147483647!important; display:grid!important; grid-template-columns:1fr!important;
  gap:10px!important; width:180px!important; margin:0!important; padding:0!important;
  pointer-events:none!important; visibility:visible!important; opacity:1!important;
}
.safina-app-actions[data-neon-cta="true"] a{
  position:relative!important; display:flex!important; align-items:center!important; justify-content:center!important;
  min-height:52px!important; width:100%!important; box-sizing:border-box!important;
  padding:12px 16px!important; border-radius:999px!important; text-decoration:none!important;
  font-family:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif!important;
  font-size:15px!important; font-weight:900!important; line-height:1!important;
  letter-spacing:.01em!important; pointer-events:auto!important; isolation:isolate!important;
  overflow:visible!important; transform-origin:center!important;
  animation:safina-heartbeat-v521 1.9s ease-in-out infinite!important;
  will-change:transform,box-shadow,filter!important;
}
.safina-app-actions[data-neon-cta="true"] a::before{
  content:""!important; position:absolute!important; inset:-9px!important; border-radius:inherit!important;
  z-index:-1!important; pointer-events:none!important; filter:blur(11px)!important;
  opacity:.95!important; animation:safina-neon-v521 1.9s ease-in-out infinite!important;
}
.safina-app-actions[data-neon-cta="true"] a::after{
  content:""!important; position:absolute!important; inset:2px!important; border-radius:inherit!important;
  border:1px solid rgba(255,255,255,.9)!important; pointer-events:none!important;
  box-shadow:inset 0 0 10px rgba(255,255,255,.25)!important;
}
.safina-app-actions[data-neon-cta="true"] .safina-action-call{
  background:linear-gradient(135deg,#fff 0%,#f7f8fa 55%,#e4e8ed 100%)!important;
  color:#07111f!important; border:2px solid #fff!important;
  box-shadow:0 0 12px #fff,0 0 28px rgba(255,210,75,.9),0 0 52px rgba(255,186,35,.55)!important;
}
.safina-app-actions[data-neon-cta="true"] .safina-action-call::before{
  background:#fff!important; box-shadow:0 0 22px #fff,0 0 45px rgba(255,210,75,.95),0 0 72px rgba(255,170,0,.7)!important;
}
.safina-app-actions[data-neon-cta="true"] .safina-action-wa{
  background:linear-gradient(135deg,#2af47d 0%,#19b85c 55%,#0b8b43 100%)!important;
  color:#fff!important; border:2px solid #82ffb7!important;
  box-shadow:0 0 13px #24ef78,0 0 30px rgba(25,229,112,.95),0 0 55px rgba(0,255,100,.6)!important;
  animation-delay:.12s!important;
}
.safina-app-actions[data-neon-cta="true"] .safina-action-wa::before{
  background:#20dc6b!important; box-shadow:0 0 22px #38ff8a,0 0 48px #19e86d,0 0 78px rgba(0,255,100,.7)!important;
  animation-delay:.12s!important;
}
.safina-app-actions[data-neon-cta="true"] .safina-action-quote{
  background:linear-gradient(135deg,#fff19a 0%,#e7c94e 55%,#c89c20 100%)!important;
  color:#07111f!important; border:2px solid #fff2a4!important;
  box-shadow:0 0 13px #ffe36a,0 0 31px rgba(244,201,57,.95),0 0 56px rgba(212,175,55,.65)!important;
  animation-delay:.24s!important;
}
.safina-app-actions[data-neon-cta="true"] .safina-action-quote::before{
  background:#f0ca45!important; box-shadow:0 0 22px #ffe76e,0 0 50px #d4af37,0 0 80px rgba(255,193,7,.7)!important;
  animation-delay:.24s!important;
}
.safina-app-actions[data-neon-cta="true"] a:hover{
  transform:scale(1.055)!important; filter:brightness(1.16)!important;
}
@keyframes safina-heartbeat-v521{
  0%,55%,100%{transform:scale(1)}
  58%{transform:scale(1.075)}
  62%{transform:scale(1)}
  66%{transform:scale(1.055)}
  70%{transform:scale(1)}
}
@keyframes safina-neon-v521{
  0%,55%,100%{opacity:.55;transform:scale(.96)}
  58%{opacity:1;transform:scale(1.055)}
  62%{opacity:.62;transform:scale(.98)}
  66%{opacity:1;transform:scale(1.04)}
  70%{opacity:.55;transform:scale(.96)}
}
@media(max-width:760px){
  .safina-app-actions[data-neon-cta="true"]{
    left:10px!important; right:10px!important; bottom:10px!important; width:auto!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important; gap:8px!important;
    padding:8px!important; border-radius:18px!important;
    background:rgba(3,8,15,.94)!important; border:1px solid rgba(255,220,90,.4)!important;
    box-shadow:0 -8px 34px rgba(0,0,0,.5),0 0 30px rgba(212,175,55,.12)!important;
    backdrop-filter:blur(14px)!important;
  }
  .safina-app-actions[data-neon-cta="true"] a{min-height:52px!important;font-size:13px!important}
}
@media(prefers-reduced-motion:reduce){
  .safina-app-actions[data-neon-cta="true"] a,
  .safina-app-actions[data-neon-cta="true"] a::before{animation:none!important}
}


/* V5.22: CTA neon glow reduced to 50% while preserving heartbeat animation. */
.safina-app-actions[data-neon-cta="true"] a{
  filter:none!important;
}
.safina-app-actions[data-neon-cta="true"] a::before{
  inset:-5px!important;
  filter:blur(7px)!important;
  opacity:.48!important;
}
.safina-app-actions[data-neon-cta="true"] .safina-action-call{
  box-shadow:0 0 6px #fff,0 0 14px rgba(255,210,75,.45),0 0 26px rgba(255,186,35,.28)!important;
}
.safina-app-actions[data-neon-cta="true"] .safina-action-call::before{
  box-shadow:0 0 11px #fff,0 0 23px rgba(255,210,75,.48),0 0 36px rgba(255,170,0,.35)!important;
}
.safina-app-actions[data-neon-cta="true"] .safina-action-wa{
  box-shadow:0 0 7px #24ef78,0 0 15px rgba(25,229,112,.48),0 0 28px rgba(0,255,100,.30)!important;
}
.safina-app-actions[data-neon-cta="true"] .safina-action-wa::before{
  box-shadow:0 0 11px #38ff8a,0 0 24px rgba(25,232,109,.48),0 0 39px rgba(0,255,100,.35)!important;
}
.safina-app-actions[data-neon-cta="true"] .safina-action-quote{
  box-shadow:0 0 7px #ffe36a,0 0 16px rgba(244,201,57,.48),0 0 28px rgba(212,175,55,.33)!important;
}
.safina-app-actions[data-neon-cta="true"] .safina-action-quote::before{
  box-shadow:0 0 11px #ffe76e,0 0 25px rgba(212,175,55,.50),0 0 40px rgba(255,193,7,.35)!important;
}

/* V5.23: CTA neon glow reduced to 25%; heartbeat size/timing preserved. */
.safina-app-actions[data-neon-cta="true"] a{animation-name:safina-heartbeat!important}
.safina-app-actions[data-neon-cta="true"] a::before{inset:-3px!important;filter:blur(5px)!important;opacity:.24!important;animation-name:safina-neon-pulse-25!important}
.safina-app-actions[data-neon-cta="true"] .safina-action-call{box-shadow:0 0 3px rgba(255,255,255,.8),0 0 7px rgba(212,175,55,.22),0 0 13px rgba(255,186,35,.14)!important}
.safina-app-actions[data-neon-cta="true"] .safina-action-call::before{box-shadow:0 0 5px rgba(255,255,255,.42),0 0 12px rgba(212,175,55,.24),0 0 18px rgba(255,170,0,.18)!important}
.safina-app-actions[data-neon-cta="true"] .safina-action-wa{box-shadow:0 0 4px rgba(35,239,120,.32),0 0 8px rgba(25,229,112,.24),0 0 14px rgba(0,255,100,.15)!important}
.safina-app-actions[data-neon-cta="true"] .safina-action-wa::before{box-shadow:0 0 5px rgba(56,255,138,.45),0 0 12px rgba(25,232,109,.24),0 0 20px rgba(0,255,100,.18)!important}
.safina-app-actions[data-neon-cta="true"] .safina-action-quote{box-shadow:0 0 4px rgba(255,227,106,.35),0 0 8px rgba(244,201,57,.24),0 0 14px rgba(212,175,55,.16)!important}
.safina-app-actions[data-neon-cta="true"] .safina-action-quote::before{box-shadow:0 0 5px rgba(255,231,110,.45),0 0 13px rgba(212,175,55,.25),0 0 20px rgba(255,193,7,.18)!important}
@keyframes safina-neon-pulse-25{0%,56%,100%{opacity:.11;transform:scale(.985)}60%{opacity:.25;transform:scale(1.008)}64%{opacity:.13;transform:scale(.99)}68%{opacity:.21;transform:scale(1.004)}72%{opacity:.11;transform:scale(.985)}}

/* V5.30 — responsive system-wide polish and mobile CTA refinement */
html{overflow-x:hidden;max-width:100%;}
body.safina-public-page,body.safina-react-page{width:100%;max-width:100%;overflow-x:hidden;}
img,svg,video,canvas,iframe{max-width:100%;}
img{height:auto;}
iframe{border:0;}
pre,code{max-width:100%;overflow:auto;}
table{max-width:100%;}
.safina-public-page .g-wrap,.safina-public-page .sf-wrap,.safina-public-page .local-seo-v4 .wrap{width:min(100% - 32px,1180px);margin-left:auto;margin-right:auto;}
.safina-public-page .g-grid,.safina-public-page .sf-cards,.safina-public-page .sf-process,.safina-public-page .sf-footergrid{min-width:0;}
.safina-public-page .g-grid > *,
.safina-public-page .sf-cards > *,
.safina-public-page .sf-process > *,
.safina-public-page .sf-footergrid > *{min-width:0;}
.safina-public-page .g-actions,.safina-public-page .sf-buttons{align-items:center;}
.safina-public-page .g-btn,.safina-public-page .sf-btn{max-width:100%;text-align:center;}
.safina-public-page .field input,.safina-public-page .field select,.safina-public-page .field textarea{max-width:100%;box-sizing:border-box;}
.safina-public-page .quote-grid{min-width:0;}

/* Navigation: keep every header usable between phones, tablets and narrow laptops. */
@media (max-width: 980px){
  .safina-static-nav-inner{gap:12px;}
  .safina-static-links{gap:11px;}
  .safina-static-links a{font-size:12px;}
}

/* Mobile CTA dock: slim, touch-friendly and safe-area aware. */
@media (max-width: 760px){
  :root{--safina-cta-bottom:env(safe-area-inset-bottom,0px);}
  body.safina-public-page{padding-bottom:66px!important;}
  .safina-app-actions[data-neon-cta="true"]{
    left:8px!important;right:8px!important;bottom:calc(6px + var(--safina-cta-bottom))!important;
    width:auto!important;box-sizing:border-box!important;
    display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:6px!important;padding:5px!important;
    border-radius:14px!important;
    background:rgba(5,6,8,.94)!important;
    border:1px solid rgba(212,175,55,.24)!important;
    box-shadow:0 8px 24px rgba(0,0,0,.26)!important;
    backdrop-filter:blur(14px)!important;
    -webkit-backdrop-filter:blur(14px)!important;
  }
  .safina-app-actions[data-neon-cta="true"] a{
    min-height:40px!important;height:40px!important;width:100%!important;
    padding:7px 5px!important;border-radius:11px!important;
    font-size:12px!important;font-weight:800!important;line-height:1!important;
    letter-spacing:0!important;box-shadow:0 3px 10px rgba(0,0,0,.18)!important;
    animation-duration:3.4s!important;
  }
  .safina-app-actions[data-neon-cta="true"] a::before{inset:-2px!important;filter:blur(4px)!important;opacity:.18!important;}
  .safina-app-actions[data-neon-cta="true"] a::after{inset:1px!important;border-width:1px!important;opacity:.7!important;}
  .safina-app-actions[data-neon-cta="true"] .safina-action-call{border-width:1px!important;box-shadow:0 0 3px rgba(98,217,255,.28)!important;}
  .safina-app-actions[data-neon-cta="true"] .safina-action-wa{border-width:1px!important;box-shadow:0 0 4px rgba(215,255,114,.25)!important;}
  .safina-app-actions[data-neon-cta="true"] .safina-action-quote{border-width:1px!important;box-shadow:0 0 4px rgba(255,121,200,.24)!important;}
  .safina-static-mobile-links{max-height:calc(100svh - 70px);overflow-y:auto;-webkit-overflow-scrolling:touch;}
  .safina-static-mobile-links a{min-height:44px;display:flex;align-items:center;}
  .safina-public-page .g-hero,.safina-public-page .sf-hero{overflow:hidden;}
  .safina-public-page .g-hero h1,.safina-public-page .sf-hero h1{font-size:clamp(32px,9vw,48px);overflow-wrap:anywhere;}
  .safina-public-page .g-hero p,.safina-public-page .sf-hero p{font-size:16px;line-height:1.6;}
  .safina-public-page .g-grid,.safina-public-page .sf-cards{grid-template-columns:1fr!important;}
  .safina-public-page .sf-process{grid-template-columns:1fr 1fr!important;}
  .safina-public-page .sf-footergrid{grid-template-columns:1fr!important;gap:22px;}
  .safina-public-page .quote-grid{grid-template-columns:1fr!important;}
  .safina-public-page .full{grid-column:auto;}
  .safina-public-page .g-card,.safina-public-page .sf-card{padding:18px;}
  .safina-public-page .g-section,.safina-public-page .sf-section{padding:44px 0;}
  .safina-public-page .sf-hero .sf-grid{grid-template-columns:1fr!important;gap:28px;padding:48px 0;}
  .safina-public-page .sf-heroimg{aspect-ratio:16/11;max-height:52vh;object-fit:cover;}
  .safina-public-page .sf-buttons{width:100%;}
  .safina-public-page .sf-buttons .sf-btn,.safina-public-page .g-actions .g-btn{flex:1 1 180px;min-width:0;}
  .safina-public-page .local-links-v4 a{max-width:100%;overflow-wrap:anywhere;}
}

@media (max-width: 520px){
  .safina-static-nav-inner{padding:7px 11px;min-height:58px;}
  .safina-static-brand{gap:8px;}
  .safina-static-brand img{width:34px;height:34px;}
  .safina-static-brand strong{font-size:10.5px;}
  .safina-static-menu{width:40px;height:40px;border-radius:10px;}
  .safina-public-page .g-wrap,.safina-public-page .sf-wrap,.safina-public-page .local-seo-v4 .wrap{width:calc(100% - 24px);}
  .safina-public-page .sf-process{grid-template-columns:1fr!important;}
  .safina-public-page .sf-buttons{flex-direction:column;align-items:stretch;}
  .safina-public-page .sf-buttons .sf-btn,.safina-public-page .g-actions .g-btn{width:100%;flex:1 1 auto;}
  .safina-public-page .g-section,.safina-public-page .sf-section{padding:36px 0;}
  .safina-public-page .g-card,.safina-public-page .sf-card{padding:16px;}
  .safina-public-page .sf-head h2,.safina-public-page .g-section h2{font-size:28px;}
  .safina-public-page .field input,.safina-public-page .field select,.safina-public-page .field textarea{font-size:16px;}
  .safina-app-actions[data-neon-cta="true"]{left:6px!important;right:6px!important;bottom:calc(5px + var(--safina-cta-bottom))!important;gap:5px!important;padding:4px!important;border-radius:12px!important;}
  .safina-app-actions[data-neon-cta="true"] a{height:38px!important;min-height:38px!important;padding:6px 3px!important;border-radius:10px!important;font-size:11px!important;}
}

@media (max-width: 360px){
  body.safina-public-page{padding-bottom:60px!important;}
  .safina-static-brand strong{font-size:10px;}
  .safina-app-actions[data-neon-cta="true"]{left:4px!important;right:4px!important;bottom:calc(4px + var(--safina-cta-bottom))!important;}
  .safina-app-actions[data-neon-cta="true"] a{height:36px!important;min-height:36px!important;font-size:10px!important;}
}

@media (max-height: 500px) and (max-width: 760px){
  .safina-app-actions[data-neon-cta="true"] a{height:34px!important;min-height:34px!important;}
  body.safina-public-page{padding-bottom:56px!important;}
  .safina-public-page .sf-hero .sf-grid{padding:34px 0;}
}

@media (prefers-reduced-motion: reduce){
  .safina-app-actions[data-neon-cta="true"] a,
  .safina-app-actions[data-neon-cta="true"] a::before{animation:none!important;}
}

/* Tables/forms that cannot fit on narrow screens become scrollable instead of overflowing the page. */
@media (max-width: 760px){
  .safina-public-page table{display:block;width:100%;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch;}
  .safina-public-page .table-responsive,.safina-public-page .overflow-x-auto{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;}
  .safina-public-page input,.safina-public-page select,.safina-public-page textarea,.safina-public-page button{max-width:100%;}
}


/* V5.44 — mobile contact section and complete footer centering */
@media (max-width: 760px){
  /* Contact/plan-your-event card: center the entire block on phones */
  body.safina-react-page .contact-strip-card{
    width:100%;
    text-align:center;
    align-items:center!important;
    justify-content:center!important;
    margin-inline:auto;
  }
  body.safina-react-page .contact-strip-card > div{
    width:100%;
    max-width:620px;
    margin-inline:auto;
    text-align:center;
    align-items:center!important;
  }
  body.safina-react-page .contact-strip-card > div:first-child p{
    margin-inline:auto;
  }
  body.safina-react-page .contact-strip-card > div:last-child{
    display:flex;
    align-items:center!important;
    justify-content:center!important;
    flex-wrap:wrap;
    gap:.75rem;
  }
  body.safina-react-page .contact-strip-card > div:last-child a{
    width:min(100%,320px);
    margin-inline:auto;
  }

  /* Complete React footer: logo, brand, links, contact, social and copyright centered */
  body.safina-react-page .footer-bg > div{
    width:min(100%,720px);
    margin-inline:auto;
    text-align:center;
  }
  body.safina-react-page .footer-bg > div > .grid{
    grid-template-columns:1fr!important;
    justify-items:center!important;
    align-items:start!important;
    text-align:center;
  }
  body.safina-react-page .footer-bg > div > .grid > div{
    width:100%;
    display:flex;
    flex-direction:column;
    align-items:center!important;
    justify-content:center!important;
    text-align:center;
    margin-inline:auto;
  }
  body.safina-react-page .footer-bg .footer-logo{
    margin-inline:auto;
  }
  body.safina-react-page .footer-bg ul{
    width:100%;
    text-align:center;
  }
  body.safina-react-page .footer-bg .footer-link::after{
    left:50%;
    transform:translateX(-50%);
  }
  body.safina-react-page .footer-bg .footer-bg,
  body.safina-react-page .footer-bg [class*="flex"]{
    justify-content:center;
  }
  body.safina-react-page .footer-bottom-bar{
    width:100%;
    text-align:center;
    justify-content:center!important;
    align-items:center!important;
  }
  body.safina-react-page .footer-bottom-bar > *{
    width:100%;
    text-align:center;
  }

  /* Static/footer variants on inner pages */
  body.safina-public-page .footer{
    text-align:center;
  }
  body.safina-public-page .footer .wrap{
    width:min(100% - 24px,1180px);
    margin-inline:auto;
    text-align:center;
  }
  body.safina-public-page .footer .wrap > *{
    margin-left:auto;
    margin-right:auto;
  }
}

@media (max-width: 360px){
  body.safina-react-page .contact-strip-card{
    padding-left:14px!important;
    padding-right:14px!important;
  }
  body.safina-react-page .contact-strip-card > div:last-child a{
    width:min(100%,290px);
  }
}

@media (prefers-reduced-motion: reduce){
  body.safina-react-page .footer-logo{animation:none!important;}
}

/* V5.47: touch hover parity. CSS :hover is unreliable on touch screens, so
   ui-ux.js adds .safina-touch-hover briefly after a tap. These states mirror
   existing desktop hover intent while preserving the restrained Safina look. */
@media (hover:none) and (pointer:coarse){
  .safina-touch-hover{
    transform:translateY(-2px) scale(1.01)!important;
    filter:brightness(1.06)!important;
  }
  .safina-touch-hover.glow-tag{
    background:rgba(15,23,42,.94)!important;
    box-shadow:0 0 5px rgba(251,191,36,.42),0 0 12px rgba(249,115,22,.20),inset 0 0 7px rgba(251,191,36,.07)!important;
    border-color:rgba(251,191,36,.82)!important;
    color:#fcd34d!important;
  }
  .safina-touch-hover.btn,
  .safina-touch-hover.btns a,
  .safina-touch-hover.safina-app-actions a,
  .safina-touch-hover.safina-action-call,
  .safina-touch-hover.safina-action-wa,
  .safina-touch-hover.safina-action-quote{
    box-shadow:0 10px 24px rgba(15,23,42,.18),0 0 16px rgba(212,175,55,.24)!important;
  }
  .safina-touch-hover.request-quote-btn{
    background:#d4af37!important;
    color:#000!important;
    border-color:#d4af37!important;
    box-shadow:0 8px 20px rgba(212,175,55,.28)!important;
  }
  .safina-touch-hover.nav-link,
  .safina-touch-hover.navlinks a,
  .safina-touch-hover.sf-menu a{
    color:#d4af37!important;
  }
  .safina-touch-hover.footer-link{
    color:#fbbf24!important;
    text-decoration:underline!important;
    text-decoration-color:#fbbf24!important;
    text-underline-offset:2px;
  }
  .safina-touch-hover.local-links-v4 a{
    background:#fff6cf!important;
    border-color:#d4af37!important;
    color:#765b10!important;
  }
  .safina-touch-hover.safina-static-menu{
    background:#15110a!important;
    color:#ffe98b!important;
    border-color:rgba(240,215,109,.65)!important;
    box-shadow:0 0 12px rgba(212,175,55,.20)!important;
  }
  .safina-touch-hover.safina-static-mobile-links a{
    color:#fcd34d!important;
    background:rgba(212,175,55,.07)!important;
  }
  .safina-touch-hover.quote,
  .safina-touch-hover.sf-quote{
    background:#d4af37!important;
    color:#000!important;
    border-color:#d4af37!important;
  }
  /* Standalone text links/buttons use a light lift rather than a large glow. */
  a.safina-touch-hover:not(.btn):not(.footer-link):not(.quote):not(.sf-quote):not(.request-quote-btn):not(.safina-app-actions a){
    color:#fcd34d!important;
  }
}


/* V5.47: priority locality evidence blocks. */
.seo-page-image{margin:18px auto 28px;max-width:1000px;text-align:center}.seo-page-image img{display:block;width:100%;height:auto;border-radius:14px}.seo-page-image figcaption{margin-top:8px;font-size:.82rem;line-height:1.55;color:#667085}
@media(max-width:760px){.seo-page-image{margin-top:8px}.seo-page-image figcaption{font-size:.78rem;padding:0 4px}}
