*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:12px}body{margin:0;background:#f5f7f3;color:#20362c;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-size:14px;line-height:1.45;--accent:#155b44}h1,h2,h3,p{margin:0}a{color:var(--accent);text-decoration:none}button,input,select,textarea{font:inherit}a,button,select{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #b76b00;outline-offset:3px}button,a{cursor:pointer}[hidden]{display:none!important}header,main,footer{max-width:1480px;margin:auto}header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 24px;border-bottom:1px solid #dae2d6}h1{font-size:23px;line-height:1.25;font-weight:700;letter-spacing:-.5px;overflow-wrap:anywhere}.quote-shortcut{font-weight:650;font-size:13px;white-space:nowrap;padding:8px 0}.quote-workspace{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px;padding:20px 24px;align-items:start}.catalog-section{min-width:0}.catalog-section h2{font-size:17px;margin-bottom:10px}.catalog-section>label{display:block;font-size:12px;font-weight:600;margin-bottom:5px}.catalog-section>input{width:100%;min-height:44px;border:1px solid #bfceba;border-radius:6px;padding:10px 12px;background:white;color:#20362c}.catalog-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0}.catalog-summary p{font-size:12px;color:#66776a;min-height:18px}.catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px}.catalog-product{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #dde5d8;min-height:57px}.catalog-product h3{font-size:13px;font-weight:550;line-height:1.45;overflow-wrap:anywhere;min-width:0}.catalog-product button{flex-shrink:0;min-height:40px;min-width:70px;border:1px solid #c9d9c1;background:#eaf2e5;color:var(--accent);border-radius:5px;padding:8px 10px;font-size:12px;font-weight:650}.catalog-product button:hover{background:#dcebd3}.catalog-pages{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px;font-size:12px}.catalog-pages button{border:1px solid #c6d4be;border-radius:5px;background:white;color:var(--accent);padding:9px 12px;min-height:42px}.catalog-pages button:disabled{opacity:.4;cursor:default}.catalog-empty{grid-column:1/-1;color:#657665;font-size:13px;line-height:1.7;padding:18px 0}.quote-section{position:sticky;top:12px;border:1px solid #d4dfcd;background:white;border-radius:9px;padding:18px;min-width:0;box-shadow:0 3px 12px #24402b05}.quote-section:only-child{grid-column:1/-1;width:min(640px,100%);margin:auto;position:static}.quote-section>h2{font-size:19px;letter-spacing:-.3px;margin-bottom:14px}.quote-section label{display:block;font-size:12px;font-weight:600;margin-bottom:5px}.quote-section label span{color:#788376;font-weight:400;font-size:11px}.quote-section textarea,.quote-section select{width:100%;padding:10px;border:1px solid #c3d0bd;border-radius:5px;background:white;color:#20362c;margin-bottom:13px;min-height:42px}.quote-section textarea{resize:vertical;min-height:80px}.primary{display:flex;align-items:center;justify-content:center;gap:12px;border:0;border-radius:6px;background:var(--accent);color:white;padding:12px 14px;font-size:13px;font-weight:650;min-height:44px}.primary:disabled{opacity:.5;cursor:default}form>.primary{width:100%}.quote-note{font-size:11px;color:#6c7866;line-height:1.55;margin-top:10px}.quote-products{margin-bottom:13px}.quote-products>.small{font-size:11px;color:#697665;margin-top:6px}#quote-product-list{max-height:300px;overflow:auto;padding-right:3px}.quote-item{display:grid;grid-template-columns:minmax(0,1fr) 67px 32px;gap:8px;align-items:center;border-bottom:1px solid #e0e6dc;padding:8px 0}.quote-item strong{font-weight:550;font-size:12px;line-height:1.4;overflow-wrap:anywhere}.quote-item label{font-size:10px;margin:0}.quote-item input{width:100%;min-height:36px;border:1px solid #bfccb9;border-radius:4px;padding:6px;background:white;color:#20362c;margin-top:3px}.quote-item button{border:0;background:transparent;color:#987057;font-size:18px;min-height:36px;padding:4px;line-height:1}.quote-contact{border-top:1px solid #e1e7dc;margin-top:13px;padding-top:11px;font-size:12px}.quote-contact summary{cursor:pointer;font-weight:600}.quote-contact>div{display:grid;gap:9px;margin-top:12px}.quote-contact a{padding:4px 0;overflow-wrap:anywhere}.public-business-detail strong{font-size:12px}.public-business-detail p{font-size:12px;color:#657360;margin-top:4px;line-height:1.5}#review{border-top:1px solid #dfe6d9;margin-top:14px;padding-top:12px}#message{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;font-size:12px;line-height:1.6;margin:0 0 12px;max-height:220px;overflow:auto}#send-whatsapp{font-size:12px}footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 24px;font-size:11px;color:#7c8977;border-top:1px solid #dce4d7}.mobile-cta{display:none}@media(min-width:1250px){.quote-workspace{grid-template-columns:minmax(0,1fr) 380px}}@media(max-width:950px){.quote-workspace{grid-template-columns:minmax(0,1fr) 320px;gap:18px}.catalog-grid{grid-template-columns:1fr}.quote-section{padding:15px}h1{font-size:21px}}@media(max-width:700px){header{padding:14px 16px;gap:14px}h1{font-size:19px}.quote-shortcut{font-size:11px;max-width:115px;white-space:normal;text-align:right;flex-shrink:0}.quote-workspace{grid-template-columns:1fr;padding:15px 16px;gap:22px}.catalog-section h2{font-size:16px}.catalog-product{min-height:57px;padding:8px 0;gap:12px}.catalog-product button{min-height:42px}.catalog-grid{grid-template-columns:1fr}.quote-section{position:static;padding:16px}.catalog-pages{margin-top:12px;font-size:11px}.catalog-pages button{padding:9px 10px}.mobile-cta{display:flex;position:fixed;bottom:12px;left:16px;right:16px;z-index:4;box-shadow:0 4px 18px #24412e26;min-height:46px}footer{padding:13px 16px 78px}.quote-contact{font-size:12px}#quote-product-list{max-height:280px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.business-location{border-top:1px solid #dde5d7;margin-top:14px;padding-top:13px}.business-location h3{font-size:13px;font-weight:650;margin-bottom:9px}.business-location iframe{display:block;width:100%;height:190px;border:0;border-radius:6px;background:#eef2e9}.business-location>a{display:block;font-size:12px;font-weight:600;margin-top:8px;min-height:34px;line-height:1.5;padding:7px 0}@media(max-width:700px){.business-location iframe{height:210px}}

.business-header{align-items:center;flex-wrap:wrap;column-gap:22px;row-gap:12px;padding-top:16px;padding-bottom:16px}.business-identity{display:flex;align-items:center;gap:16px;flex:1 1 430px;min-width:0}.business-logo-space{width:98px;height:78px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:white;border:1px solid #dce5d7;border-radius:8px;padding:5px}.business-logo{max-width:100%;max-height:100%;object-fit:contain}.business-logo-fallback{font-size:27px;font-weight:750;color:#155b44;letter-spacing:-1px}.business-name-address{min-width:0}.business-name-address h1{font-size:25px;margin-bottom:7px}.header-address{font-size:14px;line-height:1.5;overflow-wrap:anywhere;color:#435840}.header-address strong{margin-right:5px;color:#20362c}.header-address a{font-weight:500}.business-header-contact{flex:1 1 460px;display:grid;gap:10px;min-width:0}.header-contact-links{display:flex;flex-wrap:wrap;gap:8px}.header-contact-links a{display:flex;flex-wrap:wrap;gap:5px;align-items:center;min-height:38px;padding:8px 10px;border:1px solid #cddcc5;border-radius:6px;background:white;font-size:13px;overflow-wrap:anywhere}.header-contact-links .contact-whatsapp{background:#e5f1dd;border-color:#bed4b1}.header-social-links{display:flex;flex-wrap:wrap;gap:8px 16px}.header-social-links:empty{display:none}.header-social-links a{font-size:13px;font-weight:650;min-height:30px;display:flex;align-items:center}.business-header .quote-shortcut{align-self:flex-start;font-size:12px}.business-header .quote-shortcut:hover{text-decoration:underline}@media(max-width:700px){.business-header{gap:12px;padding:13px 16px}.business-identity{flex-basis:100%;gap:12px}.business-logo-space{width:78px;height:65px}.business-name-address h1{font-size:21px}.header-address{font-size:13px}.business-header-contact{flex-basis:100%;gap:6px}.header-contact-links{gap:7px}.header-contact-links a{font-size:12px;min-height:38px;padding:7px 9px}.header-social-links a{font-size:12px}.business-header .quote-shortcut{display:none}}
.directory-navigation{max-width:1480px;margin:auto;padding:10px 24px 0}.directory-navigation a{display:inline-flex;align-items:center;min-height:44px;padding:10px 16px;border:1px solid #a3cf91;border-radius:6px;background:#a3cf91;color:#173c29;font-size:14px;font-weight:700;gap:6px}.directory-navigation a:hover{background:#91c47c;border-color:#91c47c}@media(max-width:700px){.directory-navigation{padding:10px 16px 0}}
/* Accesos y navegación del catálogo. */
.business-header .quote-shortcut,footer a,.business-location>a,.header-social-links a,.header-contact-links a,.quote-contact a,.catalog-pages button{background:#a3cf91;color:#173c29;border:1px solid #a3cf91;border-radius:6px;padding:10px 12px;min-height:44px;font-weight:650;text-decoration:none}
.header-contact-links .contact-whatsapp{background:#a3cf91;color:#173c29;border-color:#a3cf91}
.business-header .quote-shortcut:hover,footer a:hover,.business-location>a:hover,.header-social-links a:hover,.header-contact-links a:hover,.quote-contact a:hover,.catalog-pages button:not(:disabled):hover{background:#91c47c;color:#173c29;border-color:#91c47c;text-decoration:none}
footer{flex-wrap:wrap;gap:10px}footer a{display:inline-flex;align-items:center;font-size:12px}.business-location>a{display:inline-flex;align-items:center}.catalog-pages button:disabled{opacity:.4}

.public-contact-link{display:inline-flex;align-items:center;gap:8px;min-width:0;max-width:100%}.public-contact-link .contact-icon{width:19px;height:19px;flex:0 0 19px}.public-contact-link span{min-width:0;overflow-wrap:anywhere;text-align:left}.directory-contacts a{max-width:100%;min-width:0}.header-contact-links .public-contact-link{flex-wrap:nowrap}

.business-categories{max-width:1480px;margin:0 auto;padding:14px 24px 0}.business-categories h2{font-size:14px;margin-bottom:8px}.business-categories ul{display:flex;flex-wrap:wrap;gap:6px 8px;list-style:none;padding:0;margin:0}.business-categories li{background:#eaf2e5;border:1px solid #d1dfc9;border-radius:6px;padding:5px 9px;font-size:12px;overflow-wrap:anywhere;max-width:100%}@media(max-width:700px){.business-categories{padding:12px 16px 0}}

.directory-navigation{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}.directory-navigation a{justify-content:center}@media(max-width:420px){.directory-navigation a{font-size:12px;padding:9px 10px}}

.business-locations{max-width:1480px;margin:0 auto;padding:0 24px}.business-locations iframe{height:280px}@media(max-width:700px){.business-locations{padding:0 16px}.business-locations iframe{height:210px}}

/* Business names share one visual convention across public pages. */
.business-name-address h1{text-transform:uppercase}
/* Raised actions match the public directory, with lighter secondary contacts. */
.business-header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.business-header .quote-shortcut,.catalog-shortcut,.directory-navigation a,footer a,.business-location>a,.header-social-links a,.header-contact-links a,.quote-contact a,.catalog-pages button,.catalog-product button,.primary{
 display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:10px 14px;border:1px solid #0a533b;border-radius:11px;background:linear-gradient(145deg,#187958,#0b5b40);color:#fff;font-weight:750;line-height:1.4;text-decoration:none;
 box-shadow:inset 0 1px 0 #ffffff30,0 3px 0 #073d2b,0 6px 13px #164a3020;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
}
.business-header .quote-shortcut,.directory-navigation a,footer a,.business-location>a,.header-social-links a,.header-contact-links a,.header-contact-links .contact-whatsapp,.quote-contact a,.catalog-pages button{
 background:linear-gradient(145deg,#fff,#f0f7f1);color:#164d36;border-color:#bfd4c6;box-shadow:inset 0 1px 0 #fff,0 2px 0 #c6d9cc,0 4px 10px #164a3010;
}
.business-header .quote-shortcut{align-self:auto;max-width:none;white-space:nowrap;text-align:center}
.catalog-shortcut{font-size:13px;white-space:nowrap}
.header-contact-links .contact-icon{box-sizing:content-box;background:#e4f0e7;border:1px solid #d0e3d6;border-radius:9px;padding:5px;width:18px;height:18px;flex:0 0 18px;color:#216744}
.catalog-product button{font-size:12px;min-width:78px;padding:9px 11px}
.catalog-product button:disabled,.catalog-pages button:disabled,.primary:disabled{opacity:.45;cursor:default;transform:none;box-shadow:none}
#public-catalog{scroll-margin-top:16px}
@media(hover:hover){
 .catalog-shortcut:hover,.catalog-product button:not(:disabled):hover,.primary:not(:disabled):hover{background:linear-gradient(145deg,#1b805d,#0e6849);color:#fff;border-color:#0a533b;transform:translateY(-2px);box-shadow:inset 0 1px 0 #ffffff38,0 4px 0 #073d2b,0 9px 18px #164a3028}
 .business-header .quote-shortcut:hover,.directory-navigation a:hover,footer a:hover,.business-location>a:hover,.header-social-links a:hover,.header-contact-links a:hover,.quote-contact a:hover,.catalog-pages button:not(:disabled):hover{background:linear-gradient(145deg,#fff,#e6f3e9);color:#0d4b32;border-color:#7da88d;transform:translateY(-2px);text-decoration:none;box-shadow:inset 0 1px 0 #fff,0 3px 0 #aec8b7,0 7px 14px #164a3018}
}
 .mobile-cta{display:none}
@media(max-width:700px){
 .business-header-actions{flex:1 1 100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .business-header-actions:has(>.quote-shortcut:only-child){grid-template-columns:1fr}
 .business-header .quote-shortcut,.catalog-shortcut{width:100%;font-size:12px;padding:10px;min-height:44px}
 .header-contact-links .public-contact-link{padding:8px 10px;font-size:12px}
 .mobile-cta{display:flex;padding-bottom:max(12px,env(safe-area-inset-bottom))}
}
@media(prefers-reduced-motion:reduce){.business-header-actions a,.directory-navigation a,footer a,.business-location>a,.header-social-links a,.header-contact-links a,.quote-contact a,.catalog-pages button,.catalog-product button,.primary{transition:none;transform:none!important}}
@media(forced-colors:active){.business-header-actions a,.directory-navigation a,footer a,.business-location>a,.header-social-links a,.header-contact-links a,.quote-contact a,.catalog-pages button,.catalog-product button,.primary{background:ButtonFace;color:ButtonText;border:2px solid ButtonText;box-shadow:none}}
