:root{--gfx-orange:#f58220;--gfx-green:#25a85a;--gfx-dark:#17211c;--gfx-soft:#f6f7f5;--gfx-line:#e6e9e7}.gfx-boxes{font-family:Montserrat,Arial,sans-serif;color:#242a27}.gfx-boxes-shell{width:min(1180px,calc(100% - 40px));margin:auto}.gfx-boxes-hero{padding:92px 0;background:linear-gradient(135deg,#153c2d,#246e49);color:#fff;position:relative;overflow:hidden}.gfx-boxes-hero:after{content:"";position:absolute;width:460px;height:460px;border:80px solid rgba(255,255,255,.04);border-radius:50%;right:-130px;top:-220px}.gfx-boxes-hero .gfx-boxes-shell{position:relative;z-index:1}.gfx-kicker,.gfx-box-overline,.gfx-boxes-heading span{font-size:12px;letter-spacing:.18em;font-weight:800;color:#f9a14d}.gfx-boxes-hero h1{font-size:clamp(36px,6vw,66px);line-height:1.03;margin:10px 0 18px;max-width:760px}.gfx-boxes-hero p{font-size:18px;line-height:1.7;max-width:750px;color:rgba(255,255,255,.82)}.gfx-box-btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;padding:14px 22px;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;cursor:pointer}.gfx-box-btn--orange{background:var(--gfx-orange);color:#fff}.gfx-box-btn--green{background:#1d6b46;color:#fff}.gfx-boxes-models{padding:75px 0}.gfx-boxes-heading{text-align:center;margin-bottom:38px}.gfx-boxes-heading h2{font-size:clamp(28px,4vw,44px);margin:8px 0}.gfx-box-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.gfx-box-card{border:1px solid var(--gfx-line);border-radius:20px;overflow:hidden;background:#fff;box-shadow:0 12px 40px rgba(22,49,38,.07)}.gfx-box-card__visual{aspect-ratio:1/1;background:#f2f4f2;display:grid;place-items:center;overflow:hidden}.gfx-box-card__visual img{width:100%;height:100%;object-fit:cover}.gfx-box-placeholder{color:#7d857f;font-weight:700}.gfx-box-card__body{padding:25px}.gfx-box-card h3{font-size:25px;margin:6px 0 10px}.gfx-box-card p{line-height:1.65}.gfx-box-dim{color:#305640}.gfx-dim-link{border:0;background:transparent;color:#d6640a;text-decoration:underline;padding:0;font-weight:700}.gfx-box-calculator{margin-top:22px;padding-top:18px;border-top:1px solid var(--gfx-line)}.gfx-box-calculator label{display:block;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.gfx-box-qty{display:block;width:100%;padding:12px 14px;margin:7px 0 15px;border:1px solid #cfd7d2;border-radius:10px;font:inherit}.gfx-box-price,.gfx-box-total{display:flex;justify-content:space-between;gap:15px;padding:6px 0}.gfx-box-total{font-size:18px}.gfx-box-total strong{color:#1d6b46}.gfx-box-price-note{font-size:12px;color:#717971;min-height:20px}.gfx-open-quote{width:100%;margin-top:8px}.gfx-box-disclaimer{font-size:12px;color:#6e746f;text-align:center;margin:35px auto 0;max-width:800px}.gfx-box-empty{padding:45px;text-align:center;background:var(--gfx-soft);border-radius:18px}.gfx-box-modal{position:fixed;inset:0;background:rgba(9,25,17,.72);z-index:999999;display:none;place-items:center;padding:20px}.gfx-box-modal.open{display:grid}.gfx-modal-open{overflow:hidden}.gfx-box-modal__dialog{background:#fff;border-radius:18px;width:min(100%,600px);max-height:90vh;overflow:auto;padding:34px;position:relative}.gfx-box-modal__dialog--image{width:min(100%,800px);text-align:center}.gfx-box-modal__dialog--image img{max-height:72vh;object-fit:contain}.gfx-box-modal__close{position:absolute;right:12px;top:8px;border:0;background:transparent;font-size:32px}.gfx-box-modal h2{font-size:30px;margin:8px 0 20px}.gfx-box-modal label{display:block;font-size:13px;font-weight:700;margin:12px 0}.gfx-box-modal input,.gfx-box-modal textarea{display:block;width:100%;padding:12px 13px;margin-top:7px;border:1px solid #d7ddd9;border-radius:9px;font:inherit}.gfx-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.gfx-quote-summary{background:#f4f7f5;border-radius:12px;padding:15px;margin:16px 0;display:grid;gap:5px}.gfx-form-status{font-size:13px}.gfx-box-modal form>.gfx-box-btn{width:100%}@media(max-width:900px){.gfx-box-grid{grid-template-columns:1fr 1fr}}@media(max-width:620px){.gfx-box-grid{grid-template-columns:1fr}.gfx-form-grid{grid-template-columns:1fr}.gfx-boxes-hero{padding:65px 0}.gfx-boxes-shell{width:min(100% - 28px,1180px)}}

.gfx-boxes-heading>p{max-width:720px;margin:8px auto 0;color:#667169;line-height:1.7}.gfx-box-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px;background:linear-gradient(145deg,#f2f6f3,#e5eee8)}.gfx-box-placeholder span{font-size:12px;letter-spacing:.16em;font-weight:800;color:#d6640a}.gfx-box-placeholder strong{font-size:28px;color:#1d6b46;margin:12px 0}.gfx-box-placeholder small{max-width:220px;line-height:1.5;color:#778078}.gfx-box-print{display:block;width:100%;padding:12px 14px;margin:7px 0 15px;border:1px solid #cfd7d2;border-radius:10px;font:inherit;background:#fff}

/* v1.2 - compatibilidad visual con temas externos y botones siempre legibles */
.gfx-boxes .gfx-box-btn,.gfx-box-modal .gfx-box-btn{
  min-height:48px!important;text-decoration:none!important;line-height:1.2!important;
  font-family:Montserrat,Arial,sans-serif!important;font-size:13px!important;font-weight:800!important;
  text-transform:uppercase!important;letter-spacing:.06em!important;opacity:1!important;visibility:visible!important;
}
.gfx-boxes .gfx-box-btn span,.gfx-box-modal .gfx-box-btn span{display:inline!important;color:inherit!important;font-size:inherit!important;opacity:1!important;visibility:visible!important;}
.gfx-boxes .gfx-box-btn--green{background:#176b43!important;color:#fff!important;border:2px solid #176b43!important;}
.gfx-boxes .gfx-box-btn--orange,.gfx-box-modal .gfx-box-btn--orange{background:#f58220!important;color:#fff!important;border:2px solid #f58220!important;}
.gfx-boxes .gfx-open-quote{width:100%!important;display:flex!important;}
.gfx-box-card__visual img.gfx-box-fallback{object-fit:contain;background:#eef1ef;padding:0;}
.gfx-box-card[data-pricing-mode="manual"] .gfx-box-price,.gfx-box-card[data-pricing-mode="manual"] .gfx-box-total{background:#f7faf8;border-radius:8px;padding:9px 10px;margin:5px 0;}
@media(max-width:620px){.gfx-boxes .gfx-box-btn{font-size:12px!important;padding:13px 16px!important;}.gfx-box-card__body{padding:20px}.gfx-box-card h3{font-size:22px}.gfx-box-card__visual{aspect-ratio:1/1;}}
