/* ================================================================
   CENTRO QUÍMICO — MAIN STYLESHEET
   ================================================================ */

/* === OVERRIDE ASTRA DEFAULTS === */
body.cq-site { padding: 0 !important; }
#page, .site, #content, .site-content, #primary, #main, .site-main,
.ast-container, .ast-plain-container #page, .entry-header,
.ast-separate-container, .ast-right-sidebar, .ast-left-sidebar { max-width: 100% !important; width: 100% !important; padding-left: 0 !important; padding-right: 0 !important; float: none !important; }
#ast-hf-menu-1, .ast-mobile-header-wrap,
.ast-primary-header-bar, .ast-above-header-section, .ast-below-header-section,
.ast-breadcrumbs-wrapper, .astra-breadcrumbs, #ast-header-menu,
.main-header-bar-wrap, .ast-site-header-sticky-outer-wrap,
footer.ast-footer-area, .ast-footer-area { display: none !important; }
.site-content .ast-container { padding: 0 !important; max-width: 100% !important; }
#page, .site, .site-main { padding: 0 !important; margin: 0 !important; }
.ast-separate-container .ast-article-single { padding: 0 !important; }
.entry-content { margin: 0 !important; }
.wp-site-blocks > *:first-child { margin-top: 0 !important; }
/* === VARIABLES === */
:root { --cq-blue-dark: #0B3D91; --cq-blue: #1565C0; --cq-blue-light: #1976D2; --cq-blue-bg: #0E4DA4; --cq-orange: #F26522; --cq-orange-dark: #D4551A; --cq-green: #4CAF50; --cq-green-dark: #388E3C; --cq-purple: #7B2D8B; --cq-white: #FFFFFF; --cq-gray-light: #F5F7FA; --cq-gray: #6B7280; --cq-text: #1A1A2E; --cq-border: #E2E8F0; --cq-shadow: 0 4px 20px rgba(11,61,145,.12); --cq-radius: 12px; --cq-transition: .25s ease; }
/* === RESET & BASE === */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.cq-site { font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, sans-serif; color: var(--cq-text); background: #fff; margin: 0; padding: 0; line-height: 1.6; }
body.cq-site img { max-width: 100%; height: auto; }
body.cq-site a { text-decoration: none; color: var(--cq-blue); }
body.cq-site h1,h2,h3,h4,h5,h6 { font-family: 'Montserrat', sans-serif; font-weight: 700; line-height: 1.2; }
/* Ocultar todo lo de Astra que no necesitamos */
#ast-hf-menu-1 { display: none !important; }
#page { padding: 0 !important; margin: 0 !important; }
.ast-article-single, .ast-woocommerce-container { padding: 0 !important; }
.ast-container { padding: 0 !important; max-width: 100% !important; }
#content.ast-container { padding: 0 !important; }
.entry-content { max-width: 100% !important; padding: 0 !important; margin: 0 !important; }
.site-content { padding: 0 !important; }
.comments-area { max-width: 900px; margin: 0 auto; padding: 40px 20px; }
/* ================================================================
   HEADER
   ================================================================ */
.cq-header { position: sticky; top: 0; z-index: 1000; background: var(--cq-blue-dark); box-shadow: 0 2px 10px rgba(0,0,0,.15); }
.cq-header-top { display: flex; align-items: center; justify-content: space-between; padding: 12px 40px; background: #0053a8; /* azul plantilla */ border-bottom: 1px solid rgba(255,255,255,.12); }
.cq-logo { display: flex; align-items: center; gap: 10px; text-decoration: none; }
.cq-logo img { height: 56px; width: auto; }
.cq-logo-text { line-height: 1.1; }
.cq-logo-text .cq-logo-brand { font-size: 1.6rem; font-weight: 900; color: #fff; letter-spacing: -0.5px; }
.cq-logo-text .cq-logo-brand span { color: #fff; }
.cq-logo-text .cq-logo-sub { font-size: .65rem; color: rgba(255,255,255,.7); font-weight: 500; }
.cq-header-seo { display: flex; flex-direction: column; gap: 2px; flex: 1 1 auto; max-width: 620px; }
.cq-header-seo span { color: #cdd8f3; font-size: 12px; line-height: 1.3; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cq-header-actions { display: flex; align-items: center; gap: 24px; }
.cq-header-wa { display: flex; align-items: center; gap: 8px; font-size: .85rem; font-weight: 600; color: #fff; }
.cq-header-wa .cq-wa-info small { font-size: .68rem; font-weight: 400; color: rgba(255,255,255,.75); display: block; max-width: 230px; line-height: 1.3; }
.cq-header-wa .cq-wa-number { font-size: 1.15rem; font-weight: 700; color: #fff; }
.cq-cart-icon { position: relative; display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; color: #fff; text-decoration: none; }
.cq-cart-icon svg { width: 26px; height: 26px; }
.cq-cart-count { position: absolute; top: -4px; right: -4px; background: var(--cq-orange); color: #fff; font-size: .65rem; font-weight: 700; width: 18px; height: 18px; border-radius: 50%; display: flex; align-items: center; justify-content: center; }
/* ===== NAVIGATION ===== */
.cq-nav { background: #0053a8; /* azul plantilla, mismo tono que header-top */ position: relative; }
.cq-nav-inner { display: flex; align-items: center; justify-content: flex-start; padding: 0 40px; gap: 4px; }
.cq-nav ul { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 4px; width: 100%; }
.cq-nav ul li.cq-nav-contacto { margin-left: auto; }
.cq-nav ul li { position: relative; }
.cq-nav ul li a { display: flex; align-items: center; gap: 4px; padding: 14px 16px; color: rgba(255,255,255,.9); font-size: .82rem; font-weight: 600; text-transform: uppercase; letter-spacing: .5px; transition: color var(--cq-transition); white-space: nowrap; }
.cq-nav ul li a:hover, .cq-nav ul li.current-menu-item > a { color: #fff; }
.cq-nav ul li a svg { width: 12px; height: 12px; flex-shrink: 0; }
.cq-nav-contacto a { background: var(--cq-blue-light) !important; border-radius: 4px; color: #fff !important; margin-left: 8px; padding: 10px 20px !important; }
.cq-nav-contacto a:hover { background: var(--cq-blue) !important; }
/* Dropdown */
.cq-nav ul li ul { display: none; position: absolute; top: 100%; left: 0; background: #fff; min-width: 220px; box-shadow: 0 8px 24px rgba(0,0,0,.15); border-radius: 0 0 var(--cq-radius) var(--cq-radius); flex-direction: column; gap: 0; z-index: 999; }
.cq-nav ul li:hover > ul { display: flex; }
.cq-nav ul li ul li a { color: var(--cq-text) !important; padding: 10px 16px; font-size: .8rem; border-bottom: 1px solid var(--cq-border); text-transform: none; }
.cq-nav ul li ul li:last-child a { border-bottom: none; }
.cq-nav ul li ul li a:hover { background: var(--cq-gray-light); color: var(--cq-blue) !important; }
/* ===== MEGA-MENÚ ESTUDIOS ===== */
.cq-has-megamenu { position: static !important; }
.cq-submenu-toggle { display: none; }
.cq-megamenu { display: none; position: absolute; top: 100%; left: 0; width: 100%; background: #fff; box-shadow: 0 12px 40px rgba(11,61,145,.18); border-top: 3px solid var(--cq-orange); border-radius: 0 0 16px 16px; z-index: 1000; max-height: calc(100vh - 140px); overflow-y: auto; overscroll-behavior: contain; }
.cq-has-megamenu:hover .cq-megamenu { display: block; }
.cq-megamenu-inner { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 0; padding: 28px 32px 24px; max-width: 1200px; margin: 0 auto; }
.cq-megamenu-col { padding: 0 20px; border-right: 1px solid var(--cq-border); }
.cq-megamenu-col:last-of-type { border-right: none; }
.cq-megamenu-cat-title { display: flex !important; align-items: center; justify-content: space-between; font-size: .7rem !important; font-weight: 800 !important; text-transform: uppercase !important; letter-spacing: .1em !important; color: var(--cq-blue-dark) !important; padding: 0 0 10px 0 !important; border-bottom: 2px solid var(--cq-blue-dark) !important; margin-bottom: 12px !important; white-space: normal !important; background: transparent !important; }
.cq-megamenu-cat-title:hover { color: var(--cq-orange) !important; }
.cq-megamenu-count { background: var(--cq-blue-dark); color: #fff; font-size: .65rem; font-weight: 700; padding: 2px 7px; border-radius: 20px; line-height: 1.4; }
.cq-megamenu-col ul { list-style: none !important; padding: 0 !important; margin: 0 !important; display: block !important; position: static !important; background: transparent !important; box-shadow: none !important; min-width: 0 !important; flex-direction: unset !important; }
.cq-megamenu-col ul li { display: block !important; }
.cq-megamenu-col ul li a { display: flex !important; align-items: flex-start; gap: 6px; padding: 6px 0 !important; font-size: .82rem !important; color: var(--cq-gray) !important; border-bottom: none !important; white-space: normal !important; line-height: 1.4 !important; background: transparent !important; text-transform: none !important; font-weight: 400 !important; }
.cq-megamenu-col ul li a svg { margin-top: 3px; color: var(--cq-orange); flex-shrink: 0; }
.cq-megamenu-col ul li a:hover { color: var(--cq-blue-dark) !important; background: transparent !important; }
/* Columna CTA */
.cq-megamenu-col-cta { border-right: none !important; border-left: 1px solid var(--cq-border); display: flex; align-items: center; justify-content: center; }
.cq-megamenu-cta-box { text-align: center; padding: 16px; color: var(--cq-blue-dark); }
.cq-megamenu-cta-box svg { color: var(--cq-blue-dark); margin-bottom: 10px; }
.cq-megamenu-cta-box p { font-size: .8rem; color: var(--cq-gray); margin: 0 0 14px; line-height: 1.4; }
.cq-megamenu-cta-box .cq-btn { font-size: .75rem; padding: 10px 16px; white-space: nowrap; }
/* Footer del mega-menú */
.cq-megamenu-footer { display: flex; align-items: center; gap: 12px; border-top: 1px solid var(--cq-border); padding: 12px 32px; background: var(--cq-gray-light); border-radius: 0 0 16px 16px; font-size: .78rem; color: var(--cq-gray); }
.cq-megamenu-footer a { display: inline-flex; align-items: center; gap: 5px; font-weight: 700; color: var(--cq-blue-dark) !important; font-size: .78rem; text-transform: none !important; padding: 0 !important; background: transparent !important; border-bottom: none !important; }
.cq-megamenu-footer a:hover { color: var(--cq-orange) !important; }
/* Mobile Nav Toggle */
.cq-nav-toggle { display: none; background: none; border: none; cursor: pointer; padding: 12px 20px; color: #fff; }
/* ================================================================
   HERO / SLIDER
   ================================================================ */
.cq-hero { position: relative; overflow: hidden; width: 100%; min-height: 0; height: auto; }
/* Cuando el slider usa banners de imagen, el alto se adapta a la proporcion
   del banner (1920x700) para mostrarlo COMPLETO, con un tope razonable. */
.cq-hero .cq-hero-img { display: block; width: 100%; height: auto; min-height: 0; aspect-ratio: auto; max-height: none; object-fit: contain; object-position: center; }
.cq-slide { /* Todos los slides superpuestos: SOLO el .active es visible. Sin cross-fade: el slide inactivo se oculta al instante para que NUNCA coexistan dos textos visibles (evita el texto encimado). */ position: absolute; inset: 0; /* Blindaje total: el slide inactivo NO se renderiza (display:none). Solo el .active se muestra -> imposible texto encimado. */ display: none; align-items: center; background-size: cover; background-position: center; z-index: 1; }
.cq-slide.active { display: flex; z-index: 2; }
/* ===== Modo IMAGEN: el banner ya trae el diseno completo =====
   Se muestra la imagen integra, sin texto HTML encima (evita duplicado). */
.cq-slide-img { padding: 0; display: flex; align-items: center; justify-content: center; background: transparent; }
.cq-slide-imglink { display: block; width: 100%; height: auto; line-height: 0; }
.cq-slide-banner { display: block; width: 100%; height: auto; max-width: none; object-fit: contain; object-position: center; }
.cq-slide-nobanner { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; }
.cq-slide-nobanner h1 { color: #fff; font-size: 2.6rem; font-weight: 900; }
.cq-slide-overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.1) 100%); }
.cq-slide-content { position: relative; z-index: 2; flex: 1; padding: 60px 80px; max-width: 620px; }
.cq-slide-badge { display: inline-block; background: var(--cq-orange); color: #fff; font-size: .7rem; font-weight: 700; padding: 4px 12px; border-radius: 20px; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 12px; }
.cq-slide h1 { color: #fff; font-size: 3.4rem; font-weight: 900; margin: 0 0 8px; line-height: 1.05; text-shadow: 0 3px 14px rgba(0,0,0,.28); letter-spacing: -.5px; }
.cq-slide-includes { color: rgba(255,255,255,.9); font-size: .9rem; font-weight: 600; margin: 16px 0 8px; }
.cq-slide-items { list-style: none; padding: 0; margin: 0 0 20px; }
.cq-slide-items li { color: #fff; font-size: .88rem; padding: 3px 0; display: flex; align-items: center; gap: 8px; }
.cq-slide-items li::before { content: '•'; color: var(--cq-orange); font-size: 1.2rem; }
.cq-slide-price-wrap { margin-bottom: 24px; }
.cq-slide-price-label { color: rgba(255,255,255,.8); font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; }
.cq-slide-price { color: #fff; font-size: 2.8rem; font-weight: 900; }
.cq-slide-actions { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; }
.cq-slide-btn { display: inline-flex; align-items: center; gap: 8px; padding: 12px 24px; border-radius: 50px; font-weight: 700; font-size: .88rem; border: none; cursor: pointer; transition: all .2s; }
.cq-slide-btn-wa { background: #25D366; color: #fff; }
.cq-slide-btn-wa:hover { background: #1da851; color: #fff; }
.cq-slide-btn-web { background: rgba(255,255,255,.2); color: #fff; border: 1px solid rgba(255,255,255,.5); }
.cq-slide-btn-web:hover { background: rgba(255,255,255,.35); color: #fff; }
.cq-slide-image-wrap { position: relative; z-index: 2; flex-shrink: 0; }
.cq-slide-image-wrap img { height: 420px; width: auto; object-fit: contain; }
/* Indicaciones box (right side of slide) */
.cq-slide-indicaciones { position: absolute; right: 80px; top: 50%; transform: translateY(-50%); background: rgba(255,255,255,.95); border-radius: var(--cq-radius); padding: 20px 24px; width: 240px; z-index: 3; }
.cq-slide-indicaciones h4 { background: var(--cq-orange); color: #fff; margin: -20px -24px 12px; padding: 8px 16px; border-radius: var(--cq-radius) var(--cq-radius) 0 0; font-size: .8rem; text-align: center; text-transform: uppercase; }
.cq-slide-indicaciones ul { list-style: none; padding: 0; margin: 0; }
.cq-slide-indicaciones ul li { font-size: .8rem; color: var(--cq-text); padding: 3px 0; line-height: 1.4; }
.cq-slide-indicaciones ul li::before { content: '•'; color: var(--cq-blue); margin-right: 6px; }
/* Slider arrows */
.cq-slider-prev, .cq-slider-next { position: absolute; top: 50%; transform: translateY(-50%); z-index: 10; background: rgba(255,255,255,.25); border: none; width: 44px; height: 44px; border-radius: 50%; cursor: pointer; display: flex; align-items: center; justify-content: center; color: #fff; transition: background .2s; }
.cq-slider-prev { left: 20px; }
.cq-slider-next { right: 20px; }
.cq-slider-prev:hover, .cq-slider-next:hover { background: rgba(255,255,255,.45); }
.cq-slider-dots { position: absolute; bottom: 16px; left: 50%; transform: translateX(-50%); display: flex; gap: 8px; z-index: 10; }
.cq-slider-dot { width: 10px; height: 10px; border-radius: 50%; background: rgba(255,255,255,.5); border: none; cursor: pointer; padding: 0; }
.cq-slider-dot.active { background: #fff; }
/* ================================================================
   SEARCH BAR
   ================================================================ */
.cq-search-section { background: #fff; padding: 30px 40px; display: flex; justify-content: center; }
.cq-search-box { background: #fff; border: 2px solid var(--cq-border); border-radius: 12px; padding: 24px 32px; max-width: 700px; width: 100%; box-shadow: 0 4px 20px rgba(0,0,0,.06); }
.cq-search-box h3 { color: var(--cq-blue); font-size: 1rem; font-weight: 700; margin: 0 0 12px; }
.cq-search-wrap { position: relative; display: flex; gap: 8px; }
#cq-search-input { flex: 1; padding: 12px 16px; border: 1px solid var(--cq-border); border-radius: 8px; font-size: .9rem; font-family: inherit; outline: none; transition: border-color .2s; }
#cq-search-input:focus { border-color: var(--cq-blue); }
.cq-search-submit { background: var(--cq-blue); color: #fff; border: none; padding: 12px 20px; border-radius: 8px; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: background .2s; }
.cq-search-submit:hover { background: var(--cq-blue-dark); }
.cq-search-submit svg { width: 18px; height: 18px; }
#cq-search-results { position: absolute; top: calc(100% + 4px); left: 0; right: 52px; background: #fff; border: 1px solid var(--cq-border); border-radius: 8px; box-shadow: var(--cq-shadow); display: none; z-index: 100; overflow: hidden; }
.cq-search-result-item { display: flex; justify-content: space-between; align-items: center; padding: 10px 16px; border-bottom: 1px solid var(--cq-border); color: var(--cq-text); text-decoration: none; font-size: .88rem; transition: background .15s; }
.cq-search-result-item:hover { background: var(--cq-gray-light); }
.cq-search-result-item:last-child { border-bottom: none; }
.cq-search-price { color: var(--cq-blue); font-weight: 600; font-size: .82rem; }
.cq-search-no-results { padding: 16px; text-align: center; color: var(--cq-gray); font-size: .88rem; }
/* ================================================================
   BIENVENIDA SECTION
   ================================================================ */
.cq-welcome { padding: 70px 80px; display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; max-width: 1200px; margin: 0 auto; }
.cq-welcome-text h2 { color: var(--cq-blue-dark); font-size: 2rem; margin: 0 0 8px; }
.cq-welcome-text h2 span { color: var(--cq-orange); }
.cq-welcome-text p { color: var(--cq-gray); font-size: .9rem; line-height: 1.8; margin-bottom: 16px; }
.cq-welcome-text strong { color: var(--cq-blue); }
.cq-welcome-image { position: relative; }
.cq-welcome-image img { border-radius: var(--cq-radius); width: 100%; object-fit: cover; }
.cq-welcome-icon { position: absolute; top: -20px; right: -20px; width: 80px; height: 80px; background: var(--cq-orange); border-radius: 50%; display: flex; align-items: center; justify-content: center; }
.cq-welcome-icon svg { width: 40px; height: 40px; color: #fff; }
/* ================================================================
   FEATURE STRIP (3 columns)
   ================================================================ */
.cq-features { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; }
.cq-feature { padding: 40px 36px; display: flex; align-items: center; gap: 20px; color: #fff; }
.cq-feature:nth-child(1) { background: var(--cq-purple); }
.cq-feature:nth-child(2) { background: var(--cq-orange); }
.cq-feature:nth-child(3) { background: var(--cq-blue); }
.cq-feature-icon { flex-shrink: 0; }
.cq-feature-icon img { width: 60px; height: 60px; object-fit: contain; }
.cq-feature-icon svg { width: 50px; height: 50px; }
.cq-feature-text h3 { font-size: 1.1rem; font-weight: 700; margin: 0 0 4px; }
.cq-feature-text p { font-size: .82rem; margin: 0; opacity: .9; }
/* ================================================================
   HOW IT WORKS (3 steps)
   ================================================================ */
.cq-how-it-works { padding: 70px 40px; text-align: center; background: var(--cq-blue); }
.cq-how-it-works .cq-section-title { color: #fff; }
.cq-how-it-works .cq-section-subtitle { color: rgba(255,255,255,.8); }
.cq-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; max-width: 900px; margin: 40px auto 0; }
.cq-step { background: var(--cq-blue-dark); border-radius: var(--cq-radius); padding: 36px 24px; color: #fff; transition: transform .2s; }
.cq-step:hover { transform: translateY(-4px); }
.cq-step-icon { width: 70px; height: 70px; border-radius: 50%; background: var(--cq-orange); display: flex; align-items: center; justify-content: center; margin: 0 auto 16px; }
.cq-step-icon svg { width: 34px; height: 34px; color: #fff; }
.cq-step h3 { font-size: 1rem; font-weight: 700; margin: 0 0 8px; }
.cq-step p { font-size: .82rem; opacity: .8; margin: 0; }
.cq-comprar-btn { display: inline-block; margin-top: 40px; background: var(--cq-orange); color: #fff; padding: 14px 40px; border-radius: 50px; font-weight: 700; font-size: .9rem; text-transform: uppercase; letter-spacing: 1px; transition: background .2s; }
.cq-comprar-btn:hover { background: var(--cq-orange-dark); color: #fff; }
/* ================================================================
   SECTION HEADER
   ================================================================ */
.cq-section-header { text-align: center; margin-bottom: 40px; }
.cq-section-title { font-size: 1.8rem; font-weight: 800; color: var(--cq-blue-dark); margin: 0 0 8px; }
.cq-section-title span { color: var(--cq-blue-light); }
.cq-section-subtitle { color: var(--cq-gray); font-size: .9rem; margin: 0 0 4px; }
.cq-section-micro { color: #bbb; font-size: .8rem; margin: 0; }
/* ================================================================
   BENEFICIOS / CHECK UPS
   ================================================================ */
.cq-beneficios { padding: 70px 40px; background: #fff; }
.cq-checkups-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; max-width: 1100px; margin: 0 auto; align-items: stretch; }
.cq-checkup-card { border-radius: var(--cq-radius); overflow: hidden; box-shadow: 0 2px 16px rgba(0,0,0,.07); border: 1px solid var(--cq-border); transition: transform .2s, box-shadow .2s; display: flex; flex-direction: column; height: 100%; }
.cq-checkup-card:hover { transform: translateY(-4px); box-shadow: var(--cq-shadow); }
.cq-checkup-img { width: 100%; height: 200px; object-fit: cover; display: block; flex-shrink: 0; }
.cq-checkup-body { padding: 20px; display: flex; flex-direction: column; flex: 1; }
.cq-checkup-body h3 { font-size: 1.1rem; margin: 0 0 4px; color: var(--cq-text); line-height: 1.3; /* 2 lineas fijas para alinear titulos */ min-height: calc(1.1rem * 1.3 * 2); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.cq-checkup-body h3 span { color: var(--cq-blue); }
.cq-checkup-body p { font-size: .83rem; color: var(--cq-gray); margin: 0 0 16px; line-height: 1.6; /* altura fija = 3 lineas exactas para que el boton quede parejo */ height: calc(0.83rem * 1.6 * 3); overflow: hidden; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; }
.cq-checkup-body .cq-ver-estudio-btn { display: inline-block; padding: 8px 20px; margin-top: auto; align-self: flex-start; border: 2px solid var(--cq-blue); border-radius: 6px; color: var(--cq-blue); font-size: .82rem; font-weight: 700; text-transform: uppercase; letter-spacing: .5px; transition: all .2s; }
.cq-checkup-body .cq-ver-estudio-btn:hover { background: var(--cq-blue); color: #fff; }
/* ================================================================
   MICROBIOLOGÍA CTA  — foto izquierda | naranja derecha
   ================================================================ */
.cq-micro-cta { display: grid; grid-template-columns: 1fr 1fr; min-height: 420px; background: none; padding: 0; gap: 0; }
/* Foto — ocupa todo el alto del bloque */
.cq-micro-cta-image { overflow: hidden; border-radius: 0; min-height: 420px; }
.cq-micro-cta-image img { width: 100%; height: 100%; min-height: 420px; object-fit: cover; object-position: center top; display: block; border-radius: 0; }
/* Lado naranja */
.cq-micro-cta-text { background: var(--cq-orange); padding: 60px 56px; display: flex; flex-direction: column; justify-content: center; position: relative; overflow: hidden; }
/* Círculo decorativo de fondo */
.cq-micro-cta-text::before { content: ''; position: absolute; top: -80px; right: -80px; width: 380px; height: 380px; background: rgba(255,255,255,.08); border-radius: 50%; pointer-events: none; }
.cq-micro-cta-text::after { content: ''; position: absolute; bottom: -60px; right: 40px; width: 200px; height: 200px; background: rgba(255,255,255,.06); border-radius: 50%; pointer-events: none; }
.cq-micro-cta-text .cq-micro-badge { display: inline-block; background: rgba(255,255,255,.2); color: #fff; font-size: .72rem; font-weight: 800; padding: 4px 12px; border-radius: 4px; text-transform: uppercase; letter-spacing: .08em; margin-bottom: 14px; width: fit-content; }
.cq-micro-cta-text h2 { color: #fff; font-size: 1.6rem; line-height: 1.25; margin: 0 0 16px; font-weight: 800; }
.cq-micro-cta-text h2 strong,
.cq-micro-cta-text h2 span { color: #fff; font-weight: 900; }
.cq-micro-cta-text p { color: rgba(255,255,255,.88); font-size: .88rem; line-height: 1.75; margin: 0 0 6px; }
.cq-micro-cta-text p strong { color: #fff; }
.cq-solicitar-btn { display: inline-block; margin-top: 22px; width: fit-content; background: var(--cq-blue-dark); color: #fff !important; padding: 12px 28px; border-radius: 6px; font-weight: 700; font-size: .82rem; text-transform: uppercase; letter-spacing: .06em; transition: background .2s; }
.cq-solicitar-btn:hover { background: #092d6e; color: #fff !important; }

/* ================================================================
   MICROBIOLOGÍA — BANNER CTA CON IMAGEN DE FONDO
   ================================================================ */
.cq-micro-banner {
    width: 100%;
    margin: 0;
    display: flex;
    align-items: center;
    aspect-ratio: 1920 / 498;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.cq-micro-banner-inner {
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 40px;
}

.cq-micro-banner-text {
    max-width: 520px;
    margin-left: 42%;
    color: #fff;
}

.cq-micro-title {
    margin: 0 0 14px;
    color: #fff;
    font-size: 28px;
    font-weight: 400;
    line-height: 1.25;
}

.cq-micro-title strong {
    font-weight: 800;
}

.cq-micro-p {
    margin: 0 0 10px;
    color: #fff;
    font-size: 15px;
    line-height: 1.5;
}

.cq-micro-p strong {
    font-weight: 700;
}

.cq-micro-btn {
    display: inline-block;
    margin-top: 10px;
    padding: 14px 28px;
    border-radius: 6px;
    background: #1f7ae0;
    color: #fff !important;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .5px;
    text-decoration: none;
    transition: background .2s;
}

.cq-micro-btn:hover {
    background: #1565c0;
}

/* ================================================================
   ALIADOS
   ================================================================ */
.cq-aliados { padding: 60px 40px; background: var(--cq-gray-light); }
.cq-aliados-grid { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 24px 48px; max-width: 1200px; margin: 24px auto 0; }
.cq-aliados-grid + .cq-aliados-grid { margin-top: 28px; }
.cq-aliado-item { opacity: .9; transition: opacity .2s, transform .2s; display: flex; align-items: center; justify-content: center; }
.cq-aliado-item:hover { opacity: 1; transform: translateY(-2px); }
.cq-aliado-item img { max-height: 60px; max-width: 140px; width: auto; height: auto; object-fit: contain; }

@media (max-width: 768px){.cq-aliados-grid { gap: 20px 28px; }
.cq-aliado-item img { max-height: 44px; max-width: 100px; }
}
/* ================================================================
   FOOTER
   ================================================================ */
.cq-footer { background: #0053a8; /* azul plantilla exacto rgb(0,83,168) */ color: rgba(255,255,255,.8); padding: 55px 40px 30px; }
/* CABECERA: logo (izq) + WhatsApp grande (der) */
.cq-footer-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 40px; flex-wrap: wrap; margin-bottom: 38px; }
.cq-footer-brand .cq-logo-text { line-height: 1.1; }
.cq-footer-brand .cq-logo-brand { color: #fff !important; font-size: 1.9rem; font-weight: 900; letter-spacing: .5px; }
.cq-footer-brand .cq-logo-brand span { color: #fff !important; }
.cq-footer-brand .cq-logo-sub { color: rgba(255,255,255,.6) !important; font-size: .7rem; margin-top: 4px; }
.cq-footer-contact { text-align: right; }
.cq-footer-pregunta { font-size: .82rem; opacity: .8; margin: 0 0 6px; max-width: 320px; margin-left: auto; }
.cq-footer-wa, .cq-footer-wa span { color: #fff !important; }
.cq-footer-wa { display: inline-flex; align-items: center; gap: 8px; justify-content: flex-end; color: #fff !important; font-size: 1.5rem; font-weight: 800; text-decoration: none; }
.cq-footer-wa svg { width: 26px; height: 26px; }
.cq-footer-email { font-size: .8rem; margin-top: 8px; opacity: .7; }
/* COLUMNAS: enlaces + 5 sucursales */
.cq-footer-cols { display: grid; grid-template-columns: .85fr repeat(5, 1fr); gap: 24px; margin-bottom: 34px; }
.cq-footer-col h4 { color: #fff; font-size: .9rem; font-weight: 700; margin: 0 0 12px; letter-spacing: .3px; }
.cq-footer-col ul { list-style: none; padding: 0; margin: 0; }
.cq-footer-col ul li { margin-bottom: 7px; }
.cq-footer-col ul li a { color: rgba(255,255,255,.78); font-size: .82rem; transition: color .2s; }
.cq-footer-col ul li a:hover { color: #fff; }
.cq-footer-sucursal { font-size: .76rem; line-height: 1.6; }
.cq-footer-sucursal h4 span { color: #fff; }
.cq-footer-sucursal p { margin: 0 0 6px; opacity: .82; }
.cq-footer-divider { border: none; border-top: 1px solid rgba(255,255,255,.18); margin: 0 0 18px; }
.cq-footer-bottom { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px; }
.cq-footer-bottom p { font-size: .78rem; opacity: .7; margin: 0; }
.cq-footer-bottom-links { display: flex; gap: 10px; }
.cq-footer-bottom-links a { font-size: .78rem; color: #fff !important; opacity: .85; }
.cq-footer-bottom-links a:hover { color: #fff !important; opacity: 1; text-decoration: underline; }
/* BARRA FINAL: redes (izq) + disclaimer (der) */
.cq-footer-legal-row { display: flex; justify-content: space-between; align-items: flex-start; gap: 30px; margin-top: 20px; flex-wrap: wrap; }
.cq-footer-social { display: flex; gap: 10px; flex: 0 0 auto; }
.cq-footer-social a { color: #0053a8; background: #fff; border-radius: 5px; width: 26px; height: 26px; display: inline-flex; align-items: center; justify-content: center; transition: opacity .2s; }
.cq-footer-social a:hover { opacity: .85; }
.cq-footer-social svg { width: 15px; height: 15px; }
.cq-footer-legal { font-size: .68rem; opacity: .6; margin: 0; max-width: 720px; text-align: right; line-height: 1.5; }
/* WhatsApp Float */
.cq-wa-float { position: fixed; bottom: 24px; right: 24px; z-index: 9999; background: #25D366; color: #fff; width: 56px; height: 56px; border-radius: 50%; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 16px rgba(0,0,0,.25); transition: transform .2s, box-shadow .2s; }
.cq-wa-float:hover { transform: scale(1.1); box-shadow: 0 8px 24px rgba(0,0,0,.3); color: #fff; }
.cq-wa-float svg { width: 30px; height: 30px; }
/* ================================================================
   INNER PAGE BANNER
   ================================================================ */
.cq-page-banner { background: var(--cq-blue-dark); padding: 50px 80px; color: #fff; }
.cq-page-banner h1 { font-size: 2.2rem; margin: 0 0 8px; }
.cq-page-banner .cq-breadcrumb { font-size: .82rem; opacity: .7; }
.cq-page-banner .cq-breadcrumb a { color: rgba(255,255,255,.7); }
.cq-page-banner .cq-breadcrumb span { color: var(--cq-orange); }
/* Variante de encabezado sobre fondo blanco (página Sucursales, igual que plantilla 04) */
.cq-page-banner.cq-page-banner-light { background: #fff; color: var(--cq-text); padding: 40px 40px 0; max-width: 1180px; margin: 0 auto; }
.cq-page-banner.cq-page-banner-light h1 { color: var(--cq-text); }
.cq-page-banner.cq-page-banner-light .cq-breadcrumb { color: var(--cq-gray); opacity: 1; }
/* ================================================================
   ESTUDIOS PAGE
   ================================================================ */
.cq-search-section { background: #fff; padding: 24px 40px; border-bottom: 1px solid var(--cq-border); }
.cq-search-box h3 { color: var(--cq-blue-dark); font-size: 1rem; margin: 0 0 10px; font-weight: 700; }
.cq-estudios-page { padding: 40px 40px 60px; max-width: 1280px; margin: 0 auto; }
.cq-estudios-layout { display: grid; grid-template-columns: 240px 1fr; gap: 32px; }
/* SIDEBAR */
.cq-cat-sidebar { background: var(--cq-blue-dark); border-radius: var(--cq-radius); padding: 0; height: fit-content; position: sticky; top: 100px; overflow: hidden; }
.cq-cat-sidebar h3 { color: #fff; font-size: .85rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; margin: 0; padding: 16px 20px; background: rgba(0,0,0,.15); }
.cq-cat-list { list-style: none; padding: 8px 0; margin: 0; }
.cq-cat-list li { border-bottom: 1px solid rgba(255,255,255,.07); }
.cq-cat-list li:last-child { border-bottom: none; }
.cq-cat-list li a { display: flex; align-items: center; justify-content: space-between; padding: 10px 20px; color: rgba(255,255,255,.75); font-size: .83rem; font-weight: 500; transition: all .18s; gap: 8px; }
.cq-cat-list li a:hover { background: rgba(255,255,255,.08); color: #fff; padding-left: 26px; }
.cq-cat-list li.current a { background: var(--cq-orange); color: #fff; font-weight: 700; }
.cq-cat-list li.current a:hover { padding-left: 20px; }
.cq-cat-count { background: rgba(255,255,255,.18); color: #fff; font-size: .65rem; font-weight: 700; padding: 2px 7px; border-radius: 20px; flex-shrink: 0; line-height: 1.5; }
.cq-cat-list li.current a .cq-cat-count { background: rgba(255,255,255,.3); }
/* Entrega same-day card inside sidebar */
.cq-entrega-card { background: var(--cq-orange); padding: 24px 20px; color: #fff; text-align: center; }
.cq-entrega-card h3 { font-size: .95rem; margin: 0 0 4px; line-height: 1.3; }
.cq-entrega-card p { font-size: .75rem; margin: 0; opacity: .9; }
/* BREADCRUMB */
.cq-estudios-breadcrumb { display: flex; align-items: center; gap: 6px; font-size: .78rem; color: #aaa; margin-bottom: 20px; }
.cq-estudios-breadcrumb a { color: #aaa; }
.cq-estudios-breadcrumb a:hover { color: var(--cq-blue); }
.cq-bc-active { color: var(--cq-blue); font-weight: 600; }
/* HEADER */
.cq-estudios-header { margin-bottom: 24px; }
.cq-estudios-header h2 { color: var(--cq-text); font-size: 1.4rem; margin: 0 0 6px; font-weight: 700; }
.cq-estudios-header h2 span { color: var(--cq-blue-light); }
.cq-estudios-header p { color: var(--cq-gray); font-size: .88rem; margin: 0 0 2px; }
.cq-estudios-seo { font-size: .75rem !important; color: #ccc !important; }
/* GRID DE TARJETAS */
.cq-estudios-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.cq-estudio-card { background: #fff; border-radius: var(--cq-radius); box-shadow: 0 2px 12px rgba(0,0,0,.07); overflow: hidden; transition: transform .2s, box-shadow .2s; display: flex; flex-direction: column; }
.cq-estudio-card:hover { transform: translateY(-4px); box-shadow: var(--cq-shadow); }
.cq-card-img-link { display: block; overflow: hidden; }
.cq-estudio-card-img,
.cq-estudio-card img { width: 100%; height: 210px; object-fit: cover; display: block; transition: transform .3s; }
.cq-estudio-card:hover .cq-estudio-card-img,
.cq-estudio-card:hover img { transform: scale(1.04); }
.cq-card-img-placeholder { height: 210px; background: linear-gradient(135deg, #f0f4f8, #e2e8f0); display: flex; align-items: center; justify-content: center; }
.cq-estudio-card-body { padding: 18px 20px 20px; display: flex; flex-direction: column; flex: 1; }
.cq-estudio-card-body h3 { font-size: .98rem; font-weight: 700; color: var(--cq-text); margin: 0 0 8px; line-height: 1.3; }
.cq-estudio-card-body h3 a { color: inherit; }
.cq-estudio-card-body h3 a:hover { color: var(--cq-blue-dark); }
.cq-estudio-card-body p { font-size: .82rem; color: var(--cq-gray); margin: 0 0 10px; line-height: 1.65; /* altura fija = 4 líneas exactas — hace que todos los botones queden igual */ height: calc(0.82rem * 1.65 * 4); overflow: hidden; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; }
.cq-card-tags { display: flex; flex-wrap: wrap; gap: 5px; margin-bottom: 10px; min-height: 24px; }
.cq-card-tag { font-size: .68rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--cq-blue-dark); background: rgba(11,61,145,.07); padding: 3px 8px; border-radius: 20px; }
.cq-card-tag:hover { background: var(--cq-blue-dark); color: #fff; }
.cq-ver-estudio-btn { display: block; text-align: center; border: 2px solid var(--cq-blue-dark); color: var(--cq-blue-dark) !important; padding: 9px 16px; border-radius: 6px; font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; margin-top: auto; transition: all .2s; }
.cq-ver-estudio-btn:hover { background: var(--cq-blue-dark); color: #fff !important; }
/* No resultados */
.cq-no-results { text-align: center; padding: 60px 20px; color: var(--cq-gray); }
.cq-no-results svg { color: #ccc; margin-bottom: 16px; }
.cq-no-results p { margin: 0 0 20px; }
/* ================================================================
   SINGLE ESTUDIO
   ================================================================ */
.cq-single-estudio { max-width: 1100px; margin: 0 auto; padding: 60px 40px; }
.cq-single-layout { display: grid; grid-template-columns: 1fr 320px; gap: 40px; }
.cq-single-main {}
.cq-single-main h1 { color: var(--cq-blue-dark); font-size: 2rem; margin: 0 0 8px; }
.cq-single-desc h2 { color: var(--cq-blue); font-size: 1.1rem; margin: 0 0 12px; }
.cq-single-desc p { color: var(--cq-gray); font-size: .9rem; line-height: 1.8; }
.cq-single-section { margin: 30px 0; }
.cq-single-section h2 { color: var(--cq-blue-dark); font-size: 1rem; font-weight: 700; margin: 0 0 12px; }
.cq-single-list { list-style: none; padding: 0; margin: 0; }
.cq-single-list li { display: flex; gap: 8px; align-items: flex-start; padding: 5px 0; font-size: .88rem; color: var(--cq-gray); }
.cq-single-list li::before { content: '•'; color: var(--cq-blue); font-size: 1.2rem; flex-shrink: 0; margin-top: -2px; }
.cq-single-layout > aside { position: sticky; top: 100px; align-self: start; }
.cq-price-box { background: var(--cq-blue-dark); color: #fff; border-radius: var(--cq-radius); padding: 24px; position: static; }
.cq-price-box h3 { font-size: 1rem; margin: 0 0 4px; opacity: .85; color: #fff !important; }
.cq-price-box .cq-big-price { font-size: 2.2rem; font-weight: 900; margin: 4px 0 20px; color: #fff !important; }
.cq-price-box .cq-big-price small { font-size: 1rem; font-weight: 400; opacity: .7; }
.cq-add-cart-btn, .cq-buy-now-btn { display: block; width: 100%; padding: 14px; border-radius: 8px; border: none; cursor: pointer; font-weight: 700; font-size: .9rem; text-align: center; margin-bottom: 10px; transition: all .2s; }
.cq-add-cart-btn { background: var(--cq-blue-light); color: #fff; }
.cq-add-cart-btn:hover { background: var(--cq-blue); }
.cq-buy-now-btn { background: var(--cq-green); color: #fff; }
.cq-buy-now-btn:hover { background: var(--cq-green-dark); }
.cq-price-sucursal { background: var(--cq-orange); border-radius: var(--cq-radius); padding: 20px; margin-top: 20px; color: #fff; }
.cq-price-sucursal h4 { margin: 0 0 8px; font-size: .9rem; }
.cq-price-sucursal p { font-size: .8rem; margin: 4px 0; opacity: .9; }
/* Similar studies */
.cq-similar-estudios { padding: 60px 40px; background: var(--cq-gray-light); }
.cq-similar-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; max-width: 1100px; margin: 30px auto 0; }
/* ================================================================
   NOSOTROS PAGE
   ================================================================ */
.cq-nosotros { max-width: 1200px; margin: 0 auto; }
.cq-nosotros-intro { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; padding: 70px 80px; }
.cq-nosotros-intro h2 { color: var(--cq-blue-dark); font-size: 2rem; margin: 0 0 8px; }
.cq-nosotros-intro p { color: var(--cq-gray); font-size: .9rem; line-height: 1.8; margin-bottom: 12px; }
.cq-nosotros-intro strong { color: var(--cq-blue-dark); }
.cq-nosotros-img { border-radius: var(--cq-radius); width: 100%; height: 400px; object-fit: cover; }
.cq-mision-vision { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; padding: 0 80px 60px; }
.cq-mv-card { border: 2px solid var(--cq-border); border-radius: var(--cq-radius); padding: 32px; }
.cq-mv-icon { width: 60px; height: 60px; background: var(--cq-orange); border-radius: 50%; display: flex; align-items: center; justify-content: center; margin-bottom: 16px; }
.cq-mv-icon svg { width: 30px; height: 30px; color: #fff; }
.cq-mv-card h3 { color: var(--cq-blue-dark); font-size: 1.1rem; margin: 0 0 8px; }
.cq-mv-card p { color: var(--cq-gray); font-size: .88rem; line-height: 1.7; margin: 0; }
.cq-que-hacemos { padding: 60px 80px; background: var(--cq-gray-light); }
.cq-qh-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 30px; }
.cq-qh-card { background: #fff; border-radius: var(--cq-radius); overflow: hidden; box-shadow: 0 2px 12px rgba(0,0,0,.06); }
.cq-qh-card img { width: 100%; height: 200px; object-fit: cover; }
.cq-qh-card-body { padding: 20px; }
.cq-qh-card-body h3 span { color: var(--cq-blue); }
.cq-qh-card-body p { font-size: .85rem; color: var(--cq-gray); margin-bottom: 12px; }
.cq-valores { padding: 60px 80px; }
.cq-valores-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; }
.cq-valor { border: 1px solid var(--cq-border); border-radius: var(--cq-radius); padding: 24px; text-align: center; }
.cq-valor h3 { color: var(--cq-blue); font-size: .95rem; margin: 0 0 8px; }
.cq-valor p { font-size: .82rem; color: var(--cq-gray); margin: 0; }
.cq-nosotros-gallery { display: grid; grid-template-columns: repeat(4,1fr); gap: 4px; }
.cq-nosotros-gallery img { width: 100%; height: 200px; object-fit: cover; }
/* ================================================================
   SUCURSALES PAGE
   ================================================================ */
.cq-sucursales-page { max-width: 1180px; margin: 0 auto; padding: 50px 40px 70px; }
.cq-sucursal-item { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; margin-bottom: 36px; }
.cq-sucursal-img { width: 100%; height: 340px; object-fit: cover; border-radius: var(--cq-radius); box-shadow: 0 6px 24px rgba(11,61,145,.14); }
.cq-sucursal-info { padding: 40px; background: #fff; border: 1px solid var(--cq-border); border-radius: var(--cq-radius); box-shadow: 0 6px 24px rgba(11,61,145,.10); }
.cq-sucursal-info h2 { font-size: 1.5rem; margin: 0 0 16px; color: var(--cq-text); }
.cq-sucursal-info h2 span { color: var(--cq-blue); }
.cq-sucursal-detail { font-size: .88rem; color: var(--cq-gray); margin: 8px 0; line-height: 1.6; }
.cq-ver-mapa { display: inline-block; margin-top: 20px; background: var(--cq-blue); color: #fff !important; padding: 10px 24px; border-radius: 6px; font-weight: 700; font-size: .85rem; text-transform: uppercase; transition: background .2s; }
.cq-ver-mapa:hover { background: var(--cq-blue-dark); color: #fff !important; }
/* ================================================================
   CONTACTO PAGE
   ================================================================ */
.cq-contacto-page { min-height: 70vh; width: 100%; box-sizing: border-box; background: url('') center/cover no-repeat; position: relative; display: flex; align-items: center; justify-content: center; padding: 70px 40px; }
.cq-contacto-inner { max-width: 1100px; width: 100%; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; justify-items: center; }
.cq-contacto-inner > * { width: 100%; max-width: 520px; }
.cq-contact-form-wrap { background: #fff; border-radius: 16px; padding: 36px 36px 0; box-shadow: var(--cq-shadow); overflow: hidden; display: flex; flex-direction: column; }
.cq-contact-form-wrap h2 { color: var(--cq-blue-dark); font-size: 1.45rem; margin: 0 0 18px; text-align: center; }
.cq-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.cq-form-group { margin-bottom: 16px; }
.cq-form-group label { display: block; font-size: .78rem; font-weight: 600; margin-bottom: 5px; color: var(--cq-text); }
.cq-checkout-section-title { font-size: .72rem; font-weight: 700; letter-spacing: 1px; color: var(--cq-blue-dark); margin: 0 0 14px; text-transform: uppercase; }
/* Campos con icono azul a la izquierda */
.cq-form-group { position: relative; }
.cq-form-icon-field { position: relative; }
.cq-form-icon-field .cq-field-icon { position: absolute; left: 0; top: 0; bottom: 0; width: 38px; background: var(--cq-blue); border-radius: 8px 0 0 8px; display: flex; align-items: center; justify-content: center; }
.cq-form-icon-field .cq-field-icon svg { width: 16px; height: 16px; stroke: #fff; }
.cq-form-icon-field .cq-form-input,
.cq-form-icon-field .cq-form-select { padding-left: 50px; }
.cq-form-input, .cq-form-textarea, .cq-form-select { width: 100%; padding: 12px 16px; border: 1px solid var(--cq-border); border-radius: 8px; font-size: .9rem; font-family: inherit; outline: none; transition: border-color .2s; }
.cq-form-input:focus, .cq-form-textarea:focus { border-color: var(--cq-blue); }
.cq-form-textarea { resize: vertical; min-height: 120px; }
.cq-form-submit { width: calc(100% + 72px); margin: 18px -36px 0; padding: 16px; background: var(--cq-green); color: #fff; border: none; border-radius: 0; font-weight: 700; font-size: .85rem; cursor: pointer; text-transform: uppercase; letter-spacing: 1.5px; transition: background .2s; }
.cq-form-submit:hover { background: var(--cq-green-dark); }
.cq-contacto-info { background: #fff; border-radius: 16px; padding: 40px 36px; box-shadow: var(--cq-shadow); display: flex; flex-direction: column; justify-content: center; gap: 16px; align-self: start; }
.cq-contacto-info > div:first-child { display: flex; flex-direction: column; gap: 12px; }
.cq-contacto-info .cq-ver-estudio-btn { background: var(--cq-blue) !important; color: #fff !important; padding: 11px 22px; border: none !important; border-radius: 8px; font-weight: 700; font-size: .78rem; letter-spacing: 1px; text-decoration: none; align-self: start; display: inline-block !important; width: auto !important; margin-top: 4px; }
.cq-contacto-info .cq-ver-estudio-btn:hover { background: var(--cq-blue-dark) !important; color: #fff !important; }
.cq-contacto-info h3 { font-size: 1.3rem; color: var(--cq-blue-dark); margin: 0 0 4px; }
.cq-contacto-info h3 span { color: var(--cq-blue); }
.cq-contacto-info .cq-big-wa { display: flex; align-items: center; gap: 10px; font-size: 1.6rem; font-weight: 800; color: var(--cq-blue-dark); text-decoration: none; }
.cq-contacto-info .cq-big-wa svg { width: 32px; height: 32px; color: #25D366; }
.cq-contacto-info .cq-contact-email { font-size: .9rem; color: var(--cq-gray); }
#cq-contact-msg { display: none; padding: 12px 16px; border-radius: 8px; margin-top: 12px; font-size: .88rem; }
.cq-msg-success { background: #e8f5e9; color: #2e7d32; }
.cq-msg-error { background: #ffebee; color: #c62828; }
/* ================================================================
   BLOG
   ================================================================ */
.cq-blog-page { max-width: 1100px; margin: 0 auto; padding: 60px 40px; display: grid; grid-template-columns: 1fr 300px; gap: 40px; }
.cq-posts-grid { display: grid; gap: 32px; }
.cq-post-card { background: #fff; border-radius: var(--cq-radius); box-shadow: 0 2px 12px rgba(0,0,0,.06); overflow: hidden; transition: transform .2s; }
.cq-post-card:hover { transform: translateY(-4px); }
.cq-post-card img { width: 100%; height: 220px; object-fit: cover; }
.cq-post-card-body { padding: 24px; }
.cq-post-meta { font-size: .78rem; color: var(--cq-gray); margin-bottom: 8px; }
.cq-post-card-body h2 { font-size: 1.15rem; margin: 0 0 8px; color: var(--cq-blue-dark); }
.cq-post-card-body p { font-size: .85rem; color: var(--cq-gray); margin: 0 0 16px; }
.cq-leer-mas { color: var(--cq-blue); font-weight: 700; font-size: .85rem; }
.cq-blog-sidebar {}
.cq-sidebar-widget { background: var(--cq-gray-light); border-radius: var(--cq-radius); padding: 24px; margin-bottom: 24px; }
.cq-sidebar-widget h4 { color: var(--cq-blue-dark); font-size: .95rem; margin: 0 0 16px; border-bottom: 2px solid var(--cq-blue); padding-bottom: 8px; }
/* Single Post */
.cq-single-post { max-width: 800px; margin: 0 auto; padding: 60px 40px; }
.cq-single-post h1 { color: var(--cq-blue-dark); font-size: 2rem; margin: 0 0 16px; }
.cq-single-post .entry-content { font-size: .95rem; line-height: 1.9; color: var(--cq-text); }
.cq-single-post img { border-radius: 8px; margin: 20px 0; }
/* ================================================================
   CARRITO PAGE
   ================================================================ */
.cq-carrito-page { max-width: 1000px; margin: 0 auto; padding: 60px 40px; }
.cq-carrito-page h1 { color: var(--cq-blue-dark); font-size: 1.8rem; margin: 0 0 30px; }
/* ================================================================
   CHECKOUT PAGE
   ================================================================ */
.cq-checkout-page { max-width: 1100px; margin: 0 auto; padding: 60px 40px; display: grid; grid-template-columns: 1fr 320px; gap: 40px; }
.cq-checkout-form-wrap { background: #fff; border-radius: var(--cq-radius); padding: 40px; box-shadow: 0 2px 16px rgba(0,0,0,.07); }
.cq-checkout-form-wrap h2 { color: var(--cq-blue-dark); font-size: 1.4rem; margin: 0 0 24px; }
.cq-checkout-section-title { font-size: .78rem; font-weight: 800; text-transform: uppercase; letter-spacing: 1px; color: var(--cq-gray); margin: 24px 0 16px; padding-bottom: 6px; border-bottom: 1px solid var(--cq-border); }
.cq-payment-icons { display: flex; gap: 8px; margin-bottom: 16px; }
.cq-payment-icon { height: 24px; width: auto; }
.cq-payment-method { display: flex; gap: 16px; margin-bottom: 16px; }
.cq-payment-option { display: flex; align-items: center; gap: 6px; cursor: pointer; font-size: .88rem; }
.cq-checkout-sidebar { position: sticky; top: 100px; align-self: start; }
.cq-checkout-sidebar .cq-price-box { position: static; }
.cq-checkout-sidebar .cq-price-box h3 { color: rgba(255,255,255,.8); font-size: .9rem; }
.cq-checkout-sidebar .cq-price-box .cq-order-item { border-bottom: 1px solid rgba(255,255,255,.15); padding: 10px 0; }
.cq-checkout-sidebar .cq-price-box .cq-order-item:last-child { border-bottom: none; }
.cq-checkout-sidebar .cq-price-box .cq-order-name { font-size: .88rem; color: rgba(255,255,255,.9); }
.cq-checkout-sidebar .cq-price-box .cq-order-price { font-size: .88rem; color: #fff; font-weight: 700; }
.cq-checkout-total { font-size: 1.5rem; font-weight: 900; color: #fff; margin: 12px 0 20px; }
.cq-checkout-submit { width: 100%; padding: 16px; background: var(--cq-green); color: #fff; border: none; border-radius: 8px; font-weight: 800; font-size: 1rem; cursor: pointer; text-transform: uppercase; letter-spacing: 1px; transition: background .2s; }
.cq-checkout-submit:hover { background: var(--cq-green-dark); }
.cq-sucursal-box { background: var(--cq-orange); border-radius: var(--cq-radius); padding: 24px; margin-top: 20px; color: #fff; }
.cq-sucursal-box h3 { font-size: .95rem; margin: 0 0 12px; }
.cq-sucursal-box p { font-size: .8rem; margin: 4px 0; opacity: .9; }
/* ================================================================
   PROMOCIONES PAGE
   ================================================================ */
.cq-promociones-page { max-width: 1100px; margin: 0 auto; padding: 70px 40px; }
.cq-promo-header { text-align: center; margin-bottom: 50px; }
.cq-promo-header h1 { color: var(--cq-blue-dark); font-size: 2rem; margin: 0 0 8px; }
.cq-promo-header h1 span { color: var(--cq-blue); }
.cq-promos-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 30px; }
.cq-promo-card { border-radius: var(--cq-radius); overflow: hidden; box-shadow: 0 2px 16px rgba(0,0,0,.07); transition: transform .2s; }
.cq-promo-card:hover { transform: translateY(-6px); }
.cq-promo-card img { width: 100%; height: 220px; object-fit: cover; }
.cq-promo-card-body { padding: 24px; }
.cq-promo-card-body h3 { font-size: 1.1rem; color: var(--cq-text); margin: 0 0 8px; }
.cq-promo-card-body h3 span { color: var(--cq-blue); }
.cq-promo-card-body p { font-size: .83rem; color: var(--cq-gray); margin: 0 0 16px; }
/* ================================================================
   MICROBIOLOGÍA PAGE
   ================================================================ */
.cq-micro-page { max-width: 1280px; margin: 0 auto; }
/* Intro */
.cq-micro-intro { padding: 48px 60px 60px; }
.cq-micro-intro-text { text-align: left; margin-bottom: 40px; }
.cq-micro-entry h2,
.cq-micro-entry .wp-block-heading { color: var(--cq-text); font-size: 1.45rem; margin: 0 0 10px; line-height: 1.3; font-weight: 700; }
.cq-micro-entry p { color: var(--cq-gray); font-size: .9rem; line-height: 1.75; margin: 0 0 6px; }
.cq-micro-entry strong { color: var(--cq-blue-dark); }
.cq-micro-seo { font-size: .74rem !important; color: #bbb !important; margin-top: 4px !important; }
/* Categorías grid */
.cq-micro-categories { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; width: 100%; max-width: 1280px; margin: 0 auto; align-items: stretch; }
/* Tarjeta */
.cq-micro-cat-card { border-radius: var(--cq-radius); overflow: hidden; box-shadow: 0 2px 20px rgba(0,0,0,.08); transition: transform .2s, box-shadow .2s; display: flex; flex-direction: column; background: #fff; }
.cq-micro-cat-card:hover { transform: translateY(-5px); box-shadow: var(--cq-shadow); }
/* Imagen con badge */
.cq-micro-cat-img-wrap { position: relative; overflow: hidden; }
.cq-micro-cat-img-wrap img,
.cq-micro-cat-img-placeholder { width: 100%; height: 240px; object-fit: cover; object-position: center; display: block; transition: transform .35s; }
.cq-micro-cat-img-placeholder { background: linear-gradient(135deg,#0e4da4,#1976d2); }
.cq-micro-cat-card:hover .cq-micro-cat-img-wrap img { transform: scale(1.05); }
/* Badge icono sobre la imagen */
.cq-micro-cat-badge { position: absolute; bottom: 12px; left: 12px; width: 48px; height: 48px; background: rgba(255,255,255,.92); border-radius: 50%; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 12px rgba(0,0,0,.15); color: var(--cq-blue-dark); }
/* Cuerpo */
.cq-micro-cat-body { padding: 22px 24px 24px; display: flex; flex-direction: column; flex: 1; }
.cq-micro-cat-body h3 { font-size: 1.15rem; font-weight: 700; color: var(--cq-text); margin: 0 0 10px; line-height: 1.25; }
.cq-micro-cat-body h3 span { color: var(--cq-blue-light); }
.cq-micro-cat-body p { font-size: .85rem; color: var(--cq-gray); margin: 0; line-height: 1.65; flex: 1; }
/* Botón exclusivo tarjetas micro — fondo sólido azul */
.cq-micro-ver-btn { display: block; text-align: center; margin-top: 18px; background: var(--cq-blue-dark); color: #fff !important; padding: 10px 16px; border-radius: 6px; font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; transition: background .2s; }
.cq-micro-ver-btn:hover { background: var(--cq-blue); color: #fff !important; }
/* Logo mini dentro del slider de micro */
.cq-micro-slide-logo { display: inline-flex; flex-direction: column; background: rgba(255,255,255,.12); border-radius: 8px; padding: 6px 16px; margin-bottom: 16px; gap: 2px; }
.cq-micro-slide-brand { font-size: 1.1rem; font-weight: 900; color: #fff; letter-spacing: -.3px; }
.cq-micro-slide-brand span { color: var(--cq-orange); }
.cq-micro-slide-sub { font-size: .6rem; color: rgba(255,255,255,.8); }
/* Imagen derecha del slide de micro */
.cq-slide-bg-right { position: absolute; right: 0; top: 0; height: 100%; width: 45%; object-fit: cover; object-position: left center; mask-image: linear-gradient(to left, rgba(0,0,0,.7) 60%, transparent 100%); -webkit-mask-image: linear-gradient(to left, rgba(0,0,0,.7) 60%, transparent 100%); pointer-events: none; }
/* Sucursales */
.cq-micro-sucursales { padding: 60px; background: #fff; }
.cq-micro-sucursales-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; max-width: 1100px; margin: 0 auto; }
.cq-micro-suc-left h2 { color: var(--cq-blue-dark); font-size: 1.6rem; margin: 0 0 8px; }
.cq-micro-suc-left h2 span { color: var(--cq-blue-light); }
.cq-micro-suc-left > p { color: var(--cq-gray); font-size: .9rem; margin: 0 0 24px; }
.cq-micro-suc-left h3 { font-size: .95rem; color: var(--cq-blue-dark); margin: 0 0 14px; }
.cq-ventajas-list { list-style: none; padding: 0; margin: 0; }
.cq-ventajas-list li { display: flex; align-items: center; gap: 10px; padding: 9px 0; border-bottom: 1px solid var(--cq-border); font-size: .88rem; color: var(--cq-text); }
.cq-ventajas-list li:last-child { border-bottom: none; }
.cq-check { color: var(--cq-green); font-weight: 800; font-size: 1rem; flex-shrink: 0; }
.cq-micro-suc-right img,
.cq-suc-img-placeholder { width: 100%; height: 320px; object-fit: cover; border-radius: var(--cq-radius); box-shadow: var(--cq-shadow); }
.cq-suc-img-placeholder { background: linear-gradient(135deg,var(--cq-blue-dark),var(--cq-blue-light)); }
/* Disclaimer del slider de micro */
.cq-slide-disclaimer { background: rgba(0,0,0,.35); color: rgba(255,255,255,.75); font-size: .67rem; line-height: 1.5; padding: 10px 40px; text-align: center; }
/* Slide logo mini */
.cq-slide-logo { display: inline-block; background: rgba(255,255,255,.12); border-radius: 8px; padding: 6px 14px; margin-bottom: 16px; color: #fff; }
/* Items en 2 columnas */
.cq-slide-items-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 20px; margin-bottom: 20px; }
/* Precio badge */
.cq-slide-price-badge { display: inline-block; background: var(--cq-orange); color: #fff; font-size: .7rem; font-weight: 800; padding: 3px 10px; border-radius: 4px; margin-bottom: 4px; letter-spacing: .08em; }
.cq-slide-bottom { display: flex; align-items: flex-end; gap: 32px; flex-wrap: wrap; }
.cq-micro-ventajas { padding: 60px 80px; background: var(--cq-gray-light); }
.cq-ventajas-list { max-width: 600px; }
.cq-micro-ventajas .cq-ventajas-list li { padding: 8px 0; font-size: .9rem; color: var(--cq-text); display: flex; gap: 10px; align-items: center; }
/* ================================================================
   PAGINACIÓN
   ================================================================ */
.cq-pagination { margin: 40px 0; }
.cq-pagination .nav-links { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 6px; }
.cq-pagination .page-numbers { display: flex; align-items: center; justify-content: center; min-width: 40px; height: 40px; padding: 0 12px; border-radius: 8px; border: 1.5px solid var(--cq-border); background: #fff; font-size: .85rem; font-weight: 600; color: var(--cq-blue-dark); transition: all .2s; line-height: 1; }
.cq-pagination .page-numbers:hover { background: var(--cq-blue-dark); color: #fff; border-color: var(--cq-blue-dark); }
.cq-pagination .page-numbers.current { background: var(--cq-blue-dark); color: #fff; border-color: var(--cq-blue-dark); pointer-events: none; }
.cq-pagination .page-numbers.dots { border: none; background: transparent; color: var(--cq-gray); pointer-events: none; }
.cq-pagination .page-numbers.prev,
.cq-pagination .page-numbers.next { background: var(--cq-gray-light); border-color: var(--cq-border); font-size: 1rem; font-weight: 700; }
.cq-pagination .page-numbers.prev:hover,
.cq-pagination .page-numbers.next:hover { background: var(--cq-orange); border-color: var(--cq-orange); color: #fff; }
/* ================================================================
   COMMENTS
   ================================================================ */
.comments-area { max-width: 800px; margin: 40px auto; padding: 0 20px 60px; }
.comments-title { color: var(--cq-blue-dark); margin-bottom: 24px; }
.comment { border-bottom: 1px solid var(--cq-border); padding: 20px 0; }
.comment-author .avatar { border-radius: 50%; margin-right: 12px; }
.comment-metadata { font-size: .78rem; color: var(--cq-gray); }
.comment-content { font-size: .9rem; margin-top: 8px; }
.comment-form input, .comment-form textarea { width: 100%; padding: 10px 14px; border: 1px solid var(--cq-border); border-radius: 8px; font-family: inherit; font-size: .9rem; }
.comment-form-submit input[type=submit] { background: var(--cq-blue); color: #fff; border: none; padding: 12px 32px; border-radius: 8px; cursor: pointer; font-weight: 700; font-size: .9rem; }

/* ================================================================
   RESPONSIVE
   ================================================================ */
@media (max-width: 1024px) {
.cq-micro-categories { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 100%; gap: 22px; }
.cq-micro-banner-inner { max-width: 100%; padding: 0 32px; }
.cq-micro-banner-text { margin-left: 40%; max-width: 480px; }
.cq-micro-title { font-size: 24px; }
.cq-micro-p { font-size: 14px; }
.cq-header-top { padding: 10px 20px; }
.cq-header-seo { display: none; }
.cq-hero { height: auto; min-height: 460px; }
.cq-hero.cq-hero-img { min-height: 0; }
.cq-slide { min-height: 460px; }
.cq-slide.cq-slide-img { min-height: 0; }
.cq-slide-content { padding: 40px; }
.cq-slide h1 { font-size: 2.2rem; }
.cq-welcome { padding: 50px 30px; gap: 40px; }
.cq-micro-cta { padding: 50px 40px; gap: 40px; }
.cq-nosotros-intro { padding: 50px 40px; }
.cq-mision-vision, .cq-que-hacemos, .cq-valores { padding: 40px; }
.cq-footer-cols { grid-template-columns: repeat(3, 1fr); }
.cq-footer-cols > .cq-footer-col:first-child { grid-column: 1/-1; }
}

@media (max-width: 768px) {
.cq-micro-banner { aspect-ratio: auto; padding: 32px 0; background: linear-gradient(135deg, #f15a22, #ff7a2f); }
.cq-micro-banner-inner { width: 100%; max-width: 100%; padding: 0 22px; }
.cq-micro-banner-text { width: 100%; max-width: none; margin-left: 0; padding: 0; }
.cq-micro-title { font-size: 22px; line-height: 1.3; margin-bottom: 14px; }
.cq-micro-p { font-size: 14px; line-height: 1.6; margin-bottom: 10px; }
.cq-micro-btn { margin-top: 12px; padding: 13px 22px; font-size: 13px; }
.cq-nav-inner { flex-wrap: wrap; }
.cq-nav ul { display: none; flex-direction: column; width: 100%; }
.cq-nav ul.cq-nav-open { display: flex; }
.cq-nav-toggle { display: flex; }
/* Submenus estandar colapsados por defecto en movil */
  .cq-nav li.menu-item-has-children > .sub-menu { display: none; position: static; box-shadow: none; background: rgba(0,0,0,.15); width:100%; }
.cq-nav li.menu-item-has-children.cq-sub-open > .sub-menu { display: block; }
.cq-nav .sub-menu li a { color:#fff !important; padding-left:34px !important; }
/* Flecha de toggle en items con hijos (solo movil) */
  .cq-submenu-toggle { display:inline-block !important; width:28px; height:28px; position:relative; vertical-align:middle; margin-left:6px; }
.cq-submenu-toggle::after { content:''; position:absolute; top:50%; left:50%; width:9px; height:9px; border-right:2px solid #fff; border-bottom:2px solid #fff; transform:translate(-50%,-65%) rotate(45deg); transition:transform .2s ease; }
.cq-has-megamenu.cq-mega-open > a .cq-submenu-toggle::after,
  .menu-item-has-children.cq-sub-open > a .cq-submenu-toggle::after { transform:translate(-50%,-35%) rotate(-135deg); }
.cq-megamenu { position: static; border-radius: 0; border-top: none; box-shadow: none; background: rgba(0,0,0,.1); }
.cq-megamenu-inner { grid-template-columns: 1fr; padding: 12px 20px; gap: 12px; }
.cq-megamenu-col { border-right: none; border-bottom: 1px solid rgba(255,255,255,.15); padding: 0 0 12px; }
.cq-megamenu-col-cta, .cq-megamenu-footer { display: none; }
.cq-megamenu-cat-title { color: #fff !important; border-bottom-color: rgba(255,255,255,.3) !important; }
.cq-megamenu-count { background: rgba(255,255,255,.3); }
.cq-megamenu-col ul li a { color: rgba(255,255,255,.8) !important; }
.cq-has-megamenu:hover .cq-megamenu { display: none; }
.cq-has-megamenu .cq-megamenu { display: none; }
.cq-has-megamenu.cq-mega-open .cq-megamenu { display: block; }
.cq-slide-image-wrap { display: none; }
.cq-slide-indicaciones { display: none; }
.cq-hero { height: auto; min-height: 420px; }
/* En modo banner de imagen NO ocultamos nada: la imagen completa se ve igual en movil */
  .cq-hero.cq-hero-img { min-height: 0; }
.cq-slide { min-height: 420px; }
.cq-slide.cq-slide-img { min-height: 0; }
.cq-slide-content { padding: 30px; max-width: 100%; }
.cq-slide h1 { font-size: 1.9rem; }
.cq-welcome { grid-template-columns: 1fr; padding: 40px 20px; }
.cq-features { grid-template-columns: 1fr; }
.cq-steps { grid-template-columns: 1fr; }
.cq-checkups-grid { grid-template-columns: 1fr; }
.cq-micro-cta { grid-template-columns: 1fr; }
.cq-micro-cta-image { min-height: 260px; }
.cq-micro-cta-text { padding: 40px 28px; }
.cq-micro-intro { padding: 32px 20px; }
.cq-micro-categories { grid-template-columns: 1fr; }
.cq-micro-sucursales { padding: 40px 20px !important; }
.cq-micro-sucursales-grid { grid-template-columns: 1fr; gap: 32px; }
.cq-slide-items-grid { grid-template-columns: 1fr; }
.cq-slide-bottom { flex-direction: column; gap: 16px; }
.cq-micro-ventajas { padding: 40px 20px; }
.cq-micro-sucursales { padding: 40px 20px !important; }
.cq-micro-sucursales .cq-micro-sucursales-grid { grid-template-columns: 1fr !important; }
.cq-estudios-layout { grid-template-columns: 1fr; }
.cq-cat-sidebar { position: static; }
.cq-estudios-grid { grid-template-columns: 1fr; }
.cq-single-layout { grid-template-columns: 1fr; }
.cq-nosotros-intro { grid-template-columns: 1fr; padding: 30px 20px; }
.cq-mision-vision { grid-template-columns: 1fr; padding: 20px; }
.cq-qh-grid { grid-template-columns: 1fr; }
.cq-valores-grid { grid-template-columns: 1fr 1fr; }
.cq-sucursal-item { grid-template-columns: 1fr; }
.cq-sucursal-info { border-left: 1px solid var(--cq-border); border-top: none; }
.cq-contacto-inner { grid-template-columns: 1fr; }
.cq-checkout-page { grid-template-columns: 1fr; }
.cq-promos-grid { grid-template-columns: 1fr; }
.cq-micro-categories { grid-template-columns: 1fr; }
.cq-nosotros-gallery { grid-template-columns: repeat(2,1fr); }
.cq-footer-cols { grid-template-columns: 1fr; }
.cq-footer-head { flex-direction: column; gap: 20px; }
.cq-footer-contact { text-align: left; }
.cq-footer-pregunta { margin-left: 0; }
.cq-footer-wa { justify-content: flex-start; }
.cq-footer-legal-row { flex-direction: column; gap: 16px; }
.cq-footer-legal { text-align: left; }
.cq-page-banner { padding: 30px 20px; }
.cq-similar-grid { grid-template-columns: 1fr; }
.cq-blog-page { grid-template-columns: 1fr; }
.cq-header-top { flex-wrap: wrap; gap: 10px; }
.cq-search-section { padding: 20px; }
}
/* ================================================================
   ESTILOS PARA CONTENIDO EDITABLE (bloques de WordPress / Gutenberg)
   Aplica a las áreas donde el admin edita texto desde Páginas → Editar
   ================================================================ */

/* Reset del margin global en estas secciones */
.cq-welcome-text.entry-content,
.cq-nosotros-entry.entry-content,
.cq-micro-entry.entry-content { margin: 0 !important; }
/* Tipografía del welcome (homepage) */
.cq-welcome-text.entry-content h1,
.cq-welcome-text.entry-content h2 { color: var(--cq-blue-dark); font-size: 2rem; margin: 0 0 12px; line-height: 1.25; }
.cq-welcome-text.entry-content h3 { color: var(--cq-blue); font-size: 1.1rem; margin: 20px 0 8px; }
.cq-welcome-text.entry-content p { color: var(--cq-gray); font-size: .9rem; line-height: 1.8; margin-bottom: 16px; }
.cq-welcome-text.entry-content strong { color: var(--cq-blue); }
/* Tipografía de Nosotros */
.cq-nosotros-entry.entry-content h1,
.cq-nosotros-entry.entry-content h2 { color: var(--cq-blue-dark); font-size: 1.8rem; margin: 0 0 12px; line-height: 1.25; }
.cq-nosotros-entry.entry-content h3 { color: var(--cq-blue); font-size: 1rem; margin: 20px 0 8px; }
.cq-nosotros-entry.entry-content p { color: var(--cq-gray); font-size: .9rem; line-height: 1.8; margin-bottom: 14px; }
.cq-nosotros-entry.entry-content strong { color: var(--cq-blue-dark); font-weight: 700; }
.cq-nosotros-entry.entry-content ul { padding-left: 20px; margin-bottom: 14px; }
.cq-nosotros-entry.entry-content ul li { color: var(--cq-gray); font-size: .9rem; line-height: 1.8; }
/* Tipografía de Microbiología */
.cq-micro-entry.entry-content h1,
.cq-micro-entry.entry-content h2 { color: var(--cq-blue-dark); font-size: 1.7rem; margin: 0 0 12px; line-height: 1.25; }
.cq-micro-entry.entry-content h3 { color: var(--cq-purple); font-size: 1rem; margin: 16px 0 8px; }
.cq-micro-entry.entry-content p { color: var(--cq-gray); font-size: .9rem; line-height: 1.8; margin-bottom: 14px; }
.cq-micro-entry.entry-content strong { color: var(--cq-blue-dark); font-weight: 700; }
/* ================================================================
   CLÍNICOS
   ================================================================ */
.cq-clinicos-section { padding: 60px 40px; background: var(--cq-gray-light); min-height: 400px; }
.cq-clinicos-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 28px; max-width: 1200px; margin: 0 auto; }
.cq-clinico-card { background: #fff; border-radius: var(--cq-radius); box-shadow: var(--cq-shadow); overflow: hidden; display: flex; flex-direction: column; transition: transform var(--cq-transition), box-shadow var(--cq-transition); }
.cq-clinico-card:hover { transform: translateY(-4px); box-shadow: 0 8px 32px rgba(11,61,145,.18); }
.cq-clinico-foto { position: relative; background: linear-gradient(135deg, var(--cq-blue-dark), var(--cq-blue)); }
.cq-clinico-img { width: 100%; height: 220px; object-fit: cover; display: block; }
.cq-clinico-avatar-placeholder { height: 220px; display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,.5); }
.cq-clinico-badge { position: absolute; bottom: 12px; left: 12px; background: var(--cq-orange); color: #fff; font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; padding: 4px 10px; border-radius: 20px; }
.cq-clinico-body { padding: 20px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.cq-clinico-nombre { font-size: 1.1rem; font-weight: 700; color: var(--cq-blue-dark); margin: 0; }
.cq-clinico-ciudad { display: flex; align-items: center; gap: 5px; font-size: .82rem; color: var(--cq-gray); margin: 0; }
.cq-clinico-ciudad svg { flex-shrink: 0; color: var(--cq-orange); }
.cq-clinico-direccion { font-size: .8rem; color: var(--cq-gray); margin: 0; line-height: 1.5; }
.cq-clinico-bio { font-size: .85rem; color: var(--cq-gray); margin: 0; line-height: 1.6; }
.cq-clinico-precio { font-size: .9rem; color: var(--cq-text); margin: 4px 0 0; }
.cq-clinico-precio strong { color: var(--cq-blue-dark); }
.cq-clinico-actions { display: flex; gap: 10px; margin-top: auto; padding-top: 12px; }
.cq-clinico-actions .cq-btn { display: inline-flex; align-items: center; gap: 6px; font-size: .8rem; padding: 8px 14px; flex: 1; justify-content: center; }
.cq-btn-green { background: #25D366; color: #fff; border-radius: 6px; font-weight: 700; transition: background var(--cq-transition); }
.cq-btn-green:hover { background: #1ebd5a; color: #fff; }

@media (max-width: 768px) {.cq-clinicos-section { padding: 40px 20px; }
.cq-clinicos-grid { grid-template-columns: 1fr; }
}
/* ===== Paginación de Promociones ===== */
.cq-promo-pagination { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:8px; margin:38px auto 10px; max-width:1200px; }
.cq-promo-pagination .cq-pg-link { display:inline-flex; align-items:center; justify-content:center; min-width:42px; height:42px; padding:0 14px; border-radius:8px; background:#fff; color:#0053A8; border:1px solid #cfe0f3; font-weight:600; font-size:15px; text-decoration:none; transition:all .15s ease; }
.cq-promo-pagination .cq-pg-link:hover { background:#0053A8; color:#fff; border-color:#0053A8; }
.cq-promo-pagination .cq-pg-current { background:#0053A8; color:#fff; border-color:#0053A8; cursor:default; }
.cq-promo-pagination .cq-pg-prev,
.cq-promo-pagination .cq-pg-next { font-weight:700; }
.cq-promo-pagination .cq-pg-dots { color:#7a8aa0; padding:0 4px; }

@media (max-width:600px){.cq-promo-pagination { gap:6px; }
.cq-promo-pagination .cq-pg-link { min-width:38px; height:38px; padding:0 10px; font-size:14px; }
}
/* ===== FIX: Footer contacto SIEMPRE en blanco (incluye movil) ===== */
.cq-footer .cq-footer-contact,
.cq-footer .cq-footer-contact p,
.cq-footer .cq-footer-contact a,
.cq-footer .cq-footer-contact a span,
.cq-footer .cq-footer-pregunta,
.cq-footer .cq-footer-wa,
.cq-footer .cq-footer-wa span,
.cq-footer .cq-footer-email,
.cq-footer-contact,
.cq-footer-contact p,
.cq-footer-contact a,
.cq-footer-contact a span,
.cq-footer-pregunta,
.cq-footer-wa,
.cq-footer-wa span,
.cq-footer-email { color: #ffffff !important; }

@media (max-width: 768px) {.cq-footer-contact,
  .cq-footer-contact *,
  .cq-footer-pregunta,
  .cq-footer-wa,
  .cq-footer-wa span,
  .cq-footer-email { color: #ffffff !important; opacity: 1 !important; }
}
/* ================================================================
   CARRITO — diseño profesional (vacío + con productos)
   ================================================================ */
/* Banner del carrito: título siempre blanco sobre fondo azul */
.cq-page-banner h1 { color: #fff !important; }
/* Botón del carrito en el header: siempre visible */
.cq-cart-icon { color: #fff !important; }
.cq-cart-icon svg { stroke: #fff !important; opacity: 1 !important; }
.cq-cart-icon:hover { opacity: .85; }
.cq-cart-icon .cq-cart-count { position: absolute; top: -5px; right: -6px; background: var(--cq-orange, #F47B20); color: #fff !important; font-size: .68rem; font-weight: 800; line-height: 1; min-width: 19px; height: 19px; padding: 0 4px; border-radius: 999px; border: 2px solid #0053a8; display: flex; align-items: center; justify-content: center; }
/* Contenedor de la página */
.cq-carrito-page { max-width: 1180px; margin: 0 auto; padding: 50px 40px 70px; }
/* ---------- Estado vacío ---------- */
.cq-cart-empty { text-align: center; padding: 60px 20px 80px; display: flex; flex-direction: column; align-items: center; gap: 6px; }
.cq-cart-empty-icon { color: #c7d2e3; margin-bottom: 10px; }
.cq-cart-empty-title { font-size: 1.6rem; font-weight: 800; color: #0B3D91; margin: 0 0 6px; }
.cq-cart-empty-text { font-size: .95rem; color: #6b7280; max-width: 460px; margin: 0 auto 22px; line-height: 1.6; }
/* ---------- Layout con productos ---------- */
.cq-cart-layout { display: grid; grid-template-columns: 1fr 360px; gap: 32px; align-items: start; }
.cq-cart-main { background: #fff; border: 1px solid #e6eaf0; border-radius: 14px; box-shadow: 0 6px 24px rgba(11,61,145,.06); overflow: hidden; }
.cq-cart-main-head { display: flex; align-items: baseline; justify-content: space-between; padding: 22px 26px; border-bottom: 1px solid #eef1f6; }
.cq-cart-title { font-size: 1.3rem; font-weight: 800; color: #0B3D91; margin: 0; }
.cq-cart-count-label, .cq-cart-main-head .cq-cart-count { position: static; background: transparent; border: 0; color: #6b7280 !important; font-size: .85rem; font-weight: 600; width: auto; height: auto; }
.cq-cart-items { padding: 8px 0; }
.cq-cart-item { display: grid; grid-template-columns: 76px 1fr auto auto 36px; gap: 18px; align-items: center; padding: 18px 26px; border-bottom: 1px solid #f1f4f9; }
.cq-cart-item:last-child { border-bottom: 0; }
.cq-cart-item-thumb img { width: 76px; height: 76px; object-fit: cover; border-radius: 10px; border: 1px solid #eef1f6; background: #f7f9fc; }
.cq-cart-item-name { font-size: .98rem; font-weight: 700; color: #1f2937; margin: 0 0 4px; line-height: 1.35; }
.cq-cart-item-unit { font-size: .82rem; color: #8a93a3; margin: 0; }
.cq-cart-item-qty { display: inline-flex; align-items: center; gap: 0; border: 1px solid #d7dee8; border-radius: 8px; overflow: hidden; background: #fff; }
.cq-qty-btn { width: 32px; height: 34px; border: 0; background: #f4f7fb; color: #0B3D91; font-size: 1.1rem; font-weight: 700; cursor: pointer; line-height: 1; display: flex; align-items: center; justify-content: center; transition: background .15s; }
.cq-qty-btn:hover { background: #e3ecf8; }
.cq-qty-val { min-width: 38px; text-align: center; font-weight: 700; color: #1f2937; font-size: .95rem; }
.cq-cart-item-sub { font-weight: 800; color: #0B3D91; font-size: 1rem; text-align: right; white-space: nowrap; }
.cq-remove-item { border: 0; background: transparent; color: #c0c6d0; cursor: pointer; width: 32px; height: 32px; border-radius: 8px; display: flex; align-items: center; justify-content: center; transition: color .15s, background .15s; }
.cq-remove-item:hover { color: #e53935; background: #fdecec; }
.cq-cart-continue { display: inline-flex; align-items: center; gap: 8px; margin: 6px 26px 22px; padding: 8px 0; color: #0053a8; font-weight: 700; font-size: .9rem; text-decoration: none; }
.cq-cart-continue:hover { text-decoration: underline; }
/* ---------- Resumen de orden ---------- */
.cq-cart-summary { background: #fff; border: 1px solid #e6eaf0; border-radius: 14px; box-shadow: 0 6px 24px rgba(11,61,145,.06); padding: 26px; position: sticky; top: 100px; }
.cq-summary-title { font-size: 1.1rem; font-weight: 800; color: #0B3D91; margin: 0 0 18px; }
.cq-summary-row { display: flex; justify-content: space-between; align-items: center; font-size: .92rem; color: #374151; margin: 10px 0; }
.cq-summary-muted span { color: #8a93a3; }
.cq-summary-divider { height: 1px; background: #eef1f6; margin: 16px 0; }
.cq-summary-total { font-size: 1.15rem; font-weight: 800; color: #0B3D91; }
.cq-summary-total span:last-child { color: #0B3D91; }
.cq-cart-summary .cq-btn { margin-top: 18px; }
.cq-summary-note { display: flex; align-items: center; justify-content: center; gap: 6px; font-size: .78rem; color: #8a93a3; margin: 14px 0 0; }
/* Botones (por si no existían) */
.cq-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; border-radius: 8px; font-weight: 700; text-decoration: none; cursor: pointer; border: 0; transition: background .2s, transform .05s; }
.cq-btn-primary { background: #0053a8; color: #fff !important; }
.cq-btn-primary:hover { background: #00407f; }
.cq-btn-lg { padding: 13px 30px; font-size: .92rem; }
.cq-btn-block { width: 100%; }

/* ---------- Responsive ---------- */
@media (max-width: 900px) {.cq-cart-layout { grid-template-columns: 1fr; }
.cq-cart-summary { position: static; }
}

@media (max-width: 600px) {.cq-carrito-page { padding: 30px 16px 50px; }
.cq-cart-item { grid-template-columns: 60px 1fr 32px; grid-template-areas: "thumb info remove" "thumb qty sub"; row-gap: 10px; column-gap: 12px; padding: 16px; }
.cq-cart-item-thumb { grid-area: thumb; }
.cq-cart-item-thumb img { width: 60px; height: 60px; }
.cq-cart-item-info { grid-area: info; }
.cq-cart-item-qty { grid-area: qty; }
.cq-cart-item-sub { grid-area: sub; align-self: center; }
.cq-remove-item { grid-area: remove; justify-self: end; }
}
/* ================================================================
   CHECKOUT - SEGURIDAD (reserva sin captura de tarjeta)
   ================================================================ */
.cq-secure-note { display: flex; align-items: flex-start; gap: 10px; background: #eef6ff; border: 1px solid #cfe4ff; border-radius: 10px; padding: 14px 16px; margin-top: 8px; color: #1a4d80; font-size: .82rem; line-height: 1.5; }
.cq-secure-note svg { flex-shrink: 0; margin-top: 2px; color: var(--cq-blue); }
.cq-secure-note strong { color: var(--cq-blue-dark); }
.cq-checkout-secure-badge { display: flex; align-items: center; justify-content: center; gap: 6px; margin-top: 12px; font-size: .72rem; letter-spacing: .3px; color: rgba(255,255,255,.85); }
.cq-checkout-secure-badge svg { flex-shrink: 0; }
/* ===== CHECKOUT: METODOS DE PAGO (tarjeta / sucursal) ===== */
.cq-payment-method { display:flex; flex-direction:column; gap:12px; margin:10px 0 4px; }
.cq-payment-option { display:flex; align-items:flex-start; gap:12px; padding:14px 16px; border:2px solid #e2e8f0; border-radius:12px; cursor:pointer; transition:border-color .2s, box-shadow .2s, background .2s; background:#fff; }
.cq-payment-option:hover { border-color:#b9c6e6; }
.cq-payment-option input[type=radio] { margin-top:3px; flex-shrink:0; width:18px; height:18px; accent-color:var(--cq-blue, #1565C0); cursor:pointer; }
.cq-payment-option:has(input[type=radio]:checked) { border-color:var(--cq-blue, #1565C0); box-shadow:0 0 0 3px rgba(21,101,192,.12); background:#f5f8ff; }
.cq-payment-option-body { display:flex; flex-direction:column; gap:3px; }
.cq-payment-option-title { display:flex; align-items:center; gap:8px; font-weight:700; color:var(--cq-blue, #1565C0); font-size:.98rem; }
.cq-payment-option-title svg { flex-shrink:0; }
.cq-payment-option-desc { font-size:.82rem; color:#64748b; line-height:1.4; }
/* Precio original antes del descuento */
.cq-price-box .cq-price-original { margin: 8px 0 2px; color: #b9c9e2; font-size: 16px; text-decoration: line-through; }
.cq-price-box .cq-price-original small { font-size: 11px; text-decoration: none; }
/* Etiqueta de descuento */
.cq-price-box .cq-discount-badge { display: inline-block; margin: 5px 0; padding: 5px 9px; border-radius: 4px; background: #f26522; color: #fff; font-size: 12px; font-weight: 700; }
/* Precio final */
.cq-price-box .cq-big-price { margin: 4px 0 16px; color: #fff; font-size: 34px; font-weight: 800; line-height: 1.15; }
.cq-price-box .cq-big-price small { font-size: 13px; font-weight: 400; }
/* ===== LISTA DE EXÁMENES EN TARJETAS ===== */

.cq-estudio-examenes { list-style: none !important; margin: 12px 0 18px !important; padding: 0 !important; }
.cq-estudio-examenes li { display: flex; align-items: flex-start; gap: 8px; margin: 0 0 9px !important; padding: 0 !important; list-style: none !important; font-size: 14px; line-height: 1.5; color: #555b6e; }
.cq-estudio-examenes li::before { content: none !important; display: none !important; }
.cq-examen-check { flex: 0 0 17px; display: inline-flex; align-items: center; justify-content: center; width: 17px; height: 17px; margin-top: 2px; color: #4CAF50; font-size: 16px; font-weight: 700; line-height: 1; }
.cq-examen-texto { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.cq-examen-tecnica { display: inline; font-size: 13px; font-weight: 600; line-height: inherit; color: #303448; }
/* =========================================
   LISTADO DE ESTUDIOS: ETIQUETA NOM
   ========================================= */

.cq-estudio-nom { display: inline-flex; align-items: center; max-width: 100%; width: 100%; box-sizing: border-box; margin: 8px 0 10px; padding: 6px 12px; background: #e8ebff; color: #4054b2; border-radius: 20px; font-size: 11px; font-weight: 600; line-height: 1.4; letter-spacing: 0; overflow-wrap: anywhere; }
/* Si la NOM contiene saltos de línea, evitar que se vea desordenada */
.cq-estudio-nom br { display: none; }
/* Descripción de la tarjeta */
.cq-estudio-descripcion { margin: 0 0 14px; color: #778397; font-size: 13px; line-height: 1.6; }
/* Lista de exámenes */
.cq-estudio-examenes { list-style: none !important; margin: 14px 0 20px !important; padding: 0 !important; }
.cq-estudio-examenes li { display: flex; align-items: flex-start; gap: 8px; margin: 0 0 9px !important; padding: 0 !important; list-style: none !important; color: #7b8798; font-size: 13px; line-height: 1.5; }
.cq-estudio-examenes li::before { content: none !important; display: none !important; }
.cq-examen-check { display: inline-flex; flex: 0 0 16px; align-items: center; justify-content: center; width: 16px; height: 18px; margin-top: 1px; color: #4caf50; font-size: 17px; font-weight: 700; line-height: 1; }
.cq-examen-texto { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.cq-examen-tecnica { color: #303448; font-size: 12px; font-weight: 600; }
/* Título consistente */
.cq-estudio-card-body h3 { margin-bottom: 2px; }
/* Mantener la categoría y el botón separados de los exámenes */
.cq-estudio-card-body .cq-card-tags { margin-top: 4px; margin-bottom: 14px; }

/* En móvil, conservar la etiqueta compacta */
@media (max-width: 600px) {.cq-estudio-nom { font-size: 10px; padding: 6px 10px; }
.cq-estudio-examenes li { font-size: 12px; }
}
/* ==========================================
   CENTRO QUÍMICO - TARJETAS UNIFORMES
   ========================================== */

/* Todas las tarjetas con la misma altura por fila */
.cq-estudios-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; gap: 24px; }
/* Tarjeta como columna flexible */
.cq-estudio-card { height: 100%; min-width: 0; display: flex; flex-direction: column; overflow: hidden; box-sizing: border-box; }
/* Imágenes uniformes */
.cq-estudio-card .cq-card-img-link { display: block; flex: 0 0 auto; height: 180px; overflow: hidden; }
.cq-estudio-card .cq-estudio-card-img { display: block; width: 100%; height: 100%; object-fit: cover; }
/* Contenido flexible */
.cq-estudio-card .cq-estudio-card-body { display: flex; flex: 1 1 auto; flex-direction: column; min-width: 0; padding: 18px 20px 20px; box-sizing: border-box; }
/* Títulos: misma altura para títulos cortos y largos */
.cq-estudio-card-body h3 { line-height: 1.3; min-height: 2.6em; margin: 0 0 8px; }
/* NOM: reservar espacio uniforme */
.cq-estudio-nom { min-height: 28px; margin: 0 0 10px; box-sizing: border-box; }
/* Descripción: máximo 4 líneas */
.cq-estudio-descripcion { line-height: 1.55; min-height: calc(1.55em * 4); max-height: calc(1.55em * 4); overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4; margin-bottom: 12px; }
/* Lista de exámenes: reservar una zona consistente */
.cq-estudio-examenes { margin: 12px 0 20px !important; }
/* Categoría al final de la zona de contenido */
.cq-estudio-card-body .cq-card-tags { margin-top: auto; padding-top: 12px; margin-bottom: 14px; }
/* Botones alineados al fondo */
.cq-estudio-card-body .cq-ver-estudio-btn { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 44px; margin-top: 0; box-sizing: border-box; }

/* Tablet: dos columnas */
@media (max-width: 1000px) {.cq-estudios-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
}

/* Móvil: una columna */
@media (max-width: 600px) {.cq-estudios-grid { grid-template-columns: minmax(0, 1fr); gap: 20px; }
.cq-estudio-card .cq-card-img-link { height: 190px; }
.cq-estudio-card .cq-estudio-card-body { padding: 16px; }
}



/* ================================================================
   MICROBIOLOGÍA — AJUSTES PARA MÓVILES PEQUEÑOS
   ================================================================ */
@media (max-width: 480px) {
    .cq-micro-banner { padding: 28px 0; }
    .cq-micro-banner-inner { padding: 0 18px; }
    .cq-micro-title { font-size: 20px; }
    .cq-micro-p { font-size: 13px; }
    .cq-micro-btn { width: 100%; text-align: center; }
}

/* ============================================================
   MICROBIOLOGÍA — LISTA DE SERVICIOS PAQUETE EMPRESA
   ============================================================ */

.cq-micro-card-checklist {
    list-style: none !important;
    margin: 12px 0 16px !important;
    padding: 0 !important;
}

.cq-micro-card-checklist li {
    display: flex !important;
    align-items: flex-start;
    gap: 10px;
    margin: 0 0 8px !important;
    padding: 0 !important;
    color: #718096;
    font-size: 14px;
    line-height: 1.5;
}

.cq-micro-card-check {
    flex: 0 0 14px;
    color: #42b85a;
    font-size: 19px;
    font-weight: 700;
    line-height: 1.2;
}

/* Mantener el botón alineado al fondo */
.cq-micro-cat-body {
    display: flex;
    flex-direction: column;
}

.cq-micro-cat-body .cq-micro-ver-btn {
    margin-top: auto;
}

/* Ajustes móviles */
@media (max-width: 768px) {
    .cq-micro-card-checklist {
        margin-top: 10px !important;
    }

    .cq-micro-card-checklist li {
        font-size: 13px;
        margin-bottom: 7px !important;
    }
}


/* ============================================================
   ESTUDIOS MICRO — TARJETAS CON ALTURAS UNIFORMES
   ============================================================ */

.cq-estudios-grid {
    align-items: stretch;
}

.cq-estudio-card {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.cq-estudio-card .cq-card-img-link {
    display: block;
    flex: 0 0 auto;
    height: 180px;
    overflow: hidden;
}

.cq-estudio-card .cq-estudio-card-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Cuerpo de tarjeta */
.cq-estudio-card-body {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    padding: 20px;
}

/* Título: espacio uniforme */
.cq-estudio-card-body h3 {
    min-height: 44px;
    margin-bottom: 12px;
}

/* NOM: espacio reservado */
.cq-estudio-nom {
    min-height: 30px;
    margin-bottom: 12px;
}

/* Descripción: espacio uniforme */
.cq-estudio-descripcion {
    min-height: 90px;
    margin-bottom: 12px;
}

/* Exámenes: ocupa el espacio disponible */
.cq-estudio-examenes {
    flex: 1 1 auto;
    margin-bottom: 20px;
}

/* Botón siempre abajo */
.cq-ver-estudio-btn {
    margin-top: auto;
    width: 100%;
    text-align: center;
}

/* Móvil */
@media (max-width: 768px) {
    .cq-estudio-card .cq-card-img-link {
        height: 190px;
    }

    .cq-estudio-card-body h3 {
        min-height: auto;
    }

    .cq-estudio-descripcion {
        min-height: auto;
    }
}


/* ============================================================
   PAQUETE EMPRESA — DETALLE POR CATEGORÍAS
   ============================================================ */

.cq-empresa-detalle {
    margin-top: 24px;
}

.cq-empresa-grupo {
    color: #0053A8 !important;
    font-size: 18px;
    font-weight: 700;
    margin: 22px 0 10px;
}

.cq-empresa-examen {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 0 0 9px;
    color: #718096;
    font-size: 14px;
    line-height: 1.6;
}

.cq-empresa-examen .cq-examen-check {
    flex: 0 0 14px;
    color: #42B85A;
    font-size: 19px;
    font-weight: 700;
    line-height: 1.3;
}

.cq-empresa-examen strong {
    color: #26344a;
    font-weight: 700;
}

/* PROMOCIONES EN INICIO */
.cq-promo-prices {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 9px;
    margin: 8px 0 16px;
}

.cq-promo-old-price {
    color: #94a3b8;
    font-size: .85rem;
    text-decoration: line-through;
}

.cq-promo-current-price {
    color: #16a34a;
    font-size: 1.3rem;
    font-weight: 800;
}

.cq-promo-discount {
    background: #fff0f0;
    color: #dc2626;
    padding: 4px 8px;
    border-radius: 20px;
    font-size: .7rem;
    font-weight: 800;
}

.cq-promos-home-more {
    text-align: center;
    margin: 35px auto 0;
}

/* Centrar tarjetas de promociones en inicio */
.cq-beneficios .cq-estudios-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 300px));
    justify-content: center;
    gap: 24px;
    width: 100%;
    max-width: 1100px;
    margin: 35px auto 0;
}

/* Tablet */
@media (max-width: 900px) {
    .cq-beneficios .cq-estudios-grid {
        grid-template-columns: repeat(2, minmax(0, 300px));
    }
}

/* Móvil */
@media (max-width: 600px) {
    .cq-beneficios .cq-estudios-grid {
        grid-template-columns: minmax(0, 340px);
    }
}