*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;overflow-x:hidden;}
body{font-family:'Geologica',sans-serif;font-weight:400;color:#1b1934;overflow-x:hidden;}
.container{max-width:1170px!important;width:100%;margin-left:auto;margin-right:auto;padding-left:20px;padding-right:20px;}
:root{--sp-red:#dc0028;--sp-green:#00832d;--sp-blue:#00619f;--sp-orange:#fea500;--sp-dark:#1b1934;}
/* Topbar */
#topbar{background:var(--sp-green);color:#fff;font-size:.82rem;font-weight:600;padding:7px 0;position:relative;z-index:200;font-family:'Geologica',sans-serif;}
#topbar a{color:#fff;text-decoration:none;}
.wp{background:#25d366;border-radius:20px;padding:3px 14px;display:inline-flex;align-items:center;gap:6px;font-size:.8rem;}
/* Buttons */
.btn-wa{display:inline-flex;align-items:center;gap:8px;background:#25d366;color:#fff;border:none;border-radius:28px;padding:.65rem 1.4rem;font-weight:600;font-size:.92rem;cursor:pointer;text-decoration:none;transition:background .2s;font-family:'Geologica',sans-serif;}
.btn-wa:hover{background:#1ebe58;color:#fff;}
.btn-ol{display:inline-flex;align-items:center;gap:6px;background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.7);border-radius:28px;padding:.63rem 1.3rem;font-weight:600;font-size:.9rem;text-decoration:none;transition:border-color .2s;}
.btn-ol:hover{border-color:#fff;color:#fff;}
/* Hero */
.ph{background:linear-gradient(135deg,var(--sp-dark) 0%,#2a274a 100%);padding:40px 0;position:relative;overflow:hidden;}
.ph::before{content:'';position:absolute;right:-80px;top:-80px;width:360px;height:360px;border-radius:50%;background:#00619f;opacity:.12;}
.ph::after{content:'';position:absolute;left:-40px;bottom:-60px;width:220px;height:220px;border-radius:50%;background:#00619f;opacity:.08;}
/* Parallax watermark bg */
.ph-parallax-bg {
  position: absolute;
  top: -80px; bottom: -80px; left: 0; right: 0;
  background-size: cover;
  background-position: center top;
  filter: grayscale(100%) opacity(0.13);
  will-change: transform;
  pointer-events: none;
  z-index: 0;
}
.ph > .container { position: relative; z-index: 1; }
.ph-badge{display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,.12);color:#fff;border-radius:18px;padding:4px 14px;font-size:.76rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;margin-bottom:1rem;}
.ph h1{color:#fff;font-size:clamp(1.8rem,4vw,2.8rem);font-weight:600;margin-bottom:.9rem;line-height:1.15;}
.ph .tl{color:rgba(255,255,255,.78);font-size:1rem;max-width:560px;line-height:1.7;margin-bottom:1.8rem;}
/* Trust bar */
.tb{background:#1b1934;padding:13px 0;}
.tb-item{color:#fff;display:flex;align-items:center;justify-content:center;gap:10px;font-weight:600;font-size:.88rem;}
.tb-item i{color:#fea500;font-size:1.3rem;flex-shrink:0;}
.tb-item span{text-align:left;line-height:1.25;}
/* Breadcrumb */
.bc{background:#f8f9fa;padding:9px 0;font-size:.81rem;color:#888;border-bottom:1px solid #eee;}
.bc a{color:#00832d;text-decoration:none;}
/* Feat grid */
.fg{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin:1.4rem 0;}
/* Sidebar card */
.sc{background:#fff;border-radius:16px;padding:1.6rem;box-shadow:0 4px 20px rgba(0,0,0,.08);margin-bottom:1.2rem;}
.sc h5{font-weight:600;font-size:1rem;margin-bottom:.2rem;}
.sc-sub{font-size:.83rem;color:#777;margin-bottom:1rem;}
.form-inp{width:100%;border-radius:9px;padding:.58rem .9rem;border:1.5px solid #e0e0e0;font-family:'Geologica',sans-serif;font-size:.88rem;margin-bottom:.6rem;outline:none;transition:border-color .2s;}
.form-inp:focus{border-color:#00619f;}
/* Accent strip */
.as{height:4px;background:#00619f;border-radius:3px;width:44px;margin:.6rem 0 1.1rem;}
/* Info box */
.ib{background:#00619f12;border-left:3px solid #00619f;border-radius:0 10px 10px 0;padding:.85rem 1.2rem;margin:1.2rem 0;font-size:.88rem;}
.ib strong{color:#00619f;}
/* CTA section */
.cs{background:linear-gradient(135deg,#00619f 0%,#00619fbb 100%);border-radius:18px;padding:2.2rem;color:#fff;position:relative;overflow:hidden;}
.cs::after{content:'';position:absolute;right:-25px;top:-25px;width:140px;height:140px;border-radius:50%;background:rgba(255,255,255,.1);}
.cs h3{font-size:1.35rem;font-weight:600;margin-bottom:.4rem;}
.cs p{opacity:.88;margin-bottom:1.2rem;font-size:.92rem;}
/* Float WA */
.waf{position:fixed;bottom:24px;right:24px;width:54px;height:54px;background:#25d366;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.7rem;z-index:9999;box-shadow:0 5px 20px rgba(0,0,0,.28);text-decoration:none;transition:transform .2s;}
.waf:hover{transform:scale(1.1);color:#fff;}
.waf::before{content:'';position:absolute;inset:0;border-radius:50%;background:#25d366;animation:pulse 2s ease-out infinite;z-index:-1;}
@keyframes pulse{0%{transform:scale(1);opacity:.7;}100%{transform:scale(1.8);opacity:0;}}
/* Sections */
.sec{padding:56px 0;}.sec+.sec{padding-top:0;}
.sec-bg{background:#f8f9fa;}
@media(max-width:767px){.fg{grid-template-columns:1fr 1fr;}.cs{padding:1.5rem;}.ph{padding:28px 0 32px;}}
@media(max-width:575px){.fg{grid-template-columns:1fr;}}

/* Footer */
#footer{background:#1b1934;color:#fff;padding:50px 0 0;font-family:'Geologica',sans-serif;}
#footer h6{font-weight:600;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:#aaa;margin-bottom:1rem;}
#footer a{color:#ccc;text-decoration:none;transition:color .2s;}
#footer a:hover{color:#fff;}
#footer ul{list-style:none;padding:0;margin:0;}
#footer ul li{line-height:2.2;font-size:.9rem;}
.footer-logo{margin-bottom:1rem;}
.social-links{display:flex;gap:8px;margin-top:12px;}
.social-links a{width:36px;height:36px;background:rgba(255,255,255,.1);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.9rem;transition:background .2s;}
.social-links a:hover{background:#00832d;}
.phone-big{display:flex;align-items:center;gap:8px;font-size:1.1rem;font-weight:600;color:#fff;}
.phone-big i{color:#00832d;}
.btn-whatsapp-big{display:inline-flex;align-items:center;gap:8px;background:#25d366;color:#fff;border-radius:28px;padding:.65rem 1.4rem;font-weight:600;font-size:.92rem;text-decoration:none;transition:background .2s;font-family:'Geologica',sans-serif;}
.btn-whatsapp-big:hover{background:#1ebe58;color:#fff;}
.footer-triangle-row{display:flex;height:20px;overflow:hidden;}
.footer-triangle-row span{flex:1;}
.footer-bottom{background:rgba(0,0,0,.3);text-align:center;padding:12px 0;font-size:.76rem;color:#777;font-family:'Geologica',sans-serif;}
.footer-bottom a{color:#777;}
@media(max-width:767px){
  .footer-logo{display:flex;justify-content:center;}
  #footer .col-lg-4>p,
  #footer .col-lg-4 .social-links{text-align:center;justify-content:center;}
}

/* Hero layout */
.ph>.container>div[style*="flex-wrap"]{align-items:center!important;}
/* Hero image — círculo */
.product-img-circle {
  flex: 0 0 auto;
  width: 360px;
  height: 360px;
  border-radius: 50%;
  overflow: hidden;
  border: 5px solid rgba(255,255,255,.18);
  box-shadow: 0 16px 48px rgba(0,0,0,.35);
  align-self: center;
}
.product-img-circle img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
@media(max-width:991px){
  .product-img-circle { width: 260px; height: 260px; }
}
@media(max-width:640px){
  .product-img-circle {
    flex: 0 0 100%;
    width: 100%;
    height: 220px;
    border-radius: 16px;
    margin-top: 16px;
    align-self: auto;
  }
}

#logo-header { height: 67px !important; }

/* ── Shared Navbar ── */
#mainNav {
  padding: 0; z-index: 1040; position: relative; overflow: visible;
  background: #fff; box-shadow: 0 2px 10px rgba(0,0,0,.10);
}
#navbarMenu { overflow: visible; }
.navbar-brand { display: flex; align-items: center; }
.nav-link {
  font-weight: 600; color: var(--sp-dark) !important;
  padding: .8rem 1.1rem !important; font-size: .92rem;
  position: relative; transition: color .2s;
}
.nav-link::after {
  content: ''; position: absolute; bottom: 0; left: 50%; right: 50%;
  height: 3px; background: var(--sp-red); border-radius: 2px 2px 0 0;
  transition: left .25s, right .25s;
}
.nav-link:hover::after { left: 10%; right: 10%; }
.nav-link:hover { color: var(--sp-red) !important; }
.btn-orcamento {
  background: var(--sp-green); color: #fff !important; border-radius: 25px;
  padding: .45rem 1.3rem !important; font-weight: 600; font-size: .85rem;
  transition: background .2s, transform .15s;
  display: inline-flex; align-items: center; gap: 6px;
}
.btn-orcamento:hover { background: var(--sp-red); color: #fff !important; transform: scale(1.04); }
.navbar-toggler { border: 1.5px solid rgba(0,0,0,.15); border-radius: 8px; padding: 6px 10px; }
.navbar-toggler-icon { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(27,25,52,0.75)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); }

/* Topbar pill & social */
#topbar .whatsapp-pill {
  background: #25d366; border-radius: 20px; padding: 3px 14px;
  display: inline-flex; align-items: center; gap: 6px; font-size: .8rem;
}
#topbar .social-icons a { margin-left: 10px; font-size: 1rem; transition: opacity .2s; }
#topbar .social-icons a:hover { opacity: .75; }

/* ── Mega Menu ── */
.megamenu-parent { position: relative; }
.megamenu {
  display: none; position: absolute; top: 100%; right: 0;
  width: 820px; max-width: 95vw; background: #fff;
  border-top: 3px solid var(--sp-green); border-radius: 0 0 16px 16px;
  box-shadow: 0 20px 60px rgba(0,0,0,.14); padding: 1.8rem 0 1.4rem; z-index: 3000;
}
@media (min-width: 992px) {
  .megamenu-parent:hover .megamenu,
  .megamenu-parent.is-open .megamenu { display: block; }
}
.megamenu-inner { max-width: 1170px; margin: 0 auto; padding: 0 20px; }
.megamenu-heading { font-size: .72rem; font-weight: 600; text-transform: uppercase; letter-spacing: .12em; color: var(--sp-green); margin-bottom: 1.1rem; }
.megamenu-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: .4rem; }
.megamenu-item {
  display: flex; align-items: center; gap: .7rem; padding: .6rem .85rem; border-radius: 10px;
  text-decoration: none; color: var(--sp-dark); font-weight: 600; font-size: .86rem;
  transition: background .15s, color .15s, border-color .15s; border-left: 3px solid transparent;
}
.megamenu-item:hover { background: #f4f8f4; color: var(--sp-green); border-left-color: var(--sp-green); }
.megamenu-icon { width: 34px; height: 34px; border-radius: 8px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; font-size: 1rem; background: rgba(0,0,0,.05); }
.megamenu-label { line-height: 1.3; }
.megamenu-trigger .fa-chevron-down { font-size: .65rem; transition: transform .22s; }
.megamenu-parent.is-open .megamenu-trigger .fa-chevron-down { transform: rotate(180deg); }

/* ── Mobile Drawer ── */
#drawerBackdrop {
  display: none; position: fixed; inset: 0; background: rgba(0,0,0,.5);
  z-index: 2000; opacity: 0; transition: opacity .3s ease; backdrop-filter: blur(2px);
}
#drawerBackdrop.active { display: block; opacity: 1; }
#mobileDrawer {
  position: fixed; top: 0; right: 0; width: min(80vw, 320px); height: 100dvh;
  background: #fff; z-index: 2100; display: flex; flex-direction: column;
  transform: translateX(100%); transition: transform .35s cubic-bezier(.4,0,.2,1);
  box-shadow: -8px 0 32px rgba(0,0,0,.18); overflow-y: auto;
}
#mobileDrawer.open { transform: translateX(0); }
.drawer-header {
  display: flex; align-items: center; justify-content: space-between;
  padding: 20px 24px; border-bottom: 1px solid #eee; background: var(--sp-dark);
}
.drawer-label { color: #fff; font-weight: 600; font-size: 1rem; letter-spacing: .06em; text-transform: uppercase; }
#drawerClose {
  background: none; border: none; color: #fff; font-size: 1.4rem; cursor: pointer;
  padding: 4px 8px; border-radius: 6px; transition: background .2s; line-height: 1;
}
#drawerClose:hover { background: rgba(255,255,255,.15); }
.drawer-nav { display: flex; flex-direction: column; padding: 16px 0; flex: 1; }
.drawer-link {
  display: block; padding: 16px 24px; font-size: 1.05rem; font-weight: 600;
  color: var(--sp-dark); text-decoration: none; border-bottom: 1px solid #f0f0f0;
  transition: background .15s, color .15s, padding-left .15s;
}
.drawer-link:hover { background: #f8f9fa; color: var(--sp-red); padding-left: 32px; }
.drawer-cta { padding: 24px; border-top: 1px solid #eee; display: flex; flex-direction: column; gap: 16px; }
.drawer-phones { display: flex; flex-direction: column; gap: 8px; }
.drawer-phones a { color: var(--sp-dark); text-decoration: none; font-weight: 600; font-size: .9rem; display: flex; align-items: center; gap: 8px; }
.drawer-phones a i { color: var(--sp-green); }
/* Drawer accordion */
.drawer-accordion { border-bottom: 1px solid #f0f0f0; }
.drawer-accordion-toggle {
  display: flex; align-items: center; justify-content: space-between;
  width: 100%; padding: 16px 24px; font-size: 1.05rem; font-weight: 600;
  color: var(--sp-dark); background: none; border: none; cursor: pointer;
  text-align: left; font-family: 'Geologica', sans-serif;
}
.drawer-accordion-toggle:hover { background: #f8f9fa; color: var(--sp-red); }
.drawer-chev { font-size: .72rem; transition: transform .25s; }
.drawer-accordion-toggle[aria-expanded="true"] .drawer-chev { transform: rotate(180deg); }
.drawer-accordion-panel { overflow: hidden; background: #fafafa; }
.drawer-sub-link {
  display: flex; align-items: center; gap: 10px;
  padding: 12px 24px 12px 40px; font-size: .9rem; font-weight: 500;
  color: #444; text-decoration: none; border-bottom: 1px solid #f0f0f0;
  transition: background .15s, color .15s;
}
.drawer-sub-link:last-child { border-bottom: none; }
.drawer-sub-link:hover { background: #f0f8f0; color: var(--sp-green); }
.drawer-sub-link i { width: 18px; text-align: center; font-size: .88rem; flex-shrink: 0; }
@media (min-width: 992px) { #mobileDrawer, #drawerBackdrop { display: none !important; } }

/* Footer triangle row — use Bootstrap mt-5 for spacing */
.footer-triangle-row { display: flex; height: 20px; overflow: hidden; }
