/* ========================================
   ONEOFONE COLLECTABLES - BASE STYLES
   ======================================== */

/* ----------------------------------------
   BUTTON SYSTEM - Consistent & Accessible
   ---------------------------------------- */

/* Primary Button - Brand Color */
.btn-primary,
button[type='submit'],
.woocommerce button.button,
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce a.checkout-button.button.alt,
.woocommerce-cart table.cart td.actions .button.alt,
.wc-proceed-to-checkout a.button.alt.wc-forward {
	background: #0d1b2a !important;
	background-color: #0d1b2a !important;
	color: #ffffff !important;
	border: 2px solid #0d1b2a !important;
	border-color: #0d1b2a !important;
	padding: 12px 24px !important;
	border-radius: 6px !important;
	font-weight: 600 !important;
	font-size: 0.9rem !important;
	cursor: pointer !important;
	transition: all 0.3s ease !important;
	text-decoration: none !important;
	display: inline-block !important;
	line-height: 1.2 !important;
}

.btn-primary:hover,
button[type='submit']:hover,
.woocommerce button.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce #respond input#submit.alt:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce a.checkout-button.button.alt:hover {
	background: #1a2332 !important;
	color: #ffffff !important;
	border-color: #1a2332 !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 4px 12px rgba(13, 27, 42, 0.3) !important;
}

/* Secondary Button - Outline Style */
.btn-secondary {
	background: transparent !important;
	color: #0d1b2a;
	border: 2px solid #0d1b2a;
	padding: 12px 24px !important;
	border-radius: 6px !important;
	font-weight: 600 !important;
	font-size: 0.9rem !important;
	cursor: pointer !important;
	transition: all 0.3s ease !important;
	text-decoration: none !important;
	display: inline-block !important;
	line-height: 1.2 !important;
}

.btn-secondary:hover {
	/* Subtle hover for secondary buttons - avoid forcing colors globally.
	   Specific contexts (modals/filters) should override when needed. */
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(13, 27, 42, 0.08);
}

/* Danger Button - Delete/Remove Actions */
.btn-danger {
	background: #dc3545 !important;
	color: #ffffff !important;
	border: 2px solid #dc3545 !important;
	padding: 12px 24px !important;
	border-radius: 6px !important;
	font-weight: 600 !important;
	font-size: 0.9rem !important;
	cursor: pointer !important;
	transition: all 0.3s ease !important;
	text-decoration: none !important;
	display: inline-block !important;
	line-height: 1.2 !important;
}

.btn-danger:hover {
	background: #c82333 !important;
	color: #ffffff !important;
	border-color: #c82333 !important;
	transform: translateY(-2px) !important;
}

/* Small Button Variant */
.btn-sm {
	padding: 8px 16px !important;
	font-size: 0.8rem !important;
}

/* Large Button Variant */
.btn-lg {
	padding: 16px 32px !important;
	font-size: 1.1rem !important;
}

/* ----------------------------------------
   FORM ELEMENTS - Consistent Styling
   ---------------------------------------- */

input[type='text'],
input[type='email'],
input[type='password'],
input[type='number'],
input[type='search'],
textarea,
select {
	padding: 12px !important;
	border: 2px solid #e9ecef !important;
	border-radius: 6px !important;
	font-size: 1rem !important;
	transition: border-color 0.3s ease !important;
	background: #ffffff !important;
	color: #374151 !important;
}

input[type='text']:focus,
input[type='email']:focus,
input[type='password']:focus,
input[type='number']:focus,
input[type='search']:focus,
textarea:focus,
select:focus {
	border-color: #0d1b2a;
	outline: none !important;
	box-shadow: 0 0 0 3px rgba(13, 27, 42, 0.1) !important;
}

/* ----------------------------------------
   UTILITY CLASSES
   ---------------------------------------- */

/* Text Colors */
.text-primary {
	color: #0d1b2a;
}
.text-secondary {
	color: #6c757d !important;
}
.text-success {
	color: #28a745 !important;
}
.text-danger {
	color: #dc3545 !important;
}
.text-white {
	color: #ffffff !important;
}

/* Background Colors */
.bg-primary {
	background: #0d1b2a;
	color: #ffffff !important;
}
.bg-light {
	background: #f8f9fa !important;
	color: #374151 !important;
}
.bg-white {
	background: #ffffff !important;
}

/* Spacing Utilities */
.mb-0 {
	margin-bottom: 0 !important;
}
.mb-1 {
	margin-bottom: 0.5rem !important;
}
.mb-2 {
	margin-bottom: 1rem !important;
}
.mb-3 {
	margin-bottom: 1.5rem !important;
}
.mb-4 {
	margin-bottom: 2rem !important;
}

.mt-0 {
	margin-top: 0 !important;
}
.mt-1 {
	margin-top: 0.5rem !important;
}
.mt-2 {
	margin-top: 1rem !important;
}
.mt-3 {
	margin-top: 1.5rem !important;
}
.mt-4 {
	margin-top: 2rem !important;
}

/* ----------------------------------------
   LAYOUT UTILITIES & SITE-WIDE FIXES
   ---------------------------------------- */

/* Ensure consistent main content spacing across all pages */
.site-main,
.site-content {
	margin: 0 !important;
	padding: 0 !important;
}

/* Remove any parent theme padding/margins that restrict full width */
.site,
.site-header,
.site-footer,
.content-area {
	margin: 0 !important;
	padding: 0 !important;
}

/* Generic Container - Match production site */
.container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
	width: 100%;
	box-sizing: border-box;
}

/* Override parent theme's col-full width restriction */
.col-full {
	max-width: none !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	width: 100% !important;
}

/* Full width page layout overrides - Remove all padding/margin restrictions */
body.page-template-default,
body.home,
body {
	padding: 0 !important;
	margin: 0 !important;
	background: #ffffff !important;
}

/* Ensure no parent theme containers restrict width - Make truly full width */
.site-content,
.content-area,
.hfeed,
.site-main,
.site,
.site-inner {
	width: 100% !important;
	max-width: none !important;
	padding: 0 !important;
	margin: 0 !important;
	box-sizing: border-box !important;
}

/* Override parent theme spacing */
.storefront-child body,
.storefront-child .site,
.storefront-child .site-content {
	margin: 0;
	padding: 0;
}

/* Fix any inherited margins from parent theme */
.woocommerce-breadcrumb,
.entry-header {
	margin: 0 !important;
}

/* ----------------------------------------
   CTA BUTTONS - Specialized Button Styles
   ---------------------------------------- */

.cta-button,
.browse-all-btn,
.view-all-btn {
	background: #0d1b2a;
	color: #ffffff !important;
	padding: 16px 32px;
	border-radius: 8px;
	text-decoration: none;
	font-weight: 600;
	font-size: 1.1rem;
	display: inline-block;
	transition: background 0.3s ease;
}

.cta-button:hover,
.browse-all-btn:hover,
.view-all-btn:hover {
	background: #1a2332;
	transform: translateY(-2px);
}

/* ----------------------------------------
   FOCUS & ACCESSIBILITY
   ---------------------------------------- */

input:focus,
select:focus,
textarea:focus,
.woocommerce a:not(.header-shop-btn):not(.todays-drop-btn):not(.button):not(.checkout-button),
.woocommerce-page a:not(.header-shop-btn):not(.todays-drop-btn):not(.button):not(.checkout-button) {
	color: #0d1b2a;
	outline-color: #0d1b2a;
}

.woocommerce .product .price,
.woocommerce .product .price .amount,
.entry-title:not(.header-shop-btn):not(.todays-drop-btn),
.page-title:not(.header-shop-btn):not(.todays-drop-btn) {
	color: #0d1b2a;
}

/* ----------------------------------------
   ADMIN UTILITIES
   ---------------------------------------- */

/* Hide admin edit links for non-admin users */
body:not(.logged-in-admin) .edit-link,
body:not(.logged-in-admin) .post-edit-link,
body:not(.logged-in-admin) .page-edit-link,
body:not(.logged-in-admin) a[href*='post.php?post='],
body:not(.logged-in-admin) a[href*='action=edit'] {
	display: none !important;
}

/* ----------------------------------------
   MOBILE OPTIMIZATIONS
   ---------------------------------------- */

/* Ensure touch-friendly button sizes */
@media (max-width: 768px) {
	.btn-primary,
	.btn-secondary,
	.btn-danger,
	button[type='submit'],
	.woocommerce button.button,
	.woocommerce #respond input#submit,
	.woocommerce a.button {
		min-height: 44px !important;
		min-width: 44px !important;
		padding: 12px 24px !important;
		font-size: 1rem !important;
	}

	/* Ensure consistent container padding on mobile */
	.container {
		padding: 0 15px;
	}
}
