/*
 Theme Name:  HomeBeach Standalone
 Theme URI:   https://homebeach.com.mx/
 Description: Standalone WordPress theme for HomeBeach: Montserrat, brand palette, polished WooCommerce, hero/intro/gallery via Customizer. No parent theme required.
 Author:      ChatGPT
 Version:     1.0.1
 Text Domain: homebeach
 License:     GPL-2.0-or-later
*/

:root{--hb-blue:#45AFDE;--hb-blue-dark:#067FB5;--hb-gold:#FDB813;--hb-text:#0f172a;--hb-muted:#6b7280;--hb-radius:16px}
html,body{font-family:'Montserrat',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;color:var(--hb-text)}
a{color:var(--hb-blue-dark)}a:hover{color:var(--hb-blue)}
.container{width:min(1200px,92%);margin-inline:auto}.section{padding:56px 0}
.site-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid rgba(0,0,0,.06)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0}.site-branding{display:flex;align-items:center;gap:10px}.site-title{display:none}.custom-logo{max-height:54px;height:auto;width:auto}.primary-nav{margin-left:auto}.primary-nav ul{list-style:none;display:flex;gap:18px;padding:0;margin:0}.primary-nav a{color:#269AF2;text-decoration:none;font-weight:600}.primary-nav a:hover{opacity:.85}.menu-toggle{display:none}
@media (max-width:980px){.menu-toggle{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(0,0,0,.1);padding:8px 12px;border-radius:10px}.primary-nav{display:none}.site-header.open .primary-nav{display:block;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid rgba(0,0,0,.06)}.site-header.open .primary-nav ul{flex-direction:column;gap:12px;padding:12px 20px}}
.hero{position:relative;min-height:68vh;display:flex;align-items:center;color:#fff;background:#000 var(--bg) center/cover no-repeat}.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.4),rgba(0,0,0,.25))}.hero-inner{position:relative;z-index:1;width:min(760px,92%);margin-inline:auto;text-align:center;padding:24px 0}.hero h1{font-size:clamp(40px,6vw,68px);margin:0 0 10px;font-weight:700}.hero p.lead{font-size:clamp(16px,2.3vw,22px);margin:0 0 18px;color:#eef2f7}.button,.btn{background:var(--hb-gold);color:#1f2937;border:2px solid var(--hb-gold);border-radius:999px;padding:.8em 1.3em;font-weight:700;display:inline-block;text-decoration:none}.button:hover{filter:brightness(.95)}
.intro .columns{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:center}.intro img{width:100%;border-radius:var(--hb-radius)}@media (max-width:980px){.intro .columns{grid-template-columns:1fr}}
.hb-gallery-grid{display:grid;gap:18px;grid-template-columns:repeat(3,1fr)}@media (max-width:980px){.hb-gallery-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:680px){.hb-gallery-grid{grid-template-columns:1fr}}.hb-gallery-grid img{width:100%;border-radius:var(--hb-radius);display:block}
.woocommerce ul.products,.woocommerce-page ul.products{display:grid!important;align-items:stretch;justify-items:stretch;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:28px!important}.woocommerce ul.products li.product{background:#fff;border:1px solid rgba(2,32,71,.06);border-radius:var(--hb-radius);padding:12px;margin:0!important;transition:box-shadow .2s ease,transform .2s ease;display:flex!important;flex-direction:column;height:100%;overflow:hidden}.woocommerce ul.products li.product:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(2,32,71,.08)}.woocommerce ul.products li.product a img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:12px;transition:transform .25s ease}.woocommerce ul.products li.product:hover a img{transform:scale(1.02)}.woocommerce ul.products li.product .woocommerce-LoopProduct-link{display:flex;flex-direction:column;flex:1 1 auto}.woocommerce ul.products li.product .woocommerce-loop-product__title{font-weight:600;font-size:1rem;line-height:1.3;color:var(--hb-text);min-height:3.2em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.woocommerce ul.products li.product .price{color:var(--hb-blue-dark);font-weight:700}.woocommerce ul.products li.product .button{display:block!important;width:100%!important;box-sizing:border-box;margin-top:auto;border-radius:999px!important}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,.button,.btn{background:var(--hb-blue)!important;border-color:var(--hb-blue)!important;color:#fff!important;border-radius:999px!important;padding:.75em 1.2em!important;line-height:1!important;font-weight:600!important;letter-spacing:.2px!important;box-shadow:none!important;transition:transform .15s ease,filter .15s ease,background .15s ease}.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.woocommerce #respond input#submit:hover,.button:hover,.btn:hover{filter:brightness(.92);transform:translateY(-1px)}.woocommerce .button.alt,.single_add_to_cart_button,.checkout-button,#place_order{background:var(--hb-gold)!important;border-color:var(--hb-gold)!important;color:#1f2937!important}.woocommerce .button.alt:hover,.single_add_to_cart_button:hover,.checkout-button:hover,#place_order:hover{filter:brightness(.95)}
.woocommerce span.onsale{background:var(--hb-gold);color:#1f2937;padding:6px 8px;border-radius:999px;min-height:auto;min-width:auto;line-height:1;box-shadow:0 6px 16px rgba(253,184,19,.25)}
.woocommerce .woocommerce-breadcrumb{color:var(--hb-muted)}.woocommerce .woocommerce-breadcrumb a{color:var(--hb-blue-dark)}.woocommerce .woocommerce-ordering select{border-radius:12px;border:1px solid rgba(2,32,71,.12);padding:.45rem .8rem}
.woocommerce div.product div.images img{border-radius:var(--hb-radius)}.woocommerce div.product .product_title{font-weight:700}.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--hb-blue-dark);font-weight:700}.woocommerce div.product form.cart .button{font-weight:700}.woocommerce div.product .woocommerce-tabs ul.tabs li a{font-weight:600}.woocommerce-Tabs-panel{border-top:1px solid rgba(2,32,71,.08);padding-top:16px}
@media (max-width:768px){.woocommerce-cart table.shop_table td.product-thumbnail{width:64px!important;min-width:64px!important;padding-right:10px!important}.woocommerce-cart table.shop_table td.product-thumbnail img{width:64px!important;max-width:64px!important;height:auto!important;display:block!important}.woocommerce-cart table.shop_table td.product-name{padding-left:6px!important}}.woocommerce-cart table.shop_table td.product-thumbnail img{max-width:60px!important;height:auto!important;display:block!important}.widget_shopping_cart .mini_cart_item img,.woocommerce-mini-cart .mini_cart_item img{width:48px!important;max-width:48px!important;height:auto!important;display:block!important}.woocommerce .cross-sells:empty,.woocommerce .cart-collaterals:empty{display:none!important}
.site-footer{background:#fff;color:#269AF2;border-top:1px solid rgba(0,0,0,.06)}.site-footer a{color:#269AF2;text-decoration:none}.footer-inner{padding:24px 0;display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between}.footer-menu ul{list-style:none;display:flex;gap:16px;padding:0;margin:0}.footer-copy{color:#269AF2}


/* === v1.0.1: Hero transparent + Shop grid fixes === */

/* Shop: ensure clean grid without phantom first cell */
.woocommerce ul.products, .woocommerce-page ul.products{
  grid-auto-flow: row;
  padding-left: 0 !important;
  list-style: none !important;
}

/* Normalize product card spacing and prevent stray margins */
.woocommerce ul.products li.product{
  margin: 0 !important;
}

/* Enforce consistent image ratio (square). Change to 4/5 if you prefer taller cards. */
.woocommerce ul.products li.product a img{
  aspect-ratio: 1 / 1; /* was 4/5 */
  object-fit: cover;
}

/* If some themes inject figure wrappers with inline heights, neutralize them */
.woocommerce ul.products li.product figure,
.woocommerce ul.products li.product .wc-block-grid__product-image{
  height: auto !important;
}

/* Optional: subtle overlay OFF for hero; remove pseudo element entirely */
.hero::after{ content: none; }
