/*
 * SERVICIOS FUSIÓN — Apariencia adaptable (versión 5)
 * Paleta tomada de los logotipos suministrados por Servicios Fusión.
 * Claro: azul petróleo #012D3F + cian #01D3EA; oscuro: cian + blanco.
 */
:root {
  --brand-navy: #012d3f;
  --brand-turquoise: #01d3ea;
  --brand-deep: #061b29;
  --surface-main: #ffffff;
  --surface-alt: #f0f8fb;
  --surface-card: #ffffff;
  --text-main: #012d3f;
  --text-secondary: #617288;
  --border-theme: #dfe8ee;
  --brand-accent-text: #008fa4;
  color-scheme: light;
}
:root[data-theme="dark"] {
  --brand-navy: #e6f6fb;
  --brand-turquoise: #01d3ea;
  --brand-deep: #061b29;
  --surface-main: #061b29;
  --surface-alt: #0b2735;
  --surface-card: #113242;
  --text-main: #eaf8fc;
  --text-secondary: #b3d1dc;
  --border-theme: #2b5161;
  --brand-accent-text: #53e5f5;
  --ink: var(--text-main);
  --muted: var(--text-secondary);
  --line: var(--border-theme);
  --pale: var(--surface-alt);
  --white: var(--surface-card);
  --shadow: 0 22px 65px #0008;
  color-scheme: dark;
}
/* Apariencia integrada en la navegación. */
.theme-control { display: flex; align-items:center; gap: 9px; border-left: 1px solid var(--border-theme); padding-left: 18px; }
.theme-control label { font-size: 11px; font-weight: 700; color: var(--text-secondary); white-space:nowrap; }
.theme-control select {
  color: var(--text-main); background: var(--surface-alt); border: 1px solid var(--border-theme);
  padding: 9px 7px; border-radius: 8px; font-size: 12px; font-weight: 700;
  min-height: 43px; max-width: 135px; cursor:pointer;
}
.theme-control select:focus-visible,
.menu-toggle:focus-visible, button:focus-visible, a:focus-visible,
input:focus-visible, textarea:focus-visible, select:focus-visible {
  outline: 3px solid #01d3ea; outline-offset: 3px;
}
/* Los fondos oscuros incluyen todas las secciones y formularios, no solo el encabezado. */
[data-theme="dark"] body { background: var(--surface-main); color: var(--text-main); }
[data-theme="dark"] .site-header { background: #081f2c; border-bottom-color: var(--border-theme); }
[data-theme="dark"] .logo-label strong { color: var(--text-main); }
[data-theme="dark"] .logo-label strong em { color: var(--brand-accent-text); }
[data-theme="dark"] .logo-label small { color: var(--text-secondary); }
[data-theme="dark"] .main-nav>a:not(.nav-cta) { color: #d1e3ed; }
[data-theme="dark"] .main-nav>a:not(.nav-cta):hover,
[data-theme="dark"] .main-nav .nav-active { color: var(--brand-accent-text); }
[data-theme="dark"] .nav-cta { background: #1b4255; color: #eafcff; }
[data-theme="dark"] .menu-toggle span { background: #eaf4fa; }
[data-theme="dark"] .skip-link { background:#16354a; color:#fff; }
[data-theme="dark"] .top-line { background: #041522; }
[data-theme="dark"] .hero { background:radial-gradient(ellipse 55% 80% at 85% 50%,#113c51 0%,transparent 65%),linear-gradient(135deg,#06101c,#0a2135 74%,#061a2b); }
[data-theme="dark"] .trust-strip { background:#102537; border-bottom-color: var(--border-theme); }
[data-theme="dark"] .trust-inner p { color: #aac0d0; }
[data-theme="dark"] .trust-inner>div { color: #d8eaf2; }
[data-theme="dark"] .intro,
[data-theme="dark"] .products-section,
[data-theme="dark"] .work-section,
[data-theme="dark"] .brands-section { background: var(--surface-main); }
[data-theme="dark"] .services-section,
[data-theme="dark"] .identity-section { background: var(--surface-alt); }
[data-theme="dark"] .intro-text>p,
[data-theme="dark"] .principle p,
[data-theme="dark"] .section-head>p,
[data-theme="dark"] .service-card p,
[data-theme="dark"] .product-copy p,
[data-theme="dark"] .work-card p,
[data-theme="dark"] .identity-cards p,
[data-theme="dark"] .catalog-note,
[data-theme="dark"] .brand-caption,
[data-theme="dark"] .brand-names,
[data-theme="dark"] .brands-section small { color: var(--text-secondary); }
[data-theme="dark"] .intro-text>p strong { color: var(--text-main); }
[data-theme="dark"] .intro-art { background:linear-gradient(135deg,#17354a,#102333); border-color:var(--border-theme); }
[data-theme="dark"] .art-border { border-color:#3e7980; }
[data-theme="dark"] .art-center b { color:#edf8ff; }
[data-theme="dark"] .art-center>span,
[data-theme="dark"] .art-center small,
[data-theme="dark"] .art-mini { color:#a2c1d0; }
[data-theme="dark"] .art-tags span { background:#24475d; color:#c6f5ed; border-color:#356476; }
[data-theme="dark"] .art-label { background:#081522; }
[data-theme="dark"] .principles,
[data-theme="dark"] .principle+.principle { border-color: var(--border-theme); }
[data-theme="dark"] .service-card,
[data-theme="dark"] .product-card,
[data-theme="dark"] .identity-cards article { background:var(--surface-card); border-color:var(--border-theme); }
[data-theme="dark"] .service-number { color: #91b0c2; }
[data-theme="dark"] .service-icon,
[data-theme="dark"] .float-icon { background:#1c4e58; color:#6eeadf; }
[data-theme="dark"] .service-link,
[data-theme="dark"] .text-link,
[data-theme="dark"] .product-quote,
[data-theme="dark"] .product-type,
[data-theme="dark"] .work-card>span,
[data-theme="dark"] .identity-cards article>span,
[data-theme="dark"] .service-link.is-added,
[data-theme="dark"] .product-quote.is-added,
[data-theme="dark"] .intro h2 em,
[data-theme="dark"] .section-head h2 em,
[data-theme="dark"] .identity-grid h2 em { color:var(--brand-accent-text); }
[data-theme="dark"] .product-quote { border-top-color:var(--border-theme); }
[data-theme="dark"] .catalog-search,
[data-theme="dark"] .filter-btn { background:var(--surface-card); color:var(--text-main); border-color:var(--border-theme); }
[data-theme="dark"] .filter-btn.active { background:#087b92; border-color:#22a7b9; color:#fff; }
[data-theme="dark"] .catalog-search input { color:var(--text-main); }
[data-theme="dark"] .catalog-search svg { color:var(--text-secondary); }
[data-theme="dark"] .catalog-instruction,
[data-theme="dark"] .catalog-empty { background:#173b46; border-color:#2e7171; }
[data-theme="dark"] .catalog-instruction strong { color:#e3fcfa; }
[data-theme="dark"] .catalog-instruction p { color:#b2dadb; }
[data-theme="dark"] .brands-section { border-bottom-color:var(--border-theme); }
[data-theme="dark"] .contact-section { background:linear-gradient(120deg,#06111d,#102f41); }
[data-theme="dark"] .contact-form-wrap { background:var(--surface-card); color:var(--text-main); }
[data-theme="dark"] .contact-form-wrap input,
[data-theme="dark"] .contact-form-wrap select,
[data-theme="dark"] .contact-form-wrap textarea { background:#102334; color:#eaf4fa; border-color:#3c586d; }
[data-theme="dark"] input::placeholder,
[data-theme="dark"] textarea::placeholder { color:#9db7c6; opacity:1; }
[data-theme="dark"] .form-help,
[data-theme="dark"] .optional-label { color:#b1c5d3!important; }
[data-theme="dark"] .selected-quote,
[data-theme="dark"] .form-result { background:#18433f; border-color:#2c8d7f; }
[data-theme="dark"] .selected-quote strong,
[data-theme="dark"] .selected-quote p,
[data-theme="dark"] .form-result p { color:#daf7f2; }
[data-theme="dark"] .selected-quote>button { background:#142e36; border-color:#339a90; color:#b8fff0; }
[data-theme="dark"] .form-result textarea { background:#102334; }
[data-theme="dark"] .quote-panel { background:#0d2130; color:var(--text-main); }
[data-theme="dark"] .quote-panel-header,
[data-theme="dark"] .quote-panel-footer { border-color:var(--border-theme); }
[data-theme="dark"] .quote-panel-info,
[data-theme="dark"] .quote-panel-footer>p,
[data-theme="dark"] .quote-empty p { color:var(--text-secondary); }
[data-theme="dark"] .quote-panel-footer>p span:first-child { color:#e1f0f6; }
[data-theme="dark"] .quote-close,
[data-theme="dark"] .qty-btn { background:#20394b; color:#e9f9ff; border-color:#476275; }
[data-theme="dark"] .quote-item { background:#152e41; border-color:var(--border-theme); }
[data-theme="dark"] .quote-empty-icon { background:#174d4b; color:#7ff7e4; }
[data-theme="dark"] .quote-browse { background:#164f4c; color:#d3fff5; border-color:#337b75; }
[data-theme="dark"] .quote-clear { color:#c0d2e0; }
[data-theme="dark"] .quote-item-copy small { color:#78eddd; }
[data-theme="dark"] .quote-kicker { color:#66e5d2; }
[data-theme="dark"] .quote-fab { background:#087b92; border-color:#36cde0; }
[data-theme="dark"] .footer { background:#050f1b; }
[data-theme="dark"] .footer-logo .logo-label strong { color:#fff; }
[data-theme="dark"] .float-card { background:#eaf5fb; color:#102b40; }
/* Formularios en Android: evitar zoom al enfocar y respetar áreas seguras del sistema. */
@media (max-width: 1100px) {
  .theme-control { border-left:0; padding-left:0; }
}
@media (max-width: 767px) {
  .theme-control { width:100%; display:flex; align-items:center; justify-content:space-between;
     border-top:1px solid var(--border-theme); padding:14px 0 0; margin-top:5px; }
  .theme-control label { font-size:13px; }
  .theme-control select { max-width:none; width:min(60%,190px); min-height:44px; font-size:14px; }
  .contact-form-wrap input,.contact-form-wrap select,.contact-form-wrap textarea,
  .catalog-search input { font-size:16px; min-height:44px; }
  .quote-fab { bottom:max(14px,env(safe-area-inset-bottom)); }
  .quote-panel { padding-bottom:env(safe-area-inset-bottom); }
  .quote-panel-footer { padding-bottom:max(20px,env(safe-area-inset-bottom)); }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior:auto!important; }
}
@media (max-width:850px) {
  [data-theme="dark"] .main-nav { background:#081f2c; box-shadow:0 16px 25px #0007; }
  [data-theme="dark"] .main-nav>a { border-bottom-color:#345063; }
  .theme-control { width:100%; justify-content:space-between; border-top:1px solid var(--border-theme); padding:14px 0 0; margin-top:8px; }
  .theme-control label { font-size:13px; }
  .theme-control select { max-width:none; width:min(60%,190px); min-height:44px; font-size:14px; }
}


/* V5 — Logo original, colores corporativos y contraste en temas claro y oscuro. */
.brand-logo { display:block; width:207px; max-width:100%; height:auto; object-fit:contain; }
.brand-logo-dark { display:none; }
.logo { flex-shrink:0; gap:0; }
.footer-logo .brand-logo-footer { width:258px; }
[data-theme="dark"] .brand-logo-light { display:none; }
[data-theme="dark"] .brand-logo-dark { display:block; }
[data-theme="dark"] .footer-logo .brand-logo-footer { display:block; }
.site-header { background:#fff; }
.hero { background:radial-gradient(ellipse 62% 80% at 87% 52%,#0c4660 0%,transparent 65%),linear-gradient(125deg,#041a29,#012d3f 78%,#052639); }
.top-line { background:#061b29; }
:root { --ink:#012d3f; --dark:#061b29; --navy:#012d3f; --teal:#01d3ea; --teal-dark:#008fa4; --pale:#f0f8fb; }
.eyebrow,.section-label-light { color:#9bf2fa; }
.hero h1 span,.statement h2 em,.contact-info h2 em { color:#01d3ea; }
.btn-primary { background:#01d3ea; color:#012d3f; }
.btn-primary:hover { background:#68edfa; }
.logo:focus-visible { border-radius:8px; }
.nav-cta { background:#012d3f; color:#fff; }
.nav-cta:hover { background:#08546b; }
.nav-cta:focus-visible { outline-offset:4px; }
.theme-control select { accent-color:#008fa4; }
.filter-btn.active { background:#012d3f; color:#fff; border-color:#012d3f; }
[data-theme="dark"] .nav-cta { background:#017b93; color:#fff; }
[data-theme="dark"] .nav-cta:hover { background:#009fb9; }
[data-theme="dark"] .hero { background:radial-gradient(ellipse 62% 80% at 87% 52%,#0c3b4f 0%,transparent 65%),linear-gradient(125deg,#041724,#062736 78%,#06202f); }
[data-theme="dark"] .btn-primary { color:#012d3f; }
[data-theme="dark"] .filter-btn.active { color:#fff; }
[data-theme="dark"] .section-label,.theme-control label { color:var(--brand-accent-text); }
[data-theme="dark"] .contact-section { background:linear-gradient(120deg,#041724,#082d3e); }
@media(max-width:1110px) {
  .brand-logo { width:180px; }
  .main-nav { gap:14px; }
  .nav-wrap { gap:16px; }
  .theme-control { gap:6px; }
}
@media(max-width:850px) {
  .brand-logo { width:191px; }
  .nav-wrap { min-height:78px; }
}
@media(max-width:560px) {
  .brand-logo { width:170px; }
  .footer-logo .brand-logo-footer { width:248px; }
  .nav-wrap { min-height:70px; }
}
