/**
 * WooCommerce Overrides — Cloud Aminos v4.0
 * Redesigned for lighter, modern Amino Club-inspired look
 */

/* =========================== SHOP PAGE =========================== */
.woo-shop{ padding:40px 0 80px; }
.shop-header{ margin-bottom:32px; }
.shop-header__title{ font-size:clamp(1.8rem, 3vw, 2.4rem); margin:0; }
.shop-header__count{ font-size:.88rem; color:var(--ink-soft); margin-top:4px; }

.shop-toolbar{
	display:flex;
	justify-content:space-between;
	align-items:center;
	gap:16px;
	padding:16px 0;
	border-top:1px solid var(--line);
	border-bottom:1px solid var(--line);
	margin-bottom:32px;
	flex-wrap:wrap;
}
.shop-toolbar__results{ font-size:.85rem; color:var(--ink-soft); }
.shop-toolbar__results strong{ color:var(--ink); }
.shop-toolbar__ordering select{
	padding:8px 32px 8px 12px;
	border:1.5px solid var(--line);
	border-radius:var(--radius);
	font-family:var(--font-body);
	font-size:.85rem;
	background:var(--white);
	appearance:none;
	background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	background-repeat:no-repeat;
	background-position:right 10px center;
	cursor:pointer;
	transition:var(--transition);
}
.shop-toolbar__ordering select:focus{
	border-color:var(--brand);
	outline:none;
	box-shadow:0 0 0 3px rgba(5,150,105,.08);
}

.shop-pagination{
	display:flex;
	justify-content:center;
	padding:40px 0 0;
}
.woocommerce-pagination .page-numbers{
	display:flex;
	gap:8px;
}
.woocommerce-pagination .page-numbers li a,
.woocommerce-pagination .page-numbers li span{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-width:40px; height:40px;
	padding:0 12px;
	border-radius:var(--radius);
	font-size:.85rem;
	font-weight:500;
	transition:var(--transition);
	border:1px solid var(--line);
	background:var(--white);
	color:var(--ink-soft);
}
.woocommerce-pagination .page-numbers li a:hover{
	border-color:var(--brand);
	color:var(--brand);
	background:var(--brand-50);
}
.woocommerce-pagination .page-numbers li.current span{
	background:var(--brand);
	color:var(--white);
	border-color:var(--brand);
}

.shop-empty{
	text-align:center;
	padding:80px 24px;
}
.shop-empty svg{ margin:0 auto 20px; opacity:.5; }
.shop-empty h2{ font-size:1.5rem; margin-bottom:8px; }
.shop-empty p{ color:var(--ink-soft); max-width:40ch; margin:0 auto 24px; }

/* =========================== PRODUCT CARD =========================== */
.ca-product-card{
	background:var(--paper-card);
	border:1px solid var(--line);
	border-radius:var(--radius-lg);
	padding:0;
	transition:var(--transition);
	position:relative;
	overflow:hidden;
	display:flex;
	flex-direction:column;
}
.ca-product-card::after{
	content:'';
	position:absolute; top:0; left:0; right:0;
	height:2px;
	background:linear-gradient(90deg, var(--brand) 0%, var(--brand-light) 100%);
	opacity:0;
	transition:var(--transition);
}
.ca-product-card:hover{
	transform:translateY(-2px);
	box-shadow:var(--shadow-lg);
	border-color:var(--brand-200);
}
.ca-product-card:hover::after{ opacity:1; }

.ca-product-card__image{
	display:block;
	overflow:hidden;
	aspect-ratio:1/1;
	background:var(--paper-alt);
}
.ca-product-card__image img{
	width:100%; height:100%;
	object-fit:cover;
	transition:transform .4s ease;
}
.ca-product-card:hover .ca-product-card__image img{ transform:scale(1.04); }

.ca-product-card__body{
	padding:18px;
	display:flex;
	flex-direction:column;
	flex:1;
}
.ca-product-card__category{
	font-family:var(--font-mono);
	font-size:.65rem;
	letter-spacing:.08em;
	text-transform:uppercase;
	color:var(--brand);
	margin-bottom:6px;
}
.ca-product-card__title{
	font-size:.95rem;
	margin:0 0 6px;
	font-weight:600;
	line-height:1.3;
}
.ca-product-card__title a{ color:var(--ink); }
.ca-product-card__title a:hover{ color:var(--brand); }
.ca-product-card__desc{
	font-size:.82rem;
	color:var(--ink-muted);
	margin:0 0 12px;
	line-height:1.5;
	display:-webkit-box;
	-webkit-line-clamp:2;
	-webkit-box-orient:vertical;
	overflow:hidden;
	flex:1;
}

.ca-product-card__footer{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	margin-top:auto;
	padding-top:12px;
	border-top:1px solid var(--line-soft);
}
.ca-product-card__price{
	font-family:var(--font-mono);
	color:var(--brand);
	font-weight:600;
	font-size:.9rem;
}
.ca-product-card__coa{
	display:inline-flex;
	align-items:center;
	gap:4px;
	font-size:.72rem;
	font-weight:600;
	color:var(--ink-muted);
	padding:4px 8px;
	border-radius:var(--radius);
	border:1px solid var(--line);
	transition:var(--transition);
}
.ca-product-card__coa:hover{
	background:var(--brand-50);
	color:var(--brand);
	border-color:var(--brand-100);
}

/* WooCommerce add to cart button in card */
.ca-product-card .button{
	display:block;
	text-align:center;
	margin-top:12px;
	padding:10px;
	border-radius:var(--radius-full);
	background:var(--brand);
	color:var(--white) !important;
	font-weight:600;
	font-size:.82rem;
	border:0;
	transition:var(--transition);
	text-decoration:none;
}
.ca-product-card .button:hover{
	background:var(--brand-dark);
	box-shadow:0 2px 8px rgba(5,150,105,.3);
}

.onsale{
	position:absolute;
	top:12px; left:12px;
	background:var(--amber);
	color:var(--white);
	font-family:var(--font-mono);
	font-size:.65rem;
	padding:4px 10px;
	border-radius:var(--radius-full);
	font-weight:600;
	box-shadow:0 2px 6px rgba(245,158,11,.3);
	z-index:2;
}

/* =========================== SINGLE PRODUCT =========================== */
.woo-single{ padding:32px 0 80px; }

.ca-breadcrumb{
	font-size:.82rem;
	color:var(--ink-muted);
	margin-bottom:24px;
	display:flex;
	align-items:center;
	gap:8px;
	flex-wrap:wrap;
}
.ca-breadcrumb a{ color:var(--ink-muted); }
.ca-breadcrumb a:hover{ color:var(--brand); }
.ca-breadcrumb__sep{ color:var(--line); }
.ca-breadcrumb__current{ color:var(--ink); font-weight:500; }

.ca-single-product{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:48px;
	align-items:start;
	padding:32px 0;
}
.ca-single-product__gallery{
	position:sticky;
	top:100px;
}
.ca-single-product__summary{ padding:16px 0; }

/* Trust badges on single product */
.ca-single-product__trust{
	display:flex;
	gap:12px;
	flex-wrap:wrap;
	margin-top:24px;
	padding-top:20px;
	border-top:1px solid var(--line);
}
.ca-trust-badge{
	display:inline-flex;
	align-items:center;
	gap:8px;
	font-size:.8rem;
	font-weight:500;
	color:var(--ink-soft);
	padding:8px 14px;
	background:var(--brand-50);
	border-radius:var(--radius-full);
	border:1px solid var(--brand-100);
}

/* Product disclaimer */
.ca-single-product__disclaimer{
	margin-top:20px;
	padding:14px;
	background:var(--paper-alt);
	border-radius:var(--radius-md);
	border-left:3px solid var(--amber);
	font-size:.78rem;
	color:var(--ink-muted);
	line-height:1.6;
}
.ca-single-product__disclaimer p{ margin:0; }

/* Related products */
.related-products{ padding:64px 0 0; }

/* =========================== COA TAB =========================== */
.coa-tab{ max-width:64ch; }
.coa-tab p{ line-height:1.7; }
.coa-tab__actions{ display:flex; gap:12px; flex-wrap:wrap; margin:20px 0; }
.coa-disclaimer{
	font-size:.78rem;
	color:var(--ink-muted);
	font-family:var(--font-mono);
	margin-top:20px;
	padding:14px;
	background:var(--paper-alt);
	border-radius:var(--radius);
	border-left:3px solid var(--brand);
}

/* =========================== COA LIBRARY PAGE =========================== */
.coa-grid{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:24px;
	padding:40px 0 80px;
}
.coa-card{
	background:var(--paper-card);
	border:1px solid var(--line);
	border-radius:var(--radius-lg);
	padding:24px;
	transition:var(--transition);
}
.coa-card:hover{
	box-shadow:var(--shadow-md);
	border-color:var(--brand-200);
}
.coa-card__header{
	display:flex;
	gap:16px;
	align-items:center;
	margin-bottom:20px;
}
.coa-card__thumb{
	width:64px; height:64px;
	border-radius:var(--radius);
	overflow:hidden;
	background:var(--paper-alt);
	flex-shrink:0;
}
.coa-card__thumb img{ width:100%; height:100%; object-fit:cover; }
.coa-card__title{ font-size:1rem; margin:0 0 4px; }
.coa-card__meta{ display:flex; gap:8px; }
.ca-badge{
	font-family:var(--font-mono);
	font-size:.7rem;
	padding:3px 8px;
	background:var(--paper-alt);
	border-radius:var(--radius);
	color:var(--ink-muted);
}
.coa-card__actions{ display:flex; gap:8px; margin-bottom:12px; }
.coa-card__disclaimer{
	font-size:.72rem;
	color:var(--ink-muted);
	margin:0;
	font-family:var(--font-mono);
}

/* =========================== CART =========================== */
.woo-wrap{ padding:40px 0 80px; }

.ca-cart__layout{
	display:grid;
	grid-template-columns:1fr 380px;
	gap:40px;
	align-items:start;
}
.ca-cart__items{ overflow-x:auto; }

.ca-cart-table{
	border-collapse:collapse;
	width:100%;
}
.ca-cart-table th{
	padding:12px 16px;
	text-align:left;
	font-size:.75rem;
	font-weight:600;
	letter-spacing:.05em;
	text-transform:uppercase;
	color:var(--ink-muted);
	border-bottom:2px solid var(--line);
}
.ca-cart-table td{
	padding:14px 16px;
	border-bottom:1px solid var(--line-soft);
	vertical-align:middle;
}
.ca-cart-item__info{
	display:flex;
	gap:16px;
	align-items:center;
	text-decoration:none;
}
.ca-cart-item__thumb{
	width:72px; height:72px;
	border-radius:var(--radius);
	overflow:hidden;
	background:var(--paper-alt);
	flex-shrink:0;
}
.ca-cart-item__thumb img{ width:100%; height:100%; object-fit:cover; }
.ca-cart-item__name{ font-size:.92rem; display:block; margin-bottom:4px; }
.ca-cart-item__meta{ font-size:.8rem; color:var(--ink-muted); }

.ca-quantity{ display:flex; align-items:center; gap:8px; }
.ca-quantity input[type="number"]{
	width:60px; text-align:center;
	padding:8px;
	border:1.5px solid var(--line);
	border-radius:var(--radius);
	font-size:.88rem;
}
.ca-quantity input:focus{
	border-color:var(--brand);
	outline:none;
	box-shadow:0 0 0 3px rgba(5,150,105,.08);
}
.ca-quantity__update{
	background:none; border:1px solid var(--line);
	border-radius:var(--radius); padding:6px;
	cursor:pointer; transition:var(--transition);
	display:inline-flex; align-items:center; justify-content:center;
}
.ca-quantity__update:hover{ border-color:var(--brand); color:var(--brand); }

.ca-cart-remove{
	font-size:1.4rem;
	color:var(--ink-muted);
	transition:var(--transition);
	text-decoration:none;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:32px; height:32px;
	border-radius:50%;
}
.ca-cart-remove:hover{
	background:rgba(239,68,68,.08);
	color:var(--red);
}

.ca-cart__summary{
	position:sticky;
	top:100px;
}
.woocommerce-cart-collaterals{ width:100%; }
.woocommerce-cart__total{
	background:var(--paper-card);
	border:1px solid var(--line);
	border-radius:var(--radius-lg);
	padding:24px;
	margin-bottom:20px;
}
.woocommerce-cart__total h2{
	font-size:1rem;
	margin:0 0 16px;
}
.woocommerce-cart__total .cart-subtotal,
.woocommerce-cart__total .cart-total{
	display:flex;
	justify-content:space-between;
	padding:12px 0;
	font-size:.92rem;
}
.woocommerce-cart__total .cart-subtotal{ border-bottom:1px solid var(--line-soft); }
.woocommerce-cart__total .cart-total{ font-weight:700; font-size:1.05rem; }

.ca-cart__actions{
	display:flex;
	gap:12px;
	margin-top:20px;
}
.ca-cart__update{
	flex:1;
}
.ca-cart__checkout{
	flex:1;
	background:var(--brand);
}

/* =========================== CHECKOUT =========================== */
.ca-checkout{ padding:0 0 80px; }
.ca-checkout__layout{
	display:grid;
	grid-template-columns:1.2fr .8fr;
	gap:48px;
	align-items:start;
}
.ca-checkout__billing h2,
.ca-checkout__order h2{
	font-size:1.2rem;
	margin-bottom:24px;
	padding-bottom:12px;
	border-bottom:1px solid var(--line);
}

.woocommerce-checkout .form-row{ margin-bottom:20px; }
.woocommerce-checkout label{
	display:block;
	font-size:.85rem;
	font-weight:500;
	margin-bottom:6px;
	color:var(--ink);
}
.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"],
.woocommerce-checkout input[type="password"],
.woocommerce-checkout select,
.woocommerce-checkout textarea{
	border:1.5px solid var(--line);
	border-radius:var(--radius);
	padding:12px 14px;
	width:100%;
	font-family:var(--font-body);
	font-size:.92rem;
	transition:var(--transition);
	background:var(--white);
}
.woocommerce-checkout input:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout textarea:focus{
	border-color:var(--brand);
	box-shadow:0 0 0 3px rgba(5,150,105,.08);
	outline:none;
}

.woocommerce-checkout-review-order{
	background:var(--paper-card);
	border:1px solid var(--line);
	border-radius:var(--radius-lg);
	padding:24px;
}
.woocommerce-checkout-review-order-table{
	border-collapse:collapse;
	width:100%;
}
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td{
	padding:12px 0;
	border-bottom:1px solid var(--line-soft);
	text-align:left;
}
.woocommerce-checkout-review-order-table th{
	font-size:.8rem;
	font-weight:600;
	color:var(--ink-muted);
	text-transform:uppercase;
	letter-spacing:.03em;
}
#payment{
	border-top:1px solid var(--line);
	padding-top:20px;
	margin-top:20px;
}
#payment .place-order{
	padding:0;
}
#payment .place-order .button{
	display:block;
	width:100%;
	padding:14px;
	border-radius:var(--radius-full);
	background:var(--brand);
	color:var(--white);
	font-weight:600;
	font-size:.95rem;
	text-align:center;
	border:0;
	cursor:pointer;
	transition:var(--transition);
	box-shadow:0 2px 8px rgba(5,150,105,.3);
}
#payment .place-order .button:hover{
	background:var(--brand-dark);
}

/* =========================== MY ACCOUNT =========================== */
.ca-account{
	display:grid;
	grid-template-columns:240px 1fr;
	gap:40px;
	padding:40px 0 80px;
	align-items:start;
}
.ca-account__nav{
	position:sticky;
	top:100px;
}
.woocommerce-MyAccount-navigation ul{
	list-style:none;
	padding:0;
	margin:0;
	display:flex;
	flex-direction:column;
	gap:4px;
}
.woocommerce-MyAccount-navigation ul li a{
	display:block;
	padding:10px 16px;
	border-radius:var(--radius);
	font-size:.88rem;
	font-weight:500;
	color:var(--ink-soft);
	transition:var(--transition);
	text-decoration:none;
}
.woocommerce-MyAccount-navigation ul li a:hover{
	background:var(--brand-50);
	color:var(--brand);
}
.woocommerce-MyAccount-navigation ul li.is-active a{
	background:var(--brand);
	color:var(--white);
}
.ca-account__logout a{
	color:var(--red) !important;
}
.ca-account__content{ min-height:300px; }

.woocommerce-MyAccount-title{ font-size:1.4rem; margin-bottom:24px; }
.woocommerce-MyAccount-orders{ width:100%; }
.woocommerce-MyAccount-orders th{
	padding:12px;
	font-size:.75rem;
	font-weight:600;
	text-transform:uppercase;
	letter-spacing:.04em;
	color:var(--ink-muted);
	border-bottom:2px solid var(--line);
	text-align:left;
}
.woocommerce-MyAccount-orders td{
	padding:12px;
	border-bottom:1px solid var(--line-soft);
	font-size:.88rem;
}

/* =========================== COMPLIANCE PAGE =========================== */
.page-content--wide{ max-width:100%; }
.page-hero{ padding:48px 0 0; margin-bottom:40px; }
.page-hero--compact{ padding:32px 0 0; margin-bottom:32px; }
.page-hero__sub{ color:var(--ink-soft); max-width:56ch; margin-top:8px; }

.compliance-grid{
	display:grid;
	grid-template-columns:220px 1fr;
	gap:48px;
	padding-bottom:80px;
	align-items:start;
}
.compliance-sidebar{ position:sticky; top:100px; }
.compliance-nav{
	display:flex;
	flex-direction:column;
	gap:4px;
}
.compliance-nav a{
	padding:10px 16px;
	border-radius:var(--radius);
	font-size:.85rem;
	font-weight:500;
	color:var(--ink-soft);
	transition:var(--transition);
	text-decoration:none;
	border-left:2px solid transparent;
}
.compliance-nav a:hover{
	color:var(--brand);
	background:var(--brand-50);
}
.compliance-nav a.is-active{
	color:var(--brand);
	background:var(--brand-50);
	border-left-color:var(--brand);
	font-weight:600;
}

.compliance-section{ margin-bottom:48px; }
.compliance-section h2{
	font-size:1.3rem;
	margin-bottom:16px;
	padding-bottom:12px;
	border-bottom:1px solid var(--line);
}
.compliance-section p{ line-height:1.8; margin-bottom:16px; }
.compliance-section ul,
.compliance-section ol{ padding-left:1.5em; margin-bottom:16px; }
.compliance-section li{ margin-bottom:8px; line-height:1.7; }

.compliance-callout{
	display:flex;
	gap:12px;
	align-items:flex-start;
	padding:14px;
	background:rgba(245,158,11,.05);
	border:1px solid rgba(245,158,11,.15);
	border-radius:var(--radius-md);
	margin-bottom:20px;
}
.compliance-callout svg{ flex-shrink:0; margin-top:2px; }
.compliance-callout p{ margin:0; font-size:.88rem; }

/* =========================== CONTACT PAGE =========================== */
.contact-grid{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:48px;
	padding-bottom:80px;
}
.contact-form-wrap{ }

.ca-contact-form .ca-form-group{ margin-bottom:20px; }
.ca-contact-form label{
	display:block;
	font-size:.85rem;
	font-weight:500;
	margin-bottom:6px;
	color:var(--ink);
}
.ca-contact-form input,
.ca-contact-form select,
.ca-contact-form textarea{
	border:1.5px solid var(--line);
	border-radius:var(--radius);
	padding:12px 14px;
	width:100%;
	font-family:var(--font-body);
	font-size:.92rem;
	transition:var(--transition);
	background:var(--white);
}
.ca-contact-form input:focus,
.ca-contact-form select:focus,
.ca-contact-form textarea:focus{
	border-color:var(--brand);
	box-shadow:0 0 0 3px rgba(5,150,105,.08);
	outline:none;
}
.ca-contact-form textarea{ resize:vertical; }

.contact-info{ display:flex; flex-direction:column; gap:16px; }
.contact-info-card{
	padding:22px;
	background:var(--paper-card);
	border:1px solid var(--line);
	border-radius:var(--radius-lg);
	transition:var(--transition);
}
.contact-info-card:hover{ box-shadow:var(--shadow-md); }
.contact-info-card__icon{
	width:42px; height:42px;
	border-radius:var(--radius);
	background:var(--brand-50);
	display:flex;
	align-items:center;
	justify-content:center;
	margin-bottom:14px;
	border:1px solid var(--brand-100);
}
.contact-info-card h3{ font-size:.95rem; margin:0 0 4px; }
.contact-info-card p{ margin:0; font-size:.88rem; color:var(--ink-soft); }
.contact-info-card a{ color:var(--brand); font-weight:500; }

/* =========================== NEWSLETTER =========================== */
.ca-newsletter-form{ max-width:460px; margin:0 auto; }
.ca-newsletter-form__row{
	display:flex;
	gap:12px;
}
.ca-newsletter-form__row input{
	flex:1;
	padding:12px 18px;
	border:1.5px solid var(--line);
	border-radius:var(--radius-full);
	font-family:var(--font-body);
	font-size:.92rem;
	transition:var(--transition);
}
.ca-newsletter-form__row input:focus{
	border-color:var(--brand);
	outline:none;
	box-shadow:0 0 0 3px rgba(5,150,105,.08);
}

/* =========================== FEATURES GRID =========================== */
.features-grid{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:24px;
	margin-top:16px;
}
.feature-card{
	background:var(--paper-card);
	border:1px solid var(--line);
	border-radius:var(--radius-lg);
	padding:28px;
	text-align:center;
	transition:var(--transition);
}
.feature-card:hover{
	box-shadow:var(--shadow-md);
	border-color:var(--brand-200);
}
.feature-card__icon{
	width:52px; height:52px;
	border-radius:var(--radius-md);
	background:var(--brand-50);
	display:inline-flex;
	align-items:center;
	justify-content:center;
	margin-bottom:18px;
	border:1px solid var(--brand-100);
}
.feature-card h3{ font-size:1.05rem; margin-bottom:8px; }
.feature-card p{ font-size:.88rem; margin:0; color:var(--ink-soft); }

.section__cta{
	text-align:center;
	margin-top:40px;
}

/* =========================== RESPONSIVE — WOOCOMMERCE =========================== */
@media (max-width:1024px){
	.ca-single-product{ grid-template-columns:1fr; gap:32px; }
	.ca-single-product__gallery{ position:static; }
	.ca-cart__layout{ grid-template-columns:1fr; }
	.ca-checkout__layout{ grid-template-columns:1fr; }
	.ca-account{ grid-template-columns:1fr; }
	.ca-account__nav{ position:static; }
	.woocommerce-MyAccount-navigation ul{ flex-direction:row; flex-wrap:wrap; }
	.coa-grid{ grid-template-columns:repeat(2,1fr); }
	.compliance-grid{ grid-template-columns:1fr; }
	.compliance-sidebar{ position:static; }
	.compliance-nav{ flex-direction:row; flex-wrap:wrap; }
	.compliance-nav a{ border-left:0; border-bottom:2px solid transparent; }
	.contact-grid{ grid-template-columns:1fr; }
}
@media (max-width:768px){
	.coa-grid{ grid-template-columns:1fr; }
	.features-grid{ grid-template-columns:1fr; }
	.shop-toolbar{ flex-direction:column; align-items:flex-start; }
	.ca-cart-table{ font-size:.82rem; }
	.ca-cart-table th:nth-child(3),
	.ca-cart-table td:nth-child(3){ display:none; }
}
@media (max-width:480px){
	.ca-newsletter-form__row{ flex-direction:column; }
	.ca-cart__actions{ flex-direction:column; }
}
