/*
Theme Name: Divi Child
Theme URI: http://www.elegantthemes.com/gallery/divi/
Template: Divi
Author: Elegant Themes
Author URI: http://www.elegantthemes.com
Description: Smart. Flexible. Beautiful. Divi is the most powerful theme in our collection.
Version: 5.0.0-public-alpha.24.2.1760617330
Updated: 2025-10-16 08:22:10

*/

#main-header {
    border-bottom: none !important;
    box-shadow: none !important;
}

.button {
  color:black;
  border: 4px solid #000000;
  border-radius: 0px;
  background: #ffffff;
  transition: all .3s 0s;
}

.button a {
  padding: 18px !important;
  color: #000000 !important;
}

.button:hover {
  transform: scale(1.1);
  transition: all .2s 0s;
}

img#logo {
	margin-left: -40px;
}

/* WPForms Container & General Styling */
.wpforms-container {
	max-width: 100% !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Form Wrapper */
.wpforms-form {
	background: #ffffff;
	padding: 0;
	max-width: 100% !important;
	width: 100% !important;
	display: block !important;
}

/* Field Container */
.wpforms-field {
	margin-bottom: 24px;
	max-width: 100% !important;
	width: 100% !important;
}

/* Labels */
.wpforms-field-label {
	font-size: 16px;
	font-weight: 600;
	color: #000000;
	margin-bottom: 10px;
	display: block;
	letter-spacing: -0.5px;
}

.wpforms-required-label {
	color: #8B4545 !important;
	font-weight: 700;
	margin-left: 4px;
}

/* Text Inputs & Textareas - General */
input[type="text"].wpforms-field-large,
input[type="email"].wpforms-field-large,
textarea.wpforms-field-medium,
textarea.wpforms-field-large,
input[type="text"].wpforms-field-required,
input[type="email"].wpforms-field-required,
textarea.wpforms-field-required {
	width: 100%;
	max-width: 100% !important;
	padding: 14px 16px;
	font-size: 16px;
	font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
	color: #000000;
	background-color: #f9f9f9;
	border: 2px solid #e0e0e0;
	border-radius: 0px;
	transition: all 0.3s ease;
	box-sizing: border-box;
}

/* Specific field targeting */
input#wpforms-217171-field_6.wpforms-field-large.wpforms-field-required,
input#wpforms-217171-field_7.wpforms-field-large.wpforms-field-required {
	background-color: #f9f9f9;
	color: #000000;
	border: 2px solid #e0e0e0;
	width: 100%;
	max-width: 100% !important;
}

textarea#wpforms-217171-field_8.wpforms-field-medium.wpforms-field-required {
	background-color: #f9f9f9;
	color: #000000;
	border: 2px solid #e0e0e0;
	min-height: 140px;
	resize: vertical;
	width: 100%;
	max-width: 100% !important;
}

/* Dropdown (Select) Fields */
select.wpforms-field-large,
select.wpforms-field-required,
select#wpforms-217171-field_11,
select#wpforms-217171-field_12 {
	width: 100%;
	max-width: 100% !important;
	padding: 14px 16px;
	height: auto;
	min-height: 50px;
	line-height: 1.5;
	font-size: 16px;
	font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
	color: #000000;
	background-color: #f9f9f9;
	border: 2px solid #e0e0e0;
	border-radius: 0px;
	transition: all 0.3s ease;
	box-sizing: border-box;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
	background-repeat: no-repeat;
	background-position: right 12px center;
	background-size: 20px;
	padding-right: 45px;
	vertical-align: middle;
}

/* Ensure dropdown options are visible */
select.wpforms-field-large option,
select.wpforms-field-required option,
select#wpforms-217171-field_11 option,
select#wpforms-217171-field_12 option {
	color: #000000;
	background-color: #ffffff;
	padding: 10px;
}

/* Input Focus States */
input[type="text"].wpforms-field-large:focus,
input[type="email"].wpforms-field-large:focus,
textarea.wpforms-field-medium:focus,
textarea.wpforms-field-large:focus,
input[type="text"].wpforms-field-required:focus,
input[type="email"].wpforms-field-required:focus,
textarea.wpforms-field-required:focus {
	background-color: #ffffff;
	border-color: #000000;
	outline: none;
	box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.05);
}

/* Dropdown Focus State */
select.wpforms-field-large:focus,
select.wpforms-field-required:focus,
select#wpforms-217171-field_11:focus,
select#wpforms-217171-field_12:focus {
	background-color: #ffffff;
	border-color: #000000;
	outline: none;
	box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.05);
}

/* Submit Button - Matching Website Style */
button#wpforms-submit-217171 {
	width: 100%;
	max-width: 100% !important;
	padding: 28px 24px !important;
	height: auto !important;
	min-height: auto !important;
	font-size: 16px;
	font-weight: 700;
	color: #000000 !important;
	background-color: #ffffff !important;
	background: #ffffff !important;
	border: 4px solid #000000 !important;
	border-radius: 0px;
	cursor: pointer;
	transition: all 0.2s 0s;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	margin-top: 12px;
	box-sizing: border-box !important;
	line-height: 1.2 !important;
}

/* Submit Button Hover State */
button#wpforms-submit-217171:hover {
	background-color: #ffffff !important;
	background: #ffffff !important;
	color: #000000 !important;
	transform: scale(1.1);
	transition: all 0.2s 0s;
}

/* Submit Button Active/Click State */
button#wpforms-submit-217171:active {
	transform: scale(1.05);
	background-color: #ffffff !important;
	background: #ffffff !important;
}

/* Error States */
.wpforms-field-required.wpforms-error input,
.wpforms-field-required.wpforms-error textarea,
.wpforms-field-required.wpforms-error select,
input.wpforms-error,
textarea.wpforms-error,
select.wpforms-error {
	border-color: #8B4545 !important;
	background-color: #faf7f7;
	box-shadow: none !important;
}

.wpforms-error-alert {
	background-color: #faf7f7;
	border-left: 4px solid #8B4545;
	color: #8B4545;
	padding: 12px 16px;
	margin-bottom: 24px;
	font-size: 14px;
	border-radius: 0px;
}

.wpforms-field-label-inline .wpforms-error-label {
	color: #8B4545 !important;
}

.wpforms-form .wpforms-error-label {
	color: #8B4545 !important;
}

/* Success State */
.wpforms-confirmation-container {
	text-align: center;
	padding: 40px 20px;
}

.wpforms-confirmation-container-success {
	color: #000000;
}


/* Inline Label Fields */
.wpforms-field-label-inline {
	display: flex;
	align-items: center;
	margin-bottom: 24px;
}

.wpforms-field-label-inline .wpforms-field-label {
	margin-bottom: 0;
	margin-right: 12px;
	flex-shrink: 0;
}

/* Mobile Responsiveness */
@media (max-width: 768px) {
	.wpforms-field {
		margin-bottom: 20px;
	}
	
	input[type="text"].wpforms-field-large,
	input[type="email"].wpforms-field-large,
	textarea.wpforms-field-medium,
	textarea.wpforms-field-large,
	input[type="text"].wpforms-field-required,
	input[type="email"].wpforms-field-required,
	textarea.wpforms-field-required {
		font-size: 16px;
		padding: 12px 14px;
	}
	
	select.wpforms-field-large,
	select.wpforms-field-required,
	select#wpforms-217171-field_11,
	select#wpforms-217171-field_12 {
		font-size: 16px;
		padding: 12px 14px;
		padding-right: 45px;
		min-height: 48px;
	}
	
	button#wpforms-submit-217171 {
		padding: 16px 20px !important;
		font-size: 15px;
		margin-bottom: 0 !important;
	}
	
	button#wpforms-submit-217171:hover {
		transform: scale(1.05);
	}
	
	.wpforms-field-label-inline {
		flex-direction: column;
		align-items: flex-start;
	}
	
	.wpforms-field-label-inline .wpforms-field-label {
		margin-bottom: 10px;
		margin-right: 0;
	}
}

/* ================================
   SKIP LINKS
   ================================ */

.skip-link {
    position: absolute;
    z-index: 999999;
    padding: 15px 25px;
    background-color: #000;
    color: #fff;
    text-decoration: none;
    font-size: 16px;
    font-weight: 600;
    border: 3px solid #fff;
    outline: none;
}

.skip-to-content {
    top: -100px;
    left: 0;
    transition: top 0.2s ease;
}

.skip-to-content:focus {
    top: 0;
}


/* ================================
   GLOBAL FOCUS RESET
   ================================ */

*:focus {
    outline: none;
}

/* ================================
   BASE FOCUS STYLES
   ================================ */

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
[tabindex]:focus-visible,
[role="button"]:focus-visible {
    outline: 3px solid #000;
    outline-offset: 2px;
    box-shadow: 0 0 0 5px rgba(0, 0, 0, 0.1);
    transition: outline 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

/* Remove focus when using mouse */
a:focus:not(:focus-visible),
button:focus:not(:focus-visible),
input:focus:not(:focus-visible),
textarea:focus:not(:focus-visible),
select:focus:not(:focus-visible),
[tabindex]:focus:not(:focus-visible),
[role="button"]:focus:not(:focus-visible) {
    outline: none;
    box-shadow: none;
}

/* ================================
   NAVIGATION
   ================================ */

/* Main navigation links - underline only */
.et-menu a:focus-visible,
#top-menu a:focus-visible,
.et_pb_menu a:focus-visible {
    outline: none !important;
    box-shadow: none !important;
    background-color: transparent !important;
    text-decoration: underline !important;
    text-decoration-thickness: 3px !important;
    text-underline-offset: 4px !important;
    text-decoration-color: currentColor !important;
}

/* Dropdown/submenu items - keep box style */
.sub-menu a:focus-visible {
    outline: 3px solid #000;
    outline-offset: 0;
    background-color: rgba(0, 0, 0, 0.08);
    text-decoration: underline;
    text-decoration-thickness: 2px;
}

/* Mobile menu toggle */
.mobile_menu_bar:focus-visible,
.et_mobile_menu_toggle:focus-visible,
.et_toggle_slide_menu:focus-visible {
    outline: 3px solid #000;
    outline-offset: 2px;
    background-color: rgba(0, 0, 0, 0.1);
}

/* Mobile menu links */
.mobile_nav a:focus-visible,
.et_mobile_menu a:focus-visible {
    outline: 3px solid #000;
    outline-offset: 0;
    background-color: rgba(0, 0, 0, 0.05);
    text-decoration: underline;
}

/* Search in header */
.et-search-form input:focus-visible,
#et-search-box input:focus-visible {
    outline: 3px solid #000;
    outline-offset: 0;
    border: 2px solid #000 !important;
    box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.1);
}

/* Cart icon */
.et-cart-info:focus-visible,
.et_pb_menu__cart-button:focus-visible {
    outline: 3px solid #000;
    outline-offset: 2px;
    background-color: rgba(0, 0, 0, 0.1);
}

/* ================================
   CONTENT LINKS
   ================================ */

.et_pb_text a:focus-visible,
.entry-content a:focus-visible,
p a:focus-visible,
article a:focus-visible,
.et_pb_blurb_content a:focus-visible {
    outline: 3px solid #000;
    outline-offset: 2px;
    background-color: rgba(0, 0, 0, 0.08);
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 3px;
}

/* Image links */
a:has(img):focus-visible,
.et_pb_image a:focus-visible,
.et_pb_gallery_item a:focus-visible {
    outline: 3px solid #000;
    outline-offset: 4px;
    opacity: 0.9;
}

a:focus-visible img {
    opacity: 0.9;
}

/* ================================
   BUTTONS
   ================================ */

.et_pb_button:focus-visible,
.et_pb_more_button:focus-visible,
.et_pb_newsletter_button:focus-visible,
.et_pb_promo_button:focus-visible,
.et_pb_cta .et_pb_button:focus-visible,
button[type="submit"]:focus-visible,
input[type="submit"]:focus-visible,
.et_pb_contact_submit:focus-visible,
.et_pb_button_module_wrapper .et_pb_button:focus-visible {
    outline: 3px solid #000;
    outline-offset: 2px;
    background-color: #000 !important;
    color: #fff !important;
    border: 2px solid #000;
    box-shadow: 0 0 0 5px rgba(0, 0, 0, 0.15);
    transform: scale(1.02);
}

button:focus-visible,
.button:focus-visible,
input[type="button"]:focus-visible,
input[type="reset"]:focus-visible {
    outline: 3px solid #000;
    outline-offset: 2px;
    background-color: #000;
    color: #fff;
    box-shadow: 0 0 0 5px rgba(0, 0, 0, 0.15);
}

/* ================================
   FORM ELEMENTS
   ================================ */

input[type="text"]:focus-visible,
input[type="email"]:focus-visible,
input[type="tel"]:focus-visible,
input[type="url"]:focus-visible,
input[type="search"]:focus-visible,
input[type="password"]:focus-visible,
input[type="number"]:focus-visible,
input[type="date"]:focus-visible,
.et_pb_contact_field input:focus-visible {
    outline: 3px solid #000;
    outline-offset: 0;
    border: 2px solid #000 !important;
    box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.1);
}

textarea:focus-visible,
.et_pb_contact_field textarea:focus-visible {
    outline: 3px solid #000;
    outline-offset: 0;
    border: 2px solid #000 !important;
    box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.1);
}

select:focus-visible,
.et_pb_contact_field select:focus-visible {
    outline: 3px solid #000;
    outline-offset: 0;
    border: 2px solid #000 !important;
    box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.1);
}

input[type="checkbox"]:focus-visible,
input[type="radio"]:focus-visible {
    outline: 3px solid #000;
    outline-offset: 2px;
    box-shadow: 0 0 0 5px rgba(0, 0, 0, 0.1);
}

input[type="file"]:focus-visible {
    outline: 3px solid #000;
    outline-offset: 2px;
}

/* Error state */
.et_contact_error input:focus-visible,
.et_contact_error textarea:focus-visible {
    outline-color: #d32f2f;
    border-color: #d32f2f !important;
}

/* ================================
   DIVI MODULE: SLIDER
   ================================ */

.et-pb-arrow-prev:focus-visible,
.et-pb-arrow-next:focus-visible,
.et_pb_slider .et-pb-slider-arrows a:focus-visible {
    outline: 3px solid #fff;
    outline-offset: 2px;
    background-color: rgba(0, 0, 0, 0.9) !important;
    transform: scale(1.1);
}

.et-pb-controllers a:focus-visible,
.et-pb-control-item:focus-visible,
.et_pb_slider .et-pb-controllers a:focus-visible {
    outline: 3px solid #000;
    outline-offset: 2px;
    transform: scale(1.3);
    background-color: #000 !important;
}

/* ================================
   DIVI MODULE: TABS
   ================================ */

.et_pb_tabs_controls li a:focus-visible {
    outline: 3px solid #000;
    outline-offset: 2px;
    background-color: rgba(0, 0, 0, 0.05);
    text-decoration: underline;
}

.et_pb_tabs_controls .et_pb_tab_active a:focus-visible {
    background-color: rgba(0, 0, 0, 0.1);
    font-weight: 600;
}

/* ================================
   DIVI MODULE: ACCORDION & TOGGLE
   ================================ */

.et_pb_toggle_title:focus-visible,
.et_pb_accordion .et_pb_toggle_title:focus-visible {
    outline: 3px solid #000;
    outline-offset: 2px;
    background-color: rgba(0, 0, 0, 0.05);
}

.et_pb_toggle_open .et_pb_toggle_title:focus-visible {
    background-color: rgba(0, 0, 0, 0.08);
}

/* ================================
   DIVI MODULE: GALLERY
   ================================ */

.et_pb_gallery_item a:focus-visible {
    outline: 3px solid #000;
    outline-offset: 4px;
    transform: scale(1.02);
    z-index: 10;
    position: relative;
}

.et_pb_gallery_image:focus-visible {
    outline: 3px solid #000;
    outline-offset: 4px;
}

/* ================================
   DIVI MODULE: PORTFOLIO & BLOG
   ================================ */

.et_pb_portfolio_item:focus-visible,
.et_pb_post:focus-visible {
    outline: 3px solid #000;
    outline-offset: 4px;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.et_pb_portfolio_filters a:focus-visible,
.et_pb_filter_item:focus-visible {
    outline: 3px solid #000;
    outline-offset: 2px;
    background-color: rgba(0, 0, 0, 0.08);
    text-decoration: underline;
    transform: scale(1.05);
}

.et_pb_portfolio_filter_active:focus-visible {
    background-color: #000 !important;
    color: #fff !important;
    font-weight: 600;
}

/* ================================
   DIVI MODULE: PRICING TABLES
   ================================ */

.et_pb_pricing_table:focus-visible {
    outline: 3px solid #000;
    outline-offset: 4px;
    transform: scale(1.02);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
}

.et_pb_pricing_table_button:focus-visible {
    outline: 3px solid #000;
    outline-offset: 2px;
    background-color: #000 !important;
    color: #fff !important;
    transform: scale(1.05);
}

/* ================================
   DIVI MODULE: SOCIAL MEDIA FOLLOW
   ================================ */

.et_pb_social_media_follow li a:focus-visible,
.et-social-icon a:focus-visible,
.et_pb_social_icon:focus-visible {
    outline: 3px solid #000;
    outline-offset: 2px;
    transform: scale(1.15);
    box-shadow: 0 0 0 5px rgba(0, 0, 0, 0.1);
}

/* ================================
   DIVI MODULE: CONTACT FORM
   ================================ */

.et_pb_contact_field input:focus-visible,
.et_pb_contact_field textarea:focus-visible,
.et_pb_contact_field select:focus-visible {
    outline: 3px solid #000;
    outline-offset: 0;
    border: 2px solid #000 !important;
    box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.1);
    background-color: rgba(0, 0, 0, 0.02);
}

/* ================================
   DIVI MODULE: SEARCH
   ================================ */

.et_pb_search input[type="search"]:focus-visible {
    outline: 3px solid #000;
    outline-offset: 0;
    border: 2px solid #000 !important;
    box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.1);
}

.et_pb_searchsubmit:focus-visible {
    outline: 3px solid #000;
    outline-offset: 2px;
    background-color: #000 !important;
    color: #fff !important;
}

/* ================================
   DIVI MODULE: VIDEO
   ================================ */

.et_pb_video_play:focus-visible,
.et_pb_video_overlay:focus-visible {
    outline: 3px solid #fff;
    outline-offset: 4px;
    transform: scale(1.05);
}

.et_pb_video_play .et_pb_video_play_icon:focus-visible {
    outline: 3px solid #fff;
    transform: scale(1.1);
}

/* ================================
   DIVI MODULE: AUDIO
   ================================ */

.et_pb_audio_module audio:focus-visible,
.et_audio_container audio:focus-visible {
    outline: 3px solid #000;
    outline-offset: 2px;
}

/* ================================
   DIVI MODULE: MAP
   ================================ */

.et_pb_map:focus-visible,
.et_pb_map_container:focus-visible {
    outline: 3px solid #000;
    outline-offset: 2px;
    box-shadow: 0 0 0 5px rgba(0, 0, 0, 0.1);
}

/* ================================
   DIVI MODULE: BLURB
   ================================ */

.et_pb_blurb[onclick]:focus-visible,
.et_clickable:focus-visible,
a.et_pb_blurb:focus-visible {
    outline: 3px solid #000;
    outline-offset: 4px;
    transform: scale(1.02);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    cursor: pointer;
}

/* ================================
   DIVI MODULE: COUNTDOWN TIMER
   ================================ */

.et_pb_countdown_timer:focus-visible {
    outline: 3px solid #000;
    outline-offset: 4px;
}

/* ================================
   DIVI MODULE: FULLWIDTH HEADER
   ================================ */

.et_pb_fullwidth_header .et_pb_button:focus-visible {
    outline: 3px solid #fff;
    outline-offset: 2px;
    transform: scale(1.05);
    box-shadow: 0 0 0 5px rgba(255, 255, 255, 0.2);
}

.et_pb_scroll_down:focus-visible {
    outline: 3px solid #000;
    outline-offset: 2px;
    transform: scale(1.1);
}

/* ================================
   DIVI MODULE: POST NAVIGATION
   ================================ */

.et_pb_post_nav a:focus-visible,
.et_pb_post_title a:focus-visible {
    outline: 3px solid #000;
    outline-offset: 2px;
    text-decoration: underline;
}

/* ================================
   DIVI MODULE: SIDEBAR
   ================================ */

.et_pb_widget a:focus-visible {
    outline: 3px solid #000;
    outline-offset: 2px;
    background-color: rgba(0, 0, 0, 0.05);
    text-decoration: underline;
}

/* ================================
   DIVI MODULE: COMMENTS
   ================================ */

.et_pb_comments .comment-reply-link:focus-visible,
.et_pb_comments .comment-edit-link:focus-visible {
    outline: 3px solid #000;
    outline-offset: 2px;
    background-color: rgba(0, 0, 0, 0.08);
    text-decoration: underline;
}

/* ================================
   DIVI MODULE: NEWSLETTER/EMAIL OPTIN
   ================================ */

.et_pb_newsletter input:focus-visible,
.et_pb_signup input:focus-visible {
    outline: 3px solid #000;
    outline-offset: 0;
    border: 2px solid #000 !important;
    box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.1);
}

.et_pb_newsletter_button:focus-visible {
    outline: 3px solid #000;
    outline-offset: 2px;
    background-color: #000 !important;
    color: #fff !important;
    transform: scale(1.02);
}

/* ================================
   DIVI MODULE: CODE
   ================================ */

.et_pb_code a:focus-visible,
.et_pb_code button:focus-visible {
    outline: 3px solid #000;
    outline-offset: 2px;
}

/* ================================
   DIVI MODULE: SHOP (WooCommerce)
   ================================ */

.et_pb_shop .products .product a:focus-visible {
    outline: 3px solid #000;
    outline-offset: 4px;
}

.et_pb_shop .add_to_cart_button:focus-visible,
.et_pb_wc_cart_totals .checkout-button:focus-visible {
    outline: 3px solid #000;
    outline-offset: 2px;
    background-color: #000 !important;
    color: #fff !important;
    transform: scale(1.02);
}

.woocommerce a.button:focus-visible,
.woocommerce button.button:focus-visible,
.woocommerce input.button:focus-visible {
    outline: 3px solid #000;
    outline-offset: 2px;
    background-color: #000 !important;
    color: #fff !important;
}

/* ================================
   DIVI MODULE: MENU (Restaurant)
   ================================ */

.et_pb_menu_item:focus-visible {
    outline: 3px solid #000;
    outline-offset: 4px;
}

/* ================================
   FOOTER
   ================================ */

#footer-bottom,
#footer,
#main-footer {
    scroll-margin-top: 0;
}

#footer-bottom a:focus-visible,
#footer a:focus-visible,
#main-footer a:focus-visible,
.et_pb_bottom_bar a:focus-visible {
    outline: 3px solid #000;
    outline-offset: 2px;
    background-color: rgba(0, 0, 0, 0.08);
    text-decoration: underline;
}

/* ================================
   DARK BACKGROUNDS
   ================================ */

.et_pb_section_dark a:focus-visible,
.et_pb_section_dark button:focus-visible,
.et_pb_row_dark a:focus-visible,
.et_pb_row_dark button:focus-visible,
[style*="background-color: #000"] a:focus-visible,
[style*="background-color: rgb(0, 0, 0)"] a:focus-visible {
    outline-color: #fff;
    box-shadow: 0 0 0 5px rgba(255, 255, 255, 0.1);
}

.et_pb_section_dark .et_pb_button:focus-visible,
[style*="background-color: #000"] .et_pb_button:focus-visible {
    outline-color: #fff;
    background-color: #fff !important;
    color: #000 !important;
}

#footer-bottom[style*="background-color: #000"] a:focus-visible,
#footer[style*="background-color: #000"] a:focus-visible {
    outline-color: #fff;
    background-color: rgba(255, 255, 255, 0.1);
}

/* ================================
   ACCESSIBILITY ENHANCEMENTS
   ================================ */

html {
    scroll-behavior: smooth;
}

:focus {
    scroll-margin-top: 100px;
    scroll-margin-bottom: 100px;
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }
    
    *:focus-visible {
        transition: none !important;
    }
}

[tabindex="-1"]:focus,
[aria-hidden="true"]:focus {
    outline: none !important;
}

/* Hide elements that shouldn't receive focus */
[aria-hidden="true"],
.screen-reader-text:not(:focus) {
    position: absolute !important;
    clip: rect(1px, 1px, 1px, 1px);
    overflow: hidden;
    height: 1px;
    width: 1px;
    word-wrap: normal;
}

/* ================================
   PRINT STYLES
   ================================ */

@media print {
    .skip-link,
    *:focus-visible {
        outline: none !important;
        box-shadow: none !important;
    }
}


.rotating-words {
  display: inline-block;
  position: relative;
  background-color: #000;
  padding: 10px 20px;
  margin: 0 5px 0 0;
  margin-left: 0;
}

.rotating-words .word {
  position: relative;
  opacity: 0;
  transition: opacity 0.8s ease-in-out;
  white-space: nowrap;
  color: #fff;
  display: none;
}

.rotating-words .word.active {
  display: inline;
  opacity: 1;
  transition: opacity 0.8s ease-in-out;
}