/* Capítulo 6, Brand Book v1, pp. 18-20.
   Implementación provisional para la demo; no es el Kit Técnico de Marca. */
:root {
  --radius-panel: 24px;
  --radius-card: 20px;
  --radius-control: 14px;
  --radius-pill: 999px;
  --shadow: 0 14px 32px rgba(75,56,44,.08);
  --shadow-sm: 0 5px 16px rgba(75,56,44,.055);
}
[hidden] { display:none !important; }
.icon-library { position:absolute; width:0; height:0; overflow:hidden; }
.ui-icon { display:inline-block; width:24px; height:24px; flex:none; vertical-align:middle; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
:is(a,button,input,select,textarea,summary):focus-visible { outline:3px solid var(--sage-dark); outline-offset:4px; }
.smart-search:focus-within { border-color:var(--sage-dark); box-shadow:0 0 0 3px var(--sage-soft); }
body { font-size:16px; }
.btn,.tab,.easy-btn,.zone-btn,.card-actions a,.card-actions button,.product-actions a,.product-actions button { min-height:44px; font-size:14px; }
.btn,.card-actions a,.card-actions button,.product-actions a,.product-actions button { display:inline-flex; align-items:center; justify-content:center; gap:7px; }
.primary { background:var(--mocha); color:white; }
.whats,.sage,.tab.active,.roulette-win-actions a { background:var(--sage-dark); color:white; }
.terra,.buy,.voice-btn,.ai-send { background:var(--sand-soft); color:var(--mocha); }
.kicker,.section-tag,.community-label,.food-menu-head small { color:var(--mocha); font-size:12px; letter-spacing:.035em; }
.hero-card,.search-panel,.promo-strip,.ruleta-wrap,.access-panel,.install,.lead,.modal-card { border-radius:var(--radius-panel); }
.card,.product-card,.value-card,.essential,.community-card,.feedback-card { border-radius:var(--radius-card); }
.smart-search,.search-panel input,.form input,.form select,.form textarea { border-radius:var(--radius-control); }
.hero { background:linear-gradient(160deg,var(--ivory),var(--sand-soft)); }
.hero-card:before,.community-card:after { display:none; }
.hero-card { background:var(--ivory); }
.hero .lead-copy { line-height:1.65; }
.trust-chip { font-size:12px; }
.zone-line { flex-wrap:wrap; position:relative; }
.zone-pill,.demo-pill { font-size:12px; }
.zone-note { display:none; }
.smart-search { grid-template-columns:minmax(0,1fr) auto auto; gap:4px; border:2px solid var(--sage); padding:5px; }
.smart-search input { width:100%; font-size:16px; min-height:48px; padding:10px 8px; }
.hero-search-submit,.voice-btn { width:46px; min-height:48px; border:0; border-radius:10px; display:grid; place-items:center; }
.hero-search-submit { background:var(--sage-dark); color:white; }
.hero-search-caption { color:var(--muted); font-size:12px; margin-top:7px; }
.essential-mini { font-size:12px; min-height:88px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; padding:10px 4px; }
.essential-mini span { margin:0; display:flex; }
.essential-mini .ui-icon { width:26px; height:26px; color:var(--sage-dark); }
.essential .emoji { display:grid; place-items:center; width:46px; height:46px; border-radius:14px; background:var(--sage-soft); color:var(--sage-dark); }
.essential.emergency .emoji { color:var(--danger); background:var(--sand-soft); }
.essential h3 { font-size:16px; }
.essential p,.value-card p,.body-card p,.product-body p,.community-card p { font-size:14px; line-height:1.6; }
.value-icon,.community-icon,.access-item>span { color:var(--sage-dark); }
.section-head p { font-size:15px; }
.featured-mini { display:grid; grid-template-columns:64px minmax(0,1fr) auto; align-items:center; gap:12px; background:var(--sage-soft); border:1px solid #d6e1d2; color:var(--mocha); padding:14px; border-radius:var(--radius-control); }
.featured-mini img { width:64px; height:64px; object-fit:cover; border-radius:10px; }
.featured-mini small { font-size:11px; color:var(--sage-dark); }
.featured-mini b { font-size:16px; margin:3px 0; line-height:1.3; }
.featured-mini p { font-size:12px; color:var(--muted); }
.featured-mini button { grid-column:2/-1; justify-self:start; border:0; border-bottom:1px solid var(--sage-dark); background:transparent; color:var(--sage-dark); min-height:44px; font-size:14px; font-weight:800; }
.sponsor-label { display:inline-flex; align-items:center; gap:5px; font-size:12px; font-weight:800; line-height:1.35; color:var(--mocha); background:var(--sand-soft); padding:5px 9px; border-radius:var(--radius-pill); }
.sponsor-label .ui-icon { width:15px; height:15px; }
.body-card>.sponsor-label { margin-bottom:8px; }
.media .badge { display:none; }
.meta span,.seller,.results-count,.price,.pill,.cat { font-size:12px; }
.meta .ui-icon { width:14px; height:14px; }
.card:hover,.product-card:hover,.essential:hover,.btn:hover { transform:translateY(-1px); }
.card-actions,.product-actions { flex-wrap:wrap; }
.card-actions a,.card-actions button { flex:1 1 92px; padding:10px 12px; }
.promo-strip { background:var(--sage-dark); box-shadow:var(--shadow-sm); }
.promo-card b { font-size:16px; }
.promo-card small,.promo-card span { font-size:12px; }
.promo-card b .ui-icon { width:20px; height:20px; margin-right:4px; }
.ruleta-wrap { background:var(--mocha); box-shadow:var(--shadow-sm); }
.float-food,.wheel-stage:after,.wheel:after { display:none; }
.wheel-stage:before { animation:none; }
.wheel { background:conic-gradient(var(--terra) 0 60deg,var(--sand) 60deg 120deg,var(--sage) 120deg 180deg,var(--sand-soft) 180deg 240deg,var(--sage-soft) 240deg 300deg,#c3ad96 300deg 360deg); box-shadow:0 12px 25px rgba(0,0,0,.18); }
.wheel-label em .ui-icon { width:20px; height:20px; }
.tool p,.result,.roulette-note { font-size:14px; line-height:1.6; }
.roulette-win-actions a,.roulette-win-actions button { font-size:14px; min-height:44px; }
.roulette-win p,.roulette-win .rw-type,.roulette-win .rw-featured { font-size:12px; }
.community-status { font-size:12px; border-radius:14px; }
.install p,.lead p,.note,.access-item small { font-size:14px; }
.form input,.form select,.form textarea,.feedback-card textarea { font-size:16px; min-height:48px; }
.modal-card { padding:64px 22px 24px; }
.close,.ai-close { width:44px; height:44px; }
.food-menu-head p,.food-menu-item p,.business-menu-preview p,.business-menu-preview-list div { font-size:14px; }
.food-menu-item a { font-size:14px; min-height:44px; display:flex; align-items:center; }
.food-menu-item strong { color:var(--mocha); }
.ai-launcher { background:var(--mocha); }
.ai-chat-header { background:var(--mocha); }
.ai-chat-header span,.ai-note,.ai-result-links button { font-size:12px; }
.ai-bubble,.ai-quick-actions button { font-size:14px; }
.ai-quick-actions button,.ai-result-links button { min-height:44px; }
.ai-input-wrap input { font-size:16px; }
.ai-mic { min-width:44px; min-height:44px; right:0; top:0; }
.toast { max-width:calc(100% - 28px); font-size:14px; border-radius:14px; pointer-events:none; }
.feedback-card { margin-top:28px; background:var(--ivory); border:1px solid var(--line); padding:24px; }
.feedback-card h3 { color:var(--mocha); font-family:'Playfair Display',serif; font-size:27px; line-height:1.2; }
.feedback-card>p { margin:8px 0 14px; color:var(--muted); font-size:14px; }
.feedback-card fieldset { border:0; padding:0; margin-bottom:18px; min-width:0; }
.feedback-card legend,.feedback-card label { color:var(--mocha); font-size:15px; font-weight:700; margin-bottom:8px; }
.feedback-options { display:flex; flex-wrap:wrap; gap:9px; }
.feedback-options label { display:inline-flex; align-items:center; gap:9px; border:1px solid var(--line); background:white; border-radius:14px; padding:11px 14px; min-height:48px; margin:0; cursor:pointer; }
.feedback-options label:has(input:checked) { border-color:var(--sage-dark); background:var(--sage-soft); }
.feedback-options input { accent-color:var(--sage-dark); width:18px; height:18px; }
.feedback-card textarea { width:100%; border:1px solid var(--line); border-radius:14px; padding:12px; resize:vertical; background:white; color:var(--ink); margin:8px 0 14px; }
.feedback-privacy { font-size:12px; color:var(--muted); margin:10px 0; max-width:650px; }
.feedback-status { color:var(--sage-dark); font-size:15px; font-weight:700; margin-top:12px; }
.feedback-actions { display:flex; gap:10px; flex-wrap:wrap; }
.feedback-card .feedback-label { display:block; }
.feedback-card [data-feedback-form] { margin-top:18px; }
body.easy .btn,body.easy .tab,body.easy .card-actions a,body.easy .card-actions button,body.easy .product-actions a,body.easy .product-actions button { min-height:52px; font-size:18px!important; }
body.easy .essential-mini { font-size:16px; min-height:104px; }
body.easy .essentials-mini { grid-template-columns:repeat(2,minmax(0,1fr)); }
body.easy .body-card p,body.easy .product-body p,body.easy .community-card p,body.easy .feedback-card p,body.easy .feedback-card label,body.easy .feedback-card legend,body.easy .feedback-privacy { font-size:17px; }
body.easy .meta span,body.easy .seller,body.easy .results-count,body.easy .sponsor-label { font-size:15px; }
body.easy .feedback-card textarea,body.easy .search-panel input,body.easy .smart-search input { font-size:18px!important; }
body.easy .feedback-options label { min-height:56px; }
body.easy .featured-mini b { font-size:20px; }
body.easy .featured-mini p,body.easy .featured-mini button { font-size:17px; }
@media(min-width:621px) and (max-width:1250px) {
  .nav-links { display:none; }
  .menu { display:block; min-height:44px; }
}
@media(max-width:620px) {
  body { padding-bottom:calc(96px + env(safe-area-inset-bottom)); }
  .container { width:calc(100% - 28px); }
  .nav { min-height:70px; gap:6px; }
  .brand { gap:8px; }
  .brand-copy b { font-size:20px; }
  .brand-icon { width:34px; height:34px; border-radius:11px; }
  .easy-btn { font-size:12px!important; padding:8px 10px!important; min-height:44px!important; }
  .hero { padding:16px 0 22px; }
  .hero-card { padding:18px; border-radius:20px; }
  .hero-card .app-head { display:none; }
  .mobile-brand-promise { display:block; margin:0 0 18px; padding:0; border:0; background:none; }
  .mobile-brand-promise strong { display:block; font-size:29px; line-height:1.12; letter-spacing:-.02em; }
  .mobile-brand-promise span { display:block; font-size:13px; margin-top:9px; line-height:1.5; }
  .zone-line { margin:0 0 13px; gap:6px; }
  .zone-pill { padding:6px 8px; font-size:12px; }
  .zone-pill .ui-icon { width:16px; height:16px; }
  .demo-pill { font-size:11px; }
  .smart-search input { padding:8px 4px; font-size:16px; }
  .hero-search-submit,.voice-btn { width:42px; }
  .essentials-mini { gap:7px; margin-top:15px; grid-template-columns:repeat(4,minmax(0,1fr)); }
  .essential-mini { font-size:11px; border-radius:14px; min-height:80px; }
  .featured-mini { display:grid; margin-top:18px; grid-template-columns:52px minmax(0,1fr); gap:10px; padding:12px; }
  .featured-mini img { width:52px; height:52px; }
  .featured-mini b { font-size:16px; }
  .featured-mini .featured-arrow { display:none; }
  .featured-mini button { grid-column:1/-1; width:100%; justify-self:stretch; border:1px solid #c4d2be; border-radius:10px; background:var(--ivory); }
  .section { padding:28px 0; }
  .section-head h2 { font-size:32px; line-height:1.12; }
  .kicker { font-size:11px; }
  #esenciales .section-head p { display:block; font-size:14px; line-height:1.6; }
  #esenciales .section-tag { display:none; }
  #esenciales .essentials { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; overflow:visible; }
  #esenciales .essential { min-width:0; max-width:none; padding:16px; min-height:112px; border-radius:20px; }
  #esenciales .essential h3 { font-size:15px; line-height:1.4; }
  .search-panel { grid-template-columns:minmax(0,1fr) auto; gap:8px; padding:12px; }
  .search-panel input { font-size:16px; padding:12px; min-width:0; }
  .search-panel .terra { font-size:13px; padding:10px; }
  .tab { font-size:14px; min-height:44px; padding:10px 13px; }
  .results-count { font-size:13px; line-height:1.5; margin:7px 0; }
  .grid { gap:14px; }
  .card { display:grid; grid-template-columns:76px minmax(0,1fr); padding:14px; align-items:start; border-radius:20px; }
  .media { width:68px; height:68px; min-height:68px; align-self:start; margin-top:2px; border-radius:14px; }
  .media .cat { display:none; }
  .body-card { padding:0 0 0 4px; }
  .body-card h3 { white-space:normal; font-size:18px; line-height:1.3; overflow:visible; }
  .body-card p { font-size:14px; line-height:1.5; -webkit-line-clamp:3; }
  .meta { margin:10px 0; gap:5px; }
  .meta span { font-size:12px; padding:5px 7px; }
  .meta span:nth-child(3) { display:none; }
  .card-actions { gap:7px; margin-top:11px; }
  .card-actions a,.card-actions button { font-size:14px; padding:10px; min-height:44px; flex-basis:100%; }
  .load-more { font-size:14px; min-height:44px; }
  .product-body h3 { font-size:18px; }
  .product-body p { font-size:14px; line-height:1.55; -webkit-line-clamp:3; }
  .seller,.price,.pill { font-size:12px; }
  .product-card { flex-basis:82vw; }
  .product-actions a,.product-actions button { font-size:14px; }
  .promo-strip h3 { line-height:1.1; }
  .promo-card { min-width:230px; padding:16px; }
  #comunidad .community-card p { font-size:14px; }
  .community-label,.community-status { font-size:12px; }
  .tool p,.result { font-size:14px; line-height:1.6; }
  .roulette-note { font-size:12px; border-radius:14px; }
  .spin-actions .btn { font-size:14px; min-height:44px; }
  .wheel-label { font-size:10px; }
  .wheel-center { font-size:17px; }
  .wheel-center span { font-size:8px; letter-spacing:0; }
  .roulette-win { grid-template-columns:54px minmax(0,1fr); }
  .roulette-win img { width:54px; height:54px; }
  .roulette-win p { font-size:13px; }
  .install>div:first-child>p,.access-item small { font-size:14px; }
  .app-bottom-nav { height:calc(76px + env(safe-area-inset-bottom)); padding-bottom:env(safe-area-inset-bottom); }
  .app-nav-item { gap:4px; }
  .app-nav-item b { font-size:11px; }
  .app-nav-item.active { background:var(--sage-soft); }
  .app-nav-item .ui-icon { width:24px; height:24px; }
  .float-wa { display:none; }
  .ai-launcher { bottom:calc(90px + env(safe-area-inset-bottom)); width:48px; height:48px; }
  .ai-chat { bottom:calc(84px + env(safe-area-inset-bottom)); }
  .toast { bottom:calc(86px + env(safe-area-inset-bottom)); width:max-content; }
  .modal { padding:10px; }
  .modal-card { padding:64px 18px 22px; max-height:calc(100dvh - 24px); }
  .food-menu-item { grid-template-columns:50px minmax(0,1fr); }
  .food-menu-item img { width:50px; height:50px; }
  .food-menu-item strong { grid-column:2; }
  .food-menu-item a { grid-column:1/-1; }
  .feedback-card { padding:20px; }
  .feedback-card h3 { font-size:25px; }
  body.easy .card { display:block; }
  body.easy .media { width:100%; height:128px; margin-bottom:14px; }
  body.easy .body-card { padding:0; }
  body.easy .body-card h3 { font-size:23px; }
  body.easy .body-card p { font-size:17px; display:block; }
  body.easy .meta span { font-size:15px; }
  body.easy .brand-copy b { font-size:20px; }
  body.easy #esenciales .essential h3 { font-size:18px; }
  body.easy .hero-card { padding:16px; }
  body.easy .mobile-brand-promise strong { font-size:32px; }
  body.easy .mobile-brand-promise span { font-size:17px; }
}
@media(max-width:359px) {
  .brand-copy b,body.easy .brand-copy b { font-size:17px; }
  .brand-icon { width:30px; height:30px; }
  .easy-btn { font-size:11px!important; padding:8px!important; }
  .hero-card { padding:14px; }
  .essential-mini { font-size:10px; }
  .smart-search { gap:2px; }
  .hero-search-submit,.voice-btn { width:40px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation:none!important; transition:none!important; }
}

body.easy .feedback-options input{min-height:20px!important;width:20px;height:20px;}

/* Ajuste 6.1: herramientas persistentes, sin botón flotante del asistente. */
body > header { position:sticky; top:0; z-index:240; }
.modal { z-index:260; }
.toast { z-index:280; }
.site-quick-tools { display:flex; align-items:stretch; gap:10px; padding-bottom:12px; }
.persistent-search { flex:1; min-width:0; display:flex; align-items:center; gap:10px; min-height:46px; padding:10px 15px; border:1px solid var(--line); border-radius:14px; background:var(--ivory); color:var(--mocha); text-align:left; font-size:14px; }
.persistent-search .ui-icon { width:21px; height:21px; color:var(--sage-dark); }
.header-assistant { position:static; width:auto; height:auto; min-height:46px; flex:none; display:inline-flex; justify-content:center; gap:7px; padding:10px 14px; border:1px solid #c4d2be; border-radius:14px; background:var(--sage-soft); color:var(--sage-dark); box-shadow:none; font-size:14px; font-weight:700; transform:none; }
.header-assistant .ai-launcher-icon { width:22px; height:22px; background:none; border-radius:0; }
.header-assistant .ai-launcher-icon .ui-icon { width:22px; height:22px; }
.header-assistant span:last-child { display:inline; }
.header-assistant[aria-expanded="true"] { background:var(--sage-dark); color:white; }
#directorio,#marketplace,#comunidad,#accesibilidad,main > section { scroll-margin-top:calc(var(--site-header-height,140px) + 12px); }
.ai-chat { top:calc(var(--site-header-height,140px) + 12px); bottom:18px; height:auto; max-height:640px; z-index:230; }
body.easy .persistent-search,body.easy .header-assistant { font-size:17px; min-height:52px; }
@media(max-width:620px) {
  .site-quick-tools { gap:8px; padding-bottom:10px; }
  .persistent-search { padding:10px 11px; font-size:13px; gap:8px; }
  .header-assistant { padding:10px 11px; font-size:13px; }
  .ai-chat { top:calc(var(--site-header-height,130px) + 6px); bottom:calc(84px + env(safe-area-inset-bottom)); max-height:none; height:auto; }
  body.easy .persistent-search,body.easy .header-assistant { font-size:15px; }
}
@media(max-height:480px) {
  .ai-chat { bottom:6px; }
}

/* Revisión 6.2: el campo real y Hablar quedan fijos, también en PWA móvil. */
body > header {position:fixed;left:0;right:0;top:0;padding-top:env(safe-area-inset-top);}
body {padding-top:var(--site-header-height,148px);}
.topbar {display:none;}
.site-quick-tools {display:block;}
.site-quick-tools .search-panel {display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;margin:0;padding:8px;border-radius:20px;box-shadow:none;}
.site-quick-tools .search-panel input {min-width:0;min-height:48px;font-size:16px;padding:11px 14px;}
.site-quick-tools .search-panel .btn {min-height:48px;white-space:nowrap;}
.hero .smart-search,.hero-search-caption {display:none;}
@media(min-width:621px) and (max-width:1500px){.nav-links{display:none;}.menu{display:block;}}
@media(max-width:620px){
 .site-quick-tools .search-panel{grid-template-columns:minmax(0,1fr) auto;}
 .site-quick-tools .search-panel .search-btn{display:none;}
 .site-quick-tools .search-panel .terra{font-size:14px;padding:10px 12px;}
 .header-assistant{width:44px;min-width:44px;padding:10px;font-size:13px;}
 .header-assistant span:last-child{display:none;}
 .nav .brand-copy{min-width:0;}
 .nav .brand-copy b{max-width:140px;line-height:1.05;}
 body.easy .nav .brand-copy b{font-size:18px;}
}
@media(max-width:359px){.nav .brand-copy b{max-width:94px;}.nav-actions{gap:5px;}}

/* Capítulo 8: acceso discreto al kit de difusión desde el bloque de negocios */
.chapter-eight-link{border:1px solid var(--line);border-radius:20px;padding:19px 22px;background:var(--ivory);display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.chapter-eight-link strong{font-size:17px;color:var(--mocha)}.chapter-eight-link p{font-size:13px;color:var(--muted);margin-top:4px}.chapter-eight-link .btn{text-decoration:none}@media(max-width:620px){.chapter-eight-link{padding:16px}.chapter-eight-link .btn{width:100%}}
