/*
Theme Name: AV Laser
Theme URI: https://jocasta.lovable.app
Author: AV Laser
Description: Tema WordPress premium para AV Laser — Especialista em Despigmentação, Depilação a Laser e Nanopigmentação. Design boutique em vinho, off-white e champagne.
Version: 1.1
License: GPL-2.0-or-later
Text Domain: aviva-laser
*/

:root{
  --primary:#5a1a24;
  --primary-fg:#f4f0eb;
  --secondary:#dcc7a1;
  --secondary-fg:#2a2a2a;
  --bg:#f4f0eb;
  --fg:#2a2a2a;
  --muted:#6b6560;
  --card:#efe8dc;
  --border:#e2d8c9;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Montserrat',system-ui,sans-serif;background:var(--bg);color:var(--fg);line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}

.font-serif{font-family:'Cinzel',serif;letter-spacing:.02em}
.font-display{font-family:'Cormorant Garamond',serif;font-style:italic}

.eyebrow{font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;display:inline-flex;align-items:center;gap:1rem;color:var(--primary)}
.eyebrow .rule{width:2.5rem;height:1px;background:var(--primary);display:inline-block}
.eyebrow.light{color:rgba(244,240,235,.7)}
.eyebrow.light .rule{background:var(--secondary)}

.container{max-width:1200px;margin:0 auto;padding:0 1.5rem}
@media(min-width:768px){.container{padding:0 3rem}}

.btn{display:inline-flex;align-items:center;justify-content:center;padding:1rem 2.5rem;font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;transition:all .3s;cursor:pointer;border:none}
.btn-primary{background:var(--primary);color:var(--primary-fg)}
.btn-primary:hover{background:var(--secondary);color:var(--secondary-fg)}
.btn-ghost{background:transparent;border:1px solid rgba(90,26,36,.3);color:var(--primary)}
.btn-ghost:hover{border-color:var(--primary)}
.btn-ghost.dark{border-color:rgba(244,240,235,.3);color:var(--primary-fg)}
.btn-ghost.dark:hover{border-color:var(--primary-fg)}

/* Header */
.site-header{position:absolute;top:0;left:0;right:0;z-index:20}
.site-header .inner{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 0}
.site-header .logo img{height:56px;width:auto}
.site-header .cta-nav{font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:rgba(244,240,235,.8);display:none;align-items:center;gap:.75rem;transition:color .3s}
.site-header .cta-nav:hover{color:var(--secondary)}
.site-header .cta-nav .rule{width:2rem;height:1px;background:var(--secondary)}
@media(min-width:768px){.site-header .cta-nav{display:inline-flex}}

/* Hero */
.hero{background:var(--primary);color:var(--primary-fg);position:relative;overflow:hidden;padding:8rem 0 5rem}
@media(min-width:768px){.hero{padding:10rem 0 7rem}}
.hero .grid{display:grid;grid-template-columns:1fr;gap:2rem}
@media(min-width:1024px){.hero .grid{grid-template-columns:7fr 5fr;gap:3rem}}
.hero h1{font-family:'Cinzel',serif;font-size:2.4rem;line-height:1.05;text-transform:uppercase;margin-top:2rem}
@media(min-width:640px){.hero h1{font-size:3rem}}
@media(min-width:1024px){.hero h1{font-size:4.5rem}}
.hero h1 .accent{display:block;font-family:'Cormorant Garamond',serif;font-style:italic;text-transform:none;color:var(--secondary);letter-spacing:0}
.hero h1 .soft{color:rgba(220,199,161,.9);display:block}
.hero .buttons{margin-top:3rem;display:flex;flex-direction:column;gap:1rem}
@media(min-width:640px){.hero .buttons{flex-direction:row;align-items:center}}
.hero .visual{position:relative;aspect-ratio:3/4;overflow:hidden;margin-top:2rem}
.hero .visual img{width:100%;height:100%;object-fit:cover}
.hero .corner{position:absolute;width:6rem;height:6rem}
.hero .corner.bl{bottom:0;left:0;border-bottom:1px solid var(--secondary);border-left:1px solid var(--secondary)}
.hero .corner.tr{top:0;right:0;border-top:1px solid var(--secondary);border-right:1px solid var(--secondary)}
.hero .caption{margin-top:1.5rem;text-align:right;font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:rgba(244,240,235,.6)}

/* Services */
.services{padding:6rem 0;background:var(--bg);border-bottom:1px solid var(--border)}
@media(min-width:768px){.services{padding:8rem 0}}
.services h2{font-family:'Cinzel',serif;color:var(--primary);font-size:2rem;text-transform:uppercase;margin-top:1rem}
@media(min-width:768px){.services h2{font-size:3rem}}
.services h2 em{font-family:'Cormorant Garamond',serif;font-style:italic;text-transform:none;font-weight:400}
.services-grid{margin-top:4rem;display:grid;grid-template-columns:1fr;gap:1px;background:var(--border);border:1px solid var(--border)}
@media(min-width:768px){.services-grid{grid-template-columns:1fr 1fr}}
@media(min-width:1024px){.services-grid{grid-template-columns:1fr 1fr 1fr}}
.service{background:var(--bg);display:flex;flex-direction:column}
.service .pic{background:var(--card);display:flex;align-items:center;justify-content:center;padding:.5rem}
@media(min-width:640px){.service .pic{aspect-ratio:4/3;padding:0;overflow:hidden}}
.service .pic img{width:100%;height:auto;object-fit:contain;transition:opacity .5s}
@media(min-width:640px){.service .pic img{height:100%}}
.service .pic img:hover{opacity:.9}
.service .body{padding:2rem;display:flex;flex-direction:column;flex:1}
@media(min-width:768px){.service .body{padding:2.5rem}}
.service .num{font-family:'Cormorant Garamond',serif;font-style:italic;color:var(--secondary);font-size:1.5rem}
.service h3{margin-top:.75rem;font-family:'Cinzel',serif;text-transform:uppercase;color:var(--primary);font-size:1.35rem;line-height:1.2}
.service p{margin-top:1rem;color:var(--muted);font-size:.95rem;flex:1}
.service .link{margin-top:2rem;border-top:1px solid var(--border);padding-top:1.5rem;font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:rgba(90,26,36,.8);display:flex;justify-content:space-between;align-items:center;transition:color .3s}
.service .link:hover{color:var(--primary)}
.service .link .rule{width:2rem;height:1px;background:currentColor;display:inline-block}

/* Authority */
.authority{background:var(--primary);color:var(--primary-fg);text-align:center;padding:7rem 0}
@media(min-width:768px){.authority{padding:10rem 0}}
.authority .inner{max-width:960px;margin:0 auto}
.authority h2{font-family:'Cinzel',serif;font-size:2rem;text-transform:uppercase;line-height:1.15;margin-top:1rem}
@media(min-width:768px){.authority h2{font-size:3rem}}
.authority h2 em{display:block;font-family:'Cormorant Garamond',serif;font-style:italic;text-transform:none;color:var(--secondary);margin-top:.5rem;font-weight:400}
.authority .text{margin-top:3rem;max-width:640px;margin-left:auto;margin-right:auto;color:rgba(244,240,235,.8);display:flex;flex-direction:column;gap:1.5rem;font-size:1rem}

/* Final CTA */
.final-cta{background:var(--primary);color:var(--primary-fg);text-align:center;padding:7rem 0}
@media(min-width:768px){.final-cta{padding:10rem 0}}
.final-cta h2{font-family:'Cinzel',serif;font-size:2.25rem;text-transform:uppercase;line-height:1.1;margin-top:1rem}
@media(min-width:768px){.final-cta h2{font-size:3.75rem}}
.final-cta h2 em{display:block;font-family:'Cormorant Garamond',serif;font-style:italic;text-transform:none;color:var(--secondary);font-weight:400}
.final-cta p{margin:2.5rem auto 0;max-width:640px;color:rgba(244,240,235,.8)}
.final-cta .btn-gold{margin-top:3rem;background:var(--secondary);color:var(--secondary-fg);padding:1.25rem 3rem;font-size:.85rem;letter-spacing:.32em;text-transform:uppercase;display:inline-block;transition:all .3s}
.final-cta .btn-gold:hover{background:var(--primary-fg);color:var(--primary)}

/* Footer */
.site-footer{background:var(--fg);color:var(--primary-fg)}
.site-footer .grid{display:grid;grid-template-columns:1fr;gap:2.5rem;padding:4rem 0;font-size:.9rem}
@media(min-width:768px){.site-footer .grid{grid-template-columns:1fr 1fr 1fr}}
.site-footer img{height:80px;width:auto}
.site-footer p{color:rgba(244,240,235,.7);margin-top:.75rem;max-width:20rem;line-height:1.6}
.site-footer .eyebrow{color:rgba(244,240,235,.6);margin-bottom:.75rem}
.site-footer a{color:rgba(244,240,235,.8);transition:color .3s;display:block;margin-top:.5rem}
.site-footer a:hover{color:var(--secondary)}
.site-footer .bottom{border-top:1px solid rgba(244,240,235,.1)}
.site-footer .bottom .row{display:flex;flex-direction:column;gap:.75rem;padding:1.5rem 0;font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:rgba(244,240,235,.6)}
@media(min-width:768px){.site-footer .bottom .row{flex-direction:row;justify-content:space-between}}
