/* Scoped to Comedor. No changes to Coffee Break, Box Lunch or store. */
body[data-page="comedor"] .req-btn, body[data-page="comedor"] .mobile-menu__req { display:none; }
.ce-page { --ce-coral:#bc4038; background:#fffbf6; }
.ce-page #servicio, .ce-page #propuesta { scroll-margin-top:100px; }
.ce-page .ce-kicker { display:block; text-transform:uppercase; letter-spacing:.09em; font-size:.875rem; font-weight:700; color:var(--ce-coral); }
.ce-page h2 { font-size:clamp(2rem,3.3vw,2.9rem); line-height:1.12; letter-spacing:-.025em; }
.ce-page h2 em { font-weight:500; color:var(--ce-coral); }
.ce-page .btn { min-height:48px; line-height:1.3; white-space:normal; text-align:center; background:var(--ce-coral); }
.ce-page .btn:hover { background:#a7352e; }
.ce-actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px 26px; }
.ce-link { display:inline-flex; min-height:44px; align-items:center; gap:12px; font-size:.875rem; font-weight:700; text-decoration:underline; text-underline-offset:5px; color:var(--azul); }
.ce-link:hover { opacity:.8; }
.ce-hero { background:var(--azul); color:white; padding:45px 0 0; }
.ce-hero__grid { display:grid; grid-template-columns:1.05fr 1fr; align-items:center; gap:44px; }
.ce-hero .ce-kicker { color:#f7b9ac; }
.ce-hero h1 { color:white; font-size:clamp(2.7rem,4.6vw,4.05rem); line-height:1.08; letter-spacing:-.035em; margin:22px 0; }
.ce-hero h1 em { color:#f7b9ac; font-weight:500; }
.ce-hero__copy>p { color:#e1ebf1; font-size:1.125rem; max-width:510px; }
.ce-hero .ce-actions { margin-top:27px; }
.ce-hero .ce-link { color:white; }
.ce-hero__copy .ce-hero__note { margin-top:24px; font-size:.875rem; color:#c8d8e3; }
.ce-hero__photo { position:relative; overflow:hidden; border-radius:18px 100px 18px 18px; }
.ce-hero__photo img { width:100%; height:445px; object-fit:cover; object-position:48% center; }
.ce-hero__photo figcaption { position:absolute; bottom:0; left:0; right:0; padding:60px 25px 23px; background:linear-gradient(transparent,rgba(8,29,43,.9)); }
.ce-hero__photo figcaption span { display:block; font-size:.875rem; }
.ce-hero__photo figcaption strong { font-family:var(--font-display); font-size:1.4rem; font-weight:500; }
.ce-facts { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; padding:23px 0; margin-top:35px; border-top:1px solid #ffffff30; }
.ce-facts li { display:flex; align-items:center; gap:12px; font-size:.875rem; }
.ce-facts li::before { content:'✓'; color:#f7b9ac; }
.ce-service { padding:55px 0; }
.ce-section-head { display:grid; grid-template-columns:1.4fr 1fr; align-items:end; gap:60px; }
.ce-section-head h2 { margin-top:14px; }
.ce-section-head>p { color:#555e64; }
.ce-flow { display:grid; grid-template-columns:repeat(3,1fr); list-style:none; gap:30px; margin-top:32px; }
.ce-flow li { border-top:1px solid #dcd6ce; padding-top:20px; }
.ce-number { color:var(--ce-coral); font-size:.875rem; font-weight:700; }
.ce-flow h3 { font-family:var(--font-body); font-size:1.125rem; line-height:1.4; font-weight:700; margin:10px 0 8px; }
.ce-flow p { font-size:.9375rem; color:#555e64; }
.ce-food { padding:45px 0; background:#eef4f7; }
.ce-food__grid { display:grid; grid-template-columns:.88fr 1fr; gap:65px; align-items:center; }
.ce-food__photo { position:relative; overflow:hidden; border-radius:16px; }
.ce-food__photo img { width:100%; height:455px; object-fit:cover; object-position:center 57%; }
.ce-food__photo figcaption { position:absolute; bottom:16px; left:16px; right:16px; padding:13px 16px; background:#fffbf6; color:var(--azul); font-size:.875rem; border-radius:8px; }
.ce-food__copy h2 { margin:14px 0 18px; }
.ce-food__copy>p { color:#555e64; }
.ce-menu { margin-top:20px; }
.ce-menu>div { border-top:1px solid #d0dce3; padding:12px 0; }
.ce-menu dt { color:var(--azul); font-weight:700; margin-bottom:3px; }
.ce-menu dd { font-size:.9375rem; color:#555e64; }
.ce-food__copy .ce-diet { font-size:.875rem; margin:10px 0; }
.ce-faq-section { padding:52px 0; }
.ce-faq-grid { display:grid; grid-template-columns:1fr 1.8fr; gap:55px; }
.ce-faq-grid h2 { margin-top:14px; }
.ce-faq details { border-bottom:1px solid #ded8d0; }
.ce-faq summary { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:62px; padding:14px 0; list-style:none; cursor:pointer; color:var(--azul); font-weight:600; line-height:1.4; }
.ce-faq summary::-webkit-details-marker { display:none; }
.ce-faq summary::after { content:'+'; font-size:1.5rem; font-weight:400; color:var(--ce-coral); flex-shrink:0; }
.ce-faq details[open] summary::after { content:'−'; }
.ce-faq p { padding:0 20px 20px 0; color:#555e64; }
.ce-faq p a { text-decoration:underline; }
.ce-contact { padding:48px 0; background:var(--crema); }
.ce-contact__grid { display:grid; grid-template-columns:1fr 1.15fr; gap:65px; align-items:center; }
.ce-contact h2 { margin:14px 0 20px; }
.ce-contact__copy>p { color:#555e64; }
.ce-contact__aside { font-size:.875rem; border-left:2px solid var(--ce-coral); padding-left:16px; margin:23px 0; }
.ce-form { border:1px solid #e5d9cb; border-radius:16px; padding:28px; background:#fff; display:grid; gap:18px; }
.ce-form__row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.ce-form label { display:block; font-size:.875rem; font-weight:600; color:var(--azul); margin-bottom:7px; }
.ce-form label span { font-weight:400; }
.ce-form input,.ce-form select,.ce-form textarea { width:100%; min-width:0; min-height:46px; font:inherit; font-size:1rem; padding:10px 12px; background:#fffcf8; border:1px solid #c6c6c1; color:#252525; border-radius:7px; }
.ce-form textarea { resize:vertical; }
.ce-form .btn { width:100%; }
.ce-form__note { font-size:.75rem; color:#626568; line-height:1.6; }
.ce-form__note a { text-decoration:underline; }
@media(max-width:1000px) {
 .ce-hero__grid,.ce-food__grid,.ce-contact__grid { gap:30px; }
 .ce-section-head { gap:30px; }
 .ce-form { padding:22px; }
 .ce-form__row { grid-template-columns:1fr; }
}
@media(max-width:700px) {
 .ce-hero { padding-top:26px; }
 .ce-hero__grid { grid-template-columns:1fr; gap:24px; }
 .ce-page .ce-kicker { font-size:.75rem; letter-spacing:.075em; }
 .ce-hero h1 { font-size:clamp(2.5rem,9.5vw,3.4rem); margin:15px 0 18px; }
 .ce-hero__copy>p { font-size:1rem; }
 .ce-hero .ce-actions { margin-top:20px; gap:6px; }
 .ce-hero .ce-actions>* { width:100%; justify-content:center; }
 .ce-hero__copy .ce-hero__note { margin-top:13px; font-size:.8125rem; }
 .ce-hero__photo { border-radius:14px 65px 14px 14px; }
 .ce-hero__photo img { height:260px; object-position:center; }
 .ce-hero__photo figcaption { padding:40px 18px 18px; }
 .ce-hero__photo figcaption strong { font-size:1.25rem; }
 .ce-facts { grid-template-columns:1fr; gap:9px; padding:18px 0; margin-top:22px; }
 .ce-service { padding:34px 0; }
 .ce-section-head { grid-template-columns:1fr; gap:18px; }
 .ce-page h2 { font-size:2rem; }
 .ce-flow { grid-template-columns:1fr; gap:18px; margin-top:24px; }
 .ce-flow li { position:relative; padding:15px 0 0 38px; }
 .ce-number { position:absolute; left:0; top:18px; }
 .ce-flow h3 { margin:0 0 5px; font-size:1rem; }
 .ce-food { padding:30px 0; }
 .ce-food__grid { grid-template-columns:1fr; gap:22px; }
 .ce-food__copy { grid-row:1; }
 .ce-food__photo img { height:255px; }
 .ce-food__photo figcaption { bottom:12px; left:12px; right:12px; padding:10px 12px; }
 .ce-faq-section { padding:32px 0; }
 .ce-faq-grid { grid-template-columns:1fr; gap:20px; }
 .ce-faq-grid h2 br { display:none; }
 .ce-faq summary { font-size:1rem; }
 .ce-contact { padding:32px 0; }
 .ce-contact__grid { grid-template-columns:1fr; gap:25px; }
 .ce-form { padding:20px; }
}
@media(prefers-reduced-motion:reduce) { .ce-page * { scroll-behavior:auto; transition:none; animation:none; } }
