/*
Theme Name: Marry Luxury Transportation
Theme URI: https://www.marryluxurytransportation.com
Description: Luxury transportation WordPress theme
Author: Mazoriya Website Builder
Author URI: https://www.mazoriya.com
Version: 1.0.0
License: GPL-2.0-or-later
Text Domain: marry-luxury
*/

/* ============ HEADER STYLES ============ */
	.site-header { position: fixed; top: 0; left: 0; width: 100%; z-index: 9999; background: transparent; transition: all .35s ease; margin-bottom: -90px; }
	.site-header.scrolled { background: rgba(255, 255, 255, 0.95) !important; backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); box-shadow: 0 5px 20px rgba(0,0,0,.45); } 
	.site-header .container { max-width: 1200px; width: 95%; margin: auto; height: 90px; display: flex; align-items: center; justify-content: space-between; }
	.logo img { display: block; height: 60px; width: auto; transition: .3s; }
	.main-nav > ul { display: flex; align-items: center; list-style: none; margin: 0; padding: 0; gap: 0px; }
	.main-nav ul li { position: relative; }
	.main-nav ul li a { display: flex; align-items: center; gap: 8px; color: #fff; font-size: 17px; font-weight: 600; text-decoration: none; padding: 15px 10px; transition: .3s; }
	.main-nav ul li:hover > a { color: #fff; }
	.site-header.scrolled .main-nav ul li a { color: #111 !important; }
	.site-header.scrolled .main-nav ul li:hover > a { color: #111 !important; }
	.menu-item-has-children > a::after { content: "\f078"; font-family: "Font Awesome 6 Free"; font-weight: 900; font-size: 11px; margin-left: 6px; transition: transform 0.3s ease; }
	.sub-menu { position: absolute; top: 100%; left: 0; display: flex; flex-direction: column; min-width: 270px; background: #fff; border-radius: 8px; list-style: none; padding: 10px 0; margin: 0; box-shadow: 0 15px 40px rgba(0,0,0,.12); opacity: 0; visibility: hidden; transform: translateY(10px); transition: .3s; }
	.menu-item-has-children:hover > .sub-menu { opacity: 1; visibility: visible; transform: translateY(0); }
	.sub-menu li { width: 100%; }
	.sub-menu li a { display: block; color: #111 !important; padding: 14px 20px; font-size: 15px; font-weight: 500; }
	.sub-menu li a:hover { background: #f5f5f5; }
	.header-phone { display: flex; align-items: center; gap: 10px; color: #fff; font-size: 17px; font-weight: 600; text-decoration: none; transition: all .3s; }
	.header-phone i { font-size: 18px; color: #fff; transition: all .3s; }
	.site-header.scrolled .header-phone { color: #111 !important; }
	.site-header.scrolled .header-phone i { color: #111 !important; }
	.close-menu { display: none; position: absolute; top: 20px; right: 20px; width: 44px; height: 44px; border: none; background: transparent; color: #111; font-size: 24px; cursor: pointer; z-index: 10002; align-items: center; justify-content: center; transition: all 0.3s ease; }
	.close-menu:hover { color: #555; transform: rotate(90deg); }
	.menu-toggle { display: none; width: 44px; height: 44px; border: none; background: transparent; color: #fff; font-size: 28px; cursor: pointer; z-index: 10001; align-items: center; justify-content: center; transition: all .3s ease; }
	.menu-toggle:hover { opacity: 0.8; }
	.site-header.scrolled .menu-toggle { color: #111 !important; }
	.menu-overlay { position: fixed; inset: 0; background: rgba(0,0,0,.35); opacity: 0; visibility: hidden; transition: .3s; z-index: 998; }
	.menu-overlay.active { opacity: 1; visibility: visible; }

	/* ============ MOBILE STYLES ============ */
	@media (max-width: 991px) {
	.site-header .container { height: 80px; }
	.site-header.scrolled { background: rgba(255, 255, 255, 0.95) !important; backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); box-shadow: 0 5px 20px rgba(0,0,0,.45); } 
	.logo img { height: 50px; max-height: 50px; }
	.main-nav { position: fixed; top: 0; right: -320px; width: 300px; height: 100vh; background: #fff; overflow-y: auto; padding-top: 80px; transition: all .35s ease; z-index: 10002; box-shadow: -5px 0 30px rgba(0,0,0,0.1); }
	.main-nav.active { right: 0 !important; }
	.main-nav > ul { display: block; padding: 20px 0; }
	.main-nav ul li { border-bottom: 1px solid #f0f0f0; }
	.main-nav ul li:last-child { border-bottom: none; }
	.main-nav ul li a { color: #111 !important; padding: 16px 25px; display: flex; justify-content: space-between; align-items: center; font-size: 16px; font-weight: 500; transition: all 0.3s ease; }
	.main-nav ul li a:hover { background: #f8f8f8; padding-left: 30px; }
	.sub-menu { position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none; border-radius: 0; background: #f5f5f5; display: none; padding: 0; min-width: 100%; border-top: 1px solid #e0e0e0; }
	.menu-item-has-children.submenu-open > .sub-menu { display: block !important; }
	.sub-menu li { border-bottom: 1px solid #e8e8e8; }
	.sub-menu li:last-child { border-bottom: none; }
	.sub-menu li a { padding: 14px 40px; font-size: 15px; color: #333 !important; font-weight: 400; }
	.sub-menu li a:hover { background: #ebebeb; padding-left: 45px; }
	.menu-item-has-children > a::after { transition: transform 0.3s ease; }
	.menu-item-has-children.submenu-open > a::after { transform: rotate(180deg); }
	.header-phone { margin-left: auto; margin-right: 12px; color: #fff !important; }
	.header-phone i { color: #fff !important; font-size: 24px; }

	.site-header.scrolled .header-phone { color: #111 !important; }
	.site-header.scrolled .header-phone i { color: #111 !important; }
	.menu-toggle { display: flex !important; flex-shrink: 0; color: #fff !important; font-size: 28px; }
	.site-header.scrolled .menu-toggle { color: #111 !important; }
	.close-menu { display: flex !important; color: #111; }
	body.menu-open { overflow: hidden; }
	}

/* ============ FOOTER STYLES ============ */
.footer { background: #000; padding: 70px 0 30px; border-top: 1px solid #ddd; }
.footer .container { width: 90%; max-width: 1280px; margin: auto; }
.footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1.4fr; gap: 120px; }
.footer-logo { width: 190px; margin-bottom: 20px; }
.footer h6 { font-family: "Raleway", sans-serif; font-weight: 600 !important; color: #fff; margin-bottom: 24px; margin-top: 0; }
.footer p { font-family: "Montserrat", sans-serif; font-size: 16px; color: #f2f2f2; margin-bottom: 18px; line-height: 1.5; }
.footer a { font-family: "Montserrat", sans-serif; font-size: 16px; color: #f2f2f2; text-decoration: none; transition: .3s; }
.footer a:hover { color: #fff; }
.footer ul { list-style: none; padding: 0; margin: 0; }
.footer ul li { margin-bottom: 15px; }
.footer-bottom { border-top: 1px solid #ddd; margin-top: 40px; padding-top: 28px; display: flex; justify-content: space-between; align-items: center; }
.copyright { color: #f2f2f2; font-size: 14px !important;}
.footer-links { display: flex; gap: 40px;}
.copyright a, .footer-links a {font-size: 14px;}
@media (max-width: 991px) {
.footer-grid { grid-template-columns: repeat(3, 1fr); gap: 60px; }
.footer-bottom { flex-direction: column; gap: 20px; text-align: center; }
.footer-links { justify-content: center; }
.footer p, .footer ul li a { font-size: 20px; }
}
@media (max-width: 700px){
	.footer-grid { grid-template-columns: repeat(2, 1fr); gap: 30px; }
	.footer-col:first-child {grid-column: 1 / -1; }
	.footer-col:nth-child(3) {width: 120%; margin-left: -30px;}
}
@media (max-width: 576px) {
.header-phone span{display:none}
.footer { padding: 50px 0 25px; }
.footer-logo { width: 160px; }
.footer h6 { margin-bottom: 15px; }
.footer p, .footer ul li a { font-size: 15px; line-height: 1.7; }
.footer ul li { margin-bottom: 14px; }
.footer-bottom { margin-top: 40px; padding-top: 20px; gap: 10px;}
	.copyright{order:2;} .footer-links{order:1;}
.copyright, .footer-links a { font-size: 12px !important; }
}
@media (max-width: 300px){
	.footer-grid { grid-template-columns: 1fr; gap: 30px; }
	.footer-col{grid-column: 1 ; }
	.footer-col:nth-child(3) {margin-left: 0;}
}


/*google reviews in home header*/
.mary-google-rating-display {display: flex;align-items: center;justify-content: center;gap: 8px;flex-wrap: wrap;}
.mary-stars-rating {display: flex;align-items: center;gap: 6px;}
.mary-stars-icons {color: #fbbc04;font-size: 20px;letter-spacing: 2px;}
.mary-rating-number {font-size: 18px;font-weight: 700;color: #fff;}
.mary-rating-divider {color: #ccc;font-size: 18px;}
.mary-rating-label {font-size: 14px;color: #fff;font-weight: 500; }

.faq-icons-setting .e-n-accordion-item-title-icon {height: 30px;width: 30px!important;border-radius: 9999px;background-color: var(--e-global-color-primary);}
.faq-icons-setting .e-n-accordion-item-title-icon span {margin: 0 auto;}
.faq-icons-setting .e-n-accordion-item-title-icon svg {fill: white !important;}

.button-styler .elementor-button-content-wrapper {align-items:center;}
.button-styler .elementor-button-icon {width: 30px;height: 30px;background-color: var(--white) !important;border-radius: 9999px;}
.button-styler:hover .elementor-button-icon{background-color: var(--black) !important;}
.button-styler svg {transform: rotate(45deg);fill: var(--black) !important;margin: 0 auto;}
.button-styler:hover svg {fill: var(--white) !important;}