.solution-page {
    --solution-ink: #17365c;
    --solution-muted: #526b85;
    --solution-line: #dbe5f0;
    background: #f4f7fb;
    color: var(--solution-ink);
    font: 16px/1.55 'Inter', Arial, sans-serif;
    overflow: clip;
}
.solution-page *, .solution-page *::before, .solution-page *::after { box-sizing: border-box; }
.solution-banner {
    border-bottom: 4px solid #ffbf25;
    background: radial-gradient(circle at 85% 0%, #24578d 0%, transparent 38%), linear-gradient(112deg, #0d2648, #173c6d);
    color: #fff;
}
.solution-banner__inner {
    width: min(1280px, calc(100% - 48px));
    min-height: 170px;
    margin: 0 auto;
    padding: 25px 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}
.solution-banner__eyebrow {
    display: block;
    color: #ffce59;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .15em;
    text-transform: uppercase;
}
.solution-banner h1 {
    margin: 5px 0 0;
    color: #fff;
    font: 800 clamp(29px, 3.1vw, 42px)/1.14 'Poppins', 'Inter', Arial, sans-serif;
    letter-spacing: -.035em;
}
.solution-banner p { margin: 8px 0 0; color: #d0dff0; font-size: 15px; }
.solution-banner__back {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    flex: 0 0 auto;
    padding: 10px 15px;
    border: 1px solid #7695b7;
    border-radius: 10px;
    color: #fff;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
}
.solution-banner__back:hover { background: #fff; color: #112f59; }
.solution-page a:focus-visible { outline: 3px solid #ffbf25; outline-offset: 3px; }

/* La ficha de cada rubro conserva su contenido y adopta la escala del sitio. */
.solution-page :is([class$="-hero"], [class$="-hero-section"], [class$="-main-content"], .tv-contenido, .md-contenido, .cam-main, .luminarias-container, .paginaweb-flex) {
    color: var(--solution-ink);
}
.solution-page :is(.restaurant-hero, .chifa-hero-section, .cafeteria-hero, .cevicheria-hero, .pizzeria-hero, .karaoke-hero, .recreos-hero, .hoteles-hero, .ferreteria-hero, .farmacia-hero, .hospital-hero, .escolar-hero, .creditos-hero, .apafa-main-content) {
    padding-top: 30px;
    padding-bottom: 32px;
    background: #f4f7fb;
}
.solution-page :is(.restaurant-hero-text, .chifa-hero-text, .cafeteria-hero-text, .cevicheria-hero-text, .pizzeria-hero-text, .karaoke-hero-text, .recreos-hero-text, .hoteles-hero-text, .ferreteria-hero-text, .farmacia-hero-text, .hospital-hero-text, .escolar-hero-text, .creditos-hero-text, .apafa-hero-text) h2 {
    color: var(--solution-ink);
    font: 800 clamp(26px, 2.8vw, 36px)/1.2 'Poppins', 'Inter', Arial, sans-serif;
    letter-spacing: -.03em;
}
.solution-page :is(.restaurant-hero-text, .chifa-hero-text, .cafeteria-hero-text, .cevicheria-hero-text, .pizzeria-hero-text, .karaoke-hero-text, .recreos-hero-text, .hoteles-hero-text, .ferreteria-hero-text, .farmacia-hero-text, .hospital-hero-text, .escolar-hero-text, .creditos-hero-text, .apafa-hero-text) p {
    color: var(--solution-muted);
    font-size: 15px;
    line-height: 1.7;
}
.solution-page :is(.restaurant-roles-section, .cafeteria-roles-section, .cevicheria-modulos-section, .pizzeria-roles-section, .karaoke-roles-section, .recreos-roles-section, .hoteles-preview-section, .hoteles-roles-section, .ferreteria-roles-section, .farmacia-roles-section, .hospital-roles-section, .escolar-roles-section, .creditos-roles-section, .system-preview-section, .modules-section) {
    padding-top: 26px;
    padding-bottom: 30px;
}
.solution-page :is(.restaurant-faq-wrapper, .cafeteria-faq-wrapper, .cevicheria-faq-wrapper, .pizzeria-faq-wrapper, .karaoke-faq-wrapper, .recreos-faq-wrapper, .hoteles-faq-wrapper, .ferreteria-faq-wrapper, .farmacia-faq-wrapper, .hospital-faq-wrapper, .escolar-faq-wrapper, .creditos-faq-wrapper) {
    padding-top: 20px;
    padding-bottom: 34px;
}
.solution-page :is(.tv-contenido, .md-contenido, .cam-main, .luminarias-container, .paginaweb-flex) { margin-top: 28px; }
.solution-page .paginaweb-intro-card { margin-top: 0; }
.solution-page .paginaweb-intro-card { padding: 30px; }
.solution-page .paginaweb-intro-card h2 { font-size: clamp(26px, 2.8vw, 36px); line-height: 1.2; }
.solution-page .paginaweb-intro-card h2::after { background: #ffbf25; }
.solution-page .paginaweb-flex { max-width: 1280px; gap: 18px; }
.solution-page .paginaweb-img-box { height: 220px; border: 1px solid var(--solution-line); box-shadow: 0 10px 30px rgba(19, 54, 92, .06); }
.solution-page .paginaweb-beneficios-section { padding: 34px 20px; background: #eaf2fa; }
.solution-page .paginaweb-precios-section { padding: 36px 20px; background: #112f59; }
.solution-page .paginaweb-precios-title { margin-bottom: 25px; font-size: clamp(26px, 2.8vw, 36px); }
.solution-page :is(.tv-info, .md-info, .cam-info, .luminarias-intro-card) h2 {
    font: 800 clamp(25px, 2.8vw, 35px)/1.2 'Poppins', 'Inter', Arial, sans-serif;
    letter-spacing: -.03em;
}
.solution-page :is(.tv-contenido, .md-contenido, .cam-main, .luminarias-container) :is(h2, h3),
.solution-page .paginaweb-flex :is(h2, h3) { color: var(--solution-ink); }
.solution-page :is(.restaurant-tag, .cafeteria-tag, .cevicheria-tag, .pizzeria-tag, .karaoke-tag, .recreos-tag, .hoteles-tag, .ferreteria-tag, .farmacia-tag, .hospital-tag, .escolar-tag, .creditos-tag, .section-tag, .section-mini-title) {
    background: #eaf2fa;
    border-color: #cbdfee;
    color: #2367a8;
}
.solution-page :is(.paginaweb-intro-card, .tv-beneficio, .md-beneficio, .cam-beneficio, .apafa-section .info-card, .apafa-section .benefit-card) {
    border: 1px solid var(--solution-line);
    border-radius: 16px;
    box-shadow: 0 10px 30px rgba(19, 54, 92, .06);
}
.solution-page .apafa-hero-visual { min-width: 0; display: grid; gap: 12px; transform: none; }
.solution-page .apafa-image-card { min-width: 0; }
.solution-page .apafa-floating-card { position: static; width: min(150px, 42%); justify-self: end; margin-top: -75px; z-index: 1; }
.solution-page .apafa-visual-highlights { padding: 18px; border: 1px solid var(--solution-line); border-radius: 16px; background: #fff; text-align: center; }
.solution-page .apafa-visual-highlights h3 { margin: 0 0 8px; color: var(--solution-ink); font-size: 18px; }
.solution-page .apafa-visual-highlights__icons { display: flex; justify-content: center; gap: 14px; font-size: 23px; }
.solution-page .apafa-visual-highlights__list { display: flex; flex-wrap: wrap; justify-content: center; gap: 5px 14px; margin-top: 8px; color: var(--solution-muted); font-size: 13px; }
.solution-page .apafa-gallery { display: flex; justify-content: center; gap: 16px; margin: 22px 0; }
.solution-page .apafa-gallery img { display: block; width: min(100%, 300px); height: auto; border: 1px solid var(--solution-line); border-radius: 16px; }
.solution-page .apafa-gallery-logo { margin: 22px 0; text-align: center; }
.solution-page .apafa-gallery-logo img { display: block; max-width: min(100%, 480px); height: auto; margin: 0 auto; border-radius: 16px; }
.solution-page .tv-contenido { --tv-primary: #17365c; --tv-primary-2: #2367a8; --tv-accent: #ffbf25; --tv-soft-2: #eaf2fa; }
.solution-page .luminarias-container { --azul: #2367a8; --azul-2: #ffbf25; --azul-3: #17365c; --bg2: #eaf2fa; --bg3: #dbe5f0; }
.solution-page .luminarias-intro-card { animation: none; background: #fff; }
.solution-page .luminarias-list-grid ul { margin: 0; padding: 0; list-style: none; }
.solution-page .luminarias-list-grid li { display: flex; align-items: center; gap: 9px; margin-bottom: 9px; padding: 10px 13px; border: 1px solid var(--solution-line); border-radius: 10px; background: #eaf2fa; color: var(--solution-ink); font-size: 14px; }
.solution-page .luminarias-list-grid li i { color: #2367a8; }
.solution-page .md-info,
.solution-page .md-beneficio,
.solution-page .md-plan,
.solution-page .md-faq-list {
    border: 1px solid var(--solution-line);
    background: #fff;
    box-shadow: 0 10px 30px rgba(19, 54, 92, .06);
}
.solution-page .md-info { padding: 24px; }
.solution-page .md-info h2,
.solution-page .md-planes-title,
.solution-page .md-faq-title { color: var(--solution-ink); letter-spacing: -.03em; }
.solution-page .md-info p,
.solution-page .md-text { color: var(--solution-muted); font-size: 15px; line-height: 1.7; }
.solution-page .md-list { gap: 10px; font-size: 14px; }
.solution-page .md-list li { padding: 9px 13px; border: 1px solid var(--solution-line); background: #eaf2fa; color: var(--solution-ink); }
.solution-page .md-beneficios-desc,
.solution-page .md-plan-title,
.solution-page .md-plan-precio span,
.solution-page .md-plan-list li::before { color: #2367a8; }
.solution-page .md-cotizar-btn { background: #17365c; }
.solution-page .md-cotizar-btn:hover { background: #2367a8; }
@media (max-width: 760px) {
    .solution-banner__inner { align-items: flex-start; flex-direction: column; gap: 15px; min-height: 0; padding: 22px 0; }
    .solution-banner p { font-size: 13px; }
    .solution-page :is(.restaurant-hero, .chifa-hero-section, .cafeteria-hero, .cevicheria-hero, .pizzeria-hero, .karaoke-hero, .recreos-hero, .hoteles-hero, .ferreteria-hero, .farmacia-hero, .hospital-hero, .escolar-hero, .creditos-hero, .apafa-main-content) { padding-top: 22px; padding-bottom: 25px; }
    .solution-page .apafa-hero { grid-template-columns: 1fr; gap: 20px; }
    .solution-page .apafa-hero-visual { transform: none; }
    .solution-page .apafa-gallery { flex-wrap: wrap; }
}
@media (max-width: 640px) {
    .solution-banner__inner { width: calc(100% - 28px); }
    .solution-page :is(.tv-contenido, .md-contenido, .cam-main, .luminarias-container, .paginaweb-flex) { margin-top: 20px; }
    .solution-page .paginaweb-intro-card { padding: 20px; }
}
