/* ── Sticky CTA bar ── */
  .sd-sticky-cta{
    position:fixed;
    left:max(12px,env(safe-area-inset-left));
    right:max(12px,env(safe-area-inset-right));
    bottom:max(62px, calc(60px + env(safe-area-inset-bottom)));
    z-index:9999;
    display:none;
    gap:8px;
    padding:8px;
    border:1px solid rgba(212,175,82,.2);
    border-radius:999px;
    background:rgba(4,8,16,.88);
    backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);
    box-shadow:0 12px 40px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.07);
    /* entrance: hidden below screen, slides up when JS adds .visible */
    transform:translateY(calc(100% + 20px));
    transition:transform .4s cubic-bezier(.22,1,.36,1), opacity .4s ease;
    opacity:0;
  }
  .sd-sticky-cta.visible{
    transform:translateY(0);
    opacity:1;
  }
  /* divider between buttons */
  .sd-sticky-cta .sd-divider{
    width:1px;
    align-self:stretch;
    background:rgba(255,255,255,.1);
    border-radius:1px;
    flex-shrink:0;
  }
  .sd-sticky-cta a{
    flex:1;
    text-align:center;
    text-decoration:none;
    border-radius:999px;
    padding:13px 12px;
    font:700 .72rem/1 var(--font-ui,'DM Sans',system-ui);
    letter-spacing:.14em;
    text-transform:uppercase;
    white-space:nowrap;
    transition:transform .15s ease, opacity .15s ease;
    -webkit-tap-highlight-color:transparent;
  }
  .sd-sticky-cta a:active{transform:scale(.97);opacity:.85;}
  .sd-sticky-cta .sd-book{
    color:#050505;
    background:linear-gradient(135deg,#fff4b8,#d4af52 48%,#9f7928);
    font-weight:900;
    box-shadow:inset 0 1px 0 rgba(255,240,160,.35);
  }
  .sd-sticky-cta .sd-call{
    color:rgba(232,201,106,.92);
    border:1px solid rgba(212,175,82,.2);
    background:rgba(255,255,255,.05);
    display:inline-flex;align-items:center;justify-content:center;gap:.4rem;
  }

  /* ── Text Widget Button ─────────────────────────────────────── */
  #sddTextBtn{
    position:fixed;
    bottom:max(132px, calc(124px + env(safe-area-inset-bottom)));
    right:max(14px, env(safe-area-inset-right));
    z-index:9998;
    display:none;
    width:52px;
    height:52px;
    border-radius:50%;
    background:rgba(4,8,16,.90);
    border:1px solid rgba(200,168,75,.35);
    box-shadow:0 8px 28px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.07);
    align-items:center;
    justify-content:center;
    cursor:pointer;
    -webkit-tap-highlight-color:transparent;
    transform:translateY(calc(100% + 20px));
    opacity:0;
    transition:transform .4s cubic-bezier(.22,1,.36,1) .06s, opacity .4s ease .06s,
               border-color .2s ease, box-shadow .2s ease;
    text-decoration:none;
  }
  #sddTextBtn.visible{
    transform:translateY(0);
    opacity:1;
  }
  #sddTextBtn:hover{
    border-color:rgba(200,168,75,.88);
    box-shadow:0 10px 34px rgba(0,0,0,.6), 0 0 0 4px rgba(200,168,75,.12), inset 0 1px 0 rgba(255,255,255,.1);
  }
  #sddTextBtn:active{ transform:scale(.93); }
  #sddTextBtn svg{ display:block; }
  /* Tooltip label */
  #sddTextBtn::before{
    content:'Text Dom';
    position:absolute;
    right:calc(100% + 10px);
    top:50%;
    transform:translateY(-50%);
    background:rgba(4,8,16,.92);
    border:1px solid rgba(200,168,75,.25);
    border-radius:8px;
    padding:.35rem .7rem;
    font-family:var(--font-ui,'DM Sans',system-ui);
    font-size:.62rem;
    font-weight:700;
    letter-spacing:.1em;
    text-transform:uppercase;
    color:var(--gold-light,#e8c96a);
    white-space:nowrap;
    opacity:0;
    pointer-events:none;
    transition:opacity .18s ease;
  }
  #sddTextBtn:hover::before{ opacity:1; }
  /* Pulse ring on first appear */
  @keyframes sddPulse{
    0%{box-shadow:0 0 0 0 rgba(200,168,75,.45), 0 8px 28px rgba(0,0,0,.5);}
    70%{box-shadow:0 0 0 14px rgba(200,168,75,0), 0 8px 28px rgba(0,0,0,.5);}
    100%{box-shadow:0 0 0 0 rgba(200,168,75,0), 0 8px 28px rgba(0,0,0,.5);}
  }
  #sddTextBtn.pulse{ animation:sddPulse 1.4s ease-out 2; }
  /* Sent confirmation flash */
  @keyframes sddSent{
    0%{border-color:rgba(200,168,75,.35);}
    40%{border-color:rgba(200,168,75,.9); box-shadow:0 0 0 6px rgba(200,168,75,.2), 0 8px 28px rgba(0,0,0,.5);}
    100%{border-color:rgba(200,168,75,.35);}
  }
  #sddTextBtn.sent{ animation:sddSent .7s ease-out forwards; }
  @media(max-width:768px){
    #sddTextBtn{ display:flex; }
  }
  @media(max-width:768px){
    body{padding-bottom:124px!important}
    .sd-sticky-cta{display:flex}
    p{line-height:1.72}
    .luxe-proof-panel p,.svc-desc,.pkg-desc{max-width:66ch}
    #videoGrid{grid-template-columns:1fr!important}
  }
