/* ==========================================================================
   CARTZENO THEME — MAIN STYLESHEET
   ========================================================================== */

:root{
	--cz-navy: #0d1b3e;
	--cz-navy-2: #0a2647;
	--cz-blue: #1a56c4;
	--cz-blue-dark: #123f96;
	--cz-blue-light: #eaf1fd;
	--cz-green: #17a34a;
	--cz-red: #e6394d;
	--cz-orange: #f97316;
	--cz-gray-bg: #f5f7fa;
	--cz-border: #e5e9f0;
	--cz-text: #1f2937;
	--cz-text-light: #6b7280;
	--radius: 8px;
	--shadow: 0 2px 10px rgba(13,27,62,.06);
	--shadow-hover: 0 10px 24px rgba(13,27,62,.14);
	--transition: all .25s ease;
	--font-head: 'Poppins', sans-serif;
	--font-body: 'Inter', sans-serif;
}

*{ box-sizing:border-box; }
body{
	margin:0; font-family:var(--font-body); color:var(--cz-text); background:#fff;
	-webkit-font-smoothing:antialiased;
}
img{ max-width:100%; display:block; }
a{ text-decoration:none; color:inherit; }
ul{ list-style:none; margin:0; padding:0; }
h1,h2,h3,h4{ font-family:var(--font-head); margin:0; }
.cz-container{ max-width:1320px; margin:0 auto; padding:0 20px; }

/* ============ TOP BAR ============ */
.cz-topbar{ background:var(--cz-navy); color:#cfd8ea; font-size:13px; }
.cz-topbar__inner{ display:flex; align-items:center; justify-content:space-between; padding:8px 20px; gap:20px; flex-wrap:wrap; }
.cz-topbar__info{ display:flex; gap:24px; align-items:center; }
.cz-topbar__info a{ color:#cfd8ea; transition:var(--transition); }
.cz-topbar__info a:hover{ color:#fff; }
.cz-topbar__social{ display:flex; gap:10px; }
.cz-topbar__social a{
	width:26px; height:26px; border-radius:50%; background:rgba(255,255,255,.12);
	display:flex; align-items:center; justify-content:center; transition:var(--transition);
}
.cz-topbar__social a:hover{ background:var(--cz-blue); transform:translateY(-2px); }
.dashicons{ font-size:16px; width:16px; height:16px; vertical-align:middle; }

/* ============ HEADER ============ */
.cz-header{ background:#fff; box-shadow:var(--shadow); position:sticky; top:0; z-index:100; }
.cz-header__inner{ display:flex; align-items:center; gap:30px; padding:16px 20px; }
.cz-logo{ display:flex; align-items:center; gap:10px; flex-shrink:0; }
.cz-logo__icon{ font-size:32px; width:32px; height:32px; color:var(--cz-blue); }
.cz-logo__text{ font-family:var(--font-head); font-weight:800; font-size:22px; color:var(--cz-navy); line-height:1.1; display:flex; flex-direction:column; }
.cz-logo__text small{ font-size:10px; font-weight:500; color:var(--cz-text-light); letter-spacing:.5px; }

.cz-search{ flex:1; display:flex; max-width:600px; }
.cz-search input{
	flex:1; border:2px solid var(--cz-blue); border-right:none; border-radius:6px 0 0 6px;
	padding:12px 16px; font-size:14px; outline:none; transition:var(--transition);
}
.cz-search input:focus{ border-color:var(--cz-blue-dark); }
.cz-search button{
	background:var(--cz-blue); border:none; color:#fff; padding:0 20px; border-radius:0 6px 6px 0;
	cursor:pointer; transition:var(--transition);
}
.cz-search button:hover{ background:var(--cz-blue-dark); }

.cz-header__actions{ display:flex; align-items:center; gap:26px; }
.cz-account{ position:relative; display:flex; align-items:center; gap:8px; cursor:pointer; }
.cz-account .dashicons{ font-size:26px; width:26px; height:26px; color:var(--cz-navy); }
.cz-account__text{ font-size:13px; line-height:1.4; }
.cz-account__text span{ display:block; color:var(--cz-text-light); }
.cz-account__text a{ font-weight:600; color:var(--cz-navy); display:flex; align-items:center; gap:2px; }
.cz-account__dropdown{
	position:absolute; top:calc(100% + 14px); right:0; background:#fff; box-shadow:var(--shadow-hover);
	border-radius:var(--radius); min-width:180px; padding:8px 0; opacity:0; visibility:hidden;
	transform:translateY(8px); transition:var(--transition); z-index:20;
}
.cz-account:hover .cz-account__dropdown{ opacity:1; visibility:visible; transform:translateY(0); }
.cz-account__dropdown a{ display:block; padding:10px 18px; font-size:14px; transition:var(--transition); }
.cz-account__dropdown a:hover{ background:var(--cz-blue-light); color:var(--cz-blue); padding-left:22px; }
.cz-account__dropdown a .dashicons{ font-size:16px; width:16px; height:16px; margin-right:6px; color:var(--cz-blue); }
.cz-account__dropdown a.cz-logout-link{ color:var(--cz-red); border-top:1px solid var(--cz-border); margin-top:4px; }
.cz-account__dropdown a.cz-logout-link .dashicons{ color:var(--cz-red); }

.cz-auth-links{ display:flex; align-items:center; gap:8px; font-size:14px; font-weight:600; }
.cz-auth-links .dashicons{ font-size:22px; width:22px; height:22px; color:var(--cz-navy); margin-right:2px; }
.cz-auth-links a{ color:var(--cz-navy); transition:var(--transition); padding:6px 4px; }
.cz-auth-links a:hover{ color:var(--cz-blue); }
.cz-auth-links .cz-auth-register{ background:var(--cz-blue); color:#fff !important; padding:8px 16px; border-radius:6px; }
.cz-auth-links .cz-auth-register:hover{ background:var(--cz-blue-dark); }
.cz-auth-links .cz-auth-sep{ color:var(--cz-border); }

.cz-cart{ display:flex; align-items:center; gap:10px; }
.cz-cart__icon{ position:relative; width:40px; height:40px; background:var(--cz-blue-light); border-radius:50%; display:flex; align-items:center; justify-content:center; transition:var(--transition); }
.cz-cart:hover .cz-cart__icon{ background:var(--cz-blue); }
.cz-cart:hover .cz-cart__icon .dashicons{ color:#fff; }
.cz-cart__icon .dashicons{ color:var(--cz-blue); font-size:20px; width:20px; height:20px; }
.cz-cart-count{
	position:absolute; top:-6px; right:-6px; background:var(--cz-orange); color:#fff; font-size:11px;
	font-weight:700; width:19px; height:19px; border-radius:50%; display:flex; align-items:center; justify-content:center;
}
.cz-cart__text{ font-size:13px; line-height:1.4; }
.cz-cart__text span:first-child{ display:block; color:var(--cz-text-light); }
.cz-cart-total{ font-weight:700; color:var(--cz-navy); }

/* ============ NAV ============ */
.cz-nav{ background:#fff; border-top:1px solid var(--cz-border); }
.cz-nav__inner{ display:flex; align-items:center; gap:10px; }
.cz-categories{ position:relative; }
.cz-categories__toggle{
	background:var(--cz-blue); color:#fff; border:none; padding:14px 20px; font-weight:600; font-size:14px;
	display:flex; align-items:center; gap:10px; cursor:pointer; border-radius:6px 6px 0 0; transition:var(--transition);
	white-space:nowrap;
}
.cz-categories__toggle:hover{ background:var(--cz-blue-dark); }
.cz-categories__panel{
	position:absolute; top:100%; left:0; background:#fff; box-shadow:var(--shadow-hover); width:240px;
	opacity:0; visibility:hidden; transform:translateY(8px); transition:var(--transition); z-index:30; border-radius:0 0 6px 6px;
}
.cz-categories:hover .cz-categories__panel{ opacity:1; visibility:visible; transform:translateY(0); }
.cz-categories__panel a{ display:block; padding:12px 18px; font-size:14px; border-bottom:1px solid var(--cz-border); transition:var(--transition); }
.cz-categories__panel a:hover{ background:var(--cz-blue-light); color:var(--cz-blue); padding-left:24px; }

.cz-menu{ display:flex; gap:6px; flex-wrap:wrap; }
.cz-menu li a{
	display:block; padding:16px 14px; font-weight:600; font-size:13.5px; letter-spacing:.3px; color:var(--cz-navy);
	position:relative; transition:var(--transition);
}
.cz-menu li a::after{
	content:''; position:absolute; left:14px; right:14px; bottom:10px; height:2px; background:var(--cz-blue);
	transform:scaleX(0); transition:var(--transition);
}
.cz-menu li a:hover{ color:var(--cz-blue); }
.cz-menu li a:hover::after{ transform:scaleX(1); }

/* ============ TRUST STRIP ============ */
.cz-trust-strip{ background:var(--cz-gray-bg); border-top:1px solid var(--cz-border); border-bottom:1px solid var(--cz-border); }
.cz-trust-strip__inner{ display:grid; grid-template-columns:repeat(6,1fr); gap:16px; padding:24px 20px; }
.cz-trust-item{ display:flex; align-items:center; gap:10px; }
.cz-trust-item .dashicons{ font-size:28px; width:28px; height:28px; color:var(--cz-blue); flex-shrink:0; }
.cz-trust-item strong{ display:block; font-size:13px; color:var(--cz-navy); }
.cz-trust-item small{ font-size:11.5px; color:var(--cz-text-light); }

/* ============ FOOTER ============ */
.cz-footer{ background:var(--cz-navy); color:#c8d0e0; }
.cz-footer__grid{ display:grid; grid-template-columns:1.6fr 1fr 1fr 1.2fr 1fr; gap:36px; padding:56px 20px 36px; }
.cz-footer h4{ color:#fff; font-size:16px; margin-bottom:18px; }
.cz-footer ul li{ margin-bottom:10px; }
.cz-footer ul li a{ font-size:14px; transition:var(--transition); }
.cz-footer ul li a:hover{ color:#fff; padding-left:4px; }
.cz-footer p{ font-size:14px; line-height:1.7; }
.cz-logo--footer .cz-logo__text{ color:#fff; }
.cz-logo--footer{ margin-bottom:14px; }
.cz-footer__social{ display:flex; gap:10px; margin-top:16px; }
.cz-footer__social a{ width:34px; height:34px; border-radius:50%; background:rgba(255,255,255,.1); display:flex; align-items:center; justify-content:center; transition:var(--transition); }
.cz-footer__social a:hover{ background:var(--cz-blue); transform:translateY(-3px); }
.cz-footer__contact li{ display:flex; gap:10px; font-size:14px; align-items:flex-start; }
.cz-footer__pay{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:14px; }
.cz-pay-badge, .cz-secure-badge{ background:#fff; color:var(--cz-navy); font-size:11px; font-weight:700; padding:6px 10px; border-radius:4px; }
.cz-footer__bottom{ border-top:1px solid rgba(255,255,255,.12); padding:18px 0; }
.cz-footer__bottom-inner{ display:flex; justify-content:space-between; font-size:13px; }

/* ============ HERO / HOME ============ */
.cz-hero{ background:var(--cz-blue-light); padding:60px 0; overflow:hidden; }
.cz-hero__inner{ display:flex; align-items:center; gap:40px; }
.cz-hero__content{ flex:1; }
.cz-hero__tag{ color:var(--cz-blue); font-weight:700; letter-spacing:1px; font-size:13px; text-transform:uppercase; }
.cz-hero__title{ font-size:44px; font-weight:800; color:var(--cz-navy); line-height:1.15; margin:12px 0 18px; }
.cz-hero__title span{ color:var(--cz-blue); }
.cz-hero__desc{ font-size:16px; color:var(--cz-text-light); margin-bottom:24px; max-width:480px; }
.cz-hero__btn{
	display:inline-block; background:var(--cz-blue); color:#fff; padding:14px 32px; border-radius:6px;
	font-weight:700; transition:var(--transition); box-shadow:0 8px 20px rgba(26,86,196,.3);
}
.cz-hero__btn:hover{ background:var(--cz-blue-dark); transform:translateY(-2px); box-shadow:0 12px 26px rgba(26,86,196,.4); }
.cz-hero__image{ flex:1; animation:czFloat 4s ease-in-out infinite; }
.cz-hero__image img,
.cz-hero__illustration{ width:100%; max-width:460px; height:auto; display:block; margin:0 auto; }
@keyframes czFloat{ 0%,100%{ transform:translateY(0);} 50%{ transform:translateY(-14px);} }

/* ============ CATEGORY / PRODUCT CARDS ============ */
.cz-section{ padding:50px 0; }
.cz-section__head{ text-align:center; margin-bottom:36px; }
.cz-section__head h2{ font-size:28px; color:var(--cz-navy); position:relative; display:inline-block; padding:0 24px; }
.cz-section__head h2::before, .cz-section__head h2::after{ content:''; position:absolute; top:50%; width:40px; height:2px; background:var(--cz-blue); }
.cz-section__head h2::before{ left:-40px; }
.cz-section__head h2::after{ right:-40px; }

.cz-cat-grid{ display:grid; grid-template-columns:repeat(6,1fr); gap:20px; }
.cz-cat-card{
	background:#fff; border:1px solid var(--cz-border); border-radius:var(--radius); text-align:center;
	padding:32px 16px; transition:var(--transition); cursor:pointer;
}
.cz-cat-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow-hover); border-color:var(--cz-blue); }
.cz-cat-card:hover .cz-cat-card__icon{ transform:scale(1.08); }
.cz-cat-card img{ width:64px; height:64px; margin:0 auto 16px; object-fit:contain; border-radius:12px; }
.cz-cat-card__icon{
	width:64px; height:64px; margin:0 auto 16px; border-radius:16px; display:flex;
	align-items:center; justify-content:center; transition:var(--transition);
}
.cz-cat-card__icon .dashicons{ font-size:30px; width:30px; height:30px; }
.cz-cat-card strong{ display:block; color:var(--cz-navy); font-size:14px; letter-spacing:.4px; }
.cz-cat-card small{ color:var(--cz-blue); font-size:12px; }

.cz-product-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.cz-product-card{
	background:#fff; border:1px solid var(--cz-border); border-radius:var(--radius); overflow:hidden;
	transition:var(--transition); position:relative; display:flex; flex-direction:column;
}
.cz-product-card:hover{ box-shadow:var(--shadow-hover); transform:translateY(-4px); border-color:var(--cz-blue); }
.cz-product-card__badge{
	position:absolute; top:12px; left:12px; z-index:2; font-size:11px; font-weight:700; color:#fff;
	padding:4px 10px; border-radius:4px; background:var(--cz-green);
}
.cz-product-card__badge.off{ background:var(--cz-red); }
.cz-product-card__wish{
	position:absolute; top:12px; right:12px; z-index:2; width:32px; height:32px; border-radius:50%;
	background:#fff; box-shadow:var(--shadow); display:flex; align-items:center; justify-content:center; cursor:pointer;
	transition:var(--transition);
}
.cz-product-card__wish:hover{ background:var(--cz-red); color:#fff; }
.cz-wishlist-btn{ border:none; cursor:pointer; }
.cz-wishlist-btn.is-active{ background:var(--cz-red); color:#fff; }
.cz-wishlist-btn.is-active .dashicons::before{ content:"\f487"; } /* filled heart */
.cz-product-card__img{ padding:24px; background:#fafbfc; }
.cz-product-card__img img{ height:180px; object-fit:contain; margin:0 auto; transition:var(--transition); }
.cz-product-card:hover .cz-product-card__img img{ transform:scale(1.06); }
.cz-product-card__body{ padding:16px; display:flex; flex-direction:column; gap:6px; flex:1; }
.cz-product-card__title{ font-size:14.5px; font-weight:600; color:var(--cz-navy); line-height:1.4; min-height:40px; }
.cz-product-card__meta{ font-size:12px; color:var(--cz-text-light); }
.cz-product-card__price{ display:flex; align-items:center; gap:8px; margin-top:4px; }
.cz-product-card__price .now{ font-size:17px; font-weight:800; color:var(--cz-navy); }
.cz-product-card__price .was{ font-size:13px; color:#a0aab8; text-decoration:line-through; }
.cz-product-card__cart{
	margin-top:auto; background:var(--cz-blue); color:#fff; text-align:center; padding:11px; border:none;
	border-radius:6px; font-weight:600; cursor:pointer; transition:var(--transition); font-size:13.5px;
}
.cz-product-card__cart:hover{ background:var(--cz-blue-dark); }

/* ============ SHOP / ARCHIVE PAGE ============ */
.cz-shop{ display:grid; grid-template-columns:270px 1fr; gap:30px; padding:36px 0; align-items:start; }
.cz-shop-sidebar{ background:#fff; border:1px solid var(--cz-border); border-radius:var(--radius); padding:20px; }
.cz-shop-sidebar h4{ font-size:14px; color:var(--cz-navy); margin:0 0 14px; text-transform:uppercase; letter-spacing:.4px; }
.cz-shop-sidebar ul li{ margin-bottom:10px; font-size:14px; display:flex; justify-content:space-between; }
.cz-shop-sidebar ul li a{ color:var(--cz-text); transition:var(--transition); }
.cz-shop-sidebar ul li a:hover{ color:var(--cz-blue); }
.cz-shop-toolbar{ display:flex; justify-content:space-between; align-items:center; margin-bottom:20px; }

/* Price filter widget (WC_Widget_Price_Filter) */
.cz-price-filter .price_slider_amount{ display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-top:14px; }
.cz-price-filter input#min_price,
.cz-price-filter input#max_price{
	width:80px; padding:6px 8px; border:1px solid var(--cz-border); border-radius:6px; font-size:13px;
}
.cz-price-filter .price_slider_amount button.button{
	background:var(--cz-blue); color:#fff; border:none; padding:7px 16px; border-radius:6px;
	font-weight:600; font-size:13px; cursor:pointer; transition:var(--transition);
}
.cz-price-filter .price_slider_amount button.button:hover{ background:var(--cz-blue-dark); }
.cz-price-filter .price_slider{ margin:10px 2px 4px; }
.cz-shop-sidebar ul li input[type="checkbox"]{ accent-color:var(--cz-blue); }

/* ============ BREADCRUMB ============ */
.cz-breadcrumb{ padding:16px 0; font-size:13px; color:var(--cz-text-light); }
.cz-breadcrumb a{ color:var(--cz-blue); }
.cz-page-title{ font-size:28px; color:var(--cz-navy); margin-bottom:6px; }
.cz-page-sub{ color:var(--cz-text-light); margin-bottom:28px; }

/* ============ TRACK ORDER PAGE ============ */
.cz-track-box{ background:#fff; border:1px solid var(--cz-border); border-radius:var(--radius); padding:30px; display:flex; gap:30px; align-items:center; margin-bottom:30px; flex-wrap:wrap; }
.cz-track-form{ flex:1; display:flex; gap:12px; min-width:280px; }
.cz-track-form input{ flex:1; padding:14px; border:1px solid var(--cz-border); border-radius:6px; font-size:14px; }
.cz-track-form button{ background:var(--cz-blue); color:#fff; border:none; padding:14px 28px; border-radius:6px; font-weight:700; cursor:pointer; transition:var(--transition); }
.cz-track-form button:hover{ background:var(--cz-blue-dark); }

.cz-order-panel{ background:#fff; border:1px solid var(--cz-border); border-radius:var(--radius); padding:30px; }
.cz-order-status{ display:flex; justify-content:space-between; position:relative; margin:40px 0; }
.cz-order-status::before{ content:''; position:absolute; top:18px; left:5%; right:5%; height:3px; background:var(--cz-border); z-index:0; }
.cz-status-step{ position:relative; z-index:1; text-align:center; flex:1; }
.cz-status-step .dot{ width:36px; height:36px; border-radius:50%; background:#fff; border:3px solid var(--cz-border); margin:0 auto 10px; display:flex; align-items:center; justify-content:center; color:var(--cz-border); }
.cz-status-step.done .dot{ background:var(--cz-green); border-color:var(--cz-green); color:#fff; }
.cz-status-step.done ~ .cz-status-step::before{ background:var(--cz-border); }
.cz-status-step strong{ display:block; font-size:13px; color:var(--cz-navy); }
.cz-status-step small{ color:var(--cz-text-light); font-size:11.5px; }

/* ============ ACCOUNT DASHBOARD STAT CARDS ============ */
.cz-account-stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-bottom:30px; }
.cz-stat-card{ background:#fff; border:1px solid var(--cz-border); border-radius:var(--radius); padding:22px; display:flex; align-items:center; justify-content:space-between; transition:var(--transition); }
.cz-stat-card:hover{ box-shadow:var(--shadow-hover); transform:translateY(-3px); }
.cz-stat-card__icon{ width:48px; height:48px; border-radius:50%; background:var(--cz-blue-light); display:flex; align-items:center; justify-content:center; color:var(--cz-blue); font-size:22px; }
.cz-stat-card strong{ display:block; font-size:22px; color:var(--cz-navy); }
.cz-stat-card small{ color:var(--cz-text-light); font-size:12.5px; }

/* ============ CONTACT PAGE ============ */
.cz-contact-grid{ display:grid; grid-template-columns:1fr 1.35fr; gap:24px; align-items:start; }
.cz-contact-grid .cz-contact-card--map{ grid-column:1 / -1; }
.cz-contact-card{ background:#fff; border:1px solid var(--cz-border); border-radius:var(--radius); padding:26px; }
.cz-contact-card__head{ display:flex; align-items:center; gap:10px; margin-bottom:18px; }
.cz-contact-card__head .dashicons{ font-size:22px; width:22px; height:22px; color:var(--cz-blue); }
.cz-contact-card__head h3{ color:var(--cz-navy); margin:0; font-size:18px; }
.cz-contact-item{ display:flex; gap:14px; padding:14px 0; border-bottom:1px solid var(--cz-border); }
.cz-contact-item:last-child{ border-bottom:none; }
.cz-contact-item .dashicons{ font-size:22px; width:22px; height:22px; color:var(--cz-blue); flex-shrink:0; }
.cz-contact-item strong{ color:var(--cz-navy); }
.cz-contact-item small{ color:var(--cz-text-light); }
.cz-contact-card--info .cz-legal{ margin-top:18px; padding-top:16px; border-top:1px dashed var(--cz-border); font-size:12.5px; color:var(--cz-text-light); line-height:1.7; }
.cz-contact-card--info .cz-legal strong{ display:block; color:var(--cz-navy); font-size:13px; }

.cz-form-group{ margin-bottom:16px; }
.cz-form-group label{ display:block; font-size:13px; font-weight:600; color:var(--cz-navy); margin-bottom:6px; }
.cz-form-group input,
.cz-form-group select,
.cz-form-group textarea{
	width:100%; padding:12px 14px; border:1px solid var(--cz-border); border-radius:6px;
	font-size:14px; font-family:var(--font-body); background:#fff; transition:var(--transition);
}
.cz-form-group input:focus,
.cz-form-group select:focus,
.cz-form-group textarea:focus{
	outline:none; border-color:var(--cz-blue); box-shadow:0 0 0 3px rgba(26,86,196,.12);
}
.cz-form-row{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.cz-form-hint{ font-size:12px; color:var(--cz-text-light); margin-top:-10px; margin-bottom:18px; }
.cz-hp-field{ position:absolute; left:-9999px; top:-9999px; opacity:0; height:0; width:0; }
.cz-btn-primary{ background:var(--cz-blue); color:#fff; border:none; padding:13px 28px; border-radius:6px; font-weight:700; cursor:pointer; transition:var(--transition); display:inline-flex; align-items:center; gap:8px; }
.cz-btn-primary:hover{ background:var(--cz-blue-dark); transform:translateY(-2px); }
.cz-btn-primary:disabled{ opacity:.7; cursor:not-allowed; transform:none; }

.cz-alert{ padding:14px 18px; border-radius:8px; margin-bottom:24px; font-size:14px; display:flex; align-items:center; gap:10px; }
.cz-alert--success{ background:#e9f9ef; border:1px solid var(--cz-green); color:var(--cz-green); }
.cz-alert--error{ background:#fdecee; border:1px solid #e6394d; color:#e6394d; }

@media (max-width:900px){
	.cz-contact-grid{ grid-template-columns:1fr; }
}

/* ============ LOGIN / REGISTER PAGE (My Account) ============ */
.woocommerce-account .woocommerce{ max-width:1000px; margin:0 auto; }

/* Layout: login + register side by side as matching cards */
.woocommerce-account .u-columns{ display:flex; flex-wrap:wrap; gap:26px; align-items:flex-start; }
.woocommerce-account .u-column1, .woocommerce-account .u-column2{ flex:1; min-width:280px; }

.woocommerce-account form.login,
.woocommerce-account form.register{
	background:#fff; border:1px solid var(--cz-border); border-radius:var(--radius);
	padding:32px; box-shadow:var(--shadow);
}
.woocommerce-account form.login::before,
.woocommerce-account form.register::before{
	content:"Sign In"; display:block; font-family:var(--font-head); font-size:20px; font-weight:700;
	color:var(--cz-navy); margin-bottom:18px; padding-bottom:14px; border-bottom:2px solid var(--cz-blue-light);
}
.woocommerce-account form.register::before{ content:"Create an Account"; }

.woocommerce-account form.login .form-row,
.woocommerce-account form.register .form-row{ margin-bottom:16px; }
.woocommerce-account form.login label,
.woocommerce-account form.register label{
	display:block; font-size:13px; font-weight:600; color:var(--cz-navy); margin-bottom:6px;
}
.woocommerce-account form.login input.input-text,
.woocommerce-account form.register input.input-text{
	width:100%; padding:12px 14px; border:1px solid var(--cz-border); border-radius:6px;
	font-size:14px; font-family:var(--font-body); transition:var(--transition);
}
.woocommerce-account form.login input.input-text:focus,
.woocommerce-account form.register input.input-text:focus{
	border-color:var(--cz-blue); outline:none; box-shadow:0 0 0 3px var(--cz-blue-light);
}
.woocommerce-account form.login .woocommerce-form-login__rememberme{
	display:flex; align-items:center; gap:8px; font-size:13.5px; color:var(--cz-text-light);
}
.woocommerce-account form.login .woocommerce-LostPassword{ font-size:13px; margin-top:10px; }
.woocommerce-account form.login .woocommerce-LostPassword a{ color:var(--cz-blue); }
.woocommerce-account form.login .woocommerce-LostPassword a:hover{ text-decoration:underline; }

.woocommerce-account form.login button[type="submit"],
.woocommerce-account form.register button[type="submit"]{
	width:100%; margin-top:6px; padding:13px; font-size:15px !important;
}

.woocommerce-account .woocommerce-privacy-policy-text{ font-size:12px; color:var(--cz-text-light); margin-top:12px; }

/* Once logged in: styled account nav + content */
.woocommerce-account .woocommerce-MyAccount-navigation{
	background:#fff; border:1px solid var(--cz-border); border-radius:var(--radius); overflow:hidden;
	float:none; width:240px; margin-right:26px;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul{ margin:0; padding:0; }
.woocommerce-account .woocommerce-MyAccount-navigation li{ border-bottom:1px solid var(--cz-border); }
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child{ border-bottom:none; }
.woocommerce-account .woocommerce-MyAccount-navigation li a{
	display:block; padding:13px 18px; font-size:14px; font-weight:600; color:var(--cz-navy); transition:var(--transition);
}
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{ background:var(--cz-blue-light); color:var(--cz-blue); }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{ background:var(--cz-blue); color:#fff; }
.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout a{ color:var(--cz-red); }
.woocommerce-account .woocommerce-MyAccount-content{
	float:none; width:auto; overflow:visible;
}
@media(min-width:768px){
	.woocommerce-account.logged-in .woocommerce-MyAccount-navigation{ float:left; }
	.woocommerce-account.logged-in .woocommerce-MyAccount-content{ overflow:hidden; }
}


.woocommerce-page-wrap{ padding:20px 0 50px; }
.woocommerce ul.products{ display:grid !important; grid-template-columns:repeat(4,1fr); gap:22px; }
/* WooCommerce's core CSS adds a clearfix (content:" "; display:table;) via
   ::before/::after on ul.products — needed for its default float layout.
   Since we switched this to CSS grid, that clearfix pseudo-element becomes
   a real (invisible) grid item and eats the first grid cell, which is
   exactly the "blank first column" you were seeing. Removing it fixes it. */
.woocommerce ul.products::before,
.woocommerce ul.products::after{ content:none !important; display:none !important; }
.woocommerce ul.products li.product{
	position:relative; /* without this, the wishlist heart (position:absolute)
	has no card to anchor to on shop/category pages, so every heart button
	stacks on top of each other at one fixed spot on the page instead of
	sitting inside its own card — that's the stray highlighted box and the
	"missing" product next to it that you're seeing. */
	/* Override WooCommerce core's default width:22% + float:left, which -
	   inside a CSS grid cell - was being resolved against the cell's own
	   width and shrinking every card down to ~50px (word-wrapped titles). */
	width:100% !important;
	max-width:100% !important;
	float:none !important;
	margin:0 !important;
	box-sizing:border-box;
	background:#fff; border:1px solid var(--cz-border); border-radius:var(--radius); padding:16px;
	transition:var(--transition); text-align:left;
}
.woocommerce ul.products li.product:hover{ box-shadow:var(--shadow-hover); transform:translateY(-4px); border-color:var(--cz-blue); }
.woocommerce ul.products li.product img{
	width:100%; height:auto; aspect-ratio:1/1; object-fit:cover; border-radius:6px; display:block;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
	font-size:14.5px; font-weight:600; color:var(--cz-navy); margin:10px 0 6px; line-height:1.4;
}
.woocommerce ul.products li.product .price{ font-size:15px; }
.woocommerce ul.products li.product .button{ width:100%; text-align:center; margin-top:10px; }

/* ============ SINGLE PRODUCT PAGE ============ */
.cz-single-product{ padding:10px 0 50px; }
.cz-single-product .summary{ text-align:left; }
.cz-single-product .product{ display:flex; flex-wrap:wrap; gap:40px; }
.cz-single-product .woocommerce-product-gallery{ flex:1 1 420px; max-width:480px; }
.cz-single-product .summary.entry-summary{ flex:1 1 380px; }
.cz-single-product .product_title{ font-size:24px; color:var(--cz-navy); margin:0 0 12px; }
.cz-single-product .price{ font-size:22px; color:var(--cz-blue); margin-bottom:14px; display:block; }
@media(max-width:768px){
	.cz-single-product .product{ flex-direction:column; }
	.cz-single-product .woocommerce-product-gallery{ max-width:100%; }
}
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit{
	background:var(--cz-blue) !important; color:#fff !important; border-radius:6px !important; font-weight:600 !important;
	transition:var(--transition) !important; border:none !important;
}
.woocommerce a.button:hover, .woocommerce button.button:hover{ background:var(--cz-blue-dark) !important; }
.woocommerce-checkout .col2-set, .woocommerce-cart table.shop_table{ border-radius:var(--radius); overflow:hidden; }
.woocommerce table.shop_table{ border:1px solid var(--cz-border) !important; }

/* ============ RESPONSIVE ============ */
@media(max-width:1024px){
	.cz-trust-strip__inner{ grid-template-columns:repeat(3,1fr); }
	.cz-cat-grid{ grid-template-columns:repeat(3,1fr); }
	.cz-product-grid, .woocommerce ul.products{ grid-template-columns:repeat(2,1fr) !important; }
	.cz-footer__grid{ grid-template-columns:1fr 1fr; }
	.cz-shop{ grid-template-columns:1fr; }
	.cz-contact-grid{ grid-template-columns:1fr; }
}
@media(max-width:640px){
	.cz-header__inner{ flex-wrap:wrap; }
	.cz-search{ order:3; max-width:100%; width:100%; }
	.cz-cat-grid, .cz-product-grid, .woocommerce ul.products{ grid-template-columns:repeat(2,1fr) !important; }
	.cz-account-stats{ grid-template-columns:1fr 1fr; }
	.cz-hero__inner{ flex-direction:column; text-align:center; }
	.cz-topbar__welcome{ display:none; }
}
