/*
Theme Name:   GreenMonster Child
Theme URI:    https://greenmonster.sg
Description:  GreenMonster Kids Books - custom child theme for Storefront
Author:       GreenMonster SG
Template:     storefront
Version:      1.4.0
Text Domain:  greenmonster-child
*/
@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700;800;900&display=swap');
:root{--gm-green:#1B6B2F;--gm-green-light:#2E8B44;--gm-green-pale:#E8F5EC;--gm-orange:#F59E0B;--gm-orange-dark:#D97706;--gm-dark:#1A1A1A;--gm-gray:#6B7280;--gm-gray-light:#F3F4F6;--gm-white:#FFFFFF;--gm-radius:12px;--gm-shadow:0 4px 20px rgba(0,0,0,0.08);--gm-shadow-hover:0 8px 32px rgba(0,0,0,0.14);--gm-font:'Nunito','Segoe UI',sans-serif}
*{box-sizing:border-box}
html,body{overflow-x:hidden;font-family:var(--gm-font);color:var(--gm-dark);background:#FAFAFA;margin:0}
#page.site{overflow-x:visible!important}

/* ── TOP HEADER BAR (logo + search + cart) ── */
.site-header{background:var(--gm-white)!important;border-bottom:none!important;padding:0!important;box-shadow:0 1px 4px rgba(0,0,0,.06)}
.site-header .col-full{display:flex!important;align-items:center!important;justify-content:space-between!important;padding:10px 40px!important;max-width:1280px!important;margin:0 auto!important;flex-wrap:nowrap!important;gap:16px}
.site-branding{display:flex!important;align-items:center!important;flex-shrink:0!important}
img.custom-logo{height:52px!important;width:auto!important;max-width:180px!important}
.site-title,.site-description{display:none!important}
.site-search{margin:0!important;flex:1;max-width:280px}
.site-search .search-field{border:2px solid #E5E7EB!important;border-radius:50px!important;padding:7px 16px!important;font-size:.88rem!important;width:100%!important;transition:border-color .2s}
.site-search .search-field:focus{border-color:var(--gm-green)!important;outline:none!important}
.site-header-cart{flex-shrink:0}
.site-header-cart .cart-contents{background:var(--gm-green)!important;color:white!important;padding:8px 18px!important;border-radius:50px!important;font-weight:700!important;font-size:.88rem!important;text-decoration:none!important;display:inline-flex!important;align-items:center!important;gap:6px!important}
.site-header-cart .cart-contents:hover{background:var(--gm-green-light)!important}
.site-header-cart .amount{color:white!important}
.site-header-cart .count{background:var(--gm-orange)!important;color:white!important;border-radius:50%!important;padding:1px 6px!important;font-size:.72rem!important;margin-left:4px!important}

/* ── GREEN NAV BAR (primary navigation) ── */
.storefront-primary-navigation{display:block!important;background:var(--gm-green)!important;border-bottom:none!important;position:sticky!important;top:0!important;z-index:998!important;box-shadow:0 2px 8px rgba(0,0,0,.15)!important}
.storefront-primary-navigation .col-full{display:flex!important;align-items:center!important;padding:0 40px!important;max-width:1280px!important;margin:0 auto!important}
.main-navigation ul{display:flex!important;list-style:none!important;margin:0!important;padding:0!important;gap:0!important}
.main-navigation ul li a{color:rgba(255,255,255,.9)!important;font-weight:700!important;font-size:.9rem!important;padding:14px 16px!important;display:block!important;text-decoration:none!important;transition:all .2s!important;border-bottom:3px solid transparent!important}
.main-navigation ul li a:hover,.main-navigation ul li.current-menu-item>a{color:white!important;background:rgba(255,255,255,.1)!important;border-bottom-color:var(--gm-orange)!important}
.main-navigation ul ul{display:none!important;position:absolute!important;background:white!important;border-radius:8px!important;box-shadow:0 8px 24px rgba(0,0,0,.15)!important;z-index:999!important;min-width:180px!important}
.main-navigation ul li:hover>ul{display:block!important}
.main-navigation ul ul li a{color:var(--gm-dark)!important;padding:10px 16px!important;border-bottom:1px solid #F3F4F6!important}
.main-navigation ul ul li a:hover{color:var(--gm-green)!important;background:var(--gm-green-pale)!important}

/* ── FULL-WIDTH BREAKOUT ── */
.gm-hero,.gm-categories,.gm-social-stores{width:100vw!important;position:relative!important;left:50%!important;margin-left:-50vw!important;margin-right:0!important}

/* ── HERO ── */
.gm-hero{background:linear-gradient(135deg,var(--gm-green) 0%,#145222 100%);color:white;padding:80px 40px;text-align:center}
.gm-hero-inner{position:relative;max-width:700px;margin:0 auto}
.gm-hero-badge{display:inline-block;background:var(--gm-orange);color:white;font-size:.78rem;font-weight:800;letter-spacing:1px;text-transform:uppercase;padding:5px 14px;border-radius:50px;margin-bottom:18px}
.gm-hero h1{font-size:clamp(1.8rem,4.5vw,3rem);font-weight:900;line-height:1.15;margin:0 0 18px;color:white}
.gm-hero h1 span{color:var(--gm-orange)}
.gm-hero p{font-size:1.05rem;opacity:.9;margin-bottom:32px;line-height:1.7}
.gm-hero-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.gm-btn{display:inline-block;padding:13px 28px;border-radius:50px;font-weight:800;font-size:.95rem;text-decoration:none;transition:all .2s;cursor:pointer}
.gm-btn-primary{background:var(--gm-orange);color:white}
.gm-btn-primary:hover{background:var(--gm-orange-dark);transform:translateY(-2px);box-shadow:0 6px 20px rgba(245,158,11,.4);color:white}
.gm-btn-outline{background:transparent;color:white;border:2px solid rgba(255,255,255,.5)}
.gm-btn-outline:hover{background:rgba(255,255,255,.1);border-color:white;color:white}

/* ── SECTIONS ── */
.gm-section{max-width:1280px;margin:0 auto;padding:60px 40px}
.gm-section-title{font-size:1.8rem;font-weight:900;color:var(--gm-dark);margin:0 0 6px}
.gm-section-sub{color:var(--gm-gray);font-size:.95rem;margin:0 0 36px}
.gm-divider{width:48px;height:4px;background:var(--gm-green);border-radius:4px;margin:10px 0 36px}

/* ── TRUST BADGES ── */
.gm-trust-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:28px}
.gm-trust-item{text-align:center}
.gm-trust-icon{width:58px;height:58px;background:var(--gm-green-pale);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.6rem;margin:0 auto 12px}
.gm-trust-item h4{font-size:.95rem;font-weight:800;margin:0 0 4px}
.gm-trust-item p{font-size:.83rem;color:var(--gm-gray);margin:0}

/* ── CATEGORY CARDS ── */
.gm-categories{background:var(--gm-green-pale)}
.gm-cat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}
.gm-cat-card{background:white;border-radius:var(--gm-radius);padding:32px 20px;text-align:center;text-decoration:none;color:var(--gm-dark);box-shadow:var(--gm-shadow);transition:all .25s;border:2px solid transparent}
.gm-cat-card:hover{transform:translateY(-5px);box-shadow:var(--gm-shadow-hover);border-color:var(--gm-green);color:var(--gm-dark)}
.gm-cat-icon{font-size:2.6rem;margin-bottom:12px;display:block}
.gm-cat-card h3{font-size:1rem;font-weight:800;margin:0 0 6px}
.gm-cat-card p{font-size:.83rem;color:var(--gm-gray);margin:0}

/* ── PRODUCT GRID ── */
ul.products{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))!important;gap:20px!important;padding:0!important;list-style:none!important;margin:0!important}
ul.products li.product{background:white!important;border-radius:var(--gm-radius)!important;overflow:hidden!important;box-shadow:var(--gm-shadow)!important;transition:all .25s!important;padding:0!important;border:2px solid transparent!important}
ul.products li.product:hover{transform:translateY(-4px)!important;box-shadow:var(--gm-shadow-hover)!important;border-color:var(--gm-green)!important}
ul.products li.product a img{width:100%!important;height:200px!important;object-fit:cover!important;display:block!important}
ul.products li.product .woocommerce-loop-product__title{font-size:.95rem!important;font-weight:700!important;padding:12px 14px 4px!important;color:var(--gm-dark)!important}
ul.products li.product .price{padding:0 14px 4px!important;color:var(--gm-green)!important;font-weight:800!important;font-size:1rem!important}
ul.products li.product .button{margin:6px 14px 14px!important;background:var(--gm-green)!important;color:white!important;border-radius:50px!important;font-weight:700!important;font-size:.84rem!important;padding:9px 18px!important;border:none!important;width:calc(100% - 28px)!important;text-align:center!important;transition:background .2s!important;display:block!important}
ul.products li.product .button:hover{background:var(--gm-green-light)!important}
ul.products li.product .onsale{background:var(--gm-orange)!important;border-radius:50px!important;font-size:.72rem!important;font-weight:800!important;padding:3px 10px!important;top:10px!important;left:10px!important;right:auto!important;min-height:auto!important;min-width:auto!important;line-height:1.5!important}

/* ── SOCIAL STORES ── */
.gm-social-stores{background:var(--gm-dark);color:white;text-align:center;padding:56px 40px}
.gm-social-stores h2{font-size:1.7rem;font-weight:900;margin:0 0 8px;color:white}
.gm-social-stores p{color:#9CA3AF;margin:0 0 32px}
.gm-store-links{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.gm-store-btn{display:flex;align-items:center;gap:8px;padding:12px 24px;border-radius:50px;font-weight:800;font-size:.95rem;text-decoration:none;transition:all .2s}
.gm-store-btn.shopee{background:#EE4D2D;color:white}
.gm-store-btn.shopee:hover{background:#D4411F;transform:translateY(-2px);color:white}
.gm-store-btn.tiktok{background:#010101;color:white;border:2px solid #333}
.gm-store-btn.tiktok:hover{background:#1a1a1a;transform:translateY(-2px);color:white}
.gm-store-btn.lazada{background:#0F146D;color:white}
.gm-store-btn.lazada:hover{background:#0a0f54;transform:translateY(-2px);color:white}
.gm-store-icon{font-size:1.2rem}

/* ── SINGLE PRODUCT ── */
.single-product div.product{max-width:1100px;margin:40px auto;padding:0 40px;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}
.single-product .woocommerce-product-gallery{border-radius:var(--gm-radius);overflow:hidden;box-shadow:var(--gm-shadow)}
.single-product .summary h1.product_title{font-size:1.7rem;font-weight:900;color:var(--gm-dark);line-height:1.2}
.single-product .summary .price{color:var(--gm-green)!important;font-size:1.5rem!important;font-weight:900!important}
.single-product .summary .single_add_to_cart_button{background:var(--gm-green)!important;color:white!important;border-radius:50px!important;font-weight:800!important;font-size:1rem!important;padding:13px 32px!important;border:none!important;transition:all .2s!important}
.single-product .summary .single_add_to_cart_button:hover{background:var(--gm-green-light)!important;transform:translateY(-2px)!important}

/* ── CART & CHECKOUT ── */
.woocommerce-cart .wc-proceed-to-checkout .checkout-button,.woocommerce-checkout #place_order{background:var(--gm-green)!important;border-radius:50px!important;font-weight:800!important;font-size:1rem!important;border:none!important;padding:13px 32px!important}

/* ── FOOTER ── */
.site-footer{background:var(--gm-dark)!important;color:#9CA3AF!important;padding:0!important}
.site-footer .col-full{max-width:1280px;margin:0 auto;padding:56px 40px 28px}
.gm-footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;margin-bottom:40px}
.gm-footer-brand h3{color:white;font-size:1.2rem;font-weight:900;margin:0 0 10px}
.gm-footer-brand p{font-size:.88rem;line-height:1.7;color:#9CA3AF;margin:0 0 16px}
.gm-footer-col h4{color:white;font-size:.85rem;font-weight:800;text-transform:uppercase;letter-spacing:.5px;margin:0 0 14px}
.gm-footer-col ul{list-style:none;padding:0;margin:0}
.gm-footer-col ul li{margin-bottom:8px}
.gm-footer-col ul li a{color:#9CA3AF;text-decoration:none;font-size:.88rem;transition:color .2s}
.gm-footer-col ul li a:hover{color:white}
.gm-footer-bottom{border-top:1px solid #2D2D2D;padding-top:20px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}
.gm-footer-bottom p{font-size:.82rem;color:#6B7280;margin:0}
.storefront-handheld-footer-bar{display:none!important}

/* ── RESPONSIVE ── */
@media(max-width:900px){.gm-footer-grid{grid-template-columns:1fr 1fr;gap:28px}.single-product div.product{grid-template-columns:1fr;padding:0 20px}}
@media(max-width:768px){.site-header .col-full{padding:10px 16px!important;flex-wrap:wrap!important}.storefront-primary-navigation .col-full{padding:0 16px!important}.main-navigation ul{flex-wrap:wrap!important}.gm-hero{padding:50px 20px}.gm-section{padding:44px 20px}.gm-store-links{flex-direction:column;align-items:center}}
@media(max-width:480px){.gm-footer-grid{grid-template-columns:1fr}ul.products{grid-template-columns:repeat(2,1fr)!important;gap:10px!important}}