/*
Theme Name: Lens Uncle
Description: Elementor-ready storefront for Lens Uncle and WooCommerce.
Version: 1.0.0
Requires at least: 6.5
Requires PHP: 7.4
Text Domain: lens-uncle
*/
:root{--lu-ink:#142b41;--lu-body:#41556a;--lu-blue:#165f9a;--lu-light:#f3f7fa;--lu-gold:#f4bd4b;--lu-border:#d9e5ee;--lu-radius:12px}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:#fff;color:var(--lu-ink);font:16px/1.6 Inter,system-ui,-apple-system,"Segoe UI",sans-serif}
img{max-width:100%;height:auto;vertical-align:middle}
a{color:var(--lu-blue);text-underline-offset:.2em}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #286ca5;outline-offset:3px}
h1,h2,h3{line-height:1.12;letter-spacing:-.035em;margin:0 0 .6em}
h2{font-size:clamp(2rem,4vw,3.1rem)}
h3{font-size:1.35rem}
p{margin:.5em 0 1em}
.lu-wrap{width:min(1200px,calc(100% - 2.5rem));margin-inline:auto}
.lu-content{padding-block:clamp(1.5rem,5vw,4rem);min-height:48vh}
.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.screen-reader-text:focus{width:auto;height:auto;clip:auto;z-index:100;background:white;padding:1rem}
.lu-announcement{display:flex;gap:.8rem;align-items:center;justify-content:center;padding:.45rem 1rem;background:var(--lu-ink);color:#fff;font-size:.78rem;text-align:center}
.lu-announcement strong{color:#ffda78}
.lu-header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:78px}
.lu-header-inner .custom-logo,.lu-brand img{width:145px;max-height:65px;object-fit:contain}
.lu-nav-list,.lu-footer-grid ul{display:flex;flex-wrap:wrap;gap:clamp(.55rem,1.1vw,1.05rem);list-style:none;padding:0;margin:0}
.lu-nav-list a,.lu-account a{color:var(--lu-ink);text-decoration:none;font-weight:650;font-size:.83rem}
.lu-nav-list a:hover,.lu-account a:hover{text-decoration:underline}
.lu-account{display:flex;align-items:center;gap:.8rem;white-space:nowrap}
.lu-account .lu-cart{background:var(--lu-light);border-radius:8px;padding:.45rem .7rem}
.lu-hero{background:linear-gradient(115deg,#edf5fc,#f8fafb 70%);padding:clamp(2.5rem,7vw,6rem) 0}
.lu-hero-grid{display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:clamp(1.5rem,5vw,4rem)}
.lu-kicker{display:flex;align-items:center;gap:.5rem;text-transform:uppercase;letter-spacing:.13em;font-size:.76rem;font-weight:800;color:var(--lu-blue);margin:0 0 .9rem}
.lu-kicker span{width:.6rem;height:.6rem;border-radius:50%;background:var(--lu-gold)}
.lu-hero h1{font-size:clamp(2.9rem,6vw,5.25rem);line-height:1.01;margin-bottom:.3em}
.lu-hero h1 em{font-style:normal;color:var(--lu-blue)}
.lu-intro{color:var(--lu-body);max-width:34rem;font-size:1.08rem}
.lu-hero-image{position:relative;border-radius:22px;overflow:hidden;background:#e3ecf3;box-shadow:0 20px 45px #183f6020}
.lu-hero-image img{width:100%;aspect-ratio:1.1;object-fit:cover;object-position:48% center}
.lu-image-tag{position:absolute;bottom:1rem;left:1rem;background:#fff;padding:.5rem .85rem;border-radius:999px;font-size:.85rem;font-weight:750}
.lu-image-tag span{color:var(--lu-blue)}
.lu-packages{display:flex;gap:.65rem;margin:1.45rem 0;max-width:29rem}
.lu-packages>div{flex:1;min-width:0;display:grid;gap:.1rem;background:white;border:1px solid var(--lu-border);border-radius:var(--lu-radius);padding:.7rem .9rem}
.lu-packages span{font-size:.82rem;font-weight:650}
.lu-packages strong{font-size:1.65rem;line-height:1.15;color:var(--lu-blue)}
.lu-buttons,.lu-filters{display:flex;flex-wrap:wrap;gap:.65rem}
.lu-btn,.lu-floating{display:inline-flex;align-items:center;gap:.65rem;min-height:44px;padding:.66rem 1rem;border:1px solid var(--lu-blue);border-radius:8px;background:var(--lu-blue);color:#fff;text-decoration:none;font-weight:750}
.lu-btn:hover,.lu-floating:hover{filter:brightness(.9)}
.lu-btn-secondary{background:white;color:var(--lu-blue)}
.lu-hero-note{font-size:.83rem;color:var(--lu-body);margin-top:.8rem}
.lu-benefits{background:var(--lu-ink);color:white}
.lu-benefits .lu-wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;padding-block:.85rem;font-size:.85rem;text-align:center}
.lu-section{padding-block:clamp(2.7rem,6vw,5rem)}
.lu-band{background:var(--lu-light)}
.lu-grid{display:grid;gap:1rem;margin-top:1.6rem}
.lu-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.lu-step,.lu-shape{border-radius:var(--lu-radius);border:1px solid var(--lu-border);background:#fff;box-shadow:0 5px 20px #193a5910;overflow:hidden}
.lu-step,.lu-shape>div{padding:1.3rem}
.lu-step p,.lu-shape p{color:var(--lu-body)}
.lu-number{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--lu-light);color:var(--lu-blue);width:2.5rem;height:2.5rem;font-weight:750;margin-bottom:.8rem}
.lu-photo-card{position:relative;overflow:hidden;border-radius:var(--lu-radius);display:block;background:var(--lu-border)}
.lu-photo-card img{width:100%;aspect-ratio:1.3;object-fit:cover;object-position:center 30%;transition:transform .25s}
.lu-photo-card:hover img{transform:scale(1.04)}
.lu-photo-card span{position:absolute;bottom:.85rem;left:.85rem;right:.85rem;background:var(--lu-ink);color:#fff;padding:.6rem .85rem;border-radius:8px;font-weight:800;display:flex;justify-content:space-between}
.lu-filters{margin:1rem 0 1.5rem}
.lu-filters a{font-size:.87rem;padding:.4rem .8rem;border:1px solid var(--lu-border);border-radius:999px;text-decoration:none}
.lu-filters a:hover{background:var(--lu-light)}
.lu-shape img{width:100%;aspect-ratio:1.7;object-fit:cover}
.lu-shape a{font-weight:750}
.lu-site-footer{background:var(--lu-ink);color:#edf5fc;padding-top:2.5rem}
.lu-site-footer h2{font-size:1.15rem;color:white}
.lu-site-footer a{display:block;color:#e4f1ff;margin-bottom:.25rem}
.lu-footer-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr 1fr;gap:1.3rem}
.lu-footer-grid ul{display:block}
.lu-footer-base{border-top:1px solid #ffffff33;margin-top:1.25rem;padding-block:1rem;font-size:.85rem}
.lu-floating{position:fixed;z-index:99;right:1rem;bottom:1rem;background:#126448;border-color:#126448}
.woocommerce ul.products li.product{background:white;border:1px solid var(--lu-border);border-radius:var(--lu-radius);padding:.75rem;overflow:hidden}
.woocommerce ul.products li.product a img{border-radius:8px;aspect-ratio:1.3;object-fit:contain;background:var(--lu-light)}
.woocommerce ul.products li.product .price{color:var(--lu-blue);font-weight:750}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce button.button.alt{background:var(--lu-blue);color:#fff;border-radius:8px;line-height:1.2}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce button.button.alt:hover{background:var(--lu-ink);color:white}
@media(max-width:1050px){.lu-header-inner{flex-wrap:wrap;padding-block:.7rem}.lu-header-inner nav{order:3;width:100%}.lu-hotline{display:none}}
@media(max-width:720px){.lu-wrap{width:calc(100% - 1.6rem)}.lu-hero-grid,.lu-three{grid-template-columns:1fr}.lu-hero-image img{aspect-ratio:1.55}.lu-announcement{flex-direction:column;gap:0}.lu-benefits .lu-wrap,.lu-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lu-nav-list{gap:.45rem .75rem}.lu-nav-list a{display:inline-block;padding:.25rem 0}.lu-photo-card img{aspect-ratio:1.7}.woocommerce ul.products[class*="columns-"] li.product,.woocommerce-page ul.products[class*="columns-"] li.product{float:none!important;width:100%!important;margin:0 0 .75rem!important}}
@media(prefers-reduced-motion:reduce){.lu-photo-card img{transition:none}}
