
:root{
  --gp-green:#39B54A;
  --gp-dark:#075B25;
  --gp-deep:#063D1B;
  --gp-light:#8BCF25;
  --gp-bg:#F4F7F3;
  --gp-text:#242424;
  --gp-white:#fff;
  --gp-shadow:0 18px 50px rgba(7,91,37,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Poppins,Arial,sans-serif;color:var(--gp-text);background:#fff}
.gp-bakeries{padding:80px 18px;background:linear-gradient(180deg,#fff 0%,var(--gp-bg) 100%);overflow:hidden}
.gp-wrap{max-width:1180px;margin:0 auto}
.gp-eyebrow{display:inline-flex;padding:8px 14px;border-radius:999px;background:rgba(57,181,74,.10);color:var(--gp-dark);font-size:12px;font-weight:800;letter-spacing:.13em}
.gp-bakeries h2{max-width:820px;margin:16px 0 12px;font-size:clamp(30px,4.2vw,52px);line-height:1.08;color:var(--gp-deep)}
.gp-intro{max-width:760px;margin:0 0 34px;font-size:17px;line-height:1.7;color:#5a625b}
.gp-carousel{position:relative}
.gp-viewport{overflow:hidden;border-radius:28px}
.gp-track{display:flex;gap:22px;transition:transform .45s cubic-bezier(.22,.61,.36,1);will-change:transform}
.gp-card{flex:0 0 calc((100% - 44px)/3);min-width:0;background:#fff;border-radius:24px;overflow:hidden;box-shadow:var(--gp-shadow);border:1px solid rgba(7,91,37,.08);transition:transform .25s ease,box-shadow .25s ease}
.gp-card:hover{transform:translateY(-6px);box-shadow:0 22px 60px rgba(7,91,37,.18)}
.gp-image-wrap{aspect-ratio:16/10;overflow:hidden;background:#eaf1e8}
.gp-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease}
.gp-card:hover img{transform:scale(1.035)}
.gp-card-body{padding:22px}
.gp-card h3{margin:0 0 6px;font-size:21px;color:var(--gp-deep)}
.gp-bairro{display:inline-flex;margin-bottom:12px;font-size:12px;font-weight:700;color:var(--gp-dark);background:#eff8eb;border-radius:999px;padding:6px 10px}
.gp-card p{margin:0;color:#656d66;font-size:14px;line-height:1.6}
.gp-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:48px;height:48px;border-radius:50%;border:0;background:var(--gp-deep);color:#fff;font-size:34px;line-height:1;cursor:pointer;box-shadow:0 10px 28px rgba(6,61,27,.24);transition:.2s}
.gp-nav:hover{transform:translateY(-50%) scale(1.06)}
.gp-prev{left:-22px}.gp-next{right:-22px}
.gp-dots{display:flex;justify-content:center;gap:8px;margin:24px 0 0}
.gp-dot{width:9px;height:9px;border-radius:999px;border:0;background:#b9c4b9;cursor:pointer;padding:0;transition:.2s}
.gp-dot.is-active{width:28px;background:var(--gp-green)}
.gp-cta{margin-top:42px;padding:26px 28px;border-radius:24px;background:linear-gradient(135deg,var(--gp-deep),var(--gp-dark));display:flex;align-items:center;justify-content:space-between;gap:22px;box-shadow:0 18px 46px rgba(6,61,27,.20)}
.gp-cta strong{display:block;color:#fff;font-size:22px}
.gp-cta span{display:block;color:rgba(255,255,255,.82);margin-top:3px}
.gp-btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 22px;border-radius:14px;background:var(--gp-light);color:var(--gp-deep);font-weight:800;text-decoration:none;white-space:nowrap;transition:.2s}
.gp-btn:hover{transform:translateY(-2px);filter:brightness(1.04)}
.gp-wa-float{position:fixed;right:25px;bottom:25px;z-index:9999;width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#25D366;box-shadow:0 12px 30px rgba(0,0,0,.22);transition:.2s;text-decoration:none;animation:gpPulse 2.6s infinite}
.gp-wa-float svg{width:31px;height:31px;fill:#fff}
.gp-wa-float span{position:absolute;right:72px;background:#173b24;color:#fff;padding:9px 12px;border-radius:10px;font-size:12px;font-weight:600;white-space:nowrap;opacity:0;pointer-events:none;transform:translateX(8px);transition:.2s}
.gp-wa-float:hover{transform:scale(1.07)}
.gp-wa-float:hover span{opacity:1;transform:translateX(0)}
@keyframes gpPulse{0%,100%{box-shadow:0 12px 30px rgba(0,0,0,.22),0 0 0 0 rgba(37,211,102,.32)}50%{box-shadow:0 12px 30px rgba(0,0,0,.22),0 0 0 12px rgba(37,211,102,0)}}
@media(max-width:900px){
  .gp-card{flex-basis:calc((100% - 18px)/2)}
  .gp-track{gap:18px}
  .gp-prev{left:8px}.gp-next{right:8px}
}
@media(max-width:640px){
  .gp-bakeries{padding:56px 14px}
  .gp-card{flex-basis:100%}
  .gp-track{gap:14px}
  .gp-nav{width:42px;height:42px;font-size:30px}
  .gp-cta{flex-direction:column;align-items:flex-start;padding:22px}
  .gp-btn{width:100%;white-space:normal;text-align:center}
  .gp-wa-float{right:18px;bottom:18px;width:55px;height:55px}
  .gp-wa-float span{display:none}
}
