@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@400;500;600;700;800&display=swap');

/* keep: grids render instantly */
.products .product, .dt-css-grid .wf-cell, .animate-element, .the7-animated { opacity:1 !important; visibility:visible !important; transform:none !important; animation:none !important; }

/* ===== LIFEFORCE MONOCHROME ===== */
:root { --bg:#FFFFFF; --ink:#111214; --ink2:#2A2C2E; --soft:#6B6F72; --line:#E7E8EA; --tint:#F5F6F7; }

body, #page, #main { background:var(--bg) !important; }
body { color:var(--ink); }
body, p, li, td, th, input, select, textarea, label, .woocommerce, .dt-btn, .main-nav a { font-family:'Archivo','Segoe UI',sans-serif !important; }
h1,h2,h3,h4,h5,h6 { font-family:'Archivo',sans-serif !important; font-weight:700 !important; font-style:normal !important; letter-spacing:-0.01em; color:var(--ink); }

/* header */
.header-bar { background:#fff !important; border-bottom:1px solid var(--line); position:relative; }
.masthead.classic-header .mini-widgets { position:static !important; }
.text-area.in-top-bar-left, .header-bar .text-area { font-family:'Archivo',sans-serif !important; font-weight:800 !important; font-size:24px !important; letter-spacing:-0.02em; color:var(--ink) !important; position:absolute !important; left:50% !important; top:16px !important; transform:translateX(-50%); width:auto !important; margin:0 !important; }
.branding img, .mobile-branding img, .mini-widgets img, .header-bar .text-area img { display:none !important; }
.fa-canadian-maple-leaf { display:none !important; }
.main-nav a { font-weight:600 !important; font-size:13px; letter-spacing:.1em; color:var(--ink) !important; }
.main-nav a:hover, .main-nav .act a { color:var(--soft) !important; }
.header-bar .searchform input, .header-bar input[type='text'] { border:none !important; border-bottom:1px solid var(--line) !important; border-radius:0 !important; background:transparent !important; font-size:13px; padding:6px 4px; box-shadow:none !important; }
.header-bar .soc-ico a { opacity:.45; } .header-bar .soc-ico a:hover { opacity:1; }
.mini-widgets .mini-nav a { font-size:12px; letter-spacing:.04em; }

/* ticker */
.woocommerce-store-notice, p.demo_store { background:#111214 !important; color:#fff !important; padding:7px 0 !important; font-size:0 !important; overflow:hidden; white-space:nowrap; }
.woocommerce-store-notice::before { content:'Free local delivery in Fort McMurray  •  Orders $50+ our side of the bridge  •  $75+ across the bridge  •  Free in-store pickup'; font-size:12.5px; font-family:'Archivo',sans-serif; letter-spacing:.04em; display:inline-block; padding-left:100%; animation:lfm 26s linear infinite; }
.woocommerce-store-notice__dismiss-link { display:none !important; }
@keyframes lfm { to { transform:translateX(-100%);} }
@media (prefers-reduced-motion: reduce){ .woocommerce-store-notice::before { animation:none; padding-left:0; } .woocommerce-store-notice { text-align:center; } }

/* links, buttons, prices */
#content a { color:var(--ink); text-decoration-color:var(--line); }
#content a:hover { color:var(--soft); }
.dt-btn, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button, button[type='submit'], input[type='submit'] { background:var(--ink) !important; color:#fff !important; border:none !important; border-radius:8px !important; font-weight:600 !important; letter-spacing:.02em; }
.dt-btn:hover, .woocommerce a.button:hover, .woocommerce button.button:hover, button[type='submit']:hover, input[type='submit']:hover { background:var(--ink2) !important; color:#fff !important; }
.dt-btn span { color:#fff !important; }
a.dt-btn.lf-btn-ghost, .lf-btn-ghost { background:transparent !important; border:1.5px solid #fff !important; }
.woocommerce .price, .woocommerce span.amount, .price .amount { color:var(--ink) !important; font-weight:700; font-variant-numeric:tabular-nums; }

/* products & tiles */
.woocommerce ul.products li.product { background:transparent; border:none; padding:0 12px; }
h4.entry-title, .woocom-list-content .entry-title { font-family:'Archivo',sans-serif !important; font-weight:600 !important; font-style:normal !important; font-size:15px !important; }
h4.entry-title a { font-style:normal !important; color:var(--ink) !important; }
.lf-cat-row .wpb_single_image img { max-width:220px; height:180px; width:auto; object-fit:contain; }
.wpb_singleimage_heading { font-family:'Archivo',sans-serif !important; font-size:15px !important; font-weight:600 !important; letter-spacing:.02em; margin-bottom:6px !important; }
.tinv-wishlist a, .tinvwl_add_to_wishlist_button { font-size:12px !important; color:var(--soft) !important; }
.vc_sep_line { border-color:var(--line) !important; }
.vc_text_separator div { color:var(--soft); }

/* accordions */
.vc_tta-color-vista-blue.vc_tta-style-modern .vc_tta-panel .vc_tta-panel-heading { background-color:var(--tint) !important; border-color:var(--line) !important; }
.vc_tta-color-vista-blue.vc_tta-style-modern .vc_tta-panel .vc_tta-panel-heading a { color:var(--ink) !important; }
.vc_tta-color-vista-blue.vc_tta-style-modern .vc_tta-panel.vc_tta-panel-active .vc_tta-panel-heading { background-color:var(--ink) !important; }
.vc_tta-color-vista-blue.vc_tta-style-modern .vc_tta-panel.vc_tta-panel-active .vc_tta-panel-heading a { color:#fff !important; }
.vc_tta-color-vista-blue.vc_tta-style-modern .vc_tta-panel .vc_tta-panel-body { background:#fff !important; border:1px solid var(--line) !important; }

/* forms */
input[type='text'], input[type='email'], input[type='tel'], textarea, select { background:#fff; border:1px solid var(--line) !important; border-radius:8px !important; }
.wpcf7 label { display:block; font-weight:600; margin-bottom:14px; }
.wpcf7 input:not([type='submit']), .wpcf7 select, .wpcf7 textarea { width:100%; padding:10px 12px; margin-top:5px; }
.wpcf7 input[type='submit'] { padding:12px 26px; cursor:pointer; width:auto; }
.wpcf7 form .wpcf7-response-output { border-color:var(--ink); border-radius:8px; }

/* service cards */
.lf-svc { border:1px solid var(--line); border-radius:14px; padding:26px 28px; }
.lf-svc h3 { margin:0 0 2px; font-size:20px; }
.lf-svc-meta { color:var(--ink) !important; font-weight:700; font-size:14px; margin:0 0 10px !important; }
.lf-svc p { color:var(--soft); font-size:15px; line-height:1.6; }
.lf-svc-btn { display:inline-block; background:var(--ink); color:#fff !important; border-radius:8px; padding:10px 20px; font-weight:600; font-size:14px; }
.lf-svc-btn:hover { background:var(--ink2); }
.lf-svc details { margin:6px 0 10px; }
.lf-svc summary { cursor:pointer; font-weight:600; font-size:14px; color:var(--ink); }
.lf-svc table td { padding:3px 8px; font-size:13px; color:var(--soft); border-bottom:1px solid var(--line); }
.lf-book { max-width:640px; margin:0 auto; }
.lf-svc-note { text-align:center; color:var(--soft); font-size:13px; max-width:720px; margin:0 auto; }

/* shop sidebar */
.lf-shopnav h3 { font-size:17px; margin-bottom:10px; }
.lf-cats { list-style:none; padding:0; margin:0; }
.lf-cats li { border-bottom:1px solid var(--line); }
.lf-cats a { display:block; padding:10px 2px; font-weight:600; color:var(--ink) !important; font-size:14.5px; }
.lf-cats a:hover { color:var(--soft) !important; }
.widget_product_categories ul { list-style:none; padding:0; margin:0; }
.widget_product_categories li { border-bottom:1px solid var(--line); }
.widget_product_categories a { display:block; padding:9px 2px; font-weight:600; color:var(--ink) !important; font-size:14px; }

/* person cards + values */
.lf-person { text-align:center; border:1px solid var(--line); border-radius:14px; padding:28px 22px; }
.lf-person img { border-radius:50%; width:150px; height:150px; object-fit:cover; margin:0 auto 14px; display:block; }
.lf-person h3 { margin:0 0 2px; font-size:19px; }
.lf-person .role { color:var(--soft) !important; font-weight:600; font-size:12px; letter-spacing:.08em; text-transform:uppercase; margin:0 0 10px !important; }
.lf-person .bio { color:var(--soft); font-size:14.5px; line-height:1.6; }
.lf-val { text-align:center; padding:0 10px; }
.lf-val h4 { font-size:15px; margin:0 0 4px; }
.lf-val p { color:var(--soft); font-size:13.5px; }

/* contact */
.lf-cinfo p { font-size:15px; margin-bottom:14px; }
.lf-cinfo strong { font-size:12.5px; letter-spacing:.07em; text-transform:uppercase; color:var(--soft); }
.lf-form-h { font-size:19px; margin-bottom:12px; }

/* footer — light */
.footer.solid-bg { background:var(--tint) !important; border-top:1px solid var(--line); }
.footer, .footer p, .footer li { color:#3E4144 !important; font-size:15px; }
.footer a { color:var(--ink) !important; } .footer a:hover { color:var(--soft) !important; }
.footer .widget-title, .footer h3 { color:var(--ink) !important; }
.lf-foot-name { font-size:19px !important; margin-bottom:4px; }
.lf-foot-tag { color:var(--soft) !important; font-size:14px !important; margin-bottom:16px; }
.lf-d { margin:6px 0; border-bottom:1px solid rgba(0,0,0,.09); padding-bottom:10px; }
.lf-d summary { cursor:pointer; font-weight:700; color:var(--ink); font-size:16px; padding:6px 0; }
.lf-d[open] summary { color:var(--soft); }
.lf-foot-links { list-style:none; padding:0; margin:16px 0 4px; }
.lf-foot-links li { margin:8px 0; }
.lf-foot-links a { font-size:16px; font-weight:600; }
.lf-foot-mini a { font-size:13px !important; color:#8A8E91 !important; }
.lf-foot-soc { margin-top:14px; } .lf-foot-soc a { font-weight:700; }
#sb_instagram .sbi_caption { color:#3E4144 !important; }
#sb_instagram .sbi_expand a, .sbi_expand a, #sb_instagram .sbi_meta { color:var(--ink) !important; }
#sb_instagram #sbi_load .sbi_load_btn, .sbi_follow_btn a { background:var(--ink) !important; color:#fff !important; border-radius:8px !important; }
#bottom-bar { background:#EDEEEF !important; } #bottom-bar, #bottom-bar a { color:#6B6F72 !important; font-size:12px; }

/* mobile */
@media (max-width:767px){
  .mobile-mini-widgets .soc-ico, .mobile-header-bar .soc-ico { display:none !important; }
  .mobile-branding a::before { content:'LifeForce Herbal Healing'; font-family:'Archivo',sans-serif; font-weight:800; font-size:18px; color:var(--ink); }
  .lf-cat-row .wpb_column { width:50% !important; float:left !important; }
  .lf-cat-row .wpb_single_image img { max-width:130px; height:110px; }
  .wpb_singleimage_heading { font-size:13px !important; }
}

/* ===== v5: consistency + mobile + footer ===== */
.uvc-heading, .uvc-heading div, .uvc-heading span, .uvc-sub-heading, .ult-responsive { font-family:'Archivo',sans-serif !important; }
body { font-variant-numeric: lining-nums; }
span.menu-line { background:#111214 !important; }
.mobile-branding a::before { content:none !important; }
.mobile-branding a.same-logo::before { content:'LifeForce Herbal Healing'; font-family:'Archivo',sans-serif; font-weight:800; font-size:18px; color:#111214; }
@media (max-width:767px){
  .masthead .mini-widgets, .header-bar .text-area, .masthead .soc-ico { display:none !important; }
}
.footer .wf-container > .widget, .footer .widget { width:100% !important; max-width:100% !important; float:none !important; }
.lf-foot { max-width:680px; margin:0 auto; text-align:center; }
.lf-foot-links { margin:16px 0 4px; }
.lf-foot-links li { display:inline-block; margin:4px 12px; }
.lf-d { border-bottom:none; padding-bottom:2px; }
.footer .widget-title { text-align:center; }
body.tax-product_cat .page-title-breadcrumbs { text-align:center; padding:18px 0 0; }
body.tax-product_cat ol.breadcrumbs { display:block; }
body.tax-product_cat ol.breadcrumbs li { display:inline-block; font-size:13px; }
body.tax-product_cat ol.breadcrumbs li:last-child { display:block; font-size:30px; font-weight:700; color:#111214; margin-top:2px; letter-spacing:-0.01em; }
body.tax-product_cat ol.breadcrumbs li:last-child span { font-size:30px !important; color:#111214 !important; font-weight:700; }
body.tax-product_cat ol.breadcrumbs li:not(:last-child) { display:none !important; }
body.tax-product_cat ol.breadcrumbs li:last-child::before, body.tax-product_cat ol.breadcrumbs li:last-child::after { content:none !important; display:none !important; }
body.tax-product_cat .page-title { text-align:center !important; }
body.tax-product_cat .page-title-breadcrumbs { float:none !important; }
.text-area.in-top-bar-left, .header-bar .text-area { font-weight:600 !important; font-size:22px !important; letter-spacing:0 !important; }
.mobile-branding a.same-logo::before { font-weight:600; }

/* v6: mobile title back (single source), hamburger ink, ticker never overlaps */
.mobile-branding a::before, .mobile-branding a.same-logo::before { content:none !important; }
@media (max-width:767px){
  .header-bar .text-area { display:block !important; position:static !important; transform:none !important; width:100% !important; text-align:center !important; font-size:17px !important; padding:10px 48px 8px !important; box-sizing:border-box; }
  .masthead .mini-widgets, .masthead .soc-ico { display:none !important; }
}
.lines-button, .lines-button *, .menu-line, .menu-line::before, .menu-line::after { background:#111214 !important; background-image:none !important; border-color:#111214 !important; color:#111214 !important; }
.dt-mobile-menu-icon { color:#111214 !important; }
.woocommerce-store-notice, p.demo_store { position:relative !important; z-index:3; }
.masthead, .mobile-header-bar { position:relative; z-index:2; }

/* ===== v7: gradient ground, premium buttons, footer v3, logo left, mobile hardening ===== */
body { background: linear-gradient(180deg, #FFFFFF 0%, #F3F2EF 100%) !important; }
#page, #main { background: transparent !important; }
.footer.solid-bg, #bottom-bar { background: transparent !important; border-top: 1px solid var(--line); }
* { -webkit-tap-highlight-color: rgba(0,0,0,0); }
:focus-visible { outline-color: #111214; }

.dt-btn, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button, button[type='submit'], input[type='submit'], .lf-svc-btn {
  background: linear-gradient(180deg, #2A2C2F 0%, #0D0E10 100%) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 2px 6px rgba(0,0,0,.18);
}
.dt-btn:hover, .woocommerce a.button:hover, .lf-svc-btn:hover { background: linear-gradient(180deg, #35383B 0%, #16171A 100%) !important; }

/* logo left + centered name */
.branding > a img, .branding > img { display:inline-block !important; height:42px !important; width:auto !important; }
.branding { min-height:0; }

/* footer v3 */
.lf-foot2 { max-width: 860px; margin: 0 auto; }
.lf-f-top { text-align:center; margin-bottom: 18px; }
.lf-f-grid { display:flex; justify-content:space-between; align-items:flex-end; gap:48px; text-align:left; }
.lf-f-left { flex:1; max-width: 420px; }
.lf-foot-links2 { list-style:none; padding:0; margin:12px 0 8px; }
.lf-foot-links2 li { margin:7px 0; }
.lf-foot-links2 a { font-size:15.5px; font-weight:600; }
.lf-mini { font-size:12.5px !important; color:#8A8E91 !important; font-weight:500 !important; }
.lf-f-right { text-align:right; }
.lf-f-visit { font-weight:700; font-size:16px; margin-bottom:2px; color:var(--ink) !important; }
.lf-f-addr { color:#5E6366 !important; font-size:14px; margin-bottom:12px; }
.lf-dir-btn { display:inline-block; padding:13px 26px; border-radius:10px; font-weight:700; font-size:14.5px; color:#fff !important;
  background: linear-gradient(180deg, #2A2C2F 0%, #0D0E10 100%);
  box-shadow: 0 8px 22px rgba(0,0,0,.30), 0 0 14px rgba(0,0,0,.12), inset 0 1px 0 rgba(255,255,255,.14);
  transition: transform .15s ease, box-shadow .15s ease; }
.lf-dir-btn:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(0,0,0,.36), 0 0 20px rgba(0,0,0,.16), inset 0 1px 0 rgba(255,255,255,.14); }
.footer { padding-top: 34px !important; padding-bottom: 10px !important; }

/* mobile hardening */
@media (max-width:767px){
  html body .masthead .header-bar .mini-widgets .text-area, html body .header-bar .text-area { display:block !important; position:static !important; transform:none !important; width:100% !important; text-align:center !important; font-size:17px !important; padding:8px 48px 6px !important; }
  .mobile-branding a.same-logo img { display:inline-block !important; height:34px !important; width:auto !important; }
  .lf-hero .vc_empty_space { height:34px !important; }
  .lf-f-grid { flex-direction:column; align-items:stretch; gap:20px; }
  .lf-f-right { text-align:left; }
}

/* ===== v8: mobile title container fix + hamburger max-specificity + sticky ===== */
html body .masthead .dt-mobile-menu-icon:not(.floating-btn) .menu-line, html body .masthead .dt-mobile-menu-icon:not(.floating-btn) .menu-line::before, html body .masthead .dt-mobile-menu-icon:not(.floating-btn) .menu-line::after, html body .masthead .dt-mobile-menu-icon:hover .menu-line { background:#111214 !important; background-color:#111214 !important; background-image:none !important; }
html body .dt-close-mobile-menu-icon span, html body .dt-close-mobile-menu-icon span::before, html body .dt-close-mobile-menu-icon span::after { background:#111214 !important; border-color:#111214 !important; }
.transparent .top-bar-bg { background:#111214 !important; }
@media (max-width:767px){
  html body .masthead .mini-widgets { display:block !important; }
  html body .masthead .mini-widgets > *:not(.text-area) { display:none !important; }
  html body .masthead .header-bar .mini-widgets .text-area { display:block !important; position:static !important; transform:none !important; width:100% !important; text-align:center !important; font-size:17px !important; padding:6px 46px !important; box-sizing:border-box; }
  .masthead.sticky-on, .phantom-sticky .masthead { background:#fff !important; box-shadow:0 1px 6px rgba(0,0,0,.08); }
}

/* v9: hamburger container transparent — only the 3 lines are ink */
html body .masthead .dt-mobile-menu-icon, html body .masthead .dt-mobile-menu-icon .lines-button, html body .lines-button { background:transparent !important; background-color:transparent !important; background-image:none !important; }
html body .masthead .dt-mobile-menu-icon .lines-button .menu-line { background:#111214 !important; }

/* v10: mobile title truly centered */
@media (max-width:767px){
  html body .masthead .header-bar { position:relative !important; min-height:54px; }
  html body .masthead .header-bar .mini-widgets .text-area { position:absolute !important; left:50% !important; top:50% !important; transform:translate(-50%,-50%) !important; width:max-content !important; max-width:72vw; padding:0 !important; font-size:16px !important; text-align:center !important; margin:0 !important; }
}

/* v11: ONE mobile bar — logo + name side by side, centered; blend out logo box */
.branding > a img, .branding > img, .mobile-branding img { mix-blend-mode:multiply; }
.branding > a img, .branding > img { height:46px !important; }
@media (max-width:767px){
  html body .masthead .header-bar .mini-widgets { display:none !important; }
  html body .masthead .header-bar .mini-widgets .text-area, html body .masthead .header-bar .text-area { display:none !important; }
  html body .masthead .header-bar { min-height:0 !important; }
  html body .mobile-header-bar { display:flex !important; align-items:center; justify-content:center; position:relative; min-height:58px; }
  html body .mobile-header-bar .mobile-navigation { position:absolute !important; right:14px; top:50%; transform:translateY(-50%); }
  html body .mobile-header-bar .mobile-mini-widgets { display:none !important; }
  html body .mobile-branding a:not(.same-logo) { display:none !important; }
  html body .mobile-branding a.same-logo { display:inline-flex !important; align-items:center; gap:10px; }
  html body .mobile-branding a.same-logo img { display:inline-block !important; height:44px !important; width:auto !important; }
  html body .mobile-branding a.same-logo::after { content:'LifeForce Herbal Healing'; font-family:'Archivo',sans-serif; font-weight:600; font-size:16px; color:#111214; white-space:nowrap; }
}

/* v12: kill ALL theme title-text copies on mobile (logo ::after is the only name) */
@media (max-width:767px){
  html body .text-area, html body .mini-contacts { display:none !important; }
}

/* v13: hide title copies with EXACT same selectors as earlier show-rules (specificity duel fix) */
@media (max-width:767px){
  html body .masthead .header-bar .mini-widgets .text-area,
  html body .masthead .header-bar .text-area,
  html body .masthead .mini-widgets,
  html body .masthead .header-bar .mini-widgets,
  html body .header-bar .text-area,
  html body .text-area.in-top-bar-left,
  html body .masthead .header-bar { display:none !important; }
}

/* v14: bigger mobile logo, no underline on name */
@media (max-width:767px){
  html body .mobile-branding a.same-logo img { height:56px !important; }
  html body .mobile-branding a.same-logo, html body .mobile-branding a.same-logo:hover { text-decoration:none !important; border-bottom:none !important; box-shadow:none !important; }
  html body .mobile-branding a.same-logo::after { text-decoration:none !important; border-bottom:none !important; }
}

/* v15: product photos float (blend), full-page gradient */
html { background: linear-gradient(180deg, #FFFFFF 0%, #EFEDE8 100%) !important; }
body, #page, #main, #content, .wf-container-main, .page-inner { background: transparent !important; }
.woocommerce ul.products li.product img,
.woocom-list-content img,
.single-product .woocommerce-product-gallery img,
.lf-cat-row .wpb_single_image img,
.dt-owl-item .woocom-list-content img,
.related.products img, .products img { mix-blend-mode: multiply; }
.footer.solid-bg, #bottom-bar { background: transparent !important; }

/* v16: mini-nav font + the REAL add-to-cart selectors (The7 strips .button class) */
.mini-nav a, .mini-nav li, .mini-widgets a, .mini-widgets li { font-family:'Archivo','Segoe UI',sans-serif !important; font-size:12.5px !important; color:#111214 !important; }
a.add_to_cart_button, a[class*='product_type_'], .woocommerce-loop-add-to-cart-link, .woo-buttons a, a.added_to_cart {
  font-family:'Archivo','Segoe UI',sans-serif !important;
  font-size:13px !important;
  font-weight:600 !important;
  color:#FFFFFF !important;
  background: linear-gradient(180deg, #2A2C2F 0%, #0D0E10 100%) !important;
  border:none !important;
  border-radius:8px !important;
  padding:10px 18px !important;
  display:inline-block;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 2px 6px rgba(0,0,0,.18);
}
a.add_to_cart_button:hover, a[class*='product_type_']:hover, .woo-buttons a:hover { color:#FFFFFF !important; background: linear-gradient(180deg, #35383B 0%, #16171A 100%) !important; }
a.add_to_cart_button *, a[class*='product_type_'] * { color:#FFFFFF !important; }

/* v17: top strip (My account / Order tracking) white with ink links */
#top-bar, .top-bar, .top-bar-bg, .transparent .top-bar-bg { background:#FFFFFF !important; background-image:none !important; }
#top-bar { border-bottom:1px solid #E7E8EA; }
#top-bar a, .top-bar a, .mini-nav .menu-item a { color:#111214 !important; }

/* ===== v18: custom sticky header + glowing CTA + fade-ins + MASTER buttons ===== */
/* master button rule: one font, one color, one gradient — everywhere */
.dt-btn, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
button[type='submit'], input[type='submit'], .wpcf7 input[type='submit'],
a.add_to_cart_button, a[class*='product_type_'], .woocommerce-loop-add-to-cart-link, .woo-buttons a, a.added_to_cart,
.single_add_to_cart_button, a.checkout-button, .woocommerce-message .button, #respond input#submit,
.lf-svc-btn, .lf-dir-btn, .lf-cta-float {
  font-family:'Archivo','Segoe UI',sans-serif !important;
  font-weight:600 !important;
  color:#FFFFFF !important;
  background: linear-gradient(180deg, #2A2C2F 0%, #0D0E10 100%) !important;
  border:none !important;
  border-radius:8px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 2px 6px rgba(0,0,0,.18);
  letter-spacing:.02em;
}
.dt-btn:hover, .woocommerce a.button:hover, button[type='submit']:hover, input[type='submit']:hover,
a.add_to_cart_button:hover, a[class*='product_type_']:hover, .single_add_to_cart_button:hover,
.lf-svc-btn:hover, .lf-dir-btn:hover, .lf-cta-float:hover {
  background: linear-gradient(180deg, #35383B 0%, #16171A 100%) !important;
  color:#FFFFFF !important;
}

/* sticky header on scroll: logo stays, words fade */
.header-bar .text-area, .mobile-branding a.same-logo::after { transition: opacity .35s ease; }
body.lf-scrolled .masthead { position:fixed !important; top:0; left:0; right:0; z-index:1100; background:#fff !important; box-shadow:0 2px 16px rgba(0,0,0,.09); }
body.admin-bar.lf-scrolled .masthead { top:32px; }
body.lf-scrolled .header-bar .text-area { opacity:0 !important; pointer-events:none; }
body.lf-scrolled .mobile-branding a.same-logo::after { opacity:0; }

/* glowing 3D CTA */
.lf-cta-float { position:fixed; top:14px; right:18px; z-index:1200; padding:12px 22px; font-size:14px !important;
  opacity:0; transform:translateY(-10px); pointer-events:none;
  transition: opacity .35s ease, transform .35s ease; text-decoration:none !important; }
body.admin-bar .lf-cta-float { top:46px; }
body.lf-scrolled .lf-cta-float { opacity:1; transform:none; pointer-events:auto; animation:lfglow 2.8s ease-in-out infinite; }
body.lf-scrolled .lf-cta-float:hover { transform:translateY(-2px); }
@keyframes lfglow {
  0%,100% { box-shadow: 0 8px 24px rgba(0,0,0,.32), 0 0 14px rgba(0,0,0,.14), inset 0 1px 0 rgba(255,255,255,.14); }
  50% { box-shadow: 0 10px 30px rgba(0,0,0,.44), 0 0 28px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.2); }
}
@media (max-width:767px){
  .lf-cta-float { top:auto !important; bottom:18px; right:16px; transform:translateY(10px); }
  body.lf-scrolled .lf-cta-float { transform:none; }
}

/* scroll fade-ins (JS adds .lf-anim; nothing hidden without JS) */
.lf-anim { opacity:0; transform:translateY(16px); transition: opacity .55s ease, transform .55s ease; }
.lf-anim.lf-in { opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce){ .lf-anim { opacity:1 !important; transform:none !important; } .lf-cta-float { animation:none !important; } }

/* burger polish */
.dt-mobile-menu-icon .menu-line { border-radius:2px; transition: transform .25s ease, opacity .2s ease; }
.dt-mobile-menu-icon:hover .lines-button { transform:scale(1.06); transition:transform .2s ease; }

/* ===== v19: CREAM buttons — gradient, thin black border, ink text ===== */
.dt-btn, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
button[type='submit'], input[type='submit'], .wpcf7 input[type='submit'],
a.add_to_cart_button, a[class*='product_type_'], .woocommerce-loop-add-to-cart-link, .woo-buttons a, a.added_to_cart,
.single_add_to_cart_button, a.checkout-button, .woocommerce-message .button, #respond input#submit,
.lf-svc-btn, .lf-dir-btn, .lf-cta-float {
  background: linear-gradient(180deg, #FDFCF8 0%, #ECE8DF 100%) !important;
  color:#111214 !important;
  border:1px solid #111214 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.85), 0 2px 6px rgba(0,0,0,.10);
}
.dt-btn:hover, .woocommerce a.button:hover, button[type='submit']:hover, input[type='submit']:hover,
a.add_to_cart_button:hover, a[class*='product_type_']:hover, .single_add_to_cart_button:hover,
.lf-svc-btn:hover, .lf-dir-btn:hover, .lf-cta-float:hover {
  background: linear-gradient(180deg, #F6F3EC 0%, #E1DBCE 100%) !important;
  color:#111214 !important;
}
.dt-btn span, a.add_to_cart_button *, a[class*='product_type_'] * { color:#111214 !important; }
/* hero ghost button stays white-outline on the photo */
a.dt-btn.lf-btn-ghost { background:transparent !important; border:1.5px solid #fff !important; }
a.dt-btn.lf-btn-ghost span, .lf-btn-ghost span { color:#fff !important; }
/* CTA glow tuned for cream */
@keyframes lfglow {
  0%,100% { box-shadow: inset 0 1px 0 rgba(255,255,255,.85), 0 6px 18px rgba(0,0,0,.22), 0 0 10px rgba(0,0,0,.10); }
  50% { box-shadow: inset 0 1px 0 rgba(255,255,255,.85), 0 10px 26px rgba(0,0,0,.30), 0 0 22px rgba(0,0,0,.18); }
}

/* ===== v20: Prevail-style header — always sticky, CTA fades in top-right IN the bar ===== */
.masthead { position: -webkit-sticky !important; position: sticky !important; top: 0 !important; left:auto !important; right:auto !important; z-index: 1100; background:#fff !important; transition: box-shadow .3s ease; }
body.admin-bar .masthead { top: 32px !important; }
body.lf-scrolled .masthead { position: sticky !important; box-shadow: 0 2px 16px rgba(0,0,0,.09); }
body.lf-scrolled { padding-top: 0 !important; }

/* the old floating CTA is retired */
.lf-cta-float { display: none !important; }

/* in-header CTA */
.masthead .header-bar, .masthead .mobile-header-bar { position: relative; }
.lf-cta-head { position:absolute; right:20px; top:50%; transform:translateY(-50%) scale(.96); opacity:0; pointer-events:none;
  padding:10px 18px; border-radius:10px; font-family:'Archivo',sans-serif !important; font-weight:600; font-size:13.5px;
  color:#111214 !important; text-decoration:none !important; white-space:nowrap;
  background: linear-gradient(180deg, #FDFCF8 0%, #ECE8DF 100%);
  border:1px solid #111214;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.85), 0 2px 6px rgba(0,0,0,.10);
  transition: opacity .3s ease, transform .3s ease; z-index: 20; }
body.lf-scrolled .lf-cta-head { opacity:1; transform:translateY(-50%) scale(1); pointer-events:auto; animation: lfglow 2.8s ease-in-out infinite; }
body.lf-scrolled .lf-cta-head:hover { transform:translateY(-50%) scale(1.03); }
/* wordmark and search yield to the CTA when scrolled */
body.lf-scrolled .header-bar .mini-widgets { opacity:0; pointer-events:none; transition:opacity .3s ease; }
.header-bar .mini-widgets { transition:opacity .3s ease; }
@media (max-width:767px){
  .mobile-header-bar .lf-cta-head { right:64px; padding:8px 14px; font-size:12.5px; }
  .header-bar .lf-cta-head { display:none; }
}
@media (min-width:768px){ .mobile-header-bar .lf-cta-head { display:none; } }
@media (prefers-reduced-motion: reduce){ .lf-cta-head { animation:none !important; } }

/* v21: #page overflow:hidden breaks sticky (body is the scroller) — release it */
#page { overflow: visible !important; }

/* ===== v22: LF CUSTOM HEADER — theme header retired ===== */
#page { overflow: hidden !important; }
.masthead, .woocommerce-store-notice, p.demo_store { display:none !important; }

#lf-header { position:fixed; top:0; left:0; right:0; z-index:99990; font-family:'Archivo',sans-serif; }
#lf-ticker { background:#111214; color:#fff; overflow:hidden; height:30px; display:flex; align-items:center; }
.lf-ticker-track { display:flex; white-space:nowrap; animation: lftick 40s linear infinite; }
.lf-ticker-track span { font-size:12.5px; letter-spacing:.04em; padding-right:8px; }
@keyframes lftick { to { transform: translateX(-50%); } }
#lf-bar { position:relative; display:flex; align-items:center; gap:26px; height:62px; background:#fff; border-bottom:1px solid #E7E8EA; padding:0 22px; box-shadow:none; transition: box-shadow .3s ease; }
body.lf-scrolled #lf-bar { box-shadow: 0 2px 16px rgba(0,0,0,.09); }
#lf-logo { display:flex; align-items:center; gap:10px; text-decoration:none !important; }
#lf-logo img { height:40px; width:auto; mix-blend-mode:multiply; }
#lf-name { font-weight:600; font-size:18px; color:#111214; letter-spacing:-0.01em; white-space:nowrap; transition: opacity .3s ease; }
body.lf-scrolled #lf-name { opacity:0; }
#lf-nav { display:flex; gap:22px; margin-left:auto; margin-right:8px; }
#lf-nav a { font-size:13px; font-weight:600; letter-spacing:.09em; text-transform:uppercase; color:#111214 !important; text-decoration:none !important; }
#lf-nav a:hover { color:#6B6F72 !important; }
#lf-cta { padding:10px 18px; border-radius:10px; font-weight:600; font-size:13.5px; color:#111214 !important; text-decoration:none !important; white-space:nowrap;
  background: linear-gradient(180deg, #FDFCF8 0%, #ECE8DF 100%); border:1px solid #111214;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.85), 0 2px 6px rgba(0,0,0,.10);
  opacity:0; transform:scale(.95); pointer-events:none; transition: opacity .3s ease, transform .3s ease; }
body.lf-scrolled #lf-cta { opacity:1; transform:scale(1); pointer-events:auto; animation: lfglow 2.8s ease-in-out infinite; }
#lf-burger { display:none; background:none; border:none; cursor:pointer; padding:10px; margin-left:4px; }
#lf-burger span { display:block; width:24px; height:2.5px; background:#111214; border-radius:2px; margin:5px 0; transition: transform .25s ease, opacity .2s ease; }
.lf-menu-open #lf-burger span:nth-child(1) { transform: translateY(7.5px) rotate(45deg); }
.lf-menu-open #lf-burger span:nth-child(2) { opacity:0; }
.lf-menu-open #lf-burger span:nth-child(3) { transform: translateY(-7.5px) rotate(-45deg); }
#lf-menu { position:fixed; inset:0; background:#fff; z-index:99980; opacity:0; pointer-events:none; transition:opacity .25s ease; overflow-y:auto; }
.lf-menu-open #lf-menu { opacity:1; pointer-events:auto; }
.lf-menu-in { padding:130px 30px 40px; max-width:480px; margin:0 auto; display:flex; flex-direction:column; }
.lf-m-main { font-size:24px; font-weight:700; color:#111214 !important; text-decoration:none !important; padding:10px 0; }
.lf-m-label { font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#6B6F72; margin:22px 0 6px; }
.lf-m-cat { font-size:16px; font-weight:600; color:#111214 !important; text-decoration:none !important; padding:7px 0; }
.lf-m-cta { margin-top:26px; text-align:center; padding:14px 22px; border-radius:10px; font-weight:700; color:#111214 !important; text-decoration:none !important;
  background: linear-gradient(180deg, #FDFCF8 0%, #ECE8DF 100%); border:1px solid #111214; }
.lf-m-contact { margin-top:18px; text-align:center; color:#6B6F72; font-size:14px; }
@media (max-width: 900px){
  #lf-nav { display:none; }
  #lf-burger { display:block; margin-left:auto; }
  #lf-cta { display:none; }
  #lf-bar { height:56px; gap:12px; }
  #lf-name { font-size:16px; }
  #lf-logo img { height:36px; }
}
@media (prefers-reduced-motion: reduce){ .lf-ticker-track { animation:none; } #lf-cta { animation:none !important; } }

/* v23: mobile CTA in the bar (compact), appears on scroll beside burger */
@media (max-width:900px){
  #lf-cta { display:block !important; position:absolute; right:62px; top:50%; font-size:0 !important; padding:9px 14px; transform:translateY(-50%) scale(.95); }
  #lf-cta::after { content:'Book now'; font-size:13px; font-weight:700; letter-spacing:.02em; }
  body.lf-scrolled #lf-cta { transform:translateY(-50%) scale(1); }
  body.lf-scrolled #lf-cta:hover { transform:translateY(-50%) scale(1.02); }
}

/* v24: burger menu — every item matches the category link style */
#lf-menu, #lf-menu * { font-family:'Archivo','Segoe UI',sans-serif !important; }
.lf-m-main { font-size:16px !important; font-weight:600 !important; padding:8px 0 !important; }
.lf-m-cat { font-size:16px !important; font-weight:600 !important; }
.lf-m-cta { font-size:16px !important; font-weight:600 !important; }
.lf-m-contact, .lf-m-contact a { font-size:14px !important; font-weight:500 !important; }

/* v25: burger menu — everything matches the "Home" link style (24px bold) */
.lf-m-main { font-size:24px !important; font-weight:700 !important; padding:10px 0 !important; }
.lf-m-cat { font-size:24px !important; font-weight:700 !important; padding:10px 0 !important; }
.lf-m-cta { font-size:18px !important; font-weight:700 !important; }

/* v26: kill excess padding — burger menu top + hero spacers */
.lf-menu-in { padding-top: 96px !important; }
@media (max-width:900px){ .lf-menu-in { padding-top: 88px !important; } }
.lf-hero .vc_empty_space { height: 44px !important; }
@media (max-width:767px){ .lf-hero .vc_empty_space { height: 16px !important; } }

/* v27: burger contact line — force Archivo at max specificity (tel links get themed otherwise) */
html body #lf-menu, html body #lf-menu *, html body #lf-menu a, html body #lf-menu a[href^='tel'],
html body .lf-m-contact, html body .lf-m-contact a { font-family:'Archivo','Segoe UI',sans-serif !important; }
html body .lf-m-contact, html body .lf-m-contact a { font-size:15px !important; font-weight:600 !important; color:#111214 !important; text-decoration:none !important; }

/* v28: CTA takes the wordmark's place (centered across the bar); logo fades at stage 2 */
#lf-cta { right:auto !important; left:50% !important; top:50% !important; transform:translate(-50%,-50%) scale(.95) !important; }
body.lf-scrolled #lf-cta { transform:translate(-50%,-50%) scale(1) !important; }
body.lf-scrolled #lf-cta:hover { transform:translate(-50%,-50%) scale(1.03) !important; }
@media (max-width:900px){
  #lf-cta { font-size:13px !important; padding:9px 18px; }
  #lf-cta::after { content:none !important; }
}
#lf-logo img { transition: opacity .35s ease; }
body.lf-scrolled2 #lf-logo img { opacity:0; }

/* v29: logo + wordmark fade together at the single threshold */
body.lf-scrolled #lf-logo img { opacity:0; }
body.lf-scrolled2 #lf-logo img { opacity:0; }

/* v30: kill theme's leftover header offset (white box above hero) + center logo/name on mobile */
#page, #main, .page-inner, .wf-container-main, #content { padding-top:0 !important; margin-top:0 !important; }
@media (max-width:900px){
  #lf-logo { position:absolute !important; left:50% !important; top:50% !important; transform:translate(-50%,-50%) !important; }
}