/* Paradise Cocktails — mobile hamburger for the standard Divi header menu.
   Divi 5.9 ships no .mobile_menu_bar CSS for Theme Builder menu modules;
   this restores it. Divi's own JS handles open/close (.mobile_nav .closed/.opened). */
@media (max-width: 980px) {
	.et_pb_menu_1_tb_header { position: relative; }
	/* The header section/column clip absolutely-positioned children — unclip so the drawer can drop below the header, and lift the section above page content. */
	.et_pb_section_1_tb_header, .et_pb_section_1_tb_header .et_pb_row, .et_pb_column_1_tb_header { overflow: visible !important; }
	.et_pb_section_1_tb_header { position: relative; z-index: 99; }
	.et_pb_menu_1_tb_header .et_pb_menu__menu { display: none !important; }
	.et_pb_menu_1_tb_header .et_pb_menu__wrap { justify-content: flex-end; align-items: center; }
	.et_pb_menu_1_tb_header .et_mobile_nav_menu { display: block !important; margin-left: 16px; }
	.et_pb_menu_1_tb_header .mobile_nav { display: block; background: transparent; }
	.et_pb_menu_1_tb_header .mobile_menu_bar {
		display: block; position: relative; width: 30px; height: 22px;
		padding: 0; cursor: pointer; -webkit-tap-highlight-color: transparent;
	}
	.et_pb_menu_1_tb_header .mobile_menu_bar::before,
	.et_pb_menu_1_tb_header .mobile_menu_bar::after {
		content: ""; position: absolute; left: 0; width: 30px; height: 3px;
		border-radius: 2px; background: #0d3f5f;
		transition: transform .25s ease, box-shadow .25s ease;
	}
	.et_pb_menu_1_tb_header .mobile_menu_bar::before { top: 0; box-shadow: 0 9.5px 0 #0d3f5f; }
	.et_pb_menu_1_tb_header .mobile_menu_bar::after { bottom: 0; }
	.et_pb_menu_1_tb_header .mobile_nav.opened .mobile_menu_bar::before { transform: translateY(9.5px) rotate(45deg); box-shadow: none; }
	.et_pb_menu_1_tb_header .mobile_nav.opened .mobile_menu_bar::after { transform: translateY(-9.5px) rotate(-45deg); }
	.et_pb_menu_1_tb_header .et_mobile_menu {
		position: absolute; left: 0; right: 0; top: 100%; z-index: 9999;
		margin: 0; padding: 6px 0; list-style: none; background: #fff;
		border-top: 3px solid #0d3f5f;
		box-shadow: 0 14px 30px -12px rgba(7, 31, 51, .35);
		max-height: 72vh; overflow-y: auto;
	}
	.et_pb_menu_1_tb_header .et_mobile_menu li { list-style: none; margin: 0; }
	/* One readable link colour on every mobile width — the module's own settings
	   give white on tablet and black on phone; the doubled class out-ranks the preset rule. */
	.et_pb_menu_1_tb_header.et_pb_menu .et_mobile_menu li a {
		display: block; padding: 13px 24px; color: #071f33 !important;
		font-size: 15px; line-height: 1.4;
		border-bottom: 1px solid rgba(13, 63, 95, .08); text-decoration: none;
	}
	.et_pb_menu_1_tb_header.et_pb_menu .et_mobile_menu li.current-menu-item a,
	.et_pb_menu_1_tb_header.et_pb_menu .et_mobile_menu li.current_page_item a { color: #ff2f00 !important; }
	.et_pb_menu_1_tb_header .et_mobile_menu li:last-child a { border-bottom: 0; }
	.et_pb_menu_1_tb_header.et_pb_menu .et_mobile_menu li a:hover,
	.et_pb_menu_1_tb_header.et_pb_menu .et_mobile_menu li a:active { color: #000 !important; background: rgba(255, 255, 255, .25); }
	/* Shop Now button: on mobile widths it overflowed the right edge and hung below the
	   header — give it its own centred strip under the logo row instead. */
	.et_pb_section_1_tb_header .et_pb_column_1_tb_header { flex-wrap: wrap; }
	.et_pb_section_1_tb_header .et_pb_button_0_tb_header_wrapper {
		position: static !important; margin: 0 0 10px !important;
		flex: 0 0 100%; width: 100%; text-align: center; transform: none !important;
	}
	.et_pb_section_1_tb_header .et_pb_button_0_tb_header_wrapper .et_pb_button {
		display: inline-block; white-space: nowrap;
		font-size: 15px !important; padding: 9px 24px !important;
	}
}

/* Mobile top bar: tagline centred on its own line, phone number on one line beneath,
   account links hidden (they live in the hamburger drawer). */
@media (max-width: 980px) {
	.et_pb_column_0_tb_header { flex-wrap: wrap; justify-content: center; align-items: center; row-gap: 3px; }
	.et_pb_text_0_tb_header { flex: 0 0 100%; width: 100%; text-align: center; }
	.et_pb_text_0_tb_header .et_pb_text_inner { font-size: 12px; line-height: 1.5; }
	.et_pb_icon_list_0_tb_header { flex: 0 0 auto; width: auto; }
	.et_pb_icon_list_0_tb_header .et_pb_icon_list_item { align-items: center; }
	.et_pb_icon_list_0_tb_header .et_pb_icon_list_text { white-space: nowrap; font-size: 14px; }
	.et_pb_menu_0_tb_header { display: none !important; }
	.et_pb_section_0_tb_header .et_pb_row_0_tb_header { padding-top: 8px; padding-bottom: 8px; }
}

/* Footer tidy-up.
   Desktop: the Services list centred each row separately so the left edges wandered —
   centre the block once and left-align the rows inside it; give icons a fixed box so
   the text always starts at the same spot.
   Phone: the Follow Us / social icons / copyright block used desktop negative margins
   that collide when everything stacks — restore normal spacing under 980px. */
.et-l--footer .et_pb_icon_list_item { justify-content: flex-start !important; padding: 4px 0 !important; margin: 0 !important; }
.et-l--footer .et_pb_icon_list_item .et-pb-icon { flex: 0 0 26px; width: 26px; justify-content: center; margin: 0 !important; }
.et-l--footer .et_pb_icon_list_item .et_pb_icon_list_text { padding: 0 0 0 10px !important; margin: 0 !important; }
@media (min-width: 981px) {
	.et-l--footer ul.et_pb_icon_list_0_tb_footer,
	.et-l--footer ul.et_pb_icon_list_1_tb_footer {
		align-items: flex-start !important; align-self: center;
		width: max-content; max-width: 100%; margin-left: auto !important; margin-right: auto !important;
	}
}
@media (max-width: 980px) {
	.et-l--footer .et_pb_text_1_tb_footer { margin-bottom: 6px !important; }
	.et-l--footer .et_pb_social_media_follow_0_tb_footer { margin-top: 6px !important; }
	.et-l--footer .et_pb_text_2_tb_footer { margin-top: 16px !important; }
}
