/**
 * Kessick Wine Cellars — accessibility overlays (no palette or typography changes).
 *
 * Uses scrims, text-shadow, and focus rings on top of the existing Elementor
 * color scheme (#4C412A, #8D794E, #786741, #040000).
 */

:root {
	--kessick-brand-dark: #040000;
	--kessick-brand-gold: #4c412a;
	--kessick-brand-accent: #8d794e;
	--kessick-touch-min: 44px;
	--kessick-focus-ring: 0 0 0 3px #ffffff, 0 0 0 6px #4c412a;
	--kessick-text-shadow: 0 1px 3px rgba(4, 0, 0, 0.65), 0 2px 8px rgba(4, 0, 0, 0.45);
	--kessick-btn-text-shadow: 0 1px 2px rgba(4, 0, 0, 0.5), 0 0 1px rgba(4, 0, 0, 0.35);
}

/* -------------------------------------------------------------------------- */
/* Skip link (injected via PHP)                                               */
/* -------------------------------------------------------------------------- */

.kessick-skip-link {
	position: absolute;
	top: -100%;
	left: 50%;
	transform: translateX(-50%);
	z-index: 100000;
	padding: 0.875rem 1.5rem;
	background: #4c412a;
	color: #ffffff;
	font-size: 0.9375rem;
	font-weight: 600;
	text-decoration: none;
	box-shadow: 0 4px 16px rgba(4, 0, 0, 0.25);
}

.kessick-skip-link:focus {
	top: 0;
	outline: none;
	box-shadow: var(--kessick-focus-ring);
}

/* -------------------------------------------------------------------------- */
/* Focus visibility                                                           */
/* -------------------------------------------------------------------------- */

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
.elementor-button:focus-visible,
.elementor-menu-toggle:focus-visible,
.elementor-nav-menu a:focus-visible,
.gform_button:focus-visible,
.gform_save_link:focus-visible {
	outline: none;
	box-shadow: var(--kessick-focus-ring);
}

/* -------------------------------------------------------------------------- */
/* Text on photography — stronger scrims + shadow (colors unchanged)          */
/* -------------------------------------------------------------------------- */

/* Homepage hero — deepen existing #040000 overlay */
.elementor-463 .elementor-element-75786412 > .elementor-background-overlay {
	opacity: 1 !important;
	background: linear-gradient(
		to bottom,
		rgba(4, 0, 0, 0.5) 0%,
		rgba(4, 0, 0, 0.68) 55%,
		rgba(4, 0, 0, 0.75) 100%
	) !important;
}

/* White headings over image sections */
.elementor-463 .elementor-element-75786412 .elementor-heading-title,
.elementor-section > .elementor-background-overlay ~ .elementor-container .elementor-heading-title,
.elementor-section .elementor-background-slideshow ~ .elementor-container .elementor-heading-title {
	text-shadow: var(--kessick-text-shadow);
}

/* Style card panels — keep brand-dark scrim, never fade out on hover */
.elementor-463 [class*="elementor-element-d2ece12"] > .elementor-element-populated > .elementor-background-overlay,
.elementor-463 [class*="elementor-element-b30a346"] > .elementor-element-populated > .elementor-background-overlay,
.elementor-463 [class*="elementor-element-317a64d"] > .elementor-element-populated > .elementor-background-overlay,
.styleboxes .elementor-column > .elementor-element-populated > .elementor-background-overlay {
	opacity: 0.55 !important;
	background-color: var(--kessick-brand-dark) !important;
}

.styleboxes .elementor-column:hover > .elementor-element-populated > .elementor-background-overlay,
.elementor-463 [class*="elementor-element-d2ece12"]:hover > .elementor-element-populated > .elementor-background-overlay,
.elementor-463 [class*="elementor-element-b30a346"]:hover > .elementor-element-populated > .elementor-background-overlay,
.elementor-463 [class*="elementor-element-317a64d"]:hover > .elementor-element-populated > .elementor-background-overlay {
	opacity: 0.72 !important;
}

.styleboxes .elementor-column .elementor-heading-title,
.styleboxes .elementor-column:hover .elementor-heading-title {
	text-shadow: var(--kessick-text-shadow);
}

/* Who We Serve — preserve brand overlays, block hover fade-out */
.elementor-727 [class*="elementor-element-7c96bbd"] > .elementor-element-populated > .elementor-background-overlay,
.elementor-727 [class*="elementor-element-ca799d1"] > .elementor-element-populated > .elementor-background-overlay {
	opacity: 0.82 !important;
	background-color: var(--kessick-brand-gold) !important;
}

.elementor-727 [class*="elementor-element-a214a44"] > .elementor-element-populated > .elementor-background-overlay,
.elementor-727 [class*="elementor-element-62f14d0"] > .elementor-element-populated > .elementor-background-overlay {
	opacity: 0.85 !important;
	background-color: #ffffff !important;
}

.elementor-727 [class*="elementor-element-7c96bbd"]:hover > .elementor-element-populated > .elementor-background-overlay,
.elementor-727 [class*="elementor-element-a214a44"]:hover > .elementor-element-populated > .elementor-background-overlay,
.elementor-727 [class*="elementor-element-62f14d0"]:hover > .elementor-element-populated > .elementor-background-overlay,
.elementor-727 [class*="elementor-element-ca799d1"]:hover > .elementor-element-populated > .elementor-background-overlay {
	opacity: 0.88 !important;
}

.elementor-727 [class*="elementor-element-7c96bbd"] .elementor-heading-title,
.elementor-727 [class*="elementor-element-ca799d1"] .elementor-heading-title,
.elementor-727 [class*="elementor-element-e3c84bf"] .elementor-heading-title {
	text-shadow: var(--kessick-text-shadow);
}

/* -------------------------------------------------------------------------- */
/* Buttons — shadow/backdrop tricks, original gold palette kept               */
/* -------------------------------------------------------------------------- */

.goldbutton .elementor-button,
.widerbuttons .elementor-button,
.elementor-kit-629 .elementor-button {
	min-height: var(--kessick-touch-min);
	box-shadow: inset 0 0 0 1px rgba(4, 0, 0, 0.12), 0 2px 6px rgba(4, 0, 0, 0.18);
}

.goldbutton .elementor-button .elementor-button-text,
.widerbuttons .elementor-button .elementor-button-text,
.elementor-kit-629 .elementor-button .elementor-button-text {
	text-shadow: var(--kessick-btn-text-shadow);
}

/* Outline / ghost buttons on image panels — faint backing plate */
.elementor-727 .elementor-button,
.elementor-463 .elementor-element[class*="32bbfbc"] .elementor-button,
.elementor-463 .elementor-element[class*="935574a"] .elementor-button,
.elementor-463 .elementor-element[class*="91a411d"] .elementor-button {
	min-height: var(--kessick-touch-min);
	box-shadow: inset 0 0 0 9999px rgba(4, 0, 0, 0.28);
	text-shadow: var(--kessick-btn-text-shadow);
}

.elementor-727 [class*="elementor-element-05de242"] .elementor-button,
.elementor-727 [class*="elementor-element-8d440c7"] .elementor-button,
.elementor-727 [class*="elementor-element-efb07a7"] .elementor-button {
	box-shadow: inset 0 0 0 9999px rgba(255, 255, 255, 0.82);
}

/* -------------------------------------------------------------------------- */
/* Style boxes — keep titles visible (accessibility, same hover colors)       */
/* -------------------------------------------------------------------------- */

.styleboxes .elementor-column:hover .elementor-heading-title {
	opacity: 1 !important;
}

/* -------------------------------------------------------------------------- */
/* Header / hamburger — drop-shadow for contrast, touch target only           */
/* -------------------------------------------------------------------------- */

.elementor-915 .elementor-element-4216332 .elementor-button,
.elementor-915 .elementor-element-2a455ff .elementor-button,
.elementor-915 .elementor-element-7a2c0bd .elementor-button,
.elementor-915 .elementor-element-76739b7d .elementor-button {
	min-height: var(--kessick-touch-min);
	min-width: var(--kessick-touch-min);
}

/* Fix crushed uppercase line-height without changing colors */
.elementor-915 .elementor-element-4216332 .elementor-button,
.elementor-915 .elementor-element-2a455ff .elementor-button {
	line-height: 1.35 !important;
}

.elementor-915 .elementor-element-7a2c0bd .elementor-button svg,
.elementor-915 .elementor-element-76739b7d .elementor-button svg,
.elementor-915 .elementor-element-4216332 .elementor-button svg,
.elementor-915 .elementor-element-2a455ff .elementor-button svg {
	filter: drop-shadow(0 0 1px rgba(4, 0, 0, 0.9)) drop-shadow(0 1px 2px rgba(4, 0, 0, 0.55));
}

.elementor-menu-toggle,
.elementor-nav-menu--toggle .elementor-menu-toggle {
	min-height: var(--kessick-touch-min);
	min-width: var(--kessick-touch-min);
	filter: drop-shadow(0 0 1px rgba(4, 0, 0, 0.9)) drop-shadow(0 1px 2px rgba(4, 0, 0, 0.55));
}

.elementor-nav-menu a,
.kessick-trade-footer-nav a,
.gform_button,
#gform_browse_button_5_8 {
	min-height: var(--kessick-touch-min);
}

#elementor-popup-modal-290 .dialog-close-button {
	min-height: var(--kessick-touch-min);
	min-width: var(--kessick-touch-min);
}

/* -------------------------------------------------------------------------- */
/* Motion preferences                                                         */
/* -------------------------------------------------------------------------- */

@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;
	}

	.homeslider .swiper-wrapper {
		transition: none !important;
	}
}

@media (forced-colors: active) {
	.elementor-button,
	.gform_button {
		border: 2px solid ButtonText !important;
	}
}
