/*
Theme Name: LoloMele Digital Store
Description: Reusable premium WooCommerce theme for digital products.
Version: 1.9.0
Author: LoloMele
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: lolomele
*/
:root{--p:#6c55d9;--pd:#5140b8;--a:#f2c94c;--ink:#18213b;--muted:#667085;--bg:#f8f8fc;--line:#e7e8f0;--r:18px;--shadow:0 10px 35px rgba(24,33,59,.08);--max:1180px}*{box-sizing:border-box}body{margin:0;color:var(--ink);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.65}a{color:var(--p);text-decoration:none}a:hover{color:var(--pd)}img{max-width:100%;height:auto}.container{width:min(var(--max),calc(100% - 32px));margin:auto}.site-main{min-height:60vh}.lm-section{padding:70px 0}.soft{background:var(--bg)}.eyebrow{font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--p)}h1,h2,h3{line-height:1.15}h1{font-size:clamp(2.2rem,5vw,4.4rem);letter-spacing:-.045em}h2{font-size:clamp(1.7rem,3vw,2.7rem)}.lead{font-size:1.08rem;color:var(--muted);max-width:760px}.btn,.button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:11px;padding:12px 18px;background:var(--p);color:#fff!important;font-weight:800;cursor:pointer}.btn:hover,.button:hover,.woocommerce a.button:hover{background:var(--pd)}.outline{background:#fff!important;color:var(--p)!important;border:1px solid var(--p)!important}.site-header{position:sticky;top:0;z-index:99;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.head{min-height:76px;display:flex;align-items:center;gap:22px}.brand img{max-height:48px;width:auto}.brand a{font-size:1.35rem;font-weight:900;color:var(--ink)}nav{margin-left:auto}nav ul{display:flex;gap:20px;list-style:none;margin:0;padding:0;align-items:center}nav a{color:var(--ink);font-weight:700}.tools{display:flex;gap:8px}.icon{width:40px;height:40px;border:1px solid var(--line);border-radius:11px;display:grid;place-items:center;color:var(--ink)}.mobile{display:none}.hero{padding:85px 0;background:linear-gradient(135deg,#f7f5ff,#fff 60%,#fff8ec)}.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:48px;align-items:center}.hero h1{margin:8px 0 20px}.hero-card{background:#fff;border:1px solid var(--line);border-radius:26px;padding:30px;box-shadow:var(--shadow)}.hero-card-inner{padding:35px;border-radius:18px;background:linear-gradient(145deg,#eeeaff,#fff8ea)}.search{display:flex;gap:8px;background:#fff;border:1px solid var(--line);padding:7px;border-radius:14px;box-shadow:0 7px 25px rgba(24,33,59,.06);margin-top:25px}.search input{flex:1;min-width:0;border:0;outline:0;padding:12px}.search button{border:0;border-radius:10px;background:var(--p);color:#fff;padding:12px 18px;font-weight:800}.grid{display:grid;gap:22px}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:0 6px 24px rgba(24,33,59,.04)}.cat{min-height:190px;padding:24px;display:flex;flex-direction:column;justify-content:flex-end;color:#fff;position:relative}.cat:before{content:"";position:absolute;inset:0;background:linear-gradient(145deg,#6c55d9,#3f3294)}.cat:nth-child(2):before{background:linear-gradient(145deg,#9a561e,#bd7533)}.cat:nth-child(3):before{background:linear-gradient(145deg,#1f547e,#1b7770)}.cat:nth-child(4):before{background:linear-gradient(145deg,#6f2452,#a53a70)}.cat:nth-child(5):before{background:linear-gradient(145deg,#263e58,#557b9d)}.cat>*{position:relative;z-index:1}.cat h3{color:#fff;margin:0 0 5px}.cat p{margin:0;color:rgba(255,255,255,.86)}.cat span{margin-top:14px;font-weight:800;color:#fff}.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.product{display:flex;flex-direction:column;height:100%}.product-image{aspect-ratio:1;background:#f0f1f6;overflow:hidden;position:relative}.product-image img{width:100%;height:100%;object-fit:cover;transition:.3s}.product:hover img{transform:scale(1.035)}.product-body{padding:17px;display:flex;flex-direction:column;flex:1}.product-body h3{font-size:1rem;margin:5px 0 8px}.meta{font-size:.82rem;color:var(--muted)}.price{font-weight:900;margin-top:auto;padding-top:12px;color:var(--ink)}.actions{display:flex;gap:7px;margin-top:12px}.actions .button{flex:1;padding:9px 10px;font-size:.85rem}.badge{position:absolute;top:12px;left:12px;background:var(--a);color:#3b3210;border-radius:999px;padding:5px 9px;font-size:.7rem;font-weight:900;z-index:2}.features{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.feature{padding:23px;border:1px solid var(--line);border-radius:16px}.feature h3{font-size:1rem;margin:10px 0 5px}.feature p{margin:0;color:var(--muted);font-size:.92rem}.cta{padding:55px 30px;border-radius:26px;background:linear-gradient(135deg,#5e4cc7,#7e6ce1);color:#fff;text-align:center}.cta h2{color:#fff;margin:0 0 10px}.cta p{color:rgba(255,255,255,.88);max-width:700px;margin:0 auto 22px}.page-head{padding:55px 0;background:var(--bg);border-bottom:1px solid var(--line)}.content{padding:55px 0}.breadcrumbs{font-size:.84rem;color:var(--muted);margin-bottom:12px}.footer{margin-top:70px;background:#141a2c;color:#d9deea}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1fr;gap:30px;padding:55px 0}.footer h3{color:#fff;font-size:1rem}.footer ul{list-style:none;margin:0;padding:0}.footer li{margin:7px 0}.footer a{color:#d9deea}.footer p{color:#aeb7c9;max-width:340px}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:18px 0;color:#aeb7c9;font-size:.86rem}.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(4,1fr);gap:22px;margin:0!important}.woocommerce ul.products:before,.woocommerce ul.products:after{display:none!important}.woocommerce ul.products li.product{width:auto!important;margin:0!important;padding:0!important;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:#fff}.woocommerce ul.products li.product a img{margin:0!important;width:100%;aspect-ratio:1;object-fit:cover}.woocommerce ul.products li.product .woocommerce-loop-product__title,.woocommerce ul.products li.product .price{padding:0 17px}.woocommerce ul.products li.product .button{margin:0 17px 17px}.woocommerce span.onsale{background:var(--a);color:#3b3210;min-width:auto;min-height:auto;padding:5px 9px}.woocommerce div.product{padding:35px 0}.woocommerce div.product .product_title{font-size:clamp(2rem,4vw,3.2rem)}.woocommerce div.product p.price,.woocommerce div.product span.price{font-weight:900;color:var(--ink)}.woocommerce div.product div.images img{border-radius:18px}.woocommerce div.product .button{padding:13px 22px}.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select{border:1px solid var(--line);border-radius:10px;padding:11px}.woocommerce table.shop_table{border:1px solid var(--line);border-radius:14px}.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:14px;overflow:hidden}.woocommerce-account .woocommerce-MyAccount-navigation li{border-bottom:1px solid var(--line)}.woocommerce-account .woocommerce-MyAccount-navigation a{display:block;padding:12px 15px;font-weight:700}.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{background:#f0edff;color:var(--p)}.woocommerce-account .woocommerce-MyAccount-content{padding:22px;border:1px solid var(--line);border-radius:14px}.archive-tools{display:flex;justify-content:space-between;gap:15px;align-items:center;flex-wrap:wrap;margin:22px 0}.empty{text-align:center;padding:60px 20px;border:1px dashed var(--line);border-radius:18px;background:var(--bg)}
@media(max-width:1050px){.product-grid,.woocommerce ul.products{grid-template-columns:repeat(3,1fr)!important}.features{grid-template-columns:repeat(2,1fr)}}@media(max-width:800px){.hero-grid{grid-template-columns:1fr}.mobile{display:grid;margin-left:auto}.main-nav{display:none;position:absolute;top:76px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:15px 16px}.main-nav.open{display:block}.main-nav ul{flex-direction:column;align-items:flex-start}.tools{display:none}.footer-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.container{width:calc(100% - 24px)}.grid.g3,.product-grid,.woocommerce ul.products{grid-template-columns:1fr 1fr!important}.features{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.search{flex-direction:column}.search button{width:100%}}@media(max-width:430px){.grid.g3,.product-grid,.woocommerce ul.products{grid-template-columns:1fr!important}}

/* Category-specific visual treatments */
.tax-product_cat .lm-page-head{position:relative;overflow:hidden}
.tax-product_cat.term-pricing-profit .lm-page-head{background:linear-gradient(135deg,#eef8ee,#fff)}
.tax-product_cat.term-business-spreadsheets .lm-page-head{background:linear-gradient(135deg,#fff1e8,#fff)}
.tax-product_cat.term-e-commerce .lm-page-head{background:linear-gradient(135deg,#eaf6f7,#fff)}
.tax-product_cat.term-marketing .lm-page-head{background:linear-gradient(135deg,#f8eef7,#fff)}
.tax-product_cat.term-ai-for-business .lm-page-head{background:linear-gradient(135deg,#edf2f8,#fff)}
.tax-product_cat.term-pricing-profit .lm-eyebrow{color:#248a43}
.tax-product_cat.term-business-spreadsheets .lm-eyebrow{color:#a55b25}
.tax-product_cat.term-e-commerce .lm-eyebrow{color:#1c7775}
.tax-product_cat.term-marketing .lm-eyebrow{color:#96366f}
.tax-product_cat.term-ai-for-business .lm-eyebrow{color:#456985}

@media(max-width:1050px){.footer-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:800px){.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.footer-grid{grid-template-columns:1fr}}

/* ---------- Dropdown submenus (v1.4) ---------- */
nav ul li{position:relative}
nav .sub-menu{display:block;position:absolute;top:100%;left:0;min-width:238px;background:#fff;
  border:1px solid var(--line);border-radius:14px;box-shadow:0 14px 38px rgba(24,33,59,.13);
  padding:9px;margin:0;list-style:none;flex-direction:column;gap:0;
  opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .16s ease,transform .16s ease;z-index:120}
nav .sub-menu li{margin:0;width:100%}
nav .sub-menu a{display:block;padding:10px 12px;border-radius:9px;font-weight:600;font-size:.94rem;color:var(--ink);white-space:nowrap}
nav .sub-menu a:hover,nav .sub-menu a:focus{background:#f3f1fe;color:var(--p)}
nav li.menu-item-has-children:hover > .sub-menu,
nav li.menu-item-has-children:focus-within > .sub-menu{opacity:1;visibility:visible;transform:translateY(0)}
/* keeps the pointer from leaving the menu on the way down */
nav li.menu-item-has-children > .sub-menu:before{content:"";position:absolute;top:-10px;left:0;right:0;height:10px}
/* the arrow */
nav li.menu-item-has-children > a:after{content:"";display:inline-block;width:7px;height:7px;margin-left:7px;
  border-right:2px solid currentColor;border-bottom:2px solid currentColor;
  transform:rotate(45deg) translateY(-2px);transition:transform .18s ease;opacity:.75}
nav li.menu-item-has-children:hover > a:after,
nav li.menu-item-has-children:focus-within > a:after{transform:rotate(225deg) translateY(-3px);opacity:1}
/* third level, if ever needed */
nav .sub-menu .sub-menu{top:-10px;left:100%;margin-left:6px}

/* ---------- Mobile: tap the arrow to open ---------- */
@media(max-width:800px){
  nav .sub-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;
    border-left:2px solid var(--line);border-radius:0;margin:4px 0 8px 10px;padding:0 0 0 10px;display:none}
  nav li.menu-item-has-children.lm-open > .sub-menu{display:block}
  nav li.menu-item-has-children:hover > .sub-menu{display:none}
  nav li.menu-item-has-children.lm-open:hover > .sub-menu{display:block}
  nav li.menu-item-has-children > a:after{display:none}
  nav .lm-toggle{position:absolute;top:0;right:0;width:38px;height:38px;display:grid;place-items:center;
    background:none;border:0;padding:0;cursor:pointer;color:var(--ink)}
  nav .lm-toggle:before{content:"";width:8px;height:8px;border-right:2px solid currentColor;
    border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .18s ease}
  nav li.lm-open > .lm-toggle:before{transform:rotate(225deg) translateY(-3px)}
  nav ul li{width:100%}
  nav .main-nav ul > li > a{display:inline-block;padding:9px 0}
}
