/* NOI v4.17 · Experiencia móvil. Capas acotadas: no alteran la paleta Dark Luxury. */
.noi-search-trigger{border:1px solid #65705b;border-radius:12px;color:#f4e9da;background:linear-gradient(150deg,#354336,#18271e);min-height:42px;min-width:42px;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 2px 0 #0a110b,0 5px 12px #0003;transition:transform .14s,background .14s}
.noi-search-trigger:active{transform:translateY(2px);box-shadow:0 0 0 #000}
.top .tools .noi-search-trigger{margin-inline-start:4px}
.mobile-brand .noi-search-trigger{margin-inline-start:auto;flex-shrink:0}
.noi-sync-chip{font-size:10px;line-height:1.2;letter-spacing:.01em;white-space:nowrap;border-radius:999px;padding:5px 8px;border:1px solid #61755a;background:#263b2a;color:#dcebd4}
.noi-sync-chip[data-state="offline"]{background:#35352e;color:#eee1ca;border-color:#737263}
.noi-sync-chip[data-state="pending"]{background:#443823;color:#f1d7a7;border-color:#987753}
.access-locked .noi-sync-chip,.access-locked .noi-search-trigger{display:none!important}
.noi-global-search{color:#f4ead9}
.noi-global-label{display:block;font-weight:600;letter-spacing:.035em;margin-bottom:10px;font-size:13px}
.noi-search-box{display:flex;gap:10px;align-items:center;background:#1a2b20;border:1px solid #62725e;border-radius:13px;padding:11px 13px;color:#c9cfbb;position:relative}
.noi-search-box:focus-within{border-color:#cba46c;box-shadow:0 0 0 2px #cba46c27}
.noi-search-box input{border:0;outline:0;background:transparent;color:#fff7ed;font:inherit;min-width:0;flex:1;min-height:27px}
.noi-search-box input::placeholder{color:#aab4a6}
.noi-global-results{max-height:min(58dvh,510px);overflow:auto;overscroll-behavior:contain;padding:8px 1px}
.noi-search-hint,.noi-empty-search{margin:15px 0;font-size:13px;line-height:1.55;color:#c9cebd}
.noi-search-group{margin:14px 0}
.noi-search-group h4{font:600 11px/1.35 Jost,system-ui,sans-serif;letter-spacing:.13em;color:#d4b582;text-transform:uppercase;margin:0 0 7px}
.noi-search-group h4 span{font-size:10px;opacity:.75;margin-left:5px}
.noi-search-result{width:100%;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #53644f;background:#26362a;border-radius:10px;padding:12px;margin:5px 0;color:#f2eadf;min-height:56px}
.noi-search-result:active{background:#3c4c38;transform:scale(.995)}
.noi-search-result strong{display:block;line-height:1.2;font-size:14px}
.noi-search-result small{display:block;color:#c3cbbb;margin-top:4px;font-size:11px}
.noi-search-result>span:last-child{font-size:24px;color:#d1b788}
.noi-quick{display:grid;gap:12px}
.noi-quick-head{display:flex;gap:12px;align-items:flex-start;justify-content:space-between}
.noi-quick-head p{font-size:13px;color:#ccd1c4;margin:0}
.noi-quick-meta{display:flex;gap:7px;flex-wrap:wrap}
.noi-quick table{margin:0}
.noi-quick-footer{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}
.noi-quick .recipe-photo-figure{margin:0;max-height:160px;overflow:hidden;border-radius:12px}
.noi-quick .recipe-photo-detail{max-height:160px;object-fit:cover}
.noi-toast-root,#noi-toast-root{position:fixed;z-index:9500;left:50%;transform:translateX(-50%);bottom:max(calc(env(safe-area-inset-bottom) + 88px),100px);width:min(94vw,500px);pointer-events:none}
.noi-toast{pointer-events:auto;display:flex;align-items:center;gap:16px;justify-content:space-between;background:#192b20;border:1px solid #7c876b;color:#fdf5e9;border-radius:13px;box-shadow:0 12px 35px #0009;padding:13px 15px;animation:noiToastIn .19s ease-out}
.noi-toast span{font-size:13px;line-height:1.35}
.noi-toast-action{white-space:nowrap;border:0;background:#d5b47d;color:#17251c;padding:8px 13px;border-radius:8px;font-weight:700}
.noi-action-dialog{color:#f6eee1;background:#1c2a20;border:1px solid #77836a;border-radius:16px;box-shadow:0 20px 80px #000b;width:min(94vw,440px);max-height:83dvh}
.noi-action-dialog::backdrop{background:#030805b8;backdrop-filter:blur(3px)}
.noi-dialog-pad{padding:20px}
.noi-dialog-eyebrow{font-size:10px;letter-spacing:.14em;color:#d4ae80;margin:0 0 10px}
.noi-dialog-pad h3{font-family:"Cormorant Garamond",serif;font-size:26px;font-weight:500;margin:0 0 7px;color:#fff5e6}
.noi-dialog-pad p{font-size:14px;color:#d6d8ca;line-height:1.5}
.noi-dialog-buttons{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:9px;margin-top:20px}
.noi-sheet{width:min(100vw,490px);margin:auto auto max(env(safe-area-inset-bottom),8px);border-radius:22px 22px 14px 14px;padding:0}
.noi-sheet-handle{height:5px;width:48px;background:#84927c;border-radius:99px;margin:11px auto 0}
.noi-sheet-actions{display:grid;gap:7px}
.noi-sheet-actions button{border:1px solid #5c6e57;background:#293a2d;color:#fff1e4;display:flex;justify-content:space-between;text-align:left;padding:13px 15px;border-radius:10px;min-height:48px}
.noi-sheet-actions button span{color:#d5b788;font-size:20px}
.noi-sheet-cancel{width:100%;margin-top:12px}
.noi-kitchen-note{font-size:11px;color:#cdb58c}
#screen.noi-screen-enter{animation:noiScreenIn .17s ease-out}
.btn,.stock-switch-btn,.noi-back,.navbtn,.noi-cat-tile,.tile{transition:transform .13s,filter .13s,box-shadow .13s}
.btn:active,.stock-switch-btn:active,.noi-back:active,.navbtn:active,.noi-cat-tile:active,.tile:active{transform:translateY(1px) scale(.992);filter:brightness(1.06)}
@keyframes noiScreenIn{from{opacity:.74;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@keyframes noiToastIn{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:520px){.mobile-brand{gap:7px}.mobile-brand .noi-sync-chip{font-size:9px;padding:4px 6px}.mobile-brand .noi-search-trigger{min-width:39px;min-height:39px}.noi-dialog-pad{padding:17px}.noi-quick .recipe-photo-figure{max-height:120px}}
@media(prefers-reduced-motion:reduce){#screen.noi-screen-enter,.noi-toast{animation:none!important}.btn,.stock-switch-btn,.noi-back,.navbtn,.noi-cat-tile,.tile,.noi-search-trigger{transition:none!important}}

/* Estrecho (iPhone SE y Android compactos): logo, estado y búsqueda caben sin romper la barra. */
@media(max-width:390px){
 .mobile-brand{gap:6px!important;padding-left:9px!important;padding-right:9px!important}
 .mobile-brand .brand-logo{width:65px!important;height:35px!important;flex-shrink:0}
 .mobile-brand .brand-caption{padding-left:7px!important;min-width:0}
 .mobile-brand .brand-caption>span{font-size:9px!important;letter-spacing:.7px!important;white-space:nowrap}
 .mobile-brand .brand-caption small{font-size:9px!important;white-space:nowrap}
 .mobile-brand .noi-sync-chip{max-width:63px;text-overflow:ellipsis;overflow:hidden;font-size:8px!important;padding:4px 5px}
 .mobile-brand .noi-search-trigger{min-width:36px;min-height:36px}
}
.noi-action-dialog{padding:0;overflow:auto}
