/* ===========================================================================
   Technology Packaging — Brand & Navigation (site-wide)
   Marka rengi: TEAL  #009abf  (logo + primary).
   Palette override functions.php içinde inline (:root) yapılır; bu dosya
   premium mega menü + global hover/polish katmanını taşır.
   Tüm sayfalarda enqueue edilir.
   =========================================================================== */

:root {
  --tp-brand:        #009abf;
  --tp-brand-deep:   #007b99;
  --tp-brand-darker: #006379;
  --tp-brand-ink:    #415364;
  --tp-brand-muted:  #6a7a88;
  --tp-brand-tint:   #d6eef4;
  --tp-brand-soft:   #e9f6f9;
  --tp-brand-grad:   linear-gradient(135deg, #1bb3d6 0%, #009abf 48%, #007b99 100%);
  --tp-brand-ease:   cubic-bezier(.2, .7, .3, 1);
  --tp-brand-shadow: 0 32px 80px -34px rgba(22, 56, 58, .55);
}

/* ---------------------------------------------------------------------------
   1) Genel premium dokunuşlar — butonlar & linkler
   --------------------------------------------------------------------------- */
.elementor-button,
.ct-button,
.wp-block-button__link {
  transition: transform .25s var(--tp-brand-ease),
              box-shadow .25s var(--tp-brand-ease),
              background-color .25s var(--tp-brand-ease) !important;
}
.elementor-button:hover,
.ct-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 30px -14px rgba(0, 154, 191, .55);
}
.ct-menu-link:hover { color: var(--tp-brand) !important; }

/* ===========================================================================
   2) PREMIUM MEGA MENU — Products (#menu-item-1296)
   İkon rozeti + kategori açıklaması + "All Products" promo kartı brand.js ile
   enjekte edilir. Markup WP menüsünden geldiği için CSS tek başına yetmez.
   =========================================================================== */
@media (min-width: 1000px) {

  .menu-item-1296 { position: relative; }

  /* hover köprüsü — menü ile panel arasındaki boşlukta hover kaybolmasın */
  .menu-item-1296::after {
    content: "";
    position: absolute; left: -20px; right: -20px; top: 100%;
    height: 18px; pointer-events: none;
  }
  .menu-item-1296:hover::after { pointer-events: auto; }

  /* ---- Panel ---- */
  .menu-item-1296 > .sub-menu {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr);
    gap: 6px 8px;
    align-items: stretch;
    /* 5 kategori + promo = 6 hücre → 3 sütun x 2 satır. left brand.js ile
       viewport'a clamp edilir (öğe sol-merkezde → sabit left:0 sağı taşırdı).
       Genişlik daima ekrana sığar: 100vw - 2*16px gutter. */
    width: min(900px, calc(100vw - 32px)) !important;
    min-width: 0 !important;
    max-width: none !important;
    left: 0 !important; right: auto !important;
    top: calc(100% + 16px);
    padding: 30px 28px 28px;
    background: #fff;
    border: 1px solid var(--tp-brand-tint);
    border-radius: 20px;
    box-shadow:
      0 30px 64px -24px rgba(22, 56, 58, .32),
      0 10px 26px -16px rgba(22, 56, 58, .14);
    opacity: 0; visibility: hidden;
    transform: translateY(10px) !important;
    transition: opacity .26s var(--tp-brand-ease),
                transform .26s var(--tp-brand-ease),
                visibility 0s linear .26s !important;
    overflow: hidden;                          /* üst aksan köşe radius'una kırpılır */
  }
  .menu-item-1296 > .sub-menu::before {        /* üst aksan — tam genişlik, temiz */
    content: "";
    position: absolute; left: 0; right: 0; top: 0;
    height: 3px;
    background: var(--tp-brand-grad);
  }
  .menu-item-1296:hover > .sub-menu,
  .menu-item-1296:focus-within > .sub-menu {
    opacity: 1; visibility: visible;
    transform: translateY(0) !important;
    transition: opacity .3s var(--tp-brand-ease),
                transform .3s var(--tp-brand-ease) !important;
  }

  /* Blocksy açılır-ok göstergesini mega içinde tamamen gizle */
  .menu-item-1296 .ct-toggle-dropdown-mobile,
  .menu-item-1296 .ct-sub-menu-parent > button { display: none !important; }

  /* Blocksy `.sub-menu .menu-item{border-top:var(--dropdown-divider)}` →
     mega menü kendi divider/spacing dilini kullanır, stray çizgileri sıfırla. */
  .menu-item-1296 .sub-menu .menu-item { border-top: 0 !important; }
  .menu-item-1296 .sub-menu .ct-menu-link { height: auto !important; }

  /* ---- Kategori kolonu ---- */
  .menu-item-1296 > .sub-menu > li {
    position: static !important;
    display: flex !important;
    flex-direction: column !important;
    min-width: 0;
    padding: 14px 16px;
    border-radius: 14px;
    transition: background-color .2s var(--tp-brand-ease);
  }
  .menu-item-1296 > .sub-menu > li:not(.tp-mm-promo-wrap):hover { background: var(--tp-brand-soft); }
  .menu-item-1296 > .sub-menu > li > .ct-sub-menu-parent { display: block !important; width: 100%; }

  /* başlık: ikon + (başlık / açıklama).
     NOT: promo `<a>` da `> li > a`'ya uyduğu için `:not(.tp-mm-promo)` ile dışlanır
     (yoksa head padding/align/border promo'yu eziyordu → "FULL RANGE" üstte kırpık). */
  .tp-mm-head,
  .menu-item-1296 > .sub-menu > li > .ct-sub-menu-parent > a,
  .menu-item-1296 > .sub-menu > li > a:not(.tp-mm-promo) {
    display: flex !important;
    align-items: center;
    gap: 12px;
    width: 100%;
    min-height: 44px;                  /* tüm başlıkları aynı yükseklikte tut → divider'lar hizalı */
    margin: 0 0 14px;
    padding: 0 0 14px !important;
    border-bottom: 1px solid var(--tp-brand-soft);
    text-decoration: none;
  }
  .tp-mm-ico {
    flex: 0 0 auto;
    width: 42px; height: 42px;
    display: inline-flex; align-items: center; justify-content: center;
    border-radius: 12px;
    background: var(--tp-brand-grad);
    color: #fff;
    box-shadow: 0 12px 22px -12px rgba(0, 154, 191,.9);
    transition: transform .25s var(--tp-brand-ease), box-shadow .25s var(--tp-brand-ease);
  }
  .tp-mm-ico svg { width: 21px; height: 21px; }
  .tp-mm-head:hover .tp-mm-ico {
    transform: translateY(-2px) scale(1.04);
    box-shadow: 0 14px 26px -10px rgba(0, 154, 191,.95);
  }
  /* metin bloğu sabit yükseklik → açıklama 1/2 satır olsa da tüm başlıklar eşit hizalanır */
  .tp-mm-htext { display: flex; flex-direction: column; justify-content: center; min-width: 0; min-height: 52px; }
  .tp-mm-title {
    font-size: 15px; font-weight: 800; line-height: 1.15;
    letter-spacing: -.1px;
    color: var(--tp-brand-ink);
    transition: color .2s var(--tp-brand-ease);
  }
  .tp-mm-head:hover .tp-mm-title { color: var(--tp-brand); }
  .tp-mm-desc {
    font-size: 11.5px; line-height: 1.4; font-weight: 500;
    color: var(--tp-brand-muted);
    margin-top: 4px;
  }

  /* alt linkler: kolon içinde dikey liste */
  .menu-item-1296 > .sub-menu .sub-menu {
    position: static !important;
    display: flex !important;
    flex-direction: column;
    gap: 2px;
    opacity: 1 !important; visibility: visible !important;
    transform: none !important;
    width: 100% !important; min-width: 0 !important;
    background: transparent !important;
    border: 0 !important; box-shadow: none !important;
    padding: 0 !important; margin: 0 !important;
  }
  .menu-item-1296 > .sub-menu .sub-menu::before,
  .menu-item-1296 > .sub-menu .sub-menu::after { display: none !important; }
  .menu-item-1296 > .sub-menu .sub-menu > li { padding: 0 !important; display: block !important; }

  .menu-item-1296 > .sub-menu .sub-menu > li > a {
    display: flex; align-items: center;
    position: relative;
    font-size: 13.5px; font-weight: 500; line-height: 1.4;
    color: #51635d !important;
    padding: 10px 12px 10px 26px !important;
    border-radius: 10px;
    transition: color .2s var(--tp-brand-ease),
                background-color .2s var(--tp-brand-ease),
                padding .2s var(--tp-brand-ease);
  }
  .menu-item-1296 > .sub-menu .sub-menu > li > a::before {   /* sabit görünür nokta */
    content: "";
    position: absolute; left: 12px; top: 50%;
    width: 6px; height: 6px; margin-top: -3px;
    border-radius: 50%;
    background: var(--tp-brand-tint);
    transition: background-color .2s var(--tp-brand-ease), transform .2s var(--tp-brand-ease);
  }
  .menu-item-1296 > .sub-menu .sub-menu > li > a:hover {
    color: var(--tp-brand-darker) !important;
    background: var(--tp-brand-soft);
    padding-left: 30px !important;
  }
  .menu-item-1296 > .sub-menu .sub-menu > li > a:hover::before {
    background: var(--tp-brand);
    transform: scale(1.5);
  }

  /* ---- Promo kartı ---- */
  .tp-mm-promo-wrap {
    min-width: 0 !important;
    display: flex !important;
    padding: 0 !important;
    margin: 0 !important;
    border-left: 0 !important;
  }
  .tp-mm-promo {
    position: relative;
    display: flex !important; flex-direction: column;
    justify-content: flex-start;      /* öğeler üstte sıkı gruplanır; CTA margin-top:auto ile alta sabitlenir */
    align-items: flex-start !important;  /* Blocksy menü link'inden gelen align-items:center'ı ez → tüm öğeler sola hizalı */
    text-align: left;
    width: 100%;
    /* artık son kategori kolonunun içinde → kolonun ALTINA yaslan (boş alanı doldurur),
       üstten en az 18px nefes payı bırak. */
    margin-top: auto;
    min-height: 0;
    padding: 24px !important;
    border-radius: 16px;
    background: var(--tp-brand-grad);
    color: #fff !important;
    text-decoration: none;
    overflow: hidden; isolation: isolate;
    transition: transform .25s var(--tp-brand-ease), box-shadow .25s var(--tp-brand-ease);
  }
  .tp-mm-promo::after {
    content: "";
    position: absolute; right: -36px; top: -36px;
    width: 120px; height: 120px;
    background: rgba(255,255,255,.14);
    border-radius: 50%; z-index: -1;
  }
  .tp-mm-promo:hover {
    transform: translateY(-3px);
    box-shadow: 0 24px 44px -18px rgba(35,112,113,.8);
  }
  .tp-mm-promo-eyebrow {
    font-size: 10.5px; font-weight: 800; letter-spacing: 1.6px;
    text-transform: uppercase; opacity: .85;
  }
  .tp-mm-promo-title { font-size: 19px; font-weight: 800; line-height: 1.22; margin: 9px 0 0; letter-spacing: -.2px; }
  .tp-mm-promo-sub { font-size: 12.5px; line-height: 1.5; opacity: .9; margin-top: 8px; }
  .tp-mm-promo-cta {
    display: inline-flex; align-items: center; gap: 7px;
    margin-top: auto; padding-top: 20px; font-size: 13px; font-weight: 800;
  }
  .tp-mm-promo-cta svg { width: 16px; height: 16px; transition: transform .25s var(--tp-brand-ease); }
  .tp-mm-promo:hover .tp-mm-promo-cta svg { transform: translateX(5px); }
}

/* Dar masaüstü bandı (1000–1129px): Products sol-merkezde olduğundan 780px panel
   sağ kenarı aşardı → paneli ve promo'yu daralt (başlık hizası korunur). */
@media (min-width: 1000px) and (max-width: 1199px) {
  .menu-item-1296 > .sub-menu { width: min(680px, calc(100vw - 32px)) !important; grid-template-columns: repeat(2, 1fr); padding: 24px 18px; }
  .tp-mm-promo { padding: 20px !important; }
  .tp-mm-promo-title { font-size: 18px; }
}

/* ===========================================================================
   3) HERO SLIDER — ana sayfa (page-id-614) hero metin rotasyonu
   Slide 1 sunucu tarafında render edilir (SEO); JS slide 2-3'ü çevirir.
   =========================================================================== */
.tp-hero-fx .elementor-element-c0c1440,
.tp-hero-fx .elementor-element-9ec275b,
.tp-hero-fx .elementor-element-daaca8e,
.tp-hero-fx .elementor-element-493aa43 {
  transition: opacity .55s var(--tp-brand-ease), transform .55s var(--tp-brand-ease);
}
.tp-hero-fx .elementor-element-e94a833 img {
  transition: opacity .55s var(--tp-brand-ease), transform .7s var(--tp-brand-ease);
}
.tp-hero-fx.tp-hero-anim .elementor-element-c0c1440,
.tp-hero-fx.tp-hero-anim .elementor-element-9ec275b,
.tp-hero-fx.tp-hero-anim .elementor-element-daaca8e {
  opacity: 0; transform: translateY(14px);
}
.tp-hero-fx.tp-hero-anim .elementor-element-493aa43 { opacity: 0; transform: translateY(10px); }
.tp-hero-fx.tp-hero-anim .elementor-element-e94a833 img { opacity: 0; transform: scale(1.03); }
.tp-hero-dots { display: flex; align-items: center; gap: 12px; margin-top: 30px; }
.tp-hero-dot {
  position: relative; width: 34px; height: 5px;
  border: 0; padding: 0; border-radius: 99px;
  background: var(--tp-brand-tint);
  cursor: pointer; overflow: hidden;
  transition: background-color .3s var(--tp-brand-ease);
}
.tp-hero-dot.is-active { background: rgba(0, 154, 191,.28); }
.tp-hero-dot.is-active::after {
  content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 100%;
  background: var(--tp-brand-grad);
  transform-origin: left center;
  animation: tpHeroProgress var(--tp-hero-dur, 6500ms) linear forwards;
}
.tp-hero-paused .tp-hero-dot.is-active::after { animation-play-state: paused; }
@keyframes tpHeroProgress { from { transform: scaleX(0); } to { transform: scaleX(1); } }

@media (max-width: 767px) { .tp-hero-dots { justify-content: center; } }
@media (prefers-reduced-motion: reduce) {
  .tp-hero-dot.is-active::after { animation: none; }
  .tp-hero-fx * { transition: none !important; }
}

/* ===========================================================================
   PREMIUM MOBILE OFF-CANVAS MENU (#offcanvas)
   Desktop mega menü brand.js'i off-canvas'a dokunmaz; burada Blocksy mobil
   menüsünü temiz, ferah ve markalı hale getiriyoruz.
   =========================================================================== */
#offcanvas.ct-panel .ct-panel-inner {
  background: #fff !important;
  width: min(384px, 88vw) !important;
  box-shadow: 0 0 70px -12px rgba(22, 56, 58, .55);
}
#offcanvas .ct-panel-content-inner { padding: 6px 20px 30px !important; }
#offcanvas .ct-panel-actions { padding: 14px 16px 4px; }
#offcanvas .ct-toggle-close { color: var(--tp-brand-ink, #16383a); opacity: .8; }
#offcanvas .ct-toggle-close:hover { opacity: 1; color: var(--tp-brand, #009abf); }

#offcanvas .mobile-menu ul { list-style: none; margin: 0; padding: 0; }
/* taşma/kayma önleme: her şey border-box, yatay overflow kapalı */
#offcanvas .ct-panel-content-inner,
#offcanvas .mobile-menu { overflow-x: hidden; }
/* dikey scrollbar caret toggle'ların üstüne binip "kesik" göstermesin:
   içeriğe scrollbar'dan açıklık ver + ince/şık scrollbar. */
#offcanvas .mobile-menu { padding-right: 12px; scrollbar-width: thin; scrollbar-color: var(--tp-brand-tint, #cfeaea) transparent; }
#offcanvas .mobile-menu::-webkit-scrollbar { width: 6px; }
#offcanvas .mobile-menu::-webkit-scrollbar-thumb { background: var(--tp-brand-tint, #cfeaea); border-radius: 8px; }
#offcanvas .mobile-menu::-webkit-scrollbar-track { background: transparent; }
#offcanvas .mobile-menu *,
#offcanvas .mobile-menu .menu-item,
#offcanvas .mobile-menu .ct-sub-menu-parent { box-sizing: border-box; }

/* üst seviye satırlar */
#offcanvas .mobile-menu > ul > .menu-item {
  display: flex !important; flex-direction: row !important; flex-wrap: wrap;
  align-items: center; justify-content: flex-start;
  margin: 0; padding: 0;
  border-bottom: 1px solid var(--tp-brand-soft, #eef8f8);
}
/* parent öğelerde etiket+toggle, Blocksy'de span.ct-sub-menu-parent içinde gelir */
#offcanvas .mobile-menu .ct-sub-menu-parent {
  display: flex !important; align-items: center; gap: 8px;
  flex: 1 1 100%; width: auto; min-width: 0; max-width: 100%; margin: 0;
}
#offcanvas .mobile-menu .menu-item > a,
#offcanvas .mobile-menu .menu-item > .ct-menu-link,
#offcanvas .mobile-menu .ct-sub-menu-parent > a {
  flex: 1 1 auto;
  display: block;
  padding: 15px 4px !important;
  font-size: 16.5px; font-weight: 600; letter-spacing: -.1px;
  color: var(--tp-brand-ink, #16383a) !important;
  text-decoration: none;
  transition: color .2s var(--tp-brand-ease, ease);
}
#offcanvas .mobile-menu .current-menu-item > a,
#offcanvas .mobile-menu .current-menu-item > .ct-sub-menu-parent > a,
#offcanvas .mobile-menu .menu-item > a:hover,
#offcanvas .mobile-menu .ct-sub-menu-parent > a:hover { color: var(--tp-brand, #009abf) !important; }

/* alt menü açma toggle'ı (caret) */
#offcanvas .mobile-menu .ct-toggle-dropdown-mobile {
  flex: 0 0 auto;
  width: 40px; height: 40px;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--tp-brand-tint, #e3f3f3) !important;
  color: var(--tp-brand, #009abf) !important;
  border: 1px solid rgba(0, 154, 191, .25); border-radius: 10px; cursor: pointer;
  transition: transform .25s var(--tp-brand-ease, ease), background-color .2s ease;
}
#offcanvas .mobile-menu .ct-toggle-dropdown-mobile svg { width: 17px; height: 17px; transition: transform .3s var(--tp-brand-ease, ease); }
/* Blocksy ikon fill'ini palette rengine sabitliyor → kontrast düşük. Koyu teal'a zorla. */
#offcanvas .mobile-menu .ct-toggle-dropdown-mobile svg,
#offcanvas .mobile-menu .ct-toggle-dropdown-mobile svg path {
  fill: var(--tp-brand-darker, #235e5f) !important;
  color: var(--tp-brand-darker, #235e5f) !important;
}
#offcanvas .mobile-menu .ct-toggle-dropdown-mobile[aria-expanded="true"] {
  background: linear-gradient(135deg, var(--tp-brand, #009abf), var(--tp-brand-deep, #007b99)) !important;
  border-color: transparent !important;
}
/* aktifken zemin gradient → ok beyaz, yön döner */
#offcanvas .mobile-menu .ct-toggle-dropdown-mobile[aria-expanded="true"] svg,
#offcanvas .mobile-menu .ct-toggle-dropdown-mobile[aria-expanded="true"] svg path {
  fill: #fff !important; color: #fff !important;
}
#offcanvas .mobile-menu .ct-toggle-dropdown-mobile[aria-expanded="true"] svg { transform: rotate(180deg); }

/* alt menü (accordion içerik) */
#offcanvas .mobile-menu .sub-menu {
  flex: 1 1 100%; width: 100%; max-width: 100%; box-sizing: border-box;
  display: block !important;            /* Blocksy display:none'ı geçersiz kıl */
  height: auto !important;              /* Blocksy kapanışta inline height:0 veriyor → etkisiz kıl, kontrol bizde */
  overflow: hidden;
  max-height: 0; opacity: 0; margin: 0;
  padding: 0 0 0 14px;
  border-left: 2px solid var(--tp-brand-tint, #e3f3f3);
  transition: max-height .4s cubic-bezier(.4, 0, .2, 1), opacity .3s ease, padding .4s ease;
}
/* Açık durum: aria-expanded ile sür — `dropdown-active` sınıfı kapanışta li'de
   takılı kaldığı için güvenilmez. Alt menü, .ct-sub-menu-parent'ın kardeşi. */
#offcanvas .mobile-menu .ct-sub-menu-parent:has(> .ct-toggle-dropdown-mobile[aria-expanded="true"]) + .sub-menu {
  max-height: 800px; opacity: 1; padding-bottom: 8px;
}
#offcanvas .mobile-menu .sub-menu .menu-item { border-bottom: 0 !important; display: block; }
#offcanvas .mobile-menu .sub-menu .menu-item > a,
#offcanvas .mobile-menu .sub-menu .ct-sub-menu-parent > a {
  padding: 11px 4px !important;
  font-size: 15px !important; font-weight: 500 !important;
  color: #51635d !important;
}
#offcanvas .mobile-menu .sub-menu .menu-item > a:hover,
#offcanvas .mobile-menu .sub-menu .ct-sub-menu-parent > a:hover { color: var(--tp-brand-darker, #2a6f70) !important; }
#offcanvas .mobile-menu .sub-menu .ct-toggle-dropdown-mobile { width: 34px; height: 34px; }
/* iç içe alt menü (Other Products > Desiccants) biraz daha içeride */
#offcanvas .mobile-menu .sub-menu .sub-menu { margin-left: 0; padding-left: 10px; }

/* Masaüstü menüde "Request a Quote" → diğer başlıklardan ayrışan CTA buton
   (müşteri, 21.08.2026). Mobil karşılığı aşağıda #offcanvas bloğunda. */
#header-menu-1 .menu-item:has(> a[href*="request-a-quote"]) {
  display: flex; align-items: center;
}
#header-menu-1 .menu-item > a[href*="request-a-quote"] {
  align-self: center;
  height: auto !important;
  min-height: 0 !important;
  line-height: 1.25 !important;
  color: #fff !important;
  background-image: linear-gradient(135deg, var(--tp-brand, #009abf), var(--tp-brand-deep, #007b99));
  border-radius: 999px;
  padding: 9px 18px !important;
  font-weight: 800 !important;
  box-shadow: 0 12px 24px -14px rgba(22, 56, 58, .55);
  transition: transform .3s ease, box-shadow .3s ease, filter .3s ease;
}
#header-menu-1 .menu-item > a[href*="request-a-quote"]:hover {
  color: #fff !important;
  transform: translateY(-2px);
  box-shadow: 0 18px 32px -14px rgba(22, 56, 58, .65);
  filter: brightness(1.06);
}
/* Blocksy'nin menü alt çizgisi/göstergesi bu öğede görünmesin */
#header-menu-1 .menu-item > a[href*="request-a-quote"]::before,
#header-menu-1 .menu-item > a[href*="request-a-quote"]::after { display: none !important; }

/* "Request a Quote" → belirgin CTA buton */
#offcanvas .mobile-menu .menu-item:has(> a[href*="request-a-quote"]) { border-bottom: 0 !important; margin-top: 16px; }
#offcanvas .mobile-menu .menu-item a[href*="request-a-quote"],
#offcanvas .mobile-menu .menu-item a[href*="request-a-quote"] * {
  color: #fff !important;
}
#offcanvas .mobile-menu .menu-item a[href*="request-a-quote"] {
  justify-content: center; text-align: center;
  background-image: linear-gradient(135deg, var(--tp-brand, #009abf), var(--tp-brand-deep, #007b99));
  border-radius: 999px;
  padding: 15px 20px !important;
  font-weight: 800 !important;
  box-shadow: 0 16px 30px -16px rgba(22, 56, 58, .6);
}

/* ===========================================================================
   ACCESSIBILITY — color contrast (WCAG AA) + focus visibility
   Eyebrow/label text used brand teal #009abf / deep #007b99 on light washes,
   which fails 4.5:1 for small text. Promote to an accessible teal (#266c6d ≈
   5.8:1 on #f6fbfb / #fff) without changing the visual language.
   =========================================================================== */
.tph-eyebrow, .tpf-eyebrow, .tpcl-eyebrow, .tpc-eyebrow, .tpa-eyebrow,
.tpn-eyebrow, .tps-eyebrow, .tp-svc-eyebrow, .tp-hsec-eyebrow,
.tp-eyebrow, [class*="-eyebrow"] {
  color: #266c6d !important;
}
/* The pill-style eyebrows sit on a teal-tinted chip → keep deep ink for AA. */
.tp-svc-eyebrow { color: #1f5e60 !important; }

/* Elementor section labels rendered in brand teal on light backgrounds. */
.elementor p[style*="color: #009abf"],
.elementor span[style*="color: #009abf"],
.elementor .elementor-heading-title[style*="color: #009abf"] {
  color: #266c6d !important;
}

/* Keyboard focus visibility (best-practice / a11y) — brand ring. */
a:focus-visible, button:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible {
  outline: 2px solid var(--tp-brand, #009abf);
  outline-offset: 2px;
  border-radius: 3px;
}
