/* ═══════════════════════════════════════
       GLOBAL ENHANCEMENTS
    ═══════════════════════════════════════ */
    :root {
      --accent: #0aa6d7;
      --accent-dark: #0880a8;
      --dark: #111827;
      --mid: #374151;
      --light-gray: #f8f9fa;
      --border: rgba(0,0,0,.07);
    }

    html { scroll-behavior: smooth; }

    /* ── Scroll-reveal base ── */
    .reveal {
      opacity: 0;
      transform: translateY(32px);
      transition: opacity .65s cubic-bezier(.22,1,.36,1), transform .65s cubic-bezier(.22,1,.36,1);
    }
    .reveal.visible { opacity: 1; transform: none; }
    .reveal-left  { opacity:0; transform:translateX(-32px); transition: opacity .65s cubic-bezier(.22,1,.36,1), transform .65s cubic-bezier(.22,1,.36,1); }
    .reveal-left.visible { opacity:1; transform:none; }
    .reveal-right { opacity:0; transform:translateX(32px);  transition: opacity .65s cubic-bezier(.22,1,.36,1), transform .65s cubic-bezier(.22,1,.36,1); }
    .reveal-right.visible { opacity:1; transform:none; }
    .delay-1 { transition-delay:.1s; }
    .delay-2 { transition-delay:.2s; }
    .delay-3 { transition-delay:.3s; }
    .delay-4 { transition-delay:.4s; }
    .delay-5 { transition-delay:.5s; }

    /* ── Topbar ── */
    .topbar { background: var(--accent); color:#fff; font-size:13px; font-weight:500; padding:7px 0; }
    .topbar a { color:#fff; text-decoration:none; }
    .topbar-contact { display:flex; align-items:center; gap:.5rem; }
    .topbar-contact svg { opacity:.85; }

    /* ── Sticky header shadow on scroll ── */
    .site-header { transition: box-shadow .3s ease; }
    .site-header.scrolled { box-shadow: 0 4px 24px rgba(0,0,0,.10) !important; }

    /* ═══════════════════════════════════════
       CAROUSEL ENHANCEMENTS
    ═══════════════════════════════════════ */
    .carousel-indicators [data-bs-target] {
      width: 32px; height: 4px; border-radius: 2px;
      background: rgba(255,255,255,.45); border:0;
      transition: width .3s ease, background .3s ease;
    }
    .carousel-indicators .active {
      background: var(--accent); width: 52px;
    }
    .carousel-control-prev, .carousel-control-next {
      width: 48px; height: 48px; background: rgba(255,255,255,.15);
      backdrop-filter: blur(6px); border-radius: 50%;
      top:50%; transform:translateY(-50%); bottom:auto;
      margin: 0 1.5rem;
      transition: background .2s ease, transform .2s ease;
    }
    .carousel-control-prev:hover, .carousel-control-next:hover {
      background: var(--accent); transform:translateY(-50%) scale(1.08);
    }
    .carousel-control-prev-icon, .carousel-control-next-icon { width:18px; height:18px; }

    /* ═══════════════════════════════════════
       CATEGORIES SECTION
    ═══════════════════════════════════════ */
    .dark-section {
      background: var(--light-gray);
      padding: 4rem 0;
    }
    .dark-section .section-eyebrow {
      font-size:.8rem; letter-spacing:.12em; text-transform:uppercase;
      font-weight:700; color:var(--accent); margin-bottom:.4rem;
    }
    .col-cat { height: 140px; }

    /* ═══════════════════════════════════════
       ABOUT / METRICS STRIP
    ═══════════════════════════════════════ */
    .light-section { padding: 5rem 0 4rem; background:#fff; }
    .metric-card {
      background: var(--dark); color:#fff; border:0;
      border-radius: 1.25rem;
      box-shadow: 0 8px 32px rgba(0,0,0,.12);
      padding:1.75rem;
      transition: transform .3s ease, box-shadow .3s ease;
    }
    .metric-card:hover { transform:translateY(-4px); box-shadow:0 18px 40px rgba(0,0,0,.15); }
    .metric-card .metric-num {
      font-size: 2.4rem; font-weight:800; color:var(--accent); line-height:1;
      font-family:'Sora',sans-serif;
    }
    .metric-card .metric-label { font-size:.9rem; color:rgba(255,255,255,.65); margin-top:.35rem; }
    .metric-card .metric-icon { width:40px; height:40px; border-radius:12px; background:rgba(10,166,215,.15); display:grid; place-items:center; margin-bottom:.75rem; }

    /* ═══════════════════════════════════════
       CTA BAND
    ═══════════════════════════════════════ */
    .cta-band {
      background: linear-gradient(135deg, #0d1b2a, #1a3554);
      border-radius: 1.5rem; overflow:hidden;
      box-shadow: 0 20px 60px rgba(0,0,0,.18);
    }
    .cta-band img { object-fit:cover; height:100%; min-height:300px; }
    .cta-badge { display:inline-block; background:rgba(10,166,215,.18); border:1px solid rgba(10,166,215,.35); border-radius:999px; padding:.3rem .9rem; font-size:.8rem; color:var(--accent); font-weight:600; letter-spacing:.06em; text-transform:uppercase; margin-bottom:1rem; }

    /* ═══════════════════════════════════════
       WHY CHOOSE US – ICON CARDS
    ═══════════════════════════════════════ */
    .why-section { background: var(--light-gray); padding:5rem 0; }
    .why-card {
      background:#fff; border:0; border-radius:1.25rem;
      padding:1.75rem; height:100%;
      box-shadow:0 4px 20px rgba(0,0,0,.055);
      transition: transform .3s ease, box-shadow .3s ease;
      position:relative; overflow:hidden;
    }
    .why-card::before {
      content:''; position:absolute; inset:0; background:linear-gradient(135deg,var(--accent),#0d5a7a);
      opacity:0; transition:opacity .3s ease;
    }
    .why-card:hover { transform:translateY(-5px); box-shadow:0 16px 40px rgba(10,166,215,.18); }
    .why-card:hover::before { opacity:.04; }
    .why-card .why-icon {
      width:52px; height:52px; border-radius:14px;
      background:rgba(10,166,215,.1); display:grid; place-items:center;
      margin-bottom:1rem; color:var(--accent); font-size:1.4rem;
      transition: background .3s ease, transform .3s ease;
    }
    .why-card:hover .why-icon { background:var(--accent); color:#fff; transform:scale(1.05) rotate(-3deg); }
    .why-card h3 { font-size:1.05rem; font-weight:700; margin-bottom:.4rem; }
    .why-card p { font-size:.9rem; color:#6b7280; margin:0; }

    /* ═══════════════════════════════════════
       TESTIMONIALS
    ═══════════════════════════════════════ */
    .testimonials-section { background:#fff; padding:5rem 0; }
    .testimony-card {
      background:#fff; border:1px solid var(--border);
      border-radius:1.25rem; overflow:hidden; height:100%;
      box-shadow:0 4px 20px rgba(0,0,0,.055);
      transition: transform .3s ease, box-shadow .3s ease;
    }
    .testimony-card:hover { transform:translateY(-4px); box-shadow:0 16px 40px rgba(0,0,0,.10); }
    .testimony-card .tc-body { padding:1.25rem; }
    .testimony-card .tc-quote {
      font-style:italic; font-size:.95rem; color:#374151;
      position:relative; padding-left:1.1rem;
    }
    .testimony-card .tc-quote::before {
      content:'"'; position:absolute; left:0; top:-.3rem;
      font-size:2rem; color:var(--accent); font-style:normal; line-height:1;
    }
    .testimony-card img { aspect-ratio:16/9; object-fit:cover; }
    .tc-stars { color:#f59e0b; font-size:.85rem; margin-bottom:.5rem; }

    /* ═══════════════════════════════════════
       PROJECTS
    ═══════════════════════════════════════ */
    .projects-section { background:var(--light-gray); padding:5rem 0; }
    .project-card {
      border:0; border-radius:1.25rem; overflow:hidden; height:100%;
      box-shadow:0 4px 20px rgba(0,0,0,.07);
      transition: transform .3s ease, box-shadow .3s ease;
    }
    .project-card:hover { transform:translateY(-5px); box-shadow:0 20px 48px rgba(0,0,0,.13); }
    .project-card .pc-img { position:relative; overflow:hidden; }
    .project-card img { aspect-ratio:4/3; object-fit:cover; width:100%; transition:transform .5s ease; }
    .project-card:hover img { transform:scale(1.04); }
    .project-card .pc-overlay {
      position:absolute; inset:0; background:linear-gradient(to top,rgba(0,0,0,.45),transparent);
      opacity:0; transition:opacity .3s ease;
    }
    .project-card:hover .pc-overlay { opacity:1; }
    .project-card .card-body { padding:1rem 1.25rem; }

    /* ═══════════════════════════════════════
       SUPPORT / RESOURCES
    ═══════════════════════════════════════ */
    .support-section { background:#fff; padding:5rem 0; }
    .support-card {
      background:#fff; border:1px solid var(--border); border-radius:1.25rem;
      padding:2rem; height:100%;
      box-shadow:0 4px 16px rgba(0,0,0,.05);
      transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
      text-decoration:none; color:inherit; display:block;
    }
    .support-card:hover {
      transform:translateY(-4px); border-color:var(--accent);
      box-shadow:0 16px 36px rgba(10,166,215,.12);
    }
    .support-card .sc-icon {
      width:54px; height:54px; border-radius:14px; background:rgba(10,166,215,.1);
      display:grid; place-items:center; margin-bottom:1.1rem; color:var(--accent); font-size:1.5rem;
      transition: background .3s, transform .3s;
    }
    .support-card:hover .sc-icon { background:var(--accent); color:#fff; transform:scale(1.06); }
    .support-card h3 { font-size:1rem; font-weight:700; margin-bottom:.35rem; }
    .support-card p { font-size:.88rem; color:#6b7280; margin:0; }

    /* ═══════════════════════════════════════
       NEWS
    ═══════════════════════════════════════ */
    .news-section { background:var(--light-gray); padding:5rem 0; }
    .news-card {
      border:0; border-radius:1.25rem; overflow:hidden; height:100%;
      box-shadow:0 4px 20px rgba(0,0,0,.07);
      transition: transform .3s ease, box-shadow .3s ease;
      background:#fff;
    }
    .news-card:hover { transform:translateY(-5px); box-shadow:0 20px 48px rgba(0,0,0,.11); }
    .news-card .nc-img { position:relative; overflow:hidden; }
    .news-card img { aspect-ratio:16/9; object-fit:cover; width:100%; transition:transform .5s ease; }
    .news-card:hover img { transform:scale(1.04); }
    .news-card .card-body { padding:1.25rem; }
    .news-tag { display:inline-block; background:rgba(10,166,215,.1); color:var(--accent); border-radius:999px; font-size:.75rem; font-weight:700; padding:.2rem .7rem; text-transform:uppercase; letter-spacing:.06em; margin-bottom:.6rem; }
    .news-meta { font-size:.82rem; color:#9ca3af; }

    /* ═══════════════════════════════════════
       CONTACT / FORM
    ═══════════════════════════════════════ */
    .contact-section { background:#fff; padding:5rem 0; }
    .form-panel {
      background:#fff; border-radius:1.5rem;
      box-shadow:0 12px 40px rgba(0,0,0,.09); padding:2.5rem;
    }
    .form-control, .form-select {
      border-radius:.75rem; border-color:#e5e7eb; padding:.65rem 1rem;
      font-size:.95rem; transition:border-color .2s, box-shadow .2s;
    }
    .form-control:focus, .form-select:focus {
      border-color:var(--accent); box-shadow:0 0 0 3px rgba(10,166,215,.15);
    }
    .contact-info-card {
      background:linear-gradient(135deg,var(--dark),var(--mid));
      border-radius:1.5rem; padding:2rem; color:#fff;
      box-shadow:0 12px 40px rgba(0,0,0,.12);
    }
    .contact-info-item { display:flex; align-items:flex-start; gap:1rem; padding:.85rem 0; border-bottom:1px solid rgba(255,255,255,.1); }
    .contact-info-item:last-child { border-bottom:0; }
    .ci-icon { width:40px; height:40px; border-radius:10px; background:rgba(10,166,215,.2); display:grid; place-items:center; flex-shrink:0; color:var(--accent); }

    /* ═══════════════════════════════════════
       SECTION TITLES
    ═══════════════════════════════════════ */
    .section-eyebrow {
      display:inline-block; font-size:.78rem; letter-spacing:.12em; text-transform:uppercase;
      font-weight:700; color:var(--accent); margin-bottom:.5rem;
    }
    .section-title-lg { font-size:clamp(1.6rem,3vw,2.1rem); font-weight:800; line-height:1.2; font-family:'Sora',sans-serif; }

    /* ═══════════════════════════════════════
       FOOTER
    ═══════════════════════════════════════ */
    .footer-dark { background:var(--dark); color:#9ca3af; }
    .footer-dark .footer-brand-text { color:#fff; font-family:'Sora',sans-serif; font-weight:800; font-size:1.4rem; }
    .footer-dark h3 { color:#fff; font-size:.9rem; text-transform:uppercase; letter-spacing:.08em; margin-bottom:1rem; }
    .footer-dark a { color:#9ca3af; text-decoration:none; font-size:.9rem; transition:color .2s; }
    .footer-dark a:hover { color:var(--accent); }
    .footer-dark ul li { margin-bottom:.5rem; }
    .footer-divider { border-color:rgba(255,255,255,.08); }
    .footer-social { display:flex; gap:.75rem; }
    .footer-social a {
      width:38px; height:38px; border-radius:10px; background:rgba(255,255,255,.07);
      display:grid; place-items:center; color:#fff;
      transition:background .2s, transform .2s;
    }
    .footer-social a:hover { background:var(--accent); transform:translateY(-2px); color:#fff; }
    .newsletter-input-group { display:flex; gap:.5rem; }
    .newsletter-input-group input { flex:1; }

    /* ═══════════════════════════════════════
       PARTNER LOGO STRIP
    ═══════════════════════════════════════ */
    .partners-strip { background:#fff; padding:2.5rem 0; border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
    .partners-strip .partner-label { font-size:.75rem; text-transform:uppercase; letter-spacing:.12em; font-weight:700; color:#9ca3af; margin-bottom:1.5rem; }
    .partner-logos { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:2rem 3rem; }
    .partner-logo { height:28px; opacity:.35; filter:grayscale(1); transition:opacity .2s, filter .2s; }
    .partner-logo:hover { opacity:.7; filter:none; }

    /* Back to top */
    .back-to-top {
      position:fixed; bottom:2rem; right:2rem; width:44px; height:44px;
      background:var(--accent); color:#fff; border:0; border-radius:12px;
      display:grid; place-items:center; box-shadow:0 4px 16px rgba(10,166,215,.4);
      opacity:0; pointer-events:none; transition:opacity .3s, transform .3s;
      z-index:999;
    }
    .back-to-top.show { opacity:1; pointer-events:auto; }
    .back-to-top:hover { transform:translateY(-3px); }
	
	 /* ── Page Hero (non-carousel) ── */
    .page-hero {
      position: relative; overflow: hidden;
      min-height: clamp(280px, 38vw, 460px);
      display: flex; align-items: center;
    }
    .page-hero img {
      position: absolute; inset: 0; width: 100%; height: 100%;
      object-fit: cover; object-position: center;
    }
    .page-hero .ph-overlay {
      position: absolute; inset: 0;
      background: linear-gradient(90deg, rgba(0,0,0,.72) 0%, rgba(0,0,0,.35) 100%);
    }
    .page-hero .ph-content { position: relative; z-index: 2; padding: 4rem 0; }
    .breadcrumb-item a { color: var(--accent); text-decoration: none; }
    .breadcrumb-item.active { color: rgba(255,255,255,.7); }
    .breadcrumb-item + .breadcrumb-item::before { color: rgba(255,255,255,.4); }

    /* ── Subcategory cards ── */
    .subcat-card {
      border: 0; border-radius: 1.5rem; overflow: hidden; height: 100%;
      box-shadow: 0 6px 28px rgba(0,0,0,.08);
      transition: transform .35s ease, box-shadow .35s ease;
      display: block; text-decoration: none; color: inherit;
      background: #fff;
    }
    .subcat-card:hover { transform: translateY(-6px); box-shadow: 0 22px 52px rgba(0,0,0,.14); }
    .subcat-card .sc-img { position: relative; overflow: hidden; }
    .subcat-card img { aspect-ratio: 16/9; object-fit: cover; width: 100%; transition: transform .5s ease; }
    .subcat-card:hover img { transform: scale(1.05); }
    .subcat-card .sc-badge {
      position: absolute; top: 1rem; left: 1rem;
      background: var(--accent); color: #fff; border-radius: 999px;
      font-size: .72rem; font-weight: 700; padding: .25rem .75rem;
      text-transform: uppercase; letter-spacing: .06em;
    }
    .subcat-card .sc-body { padding: 1.5rem; }
    .subcat-card h3 { font-size: 1.15rem; font-weight: 800; margin-bottom: .5rem; font-family: 'Sora', sans-serif; }
    .subcat-card p { font-size: .9rem; color: #6b7280; margin-bottom: 1rem; }
    .subcat-card .sc-link {
      display: inline-flex; align-items: center; gap: .4rem;
      color: var(--accent); font-weight: 700; font-size: .88rem;
      transition: gap .2s ease;
    }
    .subcat-card:hover .sc-link { gap: .65rem; }

    /* ── Feature list ── */
    .feature-list li {
      display: flex; align-items: flex-start; gap: .75rem;
      padding: .6rem 0; border-bottom: 1px solid var(--border);
      font-size: .95rem;
    }
    .feature-list li:last-child { border-bottom: 0; }
    .feature-list .fi-dot {
      width: 22px; height: 22px; border-radius: 50%; background: rgba(10,166,215,.15);
      display: grid; place-items: center; flex-shrink: 0; margin-top: .1rem; color: var(--accent);
    }

    /* ── Filter bar ── */
    .filter-bar { background: #fff; border-radius: 1rem; padding: 1rem 1.5rem; box-shadow: 0 4px 16px rgba(0,0,0,.06); }
    .filter-btn { border-radius: 999px; padding: .4rem 1.1rem; font-size: .85rem; font-weight: 600; border: 1.5px solid #e5e7eb; background: transparent; color: #374151; transition: all .2s; cursor: pointer; }
    .filter-btn.active, .filter-btn:hover { background: var(--accent); border-color: var(--accent); color: #fff; }

    /* ── FAQ accordion ── */
    .faq-accordion .accordion-button {
      font-weight: 700; font-size: .98rem; background: #fff;
      border-radius: 1rem !important; color: var(--dark);
    }
    .faq-accordion .accordion-button:not(.collapsed) { color: var(--accent); background: rgba(10,166,215,.05); box-shadow: none; }
    .faq-accordion .accordion-item { border: 1px solid var(--border); border-radius: 1rem !important; margin-bottom: .75rem; overflow: hidden; }
    .faq-accordion .accordion-button::after { filter: none; }
    .faq-accordion .accordion-button:focus { box-shadow: none; }
	.score-card {
    background: #fff;
    border: 1px solid rgba(0,0,0,.08);
    border-radius: 14px;
    padding: 1.4rem 1.3rem 1.2rem;
    height: 100%;
    display: flex;
    flex-direction: column;
    transition: box-shadow .25s ease, transform .25s ease;
  }
  .score-card:hover {
    box-shadow: 0 8px 32px rgba(0,0,0,.09);
    transform: translateY(-3px);
  }
  .score-card--top {
    border: 2px solid #0aa6d7;
  }
  .score-card__badge {
    display: inline-block;
    background: #0aa6d7;
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
    border-radius: 20px;
    padding: 3px 11px;
    margin-bottom: .75rem;
    width: fit-content;
  }
  .score-card__header {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: .6rem;
  }
  .score-dot {
    width: 11px; height: 11px;
    border-radius: 50%;
    flex-shrink: 0;
  }
  .score-card__title {
    font-size: 1.05rem;
    font-weight: 600;
    margin: 0;
    flex: 1;
    color: #111827;
  }
  .score-card__total {
    font-size: 1.35rem;
    font-weight: 700;
    color: #111827;
  }
  .score-card__max {
    font-size: .85rem;
    font-weight: 400;
    color: #9ca3af;
  }
  .score-bar-wrap {
    background: #f3f4f6;
    border-radius: 4px;
    height: 6px;
    margin-bottom: 1.1rem;
    overflow: hidden;
  }
  .score-bar {
    height: 100%;
    border-radius: 4px;
    transition: width .8s cubic-bezier(.22,1,.36,1);
  }
  .score-params {
    list-style: none;
    padding: 0; margin: 0;
    flex: 1;
  }
  .score-params li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: .82rem;
    color: #6b7280;
    padding: 5px 0;
    border-bottom: 1px solid rgba(0,0,0,.05);
  }
  .score-params li:last-child { border-bottom: none; }
  .score-pips {
    display: flex;
    gap: 3px;
  }
  .score-asterisk {
    font-size: 11px;
    color: #9ca3af;
    margin-left: 3px;
  }
  
  .page-hero { position:relative; overflow:hidden; min-height:clamp(260px,35vw,420px); display:flex; align-items:center; }
    .page-hero img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
    .page-hero .ph-overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,0,0,.75),rgba(0,0,0,.3)); }
    .page-hero .ph-content { position:relative; z-index:2; padding:4rem 0; }
    .breadcrumb-item a { color:var(--accent); text-decoration:none; }
    .breadcrumb-item.active { color:rgba(255,255,255,.7); }
    .breadcrumb-item + .breadcrumb-item::before { color:rgba(255,255,255,.4); }

    /* Product gallery */
    .gallery-main { border-radius:1.25rem; overflow:hidden; aspect-ratio:4/3; }
    .gallery-main img { width:100%; height:100%; object-fit:cover; transition:transform .4s ease; }
    .gallery-main:hover img { transform:scale(1.03); }
    .gallery-thumb { border-radius:.75rem; overflow:hidden; aspect-ratio:1/1; cursor:pointer; border:2px solid transparent; transition:border-color .2s; }
    .gallery-thumb.active { border-color:var(--accent); }
    .gallery-thumb img { width:100%; height:100%; object-fit:cover; }

    /* Spec table */
    .spec-table { border-radius:1.25rem; overflow:hidden; box-shadow:0 4px 20px rgba(0,0,0,.06); }
    .spec-table table { margin:0; }
    .spec-table th { background:var(--dark); color:#fff; padding:.85rem 1.25rem; font-size:.82rem; text-transform:uppercase; letter-spacing:.06em; font-weight:700; }
    .spec-table td { padding:.75rem 1.25rem; font-size:.92rem; vertical-align:middle; border-color:#f3f4f6; }
    .spec-table tr:nth-child(even) td { background:#f8f9fa; }
    .spec-table .spec-key { color:#6b7280; font-weight:500; width:45%; }
    .spec-table .spec-val { font-weight:600; color:var(--dark); }

    /* Model cards */
    .model-card {
      background:#fff; border-radius:1.25rem; overflow:hidden; height:100%;
      box-shadow:0 4px 20px rgba(0,0,0,.07); border:2px solid transparent;
      transition:transform .3s, box-shadow .3s, border-color .3s;
    }
    .model-card:hover { transform:translateY(-5px); box-shadow:0 20px 48px rgba(0,0,0,.12); border-color:var(--accent); }
    .model-card img { aspect-ratio:4/3; object-fit:cover; width:100%; }
    .model-card .mc-body { padding:1.25rem; }
    .model-card h3 { font-size:1rem; font-weight:800; font-family:'Sora',sans-serif; margin-bottom:.4rem; }
    .model-card .mc-tag { display:inline-block; background:rgba(10,166,215,.1); color:var(--accent); border-radius:999px; font-size:.72rem; font-weight:700; padding:.18rem .65rem; text-transform:uppercase; margin-bottom:.6rem; }

    /* Sticky enquiry sidebar */
    .enquiry-card { background:#fff; border-radius:1.5rem; box-shadow:0 8px 40px rgba(0,0,0,.1); padding:2rem; position:sticky; top:90px; }
    .enquiry-card .price-badge { background:rgba(10,166,215,.08); border:1px dashed var(--accent); border-radius:1rem; padding:1rem 1.25rem; margin-bottom:1.25rem; }

    /* Related products */
    .related-card {
      border:1px solid var(--border); border-radius:1.25rem; overflow:hidden; text-decoration:none; color:inherit; display:block;
      transition:transform .3s, box-shadow .3s, border-color .3s;
    }
    .related-card:hover { transform:translateY(-4px); box-shadow:0 16px 36px rgba(0,0,0,.1); border-color:var(--accent); }
    .related-card img { aspect-ratio:16/9; object-fit:cover; width:100%; }
    .related-card .rc-body { padding:1rem; }
    .related-card h4 { font-size:.95rem; font-weight:700; margin:0; }
	
	    :root {
      --accent: #0aa6d7;
      --accent-dark: #0880a8;
      --dark: #111827;
      --mid: #374151;
      --border: rgba(0,0,0,.09);
    }
    *, *::before, *::after { box-sizing: border-box; }
    body { font-family:'Inter',sans-serif; background:#eef0f3; color:var(--dark); margin:0; }

    .cfg-page {
      max-width: 1300px;
      margin: 0 auto;
      padding: 2rem 1.5rem 3rem;
    }

    .cfg-layout {
      display: grid;
      grid-template-columns: 1fr 430px;
      gap: 1.75rem;
      align-items: start;
    }

    /* ── DOOR PREVIEW ── */
    .door-panel {
      background: #e2e5e9;
      border-radius: 18px;
      padding: 2rem 1.75rem 1.5rem;
      position: sticky;
      top: 1.5rem;
    }

    .door-scene { width:100%; max-width:560px; margin:0 auto; }

    /* Wall / frame */
    .door-surround {
      background: #c9cdd4;
      border-radius: 6px 6px 0 0;
      padding: 18px 18px 0;
      box-shadow: inset 0 6px 16px rgba(0,0,0,.12);
    }

    /* Inner reveal — the canvas sits here */
    .door-aperture {
      position: relative;
      width: 100%;
      padding-bottom: 52%;   /* Approx garage-door ratio */
      background: #1a1c1e;
      overflow: hidden;
    }

    #doorCanvas {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      display: block;
    }

    /* Floor / threshold */
    .door-threshold {
      background: linear-gradient(to bottom, #9a9fa8, #b2b6bc);
      height: 14px;
      border-radius: 0 0 4px 4px;
    }

    .door-floor-shadow {
      height: 12px;
      background: radial-gradient(ellipse at 50% 0%, rgba(0,0,0,.22) 0%, transparent 70%);
      margin-top: 0;
    }

    .door-info {
      text-align: center;
      margin-top: 1.1rem;
      font-size: .82rem;
      color: #6b7280;
    }
    .door-info strong { color: var(--dark); font-size: .9rem; }

    .cfg-reset-row {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: .4rem;
      background: none;
      border: none;
      color: var(--accent);
      font-size: .8rem;
      font-weight: 600;
      cursor: pointer;
      padding: .8rem 0 0;
      width: 100%;
      text-decoration: none;
    }
    .cfg-reset-row:hover { text-decoration: underline; }

    /* ── CONFIGURATOR ── */
    .cfg-title {
      font-family: 'Sora', sans-serif;
      font-size: 1.25rem;
      font-weight: 700;
      margin: 0 0 1.25rem;
      line-height: 1.4;
    }

    .cfg-panel {
      background: #fff;
      border-radius: 16px;
      border: 1px solid var(--border);
      overflow: hidden;
    }

    .cfg-step {
      padding: 1.3rem 1.6rem;
      border-bottom: 1px solid var(--border);
    }
    .cfg-step:last-child { border-bottom: none; }

    .step-label {
      display: flex;
      align-items: center;
      gap: .5rem;
      font-size: .72rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: .09em;
      color: var(--mid);
      margin-bottom: .85rem;
    }
    .step-num {
      width: 21px; height: 21px;
      background: var(--accent);
      color: #fff;
      border-radius: 50%;
      font-size: .7rem;
      display: grid;
      place-items: center;
      font-weight: 700;
      flex-shrink: 0;
    }

    .size-select {
      width: 100%;
      border: 1.5px solid var(--border);
      border-radius: 9px;
      padding: .6rem 1rem;
      font-size: .88rem;
      font-weight: 500;
      color: var(--dark);
      background: #fff;
      cursor: pointer;
      transition: border-color .18s, box-shadow .18s;
    }
    .size-select:focus { outline:none; border-color:var(--accent); box-shadow:0 0 0 3px rgba(10,166,215,.12); }

    /* Motif & Surface cards */
    .card-grid { display:flex; gap:.65rem; flex-wrap:wrap; }

    .opt-card {
      border: 2px solid var(--border);
      border-radius: 10px;
      overflow: hidden;
      cursor: pointer;
      transition: border-color .18s, transform .15s, box-shadow .15s;
      width: 88px;
      flex-shrink: 0;
      background: #fff;
      position: relative;
    }
    .opt-card:hover { border-color: var(--accent); transform: translateY(-2px); }
    .opt-card.active {
      border-color: var(--accent);
      box-shadow: 0 0 0 3px rgba(10,166,215,.18);
    }
    .opt-card.active::after {
      content: '✓';
      position: absolute;
      top: 4px; right: 4px;
      width: 17px; height: 17px;
      background: var(--accent);
      color: #fff;
      border-radius: 50%;
      font-size: .62rem;
      display: grid;
      place-items: center;
      font-weight: 700;
      z-index: 2;
    }

    .opt-thumb {
      width: 100%;
      height: 64px;
      display: block;
      object-fit: cover;
    }
    .opt-thumb-svg {
      width: 100%;
      height: 64px;
      display: flex;
      align-items: center;
      justify-content: center;
      background: #f0f2f4;
    }
    .opt-name {
      font-size: .7rem;
      font-weight: 600;
      padding: .32rem .4rem .38rem;
      color: var(--dark);
      border-top: 1px solid var(--border);
      text-align: center;
      line-height: 1.3;
    }

    /* Color swatches */
    .color-grid { display:flex; flex-wrap:wrap; gap:.5rem; }
    .color-swatch {
      width: 38px; height: 38px;
      border-radius: 8px;
      cursor: pointer;
      border: 2.5px solid transparent;
      position: relative;
      transition: transform .15s, border-color .15s;
      flex-shrink: 0;
      box-shadow: 0 1px 4px rgba(0,0,0,.15);
    }
    .color-swatch:hover { transform: scale(1.12); }
    .color-swatch.active {
      border-color: var(--accent);
      box-shadow: 0 0 0 3px rgba(10,166,215,.28);
    }
    .color-swatch[title]:hover::after {
      content: attr(title);
      position: absolute;
      bottom: calc(100% + 6px);
      left: 50%;
      transform: translateX(-50%);
      background: var(--dark);
      color: #fff;
      font-size: .7rem;
      padding: 3px 8px;
      border-radius: 5px;
      white-space: nowrap;
      pointer-events: none;
      z-index: 20;
    }

    /* Price bar */
    .cfg-price-bar {
      background: linear-gradient(135deg, #0d1b2a, #0f2d4a);
      border-radius: 14px;
      padding: 1.25rem 1.5rem;
      color: #fff;
      margin-top: 1rem;
    }
    .price-row { display:flex; justify-content:space-between; align-items:baseline; }
    .price-label { font-size:.78rem; opacity:.6; }
    .price-eur {
      font-family: 'Sora', sans-serif;
      font-size: 1.85rem;
      font-weight: 800;
      color: var(--accent);
      line-height: 1;
    }
    .price-bgn { font-size:.8rem; color:rgba(255,255,255,.45); margin-top:.2rem; text-align:right; }
    .btn-inquiry {
      width: 100%;
      background: var(--accent);
      color: #fff;
      border: none;
      border-radius: 10px;
      padding: .85rem;
      font-size: .92rem;
      font-weight: 600;
      cursor: pointer;
      transition: background .2s, transform .15s;
      margin-top: .9rem;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: .5rem;
    }
    .btn-inquiry:hover { background:var(--accent-dark); transform:translateY(-1px); }

    @media (max-width:900px) {
      .cfg-layout { grid-template-columns:1fr; }
      .door-panel { position:static; }
    }

    /* ═══════════════════════════════════════
       SHARED PAGE UTILITIES
    ═══════════════════════════════════════ */

    /* Topbar hours */
    .topbar-hours { font-size:12px; opacity:.9; }

    /* Hero text helpers (used on garazhni-vrati.html) */
    .hero-title-sora { font-family:'Sora',sans-serif; }
    .hero-lead { max-width:540px; opacity:.9; }

    /* Generic rounded outline button */
    .btn-rounded { border-radius:50px; }

    /* Mini hero / breadcrumb band on subcategory pages */
    .mini-hero { background:var(--dark); padding:2.5rem 0; }
    .mini-hero .breadcrumb-link { color:var(--accent); text-decoration:none; }
    .mini-hero .breadcrumb-link:hover { color:#fff; }
    .mini-hero .breadcrumb-item.active { color:rgba(255,255,255,.6); }
    .mini-hero-title {
      font-family:'Sora',sans-serif;
      font-size:clamp(1.5rem,3vw,2.2rem);
      color:#fff;
      font-weight:700;
      margin:0;
    }

    /* Promotions page */
    .promo-hero {
      position:relative;
      min-height:520px;
      display:flex;
      align-items:center;
      overflow:hidden;
      background:var(--dark);
    }
    .promo-hero-image {
      position:absolute;
      inset:0;
      width:100%;
      height:100%;
      object-fit:cover;
    }
    .promo-hero-overlay {
      position:absolute;
      inset:0;
      background:rgba(13,27,42,.76);
    }
    .promo-hero-content {
      position:relative;
      z-index:1;
      text-align:center;
      padding-top:5rem;
      padding-bottom:5rem;
    }
    .promo-kicker {
      display:inline-block;
      color:#fff;
      background:var(--accent);
      border-radius:999px;
      padding:.45rem 1rem;
      font-weight:700;
      margin-bottom:1.25rem;
    }
    .promo-discount {
      font-family:'Sora',sans-serif;
      font-size:1.5rem;
      font-weight:700;
      line-height:1;
      margin-bottom:1rem;
    }
    .promo-discount strong {
      display:block;
      color:var(--accent);
      font-size:5rem;
      line-height:.95;
    }
    .promo-hero h2 {
      font-family:'Sora',sans-serif;
      font-size:2.35rem;
      max-width:820px;
      margin:0 auto 1rem;
    }
    .promo-hero-content > p {
      max-width:760px;
      margin:0 auto 2rem;
      font-size:1.08rem;
      color:rgba(255,255,255,.86);
    }
    .promo-facts {
      display:grid;
      grid-template-columns:repeat(3,minmax(0,1fr));
      gap:1rem;
    }
    .promo-fact {
      border:1px solid var(--border);
      border-left:4px solid var(--accent);
      border-radius:8px;
      padding:1.25rem;
      background:#fff;
    }
    .promo-fact-label {
      display:block;
      color:#6b7280;
      font-size:.82rem;
      font-weight:700;
      text-transform:uppercase;
      margin-bottom:.3rem;
    }
    .promo-fact strong { color:var(--dark); }
    .promo-product-list,
    .promo-steps {
      list-style:none;
      margin:0;
      padding:0;
    }
    .promo-product-list {
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:.75rem;
    }
    .promo-product-list a {
      display:block;
      color:var(--dark);
      text-decoration:none;
      font-weight:700;
      border:1px solid var(--border);
      border-radius:8px;
      padding:.9rem 1rem;
      transition:border-color .2s,color .2s;
    }
    .promo-product-list a:hover {
      border-color:var(--accent);
      color:var(--accent);
    }
    .promo-steps {
      display:grid;
      gap:1.25rem;
    }
    .promo-steps li {
      display:flex;
      align-items:flex-start;
      gap:1rem;
    }
    .promo-steps li > span {
      flex:0 0 42px;
      width:42px;
      height:42px;
      border-radius:50%;
      display:grid;
      place-items:center;
      background:var(--accent);
      color:#fff;
      font-family:'Sora',sans-serif;
      font-weight:800;
    }
    .promo-steps strong { color:var(--dark); }
    .promo-steps p { color:#6b7280; margin:.25rem 0 0; }
    .promo-final-cta p { max-width:680px; }

    @media (max-width:767.98px) {
      .promo-hero { min-height:500px; }
      .promo-hero-content { padding-top:4rem; padding-bottom:4rem; }
      .promo-discount strong { font-size:4rem; }
      .promo-hero h2 { font-size:1.85rem; }
      .promo-facts,
      .promo-product-list { grid-template-columns:1fr; }
    }

    /* Products overview page */
    .products-hub { background:var(--light-gray); }
    .products-intro { border-bottom:1px solid var(--border); }
    .products-intro p { max-width:800px; }
    .products-categories {
      padding:5rem 0;
      background:var(--light-gray);
    }
    .product-category-grid {
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:1.5rem;
    }
    .product-category-card {
      display:flex;
      flex-direction:column;
      min-width:0;
      background:#fff;
      border:1px solid var(--border);
      border-radius:8px;
      overflow:hidden;
      box-shadow:0 8px 24px rgba(13,27,42,.06);
    }
    .product-category-image-link {
      display:block;
      overflow:hidden;
      background:#e5e7eb;
    }
    .product-category-image {
      display:block;
      width:100%;
      height:260px;
      object-fit:cover;
      transition:transform .3s ease;
    }
    .product-category-card:hover .product-category-image { transform:scale(1.025); }
    .product-category-body {
      display:flex;
      flex-direction:column;
      flex:1;
      padding:1.5rem;
    }
    .product-category-count {
      color:var(--accent);
      font-size:.78rem;
      font-weight:700;
      text-transform:uppercase;
      margin-bottom:.45rem;
    }
    .product-category-body h3 {
      font-family:'Sora',sans-serif;
      font-size:1.35rem;
      margin-bottom:.65rem;
    }
    .product-category-body h3 a {
      color:var(--dark);
      text-decoration:none;
    }
    .product-category-body > p { color:#6b7280; }
    .product-sublinks {
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:.55rem 1rem;
      list-style:none;
      margin:1rem 0 1.5rem;
      padding:1rem 0 0;
      border-top:1px solid var(--border);
    }
    .product-sublinks a {
      color:#374151;
      text-decoration:none;
      font-size:.9rem;
      font-weight:600;
    }
    .product-sublinks a:hover { color:var(--accent); }
    .product-category-more {
      margin-top:auto;
      color:var(--accent);
      text-decoration:none;
      font-weight:700;
    }
    .product-category-more:hover { color:var(--dark); }
    .product-category-card--wide {
      grid-column:1 / -1;
      display:grid;
      grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
    }
    .product-category-card--wide .product-category-image-link,
    .product-category-card--wide .product-category-image { height:100%; }
    .products-guide { border-top:1px solid var(--border); }
    .products-guide-actions {
      display:flex;
      flex-direction:column;
      align-items:flex-start;
      gap:.65rem;
      border-left:4px solid var(--accent);
      padding-left:1.5rem;
    }
    .products-guide-phone {
      color:var(--dark);
      font-family:'Sora',sans-serif;
      font-size:1.25rem;
      font-weight:700;
      text-decoration:none;
    }
    .products-guide-actions > span { color:#6b7280; font-size:.9rem; }
    .products-promo-strip { padding:3.5rem 0; }

    @media (max-width:991.98px) {
      .product-category-grid { grid-template-columns:1fr; }
      .product-category-card--wide {
        grid-column:auto;
        display:flex;
      }
      .product-category-card--wide .product-category-image { height:260px; }
    }
    @media (max-width:575.98px) {
      .products-categories { padding:4rem 0; }
      .product-category-image,
      .product-category-card--wide .product-category-image { height:220px; }
      .product-sublinks { grid-template-columns:1fr; }
    }

    /* Product main background and bottom padding */
    .product-main { background:var(--light-gray); }
    .container-bottom-pad { margin-bottom:2%; }

    /* Score card helpers */
    .score-card .score-bar-fill { background:var(--accent); }
    .score-dot--accent  { background:var(--accent); }
    .score-dot--orange  { background:#f59e0b; }
    .score-dot--indigo  { background:#6366f1; }
    .score-dot--green   { background:#10b981; }
    .score-bar--90        { width:90%; background:var(--accent); }
    .score-bar--mahova    { width:50%; background:#f59e0b; }
    .score-bar--roletna-al{ width:53%; background:#6366f1; }
    .score-bar--roletna-st{ width:33%; background:#10b981; }
    .text-narrow { max-width:560px; }
    .small-note { font-size:.82rem; }

    /* CTA band image */
    .cta-band-img { object-fit:cover; min-height:260px; }
    .cta-band-text { opacity:.8; }

    /* Footer text */
    .footer-tagline { font-size:.9rem; line-height:1.6; }
    .footer-meta { font-size:.82rem; }

    /* HR divider used inside enquiry cards */
    .hr-divider { border:0; border-top:1px solid var(--border); margin:1.5rem 0; }

    /* Enquiry sidebar meta block */
    .enquiry-meta { font-size:.82rem; color:#6b7280; }
    .enquiry-meta .enquiry-meta-label { font-weight:700; color:var(--dark); margin-bottom:.25rem; }
    .enquiry-meta a.tel-link { color:var(--accent); font-weight:600; text-decoration:none; }
    .enquiry-list { font-size:.88rem; }
    .enquiry-intro { font-size:.88rem; }
    .price-badge .price-badge-head {
      font-size:.8rem; text-transform:uppercase; letter-spacing:.1em;
      color:var(--accent); font-weight:700; margin-bottom:.3rem;
    }
    .price-badge .price-badge-sub { font-size:.82rem; color:#9ca3af; margin-top:.2rem; }

    /* Configurator step helpers */
    .size-field-label {
      font-size:.72rem; font-weight:600; color:#9ca3af;
      display:block; margin-bottom:.28rem;
    }
    .size-field { flex:1; }
    .color-help { font-size:.76rem; color:#6b7280; margin:.55rem 0 0; }

    /* Inquiry toast */
    .inquiry-toast {
      position:fixed; bottom:2rem; right:2rem;
      background:#111827; color:#fff;
      padding:.85rem 1.4rem; border-radius:12px;
      font-size:.87rem; font-weight:500;
      box-shadow:0 8px 32px rgba(0,0,0,.2);
      display:none; align-items:center; gap:.6rem;
      border-left:3px solid var(--accent);
      z-index:9999;
    }

    /* Spec / price tables on subcategory pages */
    .spec-table .table-head-row { background:var(--dark); }
    .spec-table .table-head-row th {
      background:var(--dark); color:#fff;
      padding:.85rem 1.25rem;
      font-size:.82rem; text-transform:uppercase; letter-spacing:.06em;
      font-weight:700; border-color:#2d3748;
      white-space:nowrap;
    }
    .spec-table .table-head-row th.col-width { color:#00a1ff; text-align:center; }
    .spec-table .col-height-label { color:#ff7600; }
    .spec-table .col-width-label { color:#00a1ff; }
    .spec-table .price-header-bar {
      background:var(--dark); padding:.85rem 1.25rem;
      display:flex; align-items:center; gap:.6rem;
    }
    .spec-table .price-header-bar .ph-title {
      font-size:.82rem; text-transform:uppercase; letter-spacing:.06em;
      font-weight:700; color:#fff;
    }
    .spec-table .price-header-bar .ph-note {
      font-size:.76rem; color:rgba(255,255,255,.5); margin-left:.25rem;
    }
    .spec-table .table-scroll {
      overflow-x:auto; -webkit-overflow-scrolling:touch;
    }
    .spec-table .table-scroll table { min-width:640px; }
    .spec-table .spec-key.height-key { color:#ff7600; font-weight:700; white-space:nowrap; }
    .spec-table .spec-val.center { text-align:center; }
    .spec-table .spec-val.muted { text-align:center; color:#9ca3af; }
    .spec-table .price-promo { color:red; }

    /* Product type cards (roletni-vrati) */
    .ptype-card {
      background:#fff; border-radius:1rem;
      box-shadow:0 .5rem 1.5rem rgba(0,0,0,.07);
      overflow:hidden; height:100%;
    }
    .ptype-card-body {
      background:#fff; border-radius:1rem; padding:1.5rem;
      box-shadow:0 .5rem 1.5rem rgba(0,0,0,.07); height:100%;
    }
    .ptype-img { width:100%; object-fit:cover; }
    .ptype-icon {
      width:42px; height:42px; border-radius:12px;
      background:var(--dark); display:grid; place-items:center;
      flex-shrink:0;
    }
    .ptype-icon--accent { background:var(--accent); }
    .ptype-icon--orange { background:#ff7600; }
    .ptype-title { font-family:'Sora',sans-serif; }
    .ptype-text { font-size:.93rem; }
    .ptype-meta-row {
      margin-top:.75rem; padding-top:.75rem;
      border-top:1px solid var(--border);
      font-size:.8rem; color:#6b7280;
    }
    .ptype-feat { font-size:.84rem; }

    /* Generic small variant boxes (security rollers) */
    .variant-box {
      border-radius:.75rem; padding:.85rem;
      background:#f8f9fa; border:1px solid #e5e7eb;
    }
    .variant-box-title { font-weight:700; font-size:.88rem; margin-bottom:.25rem; }
    .variant-box-text { margin:0; font-size:.82rem; }

    /* Mounting cards (roletni-vrati) */
    .mount-card {
      border-radius:1rem; padding:1.5rem; height:100%;
      background:rgba(255,255,255,.05);
      border:1px solid rgba(255,255,255,.1);
    }
    .mount-callout {
      border-radius:.75rem; padding:.85rem;
      background:rgba(0,161,255,.08);
      border:1px solid rgba(0,161,255,.2);
    }
    .mount-callout-accent {
      border-radius:.75rem; padding:.85rem;
      background:rgba(255,118,0,.08);
      border:1px solid rgba(255,118,0,.25);
    }
    .mount-callout p, .mount-callout-accent p { font-size:.85rem; margin:0; }
    .mount-img {
      max-height:200px; object-fit:contain;
      background:rgba(255,255,255,.03);
    }
    .accent-color { color:var(--accent); }
    .accent-orange { color:#ff7600; }

    /* Light-bg variants used inside dark-section mount cards */
    .dark-section .mount-card h3 { color:var(--dark); }

    /* FAQ subcategory wrapper */
    .faq-subcat-section { padding:4rem 0; background:#fff; }

    /* Internal SEO content block */
    .seo-content { padding:3.5rem 0; background:var(--light-gray); }
    .seo-content h2 { font-family:'Sora',sans-serif; font-weight:800; margin-bottom:1rem; }
    .seo-content h3 { font-family:'Sora',sans-serif; font-weight:700; margin-top:1.5rem; margin-bottom:.6rem; font-size:1.15rem; }
    .seo-content p, .seo-content li { color:#374151; line-height:1.7; }
    .seo-content ul { padding-left:1.1rem; }

    /* Utility: make sortable spec-val rows consistent */
    .text-center-cell { text-align:center; }
    .nowrap { white-space:nowrap; }

    /* Hide visually but keep for SEO (use sparingly) */
    .visually-hidden-seo { position:absolute; left:-10000px; top:auto; width:1px; height:1px; overflow:hidden; }

    /* ═══════════════════════════════════════
       AUTOMATION CATEGORY UTILITIES
    ═══════════════════════════════════════ */

    /* Hero band (avtomatika.html main page) */
    .hero-gradient {
      background:linear-gradient(135deg,var(--dark) 0%,#1a2332 100%);
      padding:4rem 0 4.5rem;
      position:relative;
      overflow:hidden;
    }
    .hero-blob {
      position:absolute; top:0; right:0;
      width:500px; height:500px;
      background:radial-gradient(circle,rgba(10,166,215,.12) 0%,transparent 70%);
      pointer-events:none;
    }
    .hero-badge {
      display:inline-block;
      background:rgba(10,166,215,.15);
      color:var(--accent);
      border-radius:999px;
      font-size:.78rem;
      font-weight:700;
      padding:.35rem .9rem;
      text-transform:uppercase;
      letter-spacing:.06em;
      margin-bottom:1rem;
    }
    .hero-title-h1 {
      font-family:'Sora',sans-serif;
      font-size:clamp(1.85rem,3.5vw,2.6rem);
      line-height:1.15;
    }
    .hero-subtitle {
      color:rgba(255,255,255,.8);
      font-size:1.05rem;
      max-width:700px;
      line-height:1.6;
    }
    .hero-subtitle strong { color:#fff; }

    /* Stats glass card */
    .stats-glass-card {
      background:rgba(255,255,255,.05);
      backdrop-filter:blur(8px);
      border:1px solid rgba(255,255,255,.1);
      border-radius:1.25rem;
      padding:1.5rem;
    }
    .stat-divider-r { border-right:1px solid rgba(255,255,255,.1); }
    .stat-divider-t { border-top:1px solid rgba(255,255,255,.1); padding-top:1rem; }
    .stat-divider-rt {
      border-right:1px solid rgba(255,255,255,.1);
      border-top:1px solid rgba(255,255,255,.1);
      padding-top:1rem;
    }
    .stat-num {
      color:var(--accent);
      font-size:2.2rem;
      font-family:'Sora',sans-serif;
      line-height:1;
    }
    .stat-label {
      color:rgba(255,255,255,.7);
      font-size:.78rem;
      text-transform:uppercase;
      letter-spacing:.04em;
      margin-top:.4rem;
    }

    /* Main page background helpers */
    .main-light-bg { background:var(--light-gray); }
    .mb-3pct { margin-bottom:3%; }
    .mb-5pct { margin-bottom:2%; }
    .pt-0-section { padding-top:0; }

    /* Intro typography */
    .intro-h2 { font-family:'Sora',sans-serif; color:var(--dark); }
    .intro-lead { font-size:1.05rem; line-height:1.7; }

    /* Sora helpers used on text */
    .sora-font { font-family:'Sora',sans-serif; }
    .sora-dark { font-family:'Sora',sans-serif; color:var(--dark); }
    .sora-white { font-family:'Sora',sans-serif; color:#fff; }
    .sora-clamp-title { font-family:'Sora',sans-serif; font-size:clamp(1.5rem,3vw,2.2rem); }
    .sora-1-15 { font-family:'Sora',sans-serif; font-size:1.15rem; }

    /* Brand cards (avtomatika.html marki section) */
    .brand-card {
      background:rgba(255,255,255,.05);
      border:1px solid rgba(255,255,255,.1);
    }
    .brand-card-featured {
      background:rgba(10,166,215,.08);
      border:1px solid rgba(10,166,215,.25);
      position:relative;
    }
    .brand-icon-box {
      width:54px; height:54px; border-radius:14px;
      background:#fff;
      display:grid; place-items:center;
      flex-shrink:0;
    }
    .brand-icon-box--accent { background:var(--accent); }
    .brand-letter {
      color:var(--dark);
      font-weight:800;
      font-family:'Sora',sans-serif;
      font-size:1.05rem;
      letter-spacing:-.02em;
    }
    .brand-letter--white { color:#fff; }
    .brand-name { font-family:'Sora',sans-serif; font-size:1.15rem; }
    .brand-country { color:#6b7280; font-size:.8rem; }
    .brand-text { color:#6b7280; font-size:.92rem; margin-bottom:1rem; line-height:1.6; }
    .brand-text strong { color:#fff; }
    .brand-meta { font-size:.82rem; color:#6b7280; }
    .brand-meta .brand-meta-tags { color:var(--accent); }
    .brand-card-tag {
      position:absolute;
      top:-.7rem; right:1rem;
      background:var(--accent);
      color:#fff;
      border-radius:999px;
      font-size:.65rem;
      font-weight:700;
      padding:.25rem .7rem;
      text-transform:uppercase;
      letter-spacing:.05em;
    }

    /* Decision helper cards */
    .decision-card {
      box-shadow:0 4px 16px rgba(0,0,0,.04);
      border-left:3px solid var(--accent);
    }
    .icon-bubble-sm {
      width:42px; height:42px; border-radius:10px;
      background:rgba(10,166,215,.1);
      display:grid; place-items:center;
      flex-shrink:0;
    }
    .h6-sora-dark { font-family:'Sora',sans-serif; color:var(--dark); }
    .text-sm { font-size:.9rem; }
    .arrow-link {
      color:var(--accent);
      font-weight:600;
      font-size:.88rem;
      text-decoration:none;
    }
    .arrow-link:hover { color:var(--accent-dark); }

    /* FAQ accordion cards (clean white) */
    .accordion-card {
      background:#fff;
      border:1px solid var(--border);
      border-radius:1rem !important;
      overflow:hidden;
      box-shadow:0 4px 16px rgba(0,0,0,.04);
    }
    .accordion-btn-clean {
      background:#fff !important;
      color:var(--dark);
      font-family:'Sora',sans-serif;
      font-weight:600;
      box-shadow:none !important;
    }
    .accordion-btn-clean:not(.collapsed) { color:var(--accent); }
    .text-374151 { color:#374151; }

    /* CTA dark band button rounded */
    .btn-rounded-pad {
      border-radius:50px;
      font-weight:600;
      padding:.45rem 1.5rem;
    }

    /* Breadcrumb active text on dark band (white-ish) */
    .breadcrumb-item-active-light { color:rgba(255,255,255,.6); }

    /* Card shadow used widely */
    .shadow-card { box-shadow:0 .5rem 1.5rem rgba(0,0,0,.07); }
    .shadow-card-orange { box-shadow:0 .5rem 1.5rem rgba(0,0,0,.07); border:2px solid rgba(255,118,0,.25); }

    /* Icon bubble variants */
    .icon-bubble-dark {
      width:42px; height:42px; border-radius:12px;
      background:var(--dark);
      display:grid; place-items:center;
      flex-shrink:0;
    }
    .icon-bubble-accent {
      width:42px; height:42px; border-radius:12px;
      background:var(--accent);
      display:grid; place-items:center;
      flex-shrink:0;
    }
    .icon-bubble-orange {
      width:42px; height:42px; border-radius:12px;
      background:#ff7600;
      display:grid; place-items:center;
      flex-shrink:0;
    }
    .icon-bubble-lg-accent {
      width:48px; height:48px; border-radius:12px;
      background:rgba(10,166,215,.15);
      display:grid; place-items:center;
      margin-bottom:1rem;
    }

    /* Tag badges used in product cards */
    .tag-pill {
      display:inline-block;
      background:rgba(10,166,215,.1);
      color:var(--accent);
      border-radius:999px;
      font-size:.7rem;
      font-weight:700;
      padding:.2rem .7rem;
      text-transform:uppercase;
    }
    .tag-pill--accent-strong {
      display:inline-block;
      background:rgba(10,166,215,.2);
      color:var(--accent);
      border-radius:999px;
      font-size:.7rem;
      font-weight:700;
      padding:.2rem .7rem;
      text-transform:uppercase;
    }
    .tag-pill--gray {
      display:inline-block;
      background:#f3f4f6;
      color:#374151;
      border-radius:999px;
      font-size:.7rem;
      font-weight:700;
      padding:.2rem .7rem;
      text-transform:uppercase;
    }
    .tag-pill--gray-sm {
      display:inline-block;
      background:#f3f4f6;
      color:#374151;
      border-radius:999px;
      font-size:.68rem;
      font-weight:700;
      padding:.18rem .55rem;
    }
    .tag-pill--orange {
      display:inline-block;
      background:rgba(255,118,0,.15);
      color:#ff7600;
      border-radius:999px;
      font-size:.7rem;
      font-weight:700;
      padding:.2rem .7rem;
      text-transform:uppercase;
    }
    .tag-pill--orange-strong {
      display:inline-block;
      background:rgba(255,118,0,.25);
      color:#ff7600;
      border-radius:999px;
      font-size:.7rem;
      font-weight:700;
      padding:.2rem .7rem;
      text-transform:uppercase;
    }
    .tag-pill--green {
      display:inline-block;
      background:rgba(34,197,94,.12);
      color:#16a34a;
      border-radius:999px;
      font-size:.7rem;
      font-weight:700;
      padding:.2rem .7rem;
      text-transform:uppercase;
    }
    .tag-pill--green-sm {
      display:inline-block;
      background:rgba(34,197,94,.12);
      color:#16a34a;
      border-radius:999px;
      font-size:.7rem;
      font-weight:700;
      padding:.18rem .65rem;
      text-transform:uppercase;
    }
    .tag-pill--accent-sm {
      display:inline-block;
      background:rgba(10,166,215,.1);
      color:var(--accent);
      border-radius:999px;
      font-size:.7rem;
      font-weight:700;
      padding:.18rem .65rem;
      text-transform:uppercase;
    }

    /* Card badge top-left ("Препоръчан") */
    .card-badge-tl {
      position:absolute; top:1rem; left:1rem; z-index:2;
      background:var(--accent); color:#fff;
      border-radius:999px;
      font-size:.72rem; font-weight:700;
      padding:.3rem .85rem;
      text-transform:uppercase; letter-spacing:.04em;
      box-shadow:0 4px 12px rgba(10,166,215,.35);
    }
    .card-badge-tl--orange {
      position:absolute; top:1rem; left:1rem; z-index:2;
      background:#ff7600; color:#fff;
      border-radius:999px;
      font-size:.72rem; font-weight:700;
      padding:.3rem .85rem;
      text-transform:uppercase; letter-spacing:.04em;
      box-shadow:0 4px 12px rgba(255,118,0,.35);
    }
    .card-badge-tl--green {
      position:absolute; top:1rem; left:1rem; z-index:2;
      background:#16a34a; color:#fff;
      border-radius:999px;
      font-size:.72rem; font-weight:700;
      padding:.3rem .85rem;
      text-transform:uppercase; letter-spacing:.04em;
      box-shadow:0 4px 12px rgba(22,163,74,.35);
    }

    /* Hover hint pill (inside cards) */
    .hint-pill {
      background:#f8f9fa;
      border:1px solid #e5e7eb;
    }
    .hint-pill-accent-soft {
      background:rgba(10,166,215,.06);
      border:1px solid rgba(10,166,215,.25);
    }
    .hint-pill-accent-softer {
      background:rgba(10,166,215,.06);
      border:1px solid rgba(10,166,215,.2);
    }
    .hint-pill-accent-faint {
      background:rgba(10,166,215,.06);
      border:1px solid rgba(10,166,215,.15);
      font-size:.82rem;
      color:#374151;
    }
    .hint-pill-orange-soft {
      background:rgba(255,118,0,.08);
      border:1px solid rgba(255,118,0,.25);
    }
    .hint-pill-orange-softer {
      background:rgba(255,118,0,.06);
      border:1px solid rgba(255,118,0,.2);
    }
    .hint-pill-white-soft {
      background:rgba(255,255,255,.06);
      border:1px solid rgba(255,255,255,.15);
    }

    /* Image helpers */
    .img-cover-300 { width:100%; height:300px; object-fit:cover; }
    .img-cover-240 { width:100%; height:240px; object-fit:cover; }
    .img-cover-220 { width:100%; height:220px; object-fit:cover; }

    /* Border-top divider inside cards */
    .meta-top-divider {
      border-top:1px solid var(--border,#e5e7eb);
    }
    .meta-top-divider-callout {
      border-top:1px solid var(--border,#e5e7eb);
      font-size:.82rem;
      background:rgba(10,166,215,.08);
      padding:.85rem 1rem;
      border-radius:.75rem;
    }

    /* Small text shorthands used in card lists */
    .fs-86 { font-size:.86rem; }
    .fs-85 { font-size:.85rem; }
    .fs-88 { font-size:.88rem; }
    .fs-9 { font-size:.9rem; }
    .fs-7 { font-size:.7rem; }
    .fs-72 { font-size:.72rem; }
    .fs-75 { font-size:.75rem; }
    .fs-82 { font-size:.82rem; }
    .fs-92 { font-size:.92rem; }
    .fs-93 { font-size:.93rem; }
    .fs-68 { font-size:.68rem; }

    .fs-72-up { font-size:.72rem; text-transform:uppercase; letter-spacing:.05em; font-weight:600; color:#6b7280; }
    .fs-72-up-accent { font-size:.72rem; text-transform:uppercase; letter-spacing:.05em; font-weight:600; color:var(--accent); }
    .meta-eyebrow { font-size:.7rem; color:#6b7280; font-weight:600; text-transform:uppercase; letter-spacing:.04em; }
    .meta-eyebrow-accent { font-size:.7rem; color:var(--accent); font-weight:600; text-transform:uppercase; letter-spacing:.04em; }

    .text-mid-gray { color:#6b7280; }
    .text-secondary-dark { color:#374151; }
    .text-w-80 { color:rgba(255,255,255,.8); }
    .text-w-85 { color:rgba(255,255,255,.85); }
    .text-w-60 { color:rgba(255,255,255,.6); }
    .text-w-60-sm { color:rgba(255,255,255,.6); font-size:.82rem; }

    /* Inline accent helpers */
    .accent-text { color:var(--accent); }
    .accent-link-strong { color:var(--accent); font-weight:600; text-decoration:none; }
    .accent-link-strong:hover { color:var(--accent-dark); }
    .accent-num-lg { color:var(--accent); font-size:1.4rem; font-family:'Sora',sans-serif; }
    .accent-num-sm { color:var(--accent); font-size:1.1rem; }
    .accent-num-15 { color:var(--accent); font-size:1.15rem; font-family:'Sora',sans-serif; }
    .accent-num-12 { color:var(--accent); font-size:1.2rem; font-family:'Sora',sans-serif; }
    .accent-num-125 { color:var(--accent); font-size:1.25rem; font-family:'Sora',sans-serif; }
    .accent-num-13 { color:var(--accent); font-size:1.3rem; font-family:'Sora',sans-serif; }
    .accent-num-1 { color:var(--accent); font-size:1rem; font-family:'Sora',sans-serif; }
    .accent-num-95 { color:var(--accent); font-size:.95rem; font-family:'Sora',sans-serif; }
    .accent-num-22 { color:var(--accent); font-size:2.2rem; font-family:'Sora',sans-serif; line-height:1; }

    /* Flex icon SVG shrink (used repeatedly inside list items) */
    .ic-flex-shrink { flex-shrink:0; margin-top:3px; }
    .ic-flex-shrink-2 { flex-shrink:0; margin-top:2px; }

    /* Footer secondary blob style */
    .border-b-soft { border-bottom:1px solid rgba(255,255,255,.08); }
    .text-orange { color:#ff7600; }

    /* Alert callout variants (used in product cards) */
    .alert-callout-accent {
      background:rgba(10,166,215,.15);
      color:var(--accent);
      margin-bottom:0;
    }
    .alert-callout-accent-soft {
      background:rgba(10,166,215,.18);
      color:var(--accent);
      margin-bottom:0;
    }
    .alert-callout-orange {
      background:rgba(255,118,0,.15);
      color:#ff7600;
      margin-bottom:0;
    }
    .alert-callout-orange-soft {
      background:rgba(255,118,0,.18);
      color:#ff7600;
      margin-bottom:0;
    }

    /* Larger callout box with accent tint */
    .accent-callout {
      border-top:1px solid var(--border,#e5e7eb);
      font-size:.82rem;
      background:rgba(10,166,215,.08);
      padding:.85rem 1rem;
      border-radius:.75rem;
    }

    /* Hint pill faint with smaller text */
    .hint-pill-accent-faint-sm {
      background:rgba(10,166,215,.06);
      border:1px solid rgba(10,166,215,.15);
      font-size:.8rem;
      color:#374151;
    }

    /* Indented text used after icons */
    .text-indent-icon { margin-left:1.4rem; }

    /* Additional font-size helpers */
    .fs-78 { font-size:.78rem; }
    .fs-8 { font-size:.8rem; }
    .fs-84 { font-size:.84rem; }

    /* Narrow centered text */
    .mx-auto-narrow { max-width:760px; margin-left:auto; margin-right:auto; }

    /* ═══════════════════════════════════════
       FIRE-DOOR CATEGORY UTILITIES
    ═══════════════════════════════════════ */

    /* Orange hero blob + badge variants */
    .hero-blob-orange {
      position:absolute; top:0; right:0;
      width:500px; height:500px;
      background:radial-gradient(circle,rgba(255,118,0,.10) 0%,transparent 70%);
      pointer-events:none;
    }
    .hero-badge-orange {
      display:inline-block;
      background:rgba(255,118,0,.15);
      color:#ff7600;
      border-radius:999px;
      font-size:.78rem;
      font-weight:700;
      padding:.35rem .9rem;
      text-transform:uppercase;
      letter-spacing:.06em;
      margin-bottom:1rem;
    }

    /* Card variants with top border */
    .card-soft  { box-shadow:0 4px 16px rgba(0,0,0,.04); }
    .card-soft-2 { box-shadow:0 4px 16px rgba(0,0,0,.05); }
    .border-top-accent { border-top:3px solid var(--accent); }
    .border-top-orange { border-top:3px solid #ff7600; }
    .card-soft-top-accent {
      box-shadow:0 4px 16px rgba(0,0,0,.05);
      border-top:3px solid var(--accent);
    }
    .card-soft-top-orange {
      box-shadow:0 4px 16px rgba(0,0,0,.05);
      border-top:3px solid #ff7600;
    }
    .decision-card-orange {
      box-shadow:0 4px 16px rgba(0,0,0,.04);
      border-left:3px solid #ff7600;
    }
    .decision-card-gray {
      box-shadow:0 4px 16px rgba(0,0,0,.04);
      border-left:3px solid #6b7280;
    }
    .card-soft-orange-border {
      box-shadow:0 4px 16px rgba(0,0,0,.05);
      border:2px solid rgba(255,118,0,.25);
    }
    .card-soft-accent-border {
      box-shadow:0 4px 16px rgba(0,0,0,.04);
      border:2px solid rgba(10,166,215,.2);
    }

    /* Icon bubble extra sizes */
    .icon-bubble-lg-accent-soft {
      width:48px; height:48px; border-radius:12px;
      background:rgba(10,166,215,.1);
      display:grid; place-items:center;
      margin-bottom:1rem;
    }
    .icon-bubble-xs-accent {
      width:36px; height:36px; border-radius:9px;
      background:rgba(10,166,215,.1);
      display:grid; place-items:center;
      flex-shrink:0;
    }
    .icon-bubble-xs-orange {
      width:36px; height:36px; border-radius:9px;
      background:rgba(255,118,0,.12);
      display:grid; place-items:center;
      flex-shrink:0;
    }
    .icon-bubble-xl-accent {
      width:64px; height:64px; border-radius:14px;
      background:rgba(10,166,215,.15);
      display:grid; place-items:center;
      flex-shrink:0;
    }
    .icon-bubble-xl-orange {
      width:64px; height:64px; border-radius:14px;
      background:rgba(255,118,0,.2);
      display:grid; place-items:center;
      flex-shrink:0;
    }
    .icon-bubble-md-orange {
      width:54px; height:54px; border-radius:12px;
      background:rgba(255,118,0,.15);
      display:grid; place-items:center;
      flex-shrink:0;
    }
    .icon-bubble-md-accent {
      width:54px; height:54px; border-radius:12px;
      background:rgba(10,166,215,.1);
      display:grid; place-items:center;
      flex-shrink:0;
    }
    .icon-bubble-sm-orange {
      width:42px; height:42px; border-radius:10px;
      background:rgba(255,118,0,.1);
      display:grid; place-items:center;
      flex-shrink:0;
    }
    .icon-bubble-sm-gray {
      width:42px; height:42px; border-radius:10px;
      background:rgba(107,114,128,.1);
      display:grid; place-items:center;
      flex-shrink:0;
    }

    /* Sora typography variants */
    .sora-dark-145 { color:var(--dark); font-family:'Sora',sans-serif; font-size:1.45rem; }
    .sora-dark-115 { color:var(--dark); font-family:'Sora',sans-serif; font-size:1.15rem; }
    .sora-accent-105 { color:var(--accent); font-weight:800; font-family:'Sora',sans-serif; font-size:1.05rem; }
    .sora-orange-105 { color:#ff7600; font-weight:800; font-family:'Sora',sans-serif; font-size:1.05rem; }
    .sora-accent-9 { color:var(--accent); font-weight:800; font-family:'Sora',sans-serif; font-size:.9rem; }
    .sora-orange-9 { color:#ff7600; font-weight:800; font-family:'Sora',sans-serif; font-size:.9rem; }
    .orange-num-22 { color:#ff7600; font-size:2.2rem; font-family:'Sora',sans-serif; line-height:1; }

    /* Eyebrow text variants */
    .eyebrow-78-gray {
      color:#6b7280; font-size:.78rem;
      text-transform:uppercase; letter-spacing:.05em;
      font-weight:600; margin-bottom:.4rem;
    }
    .eyebrow-74-gray {
      color:#6b7280; font-size:.74rem;
      text-transform:uppercase; letter-spacing:.05em;
      font-weight:600; margin-bottom:.4rem;
    }

    /* Top-right card badges (small) */
    .card-badge-tr-orange {
      position:absolute; top:1rem; right:1rem;
      background:rgba(255,118,0,.15);
      color:#ff7600;
      border-radius:999px;
      font-size:.7rem; font-weight:700;
      padding:.18rem .6rem;
      text-transform:uppercase; letter-spacing:.04em;
    }
    .card-badge-tr-accent {
      position:absolute; top:1rem; right:1rem;
      background:rgba(10,166,215,.12);
      color:var(--accent);
      border-radius:999px;
      font-size:.7rem; font-weight:700;
      padding:.18rem .6rem;
      text-transform:uppercase; letter-spacing:.04em;
    }
    .brand-card-tag-orange {
      position:absolute; top:-.7rem; right:1rem;
      background:#ff7600; color:#fff;
      border-radius:999px;
      font-size:.65rem; font-weight:700;
      padding:.25rem .7rem;
      text-transform:uppercase; letter-spacing:.05em;
    }

    /* Color swatches (specific RAL values) */
    .swatch-cream {
      width:100%; aspect-ratio:1;
      background:#F1ECE0;
      border-radius:.75rem;
      border:1px solid #e0dbcf;
      margin-bottom:.5rem;
    }
	.swatch-7016 {
      width:100%; aspect-ratio:1;
      background:#383E42;
      border-radius:.75rem;
      border:1px solid #e0dbcf;
      margin-bottom:.5rem;
    }
    .swatch-gold {
      width:100%; aspect-ratio:1;
      background:#E1CC4F;
      border-radius:.75rem;
      border:1px solid #cfb942;
      margin-bottom:.5rem;
    }
    .swatch-gray {
      width:100%; aspect-ratio:1;
      background:#D7D7D7;
      border-radius:.75rem;
      border:1px solid #c7c7c7;
      margin-bottom:.5rem;
    }

    /* Image cover heights */
    .img-cover-310 { height:310px; object-fit:cover; }
    .img-cover-380 { width:100%; height:380px; object-fit:cover; }
    .img-cover-fill-400 {
      width:100%; height:100%; object-fit:cover; min-height:400px;
    }

    /* Hint pill variants (orange + faint) */
    .hint-pill-orange-soft-faint {
      background:rgba(255,118,0,.06);
      border:1px solid rgba(255,118,0,.25);
    }
    .hint-pill-orange-bold {
      background:rgba(255,118,0,.08);
      border:1px solid rgba(255,118,0,.3);
    }

    /* Line-height + size helpers */
    .lh-155 { line-height:1.55; }
    .lh-165 { line-height:1.65; }
    .lh-16  { line-height:1.6; }
    .fs-95 { font-size:.95rem; }
    .fs-12 { font-size:1.2rem; }
    .fs-92 { font-size:.92rem; }
    .fs-74 { font-size:.74rem; }

    /* White text alpha variants */
    .text-w-55 { color:rgba(255,255,255,.55); }
    .text-w-70 { color:rgba(255,255,255,.7); }
    .text-w-78 { color:rgba(255,255,255,.78); }

    /* ═══════════════════════════════════════
       CATEGORY CARDS (moved from inline <style> in avtomatika.html)
    ═══════════════════════════════════════ */
    .category-card-link { display:block; color:inherit; }
    .category-card {
      background:#fff; border-radius:1.25rem;
      overflow:hidden;
      box-shadow:0 4px 16px rgba(0,0,0,.05);
      transition:transform .25s ease, box-shadow .25s ease;
      display:flex; flex-direction:column;
    }
    .category-card-link:hover .category-card {
      transform:translateY(-4px);
      box-shadow:0 12px 32px rgba(0,0,0,.1);
    }
    .cat-image-wrap { position:relative; overflow:hidden; aspect-ratio:16/10; }
    .cat-image-wrap img {
      width:100%; height:100%; object-fit:cover;
      transition:transform .35s ease;
    }
    .category-card-link:hover .cat-image-wrap img { transform:scale(1.05); }
    .cat-overlay {
      position:absolute; inset:0;
      background:linear-gradient(180deg,rgba(0,0,0,0) 50%,rgba(0,0,0,.55) 100%);
    }
    .cat-tag {
      position:absolute; top:.85rem; left:.85rem;
      background:rgba(255,255,255,.95); color:var(--dark);
      border-radius:999px;
      font-size:.7rem; font-weight:700;
      padding:.25rem .7rem;
      text-transform:uppercase; letter-spacing:.04em;
      backdrop-filter:blur(8px);
      z-index:2;
    }
    .cat-body { padding:1.5rem; display:flex; flex-direction:column; flex:1; }
    .cat-body h3 { font-family:'Sora',sans-serif; font-weight:700; font-size:1.25rem; color:var(--dark); margin-bottom:.65rem; }
    .cat-body p { color:#6b7280; font-size:.9rem; line-height:1.55; margin-bottom:1rem; }
    .cat-highlights { list-style:none; padding:0; margin:0 0 1.25rem; }
    .cat-highlights li { display:flex; align-items:center; gap:.5rem; font-size:.85rem; color:#374151; padding:.25rem 0; }
    .cat-footer {
      margin-top:auto;
      display:flex; justify-content:space-between; align-items:center;
      padding-top:1rem;
      border-top:1px solid var(--border,#e5e7eb);
    }
    .cat-price { font-size:.82rem; color:#6b7280; }
    .cat-price strong { color:var(--accent); font-size:1.05rem; font-family:'Sora',sans-serif; }
    .cat-arrow {
      color:var(--accent); font-weight:600; font-size:.85rem;
      display:inline-flex; align-items:center; gap:.25rem;
      transition:gap .2s ease;
    }
    .category-card-link:hover .cat-arrow { gap:.5rem; }

    /* ═══════════════════════════════════════
       CATEGORY CARDS – FIRE-DOORS VARIANT
       (moved from inline <style> in pozharoustoichivi-vrati.html)
    ═══════════════════════════════════════ */
    .category-card-fire .cat-image-wrap { aspect-ratio:16/9; }
    .category-card-fire .cat-body h3 { font-size:1.3rem; }
    .category-card-fire .cat-body p { font-size:.92rem; }
    .category-card-fire .cat-footer { gap:1rem; }
    .category-card-fire .cat-price {
      font-size:.78rem; color:#6b7280;
      font-style:italic; line-height:1.4;
    }
    .category-card-fire .cat-arrow { flex-shrink:0; }

    /* ═══════════════════════════════════════
       INDUSTRIAL DOORS CATEGORY UTILITIES
    ═══════════════════════════════════════ */

    /* Card shadow variants */
    .card-shadow-lg-soft { box-shadow:0 4px 12px rgba(0,0,0,.04); }
    .card-shadow-hover {
      box-shadow:0 4px 16px rgba(0,0,0,.05);
      transition:transform .25s ease, box-shadow .25s ease;
      border:1px solid var(--border,#e5e7eb);
    }

    /* Variant card hover effect */
    .variant-card { transition: transform .25s ease, box-shadow .25s ease; }
    .variant-card:hover {
      transform: translateY(-4px);
      box-shadow: 0 12px 28px rgba(0,0,0,.1) !important;
    }

    /* Icon bubble variants for industrial pages */
    .icon-bubble-md-square {
      width:48px; height:48px; border-radius:12px;
      background:rgba(10,166,215,.1);
      display:grid; place-items:center;
      flex-shrink:0;
    }
    .icon-bubble-sm-square {
      width:40px; height:40px; border-radius:10px;
      background:rgba(10,166,215,.1);
      display:grid; place-items:center;
      flex-shrink:0;
    }
    .icon-bubble-xs-square {
      width:32px; height:32px; border-radius:8px;
      background:rgba(10,166,215,.1);
      display:grid; place-items:center;
      flex-shrink:0;
    }
    .icon-bubble-sm-centered {
      width:42px; height:42px; border-radius:10px;
      background:rgba(10,166,215,.15);
      display:grid; place-items:center;
      margin:0 auto 0.75rem;
    }
    .icon-bubble-xl-orange-faint {
      width:54px; height:54px; border-radius:14px;
      background:rgba(255,118,0,.1);
      display:grid; place-items:center;
      flex-shrink:0;
    }
    .icon-bubble-xl-gray {
      width:54px; height:54px; border-radius:14px;
      background:rgba(107,114,128,.1);
      display:grid; place-items:center;
      flex-shrink:0;
    }
    .icon-bubble-lg-orange-soft {
      width:48px; height:48px; border-radius:12px;
      background:rgba(255,118,0,.12);
      display:grid; place-items:center;
      margin-bottom:1rem;
    }
    .icon-bubble-xxl-orange-faint {
      width:80px; height:80px; border-radius:20px;
      background:rgba(255,118,0,.12);
      display:grid; place-items:center;
      margin:0 auto;
    }

    /* Sora text font-size helpers used in industrial cards */
    .sora-fs-85 { font-size:.85rem; font-family:'Sora',sans-serif; }
    .sora-fs-95 { font-size:.95rem; font-family:'Sora',sans-serif; }
    .sora-fs-92 { font-size:.92rem; font-family:'Sora',sans-serif; }
    .sora-fs-82 { font-size:.82rem; font-family:'Sora',sans-serif; }
    .sora-fs-92-accent { font-size:.92rem; font-family:'Sora',sans-serif; color:var(--accent); }
    .sora-fs-15 {
      font-size:1.5rem; font-family:'Sora',sans-serif;
      color:#374151; font-weight:800;
    }

    /* Accent link with .85rem */
    .accent-link-85 { color:var(--accent); font-weight:600; font-size:.85rem; }

    /* Image cover heights – industrial */
    .img-cover-200 { height:200px; object-fit:cover; }
    .img-cover-280 { width:100%; height:280px; object-fit:cover; }

    /* ═══════════════════════════════════════
       HOMEPAGE CLIENTS / INDUSTRIES SECTION
    ═══════════════════════════════════════ */

    /* Trust strip – stats bar above logo marquee */
    .trust-strip {
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:1rem;
      max-width:920px;
      margin:0 auto 2.5rem;
      background:#fff;
      border:1px solid var(--border);
      border-radius:1.25rem;
      padding:1.25rem 1rem;
      box-shadow:0 4px 16px rgba(0,0,0,.04);
    }
    .trust-strip-item {
      text-align:center;
      padding:.25rem .5rem;
      border-right:1px solid var(--border);
    }
    .trust-strip-item:last-child { border-right:0; }
    .trust-strip-num {
      font-family:'Sora',sans-serif;
      font-size:clamp(1.5rem,2.5vw,2rem);
      font-weight:800;
      color:var(--accent);
      line-height:1;
    }
    .trust-strip-label {
      font-size:.78rem;
      color:#6b7280;
      text-transform:uppercase;
      letter-spacing:.05em;
      font-weight:600;
      margin-top:.4rem;
    }
    @media (max-width:767.98px) {
      .trust-strip { grid-template-columns:repeat(2,1fr); padding:1rem .75rem; }
      .trust-strip-item:nth-child(2n) { border-right:0; }
      .trust-strip-item:nth-child(-n+2) { border-bottom:1px solid var(--border); padding-bottom:.85rem; margin-bottom:.25rem; }
    }

    /* Industries grid – categorized client list below marquee */
    .industries-grid {
      display:grid;
      grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
      gap:1.25rem;
      margin-top:2.5rem;
    }
    .industry-group {
      background:#fff;
      border:1px solid var(--border);
      border-radius:1rem;
      padding:1.25rem 1.4rem;
      transition:transform .25s ease, box-shadow .25s ease;
    }
    .industry-group:hover {
      transform:translateY(-3px);
      box-shadow:0 12px 28px rgba(0,0,0,.07);
    }
    .industry-group-head {
      display:flex;
      align-items:center;
      gap:.7rem;
      margin-bottom:.85rem;
      padding-bottom:.7rem;
      border-bottom:1px solid var(--border);
    }
    .industry-group-icon {
      width:36px; height:36px;
      border-radius:10px;
      background:rgba(10,166,215,.1);
      color:var(--accent);
      display:grid; place-items:center;
      flex-shrink:0;
    }
    .industry-group-title {
      font-family:'Sora',sans-serif;
      font-size:.95rem;
      font-weight:700;
      color:var(--dark);
      margin:0;
    }
    .industry-group-count {
      margin-left:auto;
      font-size:.75rem;
      font-weight:700;
      color:var(--accent);
      background:rgba(10,166,215,.1);
      padding:.18rem .55rem;
      border-radius:999px;
    }
    .industry-group-list {
      list-style:none;
      padding:0;
      margin:0;
      font-size:.84rem;
      color:#4b5563;
      line-height:1.7;
    }
    .industry-group-list li {
      padding:.1rem 0;
      position:relative;
      padding-left:.9rem;
    }
    .industry-group-list li::before {
      content:'·';
      position:absolute;
      left:0; top:0;
      color:var(--accent);
      font-weight:700;
    }
    .industries-cta {
      text-align:center;
      margin-top:2rem;
    }
    .industries-cta a {
      display:inline-flex;
      align-items:center;
      gap:.4rem;
      color:var(--accent);
      font-weight:600;
      text-decoration:none;
      font-size:.95rem;
      transition:gap .2s ease;
    }
    .industries-cta a:hover { gap:.65rem; }

    /* ═══════════════════════════════════════
       HOMEPAGE SERVICES STRIP
    ═══════════════════════════════════════ */
    .services-strip { padding:3rem 0; background:var(--light-gray); }
    .service-card {
      background:#fff;
      border-radius:1rem;
      padding:1.5rem;
      height:100%;
      border:1px solid var(--border);
      transition:transform .25s ease, box-shadow .25s ease;
    }
    .service-card:hover {
      transform:translateY(-4px);
      box-shadow:0 12px 28px rgba(0,0,0,.07);
      border-color:var(--accent);
    }
    .service-card-icon {
      width:48px; height:48px;
      border-radius:12px;
      background:rgba(10,166,215,.1);
      color:var(--accent);
      display:grid; place-items:center;
      margin-bottom:1rem;
    }
    .service-card h3 {
      font-family:'Sora',sans-serif;
      font-size:1.05rem;
      font-weight:700;
      margin-bottom:.5rem;
      color:var(--dark);
    }
    .service-card p {
      font-size:.88rem;
      color:#6b7280;
      margin:0;
      line-height:1.55;
    }

    /* Contact label small text */
    .contact-label-up {
      font-size:.78rem;
      color:rgba(255,255,255,.5);
      text-transform:uppercase;
      letter-spacing:.06em;
    }
    .contact-value {
      color:#fff;
      font-weight:600;
      text-decoration:none;
    }
    .contact-value-text {
      color:#fff;
      font-weight:500;
      font-size:.9rem;
    }

    /* Outline secondary rounded button (used in about section) */
    .btn-rounded-md {
      border-radius:50px;
      padding:5px 28px;
    }

    /* ═══════════════════════════════════════
       ABOUT PAGE (za-nas.html) — moved from inline <style>
    ═══════════════════════════════════════ */

    /* Timeline */
    .timeline {
      position:relative;
      padding-left:2rem;
    }
    .timeline::before {
      content:'';
      position:absolute; left:0; top:0; bottom:0;
      width:2px;
      background:linear-gradient(to bottom,var(--accent),rgba(10,166,215,.2));
      border-radius:2px;
    }
    .tl-item { position:relative; margin-bottom:2.5rem; }
    .tl-item:last-child { margin-bottom:0; }
    .tl-dot {
      position:absolute; left:-2.55rem; top:.25rem;
      width:18px; height:18px;
      border-radius:50%;
      background:var(--accent);
      border:3px solid #fff;
      box-shadow:0 0 0 3px rgba(10,166,215,.2);
    }
    .tl-year {
      font-size:.75rem; font-weight:800;
      text-transform:uppercase; letter-spacing:.1em;
      color:var(--accent);
      margin-bottom:.3rem;
    }
    .tl-title {
      font-weight:800;
      font-family:'Sora',sans-serif;
      margin-bottom:.35rem;
    }
    .tl-text {
      font-size:.9rem;
      color:#6b7280;
      margin:0;
    }

    /* Team card */
    .team-card {
      background:#fff;
      border-radius:1.25rem;
      overflow:hidden;
      text-align:center;
      box-shadow:0 4px 20px rgba(0,0,0,.07);
      transition:transform .3s, box-shadow .3s;
      height:100%;
    }
    .team-card:hover {
      transform:translateY(-5px);
      box-shadow:0 20px 48px rgba(0,0,0,.12);
    }
    .team-card img {
      width:100%; aspect-ratio:1/1;
      object-fit:cover; object-position:top;
    }
    .team-card .tc-info { padding:1.25rem; }
    .team-card .tc-name {
      font-weight:800;
      font-family:'Sora',sans-serif;
      font-size:1rem;
      margin-bottom:.2rem;
    }
    .team-card .tc-role {
      font-size:.82rem;
      color:var(--accent);
      font-weight:700;
      text-transform:uppercase;
      letter-spacing:.06em;
    }

    /* Value card */
    .value-card {
      background:#fff;
      border-radius:1.25rem;
      padding:2rem;
      box-shadow:0 4px 20px rgba(0,0,0,.055);
      height:100%;
      border-left:4px solid var(--accent);
      transition:transform .3s, box-shadow .3s;
    }
    .value-card:hover {
      transform:translateY(-4px);
      box-shadow:0 16px 40px rgba(0,0,0,.1);
    }
    .value-card .value-icon {
      width:46px; height:46px;
      border-radius:12px;
      background:rgba(10,166,215,.1);
      color:var(--accent);
      display:grid; place-items:center;
      margin-bottom:1rem;
    }
    .value-card h3 {
      font-weight:800;
      font-family:'Sora',sans-serif;
      margin-bottom:.5rem;
      font-size:1.05rem;
    }
    .value-card p {
      color:#6b7280;
      font-size:.9rem;
      margin:0;
    }

    /* Mission / Vision card */
    .mission-card {
      background:#fff;
      border-radius:1.25rem;
      padding:2.5rem;
      box-shadow:0 8px 28px rgba(0,0,0,.06);
      height:100%;
    }
    .mission-card-icon {
      width:54px; height:54px;
      border-radius:14px;
      background:rgba(10,166,215,.12);
      color:var(--accent);
      display:grid; place-items:center;
      margin-bottom:1.25rem;
    }
    .mission-card h3 {
      font-family:'Sora',sans-serif;
      font-weight:800;
      font-size:1.35rem;
      margin-bottom:.75rem;
    }
    .mission-card p {
      color:#4b5563;
      font-size:.95rem;
      line-height:1.65;
      margin:0;
    }

    /* Brand logos strip (manufacturers we represent) */
    .brand-strip-grid {
      display:grid;
      grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
      gap:1rem;
      margin-top:2rem;
    }
    .brand-logo-tile {
      background:#fff;
      border:1px solid var(--border);
      border-radius:1rem;
      padding:1.5rem 1rem;
      text-align:center;
      transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
    }
    .brand-logo-tile:hover {
      transform:translateY(-3px);
      box-shadow:0 12px 28px rgba(0,0,0,.07);
      border-color:var(--accent);
    }
    .brand-logo-tile .b-name {
      font-family:'Sora',sans-serif;
      font-weight:800;
      font-size:1.1rem;
      color:var(--dark);
      margin-bottom:.25rem;
    }
    .brand-logo-tile .b-country {
      font-size:.78rem;
      color:#6b7280;
      text-transform:uppercase;
      letter-spacing:.05em;
      font-weight:600;
    }

    /* Certification badge card */
    .cert-card {
      background:#fff;
      border:1px solid var(--border);
      border-radius:1rem;
      padding:1.5rem;
      height:100%;
      display:flex;
      align-items:flex-start;
      gap:1rem;
      transition:border-color .25s ease, box-shadow .25s ease;
    }
    .cert-card:hover {
      border-color:var(--accent);
      box-shadow:0 8px 22px rgba(0,0,0,.05);
    }
    .cert-card-icon {
      width:46px; height:46px;
      border-radius:12px;
      background:rgba(10,166,215,.1);
      color:var(--accent);
      display:grid; place-items:center;
      flex-shrink:0;
    }
    .cert-card-body h3 {
      font-family:'Sora',sans-serif;
      font-weight:800;
      font-size:1rem;
      margin-bottom:.3rem;
      color:var(--dark);
    }
    .cert-card-body p {
      font-size:.85rem;
      color:#6b7280;
      margin:0;
      line-height:1.5;
    }

    /* Hero lead variant – about page */
    .hero-lead-narrow { max-width:560px; opacity:.9; }

    /* About page hero image */
    .about-hero-img {
      width:100%;
      aspect-ratio:4/3;
      object-fit:cover;
      box-shadow:0 16px 48px rgba(0,0,0,.12);
    }

    /* CTA section background white */
    .cta-section-white { background:#fff; }

    /* CTA band image */
    .cta-band-img-md {
      object-fit:cover;
      min-height:240px;
    }
    .text-light-80 { color:rgba(255,255,255,.8); }

    /* ═══════════════════════════════════════
       CONTACT PAGE (kontakti.html)
    ═══════════════════════════════════════ */

    /* Small page hero band */
    .page-hero-sm {
      background:var(--dark);
      padding:3.5rem 0;
    }
    .page-hero-sm h1 {
      font-family:'Sora',sans-serif;
      font-size:clamp(1.6rem,3vw,2.4rem);
    }
    .page-hero-sm-sub {
      color:rgba(255,255,255,.65);
      max-width:500px;
    }

    /* Contact detail card (top of contact page) */
    .contact-detail-card {
      background:#fff;
      border-radius:1.25rem;
      padding:2rem;
      box-shadow:0 4px 20px rgba(0,0,0,.07);
      height:100%;
      border-top:3px solid var(--accent);
      transition:transform .3s, box-shadow .3s;
    }
    .contact-detail-card:hover {
      transform:translateY(-4px);
      box-shadow:0 16px 40px rgba(0,0,0,.10);
    }
    .contact-detail-card .cdc-icon {
      width:52px; height:52px;
      border-radius:14px;
      background:rgba(10,166,215,.1);
      display:grid; place-items:center;
      margin-bottom:1rem;
      color:var(--accent);
    }
    .contact-detail-card h3 {
      font-size:1rem;
      font-weight:800;
      font-family:'Sora',sans-serif;
      margin-bottom:.35rem;
    }
    .contact-detail-card p,
    .contact-detail-card a {
      font-size:.92rem;
      color:#374151;
      text-decoration:none;
    }
    .contact-detail-card a:hover { color:var(--accent); }
    .contact-detail-card-sub {
      font-size:.82rem;
      color:#9ca3af;
    }

    /* Form panel */
    .form-panel {
      background:#fff;
      border-radius:1.5rem;
      box-shadow:0 12px 40px rgba(0,0,0,.09);
      padding:2.5rem;
    }
    .form-panel h2 { font-family:'Sora',sans-serif; }
    .form-panel-intro { font-size:.9rem; }
    .form-control,
    .form-select {
      border-radius:.75rem;
      border-color:#e5e7eb;
      padding:.65rem 1rem;
      font-size:.95rem;
      transition:border-color .2s, box-shadow .2s;
    }
    .form-control:focus,
    .form-select:focus {
      border-color:var(--accent);
      box-shadow:0 0 0 3px rgba(10,166,215,.15);
    }
    .form-label {
      font-weight:600;
      font-size:.88rem;
      margin-bottom:.4rem;
      color:var(--dark);
    }
    .privacy-label {
      font-size:.86rem;
      color:#6b7280;
    }

    /* Map embed */
    .map-placeholder {
      border-radius:1.25rem;
      overflow:hidden;
      background:#e5e7eb;
      aspect-ratio:16/7;
      box-shadow:0 4px 20px rgba(0,0,0,.07);
    }
    .map-placeholder iframe {
      width:100%; height:100%; border:0;
    }

    /* Topic selection buttons in form */
    .topic-grid {
      display:grid;
      grid-template-columns:repeat(auto-fill,minmax(180px,1fr));
      gap:.75rem;
      margin-bottom:1.5rem;
    }
    .topic-btn {
      padding:.65rem 1rem;
      border-radius:.75rem;
      border:1.5px solid #e5e7eb;
      background:#fff;
      font-size:.88rem;
      font-weight:600;
      color:#374151;
      cursor:pointer;
      transition:all .2s;
      text-align:left;
      display:flex;
      align-items:center;
      gap:.5rem;
    }
    .topic-btn.selected,
    .topic-btn:hover {
      border-color:var(--accent);
      background:rgba(10,166,215,.06);
      color:var(--accent);
    }

    /* Sidebar quick-access card */
    .quick-access-card {
      background:#fff;
      border-radius:1rem;
      padding:1rem;
      box-shadow:0 4px 20px rgba(0,0,0,.07);
    }
    .quick-access-head {
      font-size:.88rem;
      text-transform:uppercase;
      letter-spacing:.08em;
      color:#9ca3af;
      font-weight:700;
      margin-bottom:.75rem;
    }
    .quick-access-btn {
      border-radius:.75rem !important;
      font-size:.88rem;
      text-align:left;
    }

    /* Map section background */
    .map-section {
      background:var(--light-gray);
      padding:0 0 4rem;
    }

    /* ── OFFICES & DISTRIBUTORS GRID ── */
    .offices-section { padding:4rem 0; background:var(--light-gray); }
    .offices-grid {
      display:grid;
      grid-template-columns:repeat(auto-fit,minmax(290px,1fr));
      gap:1.25rem;
      margin-top:2.5rem;
    }
    .office-card {
      background:#fff;
      border:1px solid var(--border);
      border-radius:1.25rem;
      padding:1.5rem 1.6rem;
      transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
      display:flex;
      flex-direction:column;
      gap:.85rem;
      height:100%;
    }
    .office-card:hover {
      transform:translateY(-4px);
      box-shadow:0 12px 28px rgba(0,0,0,.07);
      border-color:var(--accent);
    }
    .office-card.is-headquarters {
      border:2px solid var(--accent);
      box-shadow:0 8px 24px rgba(10,166,215,.12);
    }
    .office-card-head {
      display:flex;
      align-items:center;
      gap:.65rem;
      padding-bottom:.75rem;
      border-bottom:1px solid var(--border);
    }
    .office-card-city {
      font-family:'Sora',sans-serif;
      font-weight:800;
      font-size:1.1rem;
      color:var(--dark);
      margin:0;
      flex:1;
    }
    .office-card-badge {
      font-size:.65rem;
      font-weight:700;
      color:#fff;
      background:var(--accent);
      padding:.2rem .55rem;
      border-radius:999px;
      text-transform:uppercase;
      letter-spacing:.04em;
    }
    .office-card-firm {
      font-weight:700;
      font-size:.95rem;
      color:var(--dark);
      margin:0;
    }
    .office-card-region {
      font-size:.82rem;
      color:#6b7280;
      margin:0;
      font-style:italic;
    }
    .office-card-addr {
      display:flex;
      gap:.55rem;
      font-size:.88rem;
      color:#4b5563;
      line-height:1.5;
      margin:0;
    }
    .office-card-addr svg {
      flex-shrink:0;
      margin-top:.15rem;
      color:var(--accent);
    }
    .office-card-phones {
      display:flex;
      flex-direction:column;
      gap:.35rem;
      margin:0;
      padding:0;
      list-style:none;
    }
    .office-card-phones li {
      display:flex;
      align-items:flex-start;
      gap:.55rem;
      font-size:.88rem;
    }
    .office-card-phones li svg {
      flex-shrink:0;
      margin-top:.15rem;
      color:var(--accent);
    }
    .office-card-phones a {
      color:var(--dark);
      text-decoration:none;
      font-weight:600;
      transition:color .2s;
    }
    .office-card-phones a:hover { color:var(--accent); }
    .office-card-phones .ph-contact-name {
      display:block;
      font-size:.78rem;
      color:#6b7280;
      font-weight:500;
      margin-top:-.1rem;
    }

    /* ═══════════════════════════════════════
       PROJECTS / OBEKTI PAGE
    ═══════════════════════════════════════ */

    /* Filter bar with category pills */
    .filter-bar {
      background:#fff;
      border-radius:1rem;
      padding:1rem 1.5rem;
      box-shadow:0 4px 16px rgba(0,0,0,.06);
      display:flex;
      flex-wrap:wrap;
      gap:.6rem;
      align-items:center;
    }
    .filter-label {
      font-size:.85rem;
      font-weight:700;
      color:#6b7280;
      text-transform:uppercase;
      letter-spacing:.06em;
      margin-right:.5rem;
    }
    .filter-btn {
      border-radius:999px;
      padding:.45rem 1.2rem;
      font-size:.85rem;
      font-weight:600;
      border:1.5px solid #e5e7eb;
      background:transparent;
      color:#374151;
      cursor:pointer;
      transition:all .2s;
    }
    .filter-btn.active,
    .filter-btn:hover {
      background:var(--accent);
      border-color:var(--accent);
      color:#fff;
    }
    .filter-btn .filter-count {
      display:inline-block;
      background:rgba(255,255,255,.2);
      padding:.05rem .45rem;
      border-radius:999px;
      font-size:.72rem;
      margin-left:.3rem;
    }
    .filter-btn:not(.active) .filter-count {
      background:rgba(10,166,215,.12);
      color:var(--accent);
    }

    /* Project (compact, text-heavy) card – clean and works without images */
    .obekt-card {
      background:#fff;
      border:1px solid var(--border);
      border-radius:1rem;
      padding:1.4rem 1.5rem;
      transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
      height:100%;
      display:flex;
      flex-direction:column;
      gap:.65rem;
    }
    .obekt-card:hover {
      transform:translateY(-4px);
      box-shadow:0 12px 28px rgba(0,0,0,.08);
      border-color:var(--accent);
    }
    .obekt-card-head {
      display:flex;
      align-items:flex-start;
      gap:.65rem;
      justify-content:space-between;
    }
    .obekt-card-name {
      font-family:'Sora',sans-serif;
      font-weight:800;
      font-size:1.05rem;
      color:var(--dark);
      margin:0;
      flex:1;
      line-height:1.3;
    }
    .obekt-card-location {
      display:inline-flex;
      align-items:center;
      gap:.3rem;
      font-size:.78rem;
      color:#6b7280;
      font-weight:600;
    }
    .obekt-card-location svg {
      flex-shrink:0;
      color:var(--accent);
    }
    .obekt-card-desc {
      font-size:.85rem;
      color:#4b5563;
      margin:0;
      line-height:1.55;
    }
    .obekt-card-tags {
      display:flex;
      flex-wrap:wrap;
      gap:.35rem;
      margin-top:auto;
      padding-top:.6rem;
      border-top:1px solid var(--border);
    }
    .obekt-tag {
      display:inline-block;
      font-size:.7rem;
      font-weight:600;
      color:#4b5563;
      background:#f3f4f6;
      padding:.18rem .55rem;
      border-radius:999px;
    }
    .obekt-tag--accent {
      background:rgba(10,166,215,.1);
      color:var(--accent);
    }

    /* Featured project banner */
    .featured-obekt {
      border-radius:1.5rem;
      overflow:hidden;
      box-shadow:0 8px 40px rgba(0,0,0,.12);
      background:linear-gradient(135deg, var(--dark) 0%, #1a2332 100%);
      color:#fff;
      padding:2.5rem 2rem;
      position:relative;
    }
    .featured-obekt-blob {
      position:absolute;
      top:-50px; right:-50px;
      width:300px; height:300px;
      background:radial-gradient(circle,rgba(10,166,215,.18) 0%,transparent 70%);
      pointer-events:none;
    }
    .featured-obekt-tag {
      display:inline-block;
      background:var(--accent);
      color:#fff;
      border-radius:999px;
      font-size:.75rem;
      font-weight:700;
      padding:.25rem .85rem;
      text-transform:uppercase;
      letter-spacing:.06em;
      margin-bottom:.75rem;
    }
    .featured-obekt h2 {
      font-family:'Sora',sans-serif;
      font-weight:800;
      font-size:clamp(1.4rem,2.5vw,1.9rem);
      margin-bottom:.5rem;
    }
    .featured-obekt p {
      color:rgba(255,255,255,.8);
      font-size:.95rem;
      line-height:1.6;
      margin-bottom:0;
    }

    /* Stats bar */
    .obekti-stats {
      background:linear-gradient(135deg, var(--dark), var(--mid));
      border-radius:1.25rem;
      padding:2rem;
      color:#fff;
    }
    .obekti-stat-item { text-align:center; }
    .obekti-stat-num {
      font-size:2.2rem;
      font-weight:800;
      font-family:'Sora',sans-serif;
      color:var(--accent);
      line-height:1;
    }
    .obekti-stat-label {
      font-size:.82rem;
      color:rgba(255,255,255,.6);
      margin-top:.4rem;
      text-transform:uppercase;
      letter-spacing:.04em;
    }

    /* References / testimonials section */
    .ref-section { padding:4rem 0; background:#fff; }
    .ref-grid {
      display:grid;
      grid-template-columns:repeat(auto-fit, minmax(240px, 1fr));
      gap:1rem;
      margin-top:2.5rem;
    }
    .ref-card {
      background:#fff;
      border:1px solid var(--border);
      border-radius:1rem;
      padding:1.2rem 1.3rem;
      display:flex;
      align-items:center;
      gap:.9rem;
      transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
      text-decoration:none;
      color:inherit;
    }
    .ref-card:hover {
      transform:translateY(-3px);
      box-shadow:0 10px 24px rgba(0,0,0,.06);
      border-color:var(--accent);
      color:inherit;
    }
    .ref-card-icon {
      width:42px; height:42px;
      border-radius:11px;
      background:rgba(10,166,215,.1);
      color:var(--accent);
      display:grid; place-items:center;
      flex-shrink:0;
    }
    .ref-card-name {
      font-family:'Sora',sans-serif;
      font-weight:700;
      font-size:.92rem;
      color:var(--dark);
      margin:0 0 .15rem 0;
      line-height:1.3;
    }
    .ref-card-label {
      font-size:.72rem;
      color:#9ca3af;
      text-transform:uppercase;
      letter-spacing:.05em;
      font-weight:600;
      margin:0;
    }

    /* Geographic coverage strip */
    .geo-strip {
      background:rgba(10,166,215,.06);
      border:1px solid rgba(10,166,215,.2);
      border-radius:1rem;
      padding:1.25rem 1.5rem;
      text-align:center;
      margin-top:2rem;
    }
    .geo-strip-title {
      font-family:'Sora',sans-serif;
      font-weight:800;
      font-size:1.05rem;
      color:var(--accent);
      margin-bottom:.3rem;
    }
    .geo-strip p {
      font-size:.9rem;
      color:#4b5563;
      margin:0;
    }

    /* Color/material swatch tile – base (color stays inline) */
    .swatch-tile {
      width:100%; aspect-ratio:1;
      border-radius:.75rem;
      margin-bottom:.6rem;
    }

    /* Wood-decor swatch – uses dedicated texture image per decor */
    .swatch-tile-wood {
      width:100%; aspect-ratio:1;
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat;
      border-radius:.75rem;
      margin-bottom:.6rem;
      border: 1px solid rgba(0,0,0,.15);
    }
    .swatch-tile-wood--zlaten-dub  { background-image: url('../images/textures/zlaten-dub.jpg'); }
    .swatch-tile-wood--tamen-dab   { background-image: url('../images/textures/tamen-dab.jpg'); }
    .swatch-tile-wood--venge       { background-image: url('../images/textures/venge.jpg'); }
    .swatch-tile-wood--mahagon     { background-image: url('../images/textures/mahagon.jpg'); }
    .swatch-tile-wood--winchester  { background-image: url('../images/textures/winchester.jpg'); }
    .swatch-tile-wood--siv-saten   { background-image: url('../images/textures/siv-saten.jpg'); }

    /* Texture preview tile – base (gradient stays inline) */
    .texture-tile {
      width:100%; height:80px;
      border-radius:.75rem;
      margin-bottom:1rem;
      display:flex; align-items:center; justify-content:center;
    }

    /* Font-size .74 / .83 / .86 line-height */
    .fs-83 { font-size:.83rem; }
    .fs-86-lh-15 { font-size:.86rem; line-height:1.5; }

    /* Text color: rgba(255,255,255,.7) at .88rem and mb-0 */
    .text-w-70-fs-88-mb0 {
      color:rgba(255,255,255,.7);
      font-size:.88rem;
      margin-bottom:0;
    }

    /* Common .fs-86 with margin-bottom 0 */
    .fs-88-mb-0 { font-size:.88rem; margin-bottom:0; }

    /* Industrial – extra patterns */
    .card-soft-2-orange-left {
      box-shadow:0 4px 24px rgba(0,0,0,.06);
      border-left:4px solid #ff7600;
    }
    .card-hover-bordered-accent {
      box-shadow:0 4px 16px rgba(0,0,0,.05);
      transition:transform .25s ease,box-shadow .25s ease;
      border:2px solid var(--accent);
    }
    .card-hover-bordered-orange {
      box-shadow:0 4px 16px rgba(0,0,0,.05);
      transition:transform .25s ease,box-shadow .25s ease;
      border:2px solid #ff7600;
    }
    .card-soft-bordered-accent {
      box-shadow:0 4px 16px rgba(0,0,0,.05);
      border:2px solid var(--accent);
    }
    .card-soft-bordered-gray {
      box-shadow:0 4px 16px rgba(0,0,0,.05);
      border:2px solid #e5e7eb;
    }
    .card-soft-top-orange-2 {
      box-shadow:0 4px 16px rgba(0,0,0,.05);
      border-top:3px solid #ff7600;
    }
    .sora-border-top-light {
      font-family:'Sora',sans-serif;
      border-top:1px solid rgba(255,255,255,.1);
    }

    /* Tag-pills new variants */
    .tag-pill--orange-soft-sm {
      display:inline-block;
      background:rgba(255,118,0,.12);
      color:#ff7600;
      border-radius:999px;
      font-size:.7rem; font-weight:700;
      padding:.2rem .6rem;
      text-transform:uppercase; letter-spacing:.04em;
    }
    .tag-pill--accent-soft-sm {
      display:inline-block;
      background:rgba(10,166,215,.1);
      color:var(--accent);
      border-radius:999px;
      font-size:.7rem; font-weight:700;
      padding:.2rem .6rem;
      text-transform:uppercase; letter-spacing:.04em;
    }

    /* Background helpers */
    .bg-transparent-clear { background:transparent; }
    .bg-white-03 { background:rgba(255,255,255,.03); }

    /* Text combos */
    .text-w-85-fs-88-center {
      color:rgba(255,255,255,.85);
      font-size:.88rem;
      text-align:center;
    }
    .text-orange-bold-85 {
      color:#ff7600; font-weight:600; font-size:.85rem;
    }
    .fs-88-text-374151 { font-size:.88rem; color:#374151; }
    .fs-86-text-374151 { font-size:.86rem; color:#374151; }

    /* Popular badge variants (top-right of card) */
    .cat-popular {
      position:absolute; top:.85rem; right:.85rem;
      background:#ff7600; color:#fff;
      border-radius:999px;
      font-size:.7rem; font-weight:700;
      padding:.25rem .7rem;
      text-transform:uppercase; letter-spacing:.04em;
      z-index:2;
      box-shadow:0 4px 12px rgba(255,118,0,.35);
    }
    .cat-popular-arch {
      background:var(--accent);
      box-shadow:0 4px 12px rgba(10,166,215,.35);
    }

