/*
Theme Name: LMmenu
Theme URI: https://example.com/lmmenu
Author: LM
Description: Menú digital móvil para restaurantes. Productos por categorías, heroes/promocionales 100vh, personalización y PWA.
Version: 1.0.19
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: lmmenu
*/
:root{--lm-primary:#e51b23;--lm-secondary:#2b1710;--lm-bg:#0d1214;--lm-title:'Arial Narrow',Arial,sans-serif;--lm-body:Arial,sans-serif;--lm-accent:Impact,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--lm-bg);color:#fff;font-family:var(--lm-body);overflow-x:hidden}.lm-shell{width:100%;max-width:520px;margin:auto;background:var(--lm-bg);min-height:100vh}.lm-hero,.lm-promo{height:100svh;min-height:620px;position:relative;display:flex;align-items:flex-end;overflow:hidden;background:#111}.lm-cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.lm-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.1) 45%,rgba(0,0,0,.86))}.lm-overlay{position:relative;z-index:2;padding:34px 24px 38px;width:100%}.lm-logo{max-width:190px;max-height:90px;object-fit:contain;margin-bottom:24px}.lm-kicker{font:700 15px/1.2 var(--lm-body);letter-spacing:.16em;text-transform:uppercase}.lm-display{font:800 clamp(42px,13vw,72px)/.92 var(--lm-title);text-transform:uppercase;margin:8px 0}.lm-display em{font-family:var(--lm-accent);font-style:normal;color:var(--lm-primary)}.lm-copy{font-size:17px;line-height:1.45;max-width:34ch}.lm-scroll{display:inline-flex;gap:9px;align-items:center;margin-top:18px;font-size:12px;letter-spacing:.13em;text-transform:uppercase}.lm-nav-wrap{position:sticky;top:0;z-index:20;background:rgba(10,14,16,.95);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.08)}.lm-nav{display:flex;gap:8px;overflow-x:auto;padding:12px 14px;scrollbar-width:none}.lm-nav::-webkit-scrollbar{display:none}.lm-nav a{flex:0 0 auto;color:#fff;text-decoration:none;border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:10px 15px;font:700 12px/1 var(--lm-body);text-transform:uppercase}.lm-nav a:active,.lm-nav a:hover{background:var(--lm-primary);border-color:var(--lm-primary)}.lm-section{padding:28px 16px 8px;scroll-margin-top:65px}.lm-section-title{font:800 36px/1 var(--lm-title);text-transform:uppercase;margin:0 0 18px}.lm-section-title:after{content:'';display:block;width:92px;height:4px;background:var(--lm-primary);margin-top:8px;transform:skew(-18deg)}.lm-product{display:grid;grid-template-columns:118px 1fr;gap:14px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.07);border-radius:14px;padding:9px;margin-bottom:12px}.lm-product-media{position:relative;width:118px;height:118px}.lm-product img{width:118px;height:118px;object-fit:cover;border-radius:10px;display:block}.lm-product-no-image{display:block;padding:14px 16px}.lm-product-no-image .lm-product-content{width:100%}.lm-product h3{font:800 19px/1.05 var(--lm-title);text-transform:uppercase;margin:5px 0 7px}.lm-product p{color:#b8b8b8;font-size:13px;line-height:1.35;margin:0 0 8px}.lm-category-description{color:#d4d4d4;font-size:15px;line-height:1.45;margin:-7px 0 20px;max-width:none;width:100%;overflow-wrap:anywhere}.lm-category-description p{margin:0}.lm-prices{display:flex;gap:8px;flex-wrap:wrap;margin-top:9px}.lm-price-option{min-width:78px;padding:6px 10px;border:1px solid rgba(255,255,255,.09);border-radius:9px;background:rgba(0,0,0,.12)}.lm-price-option span{display:block;color:#ddd;font-size:11px;line-height:1.1;margin-bottom:3px}.lm-price-option strong{display:block;font:800 23px/1 var(--lm-accent);color:var(--lm-primary)}.lm-featured-badge{position:absolute;z-index:3;left:6px;top:6px;background:var(--lm-primary);color:#fff;border-radius:999px;padding:5px 8px;font:800 9px/1 var(--lm-body);letter-spacing:.04em;text-transform:uppercase}.lm-featured-inline{position:static;display:inline-block;margin:0 0 8px}.lm-unavailable{opacity:.45}.lm-promo .lm-overlay{text-align:left}.lm-promo .lm-display{max-width:8ch}.lm-install{position:fixed;z-index:40;left:50%;bottom:18px;transform:translateX(-50%);width:calc(100% - 28px);max-width:480px;background:#fff;color:#111;border-radius:16px;padding:13px 14px;display:none;align-items:center;gap:12px;box-shadow:0 12px 40px rgba(0,0,0,.4)}.lm-install.show{display:flex}.lm-install strong{display:block}.lm-install small{display:block;color:#666;margin-top:2px}.lm-install button{border:0;border-radius:10px;padding:10px 12px;font-weight:800}.lm-install-go{background:var(--lm-primary);color:#fff;margin-left:auto}.lm-install-close{background:transparent;color:#777;font-size:18px}.lm-desktop{display:none}@media(min-width:600px){.lm-shell{box-shadow:0 0 60px rgba(0,0,0,.5)}body{background:#07090a}}

/* 1.0.7: viewport screens, filters and custom indicators. */
[hidden]{display:none!important}.lm-hero,.lm-promo{height:100vh;height:100dvh;min-height:0;width:100%;display:block}.lm-screen-logo{position:absolute;inset:0;display:grid;place-items:center}.lm-screen-logo img{max-width:75%;height:auto}.lm-arrow{position:absolute;bottom:max(22px,env(safe-area-inset-bottom));left:calc(50% - 24px);width:48px;height:48px;border:0;border-radius:50%;background:#0005;color:white;display:grid;place-items:center;text-decoration:none;cursor:pointer}.lm-arrow svg{width:24px;height:24px;animation:lm-nudge 2.4s ease-in-out infinite}@keyframes lm-nudge{0%,100%{transform:translateY(-2px)}50%{transform:translateY(3px)}}.lm-nav button{display:flex;align-items:center;gap:7px;flex:0 0 auto;color:white;background:transparent;border:1px solid #ffffff2e;border-radius:999px;padding:10px 15px;font:700 12px/1 var(--lm-body);text-transform:uppercase;cursor:pointer}.lm-nav button[aria-pressed="true"]{background:var(--lm-primary);border-color:var(--lm-primary)}.lm-nav-icon{width:18px;height:18px;object-fit:contain}.lm-product .lm-indicator img{width:18px;height:18px;object-fit:contain;border-radius:0;display:inline-block}.lm-indicator{display:flex;align-items:center;gap:4px;flex-wrap:wrap;margin:8px 0;font-size:12px}.lm-indicator span{margin-left:4px}.lm-nav button:focus-visible,.lm-arrow:focus-visible{outline:2px solid white;outline-offset:2px}.lm-product-content{min-width:0;overflow-wrap:anywhere}#lm-menu{scroll-margin-top:0}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.lm-arrow svg{animation:none}}

/* 1.0.7: persistent category navigation and centered cover logo. */
:root{--lm-nav-height:64px}
.lm-nav-wrap{position:sticky;top:0;width:100%;max-width:520px;padding-top:env(safe-area-inset-top,0px);z-index:30}
.lm-hero{padding-top:0}
.lm-screen-logo{inset:0;display:flex;align-items:center;justify-content:center;padding:24px}
.lm-screen-logo .custom-logo-link{display:flex;align-items:center;justify-content:center;width:100%;max-width:390px;margin:0 auto}
.lm-screen-logo img{display:block;width:auto;height:auto;max-width:100%;max-height:calc(100vh - 110px);max-height:calc(100dvh - 110px);object-fit:contain;margin:0 auto}
.lm-section,.lm-promo{scroll-margin-top:var(--lm-nav-height)}

/* Keep amounts at the bottom, including cards without a label. */
.lm-price-option{display:flex;flex-direction:column;justify-content:flex-end}
.lm-price-option.lm-price-no-label{text-align:left}

/* v1.0.15: show every pixel of uploaded screens at full mobile width. */
.lm-hero,.lm-promo{height:auto;min-height:100dvh;overflow:visible;display:flex;align-items:center;justify-content:center;flex-direction:column;position:relative;padding:0;background:#080808}
.lm-hero .lm-cover,.lm-promo .lm-cover{position:relative;inset:auto;display:block;width:100%;height:auto;max-width:100%;object-fit:contain;flex:0 0 auto}
.lm-hero .lm-arrow,.lm-promo .lm-arrow{position:absolute;bottom:max(16px,env(safe-area-inset-bottom));z-index:2}
.lm-hero .lm-screen-logo{position:relative;min-height:100dvh;width:100%}

/* 1.0.18: subcategory sections inside each parent category. */
.lm-subcategory{margin:24px 0 30px}.lm-subcategory-title{font:800 25px/1.12 var(--lm-title);text-transform:uppercase;margin:0 0 14px}.lm-subcategory-description{color:#d4d4d4;font-size:14px;line-height:1.45;margin:-5px 0 16px}.lm-subcategory-description p{margin:0}
