/*
Theme Name: Palm Web Miami — AI Marketing Agency
Theme URI: https://www.palmwebmiami.com/
Author: PALM WEB MIAMI LLC
Author URI: https://www.palmwebmiami.com/
Description: AI marketing agency theme for Palm Web Miami LLC (South Florida). AI voice agent + SMS, managed website + SEO, and AI social media management. Includes the full site: Home, three service pages, Book a Call, Blog, and South Florida location landing pages. White + green brand, heavily animated, bilingual EN/ES, mobile-first.
Version: 1.1
Requires at least: 5.5
Tested up to: 6.5
Requires PHP: 7.2
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: palm-web-miami
*/

/* ---- Base (from the Claude Design source) ---- */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#ffffff;color:#0A140E;font-family:"General Sans",system-ui,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,iframe,video{max-width:100%}
a{color:#06B15A;text-decoration:none}
a:hover{color:#059247}
::selection{background:#B9F7D6;color:#0A140E}
.noscroll::-webkit-scrollbar{height:0;display:none}
.noscroll{scrollbar-width:none}

/* ---- Keyframes ---- */
@keyframes rise{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes marqueeR{from{transform:translateX(-50%)}to{transform:translateX(0)}}
@keyframes wave{0%,100%{transform:scaleY(.22)}50%{transform:scaleY(1)}}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-16px)}}
@keyframes orb{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(40px,-30px) scale(1.1)}66%{transform:translate(-30px,20px) scale(.95)}}
@keyframes shake{0%,100%{transform:rotate(0)}20%{transform:rotate(-12deg)}40%{transform:rotate(12deg)}60%{transform:rotate(-8deg)}80%{transform:rotate(8deg)}}
@keyframes smsCall{0%,100%{opacity:0;transform:translateY(-14px)}8%{opacity:1;transform:none}22%{opacity:1;transform:none}30%{opacity:0;transform:translateY(-14px)}}
@keyframes sms1{0%,32%{opacity:0;transform:translateY(12px) scale(.9)}40%,100%{opacity:1;transform:none}}
@keyframes sms2{0%,52%{opacity:0;transform:translateY(12px) scale(.9)}60%,100%{opacity:1;transform:none}}
@keyframes sms3{0%,72%{opacity:0;transform:translateY(12px) scale(.9)}80%,100%{opacity:1;transform:none}}
@keyframes typing{0%,60%,100%{opacity:.25;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}
@keyframes cb1{0%,20%{opacity:0;transform:translateX(-10px)}28%,100%{opacity:1;transform:none}}
@keyframes cb2{0%,45%{opacity:0;transform:translateX(10px)}53%,100%{opacity:1;transform:none}}
@keyframes cb3{0%,70%{opacity:0;transform:translateX(-10px)}78%,100%{opacity:1;transform:none}}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.3}}

/* ---- Button pop (applied to any pill-radius a/button by theme.js) ---- */
a.btn-pop,button.btn-pop{transition:transform .22s cubic-bezier(.34,1.56,.64,1),box-shadow .22s ease,filter .22s ease}
a.btn-pop:hover,button.btn-pop:hover{transform:translateY(-3px) scale(1.035);filter:brightness(1.04)}
a.btn-pop:active,button.btn-pop:active{transform:translateY(-1px) scale(.99)}

/* ---- Desktop vs mobile nav (CSS-only burger via checkbox) ---- */
.pwm-toggle{position:absolute;left:-9999px}
.pwm-mobile-menu{display:none}
@media(min-width:1025px){
  [data-nav-burger]{display:none !important}
  nav.pwm-nav{position:sticky !important;top:0 !important}
}
nav.pwm-nav.pwm-scrolled{box-shadow:0 8px 24px -18px #0a140e55}
@media(max-width:1024px){
  [data-stack]{grid-template-columns:1fr !important}
  [data-nav-links]{display:none !important}
  [data-nav-burger]{display:inline-flex !important}
  nav.pwm-nav{padding:14px 20px !important}
  section{padding-left:20px !important;padding-right:20px !important}
  [data-cols3],[data-cols4]{grid-template-columns:1fr 1fr !important;gap:14px !important}
  [data-slider]{display:flex !important;grid-template-columns:none !important;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px;margin-left:-20px;margin-right:-20px;padding-left:20px;padding-right:20px}
  [data-slider] > *{flex:0 0 62% !important;scroll-snap-align:start}
  [data-hide-mobile]{display:none !important}
  /* Mobile menu opens when the hidden checkbox is checked */
  #pwm-nav-toggle:checked ~ .pwm-mobile-menu{display:flex !important}
}
/* Hero badge ("AI marketing agency · Palm Beach ·  …") — let it wrap and shrink
   so the long location line never overflows / forces horizontal scroll. */
.pwm-hero-badge{white-space:normal;text-align:center;line-height:1.35}
@media(max-width:600px){
  [data-cols3],[data-cols4]{grid-template-columns:1fr !important}
  h1{font-size:clamp(34px,9vw,44px) !important}
  section{padding-top:52px !important;padding-bottom:52px !important}
  [data-pad]{padding:32px 22px !important}
  [data-slider] > *{flex:0 0 78% !important}
  .pwm-hero-badge{display:none !important}
}
@media(max-width:380px){
  .pwm-hero-badge{display:none !important}
}
