/* ============================================================
   Oyster Dental Clinic — LP "Dentista em Orlando"
   SEO/GEO landing page. Reaproveita tokens de styles.css
   (--navy, --gold, --blue, --cream, .btn, .eyebrow, .section-title).
   ============================================================ */

.material-icons-outlined{font-family:'Material Icons Outlined';font-weight:normal;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;direction:ltr}

/* ---------- HERO ---------- */
.lp-hero{position:relative;background:var(--cream);overflow:hidden;padding:54px 0 70px}
.lp-hero-topo{position:absolute;inset:0;opacity:.5;pointer-events:none;
  background-image:radial-gradient(circle at 12% 20%,transparent 38%,rgba(201,162,74,.10) 39%,transparent 41%),
  radial-gradient(circle at 12% 20%,transparent 58%,rgba(201,162,74,.08) 59%,transparent 61%),
  radial-gradient(circle at 88% 78%,transparent 38%,rgba(110,193,228,.10) 39%,transparent 41%),
  radial-gradient(circle at 88% 78%,transparent 60%,rgba(110,193,228,.07) 61%,transparent 63%);}
.lp-hero-grid{position:relative;display:grid;grid-template-columns:1.05fr .9fr;gap:54px;align-items:center}
.lp-hero-title{font-size:clamp(2.2rem,5vw,3.7rem);color:var(--navy);margin-bottom:22px}
.lp-hero-title em{color:var(--gold-deep);font-style:normal}
.lp-hero-lead{font-size:1.12rem;color:var(--muted);max-width:48ch;margin-bottom:30px}
.lp-hero-lead strong{color:var(--navy)}
.lp-hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:30px}
.lp-hero-trust{display:flex;gap:26px;flex-wrap:wrap}
.lp-hero-trust li{display:flex;align-items:center;gap:8px;font-size:.9rem;color:var(--muted)}
.lp-hero-trust .material-icons-outlined{font-size:1.2rem;color:var(--gold-deep)}
.lp-hero-trust strong{color:var(--navy)}
.lp-hero-media{position:relative}
.lp-hero-photo{width:100%;border-radius:var(--r-lg);box-shadow:var(--shadow);object-fit:cover;aspect-ratio:4/4.4}
.lp-hero-badge{position:absolute;left:-18px;bottom:34px;background:var(--navy);color:#fff;border-radius:var(--r);padding:18px 22px;display:flex;align-items:center;gap:12px;box-shadow:var(--shadow);border:1.5px solid var(--gold)}
.lp-hero-badge strong{font-size:2.4rem;color:var(--gold-br);line-height:1}
.lp-hero-badge span{font-size:.82rem;line-height:1.2;color:rgba(255,255,255,.82)}

/* ---------- GEO ANSWER ---------- */
.lp-geo{background:var(--navy);padding:30px 0}
.lp-geo-answer{color:rgba(255,255,255,.86);font-size:1.04rem;line-height:1.7;max-width:90ch;margin:0 auto;text-align:center}
.lp-geo-answer strong{color:var(--gold-br)}
.lp-geo-answer a{color:#fff;text-decoration:underline;text-decoration-color:var(--gold)}

/* ---------- STATS ---------- */
.lp-stats{background:var(--white);padding:40px 0;border-bottom:1px solid var(--line)}
.lp-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center}
.lp-stat strong{display:block;font-size:2.4rem;color:var(--navy);font-weight:800;letter-spacing:-.02em}
.lp-stat span{font-size:.88rem;color:var(--muted)}

/* ---------- SERVIÇOS ---------- */
.lp-services{padding:84px 0;background:var(--white)}
.lp-services .center{margin-bottom:48px}
.lp-serv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.lp-serv{background:var(--cream);border:1px solid var(--line);border-radius:var(--r);padding:28px;transition:.3s var(--ease)}
.lp-serv:hover{transform:translateY(-4px);box-shadow:var(--shadow-sm);border-color:var(--gold)}
.lp-serv .material-icons-outlined{font-size:2rem;color:var(--gold-deep);margin-bottom:14px;display:block}
.lp-serv h3{font-size:1.16rem;color:var(--navy);margin-bottom:8px}
.lp-serv p{font-size:.94rem;color:var(--muted)}
.lp-serv--em{background:var(--navy);border-color:var(--navy)}
.lp-serv--em .material-icons-outlined{color:var(--gold-br)}
.lp-serv--em h3{color:#fff}
.lp-serv--em p{color:rgba(255,255,255,.78)}

/* ---------- DOCTOR ---------- */
.lp-doctor{padding:84px 0;background:var(--cream)}
.lp-doctor-grid{display:grid;grid-template-columns:.85fr 1.1fr;gap:54px;align-items:center}
.lp-doctor-media{position:relative}
.lp-doctor-media img{width:100%;border-radius:var(--r-lg);box-shadow:var(--shadow);object-fit:cover;aspect-ratio:4/4.6}
.lp-doctor-seal{position:absolute;right:-16px;bottom:-16px;width:96px;height:96px;background:#fff;border-radius:50%;display:grid;place-items:center;box-shadow:var(--shadow-sm);padding:14px}
.lp-doctor-seal img{width:100%;height:auto;box-shadow:none;border-radius:0;aspect-ratio:auto}
.lp-doctor-copy .lead{margin-bottom:24px}
.lp-doctor-creds{display:grid;gap:14px;margin-bottom:30px}
.lp-doctor-creds li{display:flex;align-items:flex-start;gap:12px;font-size:1rem;color:var(--ink)}
.lp-doctor-creds .material-icons-outlined{color:var(--gold-deep);font-size:1.3rem;flex-shrink:0;margin-top:1px}
.lp-doctor-creds strong{color:var(--navy)}

/* ---------- WHY ---------- */
.lp-why{padding:84px 0;background:var(--navy);position:relative;overflow:hidden}
.lp-why::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 0%,rgba(201,162,74,.14),transparent 50%),radial-gradient(circle at 0% 100%,rgba(110,193,228,.12),transparent 50%);pointer-events:none}
.lp-why .center{margin-bottom:48px;position:relative}
.lp-why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;position:relative}
.lp-why-item{background:rgba(255,255,255,.04);border:1px solid var(--line-2);border-radius:var(--r);padding:28px}
.lp-why-item .material-icons-outlined{font-size:2rem;color:var(--gold-br);margin-bottom:14px;display:block}
.lp-why-item h3{color:#fff;font-size:1.1rem;margin-bottom:8px}
.lp-why-item p{color:rgba(255,255,255,.72);font-size:.92rem}

/* ---------- REVIEWS ---------- */
.lp-reviews{padding:84px 0;background:var(--white)}
.lp-reviews .center{margin-bottom:18px}
.lp-stars{color:var(--gold-br);letter-spacing:2px}
.lp-reviews-rating{font-size:1.05rem;color:var(--muted);margin-bottom:40px}
.lp-reviews-rating strong{color:var(--navy)}
.lp-reviews-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.lp-review{background:var(--cream);border:1px solid var(--line);border-radius:var(--r);padding:26px}
.lp-review blockquote{font-size:.96rem;color:var(--ink);margin:12px 0;line-height:1.6}
.lp-review figcaption{font-size:.84rem;color:var(--muted-2);font-weight:600}

/* ---------- AREA ---------- */
.lp-area{padding:84px 0;background:var(--cream)}
.lp-area-grid{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center}
.lp-area-copy .lead{margin-bottom:24px}
.lp-area-tags{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}
.lp-area-tags li{background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 16px;font-size:.86rem;font-weight:600;color:var(--navy)}
.lp-area-addr{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--navy);margin-bottom:20px}
.lp-area-addr .material-icons-outlined{color:var(--gold-deep)}
.lp-area-map{border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow);height:420px}
.lp-area-map iframe{width:100%;height:100%;border:0;filter:grayscale(.2) contrast(1.05)}

/* ---------- FAQ ---------- */
.lp-faq{padding:84px 0;background:var(--white)}
.lp-faq .center{margin-bottom:40px}
.lp-faq-list{max-width:820px;margin:0 auto;display:grid;gap:12px}
.lp-faq-item{background:var(--cream);border:1px solid var(--line);border-radius:var(--r);padding:4px 24px;transition:.3s}
.lp-faq-item summary{cursor:pointer;list-style:none;padding:18px 0;font-weight:700;color:var(--navy);font-size:1.04rem;display:flex;justify-content:space-between;align-items:center;gap:16px}
.lp-faq-item summary::-webkit-details-marker{display:none}
.lp-faq-item summary::after{content:"add";font-family:'Material Icons Outlined';color:var(--gold-deep);font-size:1.4rem;transition:transform .3s}
.lp-faq-item[open] summary::after{content:"remove"}
.lp-faq-item p{color:var(--muted);padding-bottom:18px;line-height:1.7}
.lp-faq-item[open]{border-color:var(--gold)}

/* ---------- CONTACT ---------- */
.lp-contact{padding:84px 0;background:var(--navy);position:relative;overflow:hidden}
.lp-contact::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 0% 0%,rgba(201,162,74,.16),transparent 45%),radial-gradient(circle at 100% 100%,rgba(110,193,228,.12),transparent 45%);pointer-events:none}
.lp-contact-grid{display:grid;grid-template-columns:1fr .85fr;gap:54px;align-items:center;position:relative}
.lp-contact-info{display:grid;gap:14px;margin-top:24px}
.lp-contact-info a,.lp-contact-info span{display:flex;align-items:center;gap:10px;color:rgba(255,255,255,.88);font-size:1rem}
.lp-contact-info a:hover{color:var(--gold-br)}
.lp-contact-info .material-icons-outlined{color:var(--gold-br)}
.lp-form{background:#fff;border-radius:var(--r-lg);padding:34px;box-shadow:var(--shadow)}
.lp-form h3{color:var(--navy);font-size:1.4rem;margin-bottom:20px}
.lp-form label{display:block;font-size:.86rem;font-weight:600;color:var(--navy);margin-bottom:14px}
.lp-form input,.lp-form select{width:100%;margin-top:6px;padding:13px 14px;border:1.5px solid var(--line);border-radius:var(--r-sm);background:var(--cream);font-size:.96rem;transition:.2s}
.lp-form input:focus,.lp-form select:focus{outline:none;border-color:var(--gold);background:#fff}
.lp-form button{margin-top:8px}
.lp-form-note{font-size:.78rem;color:var(--muted-2);margin-top:14px;text-align:center;line-height:1.5}

/* ---------- FOOTER ---------- */
.lp-footer{background:var(--navy-deep);color:rgba(255,255,255,.7);padding:56px 0 0}
.lp-footer-inner{display:grid;grid-template-columns:1.3fr 1fr;gap:40px;padding-bottom:40px}
.lp-footer-logo{height:46px;width:auto;margin-bottom:16px}
.lp-footer-brand p{font-size:.92rem;max-width:46ch;line-height:1.7}
.lp-footer-social{display:flex;gap:12px;margin-top:18px}
.lp-footer-social a{width:40px;height:40px;border-radius:50%;border:1px solid var(--line-2);display:grid;place-items:center;transition:.25s}
.lp-footer-social a:hover{background:var(--gold);color:var(--navy);border-color:var(--gold)}
.lp-footer-contact h4{color:#fff;font-size:.96rem;margin-bottom:16px;letter-spacing:.04em}
.lp-footer-contact a,.lp-footer-contact span{display:block;font-size:.92rem;margin-bottom:10px}
.lp-footer-contact a:hover{color:var(--gold-br)}
.lp-footer-bottom{border-top:1px solid var(--line-2);padding:20px 0}
.lp-footer-bottom .container{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.8rem;color:var(--muted-2)}

/* ---------- WHATSAPP FLOAT ---------- */
.whatsapp-float{position:fixed;right:22px;bottom:22px;z-index:80;width:58px;height:58px;border-radius:50%;background:#25d366;color:#fff;display:grid;place-items:center;box-shadow:0 14px 34px -8px rgba(37,211,102,.6);transition:.3s var(--ease);animation:wafloat 2.6s ease-in-out infinite}
.whatsapp-float .material-icons-outlined{font-size:1.9rem}
.whatsapp-float:hover{transform:scale(1.08)}
@keyframes wafloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}

/* ---------- REVEAL ---------- */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.reveal.in{opacity:1;transform:none}

/* ---------- RESPONSIVE ---------- */
@media(max-width:960px){
  .lp-hero-grid,.lp-doctor-grid,.lp-area-grid,.lp-contact-grid,.lp-footer-inner{grid-template-columns:1fr;gap:36px}
  .lp-hero-media{order:-1}
  .lp-serv-grid,.lp-why-grid,.lp-reviews-grid{grid-template-columns:repeat(2,1fr)}
  .lp-stats-grid{grid-template-columns:repeat(2,1fr);gap:30px}
  .lp-doctor-grid{direction:ltr}
  .lp-area-map{height:320px}
}
@media(max-width:560px){
  .lp-serv-grid,.lp-why-grid,.lp-reviews-grid{grid-template-columns:1fr}
  .lp-hero-cta{flex-direction:column}
  .lp-hero-cta .btn{width:100%;justify-content:center}
  .lp-footer-bottom .container{flex-direction:column;text-align:center}
  .lp-hero-badge{left:0}
}
