/* /src/shared/luxthemes-blocks.css */

/* Animated Headline Block Styles */
.luxthemes-animated-headline-block {
  margin-bottom: 12px;
}
.luxthemes-animated-headline-text {
  display: inline-block;
}

/* Common Form Field Styles */
.form-field {
  margin-bottom: 12px;
}
.form-field label {
  display: block;
  font-weight: bold;
  margin-bottom: 4px;
}
.form-field input,
.form-field select,
.form-field textarea {
  width: 100%;
  padding: 8px;
  border: 1px solid #ccc;
  border-radius: 4px;
}
/* ---- Behaviour styles (see src/runtime/behaviors.js) ---- */
[hidden] { display: none !important; }

/* Reveal on scroll: progress bars fill, timelines fade up. */
.luxthemes-progress-block[data-lx-reveal] .bar-fill { transform: scaleX(0); transform-origin: left center; transition: transform 1.2s ease; }
.luxthemes-progress-block[data-lx-reveal].lx-in-view .bar-fill { transform: scaleX(1); }
.luxthemes-timeline-block[data-lx-reveal] { opacity: 0; transform: translateY(24px); transition: opacity .7s ease, transform .7s ease; }
.luxthemes-timeline-block[data-lx-reveal].lx-in-view { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .luxthemes-progress-block[data-lx-reveal] .bar-fill,
  .luxthemes-timeline-block[data-lx-reveal] { transition: none; transform: none; opacity: 1; }
}

/* Pricing table monthly / yearly switch */
.lx-pricing-switch { display: inline-flex; border: 1px solid currentColor; border-radius: 999px; overflow: hidden; margin: 0 auto 16px; }
.lx-pricing-switch button { border: 0; background: transparent; color: inherit; font: inherit; padding: 6px 16px; cursor: pointer; }
.lx-pricing-switch button[aria-pressed="true"] { background: #1d2327; color: #fff; }

/* Table of contents levels */
[data-lx-toc] ul { list-style: none; padding-left: 0; }
[data-lx-toc] li { margin-bottom: 5px; }
[data-lx-toc] .lx-toc-h3 { padding-left: 12px; }
[data-lx-toc] .lx-toc-h4 { padding-left: 24px; }
[data-lx-toc] a { text-decoration: none; }

/* Accordion & tab headers are buttons: keep a visible keyboard focus. */
.accordion-header:focus-visible, .tab-header:focus-visible, .luxthemes-accordion-header:focus-visible { outline: 2px solid #0b6bcb; outline-offset: 2px; }
.tab-header[aria-selected="true"] { font-weight: 700; box-shadow: inset 0 -2px 0 currentColor; }

/* ---- Shop blocks (WooCommerce) ---- */
.lx-woo-grid{list-style:none;margin:0;padding:0;display:grid;gap:var(--lx-gap,20px);grid-template-columns:repeat(var(--lx-cols,4),minmax(0,1fr))}
@media(max-width:900px){.lx-woo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.lx-woo-grid{grid-template-columns:1fr}}
.lx-woo-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.lx-woo-list .lx-woo-card{display:grid;grid-template-columns:120px 1fr;gap:4px 14px;align-items:start}
.lx-woo-list .lx-woo-media{grid-row:span 3}
.lx-woo-card{position:relative;margin:0}
.lx-woo-media{display:block;position:relative}
.lx-woo-media img{width:100%;height:auto;display:block}
.lx-woo-badges{position:absolute;top:8px;left:8px;display:flex;gap:4px}
.lx-woo-badge{font-size:12px;font-weight:600;padding:2px 8px;border-radius:999px;background:#1d2327;color:#fff}
.lx-woo-badge-sale{background:#b32d2e}
.lx-woo-title{font-size:16px;margin:8px 0 4px}
.lx-woo-title a{color:inherit;text-decoration:none}
.lx-woo-price{margin-bottom:8px}
.lx-woo-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.lx-woo-hover .lx-woo-card{transition:transform .2s ease,box-shadow .2s ease}
.lx-woo-hover .lx-woo-card:hover{transform:translateY(-3px);box-shadow:0 6px 18px rgba(0,0,0,.12)}
.lx-woo-sticky-cart{position:fixed;right:20px;bottom:20px;z-index:999;background:#1d2327;color:#fff;padding:10px 16px;border-radius:999px;text-decoration:none;box-shadow:0 4px 14px rgba(0,0,0,.25)}
.lx-woo-carousel{position:relative}
.lx-woo-track{list-style:none;margin:0;padding:0;display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - (var(--lx-cols,3) - 1) * 16px) / var(--lx-cols,3));gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none}
.lx-woo-track::-webkit-scrollbar{display:none}
.lx-woo-track>li{scroll-snap-align:start}
@media(max-width:768px){.lx-woo-track{grid-auto-columns:80%}}
.lx-woo-arrow{position:absolute;top:35%;z-index:2;width:36px;height:36px;border-radius:50%;border:1px solid #ddd;background:#fff;cursor:pointer;color:var(--lx-arrow,#000)}
.lx-woo-prev{left:-10px}.lx-woo-next{right:-10px}
.lx-woo-dots{display:flex;justify-content:center;gap:6px;margin-top:10px}
.lx-woo-dots button{width:9px;height:9px;border-radius:50%;border:0;padding:0;background:var(--lx-dots,#000);opacity:.3;cursor:pointer}
.lx-woo-dots button[aria-current="true"]{opacity:1}
.lx-woo-filter{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));align-items:end}
.lx-woo-filter label{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:600}
.lx-woo-filter input,.lx-woo-filter select{padding:7px 9px}
.lx-woo-progress{height:8px;background:#eee;border-radius:999px;overflow:hidden;margin:6px 0 12px}
.lx-woo-progress span{display:block;height:100%;background:#1e7e34}
.lx-woo-pagination{display:flex;gap:10px;justify-content:center;margin-top:16px}

/* ---- Header, menus, mega menu, footer (inc/blocks/class-luxthemes-block-{header,megamenu,footer}.php,
        behaviour in src/runtime/navigation.js). Settings arrive as --lxh-*, --lxm-*, --lxf-* variables. ---- */
.lx-header .screen-reader-text, .lx-mega .screen-reader-text, .lx-footer .screen-reader-text, .lx-scroll-top .screen-reader-text {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.lx-icon { display: inline-block; vertical-align: middle; flex: none; }
html.lx-no-scroll { overflow: hidden; }

/* Header */
.lx-header {
  position: relative; z-index: 100; box-sizing: border-box;
  margin: var(--lxh-margin, 0);
  color: var(--lxh-text, #1d2327);
  font-family: var(--lxh-font, inherit); font-size: var(--lxh-size, inherit); font-weight: var(--lxh-weight, inherit);
  border-radius: var(--lxh-radius, 0); box-shadow: var(--lxh-shadow, none);
}
.lx-header *, .lx-header *::before, .lx-header *::after { box-sizing: border-box; }
.lx-header a { color: inherit; }
.lx-header-wrap { max-width: var(--lxh-max, 1200px); margin: 0 auto; padding: 0 16px; }
.lx-header.lx-full .lx-header-wrap { max-width: none; }
.lx-header-bar { position: relative; border-radius: inherit; }
.lx-header-bar::before { content: ""; position: absolute; inset: 0; background: var(--lxh-bg, #fff); opacity: var(--lxh-bg-opacity, 1); z-index: 0; pointer-events: none; }
.lx-header-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; border-radius: inherit; }
.lx-header-main, .lx-header-mobile { position: relative; z-index: 1; display: flex; flex-wrap: wrap; align-items: center; gap: 16px 24px; padding: var(--lxh-pad, 12px 16px); min-height: 56px; }
.lx-header-mobile { display: none; padding: var(--lxh-m-pad, 10px 16px); margin: var(--lxh-m-margin, 0); background: var(--lxh-m-bg, transparent); color: var(--lxh-m-text, inherit); font-size: var(--lxh-m-size, inherit); }
.lx-header-logo { display: inline-flex; align-items: center; text-decoration: none; flex: none; }
.lx-logo-img { display: block; width: var(--lxh-logo-w, auto); max-width: 100%; max-height: 80px; height: auto; transition: max-height .2s ease; }
.lx-logo-text { font-weight: 700; font-size: 1.25em; }
.lx-header-nav { flex: 1 1 auto; min-width: 0; }
.lx-header-actions, .lx-mobile-actions { display: flex; align-items: center; gap: 12px; flex: none; }
.lx-header-icon, .lx-menu-toggle, .lx-panel-close { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-width: 40px; min-height: 40px; padding: 4px; background: none; border: 0; color: inherit; cursor: pointer; text-decoration: none; position: relative; font: inherit; }
.lx-menu-toggle { color: var(--lxh-m-icon, inherit); }
.lx-cart-count { position: absolute; top: 2px; right: 0; min-width: 18px; height: 18px; padding: 0 4px; border-radius: 9px; background: #b32d2e; color: #fff; font-size: 11px; line-height: 18px; text-align: center; }
.lx-header-cta { display: inline-flex; align-items: center; gap: 6px; text-decoration: none; margin: var(--lxh-cta-margin, 0); }
.lx-cta-button { padding: var(--lxh-cta-pad, 10px 18px); background: var(--lxh-cta-bg, #1d2327); color: var(--lxh-cta-text, #fff) !important; border: var(--lxh-cta-border, 0); border-radius: var(--lxh-cta-radius, 4px); white-space: nowrap; }
.lx-cta-icon { min-width: 40px; min-height: 40px; justify-content: center; color: var(--lxh-cta-bg, inherit); }
.lx-header-note { margin: 0; font-size: 13px; opacity: .7; }
.lx-header :focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }

/* Layouts */
.lx-layout-logo-left-menu-right .lx-header-nav { display: flex; justify-content: flex-end; }
.lx-layout-logo-right-menu-left .lx-header-logo { margin-left: auto; order: 3; }
.lx-layout-logo-right-menu-left .lx-header-actions { order: 2; }
.lx-layout-logo-center-menu-below .lx-header-main, .lx-layout-split-nav .lx-header-main:has(.lx-header-row) { flex-direction: column; }
.lx-header-row { display: flex; align-items: center; justify-content: center; gap: 16px 24px; width: 100%; }
.lx-header-row-nav .lx-header-nav { flex: 0 1 auto; }
.lx-layout-split-nav .lx-nav-left { display: flex; justify-content: flex-end; }
.lx-layout-split-nav .lx-nav-right { display: flex; justify-content: flex-start; }

/* Top bar */
.lx-header-topbar { position: relative; z-index: 2; background: var(--lxh-top-bg, #f0f0f1); color: var(--lxh-top-text, inherit); font-size: var(--lxh-top-size, 14px); margin: var(--lxh-top-margin, 0); }
.lx-topbar-inner { display: flex; align-items: center; gap: 12px; padding: var(--lxh-top-pad, 6px 16px); min-height: 36px; }
.lx-header-topbar.lx-topbar-full .lx-topbar-inner { max-width: none; }
.lx-topbar-text { flex: 1 1 auto; text-align: var(--lxh-top-align, left); }
.lx-topbar-text p { margin: 0; }
.lx-topbar-icons { display: flex; gap: 6px; }
.lx-icons-left .lx-topbar-icons { order: -1; }
.lx-icons-center { justify-content: center; }
.lx-icons-center .lx-topbar-text { flex: 0 1 auto; }
.lx-topbar-icons .lx-header-icon { min-width: 32px; min-height: 32px; }

/* Menus (WordPress menus) */
.lx-menu { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 20px; background: var(--lxh-menu-bg, transparent); }
.lx-menu li { position: relative; display: flex; align-items: center; margin: 0; }
.lx-menu a { display: block; padding: 8px 4px; color: var(--lxh-link, inherit); text-decoration: none; }
.lx-menu a:hover, .lx-menu .current-menu-item > a { text-decoration: underline; text-underline-offset: 4px; }
.lx-menu .sub-menu { list-style: none; margin: var(--lxh-sub-margin, 0); padding: var(--lxh-sub-pad, 8px 0); position: absolute; top: 100%; left: 0; z-index: 20; min-width: 200px; width: var(--lxh-sub-w, auto);
  background: var(--lxh-sub-bg, #fff); border: var(--lxh-sub-border, 1px solid rgba(0,0,0,.08)); border-radius: var(--lxh-sub-radius, 6px); box-shadow: var(--lxh-sub-shadow, 0 8px 24px rgba(0,0,0,.12)); text-align: var(--lxh-sub-align, left); display: none; flex-direction: column; align-items: stretch; }
.lx-menu .sub-menu .sub-menu { top: 0; left: 100%; }
.lx-menu .sub-menu a { padding: 8px 16px; color: var(--lxh-sub-link, #1d2327); white-space: nowrap; }
.lx-menu .sub-menu li { display: block; }
.lx-menu:not(.lx-js) li:hover > .sub-menu, .lx-menu:not(.lx-js) li:focus-within > .sub-menu, .lx-menu li.lx-open > .sub-menu { display: flex; }
.lx-sub-caret, .lx-mega-caret { background: none; border: 0; color: inherit; cursor: pointer; padding: 6px; margin-left: -2px; font-size: .8em; line-height: 1; border-radius: 4px; }
.lx-open > .lx-sub-caret span[aria-hidden], .lx-open > .lx-mega-caret span[aria-hidden] { display: inline-block; transform: rotate(180deg); }
.lx-menu-vertical { flex-direction: column; align-items: stretch; gap: 0; background: none; }
.lx-menu-vertical li { flex-wrap: wrap; justify-content: space-between; border-bottom: 1px solid rgba(127,127,127,.2); }
.lx-menu-vertical a { padding: 12px 0; flex: 1; }
.lx-menu-vertical .sub-menu { position: static; width: 100%; min-width: 0; box-shadow: none; border: 0; background: none; padding: 0 0 8px 16px; }
.lx-menu-vertical .sub-menu a { color: inherit; padding: 8px 0; }

/* Mobile panel */
.lx-header-panel { z-index: 1000; background: var(--lxh-panel-bg, #fff); color: var(--lxh-panel-text, #1d2327); padding: 16px 20px 24px; overflow-y: auto; }
.lx-header-panel a { color: inherit; }
.lx-panel-dropdown { position: absolute; left: 0; right: 0; top: 100%; box-shadow: 0 12px 24px rgba(0,0,0,.15); max-height: calc(100vh - 80px); }
.lx-panel-offcanvas, .lx-panel-slidein { position: fixed; top: 0; bottom: 0; width: min(340px, 86vw); box-shadow: 0 0 32px rgba(0,0,0,.25); }
.lx-panel-offcanvas { right: 0; }
.lx-panel-slidein { left: 0; }
@media (prefers-reduced-motion: no-preference) {
  .lx-panel-offcanvas:not([hidden]) { animation: lx-in-right .25s ease; }
  .lx-panel-slidein:not([hidden]) { animation: lx-in-left .25s ease; }
}
@keyframes lx-in-right { from { transform: translateX(100%); } }
@keyframes lx-in-left { from { transform: translateX(-100%); } }
.lx-header-overlay { position: fixed; inset: 0; z-index: 999; background: rgba(0,0,0,.45); }
.lx-panel-close { float: right; margin: -8px -8px 8px 8px; }
.lx-panel-menu { clear: both; }
.lx-panel-icons { display: flex; gap: 8px; margin-top: 16px; }
.lx-panel-cta { margin-top: 16px; }
.lx-mobile-logo { flex: 1 1 auto; display: flex; }
.lx-mobile-logo .lx-logo-img { width: var(--lxh-m-logo-w, auto); max-height: 48px; }
.lx-mobile-logo.lx-align-center { justify-content: center; }
.lx-mobile-logo.lx-align-right { justify-content: flex-end; order: 2; }
.lx-header-mobile:has(.lx-align-center) .lx-mobile-actions { position: absolute; right: 12px; }

/* Search */
.lx-header-search { position: absolute; left: 0; right: 0; top: 100%; z-index: 30; background: var(--lxh-sub-bg, #fff); color: #1d2327; padding: 12px 16px; box-shadow: 0 8px 24px rgba(0,0,0,.12); }
.lx-search-form { display: flex; gap: 8px; max-width: 640px; margin: 0 auto; }
.lx-search-form input[type="search"] { flex: 1; min-width: 0; padding: 10px 12px; border: 1px solid #c3c4c7; border-radius: 4px; font: inherit; }
.lx-search-form button { display: inline-flex; align-items: center; padding: 0 12px; border: 0; border-radius: 4px; background: #1d2327; color: #fff; cursor: pointer; }
.lx-search-panel { margin-top: 16px; }

/* Scroll behaviour */
.lx-scroll-sticky, .lx-scroll-shrink, .lx-scroll-reveal { position: sticky; top: var(--wp-admin--admin-bar--height, 0px); }
.lx-scroll-reveal { transition: transform .25s ease; }
.lx-header-hidden { transform: translateY(-110%); }
.lx-scroll-shrink.lx-scrolled .lx-header-main { padding-top: 4px; padding-bottom: 4px; min-height: 44px; }
.lx-scroll-shrink.lx-scrolled .lx-logo-img { max-height: 44px; }
.lx-scrolled { box-shadow: var(--lxh-shadow, 0 2px 12px rgba(0,0,0,.08)); }
.lx-overlap { position: absolute; left: 0; right: 0; }
.lx-overlap.lx-scroll-sticky, .lx-overlap.lx-scroll-shrink, .lx-overlap.lx-scroll-reveal { position: fixed; top: var(--wp-admin--admin-bar--height, 0px); }
html.lx-has-notice-top .lx-header.lx-scroll-sticky, html.lx-has-notice-top .lx-header.lx-scroll-shrink, html.lx-has-notice-top .lx-header.lx-scroll-reveal { top: calc(var(--wp-admin--admin-bar--height, 0px) + var(--lx-notice-top, 0px)); }

/* Entrance animation (Animation setting) */
@media (prefers-reduced-motion: no-preference) {
  .lx-anim-fadein { animation: lx-fade .6s ease both; }
  .lx-anim-slidedown { animation: lx-slide-down .5s ease both; }
  .lx-anim-zoomin { animation: lx-zoom .5s ease both; }
}
@keyframes lx-fade { from { opacity: 0; } }
@keyframes lx-slide-down { from { opacity: 0; transform: translateY(-24px); } }
@keyframes lx-zoom { from { opacity: 0; transform: scale(.96); } }

/* Mega menu */
.lx-mega { position: relative; background: var(--lxm-bg, #fff); color: var(--lxm-text, #333); box-shadow: var(--lxm-shadow, none); border-radius: var(--lxm-radius, 0); font-size: var(--lxm-font, inherit); }
.lx-mega-block { padding: 6px 10px; margin-bottom: 10px; }
.lx-mega-header { background: var(--lxm-bg, transparent); }
.lx-mega .mega-menu-level1 { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 16px; }
.lx-mega .lx-mega-item { position: static; display: flex; align-items: center; margin: 0; }
.lx-mega-block .lx-mega-item, .lx-mega-header .lx-mega-item { position: relative; }
.lx-mega .lx-mega-link { display: inline-flex; align-items: center; gap: 6px; padding: 8px 4px; color: inherit; text-decoration: none; }
.lx-mega a.lx-mega-link:hover { text-decoration: underline; text-underline-offset: 4px; }
.lx-mega .mega-menu-dropdown { display: none; position: absolute; top: 100%; left: 0; z-index: 50; width: var(--lxm-panel, 600px); max-width: calc(100vw - 32px); padding: 16px; background: #fff; color: #1d2327; border: 1px solid rgba(0,0,0,.08); border-radius: 8px; box-shadow: 0 12px 32px rgba(0,0,0,.14); }
.lx-mega:not(.lx-js) .lx-mega-item:hover > .mega-menu-dropdown, .lx-mega:not(.lx-js) .lx-mega-item:focus-within > .mega-menu-dropdown, .lx-mega .lx-mega-item.lx-open > .mega-menu-dropdown { display: block; }
.lx-mega-columns { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 16px; }
.lx-mega .mega-menu-column { padding: 10px; border-radius: 6px; min-width: 0; }
.lx-mega-heading { display: block; margin-bottom: 6px; }
.lx-mega-content > :first-child { margin-top: 0; }
.lx-mega-content > :last-child { margin-bottom: 0; }
.lx-mega-content img { max-width: 100%; height: auto; }
/* Compact: small screens and the mobile panel */
.lx-mega.lx-compact .mega-menu-level1 { flex-direction: column; align-items: stretch; gap: 0; }
.lx-mega.lx-compact .lx-mega-item { flex-wrap: wrap; justify-content: space-between; border-bottom: 1px solid rgba(127,127,127,.2); position: relative; }
.lx-mega.lx-compact .lx-mega-link { padding: 12px 0; flex: 1; }
.lx-mega.lx-compact .mega-menu-dropdown { position: static; width: 100%; max-width: none; box-shadow: none; border: 0; padding: 0 0 12px; background: none; color: inherit; }
.lx-mega.lx-compact .lx-mega-columns { grid-template-columns: 1fr; gap: 8px; }
.lx-mega-panel { background: none; color: inherit; box-shadow: none; }
@media (max-width: 768px) {
  .lx-mega:not(.lx-js) .mega-menu-level1 { flex-direction: column; align-items: stretch; }
  .lx-mega:not(.lx-js) .mega-menu-dropdown { position: static; width: 100%; }
}

/* Footer */
.lx-footer { position: relative; box-sizing: border-box; margin: var(--lxf-margin, 0); color: var(--lxf-text, inherit); font-family: var(--lxf-font, inherit); font-size: var(--lxf-size, inherit); font-weight: var(--lxf-weight, inherit);
  text-align: var(--lxf-align, left); border: var(--lxf-border, 0); border-radius: var(--lxf-radius, 0); box-shadow: var(--lxf-shadow, none); min-height: var(--lxf-height, 0); overflow: hidden; isolation: isolate; }
.lx-footer *, .lx-footer *::before, .lx-footer *::after { box-sizing: border-box; }
.lx-footer a { color: var(--lxf-link, inherit); }
.lx-footer-bg { position: absolute; inset: 0; z-index: -1; background: var(--lxf-bg, #f0f0f1); opacity: var(--lxf-bg-opacity, 1); pointer-events: none; }
.lx-footer-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border: 0; }
iframe.lx-footer-video { width: 177.78vh; min-width: 100%; height: 56.25vw; min-height: 100%; left: 50%; top: 50%; inset: auto; transform: translate(-50%, -50%); }
.lx-footer-inner, .lx-footer-copyright-inner { max-width: var(--lxf-max, 1200px); margin: 0 auto; }
.lx-footer:not(.lx-footer-boxed) .lx-footer-inner, .lx-footer:not(.lx-footer-boxed) .lx-footer-copyright-inner { max-width: none; }
.lx-footer-inner { padding: var(--lxf-pad, 40px 24px 24px); }
.lx-footer-bleed { width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); border-radius: 0; }
.lx-footer-sticky { position: sticky; bottom: 0; z-index: 50; transition: transform .25s ease; }
.lx-footer-hidden { transform: translateY(100%); }
.lx-footer-widgets { display: grid; grid-template-columns: repeat(var(--lxf-cols, 4), minmax(0, 1fr)); gap: 24px 32px; }
@media (max-width: 900px) { .lx-footer-widgets { grid-template-columns: repeat(2, minmax(0, 1fr)); } .lx-footer-column { grid-column: auto !important; } }
@media (max-width: 560px) { .lx-footer-widgets { grid-template-columns: 1fr; } .lx-footer { font-size: var(--lxf-size-mobile, var(--lxf-size, inherit)); } }
.lx-footer-area + .lx-footer-area { margin-top: 20px; }
.lx-footer-area-title { font-size: calc(var(--lxf-wtitle, 16px) * 1.1); margin: 0 0 12px; color: inherit; }
.lx-widget-title { font-size: var(--lxf-wtitle, 16px); margin: 0 0 8px; color: inherit; }
.lx-footer-widget { font-size: var(--lxf-wtext, inherit); margin-bottom: 16px; }
.lx-footer-widget img { max-width: 100%; height: auto; }
.lx-footer-logo img { max-width: 100%; height: auto; margin-bottom: 12px; }
.lx-footer-menu { list-style: none; margin: 0; padding: 0; }
.lx-footer-menu li { margin: 0 0 6px; }
.lx-footer-menu.lx-menu-horizontal { display: flex; flex-wrap: wrap; gap: 6px 18px; }
.lx-footer-cta { text-align: right; margin-bottom: 16px; }
.lx-footer-button { display: inline-block; padding: 10px 18px; background: #1d2327; color: #fff !important; text-decoration: none; border-radius: 4px; }
.lx-footer-form { margin-top: 16px; }
.lx-footer-social { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; justify-content: var(--lxf-align, flex-start); }
.lx-footer-social a { display: inline-flex; align-items: center; gap: 6px; min-height: 40px; min-width: 40px; text-decoration: none; }
.lx-footer-separator { border: 0; border-top: var(--lxf-sep, 1px solid rgba(127,127,127,.35)); margin: 24px 0 0; }
.lx-footer-copyright { background: var(--lxf-copy-bg, transparent); color: var(--lxf-copy-text, inherit); text-align: var(--lxf-copy-align, left); font-size: .875em; }
.lx-footer-copyright-inner { padding: var(--lxf-copy-pad, 12px 24px); }
.lx-footer-dark-minimal { --lxf-bg: #111; color: var(--lxf-text, #ddd); }
.lx-footer-dark-minimal a { color: var(--lxf-link, #fff); }
.lx-footer-soft-gradient { --lxf-bg: linear-gradient(45deg, #ddd, #fff); color: var(--lxf-text, #333); }
.lx-scroll-top { position: fixed; right: 20px; bottom: calc(20px + var(--lx-notice-bottom, 0px)); z-index: 900; display: inline-flex; align-items: center; gap: 4px; padding: 10px 14px; background: #1d2327; color: #fff; border: 0; border-radius: 6px; cursor: pointer; box-shadow: 0 4px 12px rgba(0,0,0,.2); }
.lx-scroll-top:focus-visible { outline: 2px solid #fff; outline-offset: -4px; }

/* Site notice */
.lx-notice { position: relative; display: flex; align-items: center; gap: 12px; padding: 10px 48px 10px 16px; background: var(--lxn-bg, #fffae0); color: var(--lxn-text, #1d2327); font-size: var(--lxn-size, 15px); text-align: var(--lxn-align, center); box-sizing: border-box; }
.lx-notice-text { flex: 1; }
.lx-notice-text p { margin: 0; }
.lx-notice-close { position: absolute; top: 50%; right: 8px; transform: translateY(-50%); min-width: 36px; min-height: 36px; background: none; border: 0; color: inherit; font-size: 22px; line-height: 1; cursor: pointer; }
.lx-notice-sticky-top, .lx-notice-sticky-bottom { position: fixed; left: 0; right: 0; z-index: 10000; }
.lx-notice-sticky-top { top: var(--wp-admin--admin-bar--height, 0px); }
.lx-notice-sticky-bottom { bottom: 0; }
html.lx-has-notice-top body { padding-top: var(--lx-notice-top, 0px); }
