/*
Theme Name:  CleaningWorld
Theme URI:   https://cleaningworld.com.au
Author:      Dhinesh
Description: Custom WooCommerce theme for CleaningWorld — professional cleaning supplies
Version:     1.0.1
License:     GNU General Public License v2
Text Domain: cleaningworld
Tags:        woocommerce, e-commerce, custom, cleaning
*/

/* ═══════════════════════════════════════════════
   CSS VARIABLES
═══════════════════════════════════════════════ */
:root {
  --clr-primary:      #0057A8;
  --clr-primary-dk:   #003E7E;
  --clr-primary-lt:   #E8F1FB;
  --clr-accent:       #00A84F;
  --clr-accent-dk:    #007A38;
  --clr-accent-lt:    #E6F7EE;
  --clr-dark:         #1A1F2E;
  --clr-mid:          #4A5568;
  --clr-muted:        #718096;
  --clr-border:       #E2E8F0;
  --clr-bg:           #F7F9FC;
  --clr-white:        #FFFFFF;
  --clr-danger:       #E53E3E;
  --clr-warning:      #D69E2E;

  --font-head:   'Barlow Condensed', sans-serif;
  --font-body:   'DM Sans', sans-serif;
  --font-mono:   'JetBrains Mono', monospace;

  --radius-sm:  4px;
  --radius-md:  8px;
  --radius-lg:  12px;
  --radius-xl:  20px;

  --shadow-sm:  0 1px 3px rgba(0,0,0,.08);
  --shadow-md:  0 4px 16px rgba(0,0,0,.10);
  --shadow-lg:  0 8px 32px rgba(0,0,0,.14);

  --transition: .22s cubic-bezier(.4,0,.2,1);
  --container:  1350px;
  --header-h:   70px;
}

/* ═══════════════════════════════════════════════
   RESET
═══════════════════════════════════════════════ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 16px; }
body {
  font-family: var(--font-body);
  color: var(--clr-dark);
  background: var(--clr-bg);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--clr-primary); text-decoration: none; transition: color var(--transition); }
a:hover { color: var(--clr-primary-dk); }
ul { list-style: none; }
button, input, select, textarea { font-family: inherit; }

/* ═══════════════════════════════════════════════
   LAYOUT
═══════════════════════════════════════════════ */
.container {
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 15px;
}
.site-main { min-height: 60vh; padding: 40px 0 80px; }

/* ═══════════════════════════════════════════════
   TYPOGRAPHY
═══════════════════════════════════════════════ */
h1,h2,h3,h4,h5,h6 {
  font-family: var(--font-head);
  font-weight: 700;
  line-height: 1.15;
  color: var(--clr-dark);
  letter-spacing: -.01em;
}
h1 { font-size: clamp(2rem,5vw,3.5rem); }
h2 { font-size: clamp(1.5rem,3vw,2.4rem); }
h3 { font-size: 1.4rem; }
h4 { font-size: 1.15rem; }
p  { margin-bottom: 1rem; }

/* ═══════════════════════════════════════════════
   BUTTONS
═══════════════════════════════════════════════ */
.btn, .button,
button.button,
input[type="submit"],
input[type="button"] {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 24px;
  font-family: var(--font-body);
  font-size: .95rem;
  font-weight: 600;
  border-radius: var(--radius-md);
  border: 2px solid transparent;
  cursor: pointer;
  transition: all var(--transition);
  white-space: nowrap;
  text-align: center;
  justify-content: center;
}
.btn-primary, .button.alt,
.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
  background: var(--clr-primary);
  color: var(--clr-white) !important;
  border-color: var(--clr-primary);
}
.btn-primary:hover, .button.alt:hover {
  background: var(--clr-primary-dk);
  border-color: var(--clr-primary-dk);
  transform: translateY(-1px);
  box-shadow: var(--shadow-md);
}
.btn-accent {
  background: var(--clr-accent);
  color: var(--clr-white) !important;
  border-color: var(--clr-accent);
}
.btn-accent:hover {
  background: var(--clr-accent-dk);
  border-color: var(--clr-accent-dk);
  transform: translateY(-1px);
}
.btn-outline {
  background: transparent;
  color: var(--clr-primary);
  border-color: var(--clr-primary);
}
.btn-outline:hover {
  background: var(--clr-primary);
  color: var(--clr-white);
}

/* ═══════════════════════════════════════════════
   FORMS
═══════════════════════════════════════════════ */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
select,
textarea {
  width: 100%;
  padding: 10px 14px;
  border: 1.5px solid var(--clr-border);
  border-radius: var(--radius-md);
  font-size: .95rem;
  color: var(--clr-dark);
  background: var(--clr-white);
  transition: border-color var(--transition);
  outline: none;
}
input:focus, select:focus, textarea:focus {
  border-color: var(--clr-primary);
  box-shadow: 0 0 0 3px rgba(0,87,168,.12);
}

/* ═══════════════════════════════════════════════
   NOTICES / ALERTS
═══════════════════════════════════════════════ */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  padding: 14px 20px;
  border-radius: var(--radius-md);
  margin-bottom: 20px;
  border-left: 4px solid var(--clr-accent);
  background: var(--clr-accent-lt);
  color: var(--clr-dark);
  font-size: .95rem;
}
.woocommerce-error {
  border-color: var(--clr-danger);
  background: #FFF5F5;
}
.woocommerce-info {
  border-color: var(--clr-primary);
  background: var(--clr-primary-lt);
}

/* ═══════════════════════════════════════════════
   BREADCRUMBS
═══════════════════════════════════════════════ */
.woocommerce-breadcrumb {
  font-size: .85rem;
  color: var(--clr-muted);
  margin-bottom: 24px;
  padding: 12px 0;
  border-bottom: 1px solid var(--clr-border);
}
.woocommerce-breadcrumb a { color: var(--clr-muted); }
.woocommerce-breadcrumb a:hover { color: var(--clr-primary); }

/* ═══════════════════════════════════════════════
   PAGINATION
═══════════════════════════════════════════════ */
.woocommerce-pagination ul,
.page-numbers {
  display: flex;
  gap: 6px;
  justify-content: center;
  margin-top: 40px;
}
.page-numbers li a,
.page-numbers li span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: var(--radius-md);
  border: 1.5px solid var(--clr-border);
  font-size: .9rem;
  font-weight: 600;
  color: var(--clr-mid);
  transition: all var(--transition);
}
.page-numbers li a:hover,
.page-numbers li span.current {
  background: var(--clr-primary);
  color: var(--clr-white);
  border-color: var(--clr-primary);
}

/* ═══════════════════════════════════════════════
   UTILITY
═══════════════════════════════════════════════ */
.text-center { text-align: center; }
.text-muted  { color: var(--clr-muted); }
.badge {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 99px;
  font-size: .75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.badge-primary { background: var(--clr-primary-lt); color: var(--clr-primary); }
.badge-accent  { background: var(--clr-accent-lt);  color: var(--clr-accent-dk); }

/* ═══════════════════════════════════════════════
   RESPONSIVE
═══════════════════════════════════════════════ */
@media (max-width: 768px) {
  .container { padding: 0 16px; }
  .site-main  { padding: 24px 0 60px; }
}

/* Full-width delivery message, without icons or phone panel. */
body.cw-theme-header.cw-theme-header.cw-theme-header .cw-topbar{background:#277ccd!important;display:flex!important;justify-content:center!important;height:auto!important;min-height:38px!important;}
body.cw-theme-header.cw-theme-header.cw-theme-header .cw-topbar-green{display:none!important;}
body.cw-theme-header.cw-theme-header.cw-theme-header .cw-topbar-blue{flex:1 1 100%!important;width:100%!important;max-width:none!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;padding:9px 16px!important;box-sizing:border-box!important;background:#277ccd!important;color:#fff!important;font-size:14px!important;}
body.cw-theme-header.cw-theme-header.cw-theme-header .cw-topbar-blue>span{display:block!important;}
body.cw-theme-header.cw-theme-header.cw-theme-header .cw-topbar-blue>span:before,body.cw-theme-header.cw-theme-header.cw-theme-header .cw-topbar-blue:before,body.cw-theme-header.cw-theme-header.cw-theme-header .cw-topbar-blue:after{display:none!important;content:none!important;}
@media(max-width:600px){body.cw-theme-header.cw-theme-header.cw-theme-header .cw-topbar-blue{font-size:11px!important;padding:8px 12px!important;}}

/* Consistent availability labels across product cards and carousels. */
.product-stock.cw-sl-done,.product-view__stock.cw-sl-done,.cwp-stock.cw-sl-done,.cart-modal-stock.cw-sl-done{display:flex!important;align-items:center!important;gap:8px!important;font-size:14px!important;font-weight:500!important;line-height:1.4!important;min-height:22px;white-space:normal;text-align:left;}
.cw-sl-done>.cw-sl-icon{display:block!important;flex:0 0 16px!important;width:16px!important;height:16px!important;min-width:16px;max-width:16px;margin:0!important;position:static!important;vertical-align:middle;box-sizing:border-box;}

/* Cleaning World Address Book — account design */
.woocommerce-account .site-main article:has(.wcma-address-book),
.woocommerce-account .site-main article:has(.wcma-address-form-wrap){padding-bottom:64px;}
.woocommerce-account .wcma-address-book{max-width:none!important;margin:30px 0 0!important;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:28px;row-gap:20px;align-items:start;}
.woocommerce-account .wcma-address-book>.wcma-address-book__header{margin:0!important;padding:0!important;border:0!important;}
.woocommerce-account .wcma-address-book>.wcma-address-book__header:first-child{grid-column:1;grid-row:1;}
.woocommerce-account .wcma-address-book>.wcma-address-book__header--saved{grid-column:2;grid-row:1;}
.woocommerce-account .wcma-address-book>.wcma-wc-addresses{grid-column:1;grid-row:2;}
.woocommerce-account .wcma-address-book>.wcma-address-grid:not(.wcma-wc-addresses){grid-column:2;grid-row:2;}
.woocommerce-account .wcma-address-book__header h3{font-family:inherit!important;font-size:22px!important;font-weight:600!important;line-height:1.4!important;color:#253e50!important;margin:0!important;}
.woocommerce-account .wcma-address-book .wcma-address-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:18px!important;margin:0!important;width:100%!important;}
.woocommerce-account .wcma-address-book .wcma-address-card{background:#fff!important;border:1px solid #dce5ed!important;border-top:1px solid #dce5ed!important;border-radius:14px!important;box-shadow:0 3px 16px rgba(30,62,89,.045)!important;padding:26px!important;min-height:215px;display:flex;flex-direction:column;transform:none!important;transition:border-color .18s,box-shadow .18s;}
.woocommerce-account .wcma-address-book .wcma-address-card:hover{border-color:#b2cee4!important;box-shadow:0 5px 20px rgba(30,62,89,.07)!important;}
.woocommerce-account .wcma-label-icon,.woocommerce-account .wcma-form-header__icon{display:none!important;}
.woocommerce-account .wcma-address-card__label{background:none!important;padding:0!important;margin:0 0 16px!important;gap:10px!important;color:#253e50!important;font-size:17px!important;font-weight:600!important;}
.woocommerce-account .wcma-address-card__body{font-style:normal!important;font-size:15px!important;line-height:1.75!important;color:#536878!important;margin:0 0 22px!important;flex:1;}
.woocommerce-account .wcma-address-card__body em{font-style:normal;color:#71818e;}
.woocommerce-account .wcma-address-card__actions{border-top:1px solid #edf1f5!important;padding:18px 0 0!important;margin:0!important;display:flex;gap:10px;flex-wrap:wrap;align-items:center;}
.woocommerce-account .wcma-address-card__actions .wcma-action-link{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:7px 16px!important;border:1px solid #c8dceb!important;border-radius:7px!important;background:#f7fbff!important;color:#237ac2!important;font-family:inherit;font-size:14px!important;font-weight:600!important;text-decoration:none!important;cursor:pointer;}
.woocommerce-account .wcma-address-card__actions .wcma-action-link:hover{background:#eaf4fc!important;border-color:#2b7fca!important;}
.woocommerce-account .wcma-address-book>.wcma-btn-add{grid-column:2;justify-self:start;margin:0!important;}
.woocommerce-account .wcma-address-book>.wcma-btn-add,
.woocommerce-account .wcma-address-form-wrap #wcma-save-btn{background:#2b7fca!important;color:white!important;border:1px solid #2b7fca!important;border-radius:8px!important;padding:13px 23px!important;font-family:inherit!important;font-size:15px!important;font-weight:600!important;line-height:1.4!important;box-shadow:none!important;cursor:pointer;text-decoration:none!important;}
.woocommerce-account .wcma-address-book>.wcma-btn-add:hover,.woocommerce-account .wcma-address-form-wrap #wcma-save-btn:hover{background:#2169ab!important;border-color:#2169ab!important;}
.woocommerce-account .wcma-address-form-wrap{max-width:980px!important;margin:30px 0 0!important;background:#fff!important;border:1px solid #dce5ed!important;border-radius:14px!important;box-shadow:0 3px 16px rgba(30,62,89,.045)!important;padding:32px!important;}
.woocommerce-account .wcma-form-header{background:none!important;border:0!important;border-bottom:1px solid #e6edf3!important;padding:0 0 24px!important;margin:0 0 28px!important;}
.woocommerce-account .wcma-form-header__title{font-family:inherit!important;font-size:24px!important;font-weight:600!important;color:#253e50!important;margin:0 0 8px!important;}
.woocommerce-account .wcma-form-header__sub{font-size:15px!important;color:#6c7e8c!important;margin:0!important;}
.woocommerce-account .wcma-address-form{padding:0!important;}
.woocommerce-account .wcma-field-row{gap:22px!important;margin-bottom:22px!important;}
.woocommerce-account .wcma-field{margin-bottom:22px!important;}
.woocommerce-account .wcma-field-row>.wcma-field{margin-bottom:0!important;}
.woocommerce-account .wcma-field--highlight,.woocommerce-account .wcma-field--notes,.woocommerce-account .wcma-field-row--top{background:none!important;border:0!important;padding:0!important;border-radius:0!important;}
.woocommerce-account .wcma-field label{font-family:inherit!important;font-size:15px!important;font-weight:600!important;color:#253e50!important;margin-bottom:9px!important;}
.woocommerce-account .wcma-field__opt{font-weight:400!important;color:#7b8b98!important;}
.woocommerce-account .wcma-address-form input:not([type=checkbox]):not([type=hidden]),.woocommerce-account .wcma-address-form select,.woocommerce-account .wcma-address-form textarea{box-sizing:border-box;width:100%!important;border:1px solid #cad8e3!important;border-radius:8px!important;background:#fff!important;color:#344c5d!important;min-height:49px!important;padding:12px 14px!important;font-family:inherit!important;font-size:15px!important;box-shadow:none!important;}
.woocommerce-account .wcma-address-form textarea{min-height:110px!important;resize:vertical;}
.woocommerce-account .wcma-address-form input:focus,.woocommerce-account .wcma-address-form select:focus,.woocommerce-account .wcma-address-form textarea:focus{outline:none!important;border-color:#2b7fca!important;box-shadow:0 0 0 3px rgba(43,127,202,.12)!important;}
.woocommerce-account .wcma-geo-wrap{display:flex!important;gap:10px;align-items:stretch;}
.woocommerce-account .wcma-geo-wrap input{min-width:0;flex:1;}
.woocommerce-account .wcma-geo-btn{position:static!important;transform:none!important;flex-shrink:0;border:1px solid #c8dceb!important;background:#f7fbff!important;color:#237ac2!important;border-radius:8px!important;padding:10px 13px!important;cursor:pointer;}
.woocommerce-account .wcma-form-actions{border-top:1px solid #e6edf3!important;padding-top:24px!important;margin-top:26px!important;display:flex;align-items:center;gap:14px;}
.woocommerce-account .wcma-form-actions>a.button{background:white!important;color:#526a7b!important;border:1px solid #cad8e3!important;border-radius:8px!important;padding:13px 23px!important;font-size:15px!important;font-weight:600!important;line-height:1.4!important;box-shadow:none!important;}
.woocommerce-account .wcma-address-form input[type=checkbox]{accent-color:#2b7fca;width:18px;height:18px;}
@media(max-width:700px){
.woocommerce-account .wcma-address-book{display:flex!important;flex-direction:column;gap:18px!important;}
.woocommerce-account .wcma-address-book>*{width:100%;}
.woocommerce-account .wcma-address-book>.wcma-address-book__header--saved{margin-top:16px!important;}
.woocommerce-account .wcma-address-book>.wcma-btn-add{width:auto;align-self:stretch;text-align:center;}
.woocommerce-account .wcma-address-book .wcma-address-card{padding:22px!important;min-height:190px;}
.woocommerce-account .wcma-address-form-wrap{padding:22px!important;}
.woocommerce-account .wcma-field-row{display:flex!important;flex-direction:column!important;gap:22px!important;}
.woocommerce-account .wcma-field-row>.wcma-field{width:100%!important;}
.woocommerce-account .wcma-geo-btn-text{display:none;}
.woocommerce-account .wcma-form-actions{flex-wrap:wrap;}
}

.woocommerce-account .wcma-address-form .wcma-field-row--2col{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));}
.woocommerce-account .wcma-address-form .wcma-field-row--2col>.wcma-field{width:100%!important;min-width:0;}
.woocommerce-account .wcma-form-header__title:after{display:none!important;}
@media(max-width:700px){.woocommerce-account .wcma-address-form .wcma-field-row--2col{grid-template-columns:1fr!important;}}

/* Product details: compact transition into recommended products. */
body.single-product .site-main.product-page{padding-bottom:0!important;}
body.single-product .product-page .product-tabs{margin-bottom:0!important;}
body.single-product .cw-pdp-recommended{padding-top:32px!important;}

/* Small white separation between product recommendations and the footer. */
body.single-product footer.footer{border-top:32px solid #fff!important;}
@media(max-width:700px){body.single-product footer.footer{border-top-width:24px!important;}}
