/* WooCommerce storefront */
.woocommerce-page .site-content,
.woocommerce .site-content { background:var(--hgm-cream); }

.woocommerce .ast-container,
.woocommerce-page .ast-container { max-width:1320px; }

.woocommerce-breadcrumb { color:#777!important; font-size:.9rem; margin-bottom:24px!important; }
.woocommerce-breadcrumb a { color:#555!important; }

.woocommerce-products-header__title.page-title,
.woocommerce div.product .product_title,
.woocommerce-cart h1,
.woocommerce-checkout h1,
.woocommerce-account h1 {
    font-family:"Oswald",sans-serif;
    text-transform:uppercase;
    font-weight:800;
    color:var(--hgm-text);
}

/* Shop / archives */
.woocommerce ul.products { gap:18px; }
.woocommerce ul.products li.product {
    background:#fff;
    border:1px solid rgba(24,24,27,.07);
    border-radius:10px;
    padding:12px 12px 18px!important;
    box-shadow:0 7px 22px rgba(20,20,24,.05);
    transition:.18s ease;
}
.woocommerce ul.products li.product:hover { transform:translateY(-3px); box-shadow:0 12px 28px rgba(20,20,24,.1); }
.woocommerce ul.products li.product img { border-radius:8px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font:700 1rem/1.3 "Roboto Condensed",sans-serif; color:var(--hgm-text); }
.woocommerce ul.products li.product .price { color:var(--hgm-text)!important; font-weight:800; }
.woocommerce ul.products li.product .star-rating { color:#f4a000; }
.woocommerce ul.products li.product .button { width:100%; text-align:center; background:var(--hgm-black); color:#fff; border-radius:6px; font-weight:700; }
.woocommerce ul.products li.product .button:hover { background:var(--hgm-red); }
.woocommerce span.onsale { background:var(--hgm-red)!important; min-width:auto; min-height:auto; line-height:1; padding:7px 9px; border-radius:4px; font:700 .82rem/1 "Oswald",sans-serif; text-transform:uppercase; }

/* Single product */
.single-product div.product { background:#fff; border-radius:14px; padding:28px; box-shadow:0 10px 34px rgba(20,20,24,.06); }
.single-product div.product div.images img { border-radius:10px; }
.single-product .woocommerce-product-gallery .flex-control-thumbs li img { border-radius:6px; }
.single-product div.product .summary { padding:4px 0 0 22px; }
.single-product div.product .product_title { font-size:clamp(2.2rem,4vw,3.6rem); line-height:.96; letter-spacing:-.015em; }
.single-product .woocommerce-product-rating { margin:.7rem 0 1rem!important; }
.single-product .star-rating { color:#f4a000; }
.single-product div.product p.price,
.single-product div.product span.price { color:var(--hgm-red)!important; font:800 2.2rem/1 "Oswald",sans-serif; }
.single-product .woocommerce-product-details__short-description { color:#56525a; font-size:1.02rem; }
.single-product table.variations { margin-top:18px; }
.single-product table.variations th { padding-left:0; font-weight:800; }
.single-product table.variations select { min-height:44px; border-radius:6px; }
.single-product .quantity .qty { min-height:50px; border-radius:6px; }
.single-product .single_add_to_cart_button { min-height:52px; background:var(--hgm-red)!important; color:#fff!important; border-radius:7px!important; font:700 1.1rem/1 "Oswald",sans-serif!important; text-transform:uppercase; padding:0 30px!important; }
.single-product .single_add_to_cart_button:hover { background:var(--hgm-red-dark)!important; }
.single-product .product_meta { border-top:1px solid var(--hgm-line); padding-top:16px; color:#777; }

.hgm-delivery-box {
    margin-top:18px;
    border:1px solid rgba(217,45,45,.16);
    background:#fff8f6;
    border-radius:10px;
    padding:14px 16px;
}
.hgm-delivery-box__headline { display:flex; align-items:center; gap:10px; }
.hgm-delivery-box__headline > span { font-size:1.4rem; line-height:1; }
.hgm-delivery-box__headline strong { display:block; color:var(--hgm-text); font-weight:800; }
.hgm-delivery-box__headline small { display:block; margin-top:2px; color:#777178; }
.hgm-delivery-details { margin-top:10px; }
.hgm-delivery-details summary { cursor:pointer; color:var(--hgm-red); font-weight:800; list-style:none; }
.hgm-delivery-details summary::-webkit-details-marker { display:none; }
.hgm-delivery-details summary::after { content:" +"; }
.hgm-delivery-details[open] summary::after { content:" −"; }
.hgm-delivery-grid { display:grid; gap:8px; margin-top:12px; padding-top:12px; border-top:1px solid rgba(24,24,27,.08); }
.hgm-delivery-grid > div { display:flex; justify-content:space-between; gap:18px; font-size:.9rem; }
.hgm-delivery-grid span { color:#625d62; }
.hgm-delivery-grid strong { color:var(--hgm-text); text-align:right; white-space:nowrap; }
.hgm-delivery-note { margin:10px 0 0; color:#7a7479; font-size:.78rem; line-height:1.45; }

.hgm-product-trust { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; border-top:1px solid var(--hgm-line); margin-top:22px; padding-top:18px; }
.hgm-product-trust > div { display:grid; grid-template-columns:34px 1fr; align-items:center; column-gap:8px; }
.hgm-product-trust span { grid-row:1 / span 2; font-size:1.45rem; }
.hgm-product-trust strong { font:700 1rem/1 "Oswald",sans-serif; text-transform:uppercase; }
.hgm-product-trust small { color:#767178; font-size:.76rem; }


/* Keep the main product gallery and summary in a clean two-column layout.
   Also clear both columns before tabs/related sections so nothing gets squeezed between them. */
.single-product div.product::after { content:""; display:table; clear:both; }
.single-product .woocommerce-tabs,
.single-product .related.products,
.single-product .up-sells { clear:both; width:100%; }

.single-product .woocommerce-tabs { margin-top:36px; }
.single-product .woocommerce-tabs ul.tabs { border-bottom:1px solid var(--hgm-line)!important; display:flex; gap:6px; flex-wrap:wrap; }
.single-product .woocommerce-tabs ul.tabs::before { display:none!important; }
.single-product .woocommerce-tabs ul.tabs li { border:0!important; background:transparent!important; margin:0!important; padding:0!important; }
.single-product .woocommerce-tabs ul.tabs li::before,
.single-product .woocommerce-tabs ul.tabs li::after { display:none!important; }
.single-product .woocommerce-tabs ul.tabs li a { padding:14px 18px!important; color:#5f5b60!important; font-weight:700!important; }
.single-product .woocommerce-tabs ul.tabs li.active a { color:var(--hgm-red)!important; border-bottom:3px solid var(--hgm-red); }
.single-product .woocommerce-Tabs-panel { background:#fff; padding:22px 0 10px!important; }
.single-product .woocommerce-Tabs-panel h2 { font:800 2rem/1 "Oswald",sans-serif; text-transform:uppercase; }
.single-product .related.products,
.single-product .up-sells { margin-top:48px; }
.single-product .related.products > h2,
.single-product .up-sells > h2 { font:800 2.2rem/1 "Oswald",sans-serif; text-transform:uppercase; }

/* Cart */
.woocommerce-cart .woocommerce { background:#fff; border-radius:14px; padding:26px; box-shadow:0 10px 34px rgba(20,20,24,.05); }
.woocommerce table.shop_table { border-color:var(--hgm-line)!important; border-radius:10px!important; overflow:hidden; }
.woocommerce table.shop_table th { font-family:"Oswald",sans-serif; text-transform:uppercase; font-size:1.05rem; }
.woocommerce-cart .cart_totals { background:#faf8f3; padding:22px; border-radius:10px; }
.woocommerce-cart .checkout-button,
.woocommerce-checkout #place_order { background:var(--hgm-red)!important; color:#fff!important; border-radius:7px!important; font:700 1.15rem/1 "Oswald",sans-serif!important; text-transform:uppercase; }
.hgm-shipping-progress { margin:0 0 22px; padding:16px 18px; background:#fff5f5; border:1px solid rgba(217,45,45,.18); border-radius:8px; }
.hgm-shipping-progress strong { display:block; margin-bottom:9px; }
.hgm-shipping-progress__bar { height:8px; background:#e8e3dd; border-radius:999px; overflow:hidden; }
.hgm-shipping-progress__bar span { display:block; height:100%; background:var(--hgm-red); border-radius:inherit; transition:width .3s ease; }

/* Checkout */
.woocommerce-checkout .woocommerce { max-width:1180px; margin:auto; }
.woocommerce-checkout form.checkout { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr); gap:34px; align-items:start; }
.woocommerce-checkout #customer_details { grid-column:1; }
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review { grid-column:2; }
.woocommerce-checkout #order_review_heading { margin:0 0 -20px; }
.woocommerce-checkout #order_review { background:#fff; border:1px solid var(--hgm-line); border-radius:12px; padding:22px; box-shadow:0 10px 30px rgba(20,20,24,.05); }
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2 { width:100%; float:none; }
.woocommerce-checkout .col2-set { display:grid; gap:24px; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select { min-height:46px; border-radius:6px; border:1px solid #d9d5cf; background:#fff; }

/* Account */
.woocommerce-account .woocommerce { display:grid; grid-template-columns:260px 1fr; gap:28px; }
.woocommerce-account .woocommerce-MyAccount-navigation { width:auto!important; float:none!important; background:var(--hgm-black); border-radius:10px; overflow:hidden; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style:none; margin:0; padding:8px; }
.woocommerce-account .woocommerce-MyAccount-navigation a { display:block; padding:11px 14px; color:#fff; border-radius:6px; text-decoration:none; }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation a:hover { background:var(--hgm-red); }
.woocommerce-account .woocommerce-MyAccount-content { width:auto!important; float:none!important; background:#fff; padding:24px; border-radius:10px; }

@media (max-width:900px) {
    .single-product div.product .summary { padding-left:0; }
    .hgm-product-trust { grid-template-columns:1fr; }
    .woocommerce-checkout form.checkout { display:block; }
    .woocommerce-checkout #order_review_heading { margin-top:30px; }
    .woocommerce-account .woocommerce { grid-template-columns:1fr; }
}

@media (max-width:600px) {
    .hgm-delivery-grid > div { display:block; }
    .hgm-delivery-grid strong { display:block; text-align:left; margin-top:2px; white-space:normal; }
    .single-product div.product { padding:14px; }
    .single-product div.product .product_title { font-size:2.3rem; }
    .woocommerce-cart .woocommerce { padding:12px; }
}
