/**
 * VetPro Theme CSS
 * A minimal, fast stylesheet implementing design tokens and components
 */

/* ==========================================
   CSS Custom Properties (Design Tokens)
   ========================================== */

:root {
	/* Brand Colors (Sky Blue to Navy) */
	--vetpro-primary-50: #f0f9ff;
	--vetpro-primary-100: #e0f2fe;
	--vetpro-primary-200: #bae6fd;
	--vetpro-primary-300: #7dd3fc;
	--vetpro-primary-400: #38bdf8;
	--vetpro-primary-500: #0cc0df;
	--vetpro-primary-600: #0284c7;
	--vetpro-primary-700: #0369a1;
	--vetpro-primary-800: #075985;
	--vetpro-primary-900: #0c4a6e;

	/* Accent Colors */
	--vetpro-success-50: #f0fdf4;
	--vetpro-success-500: #22c55e;
	--vetpro-success-700: #15803d;
	--vetpro-warning-50: #fffbeb;
	--vetpro-warning-500: #f59e0b;
	--vetpro-warning-700: #b45309;
	--vetpro-error-50: #fef2f2;
	--vetpro-error-500: #ef4444;
	--vetpro-error-700: #b91c1c;

	/* Neutrals */
	--vetpro-n-50: #fafafa;
	--vetpro-n-100: #f5f5f5;
	--vetpro-n-200: #e5e5e5;
	--vetpro-n-300: #d4d4d4;
	--vetpro-n-400: #a3a3a3;
	--vetpro-n-500: #737373;
	--vetpro-n-600: #525252;
	--vetpro-n-700: #404040;
	--vetpro-n-800: #262626;
	--vetpro-n-900: #171717;

	/* Border Radius */
	--vetpro-radius-sm: 0;
	--vetpro-radius-md: 0;
	--vetpro-radius-lg: 0;
	--vetpro-radius-pill: 0;

	/* Shadows */
	--vetpro-shadow-1: 0 1px 3px 0 rgba(0, 0, 0, 0.08), 0 1px 2px -1px rgba(0, 0, 0, 0.08);
	--vetpro-shadow-2: 0 4px 6px -1px rgba(0, 0, 0, 0.08), 0 2px 4px -2px rgba(0, 0, 0, 0.08);
	--vetpro-shadow-soft: 0 2px 8px 0 rgba(59, 130, 246, 0.15);
	--vetpro-shadow-soft-hover: 0 4px 12px 0 rgba(59, 130, 246, 0.2);

	/* Typography */
	--vetpro-font-body: 'Inter', sans-serif;
	--vetpro-font-heading: 'Manrope', sans-serif;

	/* Focus Ring */
	--vetpro-focus-ring: 0 0 0 3px rgba(14, 165, 233, 0.3);
	--vetpro-focus-ring-soft: 0 0 0 3px rgba(14, 165, 233, 0.15);
}

/* ==========================================
   Base Styles
   ========================================== */

*,
*::before,
*::after {
	box-sizing: border-box;
}

body {
	font-family: var(--vetpro-font-body);
	line-height: 1.625;
	color: var(--vetpro-n-900);
	background-color: #ffffff;
}

/* Light grey background for shop pages */
body.woocommerce,
body.woocommerce-shop,
body.tax-product_cat,
body.tax-product_tag,
body.single-product {
	background-color: var(--vetpro-n-50);
}

/* Respect prefers-reduced-motion */
@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}

/* Focus styles */
*:focus {
	outline: none;
}

*:focus-visible {
	box-shadow: var(--vetpro-focus-ring);
	outline: none;
}

/* ==========================================
   Header & Navigation
   ========================================== */

.wp-site-blocks header,
header {
    position: static !important; /* non-sticky header */
    top: auto !important;
    background: white !important;
    z-index: auto !important;
    display: block !important;
    visibility: visible !important;
}

.site-header {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	padding: 1rem 1.5rem !important;
	max-width: 1440px !important;
	margin: 0 auto !important;
	gap: 2rem !important;
	visibility: visible !important;
}

/* Custom logo size limit */
.custom-logo {
	max-width: 240px !important;
	height: auto !important;
}

/* Header Logo - ensure proper sizing */
.site-header .wp-block-site-logo img,
.site-header .custom-logo-link img {
	width: auto !important;
	max-width: 200px !important;
	height: auto !important;
}

/* Header Logo from shortcode */
.header-logo-link {
	display: inline-block;
	line-height: 0;
}

.header-logo-image {
	max-width: 200px;
	width: auto;
	height: auto;
	display: block;
}

/* Mobile: Smaller logo to fit with header actions */

@media (max-width: 400px) {
	.header-logo-image,
	.site-header .wp-block-site-logo img,
	.site-header .custom-logo-link img {
		max-width: 140px !important;
	}
}

.site-brand .site-title {
	font-family: var(--vetpro-font-heading);
	font-weight: 700;
	font-size: 1.5rem;
	color: var(--vetpro-primary-800);
	text-decoration: none;
	margin: 0;
}

/* Header Actions - Cart and Account */
.header-actions {
	display: flex !important;
	align-items: center !important;
	gap: 0.5rem !important;
	flex-shrink: 0 !important;
	visibility: visible !important;
	min-width: 80px; /* Prevent layout shift during cart loading */
	justify-content: flex-end;
}

/* Header action buttons styling */
.header-actions a,
.header-actions .my-account-link {
	color: var(--vetpro-n-700) !important;
	background: none !important;
	border: none !important;
	padding: 0.5rem !important;
	border-radius: 0;
	transition: color 0.2s ease;
	text-decoration: none !important;
	display: flex !important;
	align-items: center;
	justify-content: center;
}

.header-actions a:hover,
.header-actions .my-account-link:hover {
	color: var(--vetpro-primary-500) !important;
	background: none !important;
}

/* Mini cart button styling */
.header-actions .wp-block-woocommerce-mini-cart .wc-block-mini-cart__button {
	background: none !important;
	border: none !important;
	color: var(--vetpro-n-700) !important;
	padding: 0.5rem !important;
}

.header-actions .wp-block-woocommerce-mini-cart .wc-block-mini-cart__button:hover {
	color: var(--vetpro-primary-500) !important;
	background: none !important;
}

/* Prevent layout shifts by ensuring stable mini-cart dimensions */
.wp-block-woocommerce-mini-cart {
	min-width: 48px; /* Ensure stable width */
	min-height: 40px; /* Ensure stable height */
}

.wp-block-woocommerce-mini-cart .wc-block-mini-cart__button {
	min-width: 48px !important;
	min-height: 40px !important;
}

/* Header Search */
.header-search {
	display: block !important;
	visibility: visible !important;
}

/* Site Brand/Title */
.site-brand,
.wp-block-site-title {
	display: block !important;
	visibility: visible !important;
}

.wp-block-site-title a {
	color: var(--vetpro-primary-800) !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	font-family: var(--vetpro-font-heading) !important;
}

.wp-block-site-title a:hover {
	color: var(--vetpro-primary-900) !important;
}

/* WooCommerce Mini Cart Styling */
.wp-block-woocommerce-mini-cart {
    margin: 0 !important;
    display: block !important;
    visibility: visible !important;
}

/* Fix: Make cart drawer scrollable */
.wc-block-components-drawer__content {
    display: flex !important;
    flex-direction: column !important;
    max-height: 100vh !important;
    overflow: hidden !important;
}

/* Cart items container should be scrollable */
.wc-block-mini-cart__items {
    flex: 1 1 auto !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    max-height: calc(100vh - 250px) !important;
}

/* Keep footer buttons fixed at bottom */
.wc-block-mini-cart__footer {
    flex-shrink: 0 !important;
    margin-top: auto !important;
}

.wp-block-woocommerce-mini-cart .wc-block-mini-cart__button {
    background: transparent !important;
    border: none !important;
    padding: 0.5rem !important;
    color: var(--vetpro-n-700) !important;
    border-radius: 0 !important;
    transition: all 0.2s ease !important;
    display: flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    white-space: nowrap !important;
    box-shadow: none !important;
}

.wp-block-woocommerce-mini-cart .wc-block-mini-cart__button:hover {
	background: var(--vetpro-n-100) !important;
	transform: none !important;
	box-shadow: none !important;
}

/* My Account Link */
.my-account-link {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 0.5rem !important;
	color: var(--vetpro-n-700) !important;
	text-decoration: none !important;
	border-radius: 0 !important;
	transition: all 0.2s ease !important;
	visibility: visible !important;
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
}

.my-account-link:hover {
	background: var(--vetpro-n-100) !important;
	transform: none !important;
	box-shadow: none !important;
}

/* Search Form */
.wp-block-search,
.search-form {
	display: block !important;
	visibility: visible !important;
}

/* Remove border from search form on 404 pages */
body.error404 .wp-block-search,
body.error404 .wp-block-search .wp-block-search__inside-wrapper {
	border: none !important;
	box-shadow: none !important;
}

/* Make 404 page text smaller */
body.error404 p.has-large-font-size {
	font-size: 1rem !important;
}

/* Make 404 page buttons the same size */
body.error404 .wp-block-button .wp-block-button__link {
	padding: 0.75rem 1.75rem !important;
	font-size: 0.875rem !important;
}

/* Improve checkout page input styling */
body.woocommerce-checkout input[type="text"],
body.woocommerce-checkout input[type="email"],
body.woocommerce-checkout input[type="url"],
body.woocommerce-checkout input[type="password"],
body.woocommerce-checkout input[type="number"],
body.woocommerce-checkout input[type="tel"],
body.woocommerce-checkout textarea,
body.woocommerce-checkout select {
	border: 1px solid var(--vetpro-n-300) !important;
	border-radius: 0 !important;
}

body.woocommerce-checkout input[type="text"]:focus,
body.woocommerce-checkout input[type="email"]:focus,
body.woocommerce-checkout input[type="url"]:focus,
body.woocommerce-checkout input[type="password"]:focus,
body.woocommerce-checkout input[type="number"]:focus,
body.woocommerce-checkout input[type="tel"]:focus,
body.woocommerce-checkout textarea:focus,
body.woocommerce-checkout select:focus {
	border-color: var(--vetpro-primary-400) !important;
}

/* Hide default WordPress elements that might interfere */
.wp-block-loginout,
.wp-block-post-content p:first-child:contains("Welcome to WordPress"),
.entry-content p:first-child:contains("Welcome to WordPress") {
	display: none !important;
}

/* Hide any misplaced account icons outside header */
body:not(.site-header) .account-icon,
body:not(.header-actions) .user-icon,
main .wp-block-loginout {
	display: none !important;
}

/* Ensure header layout is clean */
.site-header {
    position: relative;
    overflow: visible;
}

/* Home page: clip any accidental horizontal overflow introduced by blocks
   (mini-cart initialization, gradients, etc.) without affecting vertical flow */
body.home, body.front-page {
    overflow-x: clip !important;
}
body.home header, body.front-page header, body.home .wp-site-blocks, body.front-page .wp-site-blocks {
    overflow-x: clip !important;
}
/* Allow subnav to scroll horizontally even on home page */
body.home .subnav, body.front-page .subnav {
    overflow-x: auto !important;
}

.site-header > * {
	z-index: 1;
}

/* Fix any content that might be appearing in wrong places */
.site-main > p:first-child {
	display: none;
}

/* Hide specific WordPress default content */
p:contains("Welcome to WordPress"),
.entry-content:contains("Welcome to WordPress"),
.post-content:contains("Welcome to WordPress") {
	display: none !important;
}

/* Hide any default login/account widgets outside the header */
.widget_meta,
.wp-block-latest-posts,
body .account-icon:not(.header-actions .account-icon) {
	display: none !important;
}

/* Hide specific WordPress welcome message only */
main p:first-of-type:only-child:contains("Welcome to WordPress") {
	display: none !important;
}

/* FORCE HIDE - WooCommerce Customer Account blocks outside of intended areas */
.wp-block-woocommerce-customer-account:not(.header-actions .wp-block-woocommerce-customer-account) {
	display: none !important;
}

/* Hide any blog post content that appears in header/navigation areas */
header .wp-block-post-content,
header .wp-block-query,
header .wp-block-post-template,
.site-header .wp-block-post-content,
.site-header .wp-block-query,
.subnav .wp-block-post-content,
.subnav .wp-block-query {
	display: none !important;
}

/* Ensure all header elements are visible */
.site-header > * {
	display: flex !important;
	visibility: visible !important;
}

.site-header .wp-block-group {
	display: flex !important;
	visibility: visible !important;
    justify-content: flex-end;
}

/* Fix any block elements that might be hidden */
.site-header .wp-block-site-title,
.site-header .wp-block-search,
.site-header .wp-block-html,
.site-header .wp-block-woocommerce-mini-cart {
	display: block !important;
	visibility: visible !important;
}

/* Hide ALL duplicate customer account elements */
.wc-block-customer-account,
.wp-block-woocommerce-customer-account,
[data-block-name="woocommerce/customer-account"],
.wc-block-customer-account__account-icon,
div[class*="wp-block-woocommerce-customer-account"] {
	display: none !important;
}

/* Only allow our custom My Account link */
.header-actions .my-account-link {
	display: flex !important;
	visibility: visible !important;
}

/* Removed problematic header hiding rule */

/* Nuclear option - hide ALL unexpected content in header/nav areas */
.site-header .wp-block-woocommerce-customer-account,
.site-header .wp-block-loginout,
.subnav .wp-block-woocommerce-customer-account,
.subnav .wp-block-loginout,
.subnav .wp-block-post-template,
.subnav .wp-block-query,
.subnav .wp-block-post-content,
header .wp-block-post-template,
header .wp-block-query,
header .wp-block-post-content {
	display: none !important;
}

/* Ensure navigation is simple menu only */
.subnav-menu .wp-block-navigation__responsive-container-content > :not(.wp-block-navigation-item) {
	display: none !important;
}

/* Hide any standalone customer account blocks */
.wp-block-woocommerce-customer-account[class*="288x40"] {
	display: none !important;
}

.site-header .site-title {
	font-family: var(--vetpro-font-heading);
	font-weight: 700;
	font-size: 1.5rem;
	color: var(--vetpro-primary-800);
	text-decoration: none;
	margin: 0;
}

.header-search {
	flex: 1;
	margin: 0 2rem;
}

/* WordPress Block Search & Custom Search Form */
.header-search .wp-block-search,
.header-search .search-form {
	position: relative;
	display: flex !important;
	align-items: center;
	border: none !important;
	box-shadow: none !important;
	background: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Remove any WordPress default borders/styling */
.header-search .wp-block-search .wp-block-search__inside-wrapper {
	border: none !important;
	box-shadow: none !important;
	background: none !important;
	padding: 0 !important;
	margin: 0 !important;
	display: flex !important;
	align-items: center !important;
	position: relative !important;
	width: 100% !important;
}

/* Search input styling */
.header-search .wp-block-search input[type="search"],
.search-form input[type="search"] {
	width: 100% !important;
	padding: 0.75rem 3rem 0.75rem 1rem !important;
	border: 1px solid var(--vetpro-n-300) !important;
	border-radius: 0 !important;
	background: white !important;
	font-size: 0.875rem !important;
	transition: all 0.2s ease !important;
	margin: 0 !important;
	box-shadow: var(--vetpro-shadow-1) !important;
	color: var(--vetpro-n-700) !important;
}

.header-search .wp-block-search input[type="search"]:focus,
.search-form input[type="search"]:focus {
	border-color: var(--vetpro-primary-300) !important;
	background: #ffffff !important;
	box-shadow: var(--vetpro-focus-ring-soft) !important;
	outline: none !important;
}

.header-search .wp-block-search input[type="search"]::placeholder,
.search-form input[type="search"]::placeholder {
	color: var(--vetpro-n-500) !important;
}

/* Search button styling */
.header-search .wp-block-search button,
.search-form button {
	position: absolute !important;
	right: 0.5rem !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	background: var(--vetpro-primary-500) !important;
	color: white !important;
	border: none !important;
	border-radius: 0 !important;
	width: 2rem !important;
	height: 2rem !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	cursor: pointer !important;
	transition: background-color 0.2s ease !important;
	margin: 0 !important;
	padding: 0 !important;
	z-index: 2 !important;
}

.header-search .wp-block-search button:hover,
.search-form button:hover {
	background: var(--vetpro-primary-600) !important;
}

/* Search button icon */
.header-search .wp-block-search button svg,
.search-form button svg {
	width: 1rem !important;
	height: 1rem !important;
	fill: currentColor !important;
}

/* Hide labels for accessibility */
.header-search .wp-block-search label,
.search-form label {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* Cart Button */
.cart-link {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	color: var(--vetpro-n-700);
	text-decoration: none;
	padding: 0.5rem;
	border-radius: 0;
	transition: all 0.2s ease;
	position: relative;
}

.cart-link:hover {
	color: var(--vetpro-primary-700);
	background: var(--vetpro-n-50);
}

.cart-count {
	background: var(--vetpro-primary-600);
	color: white;
	border-radius: 0;
	width: 1.25rem;
	height: 1.25rem;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0.75rem;
	font-weight: 600;
	position: absolute;
	top: -0.25rem;
	right: 0; /* avoid overflow from negative positioning */
}

/* Subnav */
.subnav {
	background: var(--vetpro-primary-500) !important;
	overflow-x: auto !important;
	scrollbar-width: none !important;
	-ms-overflow-style: none !important;
	display: block !important;
	visibility: visible !important;
	padding: 0.5rem 1.5rem !important;
	position: relative !important;
}

.subnav::-webkit-scrollbar {
	display: none;
}

/* Scrollable indicator for mobile subnav */
@media (max-width: 768px) {
	/* Add fade gradient on right edge to indicate scrollability */
	.subnav::after {
		content: '';
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		width: 60px;
		background: linear-gradient(to right, transparent, var(--vetpro-primary-500) 70%);
		pointer-events: none;
		z-index: 10;
		opacity: 1;
		transition: opacity 0.3s ease;
	}

	/* Optional: Add subtle shadow on left when scrolled */
	.subnav::before {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		bottom: 0;
		width: 20px;
		background: linear-gradient(to left, transparent, rgba(0, 0, 0, 0.05));
		pointer-events: none;
		z-index: 10;
		opacity: 0;
		transition: opacity 0.3s ease;
	}

	.subnav.scrolled::before {
		opacity: 1;
	}

	.subnav.scrolled-end::after {
		opacity: 0;
	}
}

.subnav-menu,
.wp-block-navigation {
	display: flex !important;
	gap: 6px !important;
	padding: 0.5rem 1rem !important;
	max-width: 1440px !important;
	margin: 0 auto !important;
	list-style: none !important;
	margin-bottom: 0 !important;
	visibility: visible !important;
}

.subnav-menu a {
	color: white;
	text-decoration: none;
	font-weight: 500;
	white-space: nowrap;
	padding: 0.75rem 1.25rem;
	border-radius: 0;
	transition: all 0.2s ease;
	position: relative;
	font-size: 0.875rem;
}

.subnav-menu a:hover {
	background: rgba(255, 255, 255, 0.15);
	border-radius: 0;
	transform: translateY(-1px);
}

.subnav-menu a:active {
	background: rgba(255, 255, 255, 0.25);
	transform: translateY(0);
}

/* Active/current category state */
.subnav-menu a.current,
.subnav-menu a.current-cat,
.subnav-menu a.current-menu-item,
.subnav-menu a[aria-current="page"],
body.tax-product_cat .subnav-menu a[href*="product_cat"] {
	background: rgba(255, 255, 255, 0.2);
	border-radius: 0;
}


/* Mobile Header */
@media (max-width: 768px) {
	.wp-block-site-logo img{
		width:160px
	}
	.site-header {
		flex-wrap: wrap;
		gap: 1rem 2rem !important;
	}

	.header-search {
		order: 3;
		flex-basis: 100%;
		margin: 0;
	}

	.header-search .wp-block-search, .header-search .search-form{
		width:100%;
	}

	.subnav-menu {
		padding: 0.4rem 1.5rem;
		gap: 0;
	}
	
	.subnav-menu a {
		padding: 0.6rem 1rem;
		font-size: 0.8rem;
	}
}

/* ==========================================
   Hero Section
   ========================================== */

.hero-section {
	background: linear-gradient(135deg, var(--vetpro-primary-50) 0%, var(--vetpro-primary-100) 100%);
	padding: 4rem 1.5rem;
	text-align: center;
}

.hero-content {
	max-width: 800px;
	margin: 0 auto;
}

.hero-title {
	font-family: var(--vetpro-font-heading);
	font-size: 3rem;
	font-weight: 700;
	color: var(--vetpro-n-900);
	margin-bottom: 1.5rem;
	line-height: 1.1;
}

.hero-subtitle {
	font-size: 1.25rem;
	color: var(--vetpro-n-600);
	margin-bottom: 2rem;
	line-height: 1.5;
}

@media (max-width: 768px) {
	.hero-title {
		font-size: 2rem;
	}

	.hero-subtitle {
		font-size: 1.125rem;
	}
}

/* ==========================================
   Quick Order Component
   ========================================== */

.quick-order {
	background: white;
	border: 1px solid var(--vetpro-n-200);
	border-radius: 0;
	padding: 2rem;
	box-shadow: var(--vetpro-shadow-2);
	max-width: 600px;
	margin: 2rem auto;
}

.quick-order-title {
	font-family: var(--vetpro-font-heading);
	font-size: 1.5rem;
	font-weight: 600;
	color: var(--vetpro-n-900);
	margin-bottom: 1rem;
}

.quick-order-form {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.quick-order-input {
	width: 100%;
	min-height: 120px;
	padding: 1rem;
	border: 1px solid var(--vetpro-n-300);
	border-radius: 0;
	font-family: var(--vetpro-font-body);
	font-size: 0.875rem;
	resize: vertical;
	transition: border-color 0.2s ease;
}

.quick-order-input:focus {
	border-color: var(--vetpro-primary-500);
	box-shadow: var(--vetpro-focus-ring);
}

.quick-order-results {
	margin-top: 1rem;
	padding: 1rem;
	border-radius: 0;
	background: var(--vetpro-n-50);
}

.quick-order-success {
	color: #16a34a;
	background: #f0fdf4;
	border: 1px solid #bbf7d0;
}

.quick-order-error {
	color: #dc2626;
	background: #fef2f2;
	border: 1px solid #fecaca;
}

/* ==========================================
   Buttons
   ========================================== */

.wp-element-button,
.wp-block-button__link,
.button,
.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	padding: 0.75rem 1.5rem;
	font-family: var(--vetpro-font-body);
	font-size: 0.875rem;
	font-weight: 600;
	text-decoration: none;
	border: none;
	border-radius: 0;
	cursor: pointer;
	transition: all 0.2s ease;
	background: var(--vetpro-primary-500);
	color: white;
}

.wp-element-button:hover,
.wp-block-button__link:hover,
.button:hover,
.btn:hover {
	background: var(--vetpro-primary-600);
	transform: translateY(-1px);
}

.wp-element-button:focus,
.wp-block-button__link:focus,
.button:focus,
.btn:focus {
	box-shadow: var(--vetpro-focus-ring);
}

/* Button Variants */
.is-style-outline .wp-block-button__link,
.button-outline,
.btn-outline {
	background: transparent;
	color: var(--vetpro-primary-700);
	border: 1px solid var(--vetpro-primary-700);
}

.is-style-outline .wp-block-button__link:hover,
.button-outline:hover,
.btn-outline:hover {
	background: var(--vetpro-primary-700);
	color: white;
	transform: translateY(-1px);
}

/* ==========================================
   Cards & Product Grid
   ========================================== */

.wp-block-group.is-style-card,
.card {
	background: white;
	border: 1px solid var(--vetpro-n-200);
	border-radius: 0;
	padding: 1.5rem;
	box-shadow: var(--vetpro-shadow-1);
	transition: all 0.2s ease;
}

.wp-block-group.is-style-card:hover,
.card:hover {
	box-shadow: var(--vetpro-shadow-2);
	transform: translateY(-2px);
}

/* Product Cards */
.woocommerce ul.products,
body.search ul.products {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1.25rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

/* WooCommerce Block-based grid */
.wc-block-product-template__responsive.columns-3,
.wc-block-product-template__responsive.columns-4 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.25rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.wc-block-product-template__responsive.columns-4 {
    grid-template-columns: repeat(4, 1fr);
}

.woocommerce ul.products li.product,
body.search ul.products li.product {
    margin: 0;
}

/* Force square aspect ratio for WooCommerce block product images */
.wc-block-components-product-image,
.wc-block-grid__product-image {
    aspect-ratio: 1 / 1;
    overflow: hidden;
}

.wc-block-components-product-image a,
.wc-block-grid__product-image a {
    display: block;
    width: 100%;
    height: 100%;
}

.wc-block-components-product-image img,
.wc-block-grid__product-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Style WooCommerce product images within our product card structure */
.product-media img,
.product-media .attachment-woocommerce_thumbnail,
.product-media .woocommerce-placeholder {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block !important;
}

/* Style the WooCommerce product link within our card */
.product-media > a {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
}

.product-card {
    background: white;
    border: 1px solid var(--vetpro-n-200);
    border-radius: 0;
    overflow: hidden;
    transition: all 0.2s ease;
    display: flex;
    flex-direction: column;
    max-width: 100%;
    box-sizing: border-box;
}

.product-card:hover {
	box-shadow: var(--vetpro-shadow-2);
	transform: translateY(-2px);
}

.product-media {
    position: relative;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background: var(--vetpro-n-50);
}

/* Hide empty product-media divs */
.product-media:empty {
	display: none;
}

/* Product placeholder for missing images */
.product-placeholder {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--vetpro-n-400);
	background: var(--vetpro-n-50);
}

.product-media img,
.wp-post-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.2s ease;
}

.product-card:hover .product-media img {
	transform: scale(1.05);
}

.product-details {
    padding: 1rem 1rem 1.25rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    word-wrap: break-word;
}

/* Product card titles - all variations */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce .wp-block-post-title.woocommerce-loop-product__title,
.wc-block-product .wp-block-post-title,
li.wc-block-product h3.wp-block-post-title,
.wc-block-product .wp-block-post-title.has-medium-font-size,
li.wc-block-product h3.wp-block-post-title.has-medium-font-size {
	font-family: var(--vetpro-font-heading) !important;
	font-size: 1rem !important;
	font-weight: 600 !important;
	color: var(--vetpro-n-900) !important;
	text-decoration: none !important;
	line-height: 1.4 !important;
	margin: 0 !important;
}

/* Ensure links in product titles inherit color */
.wc-block-product .wp-block-post-title a,
li.wc-block-product h3.wp-block-post-title a {
	color: inherit !important;
	text-decoration: none !important;
}

.product-sku {
	font-size: 0.75rem;
	color: var(--vetpro-n-500);
	text-transform: uppercase;
	font-weight: 600;
	letter-spacing: 0.05em;
}

.woocommerce ul.products li.product .price {
	font-size: 1.125rem;
	font-weight: 700;
	color: var(--vetpro-primary-700);
	margin: 0;
}

.stock-badge {
	display: inline-block;
	padding: 0.25rem 0.75rem;
	font-size: 0.75rem;
	font-weight: 600;
	text-transform: uppercase;
	border-radius: 0;
	letter-spacing: 0.05em;
}

.stock-instock {
	background: #f0fdf4;
	color: #16a34a;
}

.stock-outofstock {
	background: #fef2f2;
	color: #dc2626;
}

.stock-onbackorder {
	background: #fffbeb;
	color: #d97706;
}

.woocommerce ul.products li.product .button {
    margin-top: 0.5rem;
    width: 100%;
}

/* Category Grid */
.category-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 2rem;
	margin: 3rem 0;
}

@media (max-width: 1200px) {
	.category-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (max-width: 768px) {
	.category-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 1.5rem;
	}
}

@media (max-width: 480px) {
	.category-grid {
		grid-template-columns: 1fr;
	}
}

.category-card {
	background: white;
	border: 1px solid var(--vetpro-n-200);
	border-radius: 4px;
	overflow: hidden;
	text-decoration: none;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	position: relative;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
	display: flex;
	flex-direction: column;
}

.category-card::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: var(--vetpro-primary-600);
	transform: scaleX(0);
	transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	z-index: 2;
}

.category-card:hover {
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
	transform: translateY(-2px);
	border-color: var(--vetpro-n-300);
}

.category-card:hover::before {
	transform: scaleX(1);
}

.category-image {
	aspect-ratio: 16/9;
	overflow: hidden;
	background: var(--vetpro-n-100);
	position: relative;
}

.category-image::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, 0.03) 100%);
	pointer-events: none;
}

.category-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.category-card:hover .category-image img {
	transform: scale(1.03);
}

.category-info {
	padding: 1.5rem;
	position: relative;
	flex: 1;
	display: flex;
	flex-direction: column;
}

.category-name {
	font-family: var(--vetpro-font-heading);
	font-size: 1.25rem;
	font-weight: 600;
	color: var(--vetpro-n-900);
	margin: 0 0 0.625rem 0;
	line-height: 1.3;
	transition: color 0.2s ease;
}

.category-card:hover .category-name {
	color: var(--vetpro-primary-700);
}

.category-description {
	color: var(--vetpro-n-600);
	font-size: 0.875rem;
	line-height: 1.6;
	margin-bottom: auto;
	padding-bottom: 1rem;
}

.category-count {
	color: var(--vetpro-primary-600);
	font-size: 0.8125rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	margin: 0;
	display: inline-flex;
	align-items: center;
	gap: 0.25rem;
}

/* ==========================================
   Tables
   ========================================== */

.wp-block-table table {
	font-size: 0.875rem;
	line-height: 1.375;
	font-variant-numeric: tabular-nums;
	border-collapse: collapse;
	width: 100%;
}

.wp-block-table.is-style-stripes tr:nth-child(odd) {
	background-color: var(--vetpro-n-50);
}

.wp-block-table th,
.wp-block-table td {
	padding: 0.75rem 1rem;
	border: 1px solid var(--vetpro-n-200);
	text-align: left;
}

.wp-block-table th {
	background: var(--vetpro-n-100);
	font-weight: 600;
	color: var(--vetpro-n-900);
}

/* ==========================================
   Forms
   ========================================== */

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea,
select {
	padding: 0.75rem 1rem;
	border: 1px solid var(--vetpro-primary-200);
	border-radius: 0;
	font-family: var(--vetpro-font-body);
	font-size: 1rem;
	background: white;
	transition: all 0.2s ease;
	box-shadow: var(--vetpro-shadow-1);
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus,
select:focus {
	border-color: var(--vetpro-primary-400);
	box-shadow: var(--vetpro-focus-ring);
	transform: translateY(-1px);
}

/* ==========================================
   Newsletter & Footer
   ========================================== */

.newsletter-section {
	background: var(--vetpro-primary-900);
	color: white;
	padding: 3rem 1.5rem;
	text-align: center;
}

.newsletter-title {
	font-family: var(--vetpro-font-heading);
	font-size: 2rem;
	font-weight: 600;
	margin-bottom: 1rem;
}

.newsletter-description {
	font-size: 1.125rem;
	opacity: 0.9;
	margin-bottom: 2rem;
	max-width: 600px;
	margin-left: auto;
	margin-right: auto;
}

.newsletter-form {
	display: flex;
	gap: 1rem;
	max-width: 500px;
	margin: 0 auto;
}

.newsletter-form input[type="email"] {
	flex: 1;
}

.newsletter-form button {
	background: white;
	color: var(--vetpro-primary-900);
}

.newsletter-form button:hover {
	background: var(--vetpro-n-100);
}

@media (max-width: 768px) {
	.newsletter-form {
		flex-direction: column;
	}
}

/* Footer */
footer {
	background: var(--vetpro-n-900);
	color: var(--vetpro-n-300);
	padding: 2rem 1.5rem 1.5rem;
}

.footer-content {
	max-width: 1440px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 2fr 1fr 1fr;
	gap: 2rem;
	align-items: start;
}

@media (max-width: 768px) {
	.footer-content {
		grid-template-columns: 1fr;
		gap: 2rem;
	}
}

.footer-section {
    display: flex;
    flex-direction: column;
}

/* Footer Logo */
.footer-section > p:first-child:has(.footer-logo-link) {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
}

.footer-logo-link {
    display: inline-block;
    line-height: 0;
}

.footer-logo-image {
    max-width: 200px;
    height: auto;
    display: block;
}

.footer-section h3,
.site-footer .wp-block-heading {
    color: white;
    font-family: var(--vetpro-font-heading);
    font-size: 1.125rem !important; /* override WordPress size presets */
    line-height: 1.3;
    font-weight: 600;
    margin-bottom: 0.75rem;
    margin-top: 0; /* Remove excess top margin for alignment */
}

/* Override WordPress core layout margins for footer sections - but allow intentional spacing */
.footer-section > :not([style*="margin-top"]),
.footer-section .wp-block-group > :not([style*="margin-top"]) {
    margin-block-start: 0 !important;
    margin-top: 0 !important;
}

/* Reset all paragraph spacing in footer sections - but allow intentional spacing */
.footer-section p:not([style*="margin-top"]),
.footer-section .wp-block-paragraph:not([style*="margin-top"]) {
    margin-top: 0 !important;
    margin-bottom: 0.5rem;
}

.footer-section p:last-child,
.footer-section .wp-block-paragraph:last-child {
    margin-bottom: 0;
}

/* Specific spacing for contact info paragraphs */
.footer-section .wp-block-group p,
.footer-section .wp-block-group .wp-block-paragraph {
    margin-top: 0 !important;
    margin-bottom: 0.4rem;
    line-height: 1.4;
}

.footer-section .wp-block-group p:last-child,
.footer-section .wp-block-group .wp-block-paragraph:last-child {
    margin-bottom: 0;
}

/* Adjust social links spacing */
.footer-section .wp-block-social-links {
    margin-top: 0.75rem !important;
    margin-bottom: 0;
}

/* Override WordPress flow layout margins specifically for footer - but allow intentional spacing */
.site-footer .is-layout-flow > :not([style*="margin-top"]) {
    margin-block-start: 0 !important;
}

/* Contact items with icons */
.contact-item {
    display: flex;
    align-items: flex-start;
    gap: 8px;
}

.contact-item svg {
    flex-shrink: 0;
    margin-top: 2px;
    color: var(--wp--preset--color--primary-400);
}

/* Remove bullets and reset spacing for footer lists */
.site-footer .wp-block-list,
.site-footer ul {
    list-style: none;
    padding-left: 0;
    margin: 0;
}

.site-footer .wp-block-list li,
.site-footer li {
    margin: 0 0 0.35rem 0;
}

.footer-section a {
	color: var(--vetpro-n-300);
	text-decoration: none;
	transition: color 0.2s ease;
}

.footer-section a:hover {
	color: var(--vetpro-primary-400);
}

.footer-bottom {
	max-width: 1440px;
	margin: 0 auto;
	text-align: center;
	padding-top: 2rem;
	border-top: 1px solid var(--vetpro-n-700);
	color: var(--vetpro-n-500);
	font-size: 0.875rem;
}

.footer-legal {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.5rem 1.5rem;
}

.footer-legal a {
	color: var(--vetpro-n-400);
	text-decoration: none;
	transition: color 0.2s ease;
	position: relative;
}

.footer-legal a::before {
	content: "•";
	position: absolute;
	left: -1rem;
	color: var(--vetpro-n-600);
}

.footer-legal a:hover {
	color: var(--vetpro-primary-400);
}

/* ==========================================
   Value Props & Brand Strip
   ========================================== */

.value-props {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 2rem;
	margin: 3rem 0;
}

.value-prop {
	text-align: center;
	padding: 2rem;
}

.value-prop-icon {
	width: 4rem;
	height: 4rem;
	background: var(--vetpro-primary-100);
	border-radius: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 1rem;
	color: var(--vetpro-primary-700);
}

.value-prop-title {
	font-family: var(--vetpro-font-heading);
	font-size: 1.25rem;
	font-weight: 600;
	color: var(--vetpro-n-900);
	margin-bottom: 0.75rem;
}

.value-prop-description {
	color: var(--vetpro-n-600);
	line-height: 1.6;
}

.brand-strip {
	background: var(--vetpro-n-50);
	padding: 2rem 1.5rem;
	border-top: 1px solid var(--vetpro-n-200);
	border-bottom: 1px solid var(--vetpro-n-200);
}

.brand-logos {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 3rem;
	flex-wrap: wrap;
	opacity: 0.6;
}

.brand-logo {
	height: 2rem;
	filter: grayscale(100%);
	transition: all 0.2s ease;
}

.brand-logo:hover {
	filter: grayscale(0%);
	opacity: 1;
}

/* ==========================================
   Archive & Shop Layout
   ========================================== */

/* Hide old shop headers - we use new shop-content-header inside main area */
.shop-header { display: none !important; }
.shop-header--top { display: none !important; }
.shop-header--meta { display: none !important; }
.shop-inline-title { display: none !important; }

/* Hide WooCommerce block-based sorting/result count row */
.woocommerce .wp-block-group.alignwide.is-content-justification-space-between.is-nowrap.is-layout-flex,
.woocommerce .wp-block-woocommerce-catalog-sorting,
.woocommerce .wp-block-woocommerce-product-results-count { 
    display: none !important; 
}

/* Hide WordPress block-based short description on product pages to avoid duplicates */
.single-product .wp-block-post-excerpt,
.single-product .wp-block-post-excerpt__excerpt {
    display: none !important;
}

/* But allow our custom result count in shop-content-header */
.shop-content-header .woocommerce-result-count {
    display: block !important;
}

.woocommerce-result-count {
	color: var(--vetpro-n-600);
	font-size: 0.875rem;
}

.woocommerce-ordering select {
	border: 1px solid var(--vetpro-n-300);
	border-radius: 0;
	padding: 0.5rem 0.75rem;
	font-size: 0.875rem;
}

/* Filters placeholder */

/* Shop two-column layout */
.shop-layout {
	display: grid;
	grid-template-columns: 280px 1fr;
	gap: 2rem;
	padding: 2rem;
	max-width: 1440px;
	margin: 0 auto;
}

.shop-main {
	min-width: 0;
	min-height: 400px;
	background: white;
	border-radius: 0;
	padding: 2rem;
	box-shadow: var(--vetpro-shadow-1);
}

/* Shop content header inside main area */
.shop-content-header {
	margin-bottom: 2rem;
}

.shop-page-title {
	font-family: var(--vetpro-font-heading);
	font-size: 2.5rem;
	font-weight: 700;
	color: var(--vetpro-primary-800);
	margin: 0 0 1rem 0;
	line-height: 1.2;
}

.shop-description {
	color: var(--vetpro-n-600);
	font-size: 1rem;
	line-height: 1.6;
	margin-bottom: 1.5rem;
	max-width: 65ch;
}

.shop-meta-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 1rem 0;
	border-top: 1px solid var(--vetpro-n-200);
	margin-bottom: 1.5rem;
}

.shop-results-count {
	color: var(--vetpro-n-600);
	font-size: 0.875rem;
}

.shop-sorting {
	margin-left: auto;
}
.shop-sidebar {
	position: sticky;
	top: 100px;
	align-self: start;
	background: white;
	border-radius: 0;
	padding: 1.5rem;
	box-shadow: var(--vetpro-shadow-1);
}

.sidebar-title { 
	font-family: var(--vetpro-font-heading); 
	font-size: 1rem; 
	font-weight: 600; 
	margin: 0 0 1rem 0; 
	color: var(--vetpro-n-700);
	padding-bottom: 0.5rem;
	border-bottom: 1px solid var(--vetpro-n-200);
}

.category-nav .category-tree, 
.category-nav ul { 
	list-style: none; 
	margin: 0; 
	padding-left: 0; 
}

.category-nav li { 
	margin: 0.25rem 0; 
}

.category-nav .cat-leaf { 
	color: var(--vetpro-n-700); 
	text-decoration: none; 
	font-weight: 500;
	display: block;
	padding: 0.5rem;
	transition: all 0.2s ease;
}

.category-nav .cat-leaf:hover { 
	color: var(--vetpro-primary-700); 
	background: var(--vetpro-primary-50);
	border-left-color: var(--vetpro-primary-400);
}

.category-nav details { 
	margin: 0.25rem 0;
}

.category-nav summary { 
	cursor: pointer; 
	list-style: none; 
	padding: 0.5rem;
	background: transparent;
	transition: all 0.2s ease;
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-weight: 500;
	color: var(--vetpro-n-700);
}

.category-nav summary:hover {
	color: var(--vetpro-primary-700);
	background: var(--vetpro-primary-50);
	border-left-color: var(--vetpro-primary-400);
}

.category-nav summary .cat-link {
	flex-grow: 1;
	text-decoration: none;
	color: inherit;
	transition: none;
	border: none;
	background: none;
	padding: 0;
	margin: 0;
}

.category-nav summary .cat-link:hover {
	background: none !important;
	border: none !important;
	transform: none !important;
	box-shadow: none !important;
}

.category-nav summary::-webkit-details-marker { 
	display: none; 
}

.category-nav summary::after { 
	content: '▸'; 
	font-size: 0.75rem;
	color: var(--vetpro-primary-500); 
	transition: transform 0.2s ease;
	transform: rotate(0deg);
	flex-shrink: 0;
}

.category-nav details[open] summary::after { 
	transform: rotate(90deg); 
}

.cat-children { 
	padding: 0;
	margin: 0 0 0 1rem !important;
	background: transparent;
}

.cat-children .category-nav .cat-leaf {
	padding: 0.375rem 0;
	margin: 0.125rem 0;
	font-size: 0.875rem;
	color: var(--vetpro-n-600);
	border-left: 3px solid var(--vetpro-primary-200);
	position: relative;
}

.cat-children .category-nav .cat-leaf:hover {
	border-left-color: var(--vetpro-primary-400);
	background: var(--vetpro-primary-50);
	color: var(--vetpro-primary-700);
}

@media (max-width: 1024px) {
  .shop-layout {
    grid-template-columns: 1fr;
    padding: 2rem;
    gap: 1rem;
  }
  /* Hide sidebar on mobile/tablet since categories are in submenu */
  .shop-sidebar {
    display: none !important;
  }
  .shop-main {
    padding: 1.5rem;
  }
  .shop-meta-row { flex-wrap: wrap; gap: 1rem; }
  .shop-sorting { margin-left: 0 }
}

/* Hide block theme archive titles on Woo shop/category pages to avoid double headers */
body.post-type-archive-product .wp-block-query-title,
body.tax-product_cat .wp-block-query-title,
body.post-type-archive-product .wp-block-term-description,
body.tax-product_cat .wp-block-term-description { display: none !important; }

.filters-title {
	font-family: var(--vetpro-font-heading);
	font-size: 1.125rem;
	font-weight: 600;
	color: var(--vetpro-n-900);
	margin-bottom: 1rem;
}

/* ==========================================
   Responsive Grid Adjustments
   ========================================== */

@media (max-width: 1024px) {
	.woocommerce ul.products { grid-template-columns: repeat(2, 1fr); gap: 1.5rem; }
	.wc-block-product-template__responsive.columns-3,
	.wc-block-product-template__responsive.columns-4 { grid-template-columns: repeat(2, 1fr); gap: 1.5rem; }
}

@media (max-width: 768px) {
	/* Only target WooCommerce content containers specifically */
	.woocommerce ul.products,
	.woocommerce .woocommerce-notices-wrapper,
	.woocommerce .woocommerce-info,
	.woocommerce .woocommerce-error,
	.woocommerce .woocommerce-message,
	.woocommerce-pagination,
	.product-card {
		margin-left: 1rem !important;
		margin-right: 1rem !important;
	}
	
/* Target page content but exclude header/footer areas */
.wp-site-blocks > .wp-block-group.has-global-padding:not(.site-header):not(.subnav):not(footer),
.wp-site-blocks > .wp-block-group.is-layout-constrained:not(.site-header):not(.subnav):not(footer) {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
    --wp--style--root--padding-left: 1rem !important;
    --wp--style--root--padding-right: 1rem !important;
}

/* Loosen WordPress global constrained layout on the front end */
.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
    max-width: 100% !important;
}
	
	/* Header and footer containers stay full-width, but add padding to contents */
	.site-header,
	.subnav,
	footer,
	header {
		padding-left: 0 !important;
		padding-right: 0 !important;
		margin-left: 0;
		margin-right: 0;
	}

	/* Add padding to header contents on mobile */
	.site-header .wp-block-group,
	.site-header > *,
	.subnav .wp-block-group,
	.subnav > *,
	.subnav-menu {
		padding-left: 1rem;
		padding-right: 1rem;
	}

	/* Footer content padding */
	footer .footer-content,
	footer > * {
		padding-left: 1rem;
		padding-right: 1rem;
	}
	
	/* Override desktop WooCommerce container on mobile - TARGET ONLY MAIN CONTENT */
	body.woocommerce main,
	body.woocommerce-page main,
	body.post-type-archive-product main {
		padding: 0 1rem !important;
	}

	/* Single product mobile container */
	body.single-product main {
		margin: 1rem !important;
		padding: 1.5rem !important;
		max-width: calc(100vw - 2rem) !important;
	}
	
	/* WooCommerce mobile layout */
	.woocommerce ul.products {
		grid-template-columns: 1fr;
		gap: 1rem;
		margin: 0 !important;
		padding: 0 !important;
	}
	
	.wc-block-product-template__responsive.columns-3,
	.wc-block-product-template__responsive.columns-4 {
		grid-template-columns: 1fr 1fr;
		gap: 1rem;
	}

	.category-grid {
		grid-template-columns: 1fr;
		gap: 1.5rem;
	}

	.category-info {
		padding: 1.25rem;
	}

	.category-name {
		font-size: 1.125rem;
	}

	.value-props {
		grid-template-columns: 1fr;
		gap: 1.5rem;
	}
	.shop-layout {
    padding: 0;
  }
}

/* ==========================================
   WooCommerce Specific Overrides
   ========================================== */

/* Remove default WooCommerce button styles */
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
	background: var(--vetpro-primary-500);
	color: white;
	border: none;
	border-radius: 0;
	padding: 0.75rem 1.5rem;
	font-family: var(--vetpro-font-body);
	font-weight: 600;
	font-size: 0.875rem;
	text-transform: none;
	transition: all 0.2s ease;
}

.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
    background: var(--vetpro-primary-600);
}

/* Cart skeleton loader */
.cart-skeleton {
    border: 1px solid var(--vetpro-n-200);
    border-radius: 0;
    padding: 1.25rem;
    background: #fff;
    box-shadow: var(--vetpro-shadow-1);
    margin: 1rem 0 2rem;
    opacity: 1;
    transform: translateY(0);
    transition: opacity 220ms ease, transform 220ms ease;
}
.cart-skeleton.overlay { position: absolute; inset: 0; z-index: 2; }
.cart-skeleton-container { position: relative; }
body.woocommerce-cart main.cart-skeleton-container > *:not(.cart-skeleton) { opacity: 0; transition: opacity 180ms ease; }
body.woocommerce-cart main.cart-skeleton-container.is-revealed > *:not(.cart-skeleton) { opacity: 1; }
.cart-skeleton .skeleton-row {
    height: 16px;
    border-radius: 0;
    margin: 12px 0;
    background: linear-gradient(90deg, #f3f4f6 25%, #e5e7eb 50%, #f3f4f6 75%);
    background-size: 200% 100%;
    animation: vetpro-skeleton 1.2s ease-in-out infinite;
}
.cart-skeleton .skeleton-title { height: 24px; width: 40%; }
.cart-skeleton .skeleton-totals { height: 20px; width: 60%; margin-top: 1.25rem; }

@keyframes vetpro-skeleton {
    0% { background-position-x: 180%; }
    100% { background-position-x: -20%; }
}

/* Fade-out helper */
.cart-skeleton.is-fade-out {
    opacity: 0;
    transform: translateY(6px);
}

/* WooCommerce notices */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	padding: 1rem 1.5rem;
	border-radius: 0;
	border: none;
	margin-bottom: 1.5rem;
}

.woocommerce-message {
	background: #f0fdf4;
	color: #16a34a;
	border-left: 4px solid #16a34a;
}

.woocommerce-info {
	background: var(--vetpro-primary-50);
	color: var(--vetpro-primary-800);
	border-left: 4px solid var(--vetpro-primary-500);
}

.woocommerce-error {
	background: #fef2f2;
	color: #dc2626;
	border-left: 4px solid #dc2626;
}

/* WooCommerce Block Store Notices (modern block-based notifications) */
.wc-block-store-notices {
	max-width: 1440px !important;
	margin: 1.5rem auto !important;
}

.wc-block-components-notice-banner {
	padding: 1.25rem 1.5rem !important;
	border-radius: 0 !important;
	display: flex !important;
	align-items: flex-start !important;
	gap: 0.75rem !important;
	margin-bottom: 1.5rem !important;
}

.wc-block-components-notice-banner.is-success {
	background: #f0fdf4 !important;
	color: #16a34a !important;
	border-left: 4px solid #16a34a !important;
}

.wc-block-components-notice-banner__content {
	flex: 1 !important;
	line-height: 1.5 !important;
}

/* Fix the "View cart" button in block notifications */
.wc-block-components-notice-banner .button,
.wc-block-components-notice-banner .wp-element-button {
	background: transparent !important;
	border: none !important;
	color: inherit !important;
	text-decoration: underline !important;
	font-weight: 600 !important;
	padding: 0 !important;
	margin: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	transform: none !important;
	transition: text-decoration 0.2s ease !important;
	display: inline !important;
	font-size: inherit !important;
}

.wc-block-components-notice-banner .button:hover,
.wc-block-components-notice-banner .wp-element-button:hover {
	background: transparent !important;
	color: inherit !important;
	text-decoration: none !important;
	transform: none !important;
	box-shadow: none !important;
}

/* WooCommerce layout - proper container and spacing - TARGET ONLY MAIN CONTENT */
body.woocommerce main,
body.woocommerce-page main,
body.post-type-archive-product main {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0;
}

/* Single product page - narrower container with white background */
body.single-product main {
    max-width: 1200px;
    margin: 2rem auto !important;
    margin-block-start: 2rem !important;
    margin-block-end: 2rem !important;
    padding: 2rem;
    background: white;
    border-radius: 0;
    box-shadow: var(--vetpro-shadow-1);
}

/* Override WordPress layout flow rules specifically for single product main container */
body.single-product main:first-child,
body.single-product .is-layout-flow > main:first-child {
    margin-block-start: 2rem !important;
}

body.single-product main:last-child,
body.single-product .is-layout-flow > main:last-child {
    margin-block-end: 2rem !important;
}

/* Product meta section styling (categories line) */
.wp-block-woocommerce-product-meta {
    border-top: 1px solid var(--vetpro-n-200);
    padding-top: 1.5rem;
    margin-top: 1.5rem;
}

/* Banner Slider Styling */
.vetpro-banner-slider {
    position: relative;
    width: 100%;
    margin-bottom: 3rem;
    overflow: hidden;
}

.vetpro-banner-slides {
    position: relative;
    width: 100%;
    height: 500px;
}

.vetpro-banner-slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.8s ease-in-out;
    background-color: var(--vetpro-n-100);
}

.vetpro-banner-slide.active {
    opacity: 1;
}

.vetpro-banner-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.4);
    z-index: 1;
}

.vetpro-banner-content {
    position: relative;
    z-index: 2;
    max-width: 1200px;
    margin: 0 auto;
    padding: 3rem 2rem;
    text-align: center;
    color: white;
}

/* Left aligned banner */
.vetpro-banner-align-left .vetpro-banner-content {
    margin-left: 0;
    margin-right: auto;
    text-align: left;
    padding-left: 4rem;
}

/* Right aligned banner */
.vetpro-banner-align-right .vetpro-banner-content {
    margin-left: auto;
    margin-right: 0;
    text-align: right;
    padding-right: 4rem;
}

/* Style banner content elements */
.vetpro-banner-content h1,
.vetpro-banner-content h2,
.vetpro-banner-content h3 {
    color: white !important;
    margin-bottom: 1rem;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
}

.vetpro-banner-content h1 {
    font-size: 3rem;
    font-weight: 700;
    line-height: 1.1;
}

.vetpro-banner-content h2 {
    font-size: 2.5rem;
    font-weight: 600;
    line-height: 1.2;
}

.vetpro-banner-content h3 {
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1.3;
}

.vetpro-banner-content p {
    color: white !important;
    font-size: 1.125rem;
    line-height: 1.6;
    margin-bottom: 1.5rem;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
}

.vetpro-banner-content .wp-block-buttons.is-layout-flex,
.vetpro-banner-content .wp-block-buttons {
    justify-content: center !important;
    align-items: center !important;
}

.vetpro-banner-align-left .vetpro-banner-content .wp-block-buttons.is-layout-flex,
.vetpro-banner-align-left .vetpro-banner-content .wp-block-buttons {
    justify-content: flex-start !important;
}

.vetpro-banner-align-right .vetpro-banner-content .wp-block-buttons.is-layout-flex,
.vetpro-banner-align-right .vetpro-banner-content .wp-block-buttons {
    justify-content: flex-end !important;
}

.vetpro-banner-content .wp-block-button,
.vetpro-banner-content .wp-element-button {
    margin: 0.5rem;
    display: flex !important;
    justify-content: center !important;
}

.vetpro-banner-content .wp-block-button {
    text-align: center;
}

.vetpro-banner-content .wp-block-button .wp-block-button__link,
.vetpro-banner-content .wp-element-button {
    background-color: var(--vetpro-primary-600) !important;
    color: white !important;
    border: none !important;
    padding: 1rem 2rem !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    border-radius: 0 !important;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    transition: all 0.3s ease;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
	margin:0;
}

.vetpro-banner-content .wp-block-button .wp-block-button__link:hover,
.vetpro-banner-content .wp-element-button:hover {
    background-color: var(--vetpro-primary-700) !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.4);
}

/* Dot indicators */
.vetpro-banner-dots {
    position: absolute;
    bottom: 2rem;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 0.75rem;
    z-index: 3;
}

.vetpro-banner-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    border: 2px solid white;
    background: transparent;
    cursor: pointer;
    transition: all 0.3s ease;
    opacity: 0.7;
    padding: 0;
    aspect-ratio: 1;
    flex-shrink: 0;
}

.vetpro-banner-dot:hover {
    opacity: 1;
    transform: scale(1.1);
}

.vetpro-banner-dot.active {
    background: white;
    opacity: 1;
}

/* Responsive design */
@media (max-width: 768px) {
    .vetpro-banner-slides {
        height: 400px;
    }

    .vetpro-banner-content {
        padding: 2rem 1rem;
    }

    .vetpro-banner-align-left .vetpro-banner-content {
        padding-left: 2rem;
    }

    .vetpro-banner-align-right .vetpro-banner-content {
        padding-right: 2rem;
    }

    .vetpro-banner-content h1 {
        font-size: 2rem;
    }

    .vetpro-banner-content h2 {
        font-size: 1.75rem;
    }

    .vetpro-banner-content h3 {
        font-size: 1.25rem;
    }

    .vetpro-banner-content p {
        font-size: 1rem;
    }

    .vetpro-banner-dots {
        bottom: 1rem;
    }
}

@media (max-width: 480px) {
    .vetpro-banner-slides {
        height: 300px;
    }

    .vetpro-banner-content {
        padding: 1.5rem 1rem;
    }

    .vetpro-banner-align-left .vetpro-banner-content {
        padding-left: 1.5rem;
    }

    .vetpro-banner-align-right .vetpro-banner-content {
        padding-right: 1.5rem;
    }

    .vetpro-banner-content h1 {
        font-size: 1.75rem;
    }

    .vetpro-banner-content h2 {
        font-size: 1.5rem;
    }

    .vetpro-banner-content h3 {
        font-size: 1.125rem;
    }
}

/* Specific styling for shop/category pages with our new container system */
body.woocommerce main .shop-layout,
body.post-type-archive-product main .shop-layout,
body.tax-product_cat main .shop-layout,
body.tax-product_tag main .shop-layout {
    max-width: 1440px;
    margin: 0 auto;
}
/* Search results container */
body.search main { max-width: 1440px; margin: 0 auto; padding: 0 1.5rem; }
body.search .woocommerce { max-width: 1440px; margin: 0 auto; padding: 0; }

/* Ensure cart page has initial height to avoid footer overlap while cart hydrates */
body.woocommerce-cart main {
    min-height: 60vh;
}

/* Cart and checkout page padding for desktop (above mobile breakpoint) */
@media (min-width: 769px) {
	body.woocommerce-cart main[data-page="cart"],
	body.woocommerce-checkout main[data-page="checkout"],
	body.woocommerce-cart main.wp-block-group,
	body.woocommerce-checkout main.wp-block-group,
	main[data-block-name="woocommerce/page-content-wrapper"] {
		padding-left: 2rem !important;
		padding-right: 2rem !important;
		padding-top: 2rem !important;
		padding-bottom: 2rem !important;
	}
}

/* Breadcrumb styling - general */
.woocommerce .woocommerce-breadcrumb,
body.search .woocommerce-breadcrumb {
    font-size: 0.75rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

/* Remove unwanted top margin from product collection container */
.wp-block-woocommerce-product-collection.alignwide.is-layout-flow {
    margin-block-start: 0 !important;
}

/* Remove unwanted top margin from main container on front page */
body.home main.site-main,
body.front-page main.site-main {
    margin-block-start: 0 !important;
}

/* Hide WooCommerce store notices container when wrapper is empty */
.wc-block-store-notices:has(.woocommerce-notices-wrapper:empty),
.wc-block-store-notices .woocommerce-notices-wrapper:empty {
    display: none !important;
}

/* Fallback: Hide parent container when it only contains empty wrapper */
.wc-block-store-notices:has(.woocommerce-notices-wrapper:only-child:empty) {
    display: none !important;
}

/* Archive page breadcrumb - minimal and aligned */
body.woocommerce-shop .woocommerce-breadcrumb,
body.tax-product_cat .woocommerce-breadcrumb,
body.tax-product_tag .woocommerce-breadcrumb,
body.post-type-archive-product .woocommerce-breadcrumb {
    padding: 1rem 2rem 0.5rem 2rem;
    margin-bottom: 0;
    font-size: 0.8rem;
    color: var(--vetpro-n-500);
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto;
}

/* Archive breadcrumb links - minimal styling */
body.woocommerce-shop .woocommerce-breadcrumb a,
body.tax-product_cat .woocommerce-breadcrumb a,
body.tax-product_tag .woocommerce-breadcrumb a,
body.post-type-archive-product .woocommerce-breadcrumb a {
    color: var(--vetpro-n-500);
    text-decoration: none;
}

body.woocommerce-shop .woocommerce-breadcrumb a:hover,
body.tax-product_cat .woocommerce-breadcrumb a:hover,
body.tax-product_tag .woocommerce-breadcrumb a:hover,
body.post-type-archive-product .woocommerce-breadcrumb a:hover {
    color: var(--vetpro-primary-700);
}

.woocommerce .woocommerce-breadcrumb a,
body.search .woocommerce-breadcrumb a {
    color: var(--vetpro-primary-700);
    text-decoration: none;
}

.woocommerce .woocommerce-breadcrumb a:hover,
body.search .woocommerce-breadcrumb a:hover {
    color: var(--vetpro-primary-800);
    text-decoration: underline;
}

/* Single product breadcrumb - minimal styling */
.single-product .entry-summary .woocommerce-breadcrumb {
    padding: 0 0 0.25rem 0;
    margin-bottom: 0.5rem;
    font-size: 0.8rem;
    color: var(--vetpro-n-500);
}

.single-product .entry-summary .woocommerce-breadcrumb a {
    color: var(--vetpro-n-500);
    text-decoration: none;
}

.single-product .entry-summary .woocommerce-breadcrumb a:hover {
    color: var(--vetpro-primary-700);
}

/* Replace Home text with home icon in breadcrumbs */
.woocommerce .woocommerce-breadcrumb a:first-child,
body.search .woocommerce-breadcrumb a:first-child {
    font-size: 0;
    width: 16px;
    height: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.woocommerce .woocommerce-breadcrumb a:first-child::before,
body.search .woocommerce-breadcrumb a:first-child::before {
    content: '';
    position: absolute;
    width: 16px;
    height: 16px;
    background-image: url('data:image/svg+xml;utf8,<svg width="24" height="24" viewBox="0 0 24 24" fill="%23075985" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M21 18.2501V9.90503C21 9.11408 20.6594 8.36143 20.0653 7.83932L13.8153 2.3469C12.7771 1.4345 11.2229 1.4345 10.1847 2.3469L3.93468 7.83932C3.34056 8.36143 3 9.11408 3 9.90503V18.2501C3 19.7689 4.23122 21.0001 5.75 21.0001H8.75C9.7165 21.0001 10.5 20.2166 10.5 19.2501V16.7501C10.5 16.0597 11.0596 15.5001 11.75 15.5001H12.25C12.9404 15.5001 13.5 16.0597 13.5 16.7501V19.2501C13.5 20.2166 14.2835 21.0001 15.25 21.0001H18.25C19.7688 21.0001 21 19.7689 21 18.2501ZM19.5 18.2501V9.90503C19.5 9.54551 19.3452 9.20339 19.0751 8.96607L12.8251 3.47365C12.3532 3.05892 11.6468 3.05892 11.1749 3.47365L4.92486 8.96607C4.6548 9.20339 4.5 9.54551 4.5 9.90503V18.2501C4.5 18.9405 5.05964 19.5001 5.75 19.5001H8.75C8.88807 19.5001 9 19.3882 9 19.2501V16.7501C9 15.2313 10.2312 14.0001 11.75 14.0001H12.25C13.7688 14.0001 15 15.2313 15 16.7501V19.2501C15 19.3882 15.1119 19.5001 15.25 19.5001H18.25C18.9404 19.5001 19.5 18.9405 19.5 18.2501Z"/></svg>');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

/* WooCommerce Shop & Archive Pages */
.woocommerce.archive,
.woocommerce-page {
	overflow-x: hidden;
}

.woocommerce main.woocommerce {
    min-height: 60vh;
    padding-bottom: 3rem;
}

/* ==============================
   WooCommerce My Account Layout
   ============================== */
.woocommerce-account .woocommerce {
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 2rem;
    align-items: start;
}

.woocommerce-MyAccount-navigation {
    background: #fff;
    border: 1px solid var(--vetpro-n-200);
    border-radius: 0;
    box-shadow: var(--vetpro-shadow-1);
    padding: 1rem;
    position: sticky;
    top: 100px;
}

.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; }
.woocommerce-MyAccount-navigation li { margin: 0; }
.woocommerce-MyAccount-navigation a {
    display: block;
    padding: 0.625rem 0.75rem;
    border-radius: 0;
    color: var(--vetpro-n-800);
    text-decoration: none;
    transition: background-color .15s ease, color .15s ease;
}
.woocommerce-MyAccount-navigation a:hover { background: var(--vetpro-n-50); color: var(--vetpro-primary-700); }
.woocommerce-MyAccount-navigation li.is-active > a { background: var(--vetpro-primary-50); color: var(--vetpro-primary-800); font-weight: 600; }

.woocommerce-MyAccount-content {
    background: #fff;
    border: 1px solid var(--vetpro-n-200);
    border-radius: 0;
    box-shadow: var(--vetpro-shadow-1);
    padding: 1.25rem;
}

/* Headings and details inside account content */
.woocommerce-account .woocommerce h2,
.woocommerce-account .woocommerce h3 { font-family: var(--vetpro-font-heading); font-weight: 600; color: var(--vetpro-n-900); }
.woocommerce-account table.shop_table { width:100%; border-radius: 0; overflow: hidden; }
.woocommerce-account table.shop_table .woocommerce-orders-table__cell { text-align:center}

@media (max-width: 1024px) {
  .woocommerce-account .woocommerce { grid-template-columns: 1fr; }
  .woocommerce-MyAccount-navigation { position: static; }
}

/* WooCommerce Account Form - Labels above inputs */
.woocommerce-account form .form-row {
    display: flex;
    flex-direction: column;
}

.woocommerce-account form .form-row label {
    order: -1;
    margin-bottom: 0.5rem;
    font-weight: 500;
    color: var(--vetpro-n-700);
}

.woocommerce-account form .form-row input {
    margin-bottom: 0;
}

/* My Account > Edit Account: show/hide password controls */
.woocommerce-account form .password-input { position: relative; display: block; }
.woocommerce-account form .password-input input { width: 100%; }
.woocommerce-account form .password-input .show-password-input {
    position: absolute;
    right: 0.5rem;
    top: 50%;
    transform: translateY(-50%);
    width: auto;
    height: 2rem;
    min-width: 3.5rem;
    border-radius: 0;
    background: var(--vetpro-primary-700);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.75rem;
    font-weight: 500;
    border: none;
    cursor: pointer;
    transition: background-color .15s ease;
    padding: 0 0.75rem;
}
.woocommerce-account form .password-input .show-password-input:hover { background: var(--vetpro-primary-800); }
.woocommerce-account form .password-input .show-password-input:focus-visible { box-shadow: var(--vetpro-focus-ring); outline: none; }
.woocommerce-account form .password-input .show-password-input::after { content: 'Näita'; }
/* When input is toggled to text, change label to Hide */
.woocommerce-account form .password-input input[type="text"] + .show-password-input::after { content: 'Peida'; }

/* Single product layout - responsive block-based approach */
.single-product .wp-block-columns {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 2rem !important;
	align-items: start !important;
}

.single-product .wp-block-column {
	width: 100% !important;
	max-width: 100% !important;
	flex-basis: auto !important;
}

/* Override any inline styles from block editor */
.single-product .wp-block-column[style*="flex-basis"] {
	flex-basis: auto !important;
}

.single-product .wp-block-column[style*="max-width"] {
	max-width: 100% !important;
}

.single-product .wp-block-column img[style*="max-width"] {
	max-width: 100% !important;
}

/* Image column - override any fixed widths */
.single-product .wp-block-column:first-child,
.single-product .wp-block-column.is-layout-flow:first-child {
	max-width: 100% !important;
	width: 100% !important;
}

/* Product images should be fully responsive */
.single-product .wp-block-column img,
.single-product .wp-block-woocommerce-product-image-gallery img,
.vetpro-product-gallery img {
	width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
}

/* Override WooCommerce core 512px constraint */
.single-product .wp-block-woocommerce-product-image-gallery {
	max-width: 100% !important;
	width: 100% !important;
	clear: none !important;
}

/* Hide PhotoSwipe elements completely - they're not needed since we have custom lightbox */
.pswp,
.pswp__ui,
.pswp__bg,
.pswp__scroll-wrap,
.pswp__container,
.pswp__item,
.pswp__img,
.pswp__top-bar,
.pswp__counter,
.pswp__button,
.pswp__caption,
.pswp__preloader,
.pswp__share-modal {
	display: none !important;
	visibility: hidden !important;
	opacity: 0 !important;
}

.woocommerce div.product {
	margin-top: 0 !important
}

/* Hide WooCommerce default gallery completely */
.woocommerce div.product .woocommerce-product-gallery,
.woocommerce-product-gallery,
.woocommerce-product-gallery__wrapper,
.woocommerce-product-gallery__image,
.woocommerce-product-gallery__trigger {
	display: none !important;
	opacity: 1 !important;
	visibility: hidden !important;
}

/* Hide WooCommerce Block Gallery content but keep container */
.wp-block-woocommerce-product-image-gallery .wc-block-product-gallery,
.wp-block-woocommerce-product-image-gallery .wc-block-product-gallery-large-image,
.wp-block-woocommerce-product-image-gallery .wc-block-product-gallery-thumbnails {
	display: none !important;
	visibility: hidden !important;
}
.wc-block-product img{
	border-radius: 0;
}

/* Show our gallery when it's inside the block container */
.wp-block-woocommerce-product-image-gallery.vetpro-gallery-container {
	display: block !important;
	visibility: visible !important;
}

.wp-block-woocommerce-product-image-gallery.vetpro-gallery-container .vetpro-product-gallery {
	display: flex !important;
	opacity: 1 !important;
	visibility: visible !important;
}

/* Ensure our custom gallery is visible */
.vetpro-product-gallery {
	display: flex !important;
	opacity: 1 !important;
	visibility: visible !important;
}

/* Override any WooCommerce grid layouts that might interfere */
.woocommerce div.product div.images {
	display: none !important;
}

.woocommerce div.product .product-gallery-wrapper,
.woocommerce div.product .product-images-column {
	display: block !important;
	width: 100% !important;
}

/* Product summary column */
.woocommerce div.product .summary {
	width: 100% !important;
	max-width: 100% !important;
	float: none !important;
	margin: 0 !important;
}

/* Main product title - Very specific selector to exclude related products */
.single-product .wp-block-column .wp-block-post-title:not(.woocommerce-loop-product__title):not(.wc-block-product .wp-block-post-title),
.single-product .wp-block-group .wp-block-post-title:not(.woocommerce-loop-product__title):not(.wc-block-product .wp-block-post-title),
.single-product > .wp-block-group > .wp-block-columns > .wp-block-column .wp-block-post-title:first-child,
.woocommerce div.product .product_title {
	font-family: var(--vetpro-font-heading) !important;
	font-size: 2.25rem !important;
	font-weight: 700 !important;
	color: var(--vetpro-n-900) !important;
	margin-bottom: 0.75rem !important;
	line-height: 1.2 !important;
}

/* Star rating */
.woocommerce .star-rating {
	margin-bottom: 1rem !important;
}

/* ==========================================
   Review Section Styling
   ========================================== */

/* Fix star rating links to look like actual stars */
.woocommerce #reviews .comment-form-rating {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	margin-bottom: 1.5rem;
}

.woocommerce #reviews .comment-form-rating label {
	font-weight: 600;
	color: var(--vetpro-n-700);
	margin-bottom: 0.5rem;
}

.woocommerce #reviews .stars {
	display: flex;
	gap: 0.25rem;
}

.woocommerce #reviews .stars a {
	text-decoration: none !important;
	color: #ddd !important;
	font-size: 1.25rem !important;
	transition: color 0.2s ease;
	position: relative;
}

.woocommerce #reviews .stars a::before {
	content: "★";
	display: inline-block;
}

.woocommerce #reviews .stars a:hover,
.woocommerce #reviews .stars a.active {
	color: #fbbf24 !important;
}

/* Star rating hover effect - simplified approach */
.woocommerce #reviews .stars a:hover {
	color: #fbbf24 !important;
}

/* Selected state */
.woocommerce #reviews .stars a.selected {
	color: #fbbf24 !important;
}

/* Fix review form layout */
.woocommerce #reviews #review_form #respond {
	margin-top: 2rem;
}

.woocommerce #reviews #review_form #respond .comment-form-comment {
	display: flex;
	flex-direction: column;
	margin-bottom: 1.5rem;
}

.woocommerce #reviews #review_form #respond .comment-form-comment label {
	font-weight: 600;
	color: var(--vetpro-n-700);
	margin-bottom: 0.5rem;
	order: 1;
}

.woocommerce #reviews #review_form #respond .comment-form-comment textarea {
	order: 2;
	width: 100%;
	min-height: 120px;
	padding: 0.75rem;
	border: 1px solid var(--vetpro-n-300);
	border-radius: 0;
	font-family: inherit;
	font-size: 0.875rem;
	line-height: 1.5;
	resize: vertical;
}

.woocommerce #reviews #review_form #respond .comment-form-comment textarea:focus {
	outline: none;
	border-color: var(--vetpro-primary-500);
	box-shadow: 0 0 0 3px rgb(59 130 246 / 0.1);
}

/* Submit button styling */
.woocommerce #reviews #review_form #respond .form-submit input {
	background: var(--vetpro-primary-500);
	color: white;
	border: none;
	padding: 0.75rem 1.5rem;
	border-radius: 0;
	font-weight: 600;
	cursor: pointer;
	transition: background-color 0.2s ease;
}

.woocommerce #reviews #review_form #respond .form-submit input:hover {
	background: var(--vetpro-primary-600);
}

/* Price - Legacy and Block-based */
.wp-block-woocommerce-product-price .wc-block-components-product-price,
.woocommerce div.product p.price {
	font-size: 1.25rem !important;
	font-weight: 600 !important;
	color: var(--vetpro-primary-700) !important;
	margin-bottom: 1.25rem !important;
}

/* Override block theme font size attributes */
.wp-block-woocommerce-product-price[data-font-size="large"] .wc-block-components-product-price {
	font-size: 1.25rem !important;
}

/* Product description - Legacy and Block-based */
.single-product .product-short-description-simple,
.single-product .wp-block-post-excerpt,
.woocommerce div.product .woocommerce-product-details__short-description {
	margin-bottom: 1.75rem !important;
	line-height: 1.6 !important;
	color: var(--vetpro-n-700) !important;
	font-size: 1rem !important;
}

.single-product .product-short-description-simple p,
.single-product .wp-block-post-excerpt p {
	margin-bottom: 0 !important;
}

/* Simple short description after add to cart */
.product-short-description-simple {
	margin-top: 1.5rem !important;
	line-height: 1.6 !important;
	color: var(--vetpro-n-700) !important;
}

.product-short-description-simple p {
	margin: 0 0 0.75rem 0 !important;
}

.product-short-description-simple p:last-child {
	margin-bottom: 0 !important;
}

/* Add to cart form - Legacy and Block-based */
.woocommerce div.product form.cart,
.wp-block-add-to-cart-form form.cart {
	margin-bottom: 2rem !important;
	display: flex !important;
	align-items: center !important;
	flex-wrap: wrap !important;
}

.woocommerce div.product form.cart .quantity,
.wp-block-add-to-cart-form form.cart .quantity {
	margin-right: 0 !important;
	flex-shrink: 0 !important;
}

.woocommerce div.product form.cart .quantity input,
.wp-block-add-to-cart-form form.cart .quantity input {
	width: 80px !important;
	text-align: center !important;
	border: 1px solid var(--vetpro-n-300) !important;
	border-radius: 0 !important;
	padding: 0.75rem 0.5rem !important;
}

.woocommerce div.product form.cart .single_add_to_cart_button,
.wp-block-add-to-cart-form form.cart .single_add_to_cart_button,
.wp-block-add-to-cart-form button.wp-element-button {
	background: var(--vetpro-primary-500) !important;
	color: white !important;
	border: none !important;
	padding: 0.75rem 2rem !important;
	border-radius: 0 !important;
	font-weight: 600 !important;
	font-size: 1rem !important;
	white-space: nowrap !important;
	min-width: fit-content !important;
	flex-shrink: 0 !important;
	cursor: pointer !important;
	transition: all 0.2s ease !important;
}

.woocommerce div.product form.cart .single_add_to_cart_button:hover,
.wp-block-add-to-cart-form form.cart .single_add_to_cart_button:hover,
.wp-block-add-to-cart-form button.wp-element-button:hover {
	background: var(--vetpro-primary-600) !important;
	transform: translateY(-1px) !important;
}

@media (max-width: 360px){
	.wc-block-product-template__responsive.columns-3,
	.wc-block-product-template__responsive.columns-4 {
		grid-template-columns: 1fr;
		gap: 1rem;
	}
}

/* Responsive add to cart form - mobile */
@media (max-width: 768px) {
	/* Reduce price spacing on mobile */
	.wp-block-woocommerce-product-price .wc-block-components-product-price,
	.woocommerce div.product p.price {
		margin-bottom: 0.75rem !important;
	}

	/* Reduce gaps in variations form on mobile */
	.variations_form .variations tr {
		margin-bottom: 1rem !important;
	}

	.variations_form .variations th.label {
		margin-bottom: 0.25rem !important;
	}

	/* Reduce gap between quantity and button */
	.woocommerce-variation-add-to-cart {
		gap: 0.5rem !important;
		margin-top: 1rem !important;
	}

	/* Make add to cart button fit properly */
	.woocommerce div.product form.cart .single_add_to_cart_button,
	.wp-block-add-to-cart-form form.cart .single_add_to_cart_button,
	.wp-block-add-to-cart-form button.wp-element-button,
	.woocommerce-variation-add-to-cart .single_add_to_cart_button {
		flex: 1 !important;
		min-width: 0 !important;
		padding: 0.75rem 1rem !important;
		font-size: 0.875rem !important;
	}
}

@media (max-width: 480px) {
	.woocommerce div.product form.cart,
	.wp-block-add-to-cart-form form.cart {
		flex-direction: column !important;
		align-items: stretch !important;
		gap: 0 !important;
	}

	.woocommerce div.product form.cart .quantity,
	.wp-block-add-to-cart-form form.cart .quantity {
		align-self: flex-start !important;
	}

	.woocommerce div.product form.cart .single_add_to_cart_button,
	.wp-block-add-to-cart-form form.cart .single_add_to_cart_button,
	.wp-block-add-to-cart-form button.wp-element-button {
		width: 100% !important;
		text-align: center !important;
		padding: 1rem 2rem !important;
	}

	/* Further reduce gaps on very small screens */
	.variations_form .variations tr {
		margin-bottom: 0.75rem !important;
	}

	.woocommerce-variation-add-to-cart {
		gap: 0.5rem !important;
		margin-top: 0.75rem !important;
	}
}

/* Product meta (SKU, categories, tags) */
.woocommerce div.product .product_meta {
	border-top: 1px solid var(--vetpro-n-200) !important;
	padding-top: 1.5rem !important;
	margin-top: 2rem !important;
	font-size: 0.875rem !important;
	color: var(--vetpro-n-600) !important;
}

.woocommerce div.product .product_meta > span {
	display: block !important;
	margin-bottom: 0.5rem !important;
}

.woocommerce div.product .product_meta a {
	color: var(--vetpro-primary-700) !important;
	text-decoration: none !important;
}

.woocommerce div.product .product_meta a:hover {
	color: var(--vetpro-primary-800) !important;
	text-decoration: underline !important;
}

/* Product tabs */
.woocommerce div.product .woocommerce-tabs {
	margin-top: 3rem !important;
}

.woocommerce div.product .woocommerce-Tabs-panel {
	margin-bottom: 3rem !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
	border-bottom: 1px solid var(--vetpro-n-200) !important;
	margin-bottom: 2rem !important;
	padding: 0 !important;
	list-style: none !important;
	display: flex !important;
	gap: 2rem !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
	margin: 0 !important;
	background: none !important;
	border: none !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	padding: 1rem 0 !important;
	color: var(--vetpro-n-600) !important;
	text-decoration: none !important;
	font-weight: 500 !important;
	border-bottom: 2px solid transparent !important;
	transition: all 0.2s ease !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
	color: var(--vetpro-primary-700) !important;
	border-bottom-color: var(--vetpro-primary-700) !important;
}

/* Related products */
.woocommerce div.product .related {
	margin-top: 5rem !important;
}

/* Mobile responsive */
@media (max-width: 768px) {
	/* Legacy mobile gallery styles removed - using custom gallery */

	.single-product .wp-block-column .wp-block-post-title:not(.woocommerce-loop-product__title):not(.wc-block-product .wp-block-post-title),
	.single-product .wp-block-group .wp-block-post-title:not(.woocommerce-loop-product__title):not(.wc-block-product .wp-block-post-title),
	.single-product > .wp-block-group > .wp-block-columns > .wp-block-column .wp-block-post-title:first-child,
	.woocommerce div.product .product_title {
		font-size: 1.75rem !important;
	}

	.wp-block-woocommerce-product-price .wc-block-components-product-price,
	.woocommerce div.product p.price {
		font-size: 1.125rem !important;
	}

	.woocommerce .woocommerce-breadcrumb {
		font-size: 0.75rem !important;
	}
	body.tax-product_cat .woocommerce-breadcrumb{
		padding: 1rem 1rem 0.5rem 1rem;
	}
}

/* Fix any wrapper width issues */
.single-product .woocommerce-notices-wrapper,
.single-product .wc-block-components-notice-banner {
	max-width: 1440px !important;
	margin: 0 auto 2rem auto !important;
}

/* ==========================================
   Accessibility Enhancements
   ========================================== */

/* Skip to content link */
.skip-link {
	position: absolute;
	left: -9999px;
	top: 1rem;
	z-index: 999999;
	background: var(--vetpro-primary-800);
	color: white;
	padding: 0.75rem 1rem;
	text-decoration: none;
	border-radius: 0;
	font-weight: 600;
}

.skip-link:focus {
	left: 1rem;
}

/* Keyboard navigation indicators */
.wp-block-navigation-item a:focus,
.wp-block-navigation-submenu button:focus {
	box-shadow: var(--vetpro-focus-ring);
	outline: none;
}

/* High contrast mode support */
@media (prefers-contrast: high) {
	:root {
		--vetpro-primary-700: #0a3d91;
		--vetpro-primary-800: #082c6b;
		--vetpro-n-600: #2a2a2a;
		--vetpro-n-700: #1a1a1a;
	}

	.product-card,
	.card,
	.wp-block-group.is-style-card {
		border-width: 2px;
	}
}

/* ==========================================
   Loading States & Animations
   ========================================== */

.loading {
	opacity: 0.6;
	pointer-events: none;
	position: relative;
}

.loading::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 1.5rem;
	height: 1.5rem;
	margin: -0.75rem 0 0 -0.75rem;
	border: 2px solid var(--vetpro-n-300);
	border-top-color: var(--vetpro-primary-600);
	border-radius: 0;
	animation: spin 1s linear infinite;
}

@keyframes spin {
	to {
		transform: rotate(360deg);
	}
}

/* Lazy loading images */
img[loading="lazy"] {
	transition: opacity 0.3s ease;
}

img[loading="lazy"]:not([src]) {
	opacity: 0;
}

/* ==========================================
   Print Styles
   ========================================== */

@media print {
	.site-header,
	.subnav,
	footer,
	.newsletter-section,
	.quick-order {
		display: none;
	}

	body {
		font-size: 12pt;
		line-height: 1.4;
	}

	.product-card,
	.category-card {
		break-inside: avoid;
		border: 1px solid #ccc;
		margin-bottom: 1rem;
	}
}

/* ==========================================
   Custom Product Gallery
   ========================================== */

/* Single Product Layout */
.single-product-layout {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 3rem;
	max-width: 1440px;
	margin: 0 auto;
	padding: 2rem 1rem;
}

/* Tabs styling - now outside the grid layout */
.woocommerce div.product .woocommerce-tabs {
	max-width: 1440px;
	margin: 3rem auto 0;
	clear: both;
	width: 100%;
}

/* Ensure tab content is properly hidden/shown */
.woocommerce div.product .woocommerce-tabs .panel {
	display: none;
}

.woocommerce div.product .woocommerce-tabs .panel.active {
	display: block;
}

/* Fix tab navigation */
.woocommerce div.product .woocommerce-tabs ul.tabs {
	display: flex;
	border-bottom: 1px solid var(--vetpro-n-200);
	margin: 0;
	padding: 0;
	list-style: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
	margin-right: 1rem;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	padding: 1rem 1.5rem;
	display: block;
	text-decoration: none;
	border-bottom: 2px solid transparent;
	transition: all 0.3s ease;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
	border-bottom-color: var(--vetpro-primary-600);
	color: var(--vetpro-primary-600);
}

/* Product Gallery Container */
.vetpro-product-gallery {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	width: 100%;
}

/* Main Image */
.vetpro-gallery-main {
	width: 100%;
}

.vetpro-main-image-container {
	position: relative;
	width: 100%;
	background: var(--vetpro-n-50);
	border-radius: 0;
	overflow: hidden;
	cursor: pointer;
}

.vetpro-main-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.3s ease !important;
	max-width: 100%;
	max-height: 100%;
	position: relative;
	z-index: 1;
}

.vetpro-main-image:hover {
	transform: scale(1.05);
}

/* Thumbnails Grid */
.vetpro-gallery-thumbs {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(80px, 1fr));
	gap: 0.5rem;
	max-width: 100%;
}

.vetpro-thumb-wrapper {
	position: relative;
	border-radius: 0;
	overflow: hidden;
	cursor: pointer;
	border: 2px solid transparent;
	transition: all 0.3s ease;
	background: var(--vetpro-n-100);
}

.vetpro-thumb-wrapper:hover {
	border-color: var(--vetpro-primary-300);	
	box-shadow: var(--vetpro-shadow-2);
}

.vetpro-thumb-wrapper.active {
	border-color: var(--vetpro-primary-600);
	box-shadow: var(--vetpro-shadow-soft);
}

.vetpro-thumb-image {
	width: 100%;
	height: 100%;
	max-height:70px;
	object-fit: cover;
	display: block;
	transition: opacity 0.3s ease;
}

/* Lightbox */
.vetpro-lightbox {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 999999;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(0, 0, 0, 0);
	visibility: hidden;
	opacity: 0;
	transition: visibility 0s linear 0.3s, opacity 0.3s ease, background-color 0.3s ease;
}

.vetpro-lightbox.open {
	visibility: visible;
	opacity: 1;
	background: rgba(0, 0, 0, 0.9);
	transition: visibility 0s linear 0s, opacity 0.3s ease, background-color 0.3s ease;
}

.vetpro-lightbox-backdrop {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	cursor: pointer;
	z-index: 1;
	pointer-events: auto;
}

/* Handle click-to-close on lightbox itself, but allow content to block propagation */
.vetpro-lightbox {
	cursor: pointer;
}

.vetpro-lightbox-container {
	cursor: default;
}

.vetpro-lightbox-container {
	position: relative;
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-between;
	padding: 60px 60px 20px;
	box-sizing: border-box;
	opacity: 0;
	transform: scale(0.9);
	transition: opacity 0.3s ease, transform 0.3s ease;
	z-index: 2;
	pointer-events: none;
}

.vetpro-lightbox.open .vetpro-lightbox-container {
	opacity: 1;
	transform: scale(1);
}

.vetpro-lightbox-content {
	position: relative;
	max-width: 90vw;
	max-height: calc(100vh - 200px);
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 1;
	pointer-events: auto;
}

.vetpro-lightbox-image {
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
	border-radius: 0;
}

/* Lightbox Controls */
.vetpro-lightbox-close,
.vetpro-lightbox-prev,
.vetpro-lightbox-next {
	position: absolute;
	background: rgba(255, 255, 255, 0.9);
	border: none;
	border-radius: 0;
	width: 48px;
	height: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	font-size: 18px;
	font-weight: bold;
	color: var(--vetpro-n-800);
	transition: all 0.3s ease;
	backdrop-filter: blur(8px);
	z-index: 10002;
	pointer-events: auto;
}

.vetpro-lightbox-close::after {
	content: "×";
}

.vetpro-lightbox-prev::after {
	content: "‹";
}

.vetpro-lightbox-next::after {
	content: "›";
}

.vetpro-lightbox-close:hover,
.vetpro-lightbox-prev:hover,
.vetpro-lightbox-next:hover {
	background: rgba(255, 255, 255, 1);
}

.vetpro-lightbox-close {
	top: 10px;
	right: 10px;
}

.vetpro-lightbox-prev {
	top: calc(50% - 24px);
	left: 10px;
}

.vetpro-lightbox-next {
	top: calc(50% - 24px);
	right: 10px;
}

/* Lightbox Thumbnails */
.vetpro-lightbox-thumbs {
	display: flex;
	gap: 0.5rem;
	justify-content: center;
	flex-wrap: wrap;
	max-width: 100%;
	z-index: 10002;
	position: relative;
	min-height: 60px;
	flex-shrink: 0;
	pointer-events: auto;
}

.vetpro-lightbox-thumb {
	width: 60px;
	height: 60px;
	border-radius: 0;
	overflow: hidden;
	cursor: pointer;
	border: 2px solid transparent;
	transition: all 0.3s ease;
	z-index: 10002;
	position: relative;
}

.vetpro-lightbox-thumb.active {
	border-color: var(--vetpro-primary-400);
}

.vetpro-lightbox-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Gallery Placeholder */
.vetpro-gallery-placeholder {
	width: 100%;
	min-height: 300px;
	aspect-ratio: 4/3;
	background: var(--vetpro-n-100);
	border-radius: 0;
	display: flex !important;
	align-items: center;
	justify-content: center;
	color: var(--vetpro-n-400);
	font-size: 1.1rem;
	border: 2px dashed var(--vetpro-n-300);
}

/* Gallery container styling */
.product-gallery-wrapper,
.product-images-column {
	width: 100%;
}

/* Responsive Design */
@media (max-width: 768px) {
	/* Mobile responsive - stack columns vertically */
	.single-product .wp-block-columns {
		grid-template-columns: 1fr !important;
		gap: 1.5rem !important;
	}

	.single-product-layout {
		grid-template-columns: 1fr;
		gap: 2rem;
		padding: 1rem;
	}

	.vetpro-gallery-thumbs {
		grid-template-columns: repeat(auto-fit, minmax(60px, 1fr));
	}

	.vetpro-lightbox-container {
		padding: 50px 10px 100px;
	}

	.vetpro-lightbox-content {
		max-width: 95vw;
		max-height: 65vh;
	}
}

@media (max-width: 480px) {
	.vetpro-lightbox-prev,
	.vetpro-lightbox-next,
	.vetpro-lightbox-close {
		width: 40px;
		height: 40px;
		font-size: 1.2rem;
	}

	.vetpro-lightbox-container {
		padding: 40px 5px 80px;
	}

	.vetpro-lightbox-content {
		max-width: 98vw;
		max-height: 60vh;
	}
}

/* ==========================================
   My Account / Login / Registration Page
   ========================================== */

/* Override WooCommerce's default grid on the main wrapper */
/* .woocommerce-account .woocommerce {
	display: block !important;
}
 */
/* WooCommerce notices should be full-width above the form */
.woocommerce-account .woocommerce-notices-wrapper {
	max-width: 1100px;
	margin: 0 auto 2rem;
	padding: 0 1rem;
	width: 100%;
}

/* Container for login and registration forms */
.woocommerce-account .u-columns.col2-set {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 3rem;
	max-width: 1100px;
	margin: 0 auto;
	padding: 2rem 1rem;
}

/* Individual column styling */
.woocommerce-account .u-column1,
.woocommerce-account .u-column2 {
	background: #fff;
	padding: 2.5rem;
	border: 1px solid var(--vetpro-n-200);
	border-radius: 8px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

/* Headings */
.woocommerce-account .u-column1 h2,
.woocommerce-account .u-column2 h2 {
	font-size: 1.75rem;
	font-weight: 600;
	color: var(--vetpro-primary-800);
	margin-bottom: 1.5rem;
	padding-bottom: 1rem;
	border-bottom: 2px solid var(--vetpro-primary-100);
}

/* Form rows */
.woocommerce-account .woocommerce-form-row {
	margin-bottom: 1.25rem;
}

/* Labels */
.woocommerce-account .woocommerce-form-row label {
	display: block;
	font-weight: 500;
	color: var(--vetpro-n-700);
	margin-bottom: 0.5rem;
	font-size: 0.95rem;
}

/* Required asterisk */
.woocommerce-account .required {
	color: var(--vetpro-error-500);
}

/* Input fields */
.woocommerce-account .woocommerce-Input,
.woocommerce-account .input-text {
	width: 100%;
	padding: 0.75rem 1rem;
	border: 1px solid var(--vetpro-n-300);
	border-radius: 4px;
	font-size: 1rem;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
	background: #fff;
}

.woocommerce-account .woocommerce-Input:focus,
.woocommerce-account .input-text:focus {
	outline: none;
	border-color: var(--vetpro-primary-500);
	box-shadow: 0 0 0 3px rgba(12, 192, 223, 0.1);
}

/* Password input wrapper */
.woocommerce-account .password-input {
	position: relative;
	display: flex;
	align-items: center;
}

.woocommerce-account .show-password-input {
	position: absolute;
	right: 0.75rem;
	background: transparent;
	border: none;
	cursor: pointer;
	padding: 0.5rem;
	color: var(--vetpro-n-500);
	font-size: 1rem;
}

.woocommerce-account .show-password-input:hover {
	color: var(--vetpro-primary-600);
}

/* Remember me checkbox */
.woocommerce-account .woocommerce-form__label-for-checkbox {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-weight: 400;
	cursor: pointer;
}

.woocommerce-account .woocommerce-form__input-checkbox {
	width: auto;
	margin: 0;
	cursor: pointer;
}

/* Buttons */
.woocommerce-account .woocommerce-button,
.woocommerce-account .woocommerce-Button,
.woocommerce-account button[type="submit"] {
	width: 100%;
	padding: 0.875rem 1.5rem;
	background: var(--vetpro-primary-600);
	color: #fff;
	border: none;
	border-radius: 4px;
	font-size: 1rem;
	font-weight: 600;
	cursor: pointer;
	transition: background-color 0.2s ease, transform 0.1s ease;
	margin-top: 0.5rem;
}

.woocommerce-account .woocommerce-button:hover,
.woocommerce-account .woocommerce-Button:hover,
.woocommerce-account button[type="submit"]:hover {
	background: var(--vetpro-primary-700);
	transform: translateY(-1px);
}

.woocommerce-account .woocommerce-button:active,
.woocommerce-account .woocommerce-Button:active,
.woocommerce-account button[type="submit"]:active {
	transform: translateY(0);
}

/* Lost password link */
.woocommerce-account .lost_password {
	text-align: center;
	margin-top: 1rem;
	font-size: 0.9rem;
}

.woocommerce-account .lost_password a {
	color: var(--vetpro-primary-600);
	text-decoration: none;
	transition: color 0.2s ease;
}

.woocommerce-account .lost_password a:hover {
	color: var(--vetpro-primary-800);
	text-decoration: underline;
}

/* Description text (for password reset message) */
.woocommerce-account .u-column2 > p {
	font-size: 0.9rem;
	color: var(--vetpro-n-600);
	margin-bottom: 1.5rem;
	padding: 0.75rem 1rem;
	background: var(--vetpro-primary-50);
	border-left: 3px solid var(--vetpro-primary-500);
	border-radius: 4px;
}

/* Field description (for company ID) */
.woocommerce-account .description {
	display: block;
	font-size: 0.85rem;
	color: var(--vetpro-n-500);
	margin-top: 0.375rem;
	font-style: italic;
}

/* Privacy policy text */
.woocommerce-account .woocommerce-privacy-policy-text {
	font-size: 0.85rem;
	color: var(--vetpro-n-600);
	margin-top: 1rem;
	padding-top: 1rem;
	border-top: 1px solid var(--vetpro-n-200);
}

.woocommerce-account .woocommerce-privacy-policy-link {
	color: var(--vetpro-primary-600);
	text-decoration: none;
}

.woocommerce-account .woocommerce-privacy-policy-link:hover {
	text-decoration: underline;
}

/* Error messages */
.woocommerce-account .woocommerce-error {
	background: var(--vetpro-error-50);
	border-left: 3px solid var(--vetpro-error-500);
	padding: 1rem 1.25rem;
	margin-bottom: 1.5rem;
	border-radius: 4px;
	color: var(--vetpro-error-700);
}

/* Success messages */
.woocommerce-account .woocommerce-message {
	background: var(--vetpro-success-50);
	border-left: 3px solid var(--vetpro-success-500);
	padding: 1rem 1.25rem;
	margin-bottom: 1.5rem;
	border-radius: 4px;
	color: var(--vetpro-success-700);
}

/* Page title */
.woocommerce-account .entry-header {
	max-width: 1100px;
	margin: 0 auto 2rem;
	padding: 0 1rem;
}

.woocommerce-account .entry-title {
	font-size: 2.5rem;
	font-weight: 700;
	color: var(--vetpro-primary-800);
	margin-bottom: 0.5rem;
}

/* Responsive: Tablet */
@media (max-width: 900px) {
	.woocommerce-account .u-columns.col2-set {
		grid-template-columns: 1fr;
		gap: 2rem;
		max-width: 600px;
	}

	.woocommerce-account .entry-title {
		font-size: 2rem;
	}
}

/* Responsive: Mobile */
@media (max-width: 600px) {
	.woocommerce-account .u-column1,
	.woocommerce-account .u-column2 {
		padding: 1.5rem;
	}

	.woocommerce-account .u-column1 h2,
	.woocommerce-account .u-column2 h2 {
		font-size: 1.5rem;
	}

	.woocommerce-account .entry-title {
		font-size: 1.75rem;
	}
}

/* Focus visible for accessibility */
.woocommerce-account *:focus-visible {
	outline: 2px solid var(--vetpro-primary-500);
	outline-offset: 2px;
}

/* ==========================================
   Single Product - Hide Tabs Section
   ========================================== */

.woocommerce-tabs,
.wc-tabs-wrapper,
.woocommerce-Tabs-panel {
	display: none !important;
}

/* Add spacing for related products section */
.related.products,
.wp-block-woocommerce-product-collection {
	margin-top: 4rem !important;
}

/* Related products heading spacing */
.related.products h2/* ,
.wp-block-heading */ {
	margin-top: 0;
}

/* ==========================================
   Product Variations - Fix Layout
   ========================================== */

/* Make variations form stack vertically */
.variations_form.cart {
	display: block !important;
}

/* Variations table - completely remove table layout */
.variations_form .variations {
	width: 100%;
	display: block !important;
	border: none !important;
}

.variations_form .variations tbody {
	display: block !important;
}

.variations_form .variations tr {
	display: block !important;
	border: none !important;
}

.variations_form .variations td,
.variations_form .variations th {
	display: block !important;
	padding: 0 !important;
	border: none !important;
	text-align: left !important;
}

.variations_form .variations th.label {
	font-weight: 600;
	font-size: 1rem;
	margin-bottom: 0.5rem;
	color: var(--vetpro-n-900);
}

.variations_form .variations td.value {
	width: 100%;
}

.variations_form .variations select {
	width: 100%;
	max-width: 600px;
	padding: 0.75rem 1rem;
	border: 1px solid var(--vetpro-n-300);
	border-radius: 4px;
	font-size: 1rem;
	background-color: white;
}

/* Add to cart section - stack vertically */
.single_variation_wrap {
	display: block !important;
}

/* Hide the redundant variation price since we update the main price */
.single_variation_wrap .woocommerce-variation-price {
	display: none !important;
}

.woocommerce-variation-add-to-cart {
	display: flex !important;
	flex-direction: row;
	gap: 1rem;
	align-items: center;
}

/* Quantity and button on same row for variations */
.woocommerce-variation-add-to-cart .quantity {
	margin: 0;
}

/* Reset variations link */
.reset_variations {
	margin-left: 1rem;
	font-size: 0.875rem;
	text-decoration: underline;
}


/* Hide stock badge in related products */
.related-products-section .stock-badge {
	display: none !important;
}

/* ==========================================
   Responsive Typography - Mobile Headings
   ========================================== */

/* Related products responsive padding */
.related-products-wrapper {
	padding: 3rem 1.5rem;
	background-color: #fff;
}

/* Tablet and below - reduce heading sizes */
@media (max-width: 768px) {
	.shop-page-title,
	.vetpro-banner-content h2,
	.woocommerce-account .entry-title {
		font-size: 1.875rem; /* 30px instead of 40px */
	}

	h1 {
		font-size: 1.875rem !important;
	}

	/* Related products - 2 columns on tablet */
	.related-products-wrapper .wp-block-post-template {
		grid-template-columns: repeat(2, 1fr) !important;
	}

	/* Reduce padding on mobile */
	.related-products-wrapper {
		padding: 2rem 1rem;
	}
	.related.products,
	.wp-block-woocommerce-product-collection {
	padding-top: 1.5rem;
}

}

/* Mobile - further reduce heading sizes */
@media (max-width: 480px) {
	.shop-page-title,
	.vetpro-banner-content h2,
	.woocommerce-account .entry-title {
		font-size: 1.5rem; /* 24px */
	}

	h1 {
		font-size: 1.5rem !important;
	}

	/* Related products - 2 columns on mobile */
	.related-products-wrapper .wp-block-post-template {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 1rem !important;
	}

	/* Further reduce padding on mobile */
	.related-products-wrapper {
		padding: 1.5rem 0.75rem;
	}

	/* Adjust related product title size */
	.related-products-wrapper .wp-block-post-title {
		font-size: 1rem !important;
	}
}

/* ==========================================
   My Account Page - Login/Register Layout Fix
   ========================================== */

/* Hide the empty notices wrapper that creates awkward spacing */
.woocommerce-account .woocommerce-notices-wrapper:empty {
	display: none;
}

/* Override the sidebar grid layout for login/register page (logged out users) */
.woocommerce-account .woocommerce:has(#customer_login) {
	display: block !important;
	grid-template-columns: none !important;
	max-width: 1200px;
	margin: 0 auto;
}

/* Center and properly space the login/register forms */
.woocommerce-account #customer_login {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 3rem;
	max-width: 1000px;
	margin: 0 auto;
}

/* Reset default WooCommerce column styles */
.woocommerce-account #customer_login .u-column1,
.woocommerce-account #customer_login .u-column2 {
	width: 100%;
	float: none;
	margin: 0;
}

/* Single column on mobile */
@media (max-width: 768px) {
	.woocommerce-account #customer_login {
		grid-template-columns: 1fr;
		gap: 2rem;
	}
}

