/*
Theme Name: LILROSE
Theme URI: https://lilrose.co.za
Author: DezignZA (Pty) Ltd
Author URI: https://dezignza.co.za
Description: Custom LILROSE theme — light, airy pastel design for a WooCommerce store specialising in 3D printing for children & families. Preserves the original LILROSE look & feel (Quicksand type, slate & coral palette, heart accent).
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: lilrose
*/

:root{
  --slate:#9094a0;      /* primary brand */
  --slate-dark:#6f7380;
  --coral:#e98c6b;      /* heart accent */
  --rose:#d99d9b;
  --teal:#b5d7d9;
  --teal-soft:#e7f3f3;
  --ink:#444444;
  --muted:#9094a0;
  --line:#ececf0;
  --bg:#ffffff;
  --bg-soft:#faf9fb;
  --radius:18px;
  --shadow:0 12px 40px rgba(144,148,160,.14);
  --shadow-sm:0 6px 20px rgba(144,148,160,.10);
  --maxw:1200px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;color:var(--ink);background:var(--bg);
  font-family:'Quicksand','Roboto',Arial,Helvetica,sans-serif;
  font-weight:400;line-height:1.7;font-size:17px;-webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,h5{font-family:'Quicksand',sans-serif;font-weight:600;color:var(--ink);line-height:1.2;margin:0 0 .5em}
h1{font-size:2.7rem;font-weight:500;letter-spacing:-.5px}
h2{font-size:2rem;font-weight:500}
h3{font-size:1.3rem}
p{margin:0 0 1.2em}
a{color:var(--slate);text-decoration:none;transition:color .2s}
a:hover{color:var(--coral)}
img{max-width:100%;height:auto}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}

/* buttons */
.btn,button,input[type=submit],.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,.woocommerce a.button.alt,.woocommerce button.button.alt{
  display:inline-block;background:var(--slate);color:#fff !important;border:none;
  padding:14px 30px;border-radius:999px;font-family:'Quicksand',sans-serif;font-weight:600;
  font-size:.95rem;letter-spacing:.3px;cursor:pointer;transition:all .25s;text-decoration:none;
}
.btn:hover,button:hover,input[type=submit]:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce a.button.alt:hover{
  background:var(--slate-dark);color:#fff !important;transform:translateY(-2px);box-shadow:var(--shadow-sm)
}
.btn-coral,.woocommerce a.button.alt.add_to_cart_button,.woocommerce div.product form.cart .button{
  background:var(--coral) !important;
}
.btn-coral:hover{background:#e07a56 !important}
.btn-ghost{background:transparent;color:var(--slate) !important;border:2px solid var(--slate);padding:12px 28px}
.btn-ghost:hover{background:var(--slate);color:#fff !important}

/* header */
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 24px;max-width:var(--maxw);margin:0 auto}
.site-logo img{height:34px;width:auto;display:block}
.site-logo .txt{font-size:1.5rem;font-weight:500;color:var(--slate);letter-spacing:.5px}
.main-nav ul{display:flex;gap:30px;list-style:none;margin:0;padding:0;align-items:center}
.main-nav a{color:var(--ink);font-weight:500;font-size:.98rem;position:relative}
.main-nav a:hover{color:var(--coral)}
.main-nav .current-menu-item>a{color:var(--slate)}
.header-actions{display:flex;align-items:center;gap:18px}
.cart-link{position:relative;color:var(--slate);font-weight:600}
.cart-link .count{background:var(--coral);color:#fff;border-radius:999px;font-size:.7rem;padding:1px 7px;margin-left:4px}
.nav-toggle{display:none;background:none;border:none;font-size:1.6rem;color:var(--slate);cursor:pointer;padding:4px}

/* hero */
.hero{background:linear-gradient(160deg,var(--teal-soft) 0%,#fff 55%,#fdf2ef 100%);padding:90px 0 80px;overflow:hidden}
.hero-inner{display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:center;max-width:var(--maxw);margin:0 auto;padding:0 24px}
.hero .eyebrow{display:inline-block;background:#fff;color:var(--coral);font-weight:600;font-size:.8rem;letter-spacing:1.5px;text-transform:uppercase;padding:7px 16px;border-radius:999px;box-shadow:var(--shadow-sm);margin-bottom:22px}
.hero h1{font-size:3.2rem;margin-bottom:.4em}
.hero h1 .heart{color:var(--coral)}
.hero p.lead{font-size:1.2rem;color:var(--slate-dark);max-width:520px;margin-bottom:32px}
.hero-cta{display:flex;gap:16px;flex-wrap:wrap}
.hero-visual{position:relative;text-align:center}
.hero-visual .blob{background:linear-gradient(140deg,var(--teal),var(--rose));border-radius:42% 58% 55% 45%/48% 42% 58% 52%;aspect-ratio:1/1;max-width:420px;margin:0 auto;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow);animation:float 6s ease-in-out infinite}
.hero-visual .blob span{font-size:8rem}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-16px)}}

/* sections */
section.block{padding:80px 0}
section.block.soft{background:var(--bg-soft)}
.section-head{text-align:center;max-width:640px;margin:0 auto 50px}
.section-head .eyebrow{color:var(--coral);font-weight:600;letter-spacing:2px;text-transform:uppercase;font-size:.8rem}
.section-head h2{margin:.3em 0}
.section-head p{color:var(--slate-dark)}

/* feature cards */
.grid{display:grid;gap:28px}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:34px 28px;text-align:center;transition:transform .3s,box-shadow .3s}
.card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.card .ico{width:70px;height:70px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;margin:0 auto 18px;background:var(--teal-soft)}
.card.rose .ico{background:#fdeeee}
.card.coral .ico{background:#fdf0eb}
.card h3{margin-bottom:.3em}
.card p{color:var(--slate-dark);font-size:.96rem;margin:0}

/* category tiles */
.cat-tile{position:relative;border-radius:var(--radius);overflow:hidden;aspect-ratio:1/1;display:flex;align-items:flex-end;color:#fff;box-shadow:var(--shadow-sm);transition:transform .3s}
.cat-tile:hover{transform:translateY(-5px)}
.cat-tile .cat-body{position:relative;z-index:2;padding:22px;width:100%}
.cat-tile h3{color:#fff;margin:0}
.cat-tile:after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(111,115,128,.75),rgba(111,115,128,0) 60%);z-index:1}

/* product grid (woo) */
.woocommerce ul.products li.product,.woocommerce-page ul.products li.product{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:16px;text-align:center;transition:transform .3s,box-shadow .3s}
.woocommerce ul.products li.product:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.woocommerce ul.products li.product a img{border-radius:12px;margin-bottom:12px}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:'Quicksand';font-weight:600;font-size:1.05rem;color:var(--ink);padding:0 0 6px}
.woocommerce ul.products li.product .price{color:var(--slate) !important;font-weight:600}
.woocommerce .star-rating span{color:var(--coral)}
.woocommerce span.onsale{background:var(--coral);border-radius:999px}

/* CTA band */
.cta-band{background:linear-gradient(135deg,var(--slate),#7c8090);color:#fff;border-radius:26px;padding:60px 40px;text-align:center;max-width:var(--maxw);margin:0 auto}
.cta-band h2{color:#fff}
.cta-band p{color:rgba(255,255,255,.85);max-width:560px;margin:0 auto 28px}
.cta-band .btn{background:#fff;color:var(--slate) !important}
.cta-band .btn:hover{background:var(--coral);color:#fff !important}

/* footer */
.site-footer{background:#2f3138;color:#c9cbd2;padding:70px 0 30px;margin-top:20px}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;max-width:var(--maxw);margin:0 auto;padding:0 24px}
.site-footer h4{color:#fff;font-size:1rem;letter-spacing:.5px;margin-bottom:18px}
.site-footer a{color:#c9cbd2}
.site-footer a:hover{color:var(--teal)}
.site-footer ul{list-style:none;padding:0;margin:0;line-height:2.2}
.footer-brand .logo{font-size:1.6rem;color:#fff;font-weight:500;margin-bottom:14px}
.footer-brand p{color:#9a9db0;font-size:.95rem}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:40px;padding-top:24px;text-align:center;color:#83879a;font-size:.85rem}
.heart-inline{color:var(--coral)}

/* generic content */
.page-content{max-width:820px;margin:0 auto;padding:70px 24px}
.page-title-band{background:var(--teal-soft);text-align:center;padding:60px 24px}
.page-title-band h1{margin:0}
.breadcrumb{color:var(--slate);font-size:.85rem;margin-top:8px}

/* woo layout tidy */
.woocommerce .products ul,.woocommerce ul.products{gap:26px;display:grid !important;grid-template-columns:repeat(4,1fr)}
.woocommerce ul.products li.product{width:auto !important;margin:0 !important;float:none !important}
.woocommerce-message,.woocommerce-info{border-top-color:var(--coral)}
.woocommerce-store-notice{background:var(--slate)}

@media(max-width:900px){
  .hero-inner{grid-template-columns:1fr;text-align:center}
  .hero-cta{justify-content:center}
  .hero-visual{display:none}
  .grid-3,.grid-4{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
  .woocommerce ul.products{grid-template-columns:repeat(2,1fr) !important}
  .main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:20px}
  .main-nav.open{display:block}
  .main-nav ul{flex-direction:column;gap:18px}
  .nav-toggle{display:block}
  h1{font-size:2rem}.hero h1{font-size:2.3rem}
}
@media(max-width:560px){.grid-3,.grid-4,.footer-grid{grid-template-columns:1fr}.woocommerce ul.products{grid-template-columns:1fr 1fr !important}}
