    /* ─── VARIABLES ─────────────────────────────────────────────── */
    :root {
      --fire-red:    #e84118;
      --fire-orange: #f0932b;
      --fire-amber:  #fbc531;
      --fire-glow:   rgba(232,65,24,.35);
      --steel:       #8a8a8a;
      --steel-light: #c0c0c0;

      /* dark defaults */
      --bg-primary:  #0c0c0c;
      --bg-secondary:#141414;
      --bg-card:     #1a1a1a;
      --bg-card-hover:#222222;
      --border-col:  #2a2a2a;
      --text-primary:#f2f2f2;
      --text-muted:  #888;
      --navbar-bg:   rgba(10,10,10,.92);
      --shadow-fire: 0 0 28px var(--fire-glow);
      --shadow-card: 0 4px 24px rgba(0,0,0,.55);
    }

    [data-bs-theme="light"] {
      --bg-primary:  #f4f4f4;
      --bg-secondary:#ebebeb;
      --bg-card:     #ffffff;
      --bg-card-hover:#f9f9f9;
      --border-col:  #ddd;
      --text-primary:#111111;
      --text-muted:  #666;
      --navbar-bg:   rgba(15,15,15,.96);
      --shadow-card: 0 4px 20px rgba(0,0,0,.12);
    }

    /* ─── BASE ──────────────────────────────────────────────────── */
    *, *::before, *::after { box-sizing: border-box; }
    html { scroll-behavior: smooth; }

    body {
      background-color: var(--bg-primary);
      color: var(--text-primary);
      font-family: 'Barlow', sans-serif;
      font-weight: 400;
      line-height: 1.65;
      transition: background .35s, color .35s;
      overflow-x: hidden;
    }

    h1,h2,h3,h4,h5 {
      font-family: 'Bebas Neue', sans-serif;
      letter-spacing: .06em;
    }

    .text-fire    { color: var(--fire-red) !important; }
    .text-amber   { color: var(--fire-amber) !important; }
    .text-steel   { color: var(--steel-light) !important; }
    .bg-card      { background: var(--bg-card) !important; }

    /* ─── SCROLLBAR ─────────────────────────────────────────────── */
    ::-webkit-scrollbar { width: 6px; }
    ::-webkit-scrollbar-track { background: var(--bg-primary); }
    ::-webkit-scrollbar-thumb { background: var(--fire-red); border-radius: 3px; }

    /* ─── NAVBAR ────────────────────────────────────────────────── */
    #mainNav {
      background: var(--navbar-bg) !important;
      backdrop-filter: blur(14px);
      -webkit-backdrop-filter: blur(14px);
      border-bottom: 1px solid rgba(232,65,24,.18);
      transition: background .3s;
      z-index: 1050;
    }
    .navbar-brand {
      font-family: 'Bebas Neue', sans-serif;
      font-size: 1.7rem;
      letter-spacing: .08em;
      color: #fff !important;
    }
    .navbar-brand span { color: var(--fire-red); }
    .nav-link {
      color: #ccc !important;
      font-family: 'Barlow Condensed', sans-serif;
      font-size: 1rem;
      font-weight: 600;
      letter-spacing: .05em;
      text-transform: uppercase;
      padding: .4rem .9rem !important;
      transition: color .2s;
      position: relative;
    }
    .nav-link::after {
      content: '';
      position: absolute;
      left: 50%; bottom: 0; right: 50%;
      height: 2px;
      background: var(--fire-red);
      transition: left .25s, right .25s;
    }
    .nav-link:hover { color: #fff !important; }
    .nav-link:hover::after { left: .9rem; right: .9rem; }

    #themeToggle {
      border: 1px solid var(--fire-red);
      color: var(--fire-red);
      background: transparent;
      border-radius: 50%;
      width: 36px; height: 36px;
      display: flex; align-items: center; justify-content: center;
      cursor: pointer;
      transition: background .2s, color .2s;
      font-size: .95rem;
    }
    #themeToggle:hover { background: var(--fire-red); color: #fff; }

    /* ─── HERO ──────────────────────────────────────────────────── */
    #hero {
      position: relative;
      min-height: 100vh;
      display: flex; align-items: center;
      background:
        linear-gradient(160deg, rgba(0,0,0,.82) 0%, rgba(0,0,0,.65) 60%, rgba(232,65,24,.12) 100%),
        url('https://images.unsplash.com/photo-1558618666-fcd25c85cd64?w=1600&auto=format&fit=crop') center/cover no-repeat;
      overflow: hidden;
    }
    #hero::before {
      content: '';
      position: absolute; inset: 0;
      background: radial-gradient(ellipse at 80% 60%, rgba(232,65,24,.18) 0%, transparent 60%);
      pointer-events: none;
    }

    /* animated embers */
    .ember { position: absolute; border-radius: 50%; pointer-events: none; animation: rise linear infinite; }
    @keyframes rise {
      0%   { transform: translateY(0) scale(1);   opacity: .9; }
      100% { transform: translateY(-120vh) scale(.2); opacity: 0; }
    }

    .hero-badge {
      display: inline-block;
      border: 1px solid var(--fire-red);
      color: var(--fire-red);
      font-family: 'Barlow Condensed', sans-serif;
      font-size: .78rem;
      letter-spacing: .22em;
      text-transform: uppercase;
      padding: .3rem .9rem;
      margin-bottom: 1.2rem;
    }
    .hero-title {
      font-size: clamp(3.5rem, 9vw, 7.5rem);
      line-height: .95;
      color: #fff;
      text-shadow: 0 0 60px rgba(232,65,24,.4);
    }
    .hero-title .fire-word { color: var(--fire-red); }
    .hero-sub {
      font-size: 1.15rem;
      color: #bbb;
      max-width: 520px;
      font-weight: 300;
    }
    .btn-fire {
      background: linear-gradient(135deg, var(--fire-red), var(--fire-orange));
      color: #fff;
      border: none;
      font-family: 'Barlow Condensed', sans-serif;
      font-weight: 700;
      letter-spacing: .1em;
      text-transform: uppercase;
      padding: .7rem 2rem;
      border-radius: 2px;
      box-shadow: 0 4px 20px rgba(232,65,24,.45);
      transition: transform .2s, box-shadow .2s;
    }
    .btn-fire:hover { transform: translateY(-2px); box-shadow: 0 8px 30px rgba(232,65,24,.6); color: #fff; }

    .btn-outline-fire {
      background: transparent;
      border: 1px solid var(--fire-red);
      color: var(--fire-red);
      font-family: 'Barlow Condensed', sans-serif;
      font-weight: 700;
      letter-spacing: .1em;
      text-transform: uppercase;
      padding: .7rem 2rem;
      border-radius: 2px;
      transition: background .2s, color .2s;
    }
    .btn-outline-fire:hover { background: var(--fire-red); color: #fff; }

    .hero-stats { border-left: 2px solid var(--fire-red); padding-left: 1.2rem; }
    .hero-stats .stat-num {
      font-family: 'Bebas Neue', sans-serif;
      font-size: 2.8rem;
      color: var(--fire-orange);
      line-height: 1;
    }
    .hero-stats .stat-label { font-size: .8rem; color: #999; letter-spacing: .08em; text-transform: uppercase; }

    /* ─── SECTION TITLES ────────────────────────────────────────── */
    .section-label {
      font-family: 'Barlow Condensed', sans-serif;
      font-size: .78rem;
      letter-spacing: .22em;
      text-transform: uppercase;
      color: var(--fire-red);
      display: block;
      margin-bottom: .4rem;
    }
    .section-title {
      font-size: clamp(2.2rem, 5vw, 3.5rem);
      line-height: 1;
    }
    .divider-fire {
      width: 60px; height: 3px;
      background: linear-gradient(90deg, var(--fire-red), var(--fire-amber));
      margin: 1rem 0 1.5rem;
    }

    /* ─── ABOUT ─────────────────────────────────────────────────── */
    #about { background: var(--bg-secondary); }

    .feature-icon {
      width: 52px; height: 52px;
      border-radius: 4px;
      background: rgba(232,65,24,.12);
      border: 1px solid rgba(232,65,24,.3);
      display: flex; align-items: center; justify-content: center;
      font-size: 1.4rem;
      color: var(--fire-red);
      flex-shrink: 0;
      transition: background .2s;
    }

    /* ─── CATALOG ───────────────────────────────────────────────── */
    #catalogo { background: var(--bg-primary); }

    /* filter pills */
    .filter-pills .btn {
      border-radius: 2px;
      font-family: 'Barlow Condensed', sans-serif;
      font-weight: 600;
      letter-spacing: .08em;
      text-transform: uppercase;
      font-size: .88rem;
      padding: .45rem 1.2rem;
      border: 1px solid var(--border-col);
      background: transparent;
      color: var(--text-muted);
      transition: all .2s;
    }
    .filter-pills .btn.active,
    .filter-pills .btn:hover {
      border-color: var(--fire-red);
      color: var(--fire-red);
      background: rgba(232,65,24,.08);
    }

    /* product card */
    .prod-card {
      background: var(--bg-card);
      border: 1px solid var(--border-col);
      border-radius: 6px;
      overflow: hidden;
      transition: transform .28s, box-shadow .28s, border-color .28s;
      box-shadow: var(--shadow-card);
      height: 100%;
    }
    .prod-card:hover {
      transform: translateY(-6px);
      border-color: var(--fire-red);
      box-shadow: var(--shadow-fire), var(--shadow-card);
    }
    .prod-card .card-img-wrap {
      overflow: hidden;
      height: 200px;
      background: #111;
      position: relative;
    }
    .prod-card .card-img-wrap img {
      width: 100%; height: 100%;
      object-fit: cover;
      transition: transform .4s;
      filter: brightness(.9) contrast(1.05);
    }
    .prod-card:hover .card-img-wrap img { transform: scale(1.06); }
    .prod-card .cat-badge {
      position: absolute; top: .7rem; left: .7rem;
      background: var(--fire-red);
      color: #fff;
      font-family: 'Barlow Condensed', sans-serif;
      font-size: .72rem;
      letter-spacing: .1em;
      text-transform: uppercase;
      padding: .2rem .6rem;
      border-radius: 2px;
    }
    .prod-card .card-body { padding: 1.2rem 1.3rem; }
    .prod-card .card-title {
      font-family: 'Bebas Neue', sans-serif;
      font-size: 1.35rem;
      letter-spacing: .05em;
      color: var(--text-primary);
      margin-bottom: .3rem;
    }
    .prod-card .card-text { font-size: .88rem; color: var(--text-muted); line-height: 1.55; }
    .prod-card .card-footer {
      background: transparent;
      border-top: 1px solid var(--border-col);
      padding: .8rem 1.3rem;
      display: flex; align-items: center; justify-content: space-between;
    }
    .prod-card .material-tag {
      font-size: .75rem;
      color: var(--steel);
      font-family: 'Barlow Condensed', sans-serif;
      letter-spacing: .06em;
    }
    .prod-card .material-tag i { color: var(--fire-orange); }

    /* category header */
    .cat-header {
      display: flex; align-items: center; gap: 1rem;
      margin-bottom: 1.5rem;
      padding-bottom: .8rem;
      border-bottom: 1px solid var(--border-col);
    }
    .cat-header-icon {
      font-size: 1.8rem;
      color: var(--fire-red);
    }
    .cat-header-title {
      font-size: 1.8rem;
      margin: 0;
    }

    /* ─── PROCESS ───────────────────────────────────────────────── */
    #proceso { background: var(--bg-secondary); }

    .step-card {
      position: relative;
      padding: 2rem 1.5rem 1.5rem;
      border: 1px solid var(--border-col);
      border-radius: 6px;
      background: var(--bg-card);
      text-align: center;
      transition: border-color .25s;
    }
    .step-card:hover { border-color: var(--fire-red); }
    .step-num {
      position: absolute; top: -20px; left: 50%; transform: translateX(-50%);
      width: 40px; height: 40px; border-radius: 50%;
      background: linear-gradient(135deg, var(--fire-red), var(--fire-orange));
      color: #fff;
      font-family: 'Bebas Neue', sans-serif;
      font-size: 1.1rem;
      display: flex; align-items: center; justify-content: center;
      box-shadow: 0 0 16px rgba(232,65,24,.4);
    }
    .step-icon { font-size: 2.2rem; color: var(--fire-orange); margin-bottom: .8rem; }
    .step-title { font-size: 1.15rem; margin-bottom: .4rem; }
    .step-desc { font-size: .85rem; color: var(--text-muted); }

    /* ─── WHY US ────────────────────────────────────────────────── */
    #nosotros { background: var(--bg-primary); }

    .why-card {
      background: var(--bg-card);
      border: 1px solid var(--border-col);
      border-radius: 6px;
      padding: 1.6rem;
      transition: border-color .25s, transform .25s;
    }
    .why-card:hover { border-color: var(--fire-red); transform: translateY(-4px); }
    .why-card i { font-size: 2rem; color: var(--fire-red); margin-bottom: .8rem; }

    /* ─── GALERÍA HERO strip ────────────────────────────────────── */
    .gallery-strip {
      display: grid;
      grid-template-columns: repeat(4,1fr);
      gap: 4px;
      overflow: hidden;
      border-radius: 6px;
    }
    .gallery-strip img {
      width: 100%; height: 160px;
      object-fit: cover;
      filter: brightness(.8) contrast(1.1) saturate(.9);
      transition: filter .3s, transform .3s;
    }
    .gallery-strip img:hover { filter: brightness(1) contrast(1.05) saturate(1.1); transform: scale(1.03); }

    /* ─── CONTACT ───────────────────────────────────────────────── */
    #contacto { background: var(--bg-secondary); }

    .contact-card {
      background: var(--bg-card);
      border: 1px solid var(--border-col);
      border-radius: 6px;
      padding: 1.6rem;
      display: flex; gap: 1rem; align-items: flex-start;
      transition: border-color .25s;
    }
    .contact-card:hover { border-color: var(--fire-red); }
    .contact-icon {
      width: 48px; height: 48px;
      border-radius: 4px;
      background: rgba(232,65,24,.12);
      border: 1px solid rgba(232,65,24,.25);
      display: flex; align-items: center; justify-content: center;
      color: var(--fire-red);
      font-size: 1.3rem;
      flex-shrink: 0;
    }

    .form-control, .form-select {
      background: var(--bg-card) !important;
      border: 1px solid var(--border-col) !important;
      color: var(--text-primary) !important;
      border-radius: 2px !important;
      padding: .65rem .9rem;
    }
    .form-control::placeholder { color: var(--text-muted) !important; }
    .form-control:focus, .form-select:focus {
      border-color: var(--fire-red) !important;
      box-shadow: 0 0 0 2px rgba(232,65,24,.18) !important;
    }

    /* ─── FOOTER ────────────────────────────────────────────────── */
    footer {
      background: #080808;
      border-top: 1px solid rgba(232,65,24,.2);
    }
    .footer-brand { font-size: 1.9rem; font-family: 'Bebas Neue', sans-serif; letter-spacing: .08em; }
    .footer-brand span { color: var(--fire-red); }
    .footer-link {
      color: #777;
      text-decoration: none;
      font-size: .88rem;
      transition: color .2s;
      display: block; margin-bottom: .35rem;
    }
    .footer-link:hover { color: var(--fire-red); }
    .social-icon {
      width: 36px; height: 36px;
      border: 1px solid #333;
      border-radius: 4px;
      display: flex; align-items: center; justify-content: center;
      color: #777;
      transition: border-color .2s, color .2s, background .2s;
      font-size: .95rem;
    }
    .social-icon:hover { border-color: var(--fire-red); color: var(--fire-red); background: rgba(232,65,24,.08); }

    .footer-divider { border-color: #1c1c1c; }

    /* ─── SCROLL TO TOP ─────────────────────────────────────────── */
    #scrollTop {
      position: fixed; bottom: 1.5rem; right: 1.5rem;
      width: 42px; height: 42px;
      background: linear-gradient(135deg, var(--fire-red), var(--fire-orange));
      color: #fff;
      border: none; border-radius: 4px;
      display: flex; align-items: center; justify-content: center;
      cursor: pointer;
      opacity: 0; pointer-events: none;
      transition: opacity .3s, transform .2s;
      z-index: 999;
      box-shadow: 0 4px 16px rgba(232,65,24,.4);
    }
    #scrollTop.visible { opacity: 1; pointer-events: auto; }
    #scrollTop:hover { transform: translateY(-3px); }

    /* ─── UTILS ─────────────────────────────────────────────────── */
    .section-py { padding: 90px 0; }
    .hidden { display: none !important; }

    /* ─── LIGHT THEME OVERRIDES ─────────────────────────────────── */
    [data-bs-theme="light"] .prod-card .card-title { color: #111; }
    [data-bs-theme="light"] .hero-title { text-shadow: none; }
    [data-bs-theme="light"] footer { background: #111; }

    /* ─── ANIMATIONS ────────────────────────────────────────────── */
    @keyframes fadeUp {
      from { opacity: 0; transform: translateY(30px); }
      to   { opacity: 1; transform: translateY(0); }
    }
    .fade-up { animation: fadeUp .7s ease forwards; }
    .delay-1 { animation-delay: .1s; opacity: 0; }
    .delay-2 { animation-delay: .22s; opacity: 0; }
    .delay-3 { animation-delay: .36s; opacity: 0; }
    .delay-4 { animation-delay: .5s;  opacity: 0; }

    /* nav toggle icon */
    .navbar-toggler { border-color: rgba(232,65,24,.4) !important; }
    .navbar-toggler-icon {
      background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(232,65,24,1)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
    }
/* ═══════════════════════════════════════════════════════════
   MELAMICREADOS CONSTRUCTORES — theme variables & components
═══════════════════════════════════════════════════════════ */
:root {
  --mc-orange:   #F7941D;
  --mc-orange2:  #F26522;
  --mc-red:      #E8391D;
  --mc-yellow:   #FFC107;
  --mc-gradient: linear-gradient(135deg, #F7941D 0%, #F26522 50%, #E8391D 100%);
  --mc-gradient2:linear-gradient(90deg,  #FFC107 0%, #F7941D 40%, #E8391D 100%);
  --top-bar-bg:  #111;
  --nav-bg:      #1a1a1a;
  --body-bg:     #121212;
  --card-bg:     #1e1e1e;
  --card-border: #2f2f2f;
  --text-main:   #f0f0f0;
  --text-muted2: #aaa;
  --footer-bg:   #0d0d0d;
  --section-alt: #161616;
}
[data-bs-theme="light"] {
  --top-bar-bg:  #1a1a1a;
  --nav-bg:      #ffffff;
  --body-bg:     #f5f5f5;
  --card-bg:     #ffffff;
  --card-border: #e0e0e0;
  --text-main:   #1a1a1a;
  --text-muted2: #666;
  --footer-bg:   #1a1a1a;
  --section-alt: #eaeaea;
}

/* ── TOP BAR ── */
#top-bar { background:var(--top-bar-bg); padding:6px 0; font-size:.82rem; color:#bbb; }
#top-bar a { color:var(--mc-orange); text-decoration:none; }
#top-bar a:hover { color:var(--mc-yellow); }

/* ── NAVBAR MC ── */
#mainNav { background:var(--nav-bg); border-bottom:3px solid var(--mc-orange); box-shadow:0 2px 12px rgba(0,0,0,.4); transition:background .3s; }
#mainNav .nav-link { font-family:'Barlow Condensed',sans-serif; font-weight:600; font-size:1rem; letter-spacing:.05em; color:var(--text-main)!important; padding:.5rem 1rem!important; transition:color .2s; }
#mainNav .nav-link:hover, #mainNav .nav-link.active { color:var(--mc-orange)!important; }
#mainNav .nav-link.active { border-bottom:2px solid var(--mc-orange); }
.btn-quote-nav { background:var(--mc-gradient); border:none; color:#fff!important; font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:1rem; padding:.45rem 1.1rem; border-radius:6px; position:relative; }
.btn-quote-nav .badge { position:absolute; top:-6px; right:-8px; background:var(--mc-red); font-size:.65rem; }
#themeToggle { background:none; border:1px solid var(--mc-orange); color:var(--mc-orange); border-radius:50%; width:36px; height:36px; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:.2s; flex-shrink:0; }
#themeToggle:hover { background:var(--mc-orange); color:#fff; }

/* ── HERO MC ── */
#hero { position:relative; min-height:540px; background:linear-gradient(135deg,#0d0d0d 0%,#1c1c1c 50%,#0d0d0d 100%); overflow:hidden; display:flex; align-items:center; }
.hero-pattern { position:absolute; inset:0; background-image:repeating-linear-gradient(45deg,rgba(247,148,29,.04) 0,rgba(247,148,29,.04) 1px,transparent 1px,transparent 40px),repeating-linear-gradient(-45deg,rgba(247,148,29,.03) 0,rgba(247,148,29,.03) 1px,transparent 1px,transparent 40px); }
.hero-accent { position:absolute; right:0; top:0; bottom:0; width:55%; background:linear-gradient(135deg,transparent 0%,rgba(247,148,29,.08) 100%); clip-path:polygon(12% 0,100% 0,100% 100%,0 100%); }
.hero-badge { display:inline-block; background:var(--mc-gradient); color:#fff; font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:.9rem; letter-spacing:.1em; padding:4px 14px; border-radius:3px; margin-bottom:1.2rem; }
.hero-title { font-size:clamp(2.4rem,5vw,4rem); line-height:1.05; color:#fff; }
.hero-title span { background:var(--mc-gradient2); -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.hero-sub { color:#ccc; font-size:1.05rem; max-width:520px; }
.btn-primary-mc { background:var(--mc-gradient); border:none; color:#fff; font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:1.05rem; padding:.65rem 1.8rem; border-radius:6px; transition:opacity .2s,transform .2s; }
.btn-primary-mc:hover { opacity:.88; transform:translateY(-2px); color:#fff; }
.btn-outline-mc { border:2px solid var(--mc-orange); color:var(--mc-orange); font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:1.05rem; padding:.62rem 1.8rem; border-radius:6px; background:transparent; transition:.2s; }
.btn-outline-mc:hover { background:var(--mc-orange); color:#fff; }
.hero-stats { margin-top:2.5rem; display:flex; gap:2rem; flex-wrap:wrap; }
.hero-stat-num { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:2rem; color:var(--mc-orange); line-height:1; }
.hero-stat-lbl { font-size:.78rem; color:#999; text-transform:uppercase; letter-spacing:.07em; }

/* ── SECTIONS MC ── */
.section-title { font-size:clamp(1.8rem,3vw,2.6rem); position:relative; display:inline-block; }
.section-title::after { content:''; position:absolute; bottom:-8px; left:0; width:60px; height:4px; background:var(--mc-gradient); border-radius:2px; }
.section-title.centered::after { left:50%; transform:translateX(-50%); }
.section-label { font-family:'Barlow Condensed',sans-serif; font-weight:600; font-size:.85rem; letter-spacing:.15em; text-transform:uppercase; color:var(--mc-orange); margin-bottom:.4rem; display:block; }
.section-py { padding:90px 0; }
.divider-gradient { height:3px; background:var(--mc-gradient); border:none; }

/* ── SERVICE CARD ── */
.service-card { background:var(--card-bg); border:1px solid var(--card-border); border-radius:10px; padding:1.6rem 1.4rem; height:100%; transition:transform .25s,box-shadow .25s,border-color .25s; position:relative; overflow:hidden; }
.service-card::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:var(--mc-gradient); transform:scaleX(0); transform-origin:left; transition:transform .3s; }
.service-card:hover { transform:translateY(-4px); box-shadow:0 12px 32px rgba(247,148,29,.15); border-color:var(--mc-orange); }
.service-card:hover::before { transform:scaleX(1); }
.service-icon { width:52px; height:52px; border-radius:10px; background:linear-gradient(135deg,rgba(247,148,29,.15),rgba(232,57,29,.1)); display:flex; align-items:center; justify-content:center; font-size:1.5rem; color:var(--mc-orange); margin-bottom:1rem; }
.service-card h5 { font-size:1.15rem; margin-bottom:.5rem; color:var(--text-main); }
.service-card p { font-size:.875rem; color:var(--text-muted2); margin:0; }

/* ── CAT CARD ── */
.cat-card { background:var(--card-bg); border:1px solid var(--card-border); border-radius:10px; overflow:hidden; transition:transform .25s,box-shadow .25s; cursor:pointer; }
.cat-card:hover { transform:translateY(-4px); box-shadow:0 10px 30px rgba(247,148,29,.2); }
.cat-header { background:var(--mc-gradient); padding:1rem 1.2rem; display:flex; align-items:center; gap:.75rem; }
.cat-header i { font-size:1.3rem; color:#fff; }
.cat-header h5 { margin:0; color:#fff; font-size:1.1rem; letter-spacing:.03em; }
.cat-body { padding:1rem 1.2rem; }
.cat-tag { display:inline-block; background:rgba(247,148,29,.12); border:1px solid rgba(247,148,29,.3); color:var(--mc-orange); border-radius:4px; font-size:.75rem; font-weight:600; padding:3px 9px; margin:3px 3px 3px 0; cursor:pointer; transition:.2s; }
.cat-tag:hover { background:var(--mc-orange); color:#fff; border-color:var(--mc-orange); }

/* ── PRODUCT CARD ── */
.product-card { background:var(--card-bg); border:1px solid var(--card-border); border-radius:10px; overflow:hidden; transition:transform .25s,box-shadow .25s; height:100%; }
.product-card:hover { transform:translateY(-4px); box-shadow:0 10px 30px rgba(247,148,29,.18); }
.product-img { height:180px; background:linear-gradient(135deg,#1e1e1e,#2d2d2d); display:flex; align-items:center; justify-content:center; font-size:3.5rem; color:var(--mc-orange); position:relative; overflow:hidden; }
[data-bs-theme="light"] .product-img { background:linear-gradient(135deg,#e8e8e8,#d4d4d4); }
.product-img .product-badge { position:absolute; top:10px; right:10px; background:var(--mc-gradient); color:#fff; font-size:.7rem; font-weight:700; padding:3px 8px; border-radius:4px; font-family:'Barlow Condensed',sans-serif; }
.product-body { padding:1.1rem 1.2rem 1.3rem; }
.product-cat { font-size:.75rem; color:var(--mc-orange); font-weight:600; text-transform:uppercase; letter-spacing:.07em; margin-bottom:.3rem; }
.product-title { font-size:1rem; font-weight:600; margin-bottom:.4rem; color:var(--text-main); }
.product-desc { font-size:.82rem; color:var(--text-muted2); margin-bottom:.9rem; }
.btn-add-quote { background:var(--mc-gradient); border:none; color:#fff; font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:.92rem; padding:.42rem 1rem; border-radius:5px; width:100%; transition:opacity .2s; }
.btn-add-quote:hover { opacity:.85; color:#fff; }
.product-filter-btn { background:var(--card-bg); border:1px solid var(--card-border); color:var(--text-main); border-radius:20px; font-size:.85rem; padding:.35rem 1.1rem; transition:.2s; cursor:pointer; }
.product-filter-btn.active, .product-filter-btn:hover { background:var(--mc-gradient); border-color:transparent; color:#fff; }

/* ── ABOUT / FEATURE ── */
.about-img-wrap { position:relative; border-radius:12px; overflow:hidden; background:linear-gradient(135deg,rgba(247,148,29,.1),rgba(232,57,29,.05)); min-height:340px; display:flex; align-items:center; justify-content:center; }
.about-img-wrap i { font-size:7rem; color:var(--mc-orange); opacity:.6; }
.about-accent { position:absolute; bottom:20px; right:20px; background:var(--mc-gradient); color:#fff; padding:.8rem 1.2rem; border-radius:8px; font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:1.1rem; }
.feature-item { display:flex; gap:.8rem; margin-bottom:1rem; color:var(--text-main); }
.feature-dot { width:10px; height:10px; border-radius:50%; background:var(--mc-orange); margin-top:6px; flex-shrink:0; }
.feature-icon { width:52px; height:52px; border-radius:8px; background:linear-gradient(135deg,rgba(247,148,29,.15),rgba(232,57,29,.1)); display:flex; align-items:center; justify-content:center; font-size:1.4rem; color:var(--mc-orange); flex-shrink:0; }
.why-card { background:var(--card-bg); border:1px solid var(--card-border); border-radius:10px; padding:1.4rem; transition:border-color .25s,transform .25s; }
.why-card:hover { border-color:var(--mc-orange); transform:translateY(-3px); }
.why-card i { font-size:2rem; color:var(--mc-orange); margin-bottom:.8rem; display:block; }

/* ── CONTACT MC ── */
.contact-card { background:var(--card-bg); border:1px solid var(--card-border); border-radius:10px; padding:1.4rem 1.2rem; display:flex; gap:1rem; align-items:flex-start; transition:border-color .25s; }
.contact-card:hover { border-color:var(--mc-orange); }
.contact-icon { width:46px; height:46px; border-radius:8px; background:linear-gradient(135deg,rgba(247,148,29,.15),rgba(232,57,29,.1)); display:flex; align-items:center; justify-content:center; font-size:1.2rem; color:var(--mc-orange); flex-shrink:0; }
.contact-lbl { font-size:.75rem; color:var(--text-muted2); text-transform:uppercase; letter-spacing:.07em; }
.contact-val { font-weight:600; font-size:.95rem; color:var(--text-main); }

/* ── CART OFFCANVAS MC ── */
.cart-item { background:var(--card-bg); border:1px solid var(--card-border); border-radius:8px; padding:.9rem 1rem; margin-bottom:.6rem; display:flex; align-items:center; gap:.8rem; }
.cart-item-icon { width:42px; height:42px; border-radius:6px; background:rgba(247,148,29,.12); display:flex; align-items:center; justify-content:center; font-size:1.2rem; color:var(--mc-orange); flex-shrink:0; }
.cart-item-name { font-weight:600; font-size:.9rem; margin-bottom:2px; color:var(--text-main); }
.cart-item-cat { font-size:.75rem; color:var(--mc-orange); }
.btn-remove { background:none; border:none; color:#e53; font-size:1rem; padding:0; cursor:pointer; }
.cart-total { background:var(--mc-gradient); color:#fff; border-radius:8px; padding:1rem 1.2rem; font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:1.1rem; }
.btn-send-quote { background:var(--mc-gradient); border:none; color:#fff; font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:1.1rem; padding:.75rem; border-radius:8px; width:100%; transition:opacity .2s; }
.btn-send-quote:hover { opacity:.88; color:#fff; }

/* ── FOOTER MC ── */
footer { background:var(--footer-bg); color:#bbb; font-size:.875rem; }
footer .footer-logo { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:1.5rem; color:#fff; }
footer .footer-logo span { color:var(--mc-orange); }
footer h6 { color:#fff; font-family:'Barlow Condensed',sans-serif; font-size:1rem; letter-spacing:.05em; margin-bottom:.8rem; }
footer a { color:#bbb; text-decoration:none; transition:color .2s; }
footer a:hover { color:var(--mc-orange); }
.footer-divider { border-color:#2a2a2a; }
.social-btn { width:36px; height:36px; border-radius:6px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1); display:inline-flex; align-items:center; justify-content:center; color:#bbb; font-size:1rem; transition:.2s; }
.social-btn:hover { background:var(--mc-orange); border-color:var(--mc-orange); color:#fff; }

/* ── WHATSAPP FLOAT ── */
#wa-btn { position:fixed; bottom:24px; right:24px; z-index:9999; width:54px; height:54px; border-radius:50%; background:#25D366; box-shadow:0 4px 16px rgba(37,211,102,.4); display:flex; align-items:center; justify-content:center; font-size:1.6rem; color:#fff; text-decoration:none; animation:mcPulse 2.5s infinite; }
@keyframes mcPulse { 0%,100%{ box-shadow:0 4px 16px rgba(37,211,102,.4); } 50%{ box-shadow:0 4px 28px rgba(37,211,102,.7); } }

/* ── SCROLL REVEAL ── */
.scroll-reveal { opacity:0; transform:translateY(24px); transition:opacity .5s,transform .5s; }
.scroll-reveal.visible { opacity:1; transform:none; }

/* ── TOAST MC ── */
.offcanvas { background:var(--card-bg)!important; color:var(--text-main)!important; }
.offcanvas-header { border-bottom:1px solid var(--card-border)!important; }
.mc-toast { background:var(--mc-gradient)!important; color:#fff!important; font-weight:600; }

/* ─── NAVBAR SCROLLED — estado al hacer scroll ─────────── */
/* Stellgrill / fire theme */
#mainNav.nav-scrolled {
  border-bottom-color: rgba(232,65,24,.5) !important;
  box-shadow: 0 2px 16px rgba(232,65,24,.15);
}
/* Melamicreados — si tiene var(--mc-orange) activo */
:root:has(#top-bar) #mainNav.nav-scrolled {
  border-bottom-color: var(--mc-orange) !important;
  box-shadow: 0 2px 16px rgba(247,148,29,.2);
}

/* ── BODY background para melamicreados (dark/light) ────── */
body {
  background-color: var(--body-bg, var(--bg-primary));
  color: var(--text-main, var(--text-primary));
}
[data-bs-theme="light"] body {
  background-color: var(--body-bg, #f5f5f5);
  color: var(--text-main, #1a1a1a);
}

/* ─── PROJECT-MC: melamicreados overrides ───────────────────
   .project-mc en <main> permite aislar estilos sin afectar
   stellgrill ni otros proyectos que comparten custom.css
──────────────────────────────────────────────────────────── */

/* Padding-top compensa top-bar (~33px) + navbar (~76px) */
.project-mc { padding-top: 24.5px; }

/* Navbar: override del !important de stellgrill */
.project-mc #mainNav {
  background: var(--nav-bg) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border-bottom: 3px solid var(--mc-orange) !important;
}

/* Light mode: navbar blanco */
[data-bs-theme="light"] .project-mc #mainNav {
  background: #ffffff !important;
  box-shadow: 0 2px 12px rgba(0,0,0,.1);
}

/* Top bar respeta dark/light */
[data-bs-theme="light"] #top-bar {
  background: #1a1a1a !important;
}

/* Nav links en light mode */
[data-bs-theme="light"] .project-mc #mainNav .nav-link {
  color: #1a1a1a !important;
}
[data-bs-theme="light"] .project-mc #mainNav .nav-link:hover,
[data-bs-theme="light"] .project-mc #mainNav .nav-link.active {
  color: var(--mc-orange) !important;
}

/* Navbar brand en light mode */
[data-bs-theme="light"] .project-mc #mainNav .navbar-brand div {
  color: #1a1a1a !important;
}

/* ─── MC ACERCA / TICKER STRIP ──────────────────────────── */
.mc-about-strip {
  background: var(--section-alt);
  border-bottom: 1px solid var(--card-border);
  overflow: hidden;
}
.mc-about-title {
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 800;
  font-size: clamp(1.5rem, 3vw, 2.2rem);
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--text-main);
  position: relative;
  display: inline-block;
}
.mc-about-title::after {
  content: '';
  position: absolute;
  bottom: -6px; left: 0;
  width: 60px; height: 4px;
  background: var(--mc-gradient);
  border-radius: 2px;
}
.mc-ticker-wrap {
  position: relative;
  overflow: hidden;
  padding: 10px 0;
  -webkit-mask-image: linear-gradient(to right, transparent 0%, black 6%, black 94%, transparent 100%);
  mask-image: linear-gradient(to right, transparent 0%, black 6%, black 94%, transparent 100%);
}
.mc-ticker-wrap:hover .mc-ticker-track { animation-play-state: paused; }
.mc-ticker-track {
  display: flex;
  width: max-content;
  animation: mcTicker 30s linear infinite;
}
@keyframes mcTicker {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
.mc-ticker-item {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  white-space: nowrap;
  padding: .3rem 1.5rem;
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 700;
  font-size: 1rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--text-main);
  transition: color .2s;
}
.mc-ticker-item:hover { color: var(--mc-orange); }
.mc-ticker-dot {
  width: 20px; height: 20px;
  border-radius: 50%;
  background: var(--mc-gradient);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  font-size: .7rem; color: #fff;
}

/* ─── TICKER — overrides para melamicreados (.project-mc) ──── */
.project-mc .ticker-wrapper {
  background: var(--section-alt);
  border-top: 1px solid var(--card-border);
  border-bottom: 1px solid var(--card-border);
}
.project-mc .ticker-item {
  color: var(--text-main);
}
.project-mc .ticker-item:hover,
.project-mc .ticker-item.active {
  color: var(--mc-orange);
}
.project-mc .ticker-dot {
  background: var(--mc-gradient);
}
.project-mc .ticker-item.active .ticker-dot {
  background: var(--mc-orange);
  box-shadow: 0 0 6px rgba(247,148,29,.5);
}

/* ─── TICKER MC — dirección izquierda → derecha + seleccionable ── */
@keyframes tickerScrollLTR {
  0%   { transform: translateX(-50%); }
  100% { transform: translateX(0%); }
}
.project-mc .ticker-track {
  animation-name: tickerScrollLTR;
  animation-duration: 32s;
}
.project-mc .ticker-item {
  padding: .3rem 1.6rem;
  border-radius: 999px;
  border: 1px solid transparent;
  transition: background .2s, color .2s, border-color .2s;
  cursor: pointer;
  text-decoration: none;
}
.project-mc .ticker-item:hover {
  background: rgba(247,148,29,.12);
  border-color: rgba(247,148,29,.35);
  color: var(--mc-orange);
}
.project-mc .ticker-item.active {
  background: var(--mc-gradient);
  border-color: transparent;
  color: #fff !important;
}
.project-mc .ticker-item.active .ticker-dot {
  background: #fff;
}

/* ─── MC CATEGORY BAR — una sola línea, scroll L→R ─────────── */
.mc-cat-bar {
  overflow: hidden;
  white-space: nowrap;
  background: var(--section-alt);
  border-bottom: 2px solid var(--mc-orange);
  -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 6%, #000 94%, transparent 100%);
          mask-image: linear-gradient(to right, transparent 0%, #000 6%, #000 94%, transparent 100%);
  user-select: none;
}
.mc-cat-bar:hover .mc-cat-track { animation-play-state: paused; }

.mc-cat-track {
  display: inline-flex;
  width: max-content;
  animation: mcCatLTR 28s linear infinite;
}
@keyframes mcCatLTR {
  0%   { transform: translateX(-50%); }
  100% { transform: translateX(0%); }
}

.mc-cat-item {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  padding: .55rem 1.4rem;
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 600;
  font-size: .95rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--text-main);
  text-decoration: none;
  transition: color .18s;
  white-space: nowrap;
}
.mc-cat-item:hover        { color: var(--mc-orange); }
.mc-cat-item.active       { color: var(--mc-orange); }
.mc-cat-item.active .mc-cat-dot { background: var(--mc-orange); transform: scale(1.4); }

.mc-cat-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--mc-gradient);
  flex-shrink: 0;
  transition: transform .18s, background .18s;
}
.mc-cat-item:hover .mc-cat-dot { transform: scale(1.3); }

/* ─── CATS SCROLL ROW — scroll en móvil, centrado en desktop ── */
.cats-scroll-row {
  justify-content: flex-start;
  overflow-x: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.cats-scroll-row::-webkit-scrollbar { display: none; }

@media (min-width: 992px) {
  .cats-scroll-row {
    justify-content: center;
    flex-wrap: wrap;
    overflow-x: visible;
  }
}

/* ─── MC HERO PRODUCT CARD ─────────────────────────────────── */
.mc-hero-product {
  border-radius: 12px;
  overflow: hidden;
  background: rgba(0,0,0,.45);
  border: 1px solid rgba(247,148,29,.3);
  backdrop-filter: blur(8px);
  transition: border-color .25s, transform .25s;
}
.mc-hero-product:hover {
  border-color: var(--mc-orange);
  transform: translateY(-4px);
}
.mc-hero-product-img {
  position: relative;
  height: 220px;
  overflow: hidden;
}
.mc-hero-product-badge {
  position: absolute;
  top: 10px; left: 10px;
  background: var(--mc-gradient);
  color: #fff;
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 700;
  font-size: .75rem;
  letter-spacing: .08em;
  padding: 3px 10px;
  border-radius: 4px;
}
.mc-hero-product-body {
  padding: 1.2rem;
}
.mc-hero-product-cat {
  font-size: .72rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--mc-orange);
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 700;
  margin-bottom: .35rem;
}
.mc-hero-product-title {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  color: #fff;
  margin-bottom: .35rem;
  line-height: 1.2;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.mc-hero-product-desc {
  font-size: .82rem;
  color: rgba(255,255,255,.65);
  margin: 0;
  line-height: 1.55;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Slider dots */
.mc-slider-dot { flex-shrink: 0; }

/* ─── MC HERO — responsive overrides ───────────────────────── */
.project-mc #hero {
  min-height: 90vh;
  display: flex;
  align-items: center;
}
.project-mc .hero-title {
  font-size: clamp(1.8rem, 4vw, 3.2rem) !important;
  line-height: 1.15 !important;
  text-shadow: none;
}
.project-mc .hero-title span {
  background: var(--mc-gradient2);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.project-mc .hero-sub {
  font-size: .95rem;
  max-width: 480px;
}
.project-mc .hero-badge {
  border: none;
  background: var(--mc-gradient);
  color: #fff;
  letter-spacing: .08em;
  font-size: .82rem;
}
.project-mc .min-vh-60 { min-height: 60vh; }

/* slider fade — evita el layout roto con position:absolute */
.mc-hero-slide[style*="display:none"] { display: none !important; }

/* ─── MC CAT TICKER — categorías derecha → izquierda ────────── */
.mc-cat-ticker-wrap {
  overflow: hidden;
  -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 5%, #000 95%, transparent 100%);
          mask-image: linear-gradient(to right, transparent 0%, #000 5%, #000 95%, transparent 100%);
  cursor: pointer;
}
.mc-cat-ticker-wrap:hover .mc-cat-ticker-track {
  animation-play-state: paused;
}
.mc-cat-ticker-track {
  display: flex;
  width: max-content;
  align-items: flex-start;
  gap: 1.8rem;
  padding: .5rem 0;
  animation: mcCatRTL 32s linear infinite;
}
@keyframes mcCatRTL {
  0%   { transform: translateX(0%); }
  100% { transform: translateX(-50%); }
}
.mc-cat-ticker-item:hover .cat-scroll-circle {
  border-color: var(--mc-orange) !important;
  box-shadow: 0 0 0 3px rgba(247,148,29,.2);
}
.mc-cat-ticker-item:hover span {
  color: var(--mc-orange) !important;
}
@media (max-width: 991px) {
  .mc-cat-ticker-track { animation-duration: 20s; }
}
