/* Lucy Editor Shop — storefront styles */
body.lucy-drawer-open { overflow: hidden; }

/* Promo */
.lucy-promo-bar {
  background: var(--lucy-dark);
  color: #fff;
  font-size: 12px;
  letter-spacing: .075em;
  text-align: center;
}
.lucy-promo-bar .lucy-container { min-height: 34px; display:flex; align-items:center; justify-content:center; gap:10px; }
.lucy-promo-dot { opacity: .45; }

/* Header */
.lucy-site-header { background:#fff; border-bottom:1px solid var(--lucy-line); z-index: 90; position:relative; }
.lucy-sticky-enabled .lucy-site-header { position: sticky; top: 0; }
.admin-bar.lucy-sticky-enabled .lucy-site-header { top: 32px; }
.lucy-header-main { min-height: 96px; display:grid; grid-template-columns: 1fr auto 1fr; align-items:center; gap:28px; }
.lucy-brand { text-align:center; }
.lucy-brand .custom-logo-link { display:inline-flex; align-items:center; }
.lucy-brand img { width:auto; max-height:62px; }
.lucy-text-logo { font-family: var(--lucy-font-heading); text-transform:uppercase; letter-spacing:.18em; font-size:25px; font-weight:600; }
.lucy-header-actions { display:flex; justify-content:flex-end; align-items:center; gap:14px; }
.lucy-social-links { display:inline-flex; align-items:center; justify-content:center; gap:8px; flex:0 0 auto; }
.lucy-social-link { width:30px; height:30px; display:inline-flex; align-items:center; justify-content:center; color:var(--lucy-social-color, var(--lucy-text)); font-size:14px; line-height:1; border-radius:999px; transition:color .18s ease, background-color .18s ease, transform .18s ease; }
.lucy-social-link:hover, .lucy-social-link:focus-visible { color:var(--lucy-social-hover, var(--lucy-accent)); transform:translateY(-1px); }
.lucy-social-link svg { width:1em; height:1em; fill:currentColor; }
.lucy-social-mobile, .lucy-social-header-mobile { display:none; }
.lucy-action-link, .lucy-cart-link, .lucy-mobile-toggle {
  border:0; background:transparent; color:var(--lucy-text); min-width:38px; height:38px; display:inline-flex; align-items:center; justify-content:center; cursor:pointer; position:relative;
}
.lucy-action-link svg, .lucy-cart-link svg { width:20px; height:20px; stroke-width:1.6; }
.lucy-cart-count { min-width:18px; height:18px; padding:0 4px; border-radius:20px; background:var(--lucy-accent); color:#fff; display:inline-flex; align-items:center; justify-content:center; font-size:10px; line-height:1; position:absolute; top:0; right:-2px; }
.lucy-cart-total { margin-left:4px; font-size:13px; white-space:nowrap; }
.lucy-phone { display:inline-flex; align-items:center; gap:8px; font-size:13px; }
.lucy-phone small { display:block; color:var(--lucy-muted); font-size:10px; text-transform:uppercase; letter-spacing:.1em; line-height:1.2; }
.lucy-phone strong { display:block; font-size:13px; line-height:1.2; }
.lucy-search { max-width:300px; }
.lucy-search form { position:relative; }
.lucy-search input[type="search"] { width:100%; border:0; border-bottom:1px solid #bdb7b2; padding:9px 34px 9px 0; outline:none; background:transparent; font-size:13px; }
.lucy-search button { position:absolute; right:0; top:50%; transform:translateY(-50%); border:0; background:transparent; cursor:pointer; padding:4px; }
.lucy-search button svg { width:18px; height:18px; }

.lucy-primary-nav { border-top:1px solid var(--lucy-line); }
.lucy-menu { list-style:none; margin:0; padding:0; display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:0; }
.lucy-menu > li { position:relative; }
.lucy-menu > li > a { display:flex; align-items:center; justify-content:center; gap:7px; padding:15px 16px; text-transform:uppercase; letter-spacing:.08em; font-size:12px; font-weight:600; color:var(--lucy-menu-item-color, inherit); font-family:var(--lucy-menu-item-font, inherit); }
.lucy-menu > li > a:hover, .lucy-menu > li > a:focus { color:var(--lucy-menu-item-hover, var(--lucy-accent)); }
.lucy-menu-item-icon { display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; line-height:1; }
.lucy-menu-item-icon svg { width:1em; height:1em; fill:currentColor; }
.lucy-menu .sub-menu { list-style:none; margin:0; padding:12px 0; position:absolute; left:0; top:100%; min-width:220px; background:#fff; border:1px solid var(--lucy-line); box-shadow:var(--lucy-shadow); opacity:0; visibility:hidden; transform:translateY(8px); transition:.2s ease; z-index:120; }
.lucy-menu li:hover > .sub-menu, .lucy-menu li:focus-within > .sub-menu { opacity:1; visibility:visible; transform:none; }
.lucy-menu .sub-menu a { display:block; padding:9px 18px; font-size:13px; }
.lucy-menu .sale-menu > a { color: var(--lucy-sale); }

/* Drawers */
.lucy-mobile-toggle { display:none; flex-direction:column; gap:5px; align-items:flex-start; padding:0; }
.lucy-mobile-toggle span { display:block; width:24px; height:1.5px; background:#171717; transition:.2s; }
.lucy-drawer-backdrop { position:fixed; inset:0; background:rgba(18,16,15,.48); opacity:0; pointer-events:none; transition:.25s; z-index:198; }
.lucy-drawer { position:fixed; top:0; bottom:0; width:min(430px, 92vw); background:#fff; z-index:199; transition:transform .28s ease; box-shadow:var(--lucy-shadow); overflow:auto; }
.lucy-mobile-drawer { left:0; transform:translateX(-102%); }
.lucy-cart-drawer { right:0; transform:translateX(102%); }
.lucy-drawer.is-open { transform:translateX(0); }
.lucy-drawer-backdrop.is-open { opacity:1; pointer-events:auto; }
.lucy-drawer-head { height:72px; padding:0 22px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--lucy-line); }
.lucy-drawer-head strong { text-transform:uppercase; letter-spacing:.12em; font-size:13px; }
.lucy-drawer-close { border:0; background:none; width:40px; height:40px; cursor:pointer; font-size:28px; line-height:1; }
.lucy-mobile-drawer .lucy-search { max-width:none; padding:20px 22px 8px; }
.lucy-mobile-drawer .lucy-menu { display:block; padding:8px 22px 26px; }
.lucy-mobile-drawer .lucy-menu > li { border-bottom:1px solid var(--lucy-line); }
.lucy-mobile-drawer .lucy-menu > li > a { padding:14px 0; justify-content:flex-start; }
.lucy-mobile-drawer .sub-menu { position:static; opacity:1; visibility:visible; transform:none; border:0; box-shadow:none; padding:0 0 10px 12px; display:block; }
.lucy-mobile-drawer .sub-menu a { padding:7px 0; }
.lucy-mobile-meta { padding:18px 22px 30px; background:var(--lucy-soft); display:grid; gap:9px; font-size:13px; }
.lucy-mini-cart-content { padding:22px; }
.lucy-mini-cart-content .woocommerce-mini-cart { list-style:none; padding:0; margin:0; }
.lucy-mini-cart-content .woocommerce-mini-cart-item { position:relative; display:grid; grid-template-columns:70px 1fr; gap:14px; padding:0 24px 16px 0; margin-bottom:16px; border-bottom:1px solid var(--lucy-line); font-size:13px; }
.lucy-mini-cart-content .woocommerce-mini-cart-item img { width:70px; height:92px; object-fit:cover; float:none; margin:0; }
.lucy-mini-cart-content .remove { position:absolute; right:0; top:0; font-size:20px; }
.lucy-mini-cart-content .quantity { display:block; margin-top:5px; color:var(--lucy-muted); }
.lucy-mini-cart-content .woocommerce-mini-cart__total { display:flex; justify-content:space-between; border-top:0; padding-top:12px; }
.lucy-mini-cart-content .woocommerce-mini-cart__buttons { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.lucy-mini-cart-content .button { text-align:center; padding:13px 10px; background:#fff; color:#171717; border:1px solid #171717; text-transform:uppercase; letter-spacing:.07em; font-size:11px; }
.lucy-mini-cart-content .checkout { background:#171717; color:#fff; }

/* Hero */
.lucy-hero { --lucy-hero-x:50%; --lucy-hero-y:50%; --lucy-hero-bg:#181615; min-height: clamp(520px, 66vw, 760px); background:linear-gradient(120deg,#d7c2b9,#f2e8e3); background-size:cover; background-position:var(--lucy-hero-x) var(--lucy-hero-y); color:#fff; display:flex; align-items:center; position:relative; overflow:hidden; }
/* Πραγματικό <img> αντί για background: επιτρέπει object-fit, srcset και focal point. */
.lucy-hero-media { position:absolute; inset:0; width:100%; height:100%; display:block; object-fit:cover; object-position:var(--lucy-hero-x) var(--lucy-hero-y); filter:brightness(var(--lucy-hero-brightness,100%)); z-index:0; }
.lucy-hero-media-mobile { display:none; }
.lucy-hero::after { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(90deg,rgba(18,15,13,.50) 0%, rgba(18,15,13,.16) 56%, rgba(18,15,13,0) 78%); pointer-events:none; }
/* Overlay: σχήμα από class, χρώμα και ένταση από variables. */
.lucy-hero.is-ov-gradient::after { background:linear-gradient(90deg, var(--lucy-hero-ov,#12100d) 0%, rgba(0,0,0,0) 78%); opacity:var(--lucy-hero-ov-a,.5); }
.lucy-hero.is-ov-solid::after { background:var(--lucy-hero-ov,#12100d); opacity:var(--lucy-hero-ov-a,.38); }
.lucy-hero.is-ov-bottom::after { background:linear-gradient(0deg, var(--lucy-hero-ov,#12100d) 0%, rgba(0,0,0,0) 74%); opacity:var(--lucy-hero-ov-a,.6); }
.lucy-hero.is-ov-none::after { display:none; }

/* Fit: ολόκληρη η εικόνα, ύψος από το ίδιο το aspect ratio (καθόλου κόψιμο). */
.lucy-hero.is-fit-contain, .lucy-hero.is-fit-stack { display:block; min-height:0; background:var(--lucy-hero-bg); }
.lucy-hero.is-fit-contain .lucy-hero-media, .lucy-hero.is-fit-stack .lucy-hero-media { position:static; width:100%; height:auto; object-fit:contain; }
.lucy-hero.is-fit-contain .lucy-hero-inner { position:absolute; left:0; right:0; bottom:0; padding-bottom:46px; }
/* Fit: εικόνα ολόκληρη πάνω, κείμενο σε δικό του πάνελ από κάτω. */
.lucy-hero.is-fit-stack::after { display:none; }
.lucy-hero.is-fit-stack .lucy-hero-inner { position:relative; background:var(--lucy-hero-bg); padding-top:36px; padding-bottom:44px; }
.lucy-hero-inner { position:relative; z-index:2; padding-top:70px; padding-bottom:70px; }
.lucy-hero-content { max-width:650px; }
.lucy-kicker, .lucy-section-heading > span, .lucy-eyebrow { display:block; text-transform:uppercase; letter-spacing:.2em; font-size:11px; font-weight:700; margin-bottom:10px; }
.lucy-hero h1 { font-family:var(--lucy-font-heading); font-weight:400; font-size:clamp(54px,7vw,98px); line-height:.94; letter-spacing:-.035em; margin:0 0 22px; }
.lucy-hero p { max-width:530px; font-size:17px; margin:0 0 30px; }
.lucy-btn { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:0 26px; border:1px solid #fff; background:#fff; color:#171717; text-transform:uppercase; font-size:11px; letter-spacing:.13em; font-weight:700; transition:.2s; }
.lucy-btn:hover { background:transparent; color:#fff; }

/* Benefits */
.lucy-benefits-row { background:#fff; border-bottom:1px solid var(--lucy-line); }
.lucy-benefits-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.lucy-benefit { display:flex; align-items:center; justify-content:center; gap:13px; min-height:98px; padding:20px; border-right:1px solid var(--lucy-line); }
.lucy-benefit:last-child { border-right:0; }
.lucy-benefit-icon { width:34px; height:34px; border-radius:50%; background:var(--lucy-soft); display:flex; align-items:center; justify-content:center; font-size:15px; }
.lucy-benefit strong { display:block; font-size:12px; letter-spacing:.06em; }
.lucy-benefit span { display:block; color:var(--lucy-muted); font-size:12px; }

/* Sections */
.lucy-section { padding:84px 0; }
.lucy-section-heading { text-align:center; margin-bottom:38px; }
.lucy-section-heading h2 { font-family:var(--lucy-font-heading); font-size:clamp(34px,4vw,52px); font-weight:400; line-height:1.05; margin:0; }
.lucy-section-heading p { max-width:650px; margin:12px auto 0; color:var(--lucy-muted); }

/* Categories */
.lucy-category-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.lucy-category-card { min-height:410px; background:linear-gradient(140deg,#d6c4ba,#eee5e0); background-size:cover; background-position:center; position:relative; overflow:hidden; display:flex; align-items:flex-end; }
.lucy-category-overlay { position:absolute; inset:0; background:linear-gradient(to top,rgba(0,0,0,.44),rgba(0,0,0,0) 58%); transition:.3s; }
.lucy-category-card:hover .lucy-category-overlay { background:linear-gradient(to top,rgba(0,0,0,.55),rgba(0,0,0,.05) 68%); }
.lucy-category-name { position:relative; color:#fff; font-family:var(--lucy-font-heading); font-size:28px; padding:24px; z-index:2; }

/* Promos */
.lucy-promo-split { display:grid; grid-template-columns:1.15fr .85fr; min-height:620px; }
.lucy-promo-media { background:linear-gradient(140deg,#b99a8d,#e8d8d0); background-size:cover; background-position:center; }
.lucy-promo-copy { background:var(--lucy-soft); display:flex; align-items:center; padding:clamp(45px,7vw,100px); }
.lucy-promo-copy-inner { max-width:520px; }
.lucy-promo-copy h2 { font-family:var(--lucy-font-heading); font-size:clamp(46px,5.4vw,76px); line-height:.95; font-weight:400; margin:0 0 22px; }
.lucy-promo-copy p { color:var(--lucy-muted); margin:0 0 28px; }
.lucy-text-link { display:inline-flex; gap:10px; align-items:center; padding-bottom:4px; border-bottom:1px solid currentColor; text-transform:uppercase; letter-spacing:.12em; font-size:11px; font-weight:700; }

/* Trust */
.lucy-trust-section { background:#181615; color:#fff; padding:76px 0; }
.lucy-trust-section .lucy-section-heading { margin-bottom:42px; }
.lucy-trust-section .lucy-section-heading > span { color:#cdb9af; }
.lucy-trust-grid { display:flex; flex-wrap:wrap; --lucy-trust-basis:200px; --lucy-trust-item:280px; border-top:1px solid rgba(255,255,255,.14); border-left:1px solid rgba(255,255,255,.14); }
.lucy-trust-item { box-sizing:border-box; flex:1 1 var(--lucy-trust-basis); min-width:0; min-height:180px; padding:28px; border-right:1px solid rgba(255,255,255,.14); border-bottom:1px solid rgba(255,255,255,.14); display:flex; flex-direction:column; justify-content:flex-end; }
/* Επιλογή: όλα στη μέση με σταθερό πλάτος κουτιού. */
.lucy-trust-grid.is-center { justify-content:center; }
.lucy-trust-grid.is-center .lucy-trust-item { flex:0 1 var(--lucy-trust-item); }
/* Επιλογή: κεντραρισμένο κείμενο μέσα στο κουτί. */
.lucy-trust-grid.is-text-center .lucy-trust-item { align-items:center; text-align:center; }
/* Επιλογή: παλιά συμπεριφορά με σταθερό αριθμό στηλών. */
.lucy-trust-grid.is-legacy { display:grid; grid-template-columns:repeat(var(--lucy-trust-cols,5),minmax(0,1fr)); }
.lucy-trust-item .lucy-trust-icon { font-size:25px; margin-bottom:auto; opacity:.85; }
.lucy-trust-item strong { display:block; font-family:var(--lucy-font-heading); font-size:26px; font-weight:400; line-height:1.1; }
.lucy-trust-item span { display:block; color:rgba(255,255,255,.66); margin-top:7px; font-size:12px; }

/* Woo grid */
.woocommerce ul.products, .woocommerce-page ul.products { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px 16px; margin:0; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display:none; }
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product { width:auto!important; float:none!important; margin:0!important; }
.lucy-product-card { position:relative; }
.lucy-product-media { position:relative; overflow:hidden; background:#f4f1ef; aspect-ratio: var(--lucy-card-ratio, 1 / 1); }
.lucy-product-media img { width:100%; height:100%; object-fit:cover; display:block; transition:opacity .35s ease, transform .55s ease; }
.lucy-product-media .lucy-product-secondary { position:absolute; inset:0; opacity:0; }
.lucy-product-card:hover .lucy-product-primary { transform:scale(1.018); }
.lucy-product-card:hover .lucy-product-secondary { opacity:1; }
.lucy-product-card:hover .lucy-product-secondary + .lucy-product-primary { opacity:0; }
.lucy-product-badges { position:absolute; left:10px; top:10px; display:flex; flex-direction:column; align-items:flex-start; gap:5px; z-index:3; }
.lucy-badge { display:inline-flex; min-height:24px; align-items:center; padding:0 8px; background:#fff; color:#171717; font-size:9px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.lucy-badge-sale { background:var(--lucy-sale); color:#fff; }
.lucy-badge-sold { background:#171717; color:#fff; }
.lucy-product-actions { position:absolute; right:10px; top:10px; display:grid; gap:8px; z-index:4; }
.lucy-product-actions .yith-wcwl-add-to-wishlist { margin:0; }
.lucy-product-actions a, .lucy-product-actions .yith-wcwl-add-button a { width:38px; height:38px; border-radius:50%; background:#fff; display:flex!important; align-items:center; justify-content:center; box-shadow:0 8px 24px rgba(0,0,0,.08); font-size:0!important; }
.lucy-product-actions .yith-wcwl-icon { margin:0!important; font-size:16px!important; }
.lucy-quick-add { position:absolute; left:10px; right:10px; bottom:10px; z-index:4; transform:translateY(calc(100% + 20px)); transition:.25s; }
.lucy-product-card:hover .lucy-quick-add { transform:translateY(0); }
.lucy-quick-add .button { width:100%; min-height:44px; border:0!important; border-radius:0!important; background:rgba(255,255,255,.94)!important; color:#171717!important; text-align:center; display:flex!important; align-items:center; justify-content:center; padding:0 14px!important; margin:0!important; text-transform:uppercase; font-size:10px!important; letter-spacing:.11em; }
.lucy-product-info { text-align:center; padding:14px 4px 2px; }
.lucy-product-cat { color:var(--lucy-muted); text-transform:uppercase; letter-spacing:.12em; font-size:9px; margin-bottom:4px; }
.lucy-product-title { font-family:var(--lucy-font-heading); font-weight:400; font-size:17px; line-height:1.3; margin:0 0 6px; }
.lucy-product-price { font-size:13px; }
.lucy-product-price del { color:#9a9490; margin-right:5px; opacity:1; }
.lucy-product-price ins { text-decoration:none; color:var(--lucy-sale); font-weight:700; }
.woocommerce nav.woocommerce-pagination { margin-top:48px; }
.woocommerce nav.woocommerce-pagination ul { border:0; }
.woocommerce nav.woocommerce-pagination ul li { border:0; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { min-width:38px; height:38px; display:flex; align-items:center; justify-content:center; }

/* Woo archive + single */
.lucy-woocommerce-wrap { padding:58px 0 90px; }
.woocommerce .woocommerce-breadcrumb { color:var(--lucy-muted); font-size:12px; margin-bottom:28px; }
.woocommerce .woocommerce-result-count, .woocommerce .woocommerce-ordering { font-size:12px; }
.woocommerce .woocommerce-ordering select { border:1px solid var(--lucy-line); padding:9px 34px 9px 12px; background:#fff; }
.woocommerce div.product .product_title { font-family:var(--lucy-font-heading); font-weight:400; font-size:clamp(34px,4vw,52px); }
.woocommerce div.product p.price, .woocommerce div.product span.price { color:#171717; }
.woocommerce div.product form.cart .button { background:#171717; border-radius:0; min-height:48px; text-transform:uppercase; letter-spacing:.08em; font-size:11px; }
.woocommerce div.product form.cart .variations select { min-height:44px; border:1px solid var(--lucy-line); }

/* Newsletter/footer */
.lucy-newsletter { background:var(--lucy-accent-2); padding:58px 0; }
.lucy-newsletter-inner { display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:center; }
.lucy-newsletter .eyebrow { text-transform:uppercase; letter-spacing:.18em; font-size:10px; font-weight:700; }
.lucy-newsletter h2 { font-family:var(--lucy-font-heading); font-size:38px; font-weight:400; line-height:1.05; margin:8px 0 0; }
.lucy-newsletter input[type="email"], .lucy-newsletter input[type="text"] { width:100%; min-height:48px; border:0; border-bottom:1px solid #6f625c; background:transparent; }
.lucy-newsletter input[type="submit"], .lucy-newsletter button { min-height:46px; background:#171717; color:#fff; border:0; padding:0 22px; text-transform:uppercase; letter-spacing:.1em; font-size:11px; }
.lucy-footer-main { background:#fff; padding:70px 0 56px; }
.lucy-footer-grid { display:grid; grid-template-columns:1.35fr 1fr 1fr 1fr; gap:48px; }
.lucy-footer h3 { font-family:var(--lucy-font-heading); font-size:28px; font-weight:400; margin:0 0 14px; }
.lucy-footer h4 { margin:0 0 16px; font-size:11px; text-transform:uppercase; letter-spacing:.13em; }
.lucy-footer p, .lucy-footer li { color:var(--lucy-muted); font-size:13px; }
.lucy-footer ul { list-style:none; padding:0; margin:0; }
.lucy-footer li { margin:7px 0; }
.lucy-footer-bottom { border-top:1px solid var(--lucy-line); padding:16px 0; color:var(--lucy-muted); font-size:11px; }
.lucy-theme-credit { margin-left: 8px; }
.lucy-theme-credit a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
@media (max-width: 767px) { .lucy-theme-credit { display:block; margin:4px 0 0; } }

/* Generic content */
.site-main > article, .lucy-content-wrap { width:min(calc(100% - 40px), 900px); margin:60px auto; }

@media (max-width: 1100px) {
  .lucy-header-main { grid-template-columns:auto 1fr auto; min-height:78px; }
  .lucy-mobile-toggle { display:flex; }
  .desktop-only { display:none!important; }
  .lucy-brand { text-align:left; }
  .lucy-brand img { max-height:50px; }
  .lucy-primary-nav { display:none; }
  .lucy-benefits-grid { grid-template-columns:repeat(2,1fr); }
  .lucy-benefit:nth-child(2) { border-right:0; }
  .lucy-benefit:nth-child(-n+2) { border-bottom:1px solid var(--lucy-line); }
  .lucy-category-grid { grid-template-columns:repeat(2,1fr); }
  .lucy-promo-split { min-height:520px; }
  .lucy-trust-grid { --lucy-trust-basis:170px; }
  .lucy-trust-grid.is-legacy { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .woocommerce ul.products, .woocommerce-page ul.products { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

@media (max-width: 782px) {
  .admin-bar.lucy-sticky-enabled .lucy-site-header { top:46px; }
}

@media (max-width: 760px) {
  .lucy-container { width:min(calc(100% - 28px), var(--lucy-container)); }
  .lucy-promo-bar { font-size:10px; letter-spacing:.045em; }
  .lucy-promo-bar .lucy-container { min-height:31px; }
  .lucy-header-main { min-height:70px; gap:12px; }
  .lucy-text-logo { font-size:18px; }
  .lucy-header-actions { gap:4px; }
  .lucy-social-desktop { display:none !important; }
  .lucy-header-actions .lucy-social-header-mobile { display:flex; gap:2px; }
  .lucy-header-actions .lucy-social-header-mobile .lucy-social-link { width:32px; height:38px; font-size:16px; }
  .lucy-mobile-drawer .lucy-social-mobile { display:flex; justify-content:flex-start; padding:12px 22px 4px; flex-wrap:wrap; }
  .lucy-mobile-drawer .lucy-social-link { width:42px; height:42px; font-size:20px; border:1px solid var(--lucy-line); }
  .lucy-action-link, .lucy-cart-link { min-width:34px; }
  .lucy-hero { min-height:560px; background-position:var(--lucy-hero-x) var(--lucy-hero-y); }
  .lucy-hero::after { background:linear-gradient(0deg,rgba(18,15,13,.54),rgba(18,15,13,.08) 80%); }
  .lucy-hero-inner { align-self:flex-end; padding-bottom:54px; }
  .lucy-hero h1 { font-size:52px; }
  .lucy-hero p { font-size:14px; }
  .lucy-benefits-grid { grid-template-columns:1fr 1fr; }
  .lucy-benefit { min-height:105px; padding:15px 9px; display:block; text-align:center; }
  .lucy-benefit-icon { margin:0 auto 8px; }
  .lucy-benefit strong { font-size:10px; }
  .lucy-benefit span { font-size:10px; }
  .lucy-section { padding:60px 0; }
  .lucy-category-grid { gap:8px; }
  .lucy-category-card { min-height:265px; }
  .lucy-category-name { font-size:21px; padding:15px; }
  .lucy-promo-split { grid-template-columns:1fr; min-height:0; }
  .lucy-promo-media { min-height:420px; }
  .lucy-promo-copy { padding:50px 28px; }
  .lucy-trust-grid { --lucy-trust-basis:140px; }
  .lucy-trust-grid.is-legacy { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .lucy-trust-item { min-height:150px; padding:20px; }
  .lucy-trust-item strong { font-size:20px; }
  .woocommerce ul.products, .woocommerce-page ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 8px; }
  .lucy-product-title { font-size:15px; }
  .lucy-product-cat { display:none; }
  .lucy-product-actions { right:7px; top:7px; }
  .lucy-product-actions a, .lucy-product-actions .yith-wcwl-add-button a { width:34px; height:34px; }
  .lucy-quick-add { transform:none; left:6px; right:6px; bottom:6px; }
  .lucy-quick-add .button { min-height:38px; font-size:9px!important; }
  .lucy-newsletter-inner { grid-template-columns:1fr; gap:24px; }
  .lucy-newsletter h2 { font-size:30px; }
  .lucy-footer-grid { grid-template-columns:1fr 1fr; gap:36px 22px; }
}

@media (max-width: 430px) {
  .lucy-footer-grid { grid-template-columns:1fr; }
  .lucy-trust-grid { --lucy-trust-basis:100%; }
  .lucy-trust-grid.is-legacy { grid-template-columns:1fr; }
  .lucy-trust-grid.is-center .lucy-trust-item { flex:1 1 100%; }
}

/* Respect WooCommerce shortcode column choices on desktop */
.woocommerce ul.products.columns-2, .woocommerce-page ul.products.columns-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.woocommerce ul.products.columns-3, .woocommerce-page ul.products.columns-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.woocommerce ul.products.columns-4, .woocommerce-page ul.products.columns-4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
.lucy-search .woocommerce-product-search button { font-size:0; }
.lucy-search .woocommerce-product-search button::before { content:"⌕"; font-size:21px; line-height:1; }

@media (max-width: 1100px) {
  .woocommerce ul.products.columns-4, .woocommerce-page ul.products.columns-4 { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width: 760px) {
  .woocommerce ul.products.columns-2,
  .woocommerce ul.products.columns-3,
  .woocommerce ul.products.columns-4,
  .woocommerce-page ul.products.columns-2,
  .woocommerce-page ul.products.columns-3,
  .woocommerce-page ul.products.columns-4 { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* v1.3 instant-demo storefront */
.lucy-demo-products {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:34px 18px;
}
.lucy-demo-product { min-width:0; }
.lucy-demo-product-media {
  position:relative;
  display:block;
  overflow:hidden;
  background:#eee7e2;
  aspect-ratio:4/5.25;
}
.lucy-demo-product-media img {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .45s ease;
}
.lucy-demo-product:hover .lucy-demo-product-media img { transform:scale(1.025); }
.lucy-demo-badge {
  position:absolute;
  top:11px;
  left:11px;
  z-index:3;
  padding:6px 9px;
  background:#fff;
  color:#171717;
  font-size:9px;
  line-height:1;
  letter-spacing:.09em;
}
.lucy-demo-badge.is-sale { background:var(--lucy-sale); color:#fff; }
.lucy-demo-wish {
  position:absolute;
  right:11px;
  top:11px;
  z-index:3;
  width:36px;
  height:36px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.92);
  font-size:21px;
}
.lucy-demo-quick {
  position:absolute;
  left:10px;
  right:10px;
  bottom:10px;
  background:rgba(255,255,255,.94);
  color:#171717;
  min-height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:9px;
  letter-spacing:.11em;
  transform:translateY(calc(100% + 18px));
  transition:.25s ease;
}
.lucy-demo-product:hover .lucy-demo-quick { transform:translateY(0); }
.lucy-demo-product-info { text-align:center; padding:13px 4px 0; }
.lucy-demo-product-info > span { color:var(--lucy-muted); font-size:9px; letter-spacing:.12em; }
.lucy-demo-product-info h3 {
  font-family:var(--lucy-font-heading);
  font-size:17px;
  font-weight:400;
  line-height:1.3;
  margin:3px 0 6px;
}
.lucy-demo-product-info p { margin:0; font-size:13px; }
.lucy-demo-product-info del { color:#9a9490; margin-right:4px; }
.lucy-demo-product-info strong { font-weight:600; }
.lucy-home-categories { padding-top:22px; }
.lucy-editor-cta { background:#191716; color:#fff; padding:48px 0; }
.lucy-editor-cta-inner { display:flex; align-items:center; justify-content:space-between; gap:34px; }
.lucy-editor-cta span { font-size:9px; letter-spacing:.18em; color:#c8bbb5; }
.lucy-editor-cta h2 { font-family:var(--lucy-font-heading); font-size:34px; font-weight:400; margin:4px 0 6px; }
.lucy-editor-cta p { margin:0; color:#cfc9c6; font-size:13px; }
.lucy-btn-dark { background:#fff!important; color:#171717!important; white-space:nowrap; }
.lucy-demo-newsletter { display:flex; align-items:stretch; gap:10px; }
.lucy-demo-newsletter input { flex:1; }
.lucy-demo-newsletter button { flex:0 0 auto; }

@media (max-width:1100px) {
  .lucy-demo-products { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:760px) {
  .lucy-demo-products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 8px; }
  .lucy-demo-quick { transform:none; min-height:38px; left:6px; right:6px; bottom:6px; font-size:8px; }
  .lucy-demo-product-info h3 { font-size:15px; }
  .lucy-editor-cta-inner { display:block; }
  .lucy-editor-cta .lucy-btn { display:inline-flex; margin-top:22px; }
  .lucy-demo-newsletter { display:block; }
  .lucy-demo-newsletter input, .lucy-demo-newsletter button { width:100%; }
  .lucy-demo-newsletter button { margin-top:10px; }
}

/* v1.4 Elementor-editable site parts */
.lucy-editor-logo { display:block; max-width:220px; max-height:64px; width:auto; height:auto; object-fit:contain; }
.lucy-editor-logo-link { display:inline-flex; align-items:center; justify-content:center; }
.lucy-elementor-site-part > .elementor { margin:0; }
.lucy-elementor-header .elementor-element, .lucy-elementor-footer .elementor-element { --widgets-spacing:0px 0px; }
.lucy-setup-note { padding:22px; border:1px solid var(--lucy-line); background:var(--lucy-soft); text-align:center; font-size:14px; }
.lucy-site-part-preview { margin:0; background:#fff; }
.lucy-site-part-preview .site-main { margin:0; }
@media (max-width:767px) { .lucy-editor-logo { max-width:150px; max-height:48px; } }


/* v1.4.2 — native WooCommerce loop compatibility (no template override). */
.woocommerce ul.products li.product.lucy-product-card,
.woocommerce-page ul.products li.product.lucy-product-card{position:relative;margin-bottom:34px;}
.woocommerce ul.products li.product.lucy-product-card a img{margin-bottom:12px;aspect-ratio:var(--lucy-card-ratio,1/1);object-fit:cover;width:100%;}
.woocommerce ul.products li.product.lucy-product-card .woocommerce-loop-product__title{font-size:14px;line-height:1.35;padding:4px 0;text-transform:none;}
.woocommerce ul.products li.product.lucy-product-card .price{font-size:14px;font-weight:600;color:#181818;margin-bottom:10px;}
.woocommerce ul.products li.product.lucy-product-card .button{width:100%;text-align:center;border-radius:0;margin-top:8px;padding:12px 14px;background:#171717;color:#fff;}
.woocommerce ul.products li.product.lucy-product-card .lucy-product-badges{position:absolute;z-index:4;top:10px;left:10px;display:flex;gap:5px;flex-wrap:wrap;max-width:75%;pointer-events:none;}

/* v1.4.3 — fully editable category/benefits widgets + notification marquee */
.lucy-benefits-grid{gap:1px;background:var(--lucy-line);}
.lucy-benefit{border:0!important;background:#fff;align-items:center;justify-content:center;text-decoration:none;color:inherit;}
.lucy-benefit-icon{display:grid!important;place-items:center!important;align-self:center;line-height:1;overflow:hidden;}
.lucy-benefit-icon i,.lucy-benefit-icon svg{display:block;width:1em;height:1em;line-height:1;}
.lucy-benefit-icon svg{fill:currentColor;}
.lucy-benefit-icon .lucy-choice-icon-image{display:block;width:64%;height:64%;object-fit:contain;}
.lucy-benefit-copy{display:block;min-width:0;}
.lucy-benefit-copy>span{display:block;}
.lucy-category-count{display:block;margin-top:3px;font-family:var(--lucy-font-body);font-size:10px;font-weight:500;letter-spacing:.05em;opacity:.82;}

.lucy-notification-bar{width:100%;overflow:hidden;background:#171717;color:#fff;position:relative;z-index:95;}
.lucy-notification-viewport{width:100%;overflow:hidden;}
.lucy-notification-track{display:flex;width:max-content;will-change:transform;}
.lucy-notification-group{display:flex;align-items:center;flex-shrink:0;gap:50px;padding-right:50px;white-space:nowrap;}
.lucy-notification-item{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;color:inherit;text-decoration:none;padding:0 6px;font-size:12px;letter-spacing:.055em;}
a.lucy-notification-item:hover{color:inherit;opacity:.78;}
.lucy-notification-media{width:18px;height:18px;display:grid;place-items:center;flex:0 0 auto;font-size:18px;line-height:1;}
.lucy-notification-media:empty{display:none;}
.lucy-notification-media svg,.lucy-notification-media i{display:block;width:1em;height:1em;fill:currentColor;}
.lucy-notification-media img{display:block;width:100%;height:100%;object-fit:contain;}
.lucy-notification-text{font-size:12px;line-height:1.25;}
.lucy-notification-bar.is-scrolling .lucy-notification-track{animation:lucy-marquee-left var(--lucy-marquee-duration,24s) linear infinite;}
.lucy-notification-bar.is-scrolling.direction-right .lucy-notification-track{animation-name:lucy-marquee-right;}
.lucy-notification-bar.pause-on-hover:hover .lucy-notification-track{animation-play-state:paused;}
.lucy-notification-bar.is-static .lucy-notification-track{width:100%;}
.lucy-notification-bar.is-static .lucy-notification-group{width:100%;justify-content:center;flex-wrap:wrap;padding:0 20px;white-space:normal;}
@keyframes lucy-marquee-left{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@keyframes lucy-marquee-right{from{transform:translate3d(-50%,0,0)}to{transform:translate3d(0,0,0)}}
@media (prefers-reduced-motion:reduce){.lucy-notification-bar.is-scrolling .lucy-notification-track{animation:none;transform:none}.lucy-notification-bar.is-scrolling .lucy-notification-group[aria-hidden="true"]{display:none}.lucy-notification-bar.is-scrolling .lucy-notification-track{width:100%}.lucy-notification-bar.is-scrolling .lucy-notification-group{width:100%;justify-content:center;flex-wrap:wrap;white-space:normal;padding:0 16px}}
@media (max-width:760px){
  .lucy-benefit{display:flex!important;flex-direction:column;align-items:center!important;justify-content:center!important;gap:8px;padding:14px 8px;text-align:center;}
  .lucy-benefit-icon{margin:0 auto!important;}
  .lucy-notification-group{gap:32px;padding-right:32px;}
  .lucy-notification-item{gap:6px;padding:0 4px;}
}
.lucy-benefit-icon{color:var(--lucy-text);}
.lucy-benefit-icon .lucy-legacy-symbol{font-size:1em!important;color:inherit!important;line-height:1;}

/* v1.4.4 — manual category cards, seamless marquee, responsive hardening */
html, body { max-width:100%; overflow-x:hidden; overflow-x:clip; }
body, .elementor, .elementor-element, .e-con, .e-con-inner { min-width:0; }
img, svg, video, iframe { max-width:100%; }
.lucy-elementor-site-part, .lucy-site-header, .lucy-footer, main, #page, #content { max-width:100%; }

/* Category Grid: only manually selected WooCommerce categories are rendered. */
.lucy-category-grid { align-items:stretch; }
.lucy-category-card {
  position:relative;
  min-width:0;
  overflow:hidden;
  display:flex;
  color:inherit;
  text-decoration:none;
  isolation:isolate;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.lucy-category-image {
  display:block;
  background-color:#f2efed;
  background-size:cover;
  background-repeat:no-repeat;
  background-position:center;
  transition:transform .45s cubic-bezier(.2,.7,.2,1);
}
.lucy-category-grid.has-hover-zoom .lucy-category-card:hover .lucy-category-image { transform:scale(1.045); }
.lucy-category-card.is-overlay {
  align-items:flex-end;
  background:#eee;
}
.lucy-category-card.is-overlay .lucy-category-image,
.lucy-category-card.is-overlay .lucy-category-overlay {
  position:absolute;
  inset:0;
}
.lucy-category-card.is-overlay .lucy-category-image { z-index:0; width:100%; height:100%; }
.lucy-category-card.is-overlay .lucy-category-overlay { z-index:1; pointer-events:none; }
.lucy-category-card.is-overlay .lucy-category-name {
  position:relative;
  z-index:2;
  width:100%;
  display:block;
}
.lucy-category-card.lucy-cat-overlay-center { align-items:center; justify-content:center; }
.lucy-category-card.lucy-cat-overlay-center .lucy-category-name { text-align:center; }
.lucy-category-card.is-plain {
  flex-direction:column;
  align-items:stretch;
  min-height:0;
}
.lucy-category-card.is-plain .lucy-category-image {
  position:relative;
  width:100%;
  flex:0 0 auto;
}
.lucy-category-card.is-plain .lucy-category-name {
  position:relative;
  width:100%;
  color:var(--lucy-text);
  flex:1 1 auto;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.lucy-category-card.lucy-cat-framed { border:1px solid var(--lucy-line); }
.lucy-category-title { display:block; }
.lucy-category-count { display:block; margin-top:4px; color:inherit; opacity:.72; }
.lucy-category-card:focus-visible { outline:2px solid currentColor; outline-offset:3px; }

/* Notification / marquee: JS makes each repeated group at least viewport-wide,
   so there is no large blank gap on wide monitors. */
.lucy-notification-bar { width:100%; max-width:100%; overflow:hidden; }
.lucy-notification-viewport { width:100%; max-width:100%; overflow:hidden; }
.lucy-notification-track {
  display:flex;
  width:max-content;
  max-width:none;
  will-change:transform;
  transform:translate3d(0,0,0);
}
.lucy-notification-group {
  display:flex;
  align-items:center;
  flex:0 0 auto;
  gap:50px;
  padding-right:50px;
  white-space:nowrap;
}
.lucy-notification-item { flex:0 0 auto; max-width:none; }
.lucy-notification-bar.is-scrolling .lucy-notification-track {
  animation:lucy-marquee-left-v144 var(--lucy-marquee-duration,24s) linear infinite;
}
.lucy-notification-bar.is-scrolling.direction-right .lucy-notification-track {
  animation-name:lucy-marquee-right-v144;
}
@keyframes lucy-marquee-left-v144 {
  from { transform:translate3d(0,0,0); }
  to { transform:translate3d(calc(-1 * var(--lucy-marquee-shift, 50vw)),0,0); }
}
@keyframes lucy-marquee-right-v144 {
  from { transform:translate3d(calc(-1 * var(--lucy-marquee-shift, 50vw)),0,0); }
  to { transform:translate3d(0,0,0); }
}
.lucy-notification-bar.is-static .lucy-notification-track { width:100%; }
.lucy-notification-bar.is-static .lucy-notification-group {
  width:100%;
  justify-content:center;
  flex-wrap:wrap;
  white-space:normal;
  padding-left:16px;
  padding-right:16px;
}

/* Safer touch / mobile defaults. Elementor responsive controls still override these. */
.lucy-mobile-toggle,
.lucy-action-link,
.lucy-cart-link,
.lucy-drawer-close,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button { min-width:44px; min-height:44px; }
.lucy-header-main > *, .lucy-header-actions, .lucy-brand, .lucy-search { min-width:0; }
.lucy-brand img, .lucy-editor-logo { width:auto; max-width:min(240px, 44vw); height:auto; }
.lucy-notification-text, .lucy-benefit-copy, .lucy-footer p, .lucy-product-title { overflow-wrap:anywhere; }
.woocommerce table.shop_table { max-width:100%; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .quantity .qty { max-width:100%; }

@media (max-width: 1024px) {
  .lucy-category-card.is-overlay { min-height:340px; }
  .lucy-notification-group { gap:36px; padding-right:36px; }
}

@media (max-width: 760px) {
  .lucy-container { width:min(calc(100% - 24px), var(--lucy-container)); }
  .lucy-hero h1 { font-size:clamp(34px, 11vw, 48px); line-height:1.02; }

  /* Ξεχωριστή εικόνα κινητού, αν έχει οριστεί. */
  .lucy-hero.has-mobile-media .lucy-hero-media-desktop { display:none; }
  .lucy-hero.has-mobile-media .lucy-hero-media-mobile { display:block; }

  /* Στο κινητό δείξε ΟΛΗ την εικόνα και ρίξε το κείμενο από κάτω. */
  .lucy-hero.is-mobile-stack { display:block; min-height:0 !important; background:var(--lucy-hero-bg); }
  .lucy-hero.is-mobile-stack .lucy-hero-media { position:static; width:100%; height:auto; object-fit:contain; }
  .lucy-hero.is-mobile-stack::after { display:none; }
  .lucy-hero.is-mobile-stack .lucy-hero-inner { position:relative; align-self:auto; background:var(--lucy-hero-bg); padding-top:30px; padding-bottom:40px; }
  /* Το contain στο κινητό γίνεται stack: το κείμενο δεν χωράει πάνω σε χαμηλή εικόνα. */
  .lucy-hero.is-fit-contain::after { display:none; }
  .lucy-hero.is-fit-contain .lucy-hero-inner { position:relative; background:var(--lucy-hero-bg); padding-top:30px; padding-bottom:40px; }
  .lucy-category-card.is-overlay { min-height:250px; }
  .lucy-category-card.is-plain .lucy-category-image { min-height:210px; }
  .lucy-category-name { font-size:clamp(17px, 5vw, 22px); }
  .lucy-notification-group { gap:26px; padding-right:26px; }
  .lucy-notification-item { gap:6px; padding-left:2px; padding-right:2px; }
  .lucy-notification-text { font-size:11px; }
  .lucy-drawer { width:min(92vw, 390px); max-width:100%; }
  .lucy-footer-grid > *, .lucy-newsletter-inner > * { min-width:0; }
  .woocommerce-cart-form, .woocommerce-checkout, .woocommerce-account .woocommerce { max-width:100%; overflow-wrap:anywhere; }
}

@media (max-width: 480px) {
  .lucy-container { width:min(calc(100% - 20px), var(--lucy-container)); }
  .lucy-header-main { gap:6px; }
  .lucy-header-actions { gap:1px; }
  .lucy-brand img, .lucy-editor-logo { max-width:38vw; max-height:44px; }
  .lucy-benefits-grid { grid-template-columns:1fr 1fr; }
  .lucy-benefit { min-width:0; }
  .lucy-category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .lucy-category-card.is-overlay { min-height:220px; }
  .lucy-category-card.is-plain .lucy-category-image { min-height:180px; }
  .lucy-category-name { padding:12px; }
  .lucy-footer-grid { grid-template-columns:1fr; }
  .lucy-newsletter input, .lucy-newsletter button { width:100%; }
  .woocommerce ul.products, .woocommerce-page ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width: 360px) {
  .lucy-category-grid { grid-template-columns:1fr; }
  .woocommerce ul.products, .woocommerce-page ul.products { grid-template-columns:1fr; }
  .lucy-benefits-grid { grid-template-columns:1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .lucy-category-image, .lucy-category-card { transition:none!important; }
  .lucy-notification-bar.is-scrolling .lucy-notification-track { animation:none!important; transform:none!important; width:100%; }
  .lucy-notification-bar.is-scrolling .lucy-notification-group[aria-hidden="true"] { display:none!important; }
  .lucy-notification-bar.is-scrolling .lucy-notification-group { width:100%; justify-content:center; flex-wrap:wrap; white-space:normal; padding:0 16px; }
}

/* v1.4.5 — true no-gap marquee + clearer Category Grid controls */
/* Never animate an unmeasured short track. JS adds .lucy-marquee-ready only
   after it has filled one cycle beyond the viewport and cloned that cycle. */
.lucy-notification-bar.is-scrolling:not(.lucy-marquee-ready) .lucy-notification-track {
  animation: none !important;
  transform: translate3d(0,0,0) !important;
  width: 100%;
}
.lucy-notification-bar.is-scrolling:not(.lucy-marquee-ready) .lucy-notification-group {
  width: 100%;
  justify-content: center;
  flex-wrap: wrap;
  white-space: normal;
  padding-left: 16px;
  padding-right: 16px;
}
.lucy-notification-bar.is-scrolling.lucy-marquee-ready .lucy-notification-track {
  width: max-content;
  animation: lucy-marquee-left-v145 var(--lucy-marquee-duration,24s) linear infinite;
}
.lucy-notification-bar.is-scrolling.direction-right.lucy-marquee-ready .lucy-notification-track {
  animation-name: lucy-marquee-right-v145;
}
@keyframes lucy-marquee-left-v145 {
  from { transform: translate3d(0,0,0); }
  to { transform: translate3d(calc(-1 * var(--lucy-marquee-shift)),0,0); }
}
@keyframes lucy-marquee-right-v145 {
  from { transform: translate3d(calc(-1 * var(--lucy-marquee-shift)),0,0); }
  to { transform: translate3d(0,0,0); }
}
@media (prefers-reduced-motion: reduce) {
  .lucy-notification-bar.is-scrolling.lucy-marquee-ready .lucy-notification-track {
    animation: none !important;
    transform: none !important;
  }
  .lucy-notification-bar.is-scrolling .lucy-notification-group[aria-hidden="true"] { display:none !important; }
}

/* Lucy v1.4.8 — live WooCommerce header search */
.lucy-search{position:relative;z-index:35;}
.lucy-search form{position:relative;z-index:2;}
.lucy-live-search-results{
  position:absolute;
  top:calc(100% + 8px);
  left:0;
  width:min(440px,calc(100vw - 32px));
  max-height:min(520px,70vh);
  overflow:auto;
  background:#fff;
  color:#171717;
  border:1px solid rgba(23,23,23,.12);
  border-radius:10px;
  box-shadow:0 18px 50px rgba(0,0,0,.16);
  opacity:0;
  visibility:hidden;
  transform:translateY(-5px);
  transition:opacity .16s ease,transform .16s ease,visibility .16s;
  z-index:10020;
  overscroll-behavior:contain;
}
.lucy-live-search-results.is-open{opacity:1;visibility:visible;transform:translateY(0);}
.lucy-live-search-status{padding:15px 16px;font-size:13px;color:#666;}
.lucy-live-search-list{display:flex;flex-direction:column;}
.lucy-live-search-item{display:grid;grid-template-columns:58px minmax(0,1fr);gap:12px;align-items:center;padding:10px 12px;color:inherit;text-decoration:none;border-bottom:1px solid rgba(23,23,23,.08);background:#fff;transition:background .15s ease;}
.lucy-live-search-item:hover,.lucy-live-search-item:focus-visible{background:#f7f5f3;outline:none;}
.lucy-live-search-thumb{width:58px;height:70px;object-fit:cover;background:#f2f2f2;border-radius:5px;display:block;}
.lucy-live-search-copy{min-width:0;display:flex;flex-direction:column;gap:4px;}
.lucy-live-search-name{font-size:13px;font-weight:600;line-height:1.3;white-space:normal;}
.lucy-live-search-price{font-size:12px;line-height:1.3;color:#555;}
.lucy-live-search-price del{opacity:.55;margin-right:4px;}
.lucy-live-search-out{font-size:10px;font-weight:700;letter-spacing:.04em;color:#9a2d2d;}
.lucy-live-search-all{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 14px;font-size:12px;font-weight:700;letter-spacing:.04em;color:#171717;text-decoration:none;background:#faf9f8;}
.lucy-live-search-all:hover{background:#f1eeeb;}
.lucy-live-search-spinner{display:inline-block;width:14px;height:14px;margin-right:8px;border:2px solid rgba(0,0,0,.15);border-top-color:#171717;border-radius:50%;vertical-align:-2px;animation:lucySearchSpin .7s linear infinite;}
@keyframes lucySearchSpin{to{transform:rotate(360deg)}}
@media(max-width:767px){
  .lucy-mobile-drawer .lucy-search{position:relative;z-index:5;}
  .lucy-mobile-drawer .lucy-live-search-results{position:relative;top:6px;left:auto;width:100%;max-height:48vh;box-shadow:0 12px 30px rgba(0,0,0,.12);}
  .lucy-live-search-item{grid-template-columns:50px minmax(0,1fr);padding:9px 10px;}
  .lucy-live-search-thumb{width:50px;height:62px;}
}

/* Lucy v1.5.0 — adaptive WooCommerce filter studio + true marquee speed */
.lucy-filter-shell{position:relative;margin:0 0 28px;z-index:auto}
.lucy-filter-toolbar{display:flex;align-items:center;gap:12px;min-height:48px;flex-wrap:wrap;border-top:1px solid var(--lucy-line);border-bottom:1px solid var(--lucy-line);padding:10px 0}
.lucy-filter-open{appearance:none;border:1px solid #171717;background:#171717;color:#fff;min-height:44px;padding:0 16px;display:inline-flex;align-items:center;gap:9px;font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;cursor:pointer;border-radius:999px;transition:transform .18s ease,background .18s ease}
.lucy-filter-open:hover{background:#2b2826;transform:translateY(-1px)}
.lucy-filter-icon{width:17px;height:17px;display:grid;place-items:center}.lucy-filter-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.lucy-filter-count{min-width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#171717;font-size:10px;letter-spacing:0}
.lucy-active-filters{display:flex;align-items:center;gap:7px;flex:1;min-width:0;overflow:auto;scrollbar-width:none}.lucy-active-filters::-webkit-scrollbar{display:none}
.lucy-active-filter{flex:0 0 auto;display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:0 11px;border:1px solid var(--lucy-line);border-radius:999px;background:#fff;font-size:11px;line-height:1;color:#312d2b}.lucy-active-filter b{font-size:15px;font-weight:400;line-height:1}.lucy-active-filter:hover{border-color:#aaa19d;color:#171717}.lucy-clear-all{background:var(--lucy-soft)}

/* The filter UI must live above sticky/Elementor headers.  The shell itself must
   NOT create a stacking context, otherwise a very high z-index on the fixed
   drawer is still trapped below the header. */
body{--lucy-filter-top-offset:0px}
body.admin-bar{--lucy-filter-top-offset:32px}
.lucy-filter-backdrop{
  position:fixed;
  top:var(--lucy-filter-top-offset,0px);right:0;bottom:0;left:0;
  background:rgba(18,16,15,.42);
  -webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .25s ease,visibility .25s ease;
  z-index:2147483000;
  touch-action:none;
}
.lucy-filter-drawer{
  position:fixed;
  top:var(--lucy-filter-top-offset,0px);bottom:auto;
  height:calc(100vh - var(--lucy-filter-top-offset,0px));
  height:calc(100dvh - var(--lucy-filter-top-offset,0px));
  width:min(var(--lucy-filter-width,430px),calc(100vw - 24px));
  max-width:100vw;
  background:#fff;
  z-index:2147483001;
  display:flex;flex-direction:column;
  box-shadow:0 0 60px rgba(0,0,0,.18);
  transition:transform .32s cubic-bezier(.22,.8,.22,1);
  overscroll-behavior:contain;
  overflow:hidden;
  visibility:hidden;
  contain:layout paint;
}
.lucy-filter-drawer.is-right{right:0;left:auto;transform:translate3d(105%,0,0)}
.lucy-filter-drawer.is-left{left:0;right:auto;transform:translate3d(-105%,0,0)}
.lucy-shop-filters-open .lucy-filter-backdrop{opacity:1;visibility:visible;pointer-events:auto}
.lucy-shop-filters-open .lucy-filter-drawer{transform:translate3d(0,0,0);visibility:visible}
.lucy-shop-filters-open{overflow:hidden;overscroll-behavior:none}
.lucy-filter-drawer-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 22px 18px;border-bottom:1px solid var(--lucy-line);flex:0 0 auto}.lucy-filter-drawer-head h2{margin:2px 0 0;font-family:var(--lucy-font-heading);font-size:30px;font-weight:400;line-height:1}.lucy-filter-eyebrow{font-size:9px;font-weight:800;letter-spacing:.16em;color:var(--lucy-muted)}
.lucy-filter-close{appearance:none;border:0;background:var(--lucy-soft);width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-size:28px;font-weight:300;line-height:1;cursor:pointer;color:#171717}
.lucy-filter-form{overflow:auto;flex:1 1 auto;padding:0 22px 98px;scrollbar-width:thin}
.lucy-filter-form{-webkit-overflow-scrolling:touch;min-height:0}.lucy-filter-drawer,.lucy-filter-drawer *{box-sizing:border-box}.lucy-filter-drawer img{max-width:100%;height:auto}.lucy-filter-drawer-head{position:relative;z-index:2;background:#fff}.lucy-filter-actions{z-index:3}
.lucy-filter-section{border-bottom:1px solid var(--lucy-line)}.lucy-filter-section>summary{list-style:none;cursor:pointer;min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;font-weight:800;letter-spacing:.075em;text-transform:uppercase}.lucy-filter-section>summary::-webkit-details-marker{display:none}.lucy-filter-section>summary:after{content:'+';font-size:20px;font-weight:300;transition:transform .2s ease}.lucy-filter-section[open]>summary:after{transform:rotate(45deg)}.lucy-filter-section-body{padding:0 0 20px}
.lucy-filter-search input{width:100%;height:46px;border:1px solid var(--lucy-line);background:#fff;border-radius:8px;padding:0 13px;outline:none}.lucy-filter-search input:focus{border-color:#817570;box-shadow:0 0 0 3px rgba(161,128,116,.12)}
.lucy-filter-options{display:grid;gap:8px}.lucy-filter-options.style-text{grid-template-columns:repeat(2,minmax(0,1fr))}.lucy-filter-categories.style-image,.lucy-attribute-options.style-image{grid-template-columns:repeat(2,minmax(0,1fr))}
.lucy-filter-option{position:relative;display:flex;align-items:center;gap:9px;min-width:0;cursor:pointer}.lucy-filter-option>input{position:absolute;opacity:0;pointer-events:none}.lucy-filter-options.style-text .lucy-filter-option,.lucy-attribute-options.style-text .lucy-filter-option{min-height:40px;border:1px solid var(--lucy-line);border-radius:8px;padding:8px 10px;background:#fff}.lucy-filter-options.style-text .lucy-filter-option:has(input:checked),.lucy-attribute-options.style-text .lucy-filter-option:has(input:checked){border-color:#171717;background:#171717;color:#fff}
.lucy-filter-visual{position:relative;display:block;width:100%;aspect-ratio:1/1.12;overflow:hidden;background:var(--lucy-soft);border:1px solid var(--lucy-line);border-radius:9px}.lucy-filter-visual img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s ease}.lucy-filter-option:hover .lucy-filter-visual img{transform:scale(1.035)}.lucy-filter-visual-placeholder{display:block;width:100%;height:100%;background:linear-gradient(135deg,#f4f1ef,#e9e3df)}
.lucy-filter-categories.style-image .lucy-filter-option,.lucy-attribute-options.style-image .lucy-filter-option{display:grid;grid-template-columns:58px minmax(0,1fr);padding:5px;border:1px solid transparent;border-radius:11px}.lucy-filter-categories.style-image .lucy-filter-visual,.lucy-attribute-options.style-image .lucy-filter-visual{width:58px;aspect-ratio:1}.lucy-filter-categories.style-image .lucy-filter-option:has(input:checked),.lucy-attribute-options.style-image .lucy-filter-option:has(input:checked){border-color:#171717;background:#faf8f7}
.lucy-filter-label{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;font-size:12px;font-weight:600;line-height:1.25}.lucy-filter-label small{font-size:10px;font-weight:500;opacity:.55}
.lucy-attribute-options.style-color{grid-template-columns:repeat(2,minmax(0,1fr))}.lucy-attribute-options.style-color .lucy-filter-option{min-height:40px;padding:6px 8px;border:1px solid var(--lucy-line);border-radius:8px}.lucy-attribute-options.style-color .lucy-filter-option:has(input:checked){border-color:#171717}.lucy-filter-color{width:24px;height:24px;border-radius:50%;background:var(--lucy-filter-swatch);border:2px solid #fff;box-shadow:0 0 0 1px rgba(0,0,0,.15);flex:0 0 auto}.lucy-filter-option:has(input:checked) .lucy-filter-color{box-shadow:0 0 0 2px #171717}

.lucy-price-values{display:grid;grid-template-columns:1fr 1fr;gap:10px}.lucy-price-values label{font-size:10px;font-weight:700;color:var(--lucy-muted);text-transform:uppercase;letter-spacing:.06em}.lucy-price-values input{display:block;width:100%;height:42px;margin-top:5px;border:1px solid var(--lucy-line);border-radius:8px;padding:0 10px;color:#171717;background:#fff}
.lucy-price-range{position:relative;height:28px;margin-top:13px}.lucy-price-range-line,.lucy-price-range-fill{position:absolute;left:0;right:0;top:13px;height:3px;border-radius:999px}.lucy-price-range-line{background:#ddd7d3}.lucy-price-range-fill{background:#171717}.lucy-price-range input[type=range]{position:absolute;inset:0;width:100%;height:28px;margin:0;background:transparent;pointer-events:none;appearance:none;-webkit-appearance:none}.lucy-price-range input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:#171717;border:3px solid #fff;box-shadow:0 0 0 1px #171717;pointer-events:auto;cursor:grab}.lucy-price-range input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:#171717;border:3px solid #fff;box-shadow:0 0 0 1px #171717;pointer-events:auto;cursor:grab}
.lucy-filter-stack{display:grid;gap:15px}.lucy-filter-switch{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:12px}.lucy-filter-switch input{position:absolute;opacity:0}.lucy-filter-switch span{width:42px;height:24px;border-radius:999px;background:#d9d4d1;position:relative;transition:.2s}.lucy-filter-switch span:after{content:'';position:absolute;width:18px;height:18px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.18);transition:.2s}.lucy-filter-switch input:checked+span{background:#171717}.lucy-filter-switch input:checked+span:after{transform:translateX(18px)}.lucy-filter-switch b{font-size:12px}
.lucy-filter-pills{display:flex;flex-wrap:wrap;gap:7px}.lucy-filter-pills label{cursor:pointer}.lucy-filter-pills input{position:absolute;opacity:0}.lucy-filter-pills span{min-height:36px;display:flex;align-items:center;padding:0 11px;border:1px solid var(--lucy-line);border-radius:999px;font-size:11px;background:#fff}.lucy-filter-pills input:checked+span{background:#171717;color:#fff;border-color:#171717}
.lucy-filter-actions{position:absolute;left:0;right:0;bottom:0;display:grid;grid-template-columns:1fr 1.35fr;gap:8px;padding:13px 22px;background:rgba(255,255,255,.95);backdrop-filter:blur(12px);border-top:1px solid var(--lucy-line)}.lucy-filter-reset,.lucy-filter-apply{min-height:46px;display:flex;align-items:center;justify-content:center;border-radius:7px;font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.lucy-filter-reset{border:1px solid var(--lucy-line);background:#fff}.lucy-filter-apply{border:1px solid #171717;background:#171717;color:#fff;cursor:pointer}

.lucy-woocommerce-wrap{position:relative}.lucy-woocommerce-wrap.is-lucy-filtering:after{content:'Ανανέωση προϊόντων…';position:absolute;z-index:50;inset:0;background:rgba(255,255,255,.76);backdrop-filter:blur(2px);display:flex;align-items:flex-start;justify-content:center;padding-top:160px;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#171717}.lucy-woocommerce-wrap.is-lucy-filtering{min-height:420px}

@media(max-width:782px){
  body.admin-bar{--lucy-filter-top-offset:46px}
  .lucy-filter-drawer{width:min(var(--lucy-filter-width,430px),94vw)}
  .lucy-filter-form{padding-left:16px;padding-right:16px;padding-bottom:calc(104px + env(safe-area-inset-bottom,0px))}
  .lucy-filter-drawer-head{padding:18px 16px 15px}
  .lucy-filter-actions{padding:11px 16px max(11px,env(safe-area-inset-bottom,0px))}
}
@media(max-width:600px){
  .lucy-filter-shell{margin-bottom:18px}
  .lucy-filter-toolbar{flex-wrap:nowrap;overflow:hidden}
  .lucy-filter-open{flex:0 0 auto}
  .lucy-active-filters{flex-wrap:nowrap}
  .lucy-filter-drawer{width:100vw;max-width:100vw;border-radius:0}
  .lucy-filter-drawer-head h2{font-size:27px}
  .lucy-filter-close{width:44px;height:44px;flex:0 0 44px}
  .lucy-filter-categories.style-image,.lucy-attribute-options.style-image{grid-template-columns:1fr 1fr}
  .lucy-filter-categories.style-image .lucy-filter-option,.lucy-attribute-options.style-image .lucy-filter-option{grid-template-columns:48px minmax(0,1fr)}
  .lucy-filter-categories.style-image .lucy-filter-visual,.lucy-attribute-options.style-image .lucy-filter-visual{width:48px}
  .lucy-filter-options.style-text,.lucy-attribute-options.style-color{grid-template-columns:1fr 1fr}
  .lucy-filter-actions{grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr);gap:7px}
  .lucy-filter-reset,.lucy-filter-apply{min-width:0;padding-left:8px;padding-right:8px;font-size:10px}
}
@media(max-width:420px){
  .lucy-filter-categories.style-image,.lucy-attribute-options.style-image{grid-template-columns:1fr}
  .lucy-filter-categories.style-image .lucy-filter-option,.lucy-attribute-options.style-image .lucy-filter-option{grid-template-columns:54px minmax(0,1fr)}
  .lucy-filter-categories.style-image .lucy-filter-visual,.lucy-attribute-options.style-image .lucy-filter-visual{width:54px}
  .lucy-filter-options.style-text,.lucy-attribute-options.style-color{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.lucy-filter-drawer,.lucy-filter-backdrop,.lucy-filter-open,.lucy-filter-visual img{transition:none!important}}

/* Lucy v1.5.3 — optional Back to Top button */
.lucy-back-to-top{
  position:fixed;
  z-index:2147482500;
  bottom:calc(var(--lucy-back-top-bottom,24px) + env(safe-area-inset-bottom,0px));
  width:var(--lucy-back-top-size,50px);
  height:var(--lucy-back-top-size,50px);
  border:0;
  border-radius:50%;
  display:grid;
  place-items:center;
  padding:0;
  background:var(--lucy-back-top-bg,#171717);
  color:var(--lucy-back-top-color,#fff);
  box-shadow:0 10px 28px rgba(0,0,0,.18);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(12px) scale(.96);
  transition:opacity .2s ease,visibility .2s ease,transform .2s ease,background-color .2s ease,box-shadow .2s ease;
  cursor:pointer;
}
.lucy-back-to-top.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0) scale(1)}
.lucy-back-to-top:hover,.lucy-back-to-top:focus-visible{background:var(--lucy-back-top-hover-bg,#a18074);box-shadow:0 14px 34px rgba(0,0,0,.24);outline:none}
.lucy-back-to-top:focus-visible{outline:3px solid rgba(161,128,116,.28);outline-offset:3px}
.lucy-back-to-top svg{width:45%;height:45%;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
body.lucy-shop-filters-open .lucy-back-to-top,body.lucy-drawer-open .lucy-back-to-top{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
@media(max-width:782px){
  .lucy-back-to-top[data-show-mobile="0"]{display:none!important}
  .lucy-back-to-top{bottom:calc(var(--lucy-back-top-bottom,24px) + env(safe-area-inset-bottom,0px));}
}
@media(prefers-reduced-motion:reduce){.lucy-back-to-top{transition:none!important}}

/* Lucy v1.5.4 — configurable social strip below notification bar */
.lucy-social-strip{
  width:100%;
  max-width:100%;
  background:#fff;
  border-bottom:1px solid var(--lucy-line);
  position:relative;
  z-index:94;
}
.lucy-social-strip-inner{
  min-height:44px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
}
.lucy-social-strip .lucy-social-links{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
}
.lucy-social-strip .lucy-social-link{
  width:30px;
  height:30px;
}
@media (max-width: 767px){
  .lucy-social-strip-inner{
    width:min(calc(100% - 24px), var(--lucy-container));
    min-height:34px;
    justify-content:center;
  }
  .lucy-social-strip .lucy-social-links{
    display:flex!important;
    justify-content:center;
    max-width:100%;
  }
  .lucy-social-strip .lucy-social-link{
    width:30px;
    height:30px;
    min-width:30px;
  }
}


/* v1.5.5 — GTranslate language selector integration */
.lucy-utility-strip-inner { display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.lucy-utility-strip-inner .lucy-language-strip { margin-left:auto; }
.lucy-language-switcher {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  min-width:0;
  max-width:100%;
  padding:4px 8px;
  border:1px solid var(--lucy-line);
  background:#fff;
  line-height:1.2;
  position:relative;
  z-index:2;
}
.lucy-language-switcher > * { max-width:100%; }
.lucy-language-switcher select,
.lucy-language-switcher .gt_selector {
  max-width:100%;
  min-height:32px;
  border:0;
  background:transparent;
  color:inherit;
  padding:4px 24px 4px 6px;
  font:inherit;
  cursor:pointer;
  outline:none;
}
.lucy-language-switcher .switcher { max-width:min(100%, 220px); font-size:inherit; }
.lucy-language-switcher .switcher .selected a,
.lucy-language-switcher .switcher .option a { color:inherit; }
.lucy-language-switcher img { width:auto; max-width:32px; height:auto; }
.lucy-language-placeholder { color:var(--lucy-muted); border-style:dashed; font-size:12px; padding:8px 10px; }
.lucy-language-header-mobile, .lucy-language-mobile { display:none; }

@media (max-width:1100px) {
  .lucy-utility-strip-inner { justify-content:center; }
  .lucy-utility-strip-inner .lucy-language-strip { margin-left:0; }
  .lucy-header-actions .lucy-language-header-mobile { display:inline-flex; max-width:150px; padding:2px 5px; border:0; }
  .lucy-header-actions .lucy-language-header-mobile select,
  .lucy-header-actions .lucy-language-header-mobile .gt_selector { min-height:36px; max-width:140px; font-size:12px; }
  .lucy-mobile-drawer .lucy-language-mobile { display:flex; margin:12px 22px 4px; width:calc(100% - 44px); justify-content:flex-start; }
  .lucy-mobile-drawer .lucy-language-mobile .switcher,
  .lucy-mobile-drawer .lucy-language-mobile select,
  .lucy-mobile-drawer .lucy-language-mobile .gt_selector { width:100%; max-width:100%; }
}

@media (max-width:760px) {
  .lucy-utility-strip-inner { gap:8px; padding-top:5px; padding-bottom:5px; }
  .lucy-language-desktop { display:none !important; }
  .lucy-header-actions .lucy-language-header-mobile { display:inline-flex; max-width:128px; padding:2px 4px; border:0; }
  .lucy-header-actions .lucy-language-header-mobile select,
  .lucy-header-actions .lucy-language-header-mobile .gt_selector { min-height:36px; max-width:120px; font-size:11px; padding-left:2px; }
  .lucy-mobile-drawer .lucy-language-mobile { display:flex; margin:12px 22px 4px; width:calc(100% - 44px); justify-content:flex-start; }
  .lucy-mobile-drawer .lucy-language-mobile .switcher,
  .lucy-mobile-drawer .lucy-language-mobile select,
  .lucy-mobile-drawer .lucy-language-mobile .gt_selector { width:100%; max-width:100%; }
  .lucy-language-strip { max-width:100%; }
  .lucy-language-hide-mobile { display:none !important; }
}

@media (max-width:480px) {
  .lucy-header-actions .lucy-language-header-mobile { max-width:96px; }
  .lucy-header-actions .lucy-language-header-mobile select,
  .lucy-header-actions .lucy-language-header-mobile .gt_selector { max-width:90px; }
}


/* v1.5.6 — robust social icons + immediately visible GTranslate flags */
.lucy-utility-strip{
  position:relative;
  z-index:160;
  overflow:visible!important;
}
.lucy-social-link-disabled{cursor:default;opacity:.82}
.lucy-social-link-disabled:hover{transform:none;color:var(--lucy-social-color,var(--lucy-text))}
.lucy-social-link svg{display:block;width:1em!important;height:1em!important;overflow:visible}
.lucy-social-letter{display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:.78em}
.lucy-language-switcher{
  z-index:165;
  overflow:visible!important;
  min-width:max-content;
}
.lucy-language-direct{padding:2px 5px}
.lucy-language-switcher .lucy-gt-links{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  flex-wrap:nowrap;
  min-height:22px;
  white-space:nowrap;
}
.lucy-language-switcher .lucy-gt-link,
.lucy-language-switcher .lucy-gt-link > a,
.lucy-language-switcher a[data-gt-lang]{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  gap:5px;
  min-width:22px;
  min-height:22px;
  padding:1px;
  color:inherit!important;
  line-height:1!important;
  position:relative;
  z-index:166;
  opacity:1!important;
  visibility:visible!important;
}
.lucy-language-switcher .lucy-gt-link img,
.lucy-language-switcher a[data-gt-lang] img,
.lucy-language-switcher .gtranslate_wrapper img{
  display:block!important;
  width:calc(var(--lucy-language-flag-size, 15px) * 1.45)!important;
  min-width:0!important;
  max-width:calc(var(--lucy-language-flag-size, 15px) * 1.45)!important;
  height:var(--lucy-language-flag-size, 15px)!important;
  object-fit:cover;
  opacity:1!important;
  visibility:visible!important;
}
.lucy-language-switcher .gtranslate_wrapper{
  display:inline-flex!important;
  align-items:center;
  min-height:22px;
  min-width:22px;
  overflow:visible!important;
}
@media(max-width:760px){
  .lucy-language-switcher .lucy-gt-links{gap:6px;max-width:100%;overflow-x:auto;scrollbar-width:none}
  .lucy-language-switcher .lucy-gt-links::-webkit-scrollbar{display:none}
  .lucy-language-switcher .lucy-gt-link img,
  .lucy-language-switcher a[data-gt-lang] img{
    width:calc(var(--lucy-language-flag-size, 14px) * 1.45)!important;
    height:var(--lucy-language-flag-size, 14px)!important;
    min-width:0!important;
    max-width:calc(var(--lucy-language-flag-size, 14px) * 1.45)!important;
  }
}


/* v1.5.7 — compact header social icons and GTranslate flags */
.lucy-social-strip .lucy-social-link{width:30px;height:30px;min-width:30px}
.lucy-language-switcher{--lucy-language-flag-size:15px;min-height:30px;padding:2px 5px}
.lucy-language-switcher .lucy-gt-links{gap:6px}
.lucy-language-switcher .lucy-gt-link,
.lucy-language-switcher .lucy-gt-link>a,
.lucy-language-switcher a[data-gt-lang]{min-width:22px;min-height:22px;padding:1px}
@media(max-width:760px){
  .lucy-language-switcher{--lucy-language-flag-size:14px;min-height:28px;padding:1px 4px}
  .lucy-header-actions .lucy-social-header-mobile .lucy-social-link{width:28px;height:34px;min-width:28px;font-size:14px}
  .lucy-social-strip .lucy-social-link{width:28px;height:28px;min-width:28px}
}

/* v1.5.8 — split social / language utility strip, especially on mobile */
.lucy-social-strip .lucy-social-strip-inner.lucy-utility-strip-inner{
  width:min(calc(100% - 32px), var(--lucy-container));
  margin-inline:auto;
  display:flex;
  align-items:center;
  justify-content:space-between!important;
  flex-wrap:nowrap;
  column-gap:clamp(24px, 8vw, 140px);
}
.lucy-social-strip .lucy-social-strip-links{
  margin-right:auto;
  flex:0 0 auto;
  justify-content:flex-start;
}
.lucy-social-strip .lucy-language-strip{
  margin-left:auto!important;
  flex:0 0 auto;
}
@media(max-width:760px){
  .lucy-social-strip .lucy-social-strip-inner.lucy-utility-strip-inner{
    width:100%;
    padding:4px 14px;
    column-gap:24px;
    justify-content:space-between!important;
  }
  .lucy-social-strip .lucy-social-strip-links{
    margin-right:auto;
    justify-content:flex-start!important;
    gap:6px;
  }
  .lucy-social-strip .lucy-language-strip{
    margin-left:auto!important;
    justify-content:flex-end;
  }
  .lucy-social-strip .lucy-language-switcher{
    max-width:46vw;
  }
}
@media(max-width:420px){
  .lucy-social-strip .lucy-social-strip-inner.lucy-utility-strip-inner{
    padding-inline:10px;
    column-gap:14px;
  }
  .lucy-social-strip .lucy-social-strip-links{gap:3px;}
  .lucy-social-strip .lucy-language-switcher{max-width:43vw;}
}

/* v1.6.0 — responsive Elementor logo sizing without breaking header layout. */
.lucy-editor-logo {
  --lucy-editor-logo-size: 160px;
  width: min(var(--lucy-editor-logo-size), 44vw);
  max-width: none;
  max-height: 80px;
  height: auto;
  object-fit: contain;
}
.lucy-editor-logo-link,
.lucy-brand {
  min-width: 0;
  max-width: 100%;
}
@media (max-width: 1024px) {
  .lucy-editor-logo {
    --lucy-editor-logo-size: 130px;
    width: min(var(--lucy-editor-logo-size), 40vw);
    max-height: 72px;
  }
}
@media (max-width: 767px) {
  .lucy-editor-logo {
    --lucy-editor-logo-size: 105px;
    width: min(var(--lucy-editor-logo-size), 34vw);
    max-height: 68px;
  }
  .lucy-header-main {
    height: auto;
  }
}
@media (max-width: 380px) {
  .lucy-editor-logo {
    width: min(var(--lucy-editor-logo-size), 30vw);
  }
}

/* v1.6.2 — visible responsive logo wheel + header height independent from logo size. */
.lucy-site-header .lucy-header-main {
  height:96px;
  min-height:96px;
}
.lucy-brand {
  min-width:0;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:visible;
}
.lucy-editor-logo-link {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  max-width:100%;
  height:100%;
  line-height:0;
}
img.lucy-editor-logo {
  width:160px;
  max-width:100%;
  max-height:80px;
  height:auto;
  object-fit:contain;
  flex:0 0 auto;
}
@media (max-width:1100px) {
  .lucy-site-header .lucy-header-main { height:78px; min-height:78px; }
  img.lucy-editor-logo { width:130px; max-height:68px; }
}
@media (max-width:767px) {
  .lucy-site-header .lucy-header-main { height:70px; min-height:70px; }
  .lucy-brand { justify-content:flex-start; }
  img.lucy-editor-logo { width:105px; max-height:60px; }
}
@media (max-width:380px) {
  img.lucy-editor-logo { max-width:100%; }
}

/* v1.6.3 — logo slider runtime CSS is scoped per Elementor widget.
   Do not globally clamp .lucy-editor-logo here; the optional height limiter is controlled by the widget. */
.lucy-elementor-header .lucy-brand,
.lucy-elementor-header .lucy-editor-logo-link { overflow:visible; }


/* v1.6.4 — hard-safe responsive logo box.
   The requested Elementor logo width is allowed to grow only inside the header cell.
   This prevents the image from ever covering the navigation/search/actions. */
.lucy-elementor-header .lucy-header-main > .lucy-brand {
  align-self:stretch;
  min-height:0;
  max-height:100%;
  overflow:hidden !important;
}
.lucy-elementor-header .lucy-brand .lucy-editor-logo-link {
  min-height:0;
  max-height:100%;
  overflow:hidden !important;
}
.lucy-elementor-header .lucy-brand img.lucy-editor-logo {
  display:block;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  object-position:center !important;
}

/* v1.6.5 — global palette defaults + refresh/FOUC hardening */
.lucy-site-header{background:var(--lucy-header-bg, var(--lucy-bg));color:var(--lucy-header-text, var(--lucy-text));}
.lucy-footer-main,.lucy-footer-bottom{background:var(--lucy-footer-bg, var(--lucy-bg));color:var(--lucy-footer-text, var(--lucy-text));}
.lucy-notification-bar{background:var(--lucy-notification-bg, var(--lucy-dark));color:var(--lucy-notification-text, #fff);}
.lucy-benefits-row,.lucy-benefit,.lucy-site-part-preview{background:var(--lucy-bg);}
.lucy-promo-copy,.lucy-setup-note{background:var(--lucy-soft);}
.lucy-newsletter{background:var(--lucy-accent-2);}
.lucy-badge-sale,.lucy-demo-badge.is-sale{background:var(--lucy-sale);}
.lucy-btn-dark{background:var(--lucy-dark)!important;color:var(--lucy-button-text,#fff)!important;}

/* v1.6.6 — responsive Product Badge Designer */
.woocommerce ul.products li.product > .onsale,
.woocommerce-page ul.products li.product > .onsale{display:none!important;}
.woocommerce ul.products li.product.lucy-product-card,
.woocommerce-page ul.products li.product.lucy-product-card{overflow:visible;}
.lucy-product-badge-stack,
.lucy-product-offer-badge-wrap{position:absolute;z-index:8;pointer-events:none;max-width:min(82%,220px);}
.lucy-product-badge-stack{display:flex;flex-direction:column;align-items:flex-start;gap:5px;}
.lucy-product-badge-stack.is-top-left{top:10px;left:10px;right:auto;bottom:auto;align-items:flex-start;}
.lucy-product-badge-stack.is-top-right{top:10px;right:10px;left:auto;bottom:auto;align-items:flex-end;}
.lucy-product-badge-stack.is-bottom-left{bottom:10px;left:10px;right:auto;top:auto;align-items:flex-start;}
.lucy-product-badge-stack.is-bottom-right{bottom:10px;right:10px;left:auto;top:auto;align-items:flex-end;}
.lucy-product-offer-badge-wrap.is-top-right{top:10px;right:10px;left:auto;bottom:auto;}
.lucy-product-offer-badge-wrap.is-top-left{top:10px;left:10px;right:auto;bottom:auto;}
.lucy-product-offer-badge-wrap.is-bottom-right{bottom:10px;right:10px;left:auto;top:auto;}
.lucy-product-offer-badge-wrap.is-bottom-left{bottom:10px;left:10px;right:auto;top:auto;}
.lucy-badge{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-height:26px;max-width:100%;padding:4px 9px;border:1px solid transparent;background:#fff;color:#171717;font-size:10px;font-weight:800;line-height:1.05;letter-spacing:.07em;text-align:center;text-transform:uppercase;white-space:normal;overflow-wrap:anywhere;box-shadow:none;}
.lucy-badge-new{background:#fff;color:#171717;}
.lucy-badge-discount{background:var(--lucy-sale);color:#fff;}
.lucy-badge-offer{background:#9b9200;color:#fff;text-transform:none;letter-spacing:0;font-size:14px;}
.lucy-badge-sold{background:#171717;color:#fff;}
.lucy-badge-shape-label{border-radius:0;}
.lucy-badge-shape-rounded{border-radius:6px;}
.lucy-badge-shape-pill{border-radius:999px;padding-left:13px;padding-right:13px;}
.lucy-badge-shape-circle{width:58px;min-width:58px;height:58px;min-height:58px;border-radius:50%;padding:5px;aspect-ratio:1/1;}
.lucy-badge-shape-oval{min-width:88px;min-height:54px;border-radius:50%;padding:8px 14px;}
.lucy-badge-shape-outline{background:rgba(255,255,255,.88)!important;border-width:1px;border-style:solid;border-radius:0;backdrop-filter:blur(3px);}
.lucy-badge-shape-ribbon{border-radius:2px;padding-left:10px;padding-right:18px;clip-path:polygon(0 0,100% 0,88% 50%,100% 100%,0 100%);}
.lucy-badge-shape-soft{border-radius:8px;box-shadow:0 7px 22px rgba(0,0,0,.12);backdrop-filter:blur(5px);}
/* Keep wishlist/quick actions clear from a top-right offer badge. */
.lucy-product-card .lucy-product-actions{top:78px;}
/* WooCommerce native cards can place the image inside the product link. Absolute badges stay anchored to the card. */
.woocommerce ul.products li.product.lucy-product-card .lucy-product-badge-stack,
.woocommerce ul.products li.product.lucy-product-card .lucy-product-offer-badge-wrap{position:absolute;}
@media (max-width:1024px){
  .lucy-product-badge-stack,.lucy-product-offer-badge-wrap{max-width:min(78%,180px);}
  .lucy-badge{min-height:23px;padding:3px 7px;font-size:9px;}
  .lucy-badge-offer{font-size:12px;}
  .lucy-badge-shape-circle{width:50px;min-width:50px;height:50px;min-height:50px;}
  .lucy-badge-shape-oval{min-width:76px;min-height:46px;padding:6px 11px;}
  .lucy-product-card .lucy-product-actions{top:68px;}
}
@media (max-width:767px){
  .lucy-product-badge-stack.is-top-left,.lucy-product-badge-stack.is-bottom-left,.lucy-product-offer-badge-wrap.is-top-left,.lucy-product-offer-badge-wrap.is-bottom-left{left:7px;}
  .lucy-product-badge-stack.is-top-right,.lucy-product-badge-stack.is-bottom-right,.lucy-product-offer-badge-wrap.is-top-right,.lucy-product-offer-badge-wrap.is-bottom-right{right:7px;}
  .lucy-product-badge-stack.is-top-left,.lucy-product-badge-stack.is-top-right,.lucy-product-offer-badge-wrap.is-top-left,.lucy-product-offer-badge-wrap.is-top-right{top:7px;}
  .lucy-product-badge-stack.is-bottom-left,.lucy-product-badge-stack.is-bottom-right,.lucy-product-offer-badge-wrap.is-bottom-left,.lucy-product-offer-badge-wrap.is-bottom-right{bottom:7px;}
  .lucy-product-badge-stack{gap:4px;max-width:74%;}
  .lucy-product-offer-badge-wrap{max-width:54%;}
  .lucy-badge{min-height:20px;padding:3px 6px;font-size:8px;letter-spacing:.045em;}
  .lucy-badge-offer{font-size:10px;}
  .lucy-badge-shape-pill{padding-left:9px;padding-right:9px;}
  .lucy-badge-shape-circle{width:43px;min-width:43px;height:43px;min-height:43px;padding:4px;}
  .lucy-badge-shape-oval{min-width:66px;min-height:39px;padding:5px 8px;}
  .lucy-badge-shape-ribbon{padding-left:7px;padding-right:13px;}
  .lucy-product-card .lucy-product-actions{top:58px;}
}

/* v1.6.7 — footer brand logo + locked theme credit */
.lucy-footer-brand-head{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin:0 0 14px;min-width:0}
.lucy-footer-brand-head h3{margin:0}
.lucy-footer-brand-logo{display:flex;align-items:center;justify-content:flex-start;max-width:100%;min-width:0;overflow:hidden}
.lucy-footer-brand-logo img{display:block;max-width:100%;height:auto;object-fit:contain}
.lucy-theme-credit{white-space:normal}
@media(max-width:767px){
  .lucy-footer-brand-head{align-items:flex-start}
  .lucy-footer-brand-logo img{max-width:100%}
}


/* v1.6.8 — collision-proof product badge layout.
   Badges are anchored to the image shell, not to the whole product card. */
.lucy-product-media-shell{
  position:relative;
  display:block;
  width:100%;
  max-width:100%;
  margin:0 0 12px;
  overflow:hidden;
  isolation:isolate;
}
.woocommerce ul.products li.product.lucy-product-card a .lucy-product-media-shell img,
.woocommerce-page ul.products li.product.lucy-product-card a .lucy-product-media-shell img{
  display:block;
  width:100%;
  max-width:100%;
  margin:0!important;
  aspect-ratio:var(--lucy-card-ratio,1/1);
  object-fit:cover;
}
.lucy-product-badge-board{
  position:absolute;
  inset:0;
  z-index:9;
  pointer-events:none;
  overflow:hidden;
}
.lucy-badge-corner{
  position:absolute;
  display:flex;
  flex-direction:column;
  gap:6px;
  max-width:calc(50% - 16px);
  min-width:0;
  pointer-events:none;
}
.lucy-badge-corner.is-top-left{top:10px;left:10px;align-items:flex-start;}
.lucy-badge-corner.is-top-right{top:10px;right:10px;align-items:flex-end;}
.lucy-badge-corner.is-bottom-left{bottom:10px;left:10px;align-items:flex-start;}
.lucy-badge-corner.is-bottom-right{bottom:10px;right:10px;align-items:flex-end;}
/* Reset legacy absolute positioning inside the new corner zones. */
.lucy-product-badge-board .lucy-product-badges,
.lucy-product-badge-board .lucy-product-badge-stack,
.lucy-product-badge-board .lucy-product-offer-badge-wrap{
  position:static!important;
  inset:auto!important;
  display:flex;
  flex-direction:column;
  align-items:inherit;
  gap:6px;
  width:auto;
  max-width:100%;
  min-width:0;
  pointer-events:none;
}
.lucy-product-badge-board .lucy-badge{
  flex:0 0 auto;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
}
/* Large shapes remain inside their own half of the image. */
.lucy-product-badge-board .lucy-badge-shape-circle,
.lucy-product-badge-board .lucy-badge-shape-oval{
  max-width:100%;
}
@media (max-width:1024px){
  .lucy-badge-corner{max-width:calc(50% - 12px);gap:5px;}
  .lucy-badge-corner.is-top-left{top:8px;left:8px;}
  .lucy-badge-corner.is-top-right{top:8px;right:8px;}
  .lucy-badge-corner.is-bottom-left{bottom:8px;left:8px;}
  .lucy-badge-corner.is-bottom-right{bottom:8px;right:8px;}
  .lucy-product-badge-board .lucy-product-badges{gap:5px;}
}
@media (max-width:767px){
  .lucy-product-media-shell{margin-bottom:9px;}
  .lucy-badge-corner{max-width:calc(50% - 9px);gap:4px;}
  .lucy-badge-corner.is-top-left{top:6px;left:6px;}
  .lucy-badge-corner.is-top-right{top:6px;right:6px;}
  .lucy-badge-corner.is-bottom-left{bottom:6px;left:6px;}
  .lucy-badge-corner.is-bottom-right{bottom:6px;right:6px;}
  .lucy-product-badge-board .lucy-product-badges{gap:4px;}
}


/* v1.7.0 — adaptive, single-line, uniform product badges.
   Badge labels keep their text on one line and auto-fit inside their corner.
   This is a safety layer: Elementor/global styling still controls the design,
   while narrow product cards cannot force NEW / SALE / -% into vertical text. */
.lucy-product-media-shell{
  container-type:inline-size;
}
.lucy-product-badge-board .lucy-badge-corner{
  width:max-content;
  max-width:calc(50% - 16px);
}
.lucy-product-badge-board .lucy-product-badges{
  width:max-content;
  max-width:100%;
}
.lucy-product-badge-board .lucy-badge{
  width:max-content;
  max-width:100%;
  white-space:nowrap!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
  line-height:1!important;
  text-overflow:clip;
  flex-shrink:0;
}
/* Keep the visual shapes proportional instead of allowing text wrapping to
   make a circle/oval/ribbon look tall and broken. */
.lucy-product-badge-board .lucy-badge-shape-label,
.lucy-product-badge-board .lucy-badge-shape-rounded,
.lucy-product-badge-board .lucy-badge-shape-pill,
.lucy-product-badge-board .lucy-badge-shape-outline,
.lucy-product-badge-board .lucy-badge-shape-ribbon,
.lucy-product-badge-board .lucy-badge-shape-soft{
  min-width:max-content;
}
.lucy-product-badge-board .lucy-badge-shape-circle{
  width:clamp(48px,18cqw,64px);
  min-width:clamp(48px,18cqw,64px);
  height:clamp(48px,18cqw,64px);
  min-height:clamp(48px,18cqw,64px);
}
.lucy-product-badge-board .lucy-badge-shape-oval{
  min-width:clamp(68px,26cqw,94px);
  min-height:clamp(38px,14cqw,54px);
}
/* Offer labels are usually the longest. Give them a compact typography
   baseline; the JS safety fitter only reduces it further when necessary. */
.lucy-product-badge-board .lucy-badge-offer{
  font-size:clamp(9px,3.4cqw,14px);
  letter-spacing:0!important;
}
@container (max-width:260px){
  .lucy-product-badge-board .lucy-badge-corner{max-width:calc(50% - 9px);}
  .lucy-product-badge-board .lucy-badge{padding-left:6px!important;padding-right:6px!important;}
  .lucy-product-badge-board .lucy-badge-shape-pill{padding-left:8px!important;padding-right:8px!important;}
  .lucy-product-badge-board .lucy-badge-shape-ribbon{padding-left:6px!important;padding-right:11px!important;}
}
@container (max-width:190px){
  .lucy-product-badge-board .lucy-badge-corner{max-width:calc(50% - 7px);}
  .lucy-product-badge-board .lucy-badge{padding-left:4px!important;padding-right:4px!important;letter-spacing:0!important;}
  .lucy-product-badge-board .lucy-badge-shape-ribbon{padding-left:4px!important;padding-right:8px!important;}
}
@media (max-width:1024px){
  .lucy-product-badge-board .lucy-badge-corner{max-width:calc(50% - 12px);}
}
@media (max-width:767px){
  .lucy-product-badge-board .lucy-badge-corner{max-width:calc(50% - 9px);}
}


/* v1.7.1 — use the same Product Badge Designer on the single-product gallery.
   WooCommerce's native sale flash is removed in PHP; the main gallery image
   gets the same collision-proof badge board used by shop/category cards. */
.single-product .woocommerce-product-gallery__image{
  position:relative;
  container-type:inline-size;
  isolation:isolate;
}
.single-product .woocommerce-product-gallery__image > .lucy-product-badge-board{
  position:absolute;
  inset:0;
  z-index:18;
  pointer-events:none;
  overflow:hidden;
}
/* Safety: hide any native/third-party Woo sale flash that duplicates Lucy's
   editable offer badge, while leaving Lucy badges untouched. */
.single-product div.product > span.onsale,
.single-product .woocommerce-product-gallery span.onsale{
  display:none!important;
}
/* Single gallery is much wider than a grid card, so retain the configured
   design while keeping labels proportional across desktop/tablet/mobile. */
.single-product .woocommerce-product-gallery__image .lucy-badge-corner{
  max-width:calc(50% - 18px);
}
.single-product .woocommerce-product-gallery__image .lucy-badge{
  white-space:nowrap!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
@media (max-width:1024px){
  .single-product .woocommerce-product-gallery__image .lucy-badge-corner{max-width:calc(50% - 14px);}
}
@media (max-width:767px){
  .single-product .woocommerce-product-gallery__image .lucy-badge-corner{max-width:calc(50% - 10px);}
}

/* v1.7.2 — sale-price typography cleanup.
   WooCommerce outputs the active sale price inside <ins>, whose browser
   default styling can underline the amount. Keep only the old regular price
   struck through; the current sale price stays clean everywhere. */
.woocommerce .price ins,
.woocommerce div.product p.price ins,
.woocommerce div.product span.price ins,
.woocommerce ul.products li.product .price ins,
.lucy-product-price ins,
.lucy-demo-product-info ins,
.lucy-live-search-price ins,
.lucy-mini-cart-content ins,
.woocommerce .price ins .woocommerce-Price-amount,
.woocommerce div.product p.price ins .woocommerce-Price-amount,
.woocommerce div.product span.price ins .woocommerce-Price-amount,
.woocommerce ul.products li.product .price ins .woocommerce-Price-amount {
  text-decoration: none !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  background: transparent;
}
/* Links wrapping prices must not re-introduce an underline/bottom rule. */
.woocommerce ul.products li.product a .price,
.woocommerce ul.products li.product a .price ins,
.woocommerce ul.products li.product a .price ins *,
.lucy-product-card a .lucy-product-price,
.lucy-product-card a .lucy-product-price ins,
.lucy-product-card a .lucy-product-price ins * {
  text-decoration: none !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}
/* Preserve the semantic strike-through only on the previous regular price. */
.woocommerce .price del,
.woocommerce div.product p.price del,
.woocommerce div.product span.price del,
.woocommerce ul.products li.product .price del,
.lucy-product-price del,
.lucy-demo-product-info del,
.lucy-live-search-price del {
  text-decoration-line: line-through;
  text-decoration-style: solid;
}


/* v1.7.3 — keep WooCommerce gallery zoom trigger away from product badges.
   Lucy badges occupy the four image corners, so the gallery zoom control is
   anchored to the vertical centre of the right edge. This remains collision-
   free regardless of which badge corners the merchant enables. */
.single-product .woocommerce-product-gallery {
  position: relative;
}
.single-product .woocommerce-product-gallery .woocommerce-product-gallery__trigger {
  top: 50% !important;
  right: 12px !important;
  bottom: auto !important;
  left: auto !important;
  transform: translateY(-50%) !important;
  z-index: 32 !important;
  margin: 0 !important;
}
@media (max-width: 1024px) {
  .single-product .woocommerce-product-gallery .woocommerce-product-gallery__trigger {
    right: 10px !important;
  }
}
@media (max-width: 767px) {
  .single-product .woocommerce-product-gallery .woocommerce-product-gallery__trigger {
    right: 8px !important;
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    min-height: 38px !important;
  }
}

/* v1.7.5 — desktop layout restore + mobile-only responsive hardening.
   Desktop keeps the original centered storefront width. Responsive safety rules
   are deliberately scoped to tablet/mobile so Elementor desktop geometry is not overridden. */
@media (min-width: 1025px) {
  .lucy-elementor-header .lucy-container,
  .lucy-site-header .lucy-container,
  .lucy-social-strip .lucy-container,
  .lucy-primary-nav .lucy-container {
    width: min(calc(100% - 40px), var(--lucy-container)) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

@media (max-width: 1024px) {
  html,
  body {
    max-width: 100%;
    overflow-x: hidden;
  }
  @supports (overflow: clip) {
    html,
    body { overflow-x: clip; }
  }

  .lucy-container,
  .lucy-header-main > *,
  .lucy-footer-grid > *,
  .lucy-newsletter-inner > *,
  .lucy-promo-split > *,
  .lucy-benefits-grid > *,
  .lucy-category-grid > *,
  .lucy-trust-grid > *,
  .woocommerce,
  .woocommerce-page,
  .woocommerce div.product,
  .woocommerce div.product > *,
  .woocommerce ul.products > li,
  .lucy-product-card,
  .lucy-product-info {
    min-width: 0;
  }

  .lucy-header-main { gap: clamp(8px, 2vw, 18px); }
  .lucy-header-actions { gap: 4px; min-width: 0; }
  .lucy-phone { display: none; }
  .lucy-cart-total { display: none; }
  .lucy-social-links,
  .lucy-language-switcher,
  .lucy-language-switcher .lucy-gt-links { min-width: 0; }
  .lucy-live-search-results { max-width: min(420px, calc(100vw - 24px)); }

  .lucy-filter-drawer {
    width: min(var(--lucy-filter-width, 430px), 100vw) !important;
    max-width: 100vw !important;
    overflow-x: hidden;
    overscroll-behavior: contain;
  }
  .lucy-filter-form,
  .lucy-filter-section,
  .lucy-filter-section-body,
  .lucy-filter-options { min-width: 0; max-width: 100%; }
  .lucy-filter-label { min-width: 0; overflow-wrap: anywhere; }

  .woocommerce div.product div.images,
  .woocommerce div.product div.summary,
  .woocommerce-product-gallery,
  .woocommerce-product-gallery__wrapper,
  .woocommerce-product-gallery__image,
  .woocommerce-product-gallery__image a,
  .woocommerce-product-gallery__image img { max-width: 100%; }

  .woocommerce div.product .product_title { font-size: clamp(28px, 5vw, 42px); }
}

@media (max-width: 767px) {
  .woocommerce input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
  .woocommerce select,
  .woocommerce textarea,
  .lucy-filter-drawer input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
  .lucy-filter-drawer select,
  .lucy-filter-drawer textarea,
  .lucy-search input[type="search"],
  .lucy-newsletter input,
  .lucy-newsletter select,
  .lucy-newsletter textarea { font-size: 16px !important; max-width: 100%; }

  .lucy-container { width: min(calc(100% - 24px), var(--lucy-container)); }
  .lucy-header-main {
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 6px;
    padding-inline: 0;
  }
  .lucy-brand { min-width: 0; overflow: hidden !important; }
  .lucy-header-actions { max-width: 46vw; justify-content: flex-end; overflow: visible; }
  .lucy-action-link,
  .lucy-cart-link,
  .lucy-mobile-toggle {
    width: 40px;
    min-width: 40px;
    height: 44px;
  }

  .lucy-social-strip .lucy-social-strip-inner.lucy-utility-strip-inner { min-width: 0; gap: 10px; }
  .lucy-social-strip .lucy-social-strip-links,
  .lucy-social-strip .lucy-language-strip { min-width: 0; max-width: 48%; }
  .lucy-social-strip .lucy-social-strip-links,
  .lucy-social-strip .lucy-language-switcher {
    overflow-x: auto !important;
    scrollbar-width: none;
  }
  .lucy-social-strip .lucy-social-strip-links::-webkit-scrollbar,
  .lucy-social-strip .lucy-language-switcher::-webkit-scrollbar { display: none; }
  .lucy-social-strip .lucy-language-switcher { max-width: 48vw; }

  .lucy-hero-inner,
  .lucy-promo-copy { max-width: 100%; }
  .lucy-hero h1 { font-size: clamp(36px, 13vw, 54px); overflow-wrap: anywhere; }
  .lucy-promo-copy h2,
  .lucy-section-heading h2,
  .lucy-newsletter h2 { font-size: clamp(28px, 9vw, 38px); }

  .woocommerce div.product div.images,
  .woocommerce div.product div.summary {
    float: none !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .woocommerce div.product div.summary { margin-top: 24px; }
  .woocommerce div.product form.cart,
  .woocommerce div.product form.cart .variations_button {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
  }
  .woocommerce div.product form.cart .variations,
  .woocommerce div.product form.cart .variations tbody,
  .woocommerce div.product form.cart .variations tr,
  .woocommerce div.product form.cart .variations th,
  .woocommerce div.product form.cart .variations td {
    width: 100%;
    max-width: 100%;
  }
  .woocommerce div.product form.cart .variations th,
  .woocommerce div.product form.cart .variations td {
    display: block;
    padding-left: 0;
    padding-right: 0;
  }
  .woocommerce div.product form.cart .button {
    min-height: 44px;
    white-space: normal;
  }
  .woocommerce div.product .woocommerce-tabs ul.tabs {
    display: flex;
    gap: 6px;
    overflow-x: auto;
    white-space: nowrap;
    scrollbar-width: thin;
  }
  .woocommerce div.product .woocommerce-tabs ul.tabs li { flex: 0 0 auto; }

  .woocommerce-cart-form,
  .woocommerce-checkout-review-order,
  .woocommerce-account .woocommerce-MyAccount-content { max-width: 100%; }
  .woocommerce-cart-form { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .woocommerce-checkout .col2-set .col-1,
  .woocommerce-checkout .col2-set .col-2,
  .woocommerce-account .col2-set .col-1,
  .woocommerce-account .col2-set .col-2 {
    float: none !important;
    width: 100% !important;
  }

  .woocommerce ul.products,
  .woocommerce-page ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
  }
  .woocommerce ul.products li.product .button,
  .woocommerce-page ul.products li.product .button,
  .lucy-quick-add .button {
    min-width: 0;
    max-width: 100%;
    white-space: normal !important;
    line-height: 1.2 !important;
  }
  .lucy-footer-grid,
  .lucy-newsletter-inner { width: 100%; }
}

@media (max-width: 380px) {
  .lucy-container { width: min(calc(100% - 18px), var(--lucy-container)); }
  .lucy-header-actions { max-width: 50vw; }
  .lucy-social-strip .lucy-social-strip-inner.lucy-utility-strip-inner { padding-inline: 8px; }
  .lucy-social-strip .lucy-social-strip-links,
  .lucy-social-strip .lucy-language-strip { max-width: 49%; }

  .woocommerce ul.products,
  .woocommerce-page ul.products { gap: 18px 6px; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title,
  .lucy-product-title { font-size: 13px; }
  .woocommerce ul.products li.product .price,
  .lucy-product-price { font-size: 12px; }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
