/*
 * Customizer "Additional CSS", moved out of the page.
 *
 * Source: Appearance > Customize > Additional CSS (the wp-custom-css block),
 * captured 2026-09-13 (51064 bytes, 269 rules).
 *
 * 1.53.0 CLEANUP - done mechanically and verified, not by hand:
 *   - 118 declarations removed that could never apply: a LATER rule with the
 *     identical selector, in the identical media context, set the same property
 *     (same specificity, later wins, so the earlier one was dead). 23 rules were
 *     left empty by that and went too.
 *   - Rules that only ever match product pages, the service catalogue, or the
 *     account area moved to tm-custom-product.css, tm-custom-catalog.css and
 *     tm-custom-account.css, loaded only there. A rule was moved only if it
 *     matched nothing on any other public page AND no later rule here touched
 *     the same element and property (so moving it could not change a winner).
 *   - Verified by computed style: every element on 16 pages at desktop width and
 *     6 at phone width, old CSS vs new - zero differences.
 *
 * NEW RULES GO IN THE RIGHT FILE: site-wide here, product/catalogue/account in
 * their own file. Do not re-add a "v2" block that overrides an earlier one -
 * edit the earlier one.
 *
 * ---------------------------------------------------------------------------
 * WHY
 *
 * WordPress printed this inline in wp_head on EVERY page. 51KB that no browser
 * could cache separately and that was re-sent on every single page view - the
 * largest remaining item on our own domain, bigger than all fifteen Elementor
 * Custom Code snippets put together.
 *
 * As a file it is gzipped (~8KB on the wire) and cached for 120 days, so
 * repeat views cost nothing.
 *
 * ---------------------------------------------------------------------------
 * CASCADE - THIS IS THE PART THAT BREAKS IF YOU CHANGE IT
 *
 * WordPress hooks wp_custom_css_cb to wp_head at priority 101, deliberately
 * late so Customizer CSS overrides theme and plugin styles. Enqueued styles
 * print far earlier (wp_print_styles on wp_head 8).
 *
 * So this is NOT wp_enqueue_style()d. assets/custom-css.php prints a plain
 * <link> at wp_head priority 101 - the exact slot the inline block occupied.
 * Enqueue it normally and every override in here silently stops winning.
 * ---------------------------------------------------------------------------
 */

/* Alternative overlay selector */
.elementor-popup-modal .dialog-widget-overlay,
.dialog-widget-overlay {
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    background-color: rgba(0, 0, 0, 0.4) !important;
}

/* ===== TM — My Account styling (added via Claude) ===== */
body.woocommerce-account{ background-color:#e8eaf6 !important; }
body.woocommerce-account .elementor-element-e59d245{ background-color:#e8eaf6 !important; }
body.woocommerce-account .woocommerce-MyAccount-content{ background:transparent !important; padding:0 !important; }
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-notices-wrapper:empty{ margin:0 !important; padding:0 !important; }
body.woocommerce-account #tm-dash{ margin-top:0 !important; }
body.woocommerce-account .woocommerce-MyAccount-navigation ul{ margin:0 !important; padding:0 !important; list-style:none !important; }
body.woocommerce-account .woocommerce-MyAccount-navigation li{ margin:0 0 8px !important; padding:0 !important; background:transparent !important; border:0 !important; }
body.woocommerce-account .woocommerce-MyAccount-navigation li a{ display:flex !important; align-items:center !important; padding:14px 16px !important; border-radius:10px !important; line-height:1.2 !important; background:#fff !important; box-shadow:0 1px 4px rgba(40,48,113,.07) !important; transition:box-shadow .15s ease, transform .15s ease; }
body.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{ box-shadow:0 4px 12px rgba(40,48,113,.12) !important; transform:translateY(-1px); }
body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{ background:#283071 !important; color:#fff !important; }
.woocommerce-account .woocommerce-MyAccount-navigation-link--marketing-plan a::before{ content:""; display:inline-block; width:18px; height:18px; margin-right:0; background-color:currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23283071'%20stroke-width='2'%3E%3Cpath%20d='M3%203v18h18'/%3E%3Cpath%20d='M7%2014l3-4%203%203%205-7'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23283071'%20stroke-width='2'%3E%3Cpath%20d='M3%203v18h18'/%3E%3Cpath%20d='M7%2014l3-4%203%203%205-7'/%3E%3C/svg%3E") center / contain no-repeat; }
.tm-catalog .tm-catnav__lnk:hover,.tm-catalog .tm-catnav__lnk:focus{ background:#283071 !important; color:#ffffff !important; }

/* ===== TM — Product hero (added via Claude) ===== */

@media (min-width:881px) {
  .elementor-element-c7a1be1{ display:flex !important; flex-direction:row !important; flex-wrap:nowrap !important; align-items:center !important; gap:44px !important; }
  .elementor-element-d57da69{ flex:1.25 1 0 !important; min-width:0 !important; }
  .elementor-element-89d75dd{ flex:1 1 0 !important; min-width:0 !important; }
}
.tmh-title{ margin-bottom:16px !important; }
.elementor-element-89d75dd .woocommerce-product-gallery{ background:transparent !important; box-shadow:none !important; border:0 !important; }
.elementor-element-89d75dd .woocommerce-product-gallery__trigger{ display:none !important; }
.elementor-element-89d75dd img[src*="placeholder"]{ display:none !important; }
.elementor-element-89d75dd:has(img[src*="placeholder"]) .woocommerce-product-gallery{ background:rgba(255,255,255,.06) !important; border:1px dashed rgba(255,255,255,.22) !important; border-radius:14px !important; min-height:300px !important; }
.related.products .tm-quote-button{ background:#F57B20 !important; border-color:#F57B20 !important; color:#fff !important; border-radius:8px !important; font-weight:600 !important; }
.related.products .tm-quote-button:hover{ background:#e06a12 !important; border-color:#e06a12 !important; color:#fff !important; }
.related.products .compare.button{ display:none !important; }
.elementor-element-40cca77 a.compare.button{ background:transparent !important; color:#283071 !important; border:2px solid #283071 !important; border-radius:8px !important; font-weight:600 !important; }
.elementor-element-40cca77 a.compare.button:hover{ background:#283071 !important; color:#fff !important; border-color:#283071 !important; }
.woocommerce-tabs ul.tabs li.active{ border-bottom:3px solid #F57B20 !important; }
.woocommerce-tabs ul.tabs li.active a{ color:#283071 !important; }
.tm-pp-hero .tm-pp-price .price,.tm-pp-hero .tm-pp-price .price .woocommerce-Price-amount{ color:#fff !important; }
.tm-pp-hero .tm-pp-price .price{ font-size:32px !important; }
.tm-pp-offerrow:has(.tm-qbv) > .e-con-inner{ align-items:flex-start !important; }

/* ===== TM — Plan Builder hero (added via Claude) ===== */
.page-id-1288 .elementor-element-c795f85,.page-id-1288 .e-c795f85,.page-id-1288 [data-id="c795f85"] { background: radial-gradient(ellipse at top right, #2C3680 0%, #1B2150 100%) !important; padding: 80px 20px !important; }
.page-id-1288 .elementor-element-c795f85 h1,.page-id-1288 .elementor-element-c795f85 h2,.page-id-1288 .e-c795f85 h1,.page-id-1288 .e-c795f85 h2,.page-id-1288 [data-id="c795f85"] h1,.page-id-1288 [data-id="c795f85"] h2 { color: #ffffff !important; }
.page-id-1288 .elementor-element-c795f85 p,.page-id-1288 .e-c795f85 p,.page-id-1288 [data-id="c795f85"] p { color: #B9CEFF !important; }
.page-id-1288 .e-c795f85 .e-button-base,.page-id-1288 [data-id="c795f85"] .e-button-base,.page-id-1288 [data-id="cd3e506"] .e-button-base { background-color: #F57B20 !important; color: #ffffff !important; font-family: Poppins, sans-serif !important; font-weight: 700 !important; font-size: 18px !important; padding: 18px 48px !important; border-radius: 50px !important; border: none !important; box-shadow: 0 8px 28px rgba(245,123,32,.45) !important; min-width: 200px !important; }
.page-id-1288 .e-c795f85 .e-button-base:hover,.page-id-1288 [data-id="c795f85"] .e-button-base:hover,.page-id-1288 [data-id="cd3e506"] .e-button-base:hover { background-color: #e06a12 !important; transform: translateY(-2px) !important; box-shadow: 0 12px 36px rgba(245,123,32,.55) !important; }

/* ===== TM — Site-wide price prefix (added via Claude) ===== */
.tm-price-prefix{ display:inline-block; font-size:.6em; font-weight:600; color:#8a93b2; text-transform:uppercase; letter-spacing:.04em; margin-right:3px; vertical-align:baseline; }

/* ===== TM — Quote badge (added via Claude) ===== */
.tm-qbadge{ display:inline-flex !important; align-items:center; justify-content:center; text-decoration:none; line-height:1; }
.tm-qbadge-icon{ display:block; flex:none; }
.tm-qbadge-count{ position:absolute !important; top:-6px !important; right:-10px !important; min-width:20px !important; height:20px !important; padding:0 5px !important; border-radius:4px !important; font-size:11px !important; font-weight:700 !important; font-family:Poppins,system-ui,sans-serif !important; line-height:20px !important; text-align:center !important; pointer-events:none !important; }
.elementor-location-header .elementor-widget-shortcode{ display:inline-flex !important; align-items:center !important; }
.elementor-location-header .elementor-widget-shortcode .elementor-shortcode{ display:inline-flex !important; align-items:center !important; gap:0 !important; }

/* ===== TM — My Account requests/quotes (added via Claude) ===== */
.tm-requests-list{list-style:none;margin:0;padding:0;}
.tm-request-item{ display:grid; grid-template-columns:1fr auto; align-items:start; gap:12px; padding:14px 16px !important; background:#fff; border:1px solid #e8eaf2; border-radius:12px; margin-bottom:12px; box-shadow:0 1px 4px rgba(40,48,113,.06); min-height:0 !important; height:auto !important; }
.tm-request-item > span{ display:block !important; overflow:visible !important; }
.tm-request-item .tm-name{ display:block !important; font-weight:600 !important; font-size:15px !important; color:#283071 !important; line-height:1.35 !important; margin-bottom:4px !important; background:transparent !important; visibility:visible !important; opacity:1 !important; }
.tm-request-item .tm-date{ display:block !important; font-size:12px !important; color:#8a93b2 !important; font-weight:400 !important; background:transparent !important; visibility:visible !important; opacity:1 !important; }
.tm-remove-request{ flex-shrink:0; border:1.5px solid #d33; background:#fff; color:#d33; border-radius:8px; padding:8px 14px; cursor:pointer; font-size:13px; font-weight:600; font-family:Poppins,system-ui,sans-serif; white-space:nowrap; line-height:1; transition:background .15s,color .15s; }
.tm-remove-request:hover{background:#d33;color:#fff;}
.tm-requests-empty{color:#8a93b2;font-size:14px;padding:8px 0;}
.woocommerce-account .tm-requests-list .tm-tile__eyebrow,.woocommerce-account .tm-requests-list .badge,.woocommerce-account .tm-requests-list .onsale,.woocommerce-account .tm-requests-list .product-badge{ display:none !important; }
.tm-q-item{ display:grid !important; grid-template-columns:1fr auto !important; align-items:center !important; gap:8px 14px !important; padding:14px 16px !important; }
.tm-q-item__main{ display:flex !important; flex-direction:column !important; gap:4px !important; min-width:0 !important; grid-column:1 !important; grid-row:1 !important; }
.tm-q-item .tm-name{ display:block !important; font-weight:600 !important; font-size:14px !important; color:#283071 !important; line-height:1.3 !important; margin:0 !important; }
.tm-q-badge{ display:inline-block !important; width:fit-content !important; font-size:10px !important; font-weight:700 !important; letter-spacing:.06em !important; text-transform:uppercase !important; padding:3px 8px !important; border-radius:999px !important; }
.tm-q-item .tm-date{ display:block !important; font-size:11px !important; color:#9a9ab0 !important; margin:0 !important; }
.tm-q-item__right{ display:flex !important; flex-direction:column !important; align-items:flex-end !important; gap:6px !important; grid-column:2 !important; grid-row:1 !important; flex:none !important; width:auto !important; }
.tm-q-price{ font-size:13px !important; font-weight:700 !important; color:#283071 !important; white-space:nowrap !important; text-align:right !important; }
.tm-q-x{ white-space:nowrap !important; font-size:12px !important; padding:6px 12px !important; }
.elementor-element-81a51148 .woocommerce-product-attributes tbody{border:0 !important;}

/* ===== TM — Spec card icon: pin to title line (added via Claude) ===== */

/* ===== TM — Quote badge v2: blue badge + hover orange (added via Claude) ===== */
.tm-qbadge{ color:#283071 !important; transition:color .15s ease !important; }
.tm-qbadge-icon{ transition:stroke .15s ease !important; }
.tm-qbadge-count{ transition:background .15s ease, border-color .15s ease !important; }

/* ===== TM — Quote badge v3: RED count box + larger icon (added via Claude) ===== */
.tm-qbadge-icon{ width:28px !important; height:28px !important; stroke:#283071 !important; }
.tm-qbadge-count{ background:#d33 !important; color:#fff !important; border:0 !important; box-shadow:0 1px 4px rgba(200,0,0,.40) !important; }
.tm-qbadge:hover{ color:#F57B20 !important; opacity:1 !important; }
.tm-qbadge:hover .tm-qbadge-icon{ stroke:#F57B20 !important; }
.tm-qbadge:hover .tm-qbadge-count{ background:#d33 !important; }

/* ===== TM — Off-canvas menu restyle (added via Claude) ===== */

/* BUG FIX: header account hover-dropdown must never show on touch (mobile/tablet) — was leaking over the page */

@media (max-width:1024px) {
  .elementor-element-a19ba31 .tm-acct-menu{ display:none !important; }
}

/* Account block -> contained card */
.elementor-element-601d08c{ background:rgba(255,255,255,.06) !important; border:1px solid rgba(255,255,255,.14) !important; border-radius:16px !important; padding:14px 16px !important; margin:4px 0 18px !important; }

/* Primary nav -> bullseye markers */
.elementor-element-4b9be595 .elementor-nav-menu .elementor-item{ align-items:center !important; gap:13px !important; }
.elementor-element-4b9be595 .elementor-nav-menu .elementor-item::before{ flex:none !important; box-sizing:border-box !important; }
.elementor-element-4b9be595 .elementor-nav-menu .elementor-item:hover{ background:rgba(255,255,255,.05) !important; color:#F57B20 !important; }
.elementor-element-4b9be595 .elementor-nav-menu .elementor-item:hover::before{ border-color:#F57B20 !important; box-shadow:inset 0 0 0 3px #F57B20 !important; }
.elementor-element-4b9be595 .elementor-nav-menu .elementor-item.elementor-item-active{ color:#F57B20 !important; }
.elementor-element-4b9be595 .elementor-nav-menu .elementor-item.elementor-item-active::before{ border-color:#F57B20 !important; box-shadow:inset 0 0 0 3px #F57B20 !important; }

/* CTA button spacing + glow */
.elementor-element-4fb743c{ margin:18px 0 4px !important; }
.elementor-element-4fb743c .elementor-button{ box-shadow:0 10px 24px -8px rgba(245,123,32,.5) !important; }

/* "More" heading -> small eyebrow */
.elementor-element-2aba5b9 .elementor-heading-title, .elementor-element-2aba5b9{ font-size:11px !important; font-weight:700 !important; letter-spacing:.16em !important; text-transform:uppercase !important; }
.elementor-element-2aba5b9{ opacity:.5 !important; margin-bottom:2px !important; }

/* More nav -> small inline links */
.elementor-element-287257ba .elementor-nav-menu{ display:flex !important; flex-wrap:wrap !important; gap:4px 20px !important; }
.elementor-element-287257ba .elementor-nav-menu .elementor-item{ padding:5px 0 !important; font-size:14px !important; font-weight:500 !important; opacity:.78 !important; }
.elementor-element-287257ba .elementor-nav-menu .elementor-item:hover{ color:#F57B20 !important; opacity:1 !important; }

/* ===== TM — Off-canvas bullseye fix: absolute marker, no overlap (added via Claude) ===== */
.elementor-element-4b9be595 .elementor-nav-menu .elementor-item:hover{ padding-left:40px !important; }
.elementor-element-4b9be595 .elementor-nav-menu .elementor-item:hover::before,
.elementor-element-4b9be595 .elementor-nav-menu .elementor-item.elementor-item-active::before{ background:#F57B20 !important; border-color:#F57B20 !important; box-shadow:none !important; }

/* ===== TM — Off-canvas height: fit content, cap at viewport (no dead space) ===== */

/* ===== TM — Off-canvas fix: neutralize header backdrop-filter while panel is open ===== */
body.e-off-canvas__no-scroll .elementor-element-313916bc{ -webkit-backdrop-filter:none !important; backdrop-filter:none !important; }

/* ===== TM — Off-canvas fix v2: higher-specificity override of the sticky backdrop-filter ===== */
body.e-off-canvas__no-scroll .elementor-2491 .elementor-element.elementor-element-313916bc.elementor-sticky--effects{ -webkit-backdrop-filter:none !important; backdrop-filter:none !important; }

/* ===== TM — Off-canvas: inset the panel from the top & right edges (equal gap) ===== */
.elementor-element-2d5fa15c .e-off-canvas__main{ align-items:flex-start !important; }
.elementor-element-2d5fa15c .e-off-canvas__content{ margin:20px !important; height:auto !important; max-height:calc(100vh - 40px) !important; }

/* ===== TM — Header account icon: match quote-badge size + hover color (added via Claude) ===== */

/* ===== TM — Off-canvas panel logo: pin to a consistent size ===== */
.elementor-2491 .e-off-canvas .elementor-element-55bdc20 img{ width:130px !important; height:auto !important; }
.elementor-2491 .elementor-element-313916bc.elementor-sticky--effects .e-off-canvas .elementor-element-55bdc20.elementor-widget-image img{ width:130px !important; height:auto !important; }

/* ===== TM — Header account icon: nudge size up to 32px (added via Claude) ===== */
.tm-acct-trigger .tm-acct-ico{ font-size:32px !important; }

/* ===== TM — Header account icon: nudge up to align with clipboard (added via Claude) ===== */

/* ===== TM — Header account icon: perfect hover sync with text (added via Claude) ===== */
.tm-acct-trigger .tm-acct-ico,
.tm-acct-trigger:hover .tm-acct-ico,
.tm-acct-trigger:focus-visible .tm-acct-ico{ color:inherit !important; transition:none !important; }

/* ===== TM — Header account hover sync v2: explicit identical transitions (added via Claude) ===== */
.tm-acct-trigger .tm-acct-name,
.tm-acct-trigger .tm-acct-ico,
.tm-acct-trigger .tm-acct-ico::before{ color:#283071 !important; transition:color .15s ease !important; }
.tm-acct-trigger:hover .tm-acct-name,
.tm-acct-trigger:hover .tm-acct-ico,
.tm-acct-trigger:hover .tm-acct-ico::before,
.tm-acct-trigger:focus-visible .tm-acct-name,
.tm-acct-trigger:focus-visible .tm-acct-ico,
.tm-acct-trigger:focus-visible .tm-acct-ico::before{ color:#F57B20 !important; }

/* ===== TM — Header account icon: SVG render fix (added via Claude) ===== */
.tm-acct-trigger .tm-acct-ico,
.tm-acct-trigger .tm-acct-ico path{ fill:none !important; stroke:currentColor !important; }
.tm-acct-trigger .tm-acct-ico{ color:#283071 !important; position:relative !important; transition:color .15s ease !important; }
.tm-acct-trigger:hover .tm-acct-ico,
.tm-acct-trigger:focus-visible .tm-acct-ico{ color:#F57B20 !important; }

/* ===== TM — Header account icon: hover-fill fix + size match (added via Claude) ===== */
.tm-acct-trigger.tm-acct-trigger:hover .tm-acct-ico,
.tm-acct-trigger.tm-acct-trigger:hover .tm-acct-ico path,
.tm-acct-trigger.tm-acct-trigger:focus-visible .tm-acct-ico,
.tm-acct-trigger.tm-acct-trigger:focus-visible .tm-acct-ico path{ fill:none !important; stroke:currentColor !important; }

/* ===== TM — Account icon size: 34 -> 31px (added via Claude) ===== */
.tm-acct-trigger .tm-acct-ico{ width:31px !important; height:31px !important; }

/* ===== TM — Off-canvas nav: flush-left + growing accent bar (added via Claude) ===== */
.elementor-element-4b9be595 .elementor-nav-menu .elementor-item{
  display:block !important;
  position:relative !important;
  padding:12px 12px 12px 16px !important;
  border-radius:10px !important;
  font-size:17px !important;
  font-weight:600 !important;
  letter-spacing:-.01em !important;
  transition:background .18s ease, color .18s ease !important;
}
.elementor-element-4b9be595 .elementor-nav-menu .elementor-item::before{
  content:"" !important;
  position:absolute !important;
  left:3px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  width:3px !important;
  height:0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:3px !important;
  background:#F57B20 !important;
  box-shadow:none !important;
  transition:height .2s ease !important;
}
.elementor-element-4b9be595 .elementor-nav-menu .elementor-item:hover,
.elementor-element-4b9be595 .elementor-nav-menu .elementor-item.elementor-item-active{
  background:rgba(255,255,255,.06) !important;
  color:#F57B20 !important;
  padding-left:16px !important;
}
.elementor-element-4b9be595 .elementor-nav-menu .elementor-item:hover::before,
.elementor-element-4b9be595 .elementor-nav-menu .elementor-item.elementor-item-active::before{
  height:62% !important;
}

/* ===== TM — Header account icon: drop legacy nudge so it aligns with the clipboard badge ===== */
.tm-acct-trigger .tm-acct-ico{ top:0 !important; vertical-align:middle !important; }

/* ===== TM — Off-canvas logo: white wordmark, no card (added via Claude) ===== */
.elementor-2491 .e-off-canvas .elementor-element-55bdc20 .elementor-widget-container{
  background-color:transparent !important;
  background-image:url(https://targetmarketeer.com/wp-content/uploads/2026/06/target-marketeer-logo-white.svg) !important;
  background-repeat:no-repeat !important;
  background-position:left center !important;
  background-size:contain !important;
}
.elementor-2491 .e-off-canvas .elementor-element-55bdc20 img{ opacity:0 !important; }
.elementor-2491 .e-off-canvas .elementor-element-bbc646d,
.elementor-2491 .e-off-canvas .elementor-element-69e016f{
  background:transparent !important;
  background-color:transparent !important;
  box-shadow:none !important;
  border:0 !important;
  border-radius:0 !important;
}

/* ===== TM — FIX: restore off-canvas panel positioning (added via Claude) ===== */
.elementor-location-header .elementor-widget-off-canvas nav.e-off-canvas{
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: auto !important;
  z-index: 2147483630 !important;
}

/* ===== TM — off-canvas WHITE logo (corrected target) ===== */
.elementor-element-55bdc20 a{
  background-image:url("https://targetmarketeer.com/wp-content/uploads/2026/06/target-marketeer-logo-white.svg") !important;
  background-repeat:no-repeat !important;
  background-position:left center !important;
  background-size:contain !important;
}
.elementor-element-55bdc20 img{ opacity:0 !important; }

/* ===== TM — off-canvas account block: readable username + icon ===== */
.e-off-canvas .tm-acct-name{ color:#ffffff !important; }
.e-off-canvas .tm-acct-trigger svg,
.e-off-canvas .tm-acct-trigger svg *{ color:#ffffff !important; }

.e-off-canvas .tm-acct-trigger svg,
.e-off-canvas .tm-acct-trigger svg *{ fill:none !important; stroke:#ffffff !important; }

/* ===== TM — account icon hover: outline only (no fill) ===== */
.tm-acct-trigger:hover svg,
.tm-acct-trigger:hover svg *{ fill:none !important; stroke:#F57B20 !important; }
.e-off-canvas .tm-acct-trigger:hover svg,
.e-off-canvas .tm-acct-trigger:hover svg *{ stroke:#ffffff !important; }

/* ===== TM — off-canvas menu: remove the duplicated dropdown copy ===== */
.e-off-canvas .elementor-nav-menu--dropdown,
.e-off-canvas nav.elementor-nav-menu--dropdown,
.e-off-canvas .elementor-menu-toggle{ display:none !important; }

/* ===== TM — account icon hover v2: outline only, kill the orange disc (high specificity) ===== */
html body .tm-acct.tm-acct--in a.tm-acct-trigger:hover svg.tm-acct-ico,
html body .tm-acct.tm-acct--in a.tm-acct-trigger:hover svg.tm-acct-ico path,
html body .tm-acct.tm-acct--out.tm-acct-trigger:hover svg.tm-acct-ico,
html body .tm-acct.tm-acct--out.tm-acct-trigger:hover svg.tm-acct-ico path{ fill:none !important; stroke:#F57B20 !important; }
html body .e-off-canvas .tm-acct a.tm-acct-trigger:hover svg.tm-acct-ico,
html body .e-off-canvas .tm-acct a.tm-acct-trigger:hover svg.tm-acct-ico path{ fill:none !important; stroke:#ffffff !important; }

/* ===== TM — account icon hover v3: nuke the orange disc (added via Claude) ===== */
html body .tm-acct-trigger:hover .tm-acct-ico,
html body .tm-acct-trigger:hover .tm-acct-ico *,
html body .tm-acct-trigger:focus-visible .tm-acct-ico,
html body .tm-acct-trigger:focus-visible .tm-acct-ico *{
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
  border-radius:0 !important;
  fill:none !important;
}
html body .tm-acct-trigger:hover .tm-acct-ico::before,
html body .tm-acct-trigger:hover .tm-acct-ico::after,
html body .tm-acct-trigger:focus-visible .tm-acct-ico::before,
html body .tm-acct-trigger:focus-visible .tm-acct-ico::after{
  background:transparent !important;
  background-color:transparent !important;
  box-shadow:none !important;
  content:none !important;
}

/* ===== TM — Account icon hover sync: fade the mask color in step with the username ===== */
.tm-acct-trigger::after{ transition:background-color .15s ease !important; }

/* ===== TM — Header account leak fix v2: sticky-proof (added via Claude) ===== */

@media (max-width:1024px) {
  .elementor-2491 .elementor-element-a19ba31,
  .elementor-2491 .elementor-sticky .elementor-element-a19ba31,
  .elementor-2491 .elementor-sticky__spacer .elementor-element-a19ba31{ display:none !important; }

/* ===== TM — Bug 1 fix: show the off-canvas nav on mobile/tablet (added via Claude) ===== */
  .elementor-2491 .elementor-element-4b9be595,
  .elementor-2491 .elementor-element-287257ba{ display:flex !important; }
}

/* ===== TM — Off-canvas account leak fix: list follows the panel (added via Claude) ===== */
.elementor-element-601d08c .tm-acct-menu{ visibility:inherit !important; }

/* ===== TM — Show header account ICON on mobile/tablet (Option A) ===== */

@media (max-width:1024px) {
  html body .elementor-2491 .elementor-element-a19ba31,
  html body .elementor-2491 .elementor-sticky .elementor-element-a19ba31,
  html body .elementor-2491 .elementor-sticky__spacer .elementor-element-a19ba31{ display:inline-flex !important; }
  html body .elementor-2491 .elementor-element-a19ba31 .tm-acct-name{ display:none !important; }
  html body .elementor-2491 .elementor-element-a19ba31 .tm-acct-menu{ display:none !important; pointer-events:none !important; }
}

/* ===== TM — Off-canvas: align "MORE" eyebrow with its links (added via Claude) ===== */
.elementor-element-2d5fa15c .elementor-element-2aba5b9{ padding-left:0 !important; padding-right:0 !important; }

/* ===== TM — Off-canvas: hide the Tidio chat widget while the menu is open (added via Claude) ===== */
body.e-off-canvas__no-scroll #tidio-chat,
body.e-off-canvas__no-scroll #tidio-chat-iframe,
body.e-off-canvas__no-scroll iframe[id*="tidio" i],
body.e-off-canvas__no-scroll iframe[title*="tidio" i]{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

/* ===== TM — Cross-browser: stop mobile text auto-inflation (added via Claude) ===== */
html{
  -webkit-text-size-adjust:100% !important;
  -moz-text-size-adjust:100% !important;
  text-size-adjust:100% !important;
}

/* /services/ fix: reserve scrollbar gutter so page width doesn't shift when accordion collapse removes the scrollbar (2026-07-03) */
html{ scrollbar-gutter: stable; }

/* ---- TM Account dashboard (Core C v6) ---- */
.woocommerce-account .woocommerce-MyAccount-content{ background:#f4f5fb; border-radius:14px; padding:24px; }
#tm-dash .tm-welcome{ display:flex; align-items:center; gap:14px; background:#283071; border-radius:12px; padding:18px 20px; margin-bottom:16px; }
#tm-dash .tm-avatar{ width:48px; height:48px; border-radius:50%; background:#F57B20; color:#fff; display:flex; align-items:center; justify-content:center; font-weight:600; font-size:20px; flex:0 0 auto; }
#tm-dash .tm-hi{ margin:0; color:#fff; font-size:19px; font-weight:600; }
#tm-dash .tm-since{ margin:3px 0 0; color:#b9bce0; font-size:13px; }
#tm-dash .tm-alert{ display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; border-radius:12px; padding:13px 18px; margin-bottom:16px; font-weight:600; font-size:14.5px; }
#tm-dash .tm-alert.warn{ background:#fff1e6; color:#c05b0a; border:1px solid #f5d9bd; }
#tm-dash .tm-alert.late{ background:#fdecec; color:#b3362f; border:1px solid #f2c6c3; }
#tm-dash .tm-alert a{ background:#F57B20; color:#fff; padding:8px 16px; border-radius:8px; text-decoration:none; font-size:14px; white-space:nowrap; }
#tm-dash .tm-alert.late a{ background:#b3362f; }
#tm-dash .tm-tiles{ display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:12px; margin-bottom:16px; }
#tm-dash .tm-tile{ display:block; background:#fff; border:1px solid #ececf3; border-radius:12px; padding:16px; text-decoration:none; box-shadow:0 1px 4px rgba(40,48,113,.07); transition:border-color .15s ease, transform .15s ease, box-shadow .15s ease; }
#tm-dash .tm-tile .tm-ti{ color:#F57B20; display:block; line-height:1; }
#tm-dash .tm-tile .tm-big{ display:block; margin:10px 0 2px; font-size:22px; font-weight:600; color:#283071; }
#tm-dash .tm-tile .tm-word{ display:block; margin:10px 0 2px; font-size:16px; font-weight:600; color:#283071; }
#tm-dash .tm-tile .tm-sub{ display:block; font-size:13px; color:#6b6b80; }
#tm-dash .tm-tile .tm-sub.hot{ color:#c05b0a; font-weight:600; }
#tm-dash .tm-tile .tm-sub2{ display:block; font-size:12px; color:#9a9ab0; margin-top:3px; }
#tm-dash .tm-preview{ background:#fff; border:1px solid #ececf3; border-radius:12px; padding:16px 18px; box-shadow:0 1px 4px rgba(40,48,113,.07); }
#tm-dash .tm-preview h4{ margin:0 0 10px; color:#283071; font-size:16px; }
#tm-dash .tm-preview ul{ list-style:none; margin:0; padding:0; }
#tm-dash .tm-preview li{ display:flex; justify-content:space-between; align-items:center; padding:10px 0; border-bottom:1px solid #f0f0f6; color:#283071; font-weight:600; }
#tm-dash .tm-preview .tm-rq-date{ font-weight:500; color:#9a9ab0; font-size:13px; }
#tm-dash .tm-empty{ color:#6b6b80; margin:4px 0 0; }
#tm-dash .tm-btn{ display:inline-block; margin-top:14px; background:#F57B20; color:#fff; padding:10px 18px; border-radius:8px; font-weight:600; font-size:14px; text-decoration:none; }
#tm-dash .tm-btn:hover{ opacity:.9; }

/* ---- TM Messages tab ---- */
.tm-msgs h3{ color:#283071; margin:0 0 6px; }
.tm-msgs-note{ color:#6b6b80; font-size:14px; margin:0 0 14px; }
.tm-msgs-ok{ background:#e9f7ef; color:#1e7e46; border:1px solid #bfe5cd; border-radius:10px; padding:10px 14px; margin-bottom:12px; font-weight:600; }
.tm-msgs-err{ background:#fdecec; color:#b3362f; border:1px solid #f2c6c3; border-radius:10px; padding:10px 14px; margin-bottom:12px; font-weight:600; }
.tm-msgs-thread{ background:#fff; border:1px solid #ececf3; border-radius:12px; padding:16px; margin-bottom:14px; max-height:480px; overflow-y:auto; }
.tm-msgs-empty{ color:#6b6b80; margin:0; }
.tm-msg .tm-msg-body{ border-radius:12px; padding:10px 14px; font-size:15px; line-height:1.45; }
.tm-msg.mine .tm-msg-body{ background:#283071; color:#fff; border-bottom-right-radius:4px; }
.tm-msg.theirs .tm-msg-body{ background:#f4f5fb; color:#283071; border:1px solid #ececf3; border-bottom-left-radius:4px; }
.tm-msg .tm-msg-meta{ font-size:12px; color:#9a9ab0; margin-top:3px; }
.tm-msgs-form textarea{ width:100%; border:1px solid #dcdce6; border-radius:10px; padding:12px 14px; font-family:inherit; font-size:15px; background:#fff; }
.tm-msgs-form button{ margin-top:10px; background:#F57B20; color:#fff; border:0; border-radius:8px; padding:11px 22px; font-weight:600; font-size:15px; font-family:inherit; cursor:pointer; }
.tm-msgs-form button:hover{ opacity:.9; }

/* ---- TM Messages: sidebar nav icon (chat bubble mask, same pattern as marketing-plan) ---- */
.woocommerce-account .woocommerce-MyAccount-navigation-link--messages a::before{ content:""; display:inline-block; width:18px; height:18px; margin-right:0; background-color:currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23283071'%20stroke-width='2'%3E%3Cpath%20d='M4%205a2%202%200%200%201%202-2h12a2%202%200%200%201%202%202v9a2%202%200%200%201-2%202H9l-5%204z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23283071'%20stroke-width='2'%3E%3Cpath%20d='M4%205a2%202%200%200%201%202-2h12a2%202%200%200%201%202%202v9a2%202%200%200%201-2%202H9l-5%204z'/%3E%3C/svg%3E") center / contain no-repeat; }

/* ---- My Account: action buttons in content area always get white text (fix invisible label on orange) ---- */
.woocommerce-account .woocommerce-MyAccount-content a.button,
.woocommerce-account .woocommerce-MyAccount-content button.button,
.woocommerce-account .woocommerce-MyAccount-content .button:not(.tm-remove-request):not(.tm-q-x){ color:#fff !important; }
.woocommerce-account .woocommerce-MyAccount-content a.button:hover,
.woocommerce-account .woocommerce-MyAccount-content button.button:hover{ color:#fff !important; }

/* ---- My Quotes: Send button lost its styling — force brand orange + white label ---- */
.woocommerce-account .tm-q-send{ background:#F57B20 !important; color:#fff !important; border:0 !important; border-radius:8px !important; font-weight:600 !important; font-family:inherit !important; cursor:pointer; }
.woocommerce-account .tm-q-send:hover,
.woocommerce-account .tm-q-send:focus{ background:#e06a12 !important; color:#fff !important; }

/* ---- My Quotes: Browse services button — orange link-color override made it orange-on-orange ---- */
.woocommerce-account .tm-q-browse{ background:#F57B20 !important; color:#fff !important; }
.woocommerce-account .tm-q-browse:hover,
.woocommerce-account .tm-q-browse:focus{ background:#e06a12 !important; color:#fff !important; }

/* ---- My Quotes: Clear all button ---- */
.tm-q-clearwrap{ display:flex; justify-content:flex-end; margin-top:10px; }
.tm-q-clear{ background:#fff; border:1.5px solid #d33; color:#d33 !important; border-radius:8px; padding:9px 16px; font-weight:600; font-size:13px; font-family:inherit; cursor:pointer; }
.tm-q-clear:hover{ background:#d33; color:#fff !important; }
.tm-q-clear:disabled{ opacity:.6; cursor:default; }

/* ===== TM — Off-canvas CLOSE button: pin top-right + kill hover motion (added via Claude 2026-07-20) ===== */
.elementor-element-2d5fa15c .e-69e016f-bcec37c,
.elementor-element-2d5fa15c .elementor-element-69e016f{ position:relative !important; width:100% !important; }

/* ===== TM — Off-canvas CLOSE button v2 (2026-07-21): SUPERSEDES the 07-20 block below-none; that block's width rule targeted guessed atomic classes (.e-69e016f-bcec37c / .elementor-element-69e016f) that the atomic div-block never uses, so 69e016f stayed shrink-to-fit and the absolute X pinned beside the logo. Fix: widen 69e016f via an attribute match that always hits, anchor the X to its real parent bbc646d, pin top-right. ===== */
.elementor-element-2d5fa15c [class*="e-69e016f"]{ width:100% !important; box-sizing:border-box !important; }
.elementor-element-2d5fa15c .elementor-element-bbc646d{ position:relative !important; width:100% !important; }
.elementor-element-2d5fa15c .elementor-element-f32d5be{ position:absolute !important; right:14px !important; left:auto !important; margin:0 !important; z-index:10 !important; }
.elementor-element-2d5fa15c .elementor-element-f32d5be .elementor-button,
.elementor-element-2d5fa15c .elementor-element-f32d5be .elementor-button:hover,
.elementor-element-2d5fa15c .elementor-element-f32d5be:hover .elementor-button{ transform:none !important; animation:none !important; transition:color .18s ease, background-color .18s ease !important; top:auto !important; }

/* ===== TM — Off-canvas close button v2.1 (2026-07-21): after widening bbc646d it turned out to be a COLUMN flex, so the logo centered in the full-width row while the absolute X stayed top-right = misaligned. Force row layout, logo left, X vertically centered on the same line. ===== */
.elementor-element-2d5fa15c .elementor-element-bbc646d{ flex-direction:row !important; align-items:center !important; justify-content:flex-start !important; }
.elementor-element-2d5fa15c .elementor-element-55bdc20{ text-align:left !important; }
.elementor-element-2d5fa15c .elementor-element-f32d5be{ top:50% !important; bottom:auto !important; transform:translateY(-50%) !important; }

/* ===== TM — H2 heading letter-spacing: match tablet/mobile to desktop (2026-07-21) ===== */

@media (max-width:1024px) {
  h2{ letter-spacing:-0.25px !important; }
}

/* ===== TM — Off-canvas: custom brand scrollbar (2026-07-22) ===== */
.elementor-element-2d5fa15c .e-off-canvas__content,
.elementor-element-2d5fa15c .e-off-canvas__main,
.elementor-element-2d5fa15c .e-off-canvas__content *{
  scrollbar-width:thin !important;
  scrollbar-color:#F57B20 rgba(255,255,255,.10) !important;
}
.elementor-element-2d5fa15c .e-off-canvas__content::-webkit-scrollbar,
.elementor-element-2d5fa15c .e-off-canvas__main::-webkit-scrollbar,
.elementor-element-2d5fa15c .e-off-canvas__content *::-webkit-scrollbar{
  width:6px !important;
  height:6px !important;
}
.elementor-element-2d5fa15c .e-off-canvas__content::-webkit-scrollbar-track,
.elementor-element-2d5fa15c .e-off-canvas__main::-webkit-scrollbar-track,
.elementor-element-2d5fa15c .e-off-canvas__content *::-webkit-scrollbar-track{
  background:rgba(255,255,255,.08) !important;
  border-radius:999px !important;
  margin:8px 0 !important;
}
.elementor-element-2d5fa15c .e-off-canvas__content::-webkit-scrollbar-thumb,
.elementor-element-2d5fa15c .e-off-canvas__main::-webkit-scrollbar-thumb,
.elementor-element-2d5fa15c .e-off-canvas__content *::-webkit-scrollbar-thumb{
  background:#F57B20 !important;
  border-radius:999px !important;
}
.elementor-element-2d5fa15c .e-off-canvas__content::-webkit-scrollbar-thumb:hover,
.elementor-element-2d5fa15c .e-off-canvas__main::-webkit-scrollbar-thumb:hover,
.elementor-element-2d5fa15c .e-off-canvas__content *::-webkit-scrollbar-thumb:hover{
  background:#e06a12 !important;
}
.elementor-element-2d5fa15c .e-off-canvas__content::-webkit-scrollbar-corner,
.elementor-element-2d5fa15c .e-off-canvas__main::-webkit-scrollbar-corner{
  background:transparent !important;
}