/* AA Disk Impressos — estilo fiel ao site original (Avada) */
:root{
  --green:#00a651;
  --green-dark:#008a43;
  --text:#333;
  --muted:#747474;
  --light:#f4f4f4;
  --dark:#141414;
  --container:1100px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:Montserrat,Arial,Helvetica,sans-serif;font-size:14px;font-weight:500;line-height:1.54;color:var(--text);background:#fff;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--green);text-decoration:none;transition:color .2s}
a:hover{color:var(--green-dark)}
svg{width:20px;height:20px;fill:currentColor}
h1,h2,h3,h4,h5{font-family:Oswald,Arial,Helvetica,sans-serif;font-weight:400;color:var(--text);line-height:1.2}
.container{max-width:var(--container);margin:0 auto;padding:0 30px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:100;background:#111 url(../images/Grafica-em-Santos-BG-Header.webp) center/cover no-repeat;transition:box-shadow .3s}
.site-header.scrolled{box-shadow:0 2px 12px rgba(0,0,0,.4)}
.header-inner{max-width:1200px;margin:0 auto;padding:0 30px;height:130px;display:flex;align-items:center;justify-content:space-between;transition:height .3s}
.site-header.scrolled .header-inner{height:90px}
.header-logo img{width:315px;height:auto;transition:width .3s}
.site-header.scrolled .header-logo img{width:220px}
.main-nav{display:flex;align-items:center}
.main-nav>ul{list-style:none;display:flex;align-items:center}
.main-nav>ul>li{position:relative}
.main-nav>ul>li>a{display:flex;align-items:center;gap:6px;height:130px;padding:0 30px;font-family:Oswald,Arial,sans-serif;font-size:16px;text-transform:uppercase;color:#fff;position:relative;transition:height .3s,color .2s}
.site-header.scrolled .main-nav>ul>li>a{height:90px}
.main-nav>ul>li>a::after{content:"";position:absolute;left:30px;right:30px;top:calc(50% + 18px);height:3px;background:var(--green);transform:scaleX(0);transition:transform .2s}
.main-nav>ul>li>a:hover,.main-nav>ul>li.active>a{color:var(--green)}
.main-nav>ul>li.active>a::after,.main-nav>ul>li>a:hover::after{transform:scaleX(1)}
.main-nav .caret{width:12px;height:12px}
.dropdown{list-style:none;position:absolute;top:100%;left:0;min-width:240px;background:#1b1b1b;border-top:3px solid var(--green);opacity:0;visibility:hidden;transform:translateY(8px);transition:all .2s;box-shadow:0 6px 18px rgba(0,0,0,.35)}
.main-nav li:hover>.dropdown,.main-nav li:focus-within>.dropdown{opacity:1;visibility:visible;transform:none}
.dropdown a{display:block;padding:11px 20px;color:#fff;font-family:Montserrat,Arial,sans-serif;font-size:13px;border-bottom:1px solid #2a2a2a}
.dropdown a:hover,.dropdown li.active a{background:var(--green);color:#fff}
.btn-header{display:flex;align-items:center;margin-left:30px;background:var(--green);color:#fff;font-family:"PT Sans",Arial,sans-serif;font-weight:700;font-size:14px;text-transform:uppercase;height:44px;border-radius:2px;white-space:nowrap;transition:background .2s}
.btn-header:hover{background:var(--green-dark);color:#fff}
.btn-header .ico{display:flex;align-items:center;padding:0 14px;border-right:1px solid rgba(255,255,255,.3);height:100%}
.btn-header .ico svg{width:16px;height:16px}
.btn-header .lbl{padding:0 32px 0 20px}
.menu-toggle{display:none;background:none;border:0;cursor:pointer;padding:10px}
.menu-toggle span{display:block;width:26px;height:3px;background:#fff;margin:5px 0;transition:.3s}

/* ---------- Slider ---------- */
.hero-slider{position:relative;overflow:hidden;background:#eee;aspect-ratio:4/1}
.hero-slider .slide{position:absolute;inset:0;opacity:0;transition:opacity .8s}
.hero-slider .slide.active{opacity:1}
.hero-slider .slide img{width:100%;height:100%;object-fit:cover}
.slider-arrow{position:absolute;top:50%;transform:translateY(-50%);width:30px;height:30px;background:rgba(0,0,0,.25);color:#fff;border:0;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:2;transition:background .2s}
.slider-arrow:hover{background:rgba(0,0,0,.6)}
.slider-arrow svg{width:14px;height:14px}
.slider-arrow.prev{left:0}.slider-arrow.next{right:0}

/* ---------- Generic sections ---------- */
.section{padding:90px 0}
.section-light{background:var(--light)}
.title-xl{font-size:40px;text-transform:uppercase;margin-bottom:24px}
.subtitle{font-size:20px;color:var(--green);text-transform:uppercase;margin-bottom:36px;line-height:1.54}
.center{text-align:center}
.text p{margin-bottom:20px}
.text p:last-child{margin-bottom:0}
.btn{display:inline-flex;align-items:center;gap:10px;background:var(--green);color:#fff;font-family:"PT Sans",Arial,sans-serif;font-weight:700;font-size:14px;text-transform:uppercase;padding:13px 29px;border-radius:2px;transition:background .2s}
.btn:hover{background:var(--green-dark);color:#fff}
.btn svg{width:16px;height:16px}
.btn-sm{font-size:12px;padding:11px 26px}

.two-col{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.two-col.img-left{grid-template-columns:5fr 7fr}
.two-col.img-right{grid-template-columns:7fr 5fr}
.two-col .media{display:flex;justify-content:center}
.two-col .media img{max-width:100%}

/* Welcome */
.welcome .media img{max-width:335px}

/* Parallax banner */
.parallax{position:relative;background-size:cover;background-position:center;background-attachment:fixed;color:#fff;text-align:center}
.parallax::before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.35)}
.parallax .container{position:relative}
.parallax h3,.parallax h4,.parallax h2{color:#fff}
.band-atendimento{padding:105px 0 115px}
.band-atendimento h4{font-size:20px;text-transform:uppercase;margin-bottom:28px}
.band-atendimento h3{font-size:36px;text-transform:uppercase}
.band-cta{padding:100px 0}
.band-cta h3{font-size:36px;text-transform:uppercase;margin-bottom:26px}
.band-cta h2{font-size:24px;line-height:1.7;text-transform:uppercase;max-width:980px;margin:0 auto 34px}
.band-cta .btn{padding:16px 40px}

/* Features */
.features{display:grid;grid-template-columns:repeat(3,1fr);gap:50px 60px;margin-top:40px}
.feature{display:flex;gap:20px;align-items:flex-start}
.feature .ic{flex:0 0 50px;width:50px;height:50px;border-radius:50%;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center}
.feature .ic svg{width:22px;height:22px}
.feature h2{font-size:18px;margin:10px 0 12px}
.feature p{font-size:14px}

/* About accordion */
.about h3{font-size:40px;text-transform:uppercase;margin-bottom:24px}
.accordion{margin-top:20px}
.acc-item{border-bottom:1px solid #e0e0e0}
.acc-btn{width:100%;display:flex;align-items:center;gap:14px;background:none;border:0;cursor:pointer;padding:12px 0;font-family:Oswald,Arial,sans-serif;font-size:14px;color:var(--text);text-align:left}
.acc-btn .sq{width:22px;height:22px;background:#333;color:#fff;display:flex;align-items:center;justify-content:center;font-family:Arial,sans-serif;font-size:16px;line-height:1;transition:background .2s}
.acc-btn:hover .sq,.acc-item.open .sq{background:var(--green)}
.acc-btn:hover{color:var(--green)}
.acc-panel{max-height:0;overflow:hidden;transition:max-height .35s ease}
.acc-panel p{padding:0 0 18px 36px}
.about .media img{max-width:335px}

/* Social */
.social-text{max-width:580px;margin:0 auto 34px}
.insta-circle{display:inline-flex;width:96px;height:96px;border-radius:50%;background:#c13584;color:#fff;align-items:center;justify-content:center;transition:transform .2s}
.insta-circle:hover{transform:scale(1.06);color:#fff}
.insta-circle svg{width:44px;height:44px;fill:none}

/* Services carousel */
.carousel{position:relative;margin-top:50px;overflow:hidden}
.carousel-track{display:flex;transition:transform .6s ease}
.carousel-item{flex:0 0 20%;padding:0 15px}
.carousel-item a{display:block;border:1px solid #e5e5e5;background:#fff;overflow:hidden}
.carousel-item img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .3s,opacity .3s}
.carousel-item a:hover img{transform:scale(1.05);opacity:.9}
.carousel-item span{display:block;text-align:center;font-family:Oswald,Arial,sans-serif;font-size:13px;text-transform:uppercase;padding:8px 4px;color:var(--text)}
.carousel-nav{display:flex;justify-content:center;gap:8px;margin-top:26px}
.carousel-nav button{width:30px;height:30px;border:0;background:#ccc;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center}
.carousel-nav button:hover{background:var(--green)}
.carousel-nav svg{width:14px;height:14px}

/* Map */
.map-full iframe{display:block;width:100%;height:400px;border:0;filter:grayscale(.15)}
.map-boxed{margin-top:50px}
.map-boxed iframe{display:block;width:100%;height:450px;border:0}

/* Page intro (internal pages) */
.page-intro{padding:70px 0 90px}
.page-intro .title-xl{margin-bottom:28px}
.page-intro .media img{max-width:335px;width:100%}
.page-intro .media.wide img{max-width:400px}

/* ---------- Footer ---------- */
.site-footer{background:#0d0d0d url(../images/Grafica-em-Santos-BG-Header.webp) center/cover no-repeat;color:#fff}
.footer-grid{max-width:var(--container);margin:0 auto;padding:60px 30px 50px;display:grid;grid-template-columns:repeat(4,1fr);gap:40px}
.footer-col h4{font-size:18px;color:#fff;text-transform:uppercase;margin-bottom:22px}
.footer-col p{font-size:13px;line-height:1.6;margin-bottom:16px}
.footer-logo img{width:260px;margin-bottom:20px}
.contact-list{list-style:none}
.contact-list li{display:flex;gap:14px;align-items:flex-start;margin-bottom:12px;font-size:14px}
.contact-list svg{flex:0 0 16px;width:16px;height:16px;margin-top:3px}
.contact-list a{color:#fff}
.contact-list a:hover{color:var(--green)}
.pay-icons{display:flex;align-items:center;gap:12px;margin:6px 0 30px}
.pay-icons .ic{width:44px;height:44px}
.pay-icons .ic svg{width:44px;height:44px}
.pay-icons .pix{display:flex;align-items:center;gap:6px;font-family:Arial,sans-serif;font-size:28px;font-weight:700;color:#aaa;letter-spacing:-.5px}
.pay-icons .pix svg{width:26px;height:26px}
.wa-direct{display:flex;align-items:center;gap:12px;max-width:160px;background:#222;border:2px solid #fff;border-radius:10px;padding:8px 10px;color:#fff;transition:transform .2s}
.wa-direct:hover{transform:scale(1.03);color:#fff}
.wa-direct .bubble{flex:0 0 46px;width:46px;height:46px;border-radius:50%;background:#25d366;display:flex;align-items:center;justify-content:center}
.wa-direct .bubble svg{width:28px;height:28px;fill:#fff}
.wa-direct .t1{display:block;font-family:Arial,sans-serif;font-weight:700;font-size:13px;color:#25d366;line-height:1.1}
.wa-direct .t2{display:block;font-family:Arial,sans-serif;font-weight:700;font-size:15px;line-height:1.1}
.wa-direct .t3{display:block;font-size:10px;color:#25d366}
.wa-direct .t4{display:block;font-size:10px}
.wa-direct{max-width:none;width:160px}
.insta-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;max-width:155px}
.insta-grid a{display:block;aspect-ratio:1;overflow:hidden}
.insta-grid img{width:100%;height:100%;object-fit:cover;transition:opacity .2s}
.insta-grid a:hover img{opacity:.7}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding:22px 30px;text-align:center;font-size:12px}
.footer-bottom a{color:#fff}
.footer-bottom a:hover{color:var(--green)}
.footer-bottom .legal{margin-top:6px;opacity:.75}

/* WhatsApp float */
.whatsapp-float{position:fixed;right:20px;bottom:20px;z-index:200;width:60px;height:60px;border-radius:50%;background:#25d366;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px rgba(0,0,0,.3);transition:transform .2s}
.whatsapp-float:hover{transform:scale(1.08);color:#fff}
.whatsapp-float svg{width:34px;height:34px}

/* Cookie bar */
.cookie-bar{position:fixed;left:0;right:0;bottom:0;z-index:300;background:rgba(17,17,17,.96);color:#fff;font-size:13px;padding:14px 20px;display:none}
.cookie-bar.show{display:block}
.cookie-bar .inner{max-width:var(--container);margin:0 auto;display:flex;gap:20px;align-items:center;justify-content:space-between}
.cookie-bar a{color:var(--green)}
.cookie-bar button{background:var(--green);color:#fff;border:0;padding:9px 22px;font-family:"PT Sans",Arial,sans-serif;font-weight:700;cursor:pointer;border-radius:2px;white-space:nowrap}

/* Legal pages */
.legal-page{padding:70px 0 90px}
.legal-page .container{max-width:900px}
.legal-page h2{font-size:22px;margin:30px 0 12px}
.legal-page p,.legal-page li{margin-bottom:10px}
.legal-page ul{padding-left:22px}
.page-404{padding:120px 0;text-align:center}
.page-404 .big{font-family:Oswald,Arial,sans-serif;font-size:120px;color:var(--green);line-height:1}

/* ---------- Responsive ---------- */
@media (max-width:1180px){
  .main-nav>ul>li>a{padding:0 16px}
  .main-nav>ul>li>a::after{left:16px;right:16px}
  .btn-header{margin-left:14px}
  .btn-header .lbl{padding:0 18px 0 14px}
  .header-logo img{width:250px}
}
@media (max-width:1000px){
  .header-inner,.site-header.scrolled .header-inner{height:90px}
  .header-logo img,.site-header.scrolled .header-logo img{width:200px}
  .menu-toggle{display:block}
  .main-nav{position:fixed;top:90px;left:0;right:0;bottom:0;background:#141414;flex-direction:column;align-items:stretch;overflow-y:auto;transform:translateX(100%);transition:transform .3s}
  .main-nav.open{transform:none}
  .main-nav>ul{flex-direction:column;align-items:stretch}
  .main-nav>ul>li>a,.site-header.scrolled .main-nav>ul>li>a{height:auto;padding:16px 24px;border-bottom:1px solid #262626;justify-content:space-between}
  .main-nav>ul>li>a::after{display:none}
  .dropdown{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border-top:0;display:none;background:#0c0c0c}
  .has-sub.open>.dropdown{display:block}
  .dropdown a{padding:12px 36px}
  .btn-header{margin:20px 24px;justify-content:center}
  .menu-toggle.open span:nth-child(1){transform:translateY(8px) rotate(45deg)}
  .menu-toggle.open span:nth-child(2){opacity:0}
  .menu-toggle.open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
  .two-col,.two-col.img-left,.two-col.img-right{grid-template-columns:1fr;gap:40px}
  .two-col.img-right .media{order:2}
  .features{grid-template-columns:1fr 1fr}
  .carousel-item{flex-basis:33.333%}
  .footer-grid{grid-template-columns:1fr 1fr}
  .parallax{background-attachment:scroll}
}
@media (max-width:640px){
  .container{padding:0 16px}
  .header-inner{padding:0 16px}
  .section{padding:60px 0}
  .title-xl,.about h3{font-size:30px}
  .subtitle{font-size:17px;margin-bottom:26px}
  .band-atendimento h3,.band-cta h3{font-size:26px}
  .band-cta h2{font-size:17px}
  .features{grid-template-columns:1fr;gap:34px}
  .carousel-item{flex-basis:50%;padding:0 8px}
  .footer-grid{grid-template-columns:1fr;padding:50px 16px 40px}
  .map-full iframe,.map-boxed iframe{height:320px}
  .cookie-bar .inner{flex-direction:column;text-align:center;gap:10px}
  .page-intro{padding:50px 0 60px}
}
