/* SOURCE: phosphor.css */
/* V22 · Iconos SVG consistentes local/hosting. */
.ph{display:inline-flex;align-items:center;justify-content:center;width:1.1em;height:1.1em;line-height:1;vertical-align:-.12em;color:currentColor;flex:0 0 auto;}
.ph::before{content:"";display:block;width:100%;height:100%;background-color:currentColor;-webkit-mask:var(--ph-icon) center/contain no-repeat;mask:var(--ph-icon) center/contain no-repeat;}
.ph-house{--ph-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20256%20256%22%3E%3Cpath%20d%3D%22M40%20116l88-72%2088%2072%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%2218%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M64%20104v96h128v-96%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%2218%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E");}
.ph-shield-check{--ph-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20256%20256%22%3E%3Cpath%20d%3D%22M128%2024l72%2024v56c0%2052-32%2098-72%20128-40-30-72-76-72-128V48z%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%2218%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M96%20128l20%2020%2044-44%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%2218%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E");}
.ph-warning-circle{--ph-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20256%20256%22%3E%3Ccircle%20cx%3D%22128%22%20cy%3D%22128%22%20r%3D%2296%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%2218%22%2F%3E%3Cpath%20d%3D%22M128%2076v60%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%2218%22%20stroke-linecap%3D%22round%22%2F%3E%3Ccircle%20cx%3D%22128%22%20cy%3D%22172%22%20r%3D%2210%22%20fill%3D%22black%22%2F%3E%3C%2Fsvg%3E");}
.ph-check-circle{--ph-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20256%20256%22%3E%3Ccircle%20cx%3D%22128%22%20cy%3D%22128%22%20r%3D%2296%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%2218%22%2F%3E%3Cpath%20d%3D%22M88%20132l24%2024%2056-56%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%2220%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E");}
.ph-x{--ph-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20256%20256%22%3E%3Cpath%20d%3D%22M64%2064l128%20128M192%2064L64%20192%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%2220%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fsvg%3E");}
.ph-package{--ph-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20256%20256%22%3E%3Cpath%20d%3D%22M48%2080l80-40%2080%2040v96l-80%2040-80-40z%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%2218%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M48%2080l80%2040%2080-40M128%20120v96%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%2218%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E");}
.ph-storefront{--ph-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20256%20256%22%3E%3Cpath%20d%3D%22M32%2096l16-48h160l16%2048%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%2218%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M48%2096v112h160V96%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%2218%22%2F%3E%3Cpath%20d%3D%22M80%20208v-48h96v48%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%2218%22%2F%3E%3Cpath%20d%3D%22M32%2096h192%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%2218%22%2F%3E%3C%2Fsvg%3E");}
.ph-user{--ph-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20256%20256%22%3E%3Ccircle%20cx%3D%22128%22%20cy%3D%2296%22%20r%3D%2240%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%2218%22%2F%3E%3Cpath%20d%3D%22M56%20208a72%2072%200%200%201%20144%200%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%2218%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fsvg%3E");}
.ph-users{--ph-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20256%20256%22%3E%3Ccircle%20cx%3D%2292%22%20cy%3D%22104%22%20r%3D%2232%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%2216%22%2F%3E%3Ccircle%20cx%3D%22164%22%20cy%3D%2296%22%20r%3D%2228%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%2216%22%2F%3E%3Cpath%20d%3D%22M40%20204a56%2056%200%200%201%20104%200M136%20204a48%2048%200%200%201%2080%200%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%2216%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fsvg%3E");}
.ph-shopping-cart-simple{--ph-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20256%20256%22%3E%3Ccircle%20cx%3D%2296%22%20cy%3D%22208%22%20r%3D%2216%22%20fill%3D%22black%22%2F%3E%3Ccircle%20cx%3D%22184%22%20cy%3D%22208%22%20r%3D%2216%22%20fill%3D%22black%22%2F%3E%3Cpath%20d%3D%22M40%2048h24l20%20112h112l20-80H76%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%2218%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E");}
.ph-receipt{--ph-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20256%20256%22%3E%3Cpath%20d%3D%22M56%2040h144v176l-24-16-24%2016-24-16-24%2016-24-16-24%2016z%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%2218%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M88%2096h80M88%20128h80M88%20160h48%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%2218%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fsvg%3E");}
.ph-tag{--ph-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20256%20256%22%3E%3Cpath%20d%3D%22M136%2032H56v80l88%2088%2080-80z%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%2218%22%20stroke-linejoin%3D%22round%22%2F%3E%3Ccircle%20cx%3D%2292%22%20cy%3D%2276%22%20r%3D%2212%22%20fill%3D%22black%22%2F%3E%3C%2Fsvg%3E");}
.ph-map-pin{--ph-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20256%20256%22%3E%3Cpath%20d%3D%22M128%20232s64-72%2064-120a64%2064%200%201%200-128%200c0%2048%2064%20120%2064%20120z%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%2218%22%20stroke-linejoin%3D%22round%22%2F%3E%3Ccircle%20cx%3D%22128%22%20cy%3D%22112%22%20r%3D%2224%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%2218%22%2F%3E%3C%2Fsvg%3E");}
.ph-info{--ph-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20256%20256%22%3E%3Ccircle%20cx%3D%22128%22%20cy%3D%22128%22%20r%3D%2296%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%2218%22%2F%3E%3Ccircle%20cx%3D%22128%22%20cy%3D%2284%22%20r%3D%2212%22%20fill%3D%22black%22%2F%3E%3Cpath%20d%3D%22M128%20116v64%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%2220%22%20stroke-linecap%3D%22round%22%2F%3E%3Cpath%20d%3D%22M112%20180h32%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%2218%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fsvg%3E");}
.ph-link{--ph-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20256%20256%22%3E%3Cpath%20d%3D%22M104%20152l48-48%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%2218%22%20stroke-linecap%3D%22round%22%2F%3E%3Cpath%20d%3D%22M92%20180H72a40%2040%200%200%201%200-80h20%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%2218%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M164%2076h20a40%2040%200%200%201%200%2080h-20%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%2218%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E");}
.ph-arrow-left{--ph-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20256%20256%22%3E%3Cpath%20d%3D%22M160%2048L80%20128l80%2080%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%2220%22%2F%3E%3C%2Fsvg%3E");}
.ph-arrow-right{--ph-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20256%20256%22%3E%3Cpath%20d%3D%22M96%2048l80%2080-80%2080%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%2220%22%2F%3E%3C%2Fsvg%3E");}
.ph-plus-circle{--ph-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20256%20256%22%3E%3Ccircle%20cx%3D%22128%22%20cy%3D%22128%22%20r%3D%2296%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%2218%22%2F%3E%3Cpath%20d%3D%22M128%2084v88M84%20128h88%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%2220%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fsvg%3E");}
.ph-eye{--ph-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20256%20256%22%3E%3Cpath%20d%3D%22M24%20128s40-64%20104-64%20104%2064%20104%2064-40%2064-104%2064S24%20128%2024%20128z%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%2218%22%20stroke-linejoin%3D%22round%22%2F%3E%3Ccircle%20cx%3D%22128%22%20cy%3D%22128%22%20r%3D%2228%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%2218%22%2F%3E%3C%2Fsvg%3E");}
.ph-pencil-simple{--ph-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20256%20256%22%3E%3Cpath%20d%3D%22M52%20204l20-60L176%2040l40%2040-104%20104z%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%2218%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M152%2064l40%2040%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%2218%22%2F%3E%3C%2Fsvg%3E");}
.ph-motorcycle{--ph-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20256%20256%22%3E%3Ccircle%20cx%3D%2272%22%20cy%3D%22180%22%20r%3D%2228%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%2216%22%2F%3E%3Ccircle%20cx%3D%22192%22%20cy%3D%22180%22%20r%3D%2228%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%2216%22%2F%3E%3Cpath%20d%3D%22M72%20180l44-72h40l20%2040h16%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%2216%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M132%20108l-28-28H80%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%2216%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fsvg%3E");}

/* V28 · Iconos locales faltantes. Sin fuentes, CDN ni conexión a internet. */
.ph-magnifying-glass{--ph-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Ccircle cx='112' cy='112' r='68' fill='none' stroke='black' stroke-width='18'/%3E%3Cpath d='m162 162 50 50' fill='none' stroke='black' stroke-width='20' stroke-linecap='round'/%3E%3C/svg%3E")}
.ph-magnifying-glass-plus{--ph-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Ccircle cx='108' cy='108' r='66' fill='none' stroke='black' stroke-width='18'/%3E%3Cpath d='M108 78v60M78 108h60m20 50 54 54' fill='none' stroke='black' stroke-width='18' stroke-linecap='round'/%3E%3C/svg%3E")}
.ph-funnel{--ph-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M32 48h192l-72 82v62l-48 24v-86z' fill='none' stroke='black' stroke-width='18' stroke-linejoin='round'/%3E%3C/svg%3E")}
.ph-sparkle{--ph-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M128 28c8 50 30 72 80 80-50 8-72 30-80 80-8-50-30-72-80-80 50-8 72-30 80-80zM204 164c4 24 16 36 40 40-24 4-36 16-40 40-4-24-16-36-40-40 24-4 36-16 40-40z' fill='black'/%3E%3C/svg%3E")}
.ph-image{--ph-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Crect x='32' y='44' width='192' height='168' rx='18' fill='none' stroke='black' stroke-width='18'/%3E%3Ccircle cx='92' cy='96' r='18' fill='black'/%3E%3Cpath d='m40 184 54-54 38 38 28-28 56 56' fill='none' stroke='black' stroke-width='18' stroke-linejoin='round'/%3E%3C/svg%3E")}
.ph-phone{--ph-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M76 36 46 58c-10 8 2 58 48 104s96 58 104 48l22-30-48-36-22 22c-22-10-50-38-60-60l22-22z' fill='none' stroke='black' stroke-width='17' stroke-linejoin='round'/%3E%3C/svg%3E")}
.ph-sign-in{--ph-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M144 48h56v160h-56M32 128h112m-36-36 36 36-36 36' fill='none' stroke='black' stroke-width='18' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.ph-user-plus{--ph-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Ccircle cx='96' cy='88' r='36' fill='none' stroke='black' stroke-width='18'/%3E%3Cpath d='M32 208c4-44 28-68 64-68s60 24 64 68m40-104v64m-32-32h64' fill='none' stroke='black' stroke-width='18' stroke-linecap='round'/%3E%3C/svg%3E")}
.ph-paper-plane-tilt{--ph-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='m28 116 188-80-80 188-30-74zM106 150 216 36' fill='none' stroke='black' stroke-width='18' stroke-linejoin='round' stroke-linecap='round'/%3E%3C/svg%3E")}
.ph-share-network{--ph-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Ccircle cx='190' cy='62' r='26' fill='none' stroke='black' stroke-width='17'/%3E%3Ccircle cx='66' cy='128' r='26' fill='none' stroke='black' stroke-width='17'/%3E%3Ccircle cx='190' cy='194' r='26' fill='none' stroke='black' stroke-width='17'/%3E%3Cpath d='m89 116 78-41m-78 65 78 41' fill='none' stroke='black' stroke-width='17'/%3E%3C/svg%3E")}
.ph-whatsapp-logo{--ph-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M48 216l12-43a84 84 0 1 1 31 29z' fill='none' stroke='black' stroke-width='17' stroke-linejoin='round'/%3E%3Cpath d='M91 85c8 42 38 72 80 80' fill='none' stroke='black' stroke-width='20' stroke-linecap='round'/%3E%3C/svg%3E")}
.ph-telegram-logo{--ph-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M24 120 224 40l-32 176-70-54-42 34 8-58z' fill='none' stroke='black' stroke-width='17' stroke-linejoin='round'/%3E%3Cpath d='m88 138 104-70' fill='none' stroke='black' stroke-width='17'/%3E%3C/svg%3E")}
.ph-facebook-logo{--ph-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Ccircle cx='128' cy='128' r='100' fill='none' stroke='black' stroke-width='18'/%3E%3Cpath d='M144 220v-84h28l6-36h-34V82c0-14 8-22 24-22h14V28c-8-2-20-4-32-4-36 0-58 22-58 60v16H64v36h28v84z' fill='black'/%3E%3C/svg%3E")}
.ph-chart-pie-slice{--ph-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M120 28a100 100 0 1 0 108 108H120z' fill='none' stroke='black' stroke-width='18' stroke-linejoin='round'/%3E%3Cpath d='M144 28v84h84a100 100 0 0 0-84-84z' fill='none' stroke='black' stroke-width='18' stroke-linejoin='round'/%3E%3C/svg%3E")}

.ph-download-simple{--ph-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%203v12m-5-5%205%205%205-5M4%2016v5h16v-5%22%2F%3E%3C%2Fsvg%3E");}

.ph-android-logo{--ph-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%2011a7%207%200%200%201%2014%200v8H5zM8%205%206%202m10%203%202-3M8%2019v3m8-3v3M2%2011v7m20-7v7%22%2F%3E%3Cpath%20d%3D%22M9%209h.01M15%209h.01%22%2F%3E%3C%2Fsvg%3E");}


/* SOURCE: style.css */
:root {
    --bg: #070b14;
    --bg-soft: #0d1424;
    --card: #111a2e;
    --card-2: #16213a;
    --line: rgba(255, 255, 255, .09);
    --text: #f8fafc;
    --muted: #94a3b8;
    --muted-2: #64748b;
    --primary: #22c55e;
    --primary-dark: #16a34a;
    --secondary: #38bdf8;
    --warning: #facc15;
    --danger: #ef4444;
    --success: #22c55e;
    --radius: 22px;
    --radius-sm: 14px;
    --shadow: 0 24px 60px rgba(0, 0, 0, .35);
    --shadow-soft: 0 12px 30px rgba(0, 0, 0, .25);
    --font: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
* {
    box-sizing: border-box;
}
html {
    min-height: 100%;
    background: var(--bg);
}
body {
    min-height: 100%;
    margin: 0;
    font-family: var(--font);
    color: var(--text);
    background:
        radial-gradient(circle at top left, rgba(56, 189, 248, .16), transparent 32rem),
        radial-gradient(circle at top right, rgba(34, 197, 94, .14), transparent 28rem),
        linear-gradient(180deg, #070b14 0%, #0b1020 100%);
}
a {
    color: inherit;
    text-decoration: none;
}
img {
    max-width: 100%;
    display: block;
}
button,
input,
select,
textarea {
    font-family: inherit;
}
.app-shell {
    width: 100%;
    min-height: 100vh;
}
.container {
    width: min(1180px, calc(100% - 32px));
    margin: 0 auto;
}
.topbar {
    position: sticky;
    top: 0;
    z-index: 30;
    background: rgba(7, 11, 20, .78);
    border-bottom: 1px solid var(--line);
    backdrop-filter: blur(18px);
}
.topbar-inner {
    min-height: 72px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}
.brand {
    display: flex;
    align-items: center;
    gap: 12px;
}
.brand-mark {
    width: 44px;
    height: 44px;
    border-radius: 16px;
    background: linear-gradient(135deg, var(--primary), var(--secondary));
    display: grid;
    place-items: center;
    color: #04111d;
    font-weight: 900;
    box-shadow: 0 14px 35px rgba(34, 197, 94, .22);
}
.brand-text strong {
    display: block;
    font-size: 17px;
    letter-spacing: -.02em;
}
.brand-text span {
    display: block;
    color: var(--muted);
    font-size: 12px;
    margin-top: 2px;
}
.nav-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}
.hero {
    padding: 44px 0 28px;
}
.hero-card {
    background:
        linear-gradient(135deg, rgba(17, 26, 46, .94), rgba(13, 20, 36, .94)),
        radial-gradient(circle at 20% 20%, rgba(56, 189, 248, .14), transparent 24rem);
    border: 1px solid var(--line);
    border-radius: 32px;
    padding: 34px;
    box-shadow: var(--shadow);
    overflow: hidden;
    position: relative;
}
.hero-card:after {
    content: "";
    position: absolute;
    inset: auto -120px -160px auto;
    width: 320px;
    height: 320px;
    border-radius: 50%;
    background: rgba(34, 197, 94, .12);
    filter: blur(20px);
}
.hero h1 {
    margin: 0;
    font-size: clamp(32px, 7vw, 58px);
    line-height: .96;
    letter-spacing: -.06em;
    max-width: 760px;
}
.hero p {
    margin: 18px 0 0;
    max-width: 620px;
    color: var(--muted);
    font-size: 17px;
    line-height: 1.6;
}
.hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 26px;
}
.grid {
    display: grid;
    gap: 18px;
}
.grid-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.grid-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.grid-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
.section {
    padding: 26px 0;
}
.section-title {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
}
.section-title h2 {
    margin: 0;
    font-size: 24px;
    letter-spacing: -.03em;
}
.section-title p {
    margin: 6px 0 0;
    color: var(--muted);
    font-size: 14px;
}
.card {
    background: linear-gradient(180deg, rgba(17, 26, 46, .94), rgba(13, 20, 36, .94));
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-shadow: var(--shadow-soft);
    overflow: hidden;
}
.card-pad {
    padding: 20px;
}
.business-card {
    display: flex;
    flex-direction: column;
    min-height: 100%;
}
.business-cover {
    height: 126px;
    background: linear-gradient(135deg, rgba(34, 197, 94, .22), rgba(56, 189, 248, .18));
    position: relative;
}
.business-cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.business-logo {
    width: 64px;
    height: 64px;
    border-radius: 22px;
    border: 4px solid var(--card);
    background: var(--bg-soft);
    position: absolute;
    left: 18px;
    bottom: -28px;
    display: grid;
    place-items: center;
    overflow: hidden;
}
.business-logo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.business-body {
    padding: 42px 18px 18px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    flex: 1;
}
.business-body h3 {
    margin: 0;
    font-size: 19px;
    letter-spacing: -.02em;
}
.business-body p {
    margin: 0;
    color: var(--muted);
    font-size: 14px;
    line-height: 1.45;
}
.product-card {
    display: grid;
    grid-template-columns: 92px 1fr;
    gap: 14px;
    padding: 14px;
}
.product-img {
    width: 92px;
    height: 92px;
    border-radius: 18px;
    background: var(--bg-soft);
    overflow: hidden;
}
.product-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.product-info h3 {
    margin: 0;
    font-size: 16px;
}
.product-info p {
    margin: 6px 0 10px;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.35;
}
.price-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}
.price {
    font-weight: 800;
    color: var(--primary);
}
.btn {
    appearance: none;
    border: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 16px;
    border-radius: 999px;
    background: var(--card-2);
    color: var(--text);
    font-weight: 700;
    cursor: pointer;
    transition: transform .18s ease, background .18s ease, border .18s ease, opacity .18s ease;
    border: 1px solid var(--line);
    font-size: 14px;
}
.btn:hover {
    transform: translateY(-1px);
}
.btn-primary {
    background: linear-gradient(135deg, var(--primary), #86efac);
    color: #05210e;
    border-color: rgba(34, 197, 94, .2);
}
.btn-secondary {
    background: linear-gradient(135deg, var(--secondary), #93c5fd);
    color: #04111d;
    border-color: rgba(56, 189, 248, .2);
}
.btn-danger {
    background: rgba(239, 68, 68, .14);
    color: #fecaca;
    border-color: rgba(239, 68, 68, .3);
}
.btn-warning {
    background: rgba(250, 204, 21, .14);
    color: #fde68a;
    border-color: rgba(250, 204, 21, .3);
}
.btn-small {
    min-height: 36px;
    padding: 0 12px;
    font-size: 12px;
}
.form {
    display: grid;
    gap: 14px;
}
.form-row {
    display: grid;
    gap: 8px;
}
.form-row label {
    font-size: 13px;
    color: var(--muted);
    font-weight: 700;
}
.input,
.select,
.textarea {
    width: 100%;
    min-height: 48px;
    border: 1px solid var(--line);
    background: rgba(7, 11, 20, .5);
    color: var(--text);
    border-radius: 16px;
    padding: 0 14px;
    outline: none;
}
.textarea {
    min-height: 100px;
    padding: 14px;
    resize: vertical;
}
.input:focus,
.select:focus,
.textarea:focus {
    border-color: rgba(56, 189, 248, .55);
    box-shadow: 0 0 0 4px rgba(56, 189, 248, .08);
}
.table-wrap {
    overflow-x: auto;
    border-radius: var(--radius);
    border: 1px solid var(--line);
}
.table {
    width: 100%;
    border-collapse: collapse;
    min-width: 760px;
    background: rgba(17, 26, 46, .84);
}
.table th,
.table td {
    padding: 13px 14px;
    text-align: left;
    border-bottom: 1px solid var(--line);
    vertical-align: middle;
    font-size: 14px;
}
.table th {
    color: var(--muted);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .08em;
}
.table tr:last-child td {
    border-bottom: 0;
}
.badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    padding: 0 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
}
.badge-success {
    background: rgba(34, 197, 94, .14);
    color: #86efac;
    border: 1px solid rgba(34, 197, 94, .24);
}
.badge-danger {
    background: rgba(239, 68, 68, .14);
    color: #fecaca;
    border: 1px solid rgba(239, 68, 68, .24);
}
.badge-warning {
    background: rgba(250, 204, 21, .14);
    color: #fde68a;
    border: 1px solid rgba(250, 204, 21, .24);
}
.badge-info {
    background: rgba(56, 189, 248, .14);
    color: #bae6fd;
    border: 1px solid rgba(56, 189, 248, .24);
}
.badge-primary {
    background: rgba(34, 197, 94, .14);
    color: #bbf7d0;
    border: 1px solid rgba(34, 197, 94, .24);
}
.badge-muted {
    background: rgba(148, 163, 184, .12);
    color: #cbd5e1;
    border: 1px solid rgba(148, 163, 184, .18);
}
.alert {
    padding: 14px 16px;
    border-radius: 18px;
    margin: 0 0 16px;
    border: 1px solid var(--line);
    background: rgba(17, 26, 46, .75);
    color: var(--text);
}
.alert-success {
    border-color: rgba(34, 197, 94, .3);
    background: rgba(34, 197, 94, .12);
}
.alert-danger {
    border-color: rgba(239, 68, 68, .3);
    background: rgba(239, 68, 68, .12);
}
.alert-warning {
    border-color: rgba(250, 204, 21, .3);
    background: rgba(250, 204, 21, .12);
}
.panel-layout {
    display: grid;
    grid-template-columns: 260px 1fr;
    min-height: 100vh;
}
.sidebar {
    border-right: 1px solid var(--line);
    background: rgba(7, 11, 20, .7);
    padding: 20px;
    position: sticky;
    top: 0;
    height: 100vh;
    overflow-y: auto;
}
.sidebar .brand {
    margin-bottom: 22px;
}
.sidebar-nav {
    display: grid;
    gap: 8px;
}
.sidebar-nav a {
    padding: 12px 14px;
    border-radius: 15px;
    color: var(--muted);
    font-weight: 700;
    border: 1px solid transparent;
}
.sidebar-nav a:hover,
.sidebar-nav a.active {
    color: var(--text);
    background: rgba(255, 255, 255, .06);
    border-color: var(--line);
}
.panel-main {
    padding: 24px;
}
.panel-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 22px;
}
.panel-header h1 {
    margin: 0;
    font-size: 28px;
    letter-spacing: -.04em;
}
.panel-header p {
    margin: 4px 0 0;
    color: var(--muted);
}
.stat-card {
    padding: 20px;
    border-radius: var(--radius);
    background: linear-gradient(180deg, rgba(17, 26, 46, .96), rgba(13, 20, 36, .96));
    border: 1px solid var(--line);
}
.stat-card span {
    color: var(--muted);
    font-size: 13px;
}
.stat-card strong {
    display: block;
    margin-top: 10px;
    font-size: 32px;
    letter-spacing: -.04em;
}
.login-page {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 24px;
}
.login-card {
    width: min(440px, 100%);
    padding: 26px;
}
.login-card h1 {
    margin: 0 0 8px;
    font-size: 30px;
    letter-spacing: -.04em;
}
.login-card p {
    margin: 0 0 22px;
    color: var(--muted);
}
.cart-float {
    position: fixed;
    right: 18px;
    bottom: 18px;
    z-index: 50;
}
.cart-item {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 12px;
    padding: 14px;
    border-bottom: 1px solid var(--line);
}
.cart-item:last-child {
    border-bottom: 0;
}
.qty-control {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 1px solid var(--line);
    background: rgba(255, 255, 255, .04);
    border-radius: 999px;
    padding: 4px;
}
.qty-control button {
    width: 30px;
    height: 30px;
    border-radius: 999px;
    border: 0;
    background: var(--card-2);
    color: var(--text);
    cursor: pointer;
}
.empty {
    text-align: center;
    padding: 44px 18px;
    color: var(--muted);
}
.detail-list {
    display: grid;
    gap: 12px;
}
.detail-row {
    display: grid;
    grid-template-columns: 180px 1fr;
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid var(--line);
}
.detail-row:last-child {
    border-bottom: 0;
}
.detail-row span {
    color: var(--muted);
    font-size: 13px;
}
.detail-row strong {
    color: var(--text);
    font-weight: 700;
}
.thumb {
    width: 56px;
    height: 56px;
    border-radius: 16px;
    object-fit: cover;
    background: var(--bg-soft);
}
.doc-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 12px;
}
.doc-card {
    background: rgba(255, 255, 255, .04);
    border: 1px solid var(--line);
    border-radius: 16px;
    overflow: hidden;
}
.doc-card img {
    width: 100%;
    height: 140px;
    object-fit: cover;
}
.doc-card span {
    display: block;
    padding: 10px;
    color: var(--muted);
    font-size: 12px;
    font-weight: 700;
}
.footer-space {
    height: 36px;
}
@media (max-width: 900px) {
    .grid-4,
    .grid-3,
    .grid-2 {
        grid-template-columns: 1fr;
    }
    .panel-layout {
        grid-template-columns: 1fr;
    }
    .sidebar {
        position: relative;
        height: auto;
        border-right: 0;
        border-bottom: 1px solid var(--line);
    }
    .sidebar-nav {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .panel-main {
        padding: 18px;
    }
    .panel-header {
        align-items: flex-start;
        flex-direction: column;
    }
    .doc-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .detail-row {
        grid-template-columns: 1fr;
        gap: 4px;
    }
}
@media (max-width: 560px) {
    .container {
        width: min(100% - 22px, 1180px);
    }
    .topbar-inner {
        min-height: 64px;
    }
    .brand-mark {
        width: 40px;
        height: 40px;
    }
    .brand-text span {
        display: none;
    }
    .nav-actions {
        gap: 6px;
    }
    .hero {
        padding: 24px 0 18px;
    }
    .hero-card {
        padding: 24px;
        border-radius: 26px;
    }
    .product-card {
        grid-template-columns: 82px 1fr;
    }
    .product-img {
        width: 82px;
        height: 82px;
    }
    .btn {
        min-height: 42px;
        padding: 0 14px;
    }
    .sidebar-nav {
        grid-template-columns: 1fr;
    }
    .doc-grid {
        grid-template-columns: 1fr;
    }
}
.ph {
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.btn .ph {
    font-size: 18px;
    margin-right: 7px;
}
.badge .ph {
    font-size: 13px;
    margin-right: 4px;
}
.cart-link {
    width: 46px;
    height: 46px;
    border-radius: 18px;
    border: 1px solid var(--line);
    background: linear-gradient(180deg, rgba(17, 26, 46, .96), rgba(13, 20, 36, .96));
    color: var(--text);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
    box-shadow: var(--shadow-soft);
    transition: transform .18s ease, border-color .18s ease, background .18s ease;
}
.cart-link:hover {
    transform: translateY(-1px);
    border-color: rgba(34, 197, 94, .35);
    background: linear-gradient(180deg, rgba(22, 33, 58, .98), rgba(13, 20, 36, .98));
}
.cart-icon-wrap {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.cart-icon-wrap .ph {
    font-size: 25px;
    color: var(--text);
}
.cart-badge {
    position: absolute;
    top: -12px;
    right: -14px;
    min-width: 21px;
    height: 21px;
    padding: 0 6px;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--primary), #86efac);
    color: #05210e;
    font-size: 11px;
    font-weight: 900;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 2px solid var(--bg);
    box-shadow: 0 8px 18px rgba(34, 197, 94, .25);
}
.floating-cart-link {
    min-height: 52px;
    padding: 0 16px;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--primary), #86efac);
    color: #05210e;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 900;
    box-shadow: 0 18px 45px rgba(34, 197, 94, .25);
    border: 1px solid rgba(34, 197, 94, .35);
}
.floating-cart-link .ph {
    font-size: 23px;
}
.floating-cart-link strong {
    min-width: 23px;
    height: 23px;
    padding: 0 7px;
    border-radius: 999px;
    background: rgba(5, 33, 14, .16);
    color: #05210e;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
}
.product-img-placeholder {
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
    color: var(--muted);
    background: linear-gradient(135deg, rgba(34, 197, 94, .10), rgba(56, 189, 248, .10));
}
.product-img-placeholder .ph {
    font-size: 34px;
}
@media (max-width: 560px) {
    .cart-link {
        width: 42px;
        height: 42px;
        border-radius: 16px;
    }
    .cart-icon-wrap .ph {
        font-size: 23px;
    }
    .cart-badge {
        top: -11px;
        right: -13px;
    }
    .floating-cart-link {
        min-height: 48px;
        padding: 0 14px;
    }
}
/* =========================================================
   Negocios Locales V6 - Pulido visual, imágenes y formularios
   ========================================================= */
:root {
    --field-bg: rgba(7, 11, 20, .62);
    --field-border: rgba(148, 163, 184, .18);
    --field-border-focus: rgba(56, 189, 248, .55);
}
.input,
.select,
.textarea,
input[type="text"],
input[type="number"],
input[type="password"],
input[type="email"],
input[type="tel"],
select,
textarea {
    border: 1px solid var(--field-border);
    background: var(--field-bg);
    color: var(--text);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
}
input[type="file"].input,
input[type="file"] {
    min-height: 52px;
    padding: 8px 10px;
    border-radius: 16px;
    border: 1px dashed rgba(56,189,248,.30);
    background: linear-gradient(180deg, rgba(7,11,20,.72), rgba(15,23,42,.72));
    color: var(--muted);
    cursor: pointer;
}
input[type="file"].input:hover,
input[type="file"]:hover {
    border-color: rgba(34,197,94,.42);
    background: linear-gradient(180deg, rgba(15,23,42,.86), rgba(17,26,46,.86));
}
input[type="file"]::file-selector-button {
    appearance: none;
    border: 1px solid rgba(34,197,94,.28);
    min-height: 34px;
    margin-right: 12px;
    padding: 0 14px;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--primary), #86efac);
    color: #05210e;
    font-weight: 900;
    cursor: pointer;
}
input[type="file"]::-webkit-file-upload-button {
    appearance: none;
    border: 1px solid rgba(34,197,94,.28);
    min-height: 34px;
    margin-right: 12px;
    padding: 0 14px;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--primary), #86efac);
    color: #05210e;
    font-weight: 900;
    cursor: pointer;
}
.form-row small,
.help-text,
.muted {
    color: var(--muted);
    font-size: 13px;
    line-height: 1.45;
}
label:has(input[type="checkbox"]),
.nl-check {
    min-height: 42px;
    padding: 10px 12px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    border-radius: 15px;
    border: 1px solid rgba(255,255,255,.08);
    background: rgba(255,255,255,.04);
    color: var(--text);
    font-weight: 800;
}
input[type="checkbox"] {
    width: 18px;
    height: 18px;
    accent-color: var(--primary);
}
.product-img,
.index-product-preview,
.index-product-mini-img,
.product-thumb,
.nl-product-image-box {
    background: linear-gradient(180deg, #ffffff, #f8fafc) !important;
    border: 1px solid rgba(255,255,255,.12);
    box-shadow: inset 0 0 0 1px rgba(2,6,23,.04);
}
.product-img img,
.index-product-preview img,
.index-product-mini-img img,
.product-thumb img,
.nl-product-image-box img {
    width: 100%;
    height: 100%;
    object-fit: contain !important;
    object-position: center;
    padding: 5px;
}
.index-business-logo,
.business-logo,
.nl-business-logo {
    background: linear-gradient(180deg, #ffffff, #eef7f4) !important;
}
.index-business-logo img,
.business-logo img,
.nl-business-logo img {
    object-fit: contain !important;
    padding: 5px;
}
.index-business-cover > img,
.business-cover > img,
.nl-business-cover > img {
    object-fit: cover !important;
    object-position: center;
}
.product-card {
    align-items: stretch;
}
.product-info {
    min-width: 0;
}
.product-info h3,
.index-product-mini strong {
    overflow-wrap: anywhere;
}
.price-row {
    flex-wrap: wrap;
}
.product-thumb {
    width: 54px;
    height: 54px;
    border-radius: 16px;
    overflow: hidden;
    display: grid;
    place-items: center;
}
.product-thumb .ph,
.product-img-placeholder .ph,
.nl-image-placeholder .ph {
    color: rgba(15,23,42,.45);
}
.nl-image-placeholder {
    width: 100%;
    height: 100%;
    min-height: 72px;
    display: grid;
    place-items: center;
    background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
    border: 1px dashed rgba(148,163,184,.22);
    border-radius: inherit;
}
.table td,
.table th {
    vertical-align: middle;
}
.card h2,
.card h3,
.panel-main h1,
.panel-main h2,
.panel-main h3 {
    text-wrap: balance;
}
.btn,
button,
a.btn {
    text-align: center;
    line-height: 1.15;
}
.form-actions,
.nl-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}
@media (max-width: 700px) {
    .product-card {
        grid-template-columns: 86px 1fr;
        gap: 12px;
    }
    .product-img {
        width: 86px;
        height: 86px;
    }
    input[type="file"]::file-selector-button,
    input[type="file"]::-webkit-file-upload-button {
        display: block;
        width: 100%;
        margin: 0 0 8px 0;
    }
}

/* === V7: carrito y confirmación de pedidos === */
.cart-item-v7 {
    display: grid;
    grid-template-columns: 66px 1fr auto auto;
    gap: 12px;
    align-items: center;
}
.cart-item-main {
    min-width: 0;
}
.cart-item-img {
    width: 66px;
    height: 66px;
    border-radius: 18px;
    border: 1px solid rgba(255,255,255,.10);
    background: rgba(255,255,255,.045);
    display: grid;
    place-items: center;
    overflow: hidden;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.03);
}
.cart-item-img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 5px;
    background: rgba(255,255,255,.96);
}
.cart-item-img .ph {
    font-size: 25px;
    color: var(--muted);
}
.nl-order-success {
    text-align: center;
}
.nl-success-icon {
    width: 74px;
    height: 74px;
    border-radius: 26px;
    margin: 0 auto 14px;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, rgba(34,197,94,.22), rgba(56,189,248,.16));
    border: 1px solid rgba(34,197,94,.25);
    box-shadow: 0 20px 50px rgba(34,197,94,.14);
}
.nl-success-icon .ph {
    font-size: 42px;
    color: var(--primary);
}
.nl-order-note {
    border: 1px solid rgba(56,189,248,.18);
    background: rgba(56,189,248,.08);
    color: var(--muted);
    padding: 12px 14px;
    border-radius: 18px;
    font-size: 13px;
    line-height: 1.45;
}
@media (max-width: 720px) {
    .cart-item-v7 {
        grid-template-columns: 58px 1fr;
    }
    .cart-item-v7 .qty-control,
    .cart-item-v7 .btn {
        grid-column: 2;
        justify-self: start;
    }
    .cart-item-img {
        width: 58px;
        height: 58px;
        border-radius: 16px;
    }
}

/* =========================================================
   Negocios Locales V9 - Pantalla de detalle de productos
   ========================================================= */
.product-img-link {
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.product-img-link:hover {
    transform: translateY(-2px);
    border-color: rgba(56,189,248,.36);
    box-shadow: 0 14px 35px rgba(0,0,0,.20);
}
.price-row-v9 {
    align-items: center;
    justify-content: flex-start;
}
.price-row-v9 .price {
    margin-right: auto;
}
.product-detail-section {
    padding-top: 34px;
}
.product-detail-layout {
    display: grid;
    grid-template-columns: minmax(300px, .95fr) minmax(320px, 1.05fr);
    gap: 20px;
    align-items: stretch;
}
.product-detail-media {
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.product-detail-image {
    min-height: 460px;
    height: min(60vh, 620px);
    border-radius: 24px;
    background: linear-gradient(180deg, #fff, #f8fafc);
    border: 1px solid rgba(255,255,255,.13);
    display: grid;
    place-items: center;
    overflow: hidden;
    box-shadow: inset 0 0 0 1px rgba(2,6,23,.04);
}
.product-detail-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    padding: 20px;
}
.product-detail-image .product-img-placeholder {
    color: rgba(15,23,42,.55);
    background: linear-gradient(180deg, #fff, #eef2f7);
}
.product-detail-image .product-img-placeholder .ph {
    font-size: 74px;
}
.product-detail-media-note {
    min-height: 44px;
    padding: 0 14px;
    border-radius: 16px;
    background: rgba(56,189,248,.08);
    border: 1px solid rgba(56,189,248,.16);
    color: var(--muted);
    font-size: 13px;
    font-weight: 800;
    display: flex;
    align-items: center;
    gap: 8px;
}
.product-detail-info {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.product-detail-kicker {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.product-detail-info h1 {
    margin: 0;
    font-size: clamp(32px, 5vw, 56px);
    line-height: .98;
    letter-spacing: -.06em;
    text-wrap: balance;
}
.product-detail-price {
    width: fit-content;
    max-width: 100%;
    padding: 14px 18px;
    border-radius: 20px;
    background: linear-gradient(135deg, rgba(34,197,94,.18), rgba(56,189,248,.10));
    border: 1px solid rgba(34,197,94,.26);
    color: #86efac;
    font-size: clamp(22px, 3vw, 34px);
    font-weight: 950;
    letter-spacing: -.04em;
}
.product-detail-desc {
    margin: 0;
    color: var(--muted);
    font-size: 16px;
    line-height: 1.65;
}
.product-detail-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.product-detail-facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}
.product-detail-facts > div {
    min-height: 74px;
    padding: 13px;
    border-radius: 18px;
    background: rgba(255,255,255,.045);
    border: 1px solid rgba(255,255,255,.075);
}
.product-detail-facts span {
    display: block;
    color: var(--muted);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-weight: 900;
}
.product-detail-facts strong {
    display: block;
    margin-top: 7px;
    color: var(--text);
    font-size: 14px;
    overflow-wrap: anywhere;
}
.product-detail-locations {
    padding: 16px;
    border-radius: 22px;
    border: 1px solid rgba(255,255,255,.08);
    background: rgba(255,255,255,.035);
}
.product-detail-locations h3 {
    margin: 0 0 10px;
    font-size: 15px;
}
.product-business-strip {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
}
.product-business-main {
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 0;
}
.product-business-logo {
    width: 74px;
    height: 74px;
    border-radius: 24px;
    background: linear-gradient(180deg, #fff, #eef7f4);
    border: 1px solid rgba(255,255,255,.12);
    display: grid;
    place-items: center;
    overflow: hidden;
    flex: 0 0 auto;
}
.product-business-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 6px;
}
.product-business-logo .ph {
    font-size: 34px;
    color: var(--muted);
}
.product-business-main h2 {
    margin: 0;
    font-size: 22px;
    letter-spacing: -.03em;
}
.product-business-main p {
    margin: 5px 0 0;
    color: var(--muted);
    line-height: 1.45;
}
.compact-actions {
    margin-top: 10px;
}
.suggested-grid {
    align-items: stretch;
}
.suggested-card {
    display: flex;
    flex-direction: column;
    min-height: 100%;
}
.suggested-img {
    height: 170px;
    background: linear-gradient(180deg, #fff, #f8fafc);
    display: grid;
    place-items: center;
    overflow: hidden;
    border-bottom: 1px solid rgba(255,255,255,.08);
}
.suggested-img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 12px;
}
.suggested-body {
    padding: 14px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1;
}
.suggested-body > span {
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
}
.suggested-body h3 {
    margin: 0;
    font-size: 16px;
    line-height: 1.25;
    overflow-wrap: anywhere;
}
.suggested-body strong {
    color: var(--primary);
    font-weight: 950;
}
.suggested-body em {
    color: #fde68a;
    font-size: 12px;
    font-style: normal;
    line-height: 1.35;
}
.suggested-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: auto;
}
@media (max-width: 980px) {
    .product-detail-layout {
        grid-template-columns: 1fr;
    }
    .product-detail-image {
        min-height: 340px;
        height: min(52vh, 520px);
    }
    .product-business-strip {
        flex-direction: column;
        align-items: flex-start;
    }
}
@media (max-width: 620px) {
    .product-detail-media {
        padding: 10px;
    }
    .product-detail-image {
        min-height: 280px;
        border-radius: 20px;
    }
    .product-detail-image img {
        padding: 12px;
    }
    .product-detail-facts {
        grid-template-columns: 1fr;
    }
    .product-business-main {
        align-items: flex-start;
    }
    .suggested-img {
        height: 150px;
    }
    .price-row-v9 .price {
        width: 100%;
        margin-right: 0;
    }
}

/* === V11: notificaciones internas y modales del sistema === */
.nl-notify-wrap {
    position: fixed;
    right: 18px;
    bottom: 18px;
    z-index: 100000;
    display: grid;
    gap: 10px;
    max-width: min(420px, calc(100vw - 28px));
}
.nl-notify {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 13px 14px;
    border-radius: 18px;
    border: 1px solid rgba(255,255,255,.12);
    background: linear-gradient(135deg, rgba(17,26,46,.98), rgba(9,14,25,.98));
    color: var(--text, #f8fafc);
    box-shadow: 0 18px 50px rgba(0,0,0,.38);
    animation: nlNotifyIn .18s ease both;
    font-weight: 850;
    line-height: 1.35;
}
.nl-notify i { font-size: 21px; flex: 0 0 auto; }
.nl-notify span { flex: 1; }
.nl-notify button {
    width: 26px;
    height: 26px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.12);
    background: rgba(255,255,255,.07);
    color: var(--text, #f8fafc);
    cursor: pointer;
    font-size: 17px;
    line-height: 1;
}
.nl-notify-success i { color: #4ade80; }
.nl-notify-warning i { color: #facc15; }
.nl-notify-error i { color: #fb7185; }
.nl-notify-info i { color: #38bdf8; }
.nl-notify.is-leaving { animation: nlNotifyOut .18s ease both; }
@keyframes nlNotifyIn { from { opacity: 0; transform: translateY(12px) scale(.98); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes nlNotifyOut { from { opacity: 1; transform: translateY(0) scale(1); } to { opacity: 0; transform: translateY(8px) scale(.98); } }
.nl-modal-overlay {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: grid;
    place-items: center;
    padding: 18px;
    background: rgba(2,6,23,.70);
    backdrop-filter: blur(12px);
    animation: nlModalBgIn .16s ease both;
}
.nl-modal-overlay.is-leaving { animation: nlModalBgOut .16s ease both; }
.nl-modal {
    width: min(480px, 100%);
    display: flex;
    gap: 14px;
    padding: 18px;
    border-radius: 28px;
    border: 1px solid rgba(255,255,255,.13);
    background: linear-gradient(160deg, rgba(17,26,46,.98), rgba(9,14,25,.98));
    box-shadow: 0 28px 90px rgba(0,0,0,.55);
    color: var(--text, #f8fafc);
    animation: nlModalIn .16s ease both;
}
.nl-modal-icon {
    width: 48px;
    height: 48px;
    border-radius: 18px;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    background: rgba(56,189,248,.12);
    border: 1px solid rgba(56,189,248,.20);
}
.nl-modal-icon i { font-size: 25px; color: #7dd3fc; }
.nl-modal-warning .nl-modal-icon { background: rgba(250,204,21,.12); border-color: rgba(250,204,21,.22); }
.nl-modal-warning .nl-modal-icon i { color: #facc15; }
.nl-modal-danger .nl-modal-icon { background: rgba(251,113,133,.12); border-color: rgba(251,113,133,.22); }
.nl-modal-danger .nl-modal-icon i { color: #fb7185; }
.nl-modal-content { flex: 1; min-width: 0; }
.nl-modal-content h3 { margin: 0 0 7px; font-size: 21px; letter-spacing: -.03em; }
.nl-modal-content p { margin: 0; color: var(--muted, #94a3b8); line-height: 1.48; font-weight: 650; }
.nl-modal-actions { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 9px; margin-top: 18px; }
@keyframes nlModalBgIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes nlModalBgOut { from { opacity: 1; } to { opacity: 0; } }
@keyframes nlModalIn { from { opacity: 0; transform: translateY(12px) scale(.98); } to { opacity: 1; transform: translateY(0) scale(1); } }
@media (max-width: 620px) {
    .nl-notify-wrap { left: 14px; right: 14px; bottom: 14px; }
    .nl-modal { flex-direction: column; border-radius: 24px; }
    .nl-modal-actions { display: grid; grid-template-columns: 1fr; }
}

/* Auditoría visual V47: documentos con media robusta y fallback visible */
.doc-media-link{display:block;position:relative;text-decoration:none;color:inherit;background:var(--bg-soft,#f4f7fb);min-height:140px}
.doc-media-link img{display:block;width:100%;height:140px;object-fit:cover}
.doc-media-fallback{display:none;min-height:140px;padding:18px;align-items:center;justify-content:center;text-align:center;color:var(--muted);font-size:12px;font-weight:700}
.doc-card.doc-missing .doc-media-fallback{display:flex}
.doc-card.doc-missing .doc-media-link{background:var(--bg-soft,#f4f7fb)}
.doc-card:not(.doc-missing) .doc-media-link:hover{filter:brightness(.98)}


/* SOURCE: mobile_v23.css */

/* Negocios Locales V23 · Responsividad ecommerce móvil
   Objetivo: que productos, detalle, negocio, carrito y paneles se vean compactos,
   organizados y profesionales en teléfonos. */

/* Ajustes globales de control */
html {
    -webkit-text-size-adjust: 100%;
    scroll-behavior: smooth;
}
img {
    max-width: 100%;
}
button,
a,
input,
select,
textarea {
    -webkit-tap-highlight-color: transparent;
}
.btn,
button.btn,
.share-btn {
    touch-action: manipulation;
}

/* Ancho visual más natural en móvil */
@media (max-width: 760px) {
    :root {
        --radius: 18px;
        --radius-sm: 12px;
    }

    body {
        overflow-x: hidden;
    }

    .app-shell {
        min-width: 0;
    }

    .container {
        width: 100%;
        max-width: none;
        padding-left: 12px;
        padding-right: 12px;
    }

    .topbar {
        position: sticky;
        top: 0;
        z-index: 50;
        backdrop-filter: blur(16px);
    }

    .topbar-inner {
        min-height: 58px;
        padding-top: 8px;
        padding-bottom: 8px;
        gap: 8px;
    }

    .brand {
        min-width: 0;
        gap: 8px;
    }

    .brand-mark {
        width: 36px;
        height: 36px;
        min-width: 36px;
        border-radius: 13px;
        font-size: 13px;
    }

    .brand-text strong {
        font-size: 14px;
        line-height: 1.1;
    }

    .brand-text span {
        font-size: 11px;
        max-width: 160px;
        display: block;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .nav-actions {
        gap: 6px;
    }

    .btn,
    .btn.btn-small,
    .share-btn {
        min-height: 38px;
        padding: 9px 12px;
        font-size: 12px;
        border-radius: 999px;
        gap: 6px;
        white-space: nowrap;
    }

    .nav-actions .btn span:not(.cart-badge),
    .topbar .btn span:not(.cart-badge) {
        display: none;
    }

    .cart-button,
    .cart-fab {
        width: auto;
    }

    .cart-icon-wrap {
        width: 38px;
        height: 38px;
    }
}

/* Hero público más compacto */
@media (max-width: 760px) {
    .hero,
    .section {
        padding-top: 14px;
        padding-bottom: 16px;
    }

    .hero-card {
        border-radius: 20px;
        padding: 18px;
    }

    .hero-card h1 {
        font-size: clamp(26px, 8vw, 36px);
        line-height: .95;
        letter-spacing: -.045em;
        margin-bottom: 10px;
    }

    .hero-card p {
        font-size: 13px;
        line-height: 1.45;
        max-width: 42ch;
    }

    .hero-actions {
        gap: 7px;
        flex-wrap: wrap;
    }

    .hero-actions .btn {
        flex: 1 1 160px;
        justify-content: center;
    }

    .filter-card,
    .hero-card form {
        gap: 10px;
    }

    .filter-card,
    .location-filter,
    .hero-card .filter-grid {
        border-radius: 16px;
    }

    .filter-grid,
    .location-filter {
        grid-template-columns: 1fr !important;
    }

    .hero-card label,
    label {
        font-size: 11px;
    }

    input,
    select,
    textarea,
    .input {
        min-height: 42px;
        font-size: 14px;
        border-radius: 13px;
    }

    .section-title {
        align-items: flex-start;
        gap: 10px;
        margin-bottom: 12px;
    }

    .section-title h2 {
        font-size: 18px;
        line-height: 1.1;
    }

    .section-title p {
        font-size: 12px;
        line-height: 1.35;
    }
}

/* Tarjetas de negocios en móvil: menos altas, más tipo app */
@media (max-width: 760px) {
    .grid,
    .grid.grid-2,
    .grid.grid-3,
    .grid.grid-4 {
        display: grid;
        grid-template-columns: 1fr !important;
        gap: 12px;
    }

    .business-card,
    .store-card,
    .card.business-card {
        border-radius: 18px;
        overflow: hidden;
    }

    .business-cover,
    .store-cover {
        height: 96px !important;
        min-height: 0 !important;
    }

    .business-card .business-gallery,
    .store-gallery,
    .business-thumbs {
        display: flex;
        gap: 7px;
        padding: 9px 10px;
        align-items: center;
        overflow: hidden;
    }

    .business-card .business-gallery img,
    .store-gallery img,
    .business-thumbs img {
        width: 52px !important;
        height: 42px !important;
        border-radius: 12px;
        object-fit: contain;
        background: #fff;
        flex: 0 0 auto;
    }

    .business-logo,
    .store-logo {
        width: 54px !important;
        height: 54px !important;
        border-radius: 16px;
    }

    .business-body,
    .store-body,
    .card-body {
        padding: 12px !important;
    }

    .business-body h3,
    .store-body h3,
    .business-card h3 {
        font-size: 17px;
        line-height: 1.15;
        margin: 4px 0 7px;
    }

    .business-body p,
    .store-body p,
    .business-card p {
        font-size: 12px;
        line-height: 1.35;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    .badge {
        font-size: 10px;
        padding: 5px 8px;
        border-radius: 999px;
    }

    .featured-products,
    .product-mini-list {
        gap: 7px;
    }

    .featured-product,
    .mini-product,
    .business-product-row {
        min-height: 44px;
        padding: 7px;
        border-radius: 13px;
        gap: 8px;
    }

    .featured-product img,
    .mini-product img,
    .business-product-row img {
        width: 36px !important;
        height: 36px !important;
        border-radius: 10px;
        object-fit: contain;
        background: #fff;
    }

    .featured-product strong,
    .mini-product strong,
    .business-product-row strong {
        font-size: 11px;
        line-height: 1.2;
    }

    .featured-product .price,
    .mini-product .price,
    .business-product-row .price {
        font-size: 11px;
    }
}

/* Página de negocio: productos tipo ecommerce compacto */
@media (max-width: 760px) {
    .product-card {
        display: grid !important;
        grid-template-columns: 104px minmax(0, 1fr);
        gap: 10px;
        padding: 9px !important;
        border-radius: 18px;
        align-items: stretch;
        min-height: 128px;
    }

    .product-card .product-img,
    .product-card .product-img-link {
        width: 104px;
        height: 110px;
        min-height: 110px;
        border-radius: 15px;
        overflow: hidden;
        background: #fff;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .product-card .product-img img,
    .product-card .product-img-link img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        padding: 6px;
        display: block;
    }

    .product-card .product-info {
        min-width: 0;
        padding: 0 !important;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        gap: 6px;
    }

    .product-card h3 {
        font-size: 14px;
        line-height: 1.18;
        margin: 0;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    .product-card p {
        font-size: 11px;
        line-height: 1.25;
        margin: 0;
        color: var(--muted);
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    .product-card .price-row,
    .product-card .price-row-v9 {
        display: flex;
        flex-wrap: wrap;
        gap: 6px;
        align-items: center;
        margin-top: 2px;
    }

    .product-card .price {
        flex: 1 1 100%;
        font-size: 13px;
        line-height: 1.1;
    }

    .product-card .btn {
        min-height: 34px;
        padding: 8px 9px;
        font-size: 11px;
    }

    .product-card .btn span {
        display: inline;
    }

    .product-card .btn:not(.btn-primary) span {
        display: none;
    }

    .product-card .btn i {
        margin: 0;
    }
}

/* Detalle de producto móvil: imagen grande pero controlada */
@media (max-width: 760px) {
    .product-detail-section {
        padding-top: 10px;
    }

    .product-detail-layout {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 12px;
    }

    .product-detail-media,
    .product-detail-info {
        border-radius: 20px;
    }

    .product-detail-media {
        padding: 10px !important;
    }

    .product-detail-image {
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        aspect-ratio: 1 / 1;
        border-radius: 18px;
        background: #fff;
        display: flex;
        align-items: center;
        justify-content: center;
        overflow: hidden;
    }

    .product-detail-image img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        padding: 10px;
    }

    .product-detail-media-note {
        font-size: 11px;
        padding: 9px 10px;
        border-radius: 12px;
        margin-top: 8px;
    }

    .product-detail-info.card-pad {
        padding: 14px !important;
    }

    .product-detail-kicker {
        gap: 6px;
        margin-bottom: 8px;
    }

    .product-detail-info h1 {
        font-size: clamp(24px, 8vw, 34px);
        line-height: .98;
        letter-spacing: -.04em;
        margin: 6px 0 10px;
    }

    .product-detail-price {
        display: inline-flex;
        width: auto;
        max-width: 100%;
        font-size: 19px;
        padding: 10px 12px;
        border-radius: 14px;
        margin-bottom: 10px;
    }

    .product-detail-desc {
        font-size: 13px;
        line-height: 1.45;
    }

    .product-detail-actions {
        display: grid !important;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
        margin-top: 12px;
    }

    .product-detail-actions .btn:first-child {
        grid-column: 1 / -1;
    }

    .product-share-box {
        padding: 12px !important;
        border-radius: 16px;
    }

    .product-share-box strong {
        font-size: 13px;
    }

    .product-share-box span {
        font-size: 11px;
        line-height: 1.3;
    }

    .product-share-actions {
        display: grid !important;
        grid-template-columns: 1fr 1fr;
        gap: 7px;
    }

    .share-input {
        font-size: 11px;
        min-height: 38px;
    }

    .product-detail-facts {
        display: grid !important;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
    }

    .product-detail-facts div {
        padding: 10px !important;
        border-radius: 14px;
    }

    .product-detail-facts span {
        font-size: 10px;
    }

    .product-detail-facts strong {
        font-size: 12px;
        line-height: 1.2;
        word-break: break-word;
    }

    .product-business-strip {
        display: grid !important;
        gap: 12px;
        padding: 14px !important;
        border-radius: 20px;
    }

    .product-business-main {
        display: flex;
        gap: 10px;
        align-items: center;
        min-width: 0;
    }

    .product-business-logo {
        width: 56px !important;
        height: 56px !important;
        min-width: 56px;
        border-radius: 16px;
    }

    .product-business-strip h2 {
        font-size: 17px;
        margin: 0 0 3px;
    }

    .product-business-strip p {
        font-size: 12px;
        line-height: 1.3;
        margin: 0 0 6px;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    .suggested-grid {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 10px;
    }

    .suggested-card {
        border-radius: 16px;
        overflow: hidden;
    }

    .suggested-card .suggested-img,
    .suggested-img {
        height: 118px !important;
        background: #fff;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .suggested-card .suggested-img img,
    .suggested-img img {
        height: 100%;
        width: 100%;
        object-fit: contain;
        padding: 8px;
    }

    .suggested-card .product-info,
    .suggested-card .suggested-info {
        padding: 10px !important;
    }

    .suggested-card h3 {
        font-size: 12px;
        line-height: 1.2;
        margin: 0 0 6px;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    .suggested-card .btn {
        min-height: 32px;
        padding: 7px 8px;
        font-size: 11px;
    }
}

@media (max-width: 420px) {
    .product-detail-facts {
        grid-template-columns: 1fr;
    }

    .suggested-grid {
        grid-template-columns: 1fr 1fr !important;
    }

    .product-card {
        grid-template-columns: 96px minmax(0, 1fr);
    }

    .product-card .product-img,
    .product-card .product-img-link {
        width: 96px;
        height: 104px;
    }

    .product-share-actions {
        grid-template-columns: 1fr;
    }
}

/* Carrito y formularios móviles */
@media (max-width: 760px) {
    .cart-layout,
    .checkout-layout,
    .pedido-layout {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 12px;
    }

    .cart-item,
    .order-item {
        display: grid !important;
        grid-template-columns: 64px 1fr auto;
        gap: 8px;
        align-items: center;
        padding: 10px !important;
        border-radius: 16px;
    }

    .cart-item img,
    .order-item img {
        width: 64px !important;
        height: 64px !important;
        border-radius: 12px;
        object-fit: contain;
        background: #fff;
    }

    .cart-item h3,
    .order-item h3 {
        font-size: 13px;
        line-height: 1.2;
        margin: 0;
    }

    .cart-item p,
    .order-item p {
        font-size: 11px;
        margin: 2px 0 0;
    }

    .cart-summary,
    .checkout-summary {
        position: sticky;
        bottom: 0;
        z-index: 20;
        border-radius: 18px 18px 0 0;
        margin-left: -12px;
        margin-right: -12px;
    }
}

/* Admin / paneles en móvil */
@media (max-width: 900px) {
    .panel-layout {
        display: block !important;
    }

    .sidebar {
        position: sticky !important;
        top: 0;
        z-index: 70;
        width: 100% !important;
        min-height: auto !important;
        height: auto !important;
        border-right: 0 !important;
        border-bottom: 1px solid var(--line);
        padding: 10px 12px !important;
        background: rgba(7, 11, 20, .96);
        backdrop-filter: blur(16px);
    }

    .sidebar .brand {
        margin-bottom: 8px;
    }

    .sidebar-nav {
        display: flex !important;
        gap: 8px;
        overflow-x: auto;
        padding-bottom: 3px;
        scrollbar-width: none;
    }

    .sidebar-nav::-webkit-scrollbar {
        display: none;
    }

    .sidebar-nav a {
        flex: 0 0 auto;
        padding: 9px 12px !important;
        border-radius: 999px !important;
        border: 1px solid rgba(255,255,255,.08);
        background: rgba(255,255,255,.035);
        font-size: 12px !important;
        white-space: nowrap;
    }

    .panel-main {
        padding: 12px !important;
    }

    .panel-header {
        display: grid !important;
        grid-template-columns: 1fr;
        gap: 10px;
        margin-bottom: 12px;
    }

    .panel-header h1 {
        font-size: 24px;
        line-height: 1;
    }

    .panel-header p {
        font-size: 12px;
    }

    .panel-header .btn {
        justify-self: start;
    }

    .table-wrap,
    .admin-table-wrap {
        overflow-x: auto;
        border-radius: 16px;
    }

    table {
        min-width: 720px;
    }

    .panel-main .grid,
    .panel-main .grid.grid-2,
    .panel-main .grid.grid-3,
    .panel-main .grid.grid-4 {
        grid-template-columns: 1fr !important;
    }

    .card,
    .card-pad {
        border-radius: 18px;
    }

    .card-pad {
        padding: 14px !important;
    }
}

/* Evita que elementos enormes rompan el ancho */
@media (max-width: 760px) {
    pre,
    code,
    .share-input,
    .prod-code,
    .nl-code {
        max-width: 100%;
        overflow-x: auto;
    }

    .modal-card,
    .nl-modal-card {
        width: calc(100vw - 24px) !important;
        max-width: 420px;
        border-radius: 20px;
    }
}


/* V23.2 · Productos sugeridos más compactos: siempre 2 columnas en móvil */
@media (max-width: 760px) {
    body .suggested-grid,
    body .grid.suggested-grid,
    body .grid.grid-4.suggested-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 9px !important;
        align-items: stretch !important;
    }

    body .suggested-card,
    body .card.suggested-card {
        min-width: 0 !important;
        border-radius: 16px !important;
        overflow: hidden !important;
        display: flex !important;
        flex-direction: column !important;
        height: auto !important;
    }

    body .suggested-card .suggested-img,
    body .suggested-img {
        width: 100% !important;
        height: 105px !important;
        min-height: 105px !important;
        max-height: 105px !important;
        aspect-ratio: auto !important;
        background: #fff !important;
        border-radius: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        overflow: hidden !important;
    }

    body .suggested-card .suggested-img img,
    body .suggested-img img {
        width: 100% !important;
        height: 100% !important;
        object-fit: contain !important;
        padding: 7px !important;
        display: block !important;
    }

    body .suggested-body {
        padding: 9px !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 5px !important;
        min-width: 0 !important;
        flex: 1 1 auto !important;
    }

    body .suggested-body > span {
        font-size: 9.5px !important;
        line-height: 1.1 !important;
        color: var(--muted) !important;
        font-weight: 800 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    body .suggested-card h3,
    body .suggested-body h3 {
        font-size: 12px !important;
        line-height: 1.15 !important;
        margin: 0 !important;
        min-height: 28px !important;
        display: -webkit-box !important;
        -webkit-line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
    }

    body .suggested-body strong {
        font-size: 12px !important;
        line-height: 1.1 !important;
        color: var(--primary) !important;
    }

    body .suggested-body em {
        font-size: 9.5px !important;
        line-height: 1.15 !important;
        display: -webkit-box !important;
        -webkit-line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
        color: var(--warning) !important;
    }

    body .suggested-actions {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 6px !important;
        margin-top: auto !important;
    }

    body .suggested-actions .btn,
    body .suggested-card .btn {
        width: 100% !important;
        min-height: 31px !important;
        height: 31px !important;
        padding: 6px 8px !important;
        font-size: 10.5px !important;
        justify-content: center !important;
    }
}

@media (max-width: 380px) {
    body .suggested-grid,
    body .grid.suggested-grid,
    body .grid.grid-4.suggested-grid {
        gap: 7px !important;
    }

    body .suggested-card .suggested-img,
    body .suggested-img {
        height: 92px !important;
        min-height: 92px !important;
        max-height: 92px !important;
    }

    body .suggested-body {
        padding: 8px !important;
    }

    body .suggested-card h3,
    body .suggested-body h3 {
        font-size: 11px !important;
    }

    body .suggested-body strong {
        font-size: 11px !important;
    }
}

/* En pantallas medianas mantiene estética de catálogo */
@media (min-width: 761px) and (max-width: 1100px) {
    body .suggested-grid,
    body .grid.suggested-grid,
    body .grid.grid-4.suggested-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}


/* SOURCE: design_system_v26.css */
/* Negocios Locales V26 · Sistema visual premium, local y sin dependencias CDN */
:root{
 --nl-bg:#070b14;--nl-bg-soft:#0b1220;--nl-surface:#10192b;--nl-surface-2:#152139;
 --nl-surface-3:#1b2943;--nl-line:rgba(148,163,184,.16);--nl-line-strong:rgba(148,163,184,.26);
 --nl-text:#f8fafc;--nl-muted:#9fb0c8;--nl-primary:#2ed47a;--nl-primary-2:#74e7a8;
 --nl-blue:#4fc3f7;--nl-warning:#fbbf24;--nl-danger:#fb7185;
 --nl-shadow-1:0 1px 2px rgba(0,0,0,.25),0 10px 30px rgba(0,0,0,.18);
 --nl-shadow-2:0 24px 70px rgba(0,0,0,.34);--nl-radius-sm:12px;--nl-radius:18px;
 --nl-radius-lg:26px;--nl-radius-xl:32px;--nl-ease:cubic-bezier(.2,.8,.2,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;color-scheme:light}
body{background:radial-gradient(circle at 50% -20%,rgba(46,212,122,.09),transparent 34rem),var(--nl-bg);color:var(--nl-text);font-feature-settings:"kern" 1,"liga" 1;text-rendering:optimizeLegibility}
body,button,input,select,textarea{font-family:"Plus Jakarta Sans",Inter,system-ui,-apple-system,"Segoe UI",sans-serif}
img{max-width:100%;display:block}
a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(79,195,247,.38);outline-offset:3px}
.container{width:min(1180px,calc(100% - 40px))}
.section{padding:58px 0}
.section-title{margin-bottom:22px;align-items:flex-end}
.section-title h1,.section-title h2{letter-spacing:-.035em;line-height:1.08}
.section-title p{color:var(--nl-muted);line-height:1.65;max-width:720px;margin-top:8px}

/* Navegación */
.topbar{background:rgba(7,11,20,.86);border-bottom:1px solid var(--nl-line);backdrop-filter:blur(20px) saturate(145%);box-shadow:0 8px 30px rgba(0,0,0,.12)}
.topbar-inner{min-height:72px;padding-block:10px}
.brand{gap:12px;text-decoration:none}
.brand-mark{width:44px;height:44px;border-radius:15px;background:linear-gradient(145deg,var(--nl-primary),var(--nl-blue));color:#03130b;box-shadow:0 10px 28px rgba(46,212,122,.2);font-weight:900}
.brand-text strong{font-size:16px;letter-spacing:-.02em}.brand-text span{color:var(--nl-muted);font-size:12px;margin-top:3px}
.nav-actions{gap:10px}.cart-link,.topbar .btn{border:1px solid var(--nl-line);background:rgba(21,33,57,.76);box-shadow:0 6px 18px rgba(0,0,0,.16)}
.cart-link:hover,.topbar .btn:hover{border-color:rgba(79,195,247,.4);background:var(--nl-surface-3)}

/* Componentes */
.card{background:linear-gradient(180deg,rgba(21,33,57,.96),rgba(14,23,40,.98));border:1px solid var(--nl-line);border-radius:var(--nl-radius-lg);box-shadow:var(--nl-shadow-1)}
.card-pad{padding:24px}
.btn{min-height:44px;border-radius:14px;padding:0 18px;gap:9px;font-weight:800;letter-spacing:-.01em;transition:transform .18s var(--nl-ease),background .18s ease,border-color .18s ease,box-shadow .18s ease}
.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0) scale(.985)}
.btn-primary{background:linear-gradient(135deg,var(--nl-primary),var(--nl-primary-2));border-color:transparent;color:#04130b;box-shadow:0 10px 26px rgba(46,212,122,.2)}
.btn-primary:hover{box-shadow:0 14px 34px rgba(46,212,122,.28);filter:saturate(1.06)}
.btn-secondary{background:rgba(79,195,247,.12);border:1px solid rgba(79,195,247,.28);color:#dff6ff}
.btn-danger{background:rgba(251,113,133,.13);border:1px solid rgba(251,113,133,.3);color:#fecdd3}
.btn-small{min-height:38px;border-radius:12px;padding-inline:14px}
.input,.select,.textarea,input.input,select.select,textarea.textarea{width:100%;min-height:48px;background:rgba(7,11,20,.64);border:1px solid var(--nl-line);border-radius:14px;color:var(--nl-text);padding:0 14px;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
.textarea,textarea.textarea{min-height:112px;padding-block:13px;resize:vertical;line-height:1.55}
.input:hover,.select:hover,.textarea:hover{border-color:var(--nl-line-strong)}
.input:focus,.select:focus,.textarea:focus{border-color:rgba(79,195,247,.62);background:rgba(7,11,20,.88);box-shadow:0 0 0 4px rgba(79,195,247,.1);outline:0}
.form-row{gap:8px}.form-row label{font-size:13px;color:#cbd5e1;font-weight:800;letter-spacing:.005em}
.badge{min-height:28px;display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;border:1px solid var(--nl-line);font-weight:800;font-size:11px;line-height:1.1}
.alert{border-radius:16px;border-width:1px;padding:14px 16px;line-height:1.55}
.detail-list{overflow:hidden;border:1px solid var(--nl-line);border-radius:16px;background:rgba(7,11,20,.24)}
.detail-row{min-height:48px;padding:11px 14px;border-bottom:1px solid var(--nl-line);gap:16px}.detail-row:last-child{border-bottom:0}.detail-row span{color:var(--nl-muted)}
.table-wrap{border:1px solid var(--nl-line);border-radius:20px;background:var(--nl-surface);box-shadow:var(--nl-shadow-1);overflow:auto}
.table{border-collapse:separate;border-spacing:0}.table th{position:sticky;top:0;z-index:2;background:#17233a;color:#b9c7d9;text-transform:uppercase;letter-spacing:.065em;font-size:11px;padding:14px 16px}.table td{padding:15px 16px;border-bottom:1px solid var(--nl-line);vertical-align:middle}.table tbody tr{transition:background .16s ease}.table tbody tr:hover{background:rgba(79,195,247,.045)}

/* Portada */
.hero{padding:30px 0 18px}
.hero-card{border-radius:var(--nl-radius-xl);padding:34px;background:radial-gradient(circle at 88% 18%,rgba(46,212,122,.2),transparent 20rem),radial-gradient(circle at 8% 0%,rgba(79,195,247,.15),transparent 24rem),linear-gradient(145deg,#101a2e,#0d1728);border:1px solid rgba(148,163,184,.18);box-shadow:var(--nl-shadow-2);overflow:hidden}
.hero-card:after{opacity:.32}
.hero h1{max-width:790px;font-size:clamp(30px,4vw,52px);line-height:1.02;letter-spacing:-.055em;text-wrap:balance}
.hero p{max-width:700px;color:#b4c3d7;font-size:15px;line-height:1.7}
.location-filter{margin-top:24px!important;padding:18px!important;border-radius:20px!important;background:rgba(7,11,20,.43)!important;border:1px solid var(--nl-line)!important;box-shadow:inset 0 1px rgba(255,255,255,.025)}
.location-filter .grid{gap:14px!important;align-items:end!important}.location-filter .btn{width:100%;justify-content:center}
.location-note{display:inline-flex!important;gap:8px!important;align-items:center!important;margin-top:13px!important;color:var(--nl-muted)!important;font-size:13px!important}
.hero-actions{gap:10px;margin-top:18px;flex-wrap:wrap}

/* Tarjetas principales: proporción, aire y tratamiento de imágenes */
#negocios .grid.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}
body .index-business-card{position:relative;display:flex;flex-direction:column;overflow:hidden;border-radius:24px!important;background:linear-gradient(180deg,#142039 0%,#0f182b 100%);border:1px solid var(--nl-line)!important;box-shadow:var(--nl-shadow-1);isolation:isolate;transition:transform .24s var(--nl-ease),border-color .24s ease,box-shadow .24s ease!important}
body .index-business-card:hover{transform:translateY(-5px)!important;border-color:rgba(79,195,247,.35)!important;box-shadow:0 28px 70px rgba(0,0,0,.42)!important}
body .index-business-cover{height:auto!important;aspect-ratio:16/7;min-height:168px;position:relative;overflow:hidden;background:radial-gradient(circle at 15% 10%,rgba(79,195,247,.2),transparent 13rem),linear-gradient(135deg,#152642,#102c30)!important;border-bottom:1px solid var(--nl-line)}
body .index-business-cover:after{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,rgba(5,9,17,.03),rgba(5,9,17,.28) 55%,rgba(5,9,17,.72))!important}
body .index-business-cover>img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;filter:saturate(.96) contrast(1.02);transition:transform .55s var(--nl-ease)}
body .index-business-card:hover .index-business-cover>img{transform:scale(1.035)}
body .index-business-logo{width:72px!important;height:72px!important;left:18px!important;bottom:14px!important;border-radius:22px!important;border:3px solid rgba(248,250,252,.88)!important;background:#eef4f7!important;box-shadow:0 14px 38px rgba(0,0,0,.44)!important;overflow:hidden;z-index:7}
body .index-business-logo img{width:100%!important;height:100%!important;object-fit:contain!important;padding:5px;background:linear-gradient(145deg,#fff,#e8eef4)}
body .index-product-preview-grid{position:absolute!important;left:104px!important;right:14px!important;bottom:14px!important;z-index:6!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}
body .index-product-preview{height:auto!important;aspect-ratio:4/3;border-radius:13px!important;overflow:hidden!important;display:grid!important;place-items:center!important;background:linear-gradient(145deg,#f8fafc,#e7edf3)!important;border:1px solid rgba(255,255,255,.7)!important;box-shadow:0 10px 22px rgba(0,0,0,.25)!important}
body .index-product-preview img{width:100%!important;height:100%!important;object-fit:contain!important;padding:4px!important;mix-blend-mode:multiply}
body .index-product-preview i{color:#64748b!important;font-size:22px!important}
body .index-business-body{padding:20px!important;display:flex!important;flex-direction:column!important;gap:12px!important;flex:1}
body .index-business-topline{display:flex!important;gap:7px!important;flex-wrap:wrap!important;align-items:center!important;min-height:28px}
body .index-business-body h3{margin:0!important;color:var(--nl-text);font-size:19px!important;line-height:1.25!important;letter-spacing:-.025em!important;text-wrap:balance}
body .index-business-desc{min-height:42px;margin:0!important;color:var(--nl-muted)!important;font-size:13px!important;line-height:1.58!important;display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.foreign-note{display:inline-flex;gap:6px;align-items:center;color:#fde68a;background:rgba(245,158,11,.1);border:1px solid rgba(245,158,11,.22);padding:6px 9px;border-radius:999px;font-size:11px;font-weight:800}
body .index-products-box{display:grid!important;gap:8px!important;padding-top:2px!important}
body .index-products-title{display:flex!important;align-items:center!important;gap:8px!important;color:#aebcd0!important;font-size:10px!important;font-weight:900!important;text-transform:uppercase!important;letter-spacing:.11em!important}
body .index-products-title i{font-size:15px!important;color:var(--nl-primary)!important}
body .index-product-mini{display:grid!important;grid-template-columns:48px minmax(0,1fr) auto!important;align-items:center!important;gap:11px!important;min-height:58px!important;padding:6px 10px 6px 6px!important;border-radius:15px!important;background:rgba(255,255,255,.038)!important;border:1px solid var(--nl-line)!important;transition:background .17s ease,border-color .17s ease}
body .index-product-mini:hover{background:rgba(79,195,247,.07)!important;border-color:rgba(79,195,247,.22)!important}
body .index-product-mini-img{width:46px!important;height:46px!important;border-radius:12px!important;overflow:hidden!important;background:linear-gradient(145deg,#f8fafc,#e8eef4)!important;display:grid!important;place-items:center!important}
body .index-product-mini-img img{width:100%!important;height:100%!important;object-fit:contain!important;padding:4px!important;mix-blend-mode:multiply}
body .index-product-mini strong{font-size:12px!important;line-height:1.35!important;color:var(--nl-text)!important;white-space:normal!important;display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
body .index-product-mini span{font-size:11px!important;color:#6ee7a2!important;font-weight:900!important;white-space:nowrap}
body .index-business-footer{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;margin-top:auto!important;padding-top:4px!important}
body .index-business-category{min-width:0;color:var(--nl-muted)!important;font-size:12px!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body .index-see-business{min-height:38px!important;padding:0 14px!important;border-radius:12px!important;background:rgba(46,212,122,.12)!important;color:#baf7d2!important;border:1px solid rgba(46,212,122,.25)!important;font-size:12px!important;font-weight:900!important;white-space:nowrap}

/* Productos y otras imágenes de toda la plataforma */
.product-card,.suggested-card{overflow:hidden;border-radius:22px!important;transition:transform .22s var(--nl-ease),border-color .22s ease,box-shadow .22s ease}
.product-card:hover,.suggested-card:hover{transform:translateY(-4px);border-color:rgba(79,195,247,.3);box-shadow:var(--nl-shadow-2)}
.product-card .product-img,.product-card .product-img-link,.suggested-card .suggested-img{position:relative;aspect-ratio:4/3;height:auto!important;min-height:0!important;overflow:hidden;background:radial-gradient(circle at 50% 20%,#fff,#e7edf2 78%);border-bottom:1px solid var(--nl-line)}
.product-card .product-img img,.product-card .product-img-link img,.suggested-card .suggested-img img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;padding:14px;mix-blend-mode:multiply;transition:transform .35s var(--nl-ease)}
.product-card:hover .product-img img,.product-card:hover .product-img-link img,.suggested-card:hover .suggested-img img{transform:scale(1.035)}
.product-card .product-info,.suggested-card .product-info,.suggested-card .suggested-info{padding:18px!important}
.product-detail-image,.product-detail-gallery{overflow:hidden;border-radius:24px;background:linear-gradient(145deg,#f8fafc,#e8eef4)}
.product-detail-image img,.product-detail-gallery img{width:100%;height:100%;object-fit:contain!important;padding:18px;mix-blend-mode:multiply}
.cart-item-img,.m18-product img,.nl-order-product-img{overflow:hidden;border-radius:12px!important;background:linear-gradient(145deg,#fff,#e8eef4)!important;border:1px solid rgba(255,255,255,.55)}
.cart-item-img img,.m18-product img,.nl-order-product-img img{width:100%;height:100%;object-fit:contain!important;padding:4px;mix-blend-mode:multiply}

/* Paneles */
.panel-layout{background:var(--nl-bg)}
.sidebar{background:linear-gradient(180deg,#0c1423,#09101c);border-right:1px solid var(--nl-line)}
.sidebar-nav a{border-radius:12px;color:#adbbce;min-height:42px;display:flex;align-items:center;padding:0 13px;transition:background .16s ease,color .16s ease,transform .16s ease}
.sidebar-nav a:hover{background:rgba(79,195,247,.08);color:#eef8ff;transform:translateX(2px)}
.panel-main{padding:28px}.panel-header{margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid var(--nl-line);gap:16px}.panel-header h1{letter-spacing:-.04em}.panel-header p{color:var(--nl-muted);line-height:1.55}
.stat-card{border-radius:20px;background:linear-gradient(145deg,var(--nl-surface-2),var(--nl-surface));border:1px solid var(--nl-line);box-shadow:var(--nl-shadow-1)}
.nl-modal-overlay{backdrop-filter:blur(10px);background:rgba(2,6,12,.72)}
.nl-modal{border-radius:24px;border:1px solid var(--nl-line-strong);box-shadow:0 30px 100px rgba(0,0,0,.55)}

/* Responsive */
@media(max-width:1000px){#negocios .grid.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-card{padding:28px}.panel-main{padding:22px}}
@media(max-width:700px){
 .container{width:min(100% - 24px,1180px)}.section{padding:36px 0}.topbar-inner{min-height:64px}.brand-mark{width:40px;height:40px;border-radius:14px}
 .hero{padding-top:18px}.hero-card{padding:22px 18px;border-radius:24px}.hero h1{font-size:clamp(28px,9vw,38px)}
 .location-filter{padding:14px!important}.location-filter .grid{grid-template-columns:1fr!important}.hero-actions{display:grid;grid-template-columns:1fr}.hero-actions .btn{width:100%;justify-content:center}
 #negocios .grid.grid-3{grid-template-columns:1fr;gap:16px}body .index-business-cover{aspect-ratio:16/7;min-height:154px}
 body .index-business-body{padding:17px!important}.panel-main{padding:16px}.panel-header{align-items:flex-start;flex-direction:column}.card-pad{padding:18px}
 .table th,.table td{padding:12px}.detail-row{align-items:flex-start;flex-direction:column;gap:3px}.btn{min-height:46px}
}
@media(max-width:420px){
 .container{width:calc(100% - 18px)}.brand-text span{display:none}.nav-actions{gap:6px}
 body .index-business-logo{width:64px!important;height:64px!important;left:12px!important;bottom:12px!important;border-radius:19px!important}
 body .index-product-preview-grid{left:86px!important;right:10px!important;bottom:12px!important;gap:6px!important}
 body .index-product-preview{border-radius:10px!important}body .index-product-mini{grid-template-columns:44px minmax(0,1fr)!important}
 body .index-product-mini>span{grid-column:2;text-align:left}.index-business-footer{align-items:stretch!important;flex-direction:column}.index-see-business{justify-content:center}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}


/* SOURCE: home_v27.css */
/* V27 · Portada reestructurada: imagen, identidad, datos y productos son zonas independientes */
.nl-home-v27{overflow:hidden}
.nl-hero-v27{padding-top:32px}
.nl-hero-v27 .hero-card{display:grid;gap:0;padding:42px;border-radius:32px}
.nl-hero-copy{position:relative;z-index:2;max-width:820px}
.nl-eyebrow,.nl-section-kicker{display:inline-flex;align-items:center;gap:7px;color:#78e6a8;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.12em}
.nl-hero-v27 h1{margin:12px 0 13px;max-width:720px;font-size:clamp(36px,5.3vw,66px);line-height:.98;letter-spacing:-.065em;text-wrap:balance}
.nl-hero-v27 p{margin:0;max-width:670px;color:#b5c3d6;font-size:16px;line-height:1.7}
.nl-hero-v27 .location-filter{margin-top:28px!important}
.nl-stores-section{padding-top:64px}
.nl-stores-section .section-title{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin-bottom:24px}
.nl-stores-section .section-title h2{margin:6px 0 0;font-size:30px}
.nl-results-count{flex:0 0 auto;display:inline-flex;align-items:center;min-height:36px;padding:0 13px;border-radius:999px;background:rgba(79,195,247,.08);border:1px solid rgba(79,195,247,.18);color:#c8eefe;font-size:12px;font-weight:800}
.nl-store-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch}
.nl-store-card{min-width:0;display:flex;flex-direction:column;background:linear-gradient(180deg,#142038,#0e1728);border:1px solid rgba(148,163,184,.17);border-radius:24px;box-shadow:0 1px 2px rgba(0,0,0,.2),0 16px 42px rgba(0,0,0,.2);overflow:hidden;transition:transform .24s cubic-bezier(.2,.8,.2,1),border-color .24s ease,box-shadow .24s ease}
.nl-store-card:hover{transform:translateY(-5px);border-color:rgba(79,195,247,.34);box-shadow:0 28px 70px rgba(0,0,0,.4)}
.nl-store-media{position:relative;display:block;width:100%;aspect-ratio:16/6.7;min-height:150px;overflow:hidden;background:radial-gradient(circle at 18% 20%,rgba(79,195,247,.26),transparent 14rem),linear-gradient(135deg,#1b3152,#143c3b)}
.nl-store-atmosphere{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:none;transform:none;opacity:1}
.nl-store-media-shade{position:absolute;inset:0;background:linear-gradient(110deg,rgba(5,10,18,.34),rgba(5,10,18,.08) 55%,rgba(5,10,18,.36)),linear-gradient(180deg,transparent 35%,rgba(5,10,18,.36));box-shadow:inset 0 -1px rgba(255,255,255,.04)}
.nl-store-category{position:absolute;left:16px;top:16px;display:inline-flex;align-items:center;gap:7px;min-height:30px;padding:0 11px;border-radius:999px;background:rgba(7,11,20,.7);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(12px);color:#eef6ff;font-size:11px;font-weight:800}
.nl-store-content{display:flex;flex:1;flex-direction:column;padding:20px;gap:14px}
.nl-store-identity{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:14px;min-height:64px}
.nl-store-logo{width:64px;height:64px;display:grid;place-items:center;overflow:hidden;border-radius:19px;background:linear-gradient(145deg,#fff,#e8eef4);border:1px solid rgba(255,255,255,.72);box-shadow:0 10px 24px rgba(0,0,0,.24)}
.nl-store-logo img{width:100%;height:100%;object-fit:contain;padding:6px;mix-blend-mode:multiply}.nl-store-logo i{font-size:27px;color:#334155}
.nl-store-heading{min-width:0;display:grid;gap:7px}.nl-store-heading a{text-decoration:none;color:inherit}
.nl-store-heading h3{margin:0;color:#f8fafc;font-size:19px;line-height:1.22;letter-spacing:-.03em;text-wrap:balance}
.nl-store-heading span{min-width:0;display:flex;align-items:center;gap:6px;color:#99abc1;font-size:11px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nl-store-heading span i{flex:0 0 auto;color:#4fc3f7;font-size:14px}
.nl-store-status{min-height:28px;display:flex;align-items:center;gap:7px;flex-wrap:wrap;color:#a9b8ca;font-size:11px;font-weight:800}
.nl-open-dot{width:8px;height:8px;border-radius:50%;background:#35d47c;box-shadow:0 0 0 4px rgba(53,212,124,.12)}
.nl-featured,.nl-distance-note{margin-left:auto;display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;background:rgba(79,195,247,.09);border:1px solid rgba(79,195,247,.17);color:#bfeaff;font-size:10px}
.nl-distance-note{margin-left:0;background:rgba(251,191,36,.08);border-color:rgba(251,191,36,.18);color:#fde68a}
.nl-store-description{min-height:44px;margin:0;color:#9fb0c5;font-size:13px;line-height:1.62;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.nl-featured-products{display:grid;gap:8px;padding-top:2px}
.nl-featured-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:1px}.nl-featured-head strong{color:#cbd6e5;font-size:10px;text-transform:uppercase;letter-spacing:.1em}.nl-featured-head span{color:#7f91a8;font-size:10px}
.nl-featured-product{min-width:0;min-height:64px;display:grid;grid-template-columns:68px minmax(0,1fr) auto;align-items:center;gap:11px;padding:7px 10px 7px 7px;border-radius:15px;background:rgba(255,255,255,.035);border:1px solid rgba(148,163,184,.13);text-decoration:none;transition:background .16s ease,border-color .16s ease}
.nl-featured-product:hover{background:rgba(79,195,247,.07);border-color:rgba(79,195,247,.23)}
.nl-featured-image{width:68px;aspect-ratio:4/3;display:grid;place-items:center;overflow:hidden;border-radius:11px;background:linear-gradient(145deg,#fff,#e8eef4)}
.nl-featured-image img{width:100%;height:100%;object-fit:contain;padding:4px;mix-blend-mode:multiply}.nl-featured-image i{color:#64748b;font-size:22px}
.nl-featured-info{min-width:0;display:grid;gap:4px}.nl-featured-info strong{color:#f4f7fb;font-size:12px;line-height:1.32;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nl-featured-info small{color:#7f91a8;font-size:10px}
.nl-featured-product>b{color:#64e59c;font-size:11px;white-space:nowrap}
.nl-no-products{min-height:64px;display:flex;align-items:center;justify-content:center;gap:8px;border:1px dashed rgba(148,163,184,.18);border-radius:15px;color:#8fa1b8;font-size:12px}
.nl-store-action{min-height:44px;margin-top:auto;display:flex;align-items:center;justify-content:space-between;padding:0 15px;border-radius:13px;background:rgba(46,212,122,.1);border:1px solid rgba(46,212,122,.22);color:#c7f8da;text-decoration:none;font-size:12px;font-weight:900;transition:background .17s ease,border-color .17s ease,transform .17s ease}
.nl-store-action:hover{background:rgba(46,212,122,.16);border-color:rgba(46,212,122,.35)}.nl-store-action i{font-size:16px;transition:transform .17s ease}.nl-store-action:hover i{transform:translateX(3px)}
.nl-stores-section .empty{min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px}.nl-stores-section .empty i{font-size:34px;color:#4fc3f7}.nl-stores-section .empty span{color:#92a3b8}
@media(max-width:1020px){.nl-store-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nl-hero-v27 .hero-card{padding:34px}}
@media(max-width:700px){.nl-hero-v27{padding-top:18px}.nl-hero-v27 .hero-card{padding:25px 18px}.nl-hero-v27 h1{font-size:clamp(34px,10vw,46px)}.nl-stores-section{padding-top:42px}.nl-stores-section .section-title{align-items:flex-start}.nl-store-grid{grid-template-columns:1fr}.nl-store-media{aspect-ratio:16/6;min-height:138px}}
@media(max-width:440px){.nl-stores-section .section-title{flex-direction:column;gap:12px}.nl-store-content{padding:17px}.nl-store-identity{grid-template-columns:58px minmax(0,1fr)}.nl-store-logo{width:58px;height:58px;border-radius:17px}.nl-featured-product{grid-template-columns:62px minmax(0,1fr)}.nl-featured-product>b{grid-column:2;text-align:left}.nl-featured-image{width:62px}.nl-featured{margin-left:0}}


/* SOURCE: cobro_v29.css */
/* V29 · Importe oficial, prevención de cobros indebidos y denuncia rápida */
.nl29-charge-box,.nl29-driver-charge,.nl29-bag-label{margin-top:16px;padding:18px;border-radius:20px;background:linear-gradient(135deg,rgba(46,212,122,.14),rgba(79,195,247,.09));border:1px solid rgba(46,212,122,.3)}
.nl29-charge-box>span,.nl29-driver-charge>span,.nl29-bag-label span{display:block;color:#a7f3d0;font-size:10px;font-weight:1000;letter-spacing:.11em;text-transform:uppercase}.nl29-charge-box>strong,.nl29-driver-charge>strong,.nl29-bag-label strong{display:block;margin:6px 0;color:#69eda0;font-size:clamp(28px,5vw,40px);line-height:1}.nl29-charge-box p,.nl29-driver-charge p,.nl29-bag-label p{margin:8px 0 0;color:#bdc9d8;font-size:12px;line-height:1.5}
.nl29-quick-card{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:24px;align-items:center;padding:22px;border-radius:24px;background:linear-gradient(135deg,#14223a,#101a2e);border:1px solid rgba(148,163,184,.18)}.nl29-kicker{color:#6ee7a5;font-size:10px;font-weight:1000;letter-spacing:.12em;text-transform:uppercase}.nl29-quick-card h2{margin:7px 0}.nl29-quick-card p{margin:0;color:#94a3b8}.nl29-quick-actions{display:grid;gap:10px}.nl29-action{display:grid;grid-template-columns:40px 1fr;gap:12px;align-items:center;padding:13px;border-radius:17px;background:rgba(255,255,255,.04);border:1px solid rgba(148,163,184,.14);color:#f8fafc;text-decoration:none}.nl29-action>i{width:40px;height:40px;padding:9px;border-radius:13px;background:rgba(79,195,247,.12);color:#7dd3fc}.nl29-action span{display:grid;gap:3px}.nl29-action small{color:#91a2b8}.nl29-action-danger{border-color:rgba(248,113,113,.25);background:rgba(248,113,113,.07)}.nl29-action-danger>i{background:rgba(248,113,113,.14);color:#fda4af}
.nl29-collect-reminder{width:100%;display:grid;grid-template-columns:38px 1fr;gap:10px;align-items:center;padding:12px;border-radius:16px;background:rgba(251,191,36,.09);border:1px solid rgba(251,191,36,.25)}.nl29-collect-reminder>i{width:38px;height:38px;padding:8px;color:#fde68a}.nl29-collect-reminder span{display:grid}.nl29-collect-reminder small{color:#d6c99d;margin-top:3px}.nl29-bag-label{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}.nl29-bag-label p{max-width:380px}.nl29-rating-report{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;margin-top:22px;padding:14px;border-radius:18px;background:rgba(248,113,113,.07);border:1px solid rgba(248,113,113,.2)}.nl29-rating-report>i{width:42px;height:42px;padding:10px;color:#fda4af}.nl29-rating-report p{margin:4px 0 0;color:#94a3b8;font-size:12px}.nl29-priority{display:inline-flex;padding:4px 7px;border-radius:8px;background:rgba(239,68,68,.16);border:1px solid rgba(239,68,68,.28);color:#fda4af;font-size:9px;font-weight:1000;letter-spacing:.08em}
.nl29-report-page{max-width:680px!important}.nl29-charge-compare{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.nl29-charge-compare>div{padding:16px;border-radius:18px;background:rgba(255,255,255,.04);border:1px solid rgba(148,163,184,.14)}.nl29-charge-compare span,.nl29-charge-compare small{display:block;color:#94a3b8;font-size:11px}.nl29-charge-compare strong{display:block;margin-top:6px;color:#f8fafc;font-size:22px}.nl29-legal-note{display:grid;grid-template-columns:32px 1fr;gap:10px;align-items:center;padding:12px;border-radius:15px;background:rgba(79,195,247,.07);border:1px solid rgba(79,195,247,.17);color:#badbec;font-size:12px;line-height:1.5}.nl29-legal-note i{width:32px;height:32px;padding:6px}
@media(max-width:760px){.nl29-quick-card{grid-template-columns:1fr}.nl29-bag-label{display:block}.nl29-rating-report{grid-template-columns:38px 1fr}.nl29-rating-report .btn{grid-column:1/-1}.nl29-charge-compare{grid-template-columns:1fr}}


/* SOURCE: reportes_v31.css */
.nl31-filters,.nl31-actions{display:flex;gap:8px;flex-wrap:wrap}.nl31-cases{display:grid;gap:16px;margin-top:16px}.nl31-case{padding:20px;border-radius:22px;background:linear-gradient(180deg,#111c31,#0d1627);border:1px solid rgba(148,163,184,.18)}.nl31-case.high{border-color:rgba(248,113,113,.32)}.nl31-case header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.nl31-case h2{margin:7px 0 3px;font-size:18px}.nl31-case header p,.nl31-description,.nl31-people{color:#94a3b8}.nl31-money{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0}.nl31-money>div{padding:13px;border-radius:15px;background:rgba(255,255,255,.04);border:1px solid rgba(148,163,184,.12)}.nl31-money span{display:block;color:#8fa1b8;font-size:10px;text-transform:uppercase;font-weight:900}.nl31-money strong{display:block;margin-top:5px;color:#f8fafc;font-size:19px}.nl31-people{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.nl31-people p{margin:0}.nl31-description{padding:12px;border-radius:14px;background:rgba(255,255,255,.03)}.nl31-check{display:block;margin-bottom:12px;color:#fda4af;font-weight:800}@media(max-width:700px){.nl31-money,.nl31-people{grid-template-columns:1fr}.nl31-case header{flex-direction:column}}


/* SOURCE: plataforma_v37.css */
.v37-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.v37-stats>div,.v37-card{padding:18px;border-radius:20px;background:linear-gradient(180deg,#132039,#0d1728);border:1px solid rgba(148,163,184,.17)}.v37-stats span{display:block;color:#94a3b8;font-size:11px;text-transform:uppercase;font-weight:900}.v37-stats strong{display:block;margin-top:7px;font-size:24px;color:#69eda0}.v37-list{display:grid;gap:12px;margin:14px 0 22px}.v37-card{display:block;color:inherit;text-decoration:none}.v37-card header{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}.v37-card p{color:#9fb0c5}.v37-money{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0}.v37-money span{padding:10px;border-radius:12px;background:rgba(255,255,255,.04);color:#94a3b8;font-size:11px}.v37-money b{display:block;color:#f8fafc;margin-top:4px;font-size:14px}@media(max-width:800px){.v37-stats,.v37-money{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.v37-stats,.v37-money{grid-template-columns:1fr}}


/* SOURCE: paneles_v38.css */
/* V38 · Estructura unificada para administración, negocio y mensajero */
.panel-layout{display:grid!important;grid-template-columns:268px minmax(0,1fr)!important;min-height:100vh;width:100%;align-items:stretch}.panel-layout>.sidebar{position:sticky!important;top:0;width:268px;min-width:268px;height:100vh;overflow-y:auto;padding:22px 16px;background:linear-gradient(180deg,#0c1525,#080f1b);border-right:1px solid rgba(148,163,184,.15);z-index:40}.panel-layout>.sidebar .brand{display:flex;align-items:center;gap:11px;margin:0 0 22px;padding:4px;text-decoration:none}.panel-layout>.sidebar .brand-text,.panel-layout>.sidebar .brand>div:last-child{min-width:0;display:grid}.panel-layout>.sidebar .brand strong{color:#f8fafc}.panel-layout>.sidebar .brand span{color:#899bb1;font-size:11px}.panel-layout>.sidebar-nav{display:grid!important;gap:6px}.panel-layout>.sidebar-nav a{display:flex!important;align-items:center;min-height:42px;padding:0 13px!important;border-radius:12px;color:#aebdd0;text-decoration:none;font-size:13px;font-weight:800;line-height:1.25}.panel-layout>.sidebar-nav a:hover{background:rgba(79,195,247,.09);color:#eff9ff}.panel-layout>.panel-main{min-width:0;width:100%;max-width:none;padding:30px clamp(22px,3vw,42px)!important;overflow-x:hidden}.panel-layout .table-wrap{max-width:100%;overflow-x:auto}.panel-layout img{max-width:100%}.panel-layout .panel-header{flex-wrap:wrap}.panel-layout .m18-grid{min-width:0}.panel-layout .m18-card,.panel-layout .m18-order,.panel-layout .card{min-width:0}.panel-layout .m18-code,.panel-layout td,.panel-layout th{overflow-wrap:anywhere}
@media(max-width:980px){.panel-layout{display:block!important}.panel-layout>.sidebar{position:sticky!important;top:0;width:100%!important;min-width:0;height:auto;max-height:none;padding:10px 12px!important;border-right:0;border-bottom:1px solid rgba(148,163,184,.15)}.panel-layout>.sidebar .brand{margin-bottom:8px}.panel-layout>.sidebar-nav{display:flex!important;gap:7px;overflow-x:auto;padding-bottom:3px}.panel-layout>.sidebar-nav a{flex:0 0 auto;min-height:36px;padding:0 12px!important;border:1px solid rgba(148,163,184,.13);border-radius:999px;white-space:nowrap}.panel-layout>.panel-main{padding:18px 14px!important}}
@media(min-width:1500px){.panel-layout{grid-template-columns:284px minmax(0,1fr)!important}.panel-layout>.sidebar{width:284px;min-width:284px}.panel-layout>.panel-main{padding-left:48px!important;padding-right:48px!important}}


/* SOURCE: light_v40.css */
/* Negocios Locales V40 · Tema claro obligatorio */
:root{
 color-scheme:light;--nl-bg:#f6f8fc;--nl-bg-soft:#eef3f9;--nl-surface:#ffffff;--nl-surface-2:#ffffff;
 --nl-surface-3:#f4f7fb;--nl-line:#dbe3ee;--nl-line-strong:#c5d1df;--nl-text:#10233f;
 --nl-muted:#64748b;--nl-primary:#0b63ce;--nl-primary-2:#438ee8;--nl-blue:#0b63ce;
 --nl-warning:#e9a600;--nl-danger:#d83b56;--nl-shadow-1:0 10px 30px rgba(23,50,82,.08);
 --nl-shadow-2:0 24px 64px rgba(23,50,82,.14);--nl-radius-sm:16px;--nl-radius:20px;
 --nl-radius-lg:26px;--nl-radius-xl:34px;
}
html{color-scheme:light!important;background:#f6f8fc}body{background:linear-gradient(180deg,#fff 0,#f6f8fc 32rem)!important;color:var(--nl-text)!important}
.app-shell,.panel-layout,.panel-main{background:transparent!important}.topbar{background:rgba(255,255,255,.94)!important;border-color:var(--nl-line)!important;box-shadow:0 8px 30px rgba(23,50,82,.07)!important}
.brand-mark{background:#102f67!important;color:#ffd12f!important}.brand-text strong,.topbar a{color:var(--nl-text)!important}.brand-text span{color:var(--nl-muted)!important}
.cart-link,.topbar .btn,.btn,.input,.select,.textarea,input,select,textarea{background:#fff!important;color:var(--nl-text)!important;border-color:var(--nl-line)!important}
.btn-primary{background:linear-gradient(135deg,#ffd02a,#ffb800)!important;color:#10233f!important;border-color:transparent!important;box-shadow:0 12px 26px rgba(245,183,0,.2)!important}
.btn-secondary{background:#eef5ff!important;color:#0b57b7!important;border-color:#cfe1fa!important}.btn-danger{background:#fff0f3!important;color:#b4233e!important;border-color:#fac5cf!important}
.card,.stat-card,.table-wrap,.v37-card,.v37-stats>div,.login-card,.nl-modal,.notification-item,.alert,.detail-list{background:#fff!important;color:var(--nl-text)!important;border-color:var(--nl-line)!important;box-shadow:var(--nl-shadow-1)!important}
.hero-card{background:linear-gradient(135deg,#eef5ff,#fff9dc)!important;color:var(--nl-text)!important;border:1px solid #dce7f4!important;box-shadow:var(--nl-shadow-2)!important}
.hero h1,.hero h2,.card h1,.card h2,.card h3,.panel-header h1,.v37-card b,.table td{color:var(--nl-text)!important}.hero p,.card p,.panel-header p,.v37-card p,.v37-stats span,.v37-money span{color:var(--nl-muted)!important}
.sidebar{background:#fff!important;border-color:var(--nl-line)!important}.sidebar-nav a{color:#52647a!important;border-radius:16px!important}.sidebar-nav a:hover,.sidebar-nav a.active{background:#edf5ff!important;color:#0b57b7!important}
.table th{background:#eef3f9!important;color:#52647a!important}.table tbody tr:hover{background:#f7faff!important}
.input:focus,.select:focus,.textarea:focus,input:focus,select:focus,textarea:focus{background:#fff!important;border-color:#438ee8!important;box-shadow:0 0 0 4px rgba(67,142,232,.13)!important}
.badge,.alert,.detail-list,.detail-row,.location-filter,.nl-featured-product,.product-card,.suggested-card,.nl-store-card{background:#fff!important;color:var(--nl-text)!important;border-color:var(--nl-line)!important}
button,.btn,input,select,textarea,.card,.alert,.notification-item,.product-card,.suggested-card{border-radius:16px!important}.card,.product-card,.suggested-card,.notification-item{border-radius:26px!important}
.nl-store-media{background:#eaf1f8!important}.nl-store-media-shade{background:linear-gradient(180deg,rgba(16,35,63,.02),rgba(16,35,63,.16))!important}
.nl-store-content,.nl-featured-product,.nl-store-action{background:#fff!important}.nl-store-heading h3,.nl-featured-info strong,.nl-store-action{color:var(--nl-text)!important}
.nl-app-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.nl-app-card{padding:26px;border:1px solid var(--nl-line);border-radius:28px;background:#fff;box-shadow:var(--nl-shadow-1)}.nl-app-card>i{display:grid;place-items:center;width:54px;height:54px;border-radius:18px;background:#fff4bf;color:#12336b;font-size:28px}.nl-app-card h3{margin:18px 0 7px;color:var(--nl-text)}.nl-app-card p{margin:0;color:var(--nl-muted)}
.nl-download-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.nl-download-card{display:flex;flex-direction:column;gap:14px;padding:28px;border-radius:30px;background:#fff;border:1px solid var(--nl-line);box-shadow:var(--nl-shadow-1)}.nl-download-icon{width:76px;height:76px;border-radius:23px;object-fit:cover}.nl-version{display:inline-flex;align-self:flex-start;padding:7px 11px;border-radius:999px;background:#eef5ff;color:#0b57b7;font-weight:800;font-size:12px}.nl-update-note{padding:18px 20px;border-radius:22px;background:#fff8dc;border:1px solid #f2da7a;color:#5f4a00}
.nl-app-update-banner{position:sticky;top:0;z-index:1000;display:flex;align-items:center;justify-content:center;gap:10px;padding:12px 18px;background:#fff4bf;color:#4e3b00;border-bottom:1px solid #ecd36e}.nl-app-update-banner a{color:#0b57b7;font-weight:900}
*:not(input):not(textarea):not(select){scrollbar-color:#cbd7e5 #f4f7fb}.nl-modal-overlay{background:rgba(30,52,78,.28)!important}
@media(max-width:760px){.nl-app-grid,.nl-download-grid{grid-template-columns:1fr}.nl-app-card,.nl-download-card{border-radius:24px}}


/* SOURCE: app_distribution_v41.css */
.app-landing{min-height:calc(100vh - 76px);background:linear-gradient(180deg,#f8fbff,#eef3f9)}.app-landing-card{display:grid;grid-template-columns:190px 1fr;gap:38px;align-items:center;max-width:980px;margin:30px auto;padding:48px;border:1px solid #dce5f0;border-radius:38px;background:linear-gradient(145deg,#fff,#fff9df);box-shadow:0 30px 80px rgba(27,53,87,.13)}.app-landing-icon{width:180px;height:180px;display:grid;place-items:center;border-radius:48px;background:#102f67;color:#ffd02a;font-size:88px;box-shadow:0 22px 44px rgba(16,47,103,.2)}.app-landing-copy h1{font-size:clamp(34px,5vw,58px);line-height:1.02;margin:10px 0 16px;color:#0a285a}.app-landing-copy>p{font-size:18px;line-height:1.7;color:#62728a;max-width:680px}.app-landing-meta{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}.app-landing-meta span{padding:9px 13px;border:1px solid #d7e2ef;border-radius:999px;background:#fff;color:#38506e;font-size:13px;font-weight:800}.app-download-button{min-height:58px!important;border-radius:18px!important;font-size:16px}.app-landing-copy small{display:block;margin-top:14px;color:#718096;line-height:1.5}.nl-app-downloads{padding-top:34px}.nl-app-download-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.nl-app-download-card{display:flex;flex-direction:column;gap:12px;padding:26px;border:1px solid #dce5f0;border-radius:28px;background:#fff;box-shadow:0 16px 38px rgba(27,53,87,.08)}.nl-app-download-card i{width:56px;height:56px;display:grid;place-items:center;border-radius:18px;background:#102f67;color:#ffd02a;font-size:30px}.nl-app-download-card h3{margin:5px 0 0;color:#10233f}.nl-app-download-card p{color:#64748b;line-height:1.55;flex:1}.nl-app-download-card .btn{border-radius:16px!important}.admin-app-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.admin-app-card{padding:24px;border-radius:26px;border:1px solid var(--nl-line,#dce5f0);background:#fff;box-shadow:0 12px 32px rgba(27,53,87,.08)}.admin-app-card form{display:grid;gap:12px}.admin-app-card input,.admin-app-card textarea,.admin-app-card select{width:100%;min-height:48px;border-radius:15px;border:1px solid #d7e2ef;background:#fff;color:#10233f;padding:10px 13px}.nl-update-banner{position:sticky;top:0;z-index:9999;display:flex;justify-content:center;align-items:center;gap:10px;padding:11px 16px;background:#fff2ad;color:#523e00;border-bottom:1px solid #ebd36c}.nl-update-banner a{font-weight:900;color:#075dbf}@media(max-width:760px){.app-landing-card{grid-template-columns:1fr;padding:28px 22px;border-radius:28px;text-align:center}.app-landing-icon{width:128px;height:128px;border-radius:36px;font-size:62px;margin:auto}.app-landing-meta{justify-content:center}.nl-app-download-grid,.admin-app-grid{grid-template-columns:1fr}}
.app-landing-copy{min-width:0;overflow-wrap:anywhere}.app-landing-copy .app-download-button{max-width:100%;white-space:normal;text-align:center;line-height:1.4;height:auto;padding-block:14px}.app-landing-meta span{max-width:100%;white-space:normal}.nl-download-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.nl-download-card{min-width:0;display:flex;flex-direction:column;gap:14px;padding:24px;border-radius:24px;background:#fff;border:1px solid #dce5f0}.nl-download-card .btn{margin-top:auto;white-space:normal}.nl-download-icon{width:64px;height:64px;border-radius:20px}@media(max-width:760px){.nl-download-grid{grid-template-columns:minmax(0,1fr)}.app-landing-card{grid-template-columns:minmax(0,1fr)}}


/* SOURCE: platform_modals_v41.css */
.nl-platform-modal{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:20px;background:rgba(21,40,65,.28);backdrop-filter:blur(8px)}
.nl-platform-dialog{width:min(520px,100%);padding:30px;border-radius:30px;background:#fff;color:#10233f;border:1px solid #dce5f0;box-shadow:0 32px 90px rgba(18,43,76,.22)}
.nl-platform-dialog>i{display:grid;place-items:center;width:58px;height:58px;border-radius:19px;background:#fff1ab;color:#12336b;font-size:30px}
.nl-platform-dialog h2{margin:18px 0 8px}.nl-platform-dialog p{color:#64748b;line-height:1.65}.nl-platform-dialog form{margin-top:20px}.nl-platform-dialog button{width:100%}


/* SOURCE: fixes_v43.css */
.nl-role-icon{width:64px;height:64px;display:grid;place-items:center;border-radius:21px;background:linear-gradient(145deg,#102f67,#17458e);font-size:34px;line-height:1;box-shadow:0 12px 24px rgba(16,47,103,.18)}
.cart-link{background:#fff3c4!important;color:#0a285a!important;border:2px solid #f1c84c!important;box-shadow:0 8px 20px rgba(10,40,90,.12)!important}.cart-link .ph,.cart-link .ph::before{color:#0a285a!important;background-color:#0a285a!important}.cart-icon-wrap{color:#0a285a!important}


/* SOURCE: home_landing_v44.css */
.nl-home-v27{background:#f6f8fc;color:#102544}.nl-premium-hero{padding:32px 0 70px}.nl-premium-hero-image{position:relative;min-height:560px;border-radius:38px;overflow:hidden;background:#0a2858 url('../img/landing-negocios-locales-v44.png') center/cover no-repeat;box-shadow:0 28px 70px rgba(20,43,79,.18)}.nl-premium-copy{position:relative;z-index:2;width:48%;padding:68px 0 72px 58px;color:#fff}.nl-premium-kicker{display:inline-flex;align-items:center;gap:8px;margin-bottom:22px;color:#ffd467;font-size:12px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.nl-premium-copy h1{margin:0;color:#fff;font-size:clamp(46px,5vw,72px);line-height:.96;letter-spacing:-.055em}.nl-premium-copy h1 em{color:#ffc423;font-style:normal}.nl-premium-copy>p{max-width:500px;margin:24px 0 28px;color:#e7eef9;font-size:18px;line-height:1.65}.nl-premium-ctas{display:flex;align-items:center;gap:24px}.nl-premium-ctas .btn{min-height:52px;padding:0 25px}.nl-hero-link{display:inline-flex;align-items:center;gap:8px;color:#fff;font-weight:800}.nl-premium-trust{display:flex;flex-wrap:wrap;gap:16px;margin-top:36px;color:#dbe7f8;font-size:12px;font-weight:750}.nl-premium-trust span{display:flex;align-items:center;gap:6px}.nl-premium-trust i{color:#ffc423;font-size:17px}.nl-search-dock{position:relative;z-index:4;width:calc(100% - 72px);margin:-40px auto 0;padding:22px 24px;background:rgba(255,255,255,.97);border:1px solid #dce5f2;border-radius:24px;box-shadow:0 18px 45px rgba(18,45,82,.14);backdrop-filter:blur(12px)}.nl-search-dock .grid{align-items:end}.nl-search-dock .form-row{margin:0}.nl-search-dock label{color:#38506e}.nl-search-dock select{height:52px;border-radius:15px;background:#f8faff}.nl-search-dock .btn{width:100%;height:52px;border-radius:15px}.nl-search-dock .location-note{display:block;margin-top:13px}.nl-how{padding:15px 0 50px}.nl-how-grid{display:grid;grid-template-columns:1.25fr repeat(3,1fr);gap:16px}.nl-how-intro{padding:28px 24px 20px 0}.nl-how-intro h2{margin:8px 0 14px;font-size:38px;line-height:1.02;letter-spacing:-.04em}.nl-how-intro p{color:#6b7d96;line-height:1.6}.nl-how article{position:relative;min-height:230px;padding:28px;border:1px solid #dce5f2;border-radius:26px;background:#fff;box-shadow:0 12px 32px rgba(24,53,88,.06)}.nl-how article>span{position:absolute;right:22px;top:20px;color:#b8c5d7;font-size:12px;font-weight:900}.nl-how article>i{display:grid;width:50px;height:50px;place-items:center;border-radius:16px;background:#fff1c4;color:#0b3473;font-size:26px}.nl-how article h3{margin:28px 0 10px;font-size:18px}.nl-how article p{margin:0;color:#6b7d96;font-size:14px;line-height:1.55}.nl-app-downloads{padding-top:45px!important}.nl-app-download-card{border-radius:28px!important;box-shadow:0 14px 38px rgba(18,45,82,.07)!important}.cart-link{display:grid!important;place-items:center!important;width:46px!important;height:46px!important;padding:0!important;background:#fff7d9!important;border:1px solid #f2c43f!important;border-radius:15px!important}.cart-icon-wrap{position:relative;display:grid;place-items:center}.nl-cart-svg{display:block;width:27px;height:27px;color:#09285a;overflow:visible}.nl-cart-svg path,.nl-cart-svg circle{fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.cart-badge{z-index:2}
@media(max-width:900px){.nl-premium-hero-image{min-height:600px;background-position:62% center}.nl-premium-hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,27,65,.98) 0%,rgba(5,27,65,.88) 48%,rgba(5,27,65,.18) 100%)}.nl-premium-copy{width:66%;padding-left:38px}.nl-how-grid{grid-template-columns:1fr 1fr}.nl-how-intro{grid-column:1/-1}.nl-search-dock{width:calc(100% - 30px)}}
@media(max-width:620px){.nl-premium-hero{padding-top:16px}.nl-premium-hero-image{min-height:610px;border-radius:26px;background-position:68% center}.nl-premium-hero-image:after{background:linear-gradient(180deg,rgba(5,27,65,.96) 0%,rgba(5,27,65,.86) 58%,rgba(5,27,65,.35) 100%)}.nl-premium-copy{width:auto;padding:42px 25px}.nl-premium-copy h1{font-size:45px}.nl-premium-copy>p{font-size:16px}.nl-premium-ctas{align-items:flex-start;flex-direction:column;gap:17px}.nl-premium-trust{gap:11px;flex-direction:column}.nl-search-dock{margin-top:-34px;padding:18px;width:calc(100% - 20px);border-radius:20px}.nl-search-dock .grid{grid-template-columns:1fr!important}.nl-how{padding-top:0}.nl-how-grid{grid-template-columns:1fr}.nl-how-intro{padding-right:0}.nl-how article{min-height:190px}.brand-text span{display:none}.nav-actions .btn span{display:none}}
.nl-how-icon{display:grid;width:50px;height:50px;place-items:center;border-radius:16px;background:linear-gradient(145deg,#fff4c9,#ffe59a);color:#0b3473;box-shadow:inset 0 0 0 1px rgba(255,190,24,.16)}.nl-how-icon svg{width:27px;height:27px;overflow:visible}.nl-how-icon path,.nl-how-icon circle{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}


/* SOURCE: light_v48.css */
/* Negocios Locales V47 - capa final clara y responsive.
   Se carga despues de los estilos historicos para neutralizar restos de tema oscuro
   sin obligar a reescribir 159 paginas. */
:root{color-scheme:light!important;--nl-bg:#f6f8fc;--nl-surface:#fff;--nl-surface-2:#f1f4f8;--nl-text:#10233f;--nl-muted:#526174;--nl-line:#dbe3ee;--bg:var(--nl-bg);--bg-soft:var(--nl-surface-2);--card:var(--nl-surface);--card-2:var(--nl-surface-2);--surface:var(--nl-surface);--text:var(--nl-text);--muted:var(--nl-muted);--muted-2:var(--nl-muted);--line:var(--nl-line)}
html,body{background:#f6f8fc!important;color:var(--nl-text)!important}
body{min-width:0!important}
body .app-shell{background:transparent!important;color:var(--nl-text)!important}
body .card,body .panel,body .panel-card,body .table-wrap,body .control-list,body .control-editor,body .guide-card,body .guide-hero,body .m20-card,body .v37-card,body .nl31-case,body .nl-mini-stat,body .notification-item,body .detail-list,body .detail-row,body .product-card,body .suggested-card,body .nl-store-card,body .nl-featured-product{background:#fff!important;color:var(--nl-text)!important;border-color:var(--nl-line)!important;box-shadow:0 12px 34px rgba(35,61,98,.07)!important}
body .panel-layout,body .panel-main,body .content,body main{background:transparent!important;color:var(--nl-text)!important}
body .prod-panel,body .prod-row,body .prod-card{background:#fff!important;color:var(--nl-text)!important;border-color:var(--nl-line)!important}
body .prod-row small,body .prod-card span{color:var(--nl-muted)!important}
body .nl-order-progress,body .nl-timeline-body,body .nl-order-step{background:#fff!important;color:var(--nl-text)!important;border-color:var(--nl-line)!important;box-shadow:0 10px 28px rgba(35,61,98,.06)!important}
body .nl-order-progress-top strong,body .nl-order-step strong,body .nl-timeline-head strong{color:var(--nl-text)!important}
body .nl-order-progress-top span,body .nl-order-step small,body .nl-timeline-head span,body .nl-timeline-body small,body .nl-timeline-body p{color:var(--nl-muted)!important}
body input,body select,body textarea{background:#fff!important;color:var(--nl-text)!important;border-color:#cfdbea!important}
body .btn:not(.btn-primary):not(.btn-danger){background:#fff!important;color:#173b70!important;border-color:#cfdbea!important}
body .table th{background:#eef3f9!important;color:#52647a!important}
body .table td,body .table tr{background:#fff!important;color:#203b62!important;border-color:#e4ebf3!important}
body [style*="background:linear-gradient(180deg,rgba(17,26,46"],body [style*="background:linear-gradient(180deg,rgba(13,20,36"],body [style*="background:rgba(255,255,255,.03)"],body [style*="background:rgba(255,255,255,.035)"],body [style*="background:rgba(255,255,255,.045)"]{background:#fff!important;color:var(--nl-text)!important;border-color:var(--nl-line)!important}
body .sidebar{background:#fff!important;border-color:var(--nl-line)!important}
body .sidebar-nav a{color:#405776!important}
body .sidebar-nav a:hover,body .sidebar-nav a.active{background:#fff2c7!important;color:#10264a!important}
@media(max-width:1000px){.panel-layout{display:block!important}.sidebar{position:relative!important;width:100%!important;max-width:none!important}.panel-main{width:100%!important;max-width:none!important}.grid,.grid-2,.grid-3{grid-template-columns:1fr!important}.table-wrap{overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}.card,.panel-card{max-width:100%!important}}
@media(max-width:600px){.panel-main{padding-left:14px!important;padding-right:14px!important}.panel-header{gap:12px!important;flex-wrap:wrap!important}.panel-header h1{font-size:28px!important}.btn{max-width:100%!important}.form-row{min-width:0!important}.table{min-width:640px}.prod-grid{grid-template-columns:1fr!important}.prod-layout{grid-template-columns:1fr!important}.banner-admin-grid{grid-template-columns:1fr!important}.banner-item{grid-template-columns:1fr!important}.banner-item img{width:100%!important;height:auto!important;aspect-ratio:350/170!important}}

/* V48: lectura y modales premium de plataforma */
.nl-platform-modal{background:rgba(15,31,54,.38)!important;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:18px!important}
.nl-platform-dialog{width:min(520px,100%)!important;padding:28px!important;border-radius:28px!important;background:#ffffff!important;color:#10233f!important;border:1px solid #d9e2ee!important;box-shadow:0 28px 80px rgba(15,35,65,.24)!important}
.nl-platform-dialog>i{width:58px!important;height:58px!important;border-radius:18px!important;background:#fff4c9!important;color:#0d376d!important;font-size:29px!important;box-shadow:0 8px 22px rgba(18,51,107,.10)!important}
.nl-platform-dialog h2{color:#10233f!important;font-size:24px!important;line-height:1.2!important;margin:18px 0 8px!important}
.nl-platform-dialog p{color:#52647a!important;font-size:15px!important;line-height:1.65!important;margin:0!important}
.nl-platform-dialog form{margin-top:22px!important}
.nl-platform-dialog button{min-height:48px!important;border-radius:14px!important;font-weight:800!important;box-shadow:0 8px 20px rgba(255,184,0,.22)!important}
.nl-message-composer{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);gap:18px;align-items:start}
.nl-message-preview{position:sticky;top:18px;padding:18px;border:1px solid #d9e2ee;border-radius:24px;background:linear-gradient(180deg,#f8fbff,#fff);box-shadow:0 16px 38px rgba(35,61,98,.08)}
.nl-message-preview-kicker{font-size:11px;text-transform:uppercase;letter-spacing:.09em;font-weight:900;color:#7a8ba1;margin-bottom:10px}
.nl-message-preview-phone{border:7px solid #18263c;border-radius:30px;background:#f7f9fc;padding:18px 14px;max-width:330px;margin:auto;box-shadow:0 18px 45px rgba(12,31,58,.18)}
.nl-message-preview-modal{background:#fff;border:1px solid #e0e7ef;border-radius:22px;padding:20px;box-shadow:0 16px 35px rgba(18,43,76,.15)}
.nl-message-preview-icon{width:50px;height:50px;border-radius:16px;background:#fff4c9;color:#0d376d;display:grid;place-items:center;font-size:24px}
.nl-message-preview-title{margin-top:14px;font-size:20px;font-weight:900;color:#10233f;line-height:1.2}
.nl-message-preview-body{margin-top:8px;font-size:14px;color:#52647a;line-height:1.55;white-space:pre-wrap;min-height:44px}
.nl-message-preview-button{margin-top:17px;height:44px;border-radius:13px;background:#ffb800;color:#082b60;display:grid;place-items:center;font-weight:900}
@media(max-width:850px){.nl-message-composer{grid-template-columns:1fr}.nl-message-preview{position:relative;top:auto}}
/* El progreso de pedidos heredaba el tema oscuro histórico. */
.nl-order-progress{background:linear-gradient(135deg,#ffffff,#f4f8fd)!important;color:#10233f!important;border:1px solid #d9e2ee!important;box-shadow:0 16px 40px rgba(35,61,98,.08)!important}
.nl-order-progress-top strong{color:#10233f!important}.nl-order-progress-top span{color:#64748b!important}.nl-order-bar{background:#e9eff6!important;border-color:#dbe3ee!important}.nl-order-step{background:#ffffff!important;border:1px solid #d9e2ee!important;color:#10233f!important}.nl-order-step span{background:#edf2f7!important;color:#51647d!important}.nl-order-step strong{color:#17375f!important}.nl-order-step small{color:#718198!important}.nl-order-step.is-done{background:#f0fbf7!important;border-color:#9be1c9!important}.nl-order-step.is-done span{background:#21b889!important;color:#fff!important}.nl-timeline-body,.nl-order-product,.nl-mini-stat{background:#fff!important;border-color:#d9e2ee!important}.nl-timeline-head strong,.nl-order-product strong,.nl-mini-stat strong{color:#17375f!important}.nl-timeline-head span,.nl-timeline-body small,.nl-timeline-body p,.nl-order-product span,.nl-mini-stat span{color:#718198!important}.nl-order-total{background:#f0fbf7!important;border-color:#b8e9d7!important}.nl-order-total strong{color:#008c6b!important}.nl-order-note{background:#eff8ff!important;border-color:#cce7fa!important;color:#315b7d!important}


/* SOURCE: public_polish_v52.css */
/* Negocios Locales V52 — cierre visual de las páginas públicas.
   Se carga AL FINAL de todas las hojas históricas.
   Objetivo: que ninguna superficie oscura heredada, ningún color fuera de paleta
   y ningún recorte de imagen se vea en las páginas que ve el cliente final.
   Paleta oficial:
     azul marino #102f67 / #12336b   texto #10233f
     amarillo marca #ffd02a -> #ffb800 (texto #10233f)
     azul de apoyo #0b5ec7 / #eef5ff
     superficies #ffffff, #f7f9fc, #f6f8fc  ·  líneas #dbe3ee / #e2e9f2
*/

/* ------------------------------------------------------------------ *
 * 1. Tokens de página pública
 * ------------------------------------------------------------------ */
body {
    --nlb-navy: #102f67;
    --nlb-navy-2: #12336b;
    --nlb-text: #10233f;
    --nlb-muted: #5b6b81;
    --nlb-soft: #f7f9fc;
    --nlb-page: #f6f8fc;
    --nlb-line: #dbe3ee;
    --nlb-line-2: #e2e9f2;
    --nlb-blue: #0b5ec7;
    --nlb-blue-soft: #eef5ff;
    --nlb-yellow: #ffb800;
    --nlb-yellow-2: #ffd02a;
    --nlb-yellow-soft: #fff8dc;
}

/* ------------------------------------------------------------------ *
 * 2. Barra superior, marca y carrito
 * ------------------------------------------------------------------ */
.topbar {
    background: rgba(255, 255, 255, .96) !important;
    border-bottom: 1px solid var(--nlb-line) !important;
    box-shadow: 0 6px 24px rgba(20, 45, 80, .06) !important;
}
.brand-mark {
    background: var(--nlb-navy) !important;
    color: #ffd12f !important;
    border-radius: 14px !important;
    box-shadow: 0 10px 24px rgba(16, 47, 103, .18) !important;
    font-size: 17px !important;
    letter-spacing: .02em;
}
.brand-text strong {
    color: var(--nlb-text) !important;
    font-weight: 800;
}
.brand-text span {
    color: var(--nlb-muted) !important;
}
.cart-link {
    background: #fff !important;
    border: 1px solid var(--nlb-line) !important;
    color: var(--nlb-navy-2) !important;
    border-radius: 16px !important;
    box-shadow: 0 8px 22px rgba(20, 45, 80, .07) !important;
}
.cart-link:hover {
    background: var(--nlb-blue-soft) !important;
    border-color: #9fc5ee !important;
}
.cart-icon-wrap .ph {
    color: var(--nlb-navy-2) !important;
}
/* El contador del carrito era verde brillante: se alinea con el amarillo de marca. */
.cart-badge {
    background: var(--nlb-yellow) !important;
    color: var(--nlb-text) !important;
    border: 2px solid #fff !important;
    box-shadow: 0 6px 16px rgba(245, 183, 0, .30) !important;
    font-weight: 900 !important;
}
/* El botón "Volver al negocio" era un enlace suelto: ahora es un botón real. */
.topbar .nav-actions .btn {
    background: #fff !important;
    color: var(--nlb-navy-2) !important;
    border: 1px solid var(--nlb-line) !important;
    font-weight: 700;
}
.topbar .nav-actions .btn:hover {
    background: var(--nlb-blue-soft) !important;
    border-color: #9fc5ee !important;
}

/* ------------------------------------------------------------------ *
 * 3. Detalle de producto: contenedor de imagen
 *    El marco debe recortar siempre la foto con esquinas suaves y sin
 *    que la imagen toque los bordes del contenedor.
 * ------------------------------------------------------------------ */
.product-detail-layout {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 22px !important;
    align-items: start !important;
}
.product-detail-media {
    padding: 0 !important;
    overflow: hidden !important;
    border-radius: 26px !important;
    background: #fff !important;
    border: 1px solid var(--nlb-line) !important;
    box-shadow: 0 16px 40px rgba(20, 45, 80, .08) !important;
}
.product-detail-image {
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 1 / 1;
    border: 0 !important;
    border-radius: 0 !important;
    background: linear-gradient(180deg, #fbfdff, #eef3f9) !important;
    display: grid !important;
    place-items: center !important;
    overflow: hidden !important;
    box-shadow: none !important;
}
.product-detail-image img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
    padding: 22px !important;
    margin: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    mix-blend-mode: normal !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
}
.product-detail-image .product-img-placeholder {
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
    background: linear-gradient(180deg, #fbfdff, #eef3f9) !important;
    color: #93a4b8 !important;
}
.product-detail-image .product-img-placeholder .ph {
    font-size: 76px;
}
/* Nota interna de desarrollo: nunca visible al cliente. */
.product-detail-media-note {
    display: none !important;
}

/* ------------------------------------------------------------------ *
 * 4. Detalle de producto: información
 * ------------------------------------------------------------------ */
.product-detail-info.card-pad {
    gap: 18px !important;
}
.product-detail-info h1 {
    color: var(--nlb-text) !important;
    font-weight: 850;
    letter-spacing: -.035em !important;
}
.product-detail-desc {
    color: #43536b !important;
    font-size: 16.5px !important;
    line-height: 1.7 !important;
}
.product-detail-kicker .badge {
    font-weight: 800;
    letter-spacing: .01em;
}
/* El precio se mostraba en verde menta con muy poco contraste. */
.product-detail-price {
    background: linear-gradient(135deg, #fff8dc, #fff3c2) !important;
    border: 1px solid #f0d97e !important;
    color: #7a5300 !important;
    box-shadow: 0 10px 26px rgba(240, 217, 126, .30) !important;
    border-radius: 18px !important;
    font-weight: 900 !important;
    letter-spacing: -.02em;
}
/* Tarjetas de datos: eran blanco sobre blanco y parecían texto de relleno. */
.product-detail-facts {
    gap: 12px !important;
}
.product-detail-facts > div {
    background: var(--nlb-soft) !important;
    border: 1px solid var(--nlb-line-2) !important;
    box-shadow: none !important;
    border-radius: 16px !important;
    min-height: 82px !important;
    padding: 14px !important;
}
.product-detail-facts span {
    color: #71829a !important;
    opacity: 1 !important;
    font-size: 10.5px !important;
    font-weight: 800 !important;
    letter-spacing: .09em !important;
}
.product-detail-facts strong {
    color: var(--nlb-text) !important;
    font-size: 15.5px !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
}
.product-detail-locations {
    background: var(--nlb-soft) !important;
    border: 1px solid var(--nlb-line-2) !important;
    border-radius: 20px !important;
}
.product-detail-locations h3 {
    color: var(--nlb-text) !important;
}
/* Nota de tasa: información de soporte, nunca un texto técnico crudo. */
.nl-order-note {
    background: var(--nlb-blue-soft) !important;
    border: 1px solid #cfe1fa !important;
    color: #17457c !important;
    border-radius: 14px !important;
    font-size: 13.5px !important;
    line-height: 1.5;
}

/* ------------------------------------------------------------------ *
 * 5. Jerarquía de botones de la ficha
 * ------------------------------------------------------------------ */
.product-detail-actions {
    gap: 10px !important;
    align-items: center;
}
.product-detail-actions .btn {
    min-height: 48px !important;
    font-weight: 800 !important;
    padding: 0 18px !important;
}
.product-detail-actions .btn-primary {
    flex: 1 1 220px;
    background: linear-gradient(135deg, var(--nlb-yellow-2), var(--nlb-yellow)) !important;
    color: var(--nlb-text) !important;
    border-color: transparent !important;
    box-shadow: 0 12px 26px rgba(245, 183, 0, .22) !important;
}
.product-detail-actions .btn-secondary {
    background: var(--nlb-blue-soft) !important;
    color: #0b57b7 !important;
    border: 1px solid #cfe1fa !important;
}
.product-detail-actions > p {
    flex: 1 1 100%;
    margin: 0;
    color: #9a6a00;
    font-size: 13.5px;
    font-weight: 700;
}
.product-detail-actions > p:empty {
    display: none;
}

/* ------------------------------------------------------------------ *
 * 6. Bloque de compartir
 * ------------------------------------------------------------------ */
.product-share-box {
    margin-top: 4px !important;
    padding: 18px !important;
    border-radius: 22px !important;
    border: 1px solid #dbe7f6 !important;
    background: linear-gradient(135deg, #f4f8ff, #ffffff) !important;
    box-shadow: none !important;
    display: grid !important;
    gap: 14px !important;
}
.product-share-box strong {
    display: block !important;
    color: var(--nlb-text) !important;
    font-size: 15.5px !important;
    font-weight: 800 !important;
}
.product-share-box span {
    display: block !important;
    margin-top: 5px !important;
    color: var(--nlb-muted) !important;
    font-size: 13.5px !important;
    line-height: 1.6 !important;
    max-width: 62ch;
}
.product-share-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 9px !important;
}
.share-btn {
    min-height: 42px !important;
    padding: 0 15px !important;
    border: 1px solid #cfdbea !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: #173b70 !important;
    font-weight: 750 !important;
    font-size: 13px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: background .18s ease, border-color .18s ease, color .18s ease;
}
.share-btn:hover {
    transform: none !important;
    background: var(--nlb-blue-soft) !important;
    border-color: #9fc5ee !important;
    color: var(--nlb-blue) !important;
}
.share-btn .ph {
    font-size: 17px;
}
/* El campo con la URL es solo un portapapeles interno: jamás visible. */
.share-input,
.sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    border: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* ------------------------------------------------------------------ *
 * 7. Franja del negocio y sugeridos
 * ------------------------------------------------------------------ */
.product-business-strip {
    background: #fff !important;
    border: 1px solid var(--nlb-line) !important;
    border-radius: 26px !important;
    box-shadow: 0 14px 36px rgba(20, 45, 80, .07) !important;
}
.product-business-logo {
    background: var(--nlb-soft) !important;
    border: 1px solid var(--nlb-line-2) !important;
    border-radius: 20px !important;
}
.product-business-logo img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    padding: 8px !important;
}
.product-business-main h2 {
    color: var(--nlb-text) !important;
    font-weight: 820;
}
.product-business-main p {
    color: var(--nlb-muted) !important;
}
.suggested-card {
    overflow: hidden !important;
    border-radius: 24px !important;
    background: #fff !important;
    border: 1px solid var(--nlb-line) !important;
    box-shadow: 0 12px 32px rgba(20, 45, 80, .07) !important;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.suggested-card:hover {
    transform: translateY(-2px);
    border-color: #c9dcf3 !important;
    box-shadow: 0 18px 42px rgba(20, 45, 80, .10) !important;
}
.suggested-img {
    height: 176px !important;
    background: linear-gradient(180deg, #fbfdff, #eef3f9) !important;
    border-bottom: 1px solid var(--nlb-line-2) !important;
    overflow: hidden !important;
}
.suggested-img img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    padding: 14px !important;
    mix-blend-mode: normal !important;
}
.suggested-body > span {
    color: #7b8ca1 !important;
    font-weight: 800;
    font-size: 11.5px;
    text-transform: uppercase;
    letter-spacing: .05em;
}
.suggested-body h3 {
    color: var(--nlb-text) !important;
    font-size: 16.5px !important;
    font-weight: 800;
}
.suggested-body strong {
    color: #7a5300 !important;
    font-weight: 900 !important;
    font-size: 16px;
}
.suggested-body em {
    color: var(--nlb-muted) !important;
    font-size: 12.5px !important;
}
.suggested-actions .btn {
    min-height: 40px;
}

/* ------------------------------------------------------------------ *
 * 8. Página pública del negocio
 * ------------------------------------------------------------------ */
.hero-card {
    background: linear-gradient(135deg, #eef5ff, #fff9dc) !important;
    border: 1px solid #dce7f4 !important;
    color: var(--nlb-text) !important;
    box-shadow: 0 20px 50px rgba(20, 45, 80, .10) !important;
}
.hero-card h1 {
    color: var(--nlb-text) !important;
    font-weight: 850;
    letter-spacing: -.035em;
}
.hero-card p {
    color: #43536b !important;
    line-height: 1.65;
}
.product-card {
    overflow: hidden !important;
    border-radius: 26px !important;
    background: #fff !important;
    border: 1px solid var(--nlb-line) !important;
    box-shadow: 0 14px 36px rgba(20, 45, 80, .07) !important;
}
.product-img {
    height: 200px;
    background: linear-gradient(180deg, #fbfdff, #eef3f9) !important;
    overflow: hidden;
}
.product-img img {
    width: 100%;
    height: 100%;
    object-fit: contain !important;
    padding: 16px;
    mix-blend-mode: normal !important;
}
.product-info .price,
.price-row-v9 .price,
.price {
    color: #7a5300 !important;
    font-weight: 900 !important;
}

/* ------------------------------------------------------------------ *
 * 9. Badges y estados con contraste correcto sobre fondo claro
 * ------------------------------------------------------------------ */
.badge {
    border-width: 1px;
    font-weight: 800;
}
.badge-primary,
.badge-info {
    background: var(--nlb-blue-soft) !important;
    color: #0b57b7 !important;
    border: 1px solid #cfe1fa !important;
}
.badge-success {
    background: #edf9f1 !important;
    color: #126b3c !important;
    border: 1px solid #b9e2c6 !important;
}
.badge-warning {
    background: var(--nlb-yellow-soft) !important;
    color: #754d00 !important;
    border: 1px solid #eed48a !important;
}
.badge-danger {
    background: #fff1f2 !important;
    color: #9f1239 !important;
    border: 1px solid #fecdd3 !important;
}
.badge-muted {
    background: var(--nlb-soft) !important;
    color: #4d5f77 !important;
    border: 1px solid var(--nlb-line-2) !important;
}

/* ------------------------------------------------------------------ *
 * 10. Carrito flotante y notificaciones
 * ------------------------------------------------------------------ */
.floating-cart-link {
    background: var(--nlb-navy) !important;
    color: #fff !important;
    border: 1px solid var(--nlb-navy) !important;
    border-radius: 999px !important;
    box-shadow: 0 16px 36px rgba(16, 47, 103, .28) !important;
}
.floating-cart-link strong {
    background: var(--nlb-yellow) !important;
    color: var(--nlb-text) !important;
}
.floating-cart-link .ph {
    color: #ffd12f !important;
}

/* ------------------------------------------------------------------ *
 * 11. Responsive: nada se corta ni se sale del contenedor
 * ------------------------------------------------------------------ */
@media (max-width: 1000px) {
    .product-detail-layout {
        grid-template-columns: 1fr !important;
    }
}
@media (max-width: 720px) {
    .product-detail-image {
        aspect-ratio: 4 / 3;
    }
    .product-detail-image img {
        padding: 16px !important;
    }
    .product-detail-info h1 {
        font-size: clamp(26px, 8vw, 34px) !important;
    }
    .product-detail-facts {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
    }
    .product-detail-facts > div {
        min-height: 74px !important;
        padding: 12px !important;
    }
    .product-detail-actions {
        display: grid !important;
        grid-template-columns: 1fr 1fr;
    }
    .product-detail-actions .btn {
        width: 100%;
        padding: 0 12px !important;
    }
    .product-detail-actions .btn-primary {
        grid-column: 1 / -1;
        flex: none;
    }
    .product-detail-actions > p {
        grid-column: 1 / -1;
    }
    .product-share-actions {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
    }
    .share-btn {
        justify-content: center !important;
    }
    .product-business-strip {
        flex-direction: column !important;
        align-items: stretch !important;
    }
    .suggested-grid {
        grid-template-columns: 1fr !important;
    }
    .brand-text span {
        display: none;
    }
}
@media (max-width: 420px) {
    .product-detail-facts {
        grid-template-columns: 1fr !important;
    }
    .cart-link {
        width: 42px !important;
        height: 42px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .suggested-card,
    .share-btn,
    .cart-link {
        transition: none !important;
    }
    .suggested-card:hover {
        transform: none !important;
    }
}


/* SOURCE: legal-accessibility.css */
/* Neutral surfaces 60%, navy 30%, gold accent 10%; legible controls. */
:focus-visible{outline:3px solid #174ea6!important;outline-offset:3px!important;box-shadow:0 0 0 5px #fff!important}
.nl-legal-page{max-width:900px;margin:auto;background:#fff;color:#102b59;line-height:1.7;overflow-wrap:anywhere}
.nl-legal-page h2{margin-top:1.8em;font-size:1.25rem}
.nl-legal-page a,.nl-legal-footer a{color:#173e79;text-decoration:underline;text-underline-offset:3px}
.nl-legal-footer{margin:24px auto;padding:20px;max-width:1200px;background:#f3f5f7;color:#102b59;border-top:3px solid #ffb900;line-height:1.6}
.nl-legal-footer nav{display:flex;gap:10px 24px;flex-wrap:wrap}
.nl-legal-footer a{display:inline-block;padding:10px 0;min-height:44px}
.nl-skip-link{position:fixed;top:-100px;left:12px;z-index:100000;padding:12px;background:#fff;color:#102b59}
.nl-skip-link:focus{top:12px}
.nl-consent{display:block;padding:14px;background:#f3f5f7;color:#102b59;line-height:1.6}
.nl-consent input{width:22px;height:22px;vertical-align:middle;margin-right:10px}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Dark artwork needs a light surface even in administrative headers. */
body .brand-mark,body .nl-mobile-logo{background:#fff!important;color:#102b59!important;border:1px solid #d8e0eb;box-shadow:none!important}
body .brand-mark img{background:#fff!important;object-fit:contain!important;padding:3px;box-sizing:border-box}
.nl-share{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:16px 0;color:#102b59}
.nl-share a{color:#173e79;text-decoration:underline;padding:12px 4px;min-height:44px}
.nl-share-status{flex-basis:100%}

.nl-premium-copy{background:rgba(16,43,89,.92);border-radius:20px;padding:24px!important}
.nl-legal-page p{color:#526174}

.card label,.form label,.auth-card label,.login-card label{color:#526174!important}
.card .input,.form .input{color:#102b59!important;background:#fff!important}
.card .input::placeholder,.form .input::placeholder{color:#526174;opacity:1}


/* SOURCE: promotions.css */
.nl-promotions{padding-top:24px;padding-bottom:24px}.nl-promotion-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:20px;border-radius:20px}.nl-promotion-slide{flex:0 0 100%;scroll-snap-align:start;min-width:0;overflow:hidden;border:1px solid var(--border,#dce2ec);border-radius:20px;background:var(--card,#fff)}.nl-promotion-slide img{display:block;width:100%;height:auto;aspect-ratio:1400/680;object-fit:contain;background:#fff}.nl-promotion-caption{padding:16px 20px}.nl-promotion-caption h3{margin-top:0}.nl-promotion-controls{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:12px}.nl-promotion-track:focus-visible{outline:3px solid #1768c4;outline-offset:3px}
/* Keep surface and foreground paired; never inherit a historical dark card. */
body .nl-promotion-slide,body .nl-promotion-caption{background:var(--nl-surface,#fff);color:var(--nl-text,#10233f)}
body .nl-promotion-caption h3{color:var(--nl-text,#10233f)}
body .nl-promotion-caption p{color:var(--nl-muted,#526174)}
body .nl-promotion-caption .btn-primary{background:#ffb800;color:#10233f;border-color:#b38000}
body .nl-promotion-controls{color:var(--nl-text,#10233f)}


/* SOURCE: portfolio-premium.css */
/* Portfolio visual identity. Keep existing layouts, statuses and interactions.
   Paired tokens override historical colors, not component display/position. */
:root,body{--nl-bg:#f6f5f1;--nl-surface:#fffefa;--nl-surface-2:#eeede6;--nl-text:#10233f;--nl-muted:#536071;--nl-line:#d8d8d0;--nl-primary:#e8af3b;--nl-primary-2:#f1c76b;--premium-gold:#976600;--bg:var(--nl-bg);--bg-soft:var(--nl-surface-2);--card:var(--nl-surface);--card-2:var(--nl-surface-2);--text:var(--nl-text);--muted:var(--nl-muted);--muted-2:var(--nl-muted);--line:var(--nl-line);--primary:#e8af3b;--primary-dark:#c58d20;--nlb-page:var(--nl-bg);--nlb-soft:var(--nl-surface-2);--nlb-text:var(--nl-text);--nlb-muted:var(--nl-muted);--nlb-line:var(--nl-line);--nlb-line-2:var(--nl-line);--nlb-yellow:#e8af3b;--nlb-yellow-2:#f1c76b;--nlb-navy:#102c49;--nlb-navy-2:#102c49}
:root[data-nl-theme=dark],:root[data-nl-theme=dark] body{--nl-bg:#0e1b2b;--nl-surface:#17283d;--nl-surface-2:#21374d;--nl-text:#f7f4ed;--nl-muted:#c0cada;--nl-line:#425570;--premium-gold:#e8b950;--nlb-navy:#f7f4ed;--nlb-navy-2:#f7f4ed}
:root[data-nl-theme=dark]{color-scheme:dark!important}
html,body,body .nl-home-v27{background:var(--nl-bg)!important;color:var(--nl-text)!important}
body{font-family:system-ui,-apple-system,"Segoe UI",sans-serif!important}
body h1,body h2,body h3,body .brand-text strong{font-family:Georgia,"Times New Roman",serif!important;color:var(--nl-text);letter-spacing:-.025em;font-weight:500}
body .topbar,body .sidebar{background:var(--nl-surface)!important;border-color:var(--nl-line)!important;box-shadow:none!important}
body .brand-text strong,body .sidebar-nav a{color:var(--nl-text)!important}
body .brand-text span{color:var(--nl-muted)!important}
body .brand-mark,body .brand-mark img{background:#fff!important}
body .card,body .panel,body .panel-card,body .table-wrap,body .control-list,body .control-editor,body .guide-card,body .guide-hero,body .m20-card,body .v37-card,body .nl31-case,body .nl-mini-stat,body .notification-item,body .detail-list,body .detail-row,body .product-card,body .suggested-card,body .nl-store-card,body .nl-featured-product,body .nl-app-download-card,body .nl-how article,body .nl-search-dock,body .prod-panel,body .prod-row,body .prod-card,body .nl-platform-dialog,body .nl-order-progress,body .nl-order-step,body .nl-timeline-body,body .nl-promotion-slide,body .nl-legal-page,body .nl-consent{background:var(--nl-surface)!important;color:var(--nl-text)!important;border-color:var(--nl-line)!important;box-shadow:0 4px 16px #10233f08!important;border-radius:12px!important}
body .nl-home-v27 .nl-store-card p,body .nl-home-v27 .nl-how p,body .nl-app-download-card p,body .nl-legal-page p,body .nl-platform-dialog p,body .nl-timeline-body p,body .nl-order-step small,body .prod-row small,body .prod-card span,body .card label,body .form label,body .auth-card label,body .login-card label{color:var(--nl-muted)!important}
body input:not([type=checkbox]):not([type=radio]),body select,body textarea,body .card .input,body .form .input{background:var(--nl-surface)!important;color:var(--nl-text)!important;border-color:var(--nl-line)!important;border-radius:8px!important}
body input::placeholder,body textarea::placeholder{color:var(--nl-muted)!important;opacity:1}
body .btn:not(.btn-primary):not(.btn-danger),body .cart-link{background:var(--nl-surface)!important;color:var(--nl-text)!important;border-color:var(--nl-line)!important;border-radius:8px!important;box-shadow:none!important}
body .btn-primary{background:#e8af3b!important;color:#10233f!important;border-color:#a87916!important;border-radius:8px!important;box-shadow:none!important}
body .btn-primary:hover{background:#f1c76b!important}
body .nl-cart-svg{color:var(--nl-text)!important}
body .table th{background:var(--nl-surface-2)!important;color:var(--nl-text)!important}
body .table td,body .table tr{background:var(--nl-surface)!important;color:var(--nl-text)!important;border-color:var(--nl-line)!important}
body .nl-legal-footer{background:var(--nl-surface-2)!important;color:var(--nl-text)!important;border-color:#e8af3b!important}
body .nl-legal-footer p,body .nl-legal-footer a,body .nl-legal-page a,body .nl-share,body .nl-share a{color:var(--nl-text)!important}
body .nl-premium-hero-image{background-image:url('../img/landing-negocios-locales-premium.webp');border-radius:16px;box-shadow:none}
body .nl-premium-copy{background:#102c49!important;border-radius:10px!important}
body .nl-premium-copy h1,body .nl-premium-copy p,body .nl-premium-copy .nl-hero-link,body .nl-premium-trust{color:#fffefa!important}
body .nl-premium-copy h1 em,body .nl-premium-kicker{color:#efc365!important}
body .nl-premium-copy h1{line-height:1.06;font-weight:400}
body .nl-promotion-caption{background:var(--nl-surface)!important;color:var(--nl-text)!important}
body .nl-promotion-caption h3{color:var(--nl-text)!important}
body .nl-promotion-caption p{color:var(--nl-muted)!important}
body .nl-how article>span{color:var(--nl-muted)}
/* Navigation and appearance share the header; no separate top strip. */
body .nl-header-with-menu{position:relative;display:flex;align-items:center;gap:12px}
.nl-header-with-menu>.brand{margin-right:auto;min-width:0}
.nl-site-menu[hidden]{display:none!important}
.nl-site-menu{position:relative;flex:0 0 auto;z-index:100}
.nl-site-menu summary{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 12px;border:1px solid var(--nl-line);border-radius:8px;background:var(--nl-surface);color:var(--nl-text);font:600 14px/1.2 system-ui,sans-serif;cursor:pointer;list-style:none}
.nl-site-menu summary::-webkit-details-marker{display:none}
.nl-site-menu summary svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.nl-site-menu[open] summary{background:var(--nl-surface-2)}
.nl-site-menu-panel{position:absolute;right:0;top:calc(100% + 10px);width:300px;max-width:calc(100vw - 32px);padding:12px;border:1px solid var(--nl-line);border-radius:12px;background:var(--nl-surface);color:var(--nl-text);box-shadow:0 12px 28px #0002}
.nl-site-menu:not([open])>.nl-site-menu-panel{display:none}
.nl-site-menu nav{display:grid;gap:4px}
body .nl-site-menu nav a,body .nl-site-menu .nl-menu-page-actions>.btn{display:flex;align-items:center;justify-content:flex-start;gap:10px;width:100%;min-height:44px;padding:10px 12px;margin:0;background:transparent!important;color:var(--nl-text)!important;border:0!important;border-radius:6px;text-decoration:none;font:500 14px/1.4 system-ui,sans-serif;white-space:normal}
body .nl-site-menu nav a:hover{background:var(--nl-surface-2)!important}
body .nl-site-menu .nl-menu-page-actions span{display:inline!important}
.nl-menu-page-actions:empty{display:none}
.nl-menu-appearance{margin-top:10px;padding:14px 12px 4px;border-top:1px solid var(--nl-line)}
body .nl-menu-appearance label{display:flex;align-items:center;gap:10px;color:var(--nl-text)!important;font-size:14px}
.nl-menu-appearance select{width:100%;min-height:44px;margin-top:10px}
@media(max-width:680px){body .nl-header-with-menu{flex-wrap:nowrap;gap:8px;padding-top:12px;padding-bottom:12px}body .nl-header-with-menu .brand-text strong{font-size:16px}body .nl-header-with-menu .brand-text span{display:none}body .nl-header-with-menu .brand-mark{width:36px;height:36px;flex:0 0 36px}body .nl-header-with-menu>.nav-actions{gap:0;flex:0 0 auto}body .nl-header-with-menu>.nav-actions[hidden]{display:none}body .nl-header-with-menu .cart-link{width:44px;height:44px;min-width:44px;padding:10px}.nl-site-menu{position:static}.nl-site-menu-panel{right:0;left:0;width:auto;max-width:none;top:100%}.nl-site-menu summary{padding:10px;gap:6px}}
@media(max-width:360px){body .nl-header-with-menu .brand-text strong{font-size:14px}body .nl-header-with-menu .brand{gap:6px}.nl-site-menu summary{padding:10px 8px}}
:root[data-nl-theme=dark] body :focus-visible{outline-color:#efc365!important;box-shadow:0 0 0 5px #0e1b2b!important}
@media(max-width:620px){body .topbar-inner{gap:12px;flex-wrap:wrap}body .brand-text strong{font-size:18px}body .nl-premium-copy h1{font-size:42px}body .nl-premium-hero-image{border-radius:12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
/* Paired colors for catalog cards and search controls in both themes. */
body .cart-badge{background:#e8af3b!important;color:#10233f!important}
body .nl-search-dock label,body .nl-how h3,body .nl-store-heading h3,body .nl-featured-head strong,body .nl-featured-info strong,body .nl-featured-product b,body .nl-store-action,body .nl-store-action span{color:var(--nl-text)!important}
body .nl-store-heading>span,body .nl-store-description,body .nl-store-status>span:not(.nl-open-dot):not(.nl-featured):not(.nl-distance-note),body .nl-featured-head>span,body .nl-featured-info small{color:var(--nl-muted)!important}
body .nl-store-category{background:#10233f!important;color:#fffefa!important}
body .nl-featured,body .nl-distance-note{background:#f1c76b!important;color:#10233f!important}
body .nl-store-action,body .nl-featured-products{background:var(--nl-surface-2)!important;border-color:var(--nl-line)!important}
body .nl-store-content{background:var(--nl-surface)!important;color:var(--nl-text)!important}
body .nl-app-download-card h3{color:var(--nl-text)!important}
body .nl-section-kicker{color:var(--premium-gold)!important}
body .nl-results-count{background:var(--nl-surface-2)!important;color:var(--nl-text)!important;border-color:var(--nl-line)!important}
body .topbar .nav-actions .btn,body .product-card .btn{background:var(--nl-surface)!important;color:var(--nl-text)!important}
body .badge-muted{background:var(--nl-surface-2)!important;color:var(--nl-text)!important}
body .price,body .product-detail-price,body .suggested-actions strong{background:#f1c76b!important;color:#10233f!important}
body .product-detail-facts>div{background:var(--nl-surface-2)!important;color:var(--nl-text)!important}
body .product-detail-facts span,body .suggested-body>span,body .product-detail-desc,body .business-hero p{color:var(--nl-muted)!important}
body .floating-cart-link{background:#e8af3b!important;color:#10233f!important}
body .floating-cart-link strong{background:#10233f!important;color:#fffefa!important}
body .suggested-body>strong{color:var(--premium-gold)!important}
body .hero-card{background:var(--nl-surface)!important;color:var(--nl-text)!important;border-color:var(--nl-line)!important}
body .hero-card p{color:var(--nl-muted)!important}
body .alert-warning{background:#fff1c7!important;color:#594000!important;border-color:#a87916!important}
body .nl-legal-page a.btn-primary{color:#10233f!important}
/* Admin legacy selectors need equal specificity; preserve their layout rules. */
body.nl-admin{--text:var(--nl-text);--muted:var(--nl-muted);--line:var(--nl-line);--surface:var(--nl-surface)}
body.nl-admin,body.nl-admin .app-shell,body.nl-admin .panel-layout,body.nl-admin .panel-main{background:var(--nl-bg)!important;color:var(--nl-text)!important}
body.nl-admin .sidebar,body.nl-admin .card,body.nl-admin .table-wrap,body.nl-admin .control-list,body.nl-admin .control-editor,body.nl-admin .guide-card,body.nl-admin .guide-hero,body.nl-admin .m20-card,body.nl-admin .v37-card,body.nl-admin .nl31-case,body.nl-admin .nl-timeline-body,body.nl-admin .nl-mini-stat,body.nl-admin .nl-bulk-bar{background:var(--nl-surface)!important;color:var(--nl-text)!important;border-color:var(--nl-line)!important;box-shadow:none!important}
body.nl-admin .sidebar-nav a,body.nl-admin h1,body.nl-admin h2,body.nl-admin h3,body.nl-admin strong,body.nl-admin .nl-row-primary{color:var(--nl-text)}
body.nl-admin p,body.nl-admin small,body.nl-admin label,body.nl-admin .nl-row-secondary,body.nl-admin .nl-admin-group summary{color:var(--nl-muted)}
body.nl-admin .sidebar-nav a{color:var(--nl-text)!important}
body.nl-admin .sidebar-nav a:hover,body.nl-admin .sidebar-nav a.active{background:#f1c76b!important;color:#10233f!important}
body.nl-admin .table,body.nl-admin .table tbody,body.nl-admin .table tr,body.nl-admin .table td{background:var(--nl-surface)!important;color:var(--nl-text)!important;border-color:var(--nl-line)!important}
body.nl-admin .table thead,body.nl-admin .table th,body.nl-admin .table tbody tr:hover td{background:var(--nl-surface-2)!important;color:var(--nl-text)!important}
body.nl-admin input,body.nl-admin select,body.nl-admin textarea,body.nl-admin .btn:not(.btn-primary):not(.btn-danger){background:var(--nl-surface)!important;color:var(--nl-text)!important;border-color:var(--nl-line)!important;border-radius:8px!important}
body.nl-admin [style*="background:rgba(255,255,255"],body.nl-admin [style*="background:linear-gradient(180deg,rgba(17"],body.nl-admin [style*="background:linear-gradient(180deg,#1"],body.nl-admin [style*="background:#0"]{background:var(--nl-surface)!important;color:var(--nl-text)!important;border-color:var(--nl-line)!important}
body .product-card .price-row .price{color:#10233f!important}
/* Theme changes must not interpolate one theme's text over the other's surface. */
body :is(.btn,.card,.nl-store-action,.nl-featured-product){transition-property:transform,box-shadow!important}

.nl-site-menu-panel svg{width:18px;height:18px;flex:0 0 18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
/* Override the older compact-header wrapping rule after all theme rules. */
@media(max-width:680px){body .topbar-inner.nl-header-with-menu{flex-wrap:nowrap!important;gap:8px!important}body .nl-header-with-menu>.brand{flex:1 1 auto;min-width:0}body .nl-header-with-menu .brand-text{min-width:0}body .nl-header-with-menu .brand-text strong{white-space:normal;line-height:1.15}}

