/*
Theme Name: Softzen Pro
Theme URI: https://softzen.xyz
Description: Professional e-commerce child theme for Softzen, built on Storefront. Navy and orange design with a clean white header, bold prices, modern product cards and a trust bar, made for a Canadian grocery store.
Author: Softzen
Template: storefront
Version: 1.1.3
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: softzen-pro
*/

/* ---------- Softzen Pro design ---------- */
:root{
  --szp-navy:#0a2540;
  --szp-navy-2:#103a5f;
  --szp-orange:#f97316;
  --szp-orange-dark:#ea580c;
  --szp-bg:#f6f7f9;
  --szp-card:#ffffff;
  --szp-text:#1f2937;
  --szp-muted:#6b7280;
  --szp-border:#e5e7eb;
  --szp-radius:14px;
}

body{
  background:var(--szp-bg);
  color:var(--szp-text);
  font-family:'Inter', -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  font-size:16px;
  line-height:1.55;
}
h1,h2,h3,h4,h5,h6,
.site-title, .entry-title, .page-title,
.woocommerce-loop-product__title{
  font-family:'Poppins', 'Inter', -apple-system, 'Segoe UI', Roboto, sans-serif;
  color:var(--szp-navy);
  letter-spacing:-.01em;
}
a{ color:var(--szp-navy-2); }
a:hover{ color:var(--szp-orange-dark); }

/* Top info bar */
.szp-topbar{
  background:var(--szp-navy);
  color:#dbe7f3;
  font-size:.82rem;
  font-weight:600;
  padding:.45em 0;
}
.szp-topbar .col-full{
  display:flex; justify-content:space-between; gap:1em; flex-wrap:wrap;
}
.szp-topbar .szp-topbar-right{ color:#ffb37a; }
@media (max-width:600px){
  .szp-topbar .szp-topbar-right{ display:none; }
  .szp-topbar .col-full{ justify-content:center; text-align:center; }
}

/* Header */
.site-header{
  background:#fff;
  border-bottom:1px solid var(--szp-border);
  padding-top:1.1em; padding-bottom:1.1em;
  box-shadow:0 1px 0 rgba(10,37,64,.03);
}
.site-header .site-branding .site-title a{
  color:var(--szp-navy);
  font-family:'Poppins', sans-serif;
  font-weight:800;
  font-size:1.9rem;
  letter-spacing:-.02em;
}
.site-header .site-branding .site-description{ color:var(--szp-muted); font-size:.85rem; }
.site-header .site-search .widget_product_search form{ margin:0; }
.site-header .site-search .widget_product_search input[type=search]{
  border:2px solid var(--szp-navy);
  border-radius:999px;
  padding:.65em 1.1em;
  background:#fff;
  box-shadow:none;
}
.site-header-cart .cart-contents{ color:var(--szp-navy); font-weight:700; }
.site-header-cart .cart-contents .count{
  background:var(--szp-orange); color:#fff; opacity:1;
  border-radius:999px; padding:.05em .5em; font-size:.78rem;
}

/* Sticky header on desktop */
@media (min-width:769px){
  .site-header{ position:sticky; top:0; z-index:999; }
  body.admin-bar .site-header{ top:32px; }
}

/* Primary navigation */
.storefront-primary-navigation{
  background:var(--szp-navy);
  box-shadow:0 2px 10px rgba(10,37,64,.18);
}
.main-navigation ul li a{
  color:#fff; font-weight:600; padding:.85em 1em;
}
.main-navigation ul li a:hover{ color:#ffb37a; }
.main-navigation ul ul{ background:var(--szp-navy-2); }
.main-navigation ul ul li a{ color:#e6eef7; }

/* Buttons */
.button, button, input[type="button"], input[type="submit"],
.woocommerce a.button, .woocommerce button.button,
.woocommerce a.checkout-button, .woocommerce button.checkout-button{
  background:var(--szp-navy); color:#fff; border:none;
  border-radius:999px; font-weight:700;
  padding:.75em 1.5em;
  transition:background .15s ease, transform .15s ease;
}
.button:hover, button:hover, input[type="submit"]:hover,
.woocommerce a.button:hover, .woocommerce button.button:hover{
  background:var(--szp-navy-2); color:#fff;
}
.woocommerce a.button.add_to_cart_button,
.woocommerce button.button.add_to_cart_button,
.single-product .single_add_to_cart_button{
  background:var(--szp-orange); color:#fff;
}
.woocommerce a.button.add_to_cart_button:hover,
.woocommerce button.button.add_to_cart_button:hover,
.single-product .single_add_to_cart_button:hover{
  background:var(--szp-orange-dark); color:#fff;
}
.woocommerce a.button.add_to_cart_button{ width:100%; text-align:center; margin-top:.6em; }

/* Content area */
.site-content{ padding-top:1.6em; }
.content-area, .widget-area .widget{ background:transparent; }

/* Breadcrumbs */
.storefront-breadcrumb{ background:#fff; border-bottom:1px solid var(--szp-border); margin:0 0 1.4em; padding:.6em 0; }
.woocommerce-breadcrumb{ color:var(--szp-muted); font-size:.85rem; }
.woocommerce-breadcrumb a{ color:var(--szp-navy-2); font-weight:600; }

/* Page titles */
.entry-title, .page-title{ font-weight:800; font-size:2rem; margin-bottom:.5em; }
.home .entry-content h2, .home .entry-content h3{
  font-weight:800; font-size:1.5rem; margin:1.2em 0 .6em;
  padding-left:.55em; border-left:5px solid var(--szp-orange);
}

/* Product cards */
.woocommerce ul.products li.product{
  background:var(--szp-card);
  border:1px solid var(--szp-border);
  border-radius:var(--szp-radius);
  padding:16px 16px 20px;
  box-shadow:0 1px 3px rgba(10,37,64,.05);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  text-align:left;
}
.woocommerce ul.products li.product:hover{
  transform:translateY(-4px);
  box-shadow:0 14px 30px rgba(10,37,64,.13);
  border-color:#d3dae3;
}
.woocommerce ul.products li.product a img{
  border-radius:10px; margin-bottom:.8em;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-size:.98rem; font-weight:600; line-height:1.35; padding:0; margin-bottom:.35em;
}
.woocommerce ul.products li.product .price{
  color:var(--szp-navy); font-weight:800; font-size:1.12rem; display:block;
}
.woocommerce ul.products li.product .price del{ color:#9ca3af; font-weight:600; font-size:.9rem; }
.woocommerce ul.products li.product .price ins{ color:#dc2626; background:none; text-decoration:none; }
.woocommerce ul.products li.product .star-rating{ margin-bottom:.4em; }

/* Sale badge */
.woocommerce span.onsale,
.woocommerce ul.products li.product .onsale{
  background:var(--szp-orange); color:#fff; border:none;
  font-weight:800; font-size:.75rem; letter-spacing:.03em;
  border-radius:999px; padding:.35em .8em; min-height:0; min-width:0; line-height:1.2;
  top:10px; right:auto; left:10px; margin:0;
}

/* Category tiles */
.woocommerce ul.products li.product-category{
  text-align:center;
}
.woocommerce ul.products li.product-category h2,
.woocommerce ul.products li.product-category .woocommerce-loop-category__title{
  font-size:1.05rem; font-weight:700;
}
.woocommerce ul.products li.product-category mark.count{
  background:none; color:var(--szp-orange-dark); font-weight:700;
}

/* Ordering / result count */
.woocommerce .woocommerce-result-count{ color:var(--szp-muted); font-size:.9rem; }
.woocommerce .woocommerce-ordering select{
  border:1px solid var(--szp-border); border-radius:10px; padding:.5em .8em; background:#fff;
}

/* Pagination */
.woocommerce nav.woocommerce-pagination ul{ border:none; }
.woocommerce nav.woocommerce-pagination ul li{ border:none; margin:0 .15em; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span{
  border:1px solid var(--szp-border); border-radius:10px; background:#fff;
  color:var(--szp-navy); font-weight:700; padding:.55em .9em;
}
.woocommerce nav.woocommerce-pagination ul li span.current{
  background:var(--szp-navy); color:#fff; border-color:var(--szp-navy);
}
.woocommerce nav.woocommerce-pagination ul li a:hover{ background:#eef2f7; color:var(--szp-navy); }

/* Single product */
.single-product .product{ background:#fff; border:1px solid var(--szp-border); border-radius:var(--szp-radius); padding:24px; }
.single-product .product .summary .price{ color:var(--szp-navy); font-weight:800; font-size:1.7rem; }
.single-product .product .summary .price del{ color:#9ca3af; font-size:1.1rem; }
.single-product .product .summary .price ins{ color:#dc2626; background:none; text-decoration:none; }
.single-product div.product .woocommerce-product-gallery img{ border-radius:12px; }
.woocommerce-tabs{ background:#fff; border:1px solid var(--szp-border); border-radius:var(--szp-radius); padding:20px 24px; margin-top:24px; }
.woocommerce-tabs ul.tabs{ border-bottom:2px solid var(--szp-border); }
.woocommerce-tabs ul.tabs li.active a{ color:var(--szp-navy); box-shadow:0 2px 0 var(--szp-orange); }
.related.products, .upsells.products{ margin-top:2em; }
.related.products > h2, .upsells.products > h2{
  font-weight:800; padding-left:.55em; border-left:5px solid var(--szp-orange);
}
input[type="number"].qty{ border:1px solid var(--szp-border); border-radius:10px; padding:.6em; }

/* Cart / checkout */
.woocommerce table.shop_table{ background:#fff; border:1px solid var(--szp-border); border-radius:var(--szp-radius); overflow:hidden; }
.woocommerce .cart_totals{ background:#fff; border:1px solid var(--szp-border); border-radius:var(--szp-radius); padding:20px; }
#payment{ background:#fff; border:1px solid var(--szp-border); border-radius:var(--szp-radius); }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea{
  border:1px solid var(--szp-border); border-radius:10px; background:#fff; padding:.65em .9em;
}

/* Notices */
.woocommerce-message, .woocommerce-info{
  border-top:3px solid var(--szp-orange); background:#fff7ed; border-radius:10px;
}
.woocommerce-error{ background:#fef2f2; border-radius:10px; }

/* Widgets / sidebar */
.widget{ background:#fff; border:1px solid var(--szp-border); border-radius:var(--szp-radius); padding:18px; margin-bottom:20px; }
.widget .widget-title{ font-weight:800; border-bottom:2px solid var(--szp-border); padding-bottom:.5em; }

/* Forms */
input[type="text"], input[type="email"], input[type="tel"], input[type="search"],
input[type="password"], textarea, select{
  border:1px solid var(--szp-border); border-radius:10px; background:#fff;
}
input:focus, textarea:focus, select:focus{
  outline:2px solid var(--szp-orange); border-color:var(--szp-orange);
}

/* Footer */
.site-footer{
  background:var(--szp-navy); color:#c7d5e8;
  padding-top:2.5em; margin-top:2.5em;
}
.site-footer a{ color:#fff; }
.site-footer a:hover{ color:#ffb37a; }
.site-footer .widget .widget-title{ color:#fff; border-bottom-color:rgba(255,255,255,.15); }
.site-footer .widget{ background:transparent; border:none; padding:0; }
.site-footer .site-info{ color:#93a9c4; border-top:1px solid rgba(255,255,255,.12); }

/* Handheld footer bar */
.storefront-handheld-footer-bar{ box-shadow:0 -2px 12px rgba(10,37,64,.15); }
.storefront-handheld-footer-bar ul li > a{ background:var(--szp-navy); color:#fff; }
.storefront-handheld-footer-bar ul li.cart .count{ background:var(--szp-orange); color:#fff; }

@media (max-width:768px){
  .woocommerce ul.products li.product{ padding:10px 10px 14px; }
  .site-header{ padding-top:.8em; padding-bottom:.8em; }
  .site-header .site-branding .site-title a{ font-size:1.5rem; }
  .single-product .product{ padding:14px; }
  .entry-title, .page-title{ font-size:1.6rem; }
}

/* ---------- Single product: clean page, Walmart-style buy area ---------- */
/* No sidebar on single product pages (no Recent Posts etc.) */
body.single-product .widget-area{ display:none !important; }
body.single-product .content-area{
  width:100% !important; float:none !important;
  margin-left:0 !important; margin-right:0 !important;
}

/* Walmart-style purchase row: round qty box + big wide Add to Cart */
.single-product div.product form.cart{
  display:flex; flex-wrap:wrap; gap:12px; align-items:stretch;
  background:#f8fafc; border:1px solid var(--szp-border);
  border-radius:var(--szp-radius); padding:16px; margin-top:1em;
}
.single-product div.product form.cart .quantity{ float:none; margin:0; }
.single-product div.product form.cart .quantity .qty{
  height:100%; min-width:84px; text-align:center;
  border:2px solid var(--szp-navy); border-radius:999px;
  font-weight:700; padding:.7em .4em; background:#fff;
}
.single-product div.product form.cart .single_add_to_cart_button{
  flex:1 1 220px; float:none;
  font-size:1.12rem; font-weight:800;
  padding:.85em 1.5em; border-radius:999px;
  box-shadow:0 6px 16px rgba(249,115,22,.35);
}
.single-product div.product .product_meta{
  border-top:1px solid var(--szp-border); padding-top:1em; margin-top:1.2em;
  color:var(--szp-muted); font-size:.9rem;
}
@media (max-width:600px){
  .single-product div.product form.cart .single_add_to_cart_button{ flex:1 1 100%; }
}

/* Keep the big product-page Add to Cart solid orange, same as the shop buttons */
.single-product div.product form.cart button.single_add_to_cart_button{
  background:var(--szp-orange) !important; color:#fff !important;
}
.single-product div.product form.cart button.single_add_to_cart_button:hover{
  background:var(--szp-orange-dark) !important;
}

/* No sidebar anywhere on the site (no Recent Posts etc. on any page) */
body .widget-area{ display:none !important; }
body .content-area{
  width:100% !important; float:none !important;
  margin-left:0 !important; margin-right:0 !important;
}
