/*
Theme Name: Leadership Coach
Theme URI: https://blossomthemes.com/wordpress-themes/leadership-coach/
Template: coachpress-lite  
Author: Blossom Themes
Author URI: https://blossomthemes.com/
Description: Leadership Coach is a feminine lead-generating WordPress theme for coaches, mentors, therapists, speakers, leaders, counselors, medical practitioners and entrepreneurs. This theme helps you create a coaching website to launch your services and introduce yourself. The theme includes sections like Banner with Call-to-Action and Newsletter, About, Services, Testimonials, Call-to-Actions, Newsletter and Instagram to elegantly display your services and help establish your business. It is also WooCommerce compatible and works smoothly with LMS plugins such as LearnDash and TutorLMS. This speed-optimized theme is easy to use, mobile-friendly, and SEO-friendly. Leadership Coach is translation-ready, Schema-friendly, and RTL script-ready. Check theme details at https://blossomthemes.com/wordpress-themes/leadership-coach/, demo at https://blossomthemes.com/theme-demo/?theme=leadership-coach, documentation at https://docs.blossomthemes.com/leadership-coach/, and get support at https://blossomthemes.com/support-ticket/.
Version: 1.0.1
License: GNU General Public License v3 or later
License URI: http://www.gnu.org/licenses/gpl-3.0.html
Tested up to: 6.6
Requires PHP: 7.3
Requires at least: 6.2
Text Domain: leadership-coach
Tags: blog,one-column,two-columns,right-sidebar,left-sidebar,footer-widgets,custom-background,custom-header,custom-menu,custom-logo,featured-images,threaded-comments,full-width-template,rtl-language-support,translation-ready,theme-options,photography,e-commerce
*/

:root {
  /* Enhanced Gentle Purple Color Palette */
  --primary-purple: #9b5de5;
  --primary-purple-rgb: 155, 93, 229;
  --secondary-lilac: #cba6f7;
  --secondary-lilac-rgb: 203, 166, 247;
  --accent-pink: #f6c6ea;
  --accent-pink-rgb: 246, 198, 234;
  --light-background: #f8f6fa;
  --light-background-rgb: 248, 246, 250;
  --dark-text: #2e2c38;
  --dark-text-rgb: 46, 44, 56;

  /* Legacy color variables for compatibility */
  --primary-color: var(--primary-purple);
  --primary-color-rgb: var(--primary-purple-rgb);
  --secondary-color: var(--secondary-lilac);
  --secondary-color-rgb: var(--secondary-lilac-rgb);
  --black-color: var(--dark-text);
  --black-color-rgb: var(--dark-text-rgb);
  --white-color: #ffffff;
  --white-color-rgb: 255, 255, 255;

  /* Enhanced Typography System */
  --heading-font: "Nunito", sans-serif;
  --body-font: "Lora", serif;
  --primary-font: var(--body-font);
  --secondary-font: var(--heading-font);
  --cursive-font: "Great Vibes", cursive;

  /* Font Size Scale */
  --font-size-xs: 0.75rem;
  --font-size-sm: 0.875rem;
  --font-size-base: 1rem;
  --font-size-lg: 1.125rem;
  --font-size-xl: 1.25rem;
  --font-size-2xl: 1.5rem;
  --font-size-3xl: 1.875rem;
  --font-size-4xl: 2.25rem;
  --font-size-5xl: 3rem;

  /* Spacing Scale */
  --spacing-xs: 0.25rem;
  --spacing-sm: 0.5rem;
  --spacing-md: 1rem;
  --spacing-lg: 1.5rem;
  --spacing-xl: 2rem;
  --spacing-2xl: 3rem;
}

/*================================
SITE HEADER STYLE TWO
================================*/

.main-navigation ul li a {
  padding: 30px 25px;
}

.site-header.style-two .container {
  max-width: 100%;
  padding-left: 14%;
  padding-right: 14%;
}

.site-header.style-two .header-top {
  background: rgba(var(--primary-color-rgb), 0.2);
}

.site-header.style-two .header-top .container {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
}

.site-header.style-two .header-top .container > div {
  width: auto;
}

.site-header.style-two .header-top .header-left {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  flex: 1;
}

.site-header.style-two .header-top .header-block {
  font-size: 0.7778em;
  letter-spacing: 0.5px;
}

.site-header.style-two .header-top .header-block + .header-block {
  margin-left: 30px;
}

.site-header.style-two .header-top .header-block svg {
  color: var(--secondary-color);
  margin-right: 5px;
}

.site-header.style-two .header-top .header-block svg.fa-phone {
  -webkit-transform: rotate(90deg);
  -moz-transform: rotate(90deg);
  transform: rotate(90deg);
}

.site-header.style-two .header-top .header-block a {
  color: var(--secondary-color);
}

.site-header.style-two .header-top .header-center {
  /* flex: 1; */
  display: flex;
  flex-direction: column;
  align-items: center;
}

.site-header.style-two .header-right .header-social + .header-search {
  margin-left: 25px;
}

.site-header.style-two .header-center + .header-right,
.site-header.style-two .header-search + .header-cart {
  border-left: 1px solid rgba(var(--primary-color-rgb), 0.56);
  padding-left: 10px;
  margin-left: 10px;
}

.site-header.style-two .header-main .site-branding {
  padding-top: 30px;
  padding-bottom: 30px;
}

.site-header.style-two .nav-wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  flex: 1;
}

.site-header.style-two .nav-wrap .button-wrap {
  flex: initial;
  padding-left: 40px;
}

.site-header.style-two .header-top .secondary-menu {
  line-height: 1;
  margin-left: 20px;
}

.site-header.style-two .header-top .secondary-menu .toggle-btn {
  display: inline-block;
  background: none;
  border: none;
  padding: 0;
  width: 30px;
  height: 30px;
  min-height: auto;
  position: relative;
}

.site-header.style-two .header-top .secondary-menu .toggle-btn .toggle-bar {
  background: rgba(var(--black-color-rgb), 0.6);
  width: 100%;
  height: 3px;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}

.site-header.style-two
  .header-top
  .secondary-menu
  .toggle-btn
  .toggle-bar:first-child {
  top: -15px;
}

.site-header.style-two
  .header-top
  .secondary-menu
  .toggle-btn
  .toggle-bar:last-child {
  bottom: -16px;
}

.site-header.style-two
  .header-top
  .secondary-menu
  .toggle-btn:hover
  .toggle-bar {
  background: var(--primary-color);
}

.site-header.style-two .header-top .secondary-menu > div {
  position: fixed;
  top: 0;
  right: 0;
  width: 350px;
  height: 100%;
  background: var(--white-color);
  box-shadow: -10px 0 20px rgba(var(--black-color-rgb), 0.15);
  z-index: 99999;
  display: none;
}

.site-header.style-two .header-top .secondary-menu .close {
  position: absolute;
  top: 35px;
  left: 10px;
  padding: 0;
  width: 25px;
  height: 25px;
  min-height: auto;
  background: none;
}

.site-header.style-two .header-top .secondary-menu .close::before,
.site-header.style-two .header-top .secondary-menu .close::after {
  content: "";
  background: var(--primary-color);
  width: 100%;
  height: 2px;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transition: all ease 0.35s;
  -moz-transition: all ease 0.35s;
  transition: all ease 0.35s;
}

.site-header.style-two .header-top .secondary-menu .close::after {
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.site-header.style-two .header-top .secondary-menu .close:hover::before,
.site-header.style-two .header-top .secondary-menu .close:hover::after {
  background: var(--secondary-color);
}

.site-header.style-two .header-top .secondary-menu .nav-menu {
  width: 350px;
  padding: 60px 40px;
  display: block;
  text-align: right;
  height: 100%;
  overflow: auto;
}

.site-header.style-two .header-top .secondary-menu ul li {
  font-size: 1.06em;
  display: block;
}

.site-header.style-two .header-top .secondary-menu ul li a {
  padding: 20px 0;
  border-bottom: 1px solid rgba(var(--primary-color-rgb), 0.35);
  display: block;
}

.site-header.style-two
  .header-top
  .secondary-menu
  ul
  li.menu-item-has-children
  > a {
  padding-left: 30px;
}

.site-header.style-two .header-top .secondary-menu ul li .submenu-toggle {
  right: auto;
  left: 0;
  width: 25px;
  height: 65px;
  -webkit-transform: none;
  -moz-transform: none;
  transform: none;
}

.site-header.style-two .header-top .secondary-menu ul li .sub-menu {
  position: static;
  width: 100%;
  background: none;
  box-shadow: none;
  clip: inherit;
  opacity: 1;
  filter: alpha(opacity=100);
  -webkit-transition: none;
  -moz-transition: none;
  transition: none;
  display: none;
}

.site-header.style-two .header-top .secondary-menu ul ul li {
  font-size: 1em;
}

.site-header.style-two
  .header-top
  .secondary-menu
  ul
  li
  .submenu-toggle.active {
  -webkit-transform: rotate(180deg);
  -moz-transform: rotate(180deg);
  transform: rotate(180deg);
}

.site-header.style-two .main-navigation ul.nav-menu > li:last-child a {
  padding-right: 0;
}

/*===========================================
SITE BANNER STATIC STYLE THREE
===========================================*/

.site-banner.static-cta.style-three {
  background: none;
  padding: 60px 60px 0;
  margin-top: 0;
  margin-bottom: 0;
}

.site-banner.style-three.video-banner .wp-custom-header {
  overflow: hidden;
}

.site-banner.style-three.video-banner .wp-custom-header video,
.site-banner.style-three.video-banner .wp-custom-header iframe {
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  -webkit-transform: translate3d(-50%, -50%, 0);
  -moz-transform: translate3d(-50%, -50%, 0);
  transform: translate3d(-50%, -50%, 0);
}

.site-banner.static-cta.style-three .item.left {
  flex-direction: row-reverse;
}

.static-cta.style-one .banner-caption .btn-readmore {
  width: 100%;
}

.site-header.style-two .header-top .header-block svg,
.site-header.style-two .header-top .header-block a,
.site-header.style-one .header-top .header-block svg,
.site-header.style-one .header-top .header-block a {
  color: rgba(var(--black-color-rgb), 0.7);
}

.main-navigation ul li:hover > a,
.main-navigation ul li > a:focus,
.main-navigation ul li.current-menu-item > a,
.main-navigation ul li.current_page_item > a,
.main-navigation ul li.current-menu-ancestor > a,
.main-navigation ul li.current_page_ancestor > a {
  color: var(--primary-color);
}

.footer-navigation ul li:hover > a,
.footer-navigation ul li > a:focus,
.footer-navigation ul li.current-menu-item > a,
.footer-navigation ul li.current_page_item > a,
.footer-navigation ul li.current-menu-ancestor > a,
.footer-navigation ul li.current_page_ancestor > a {
  color: var(--black-color);
}

.search .page-header .search-form .search-submit {
  background-color: var(--secondary-color);
  -webkit-mask-image: url('data:image/svg+xml; utf-8, <svg xmlns="http://www.w3.org/2000/svg" width="21.863" height="22" viewBox="0 0 21.863 22"><path d="M24.863,1170.255l-2.045,2.045L18,1167.482v-1.091l-.409-.409a8.674,8.674,0,0,1-5.727,2.046,8.235,8.235,0,0,1-6.273-2.591A8.993,8.993,0,0,1,3,1159.164a8.235,8.235,0,0,1,2.591-6.273,8.993,8.993,0,0,1,6.273-2.591,8.441,8.441,0,0,1,6.273,2.591,8.993,8.993,0,0,1,2.591,6.273,8.675,8.675,0,0,1-2.045,5.727l.409.409h.955ZM7.5,1163.664a5.76,5.76,0,0,0,4.364,1.773,5.969,5.969,0,0,0,4.364-1.773,6.257,6.257,0,0,0,0-8.727,5.76,5.76,0,0,0-4.364-1.773,5.969,5.969,0,0,0-4.364,1.773,5.76,5.76,0,0,0-1.773,4.364A6.308,6.308,0,0,0,7.5,1163.664Z" transform="translate(-3 -1150.3)" fill="%237D6A91"/></svg>');
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: 25px;
  mask-image: url('data:image/svg+xml; utf-8, <svg xmlns="http://www.w3.org/2000/svg" width="21.863" height="22" viewBox="0 0 21.863 22"><path d="M24.863,1170.255l-2.045,2.045L18,1167.482v-1.091l-.409-.409a8.674,8.674,0,0,1-5.727,2.046,8.235,8.235,0,0,1-6.273-2.591A8.993,8.993,0,0,1,3,1159.164a8.235,8.235,0,0,1,2.591-6.273,8.993,8.993,0,0,1,6.273-2.591,8.441,8.441,0,0,1,6.273,2.591,8.993,8.993,0,0,1,2.591,6.273,8.675,8.675,0,0,1-2.045,5.727l.409.409h.955ZM7.5,1163.664a5.76,5.76,0,0,0,4.364,1.773,5.969,5.969,0,0,0,4.364-1.773,6.257,6.257,0,0,0,0-8.727,5.76,5.76,0,0,0-4.364-1.773,5.969,5.969,0,0,0-4.364,1.773,5.76,5.76,0,0,0-1.773,4.364A6.308,6.308,0,0,0,7.5,1163.664Z" transform="translate(-3 -1150.3)" fill="%237D6A91"/></svg>');
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: 25px;
  background-image: none;
}

.main-navigation .nav-menu > li.menu-item-has-children > a::after,
.main-navigation .nav-menu li .sub-menu li.menu-item-has-children > a::after {
  background-color: currentColor;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg class='svg-inline--fa fa-caret-down fa-w-10' aria-hidden='true' data-prefix='fas' data-icon='caret-down' role='img' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512' data-fa-i2svg=''%3E%3Cpath fill='%23222222' d='M31.3 192h257.3c17.8 0 26.7 21.5 14.1 34.1L174.1 354.8c-7.8 7.8-20.5 7.8-28.3 0L17.2 226.1C4.6 213.5 13.5 192 31.3 192z'%3E%3C/path%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: 0.5em;
  mask-image: url("data:image/svg+xml,%3Csvg class='svg-inline--fa fa-caret-down fa-w-10' aria-hidden='true' data-prefix='fas' data-icon='caret-down' role='img' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512' data-fa-i2svg=''%3E%3Cpath fill='%23222222' d='M31.3 192h257.3c17.8 0 26.7 21.5 14.1 34.1L174.1 354.8c-7.8 7.8-20.5 7.8-28.3 0L17.2 226.1C4.6 213.5 13.5 192 31.3 192z'%3E%3C/path%3E%3C/svg%3E");
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: 0.5em;
  background-image: none !important;
}

@media screen and (max-width: 1572px) {
  .site-header.style-two .main-navigation ul.nav-menu > li a {
    padding-left: 15px;
    padding-right: 15px;
  }

  .site-header.style-two .container {
    padding: 0 10%;
  }
}

@media screen and (max-width: 1366px) {
  /*==============================
    SITE HEADER STYLE TWO
    ==============================*/

  .site-header.style-two .main-navigation ul.nav-menu > li .submenu-toggle {
    right: 10px;
  }
}

@media screen and (max-width: 1350px) {
  /*==============================
    SITE HEADER STYLE TWO
    ==============================*/
  .site-header.style-two .container {
    padding-left: 5%;
    padding-right: 5%;
  }

  .site-header.style-two
    .main-navigation
    ul.nav-menu
    > li.menu-item-has-children
    a {
    padding-right: 22px;
  }

  .site-header.style-two .nav-wrap .button-wrap {
    padding-left: 25px;
  }
}

@media screen and (max-width: 1199px) {
  /*==============================
    SITE HEADER STYLE TWO
    ==============================*/
  .site-header.style-two .container {
    padding-left: 3%;
    padding-right: 3%;
  }

  .site-header.style-two .main-navigation ul.nav-menu > li {
    font-size: 0.7888em;
  }

  .site-header.style-two .main-navigation ul.nav-menu > li a {
    padding-left: 10px;
    padding-right: 10px;
  }

  .site-header.style-two .nav-wrap .button-wrap {
    padding-left: 15px;
  }
}

@media screen and (max-width: 1024px) {
  .mobile-header .header-block a,
  .mobile-header .header-block svg {
    color: rgba(var(--black-color-rgb), 0.7);
  }

  .mobile-header .toggle-btn .toggle-bar {
    background: rgba(var(--black-color-rgb), 0.6);
  }
}

@media screen and (max-width: 767px) {
  /*===========================================
    SITE BANNER STATIC STYLE THREE
    ===========================================*/
  .site-banner.static-cta.style-three {
    padding-left: 3%;
    padding-right: 3%;
  }
}
/
*================================
CONTACT PAGE STYLES
================================*/

/* Contact Page Layout */
.contact-content-wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  margin: 40px 0;
}

.contact-intro {
  margin-bottom: 40px;
}

.contact-intro .entry-content {
  font-size: 1.1em;
  line-height: 1.7;
  color: var(--dark-text);
}

/* Contact Information Section */
.contact-info {
  background: var(--light-background);
  padding: 40px;
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(var(--primary-purple-rgb), 0.1);
}

.contact-info h2 {
  color: var(--primary-purple);
  font-family: var(--heading-font);
  font-size: 2em;
  margin-bottom: 30px;
  font-weight: 700;
}

.contact-details {
  margin-bottom: 40px;
}

.contact-item {
  display: flex;
  align-items: flex-start;
  margin-bottom: 25px;
  padding: 20px;
  background: var(--white-color);
  border-radius: 8px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.contact-item:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 25px rgba(var(--primary-purple-rgb), 0.15);
}

.contact-item i {
  color: var(--primary-purple);
  font-size: 1.5em;
  margin-right: 15px;
  margin-top: 5px;
  min-width: 30px;
}

.contact-item-content h3 {
  color: var(--dark-text);
  font-family: var(--heading-font);
  font-size: 1.1em;
  font-weight: 600;
  margin-bottom: 5px;
}

.contact-item-content a {
  color: var(--primary-purple);
  text-decoration: none;
  font-weight: 500;
  transition: color 0.3s ease;
}

.contact-item-content a:hover {
  color: var(--secondary-lilac);
}

.contact-item-content p {
  margin: 0;
  color: var(--dark-text);
  line-height: 1.6;
}


.contact-item-content p {
  color: var(--dark-text);
  margin: 0;
  line-height: 1.6;
}

/* Business Hours */
.business-hours {
  background: var(--white-color);
  padding: 25px;
  border-radius: 8px;
  border-left: 4px solid var(--primary-purple);
}

.business-hours h3 {
  color: var(--primary-purple);
  font-family: var(--heading-font);
  font-size: 1.3em;
  margin-bottom: 20px;
  font-weight: 600;
}

.hours-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 0;
  border-bottom: 1px solid rgba(var(--primary-purple-rgb), 0.1);
}

.hours-item:last-child {
  border-bottom: none;
}

.hours-item .day {
  font-weight: 500;
  color: var(--dark-text);
}

.hours-item .time {
  color: var(--primary-purple);
  font-weight: 600;
}

/* Contact Form Section */
.contact-form-section {
  background: var(--white-color);
  padding: 40px;
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(var(--primary-purple-rgb), 0.1);
}

.contact-form-section h2 {
  color: var(--primary-purple);
  font-family: var(--heading-font);
  font-size: 2em;
  margin-bottom: 30px;
  font-weight: 700;
}

/* Contact Messages */
.contact-message {
  padding: 15px 20px;
  border-radius: 8px;
  margin-bottom: 25px;
  font-weight: 500;
}

.contact-message.success {
  background: rgba(76, 175, 80, 0.1);
  color: #2e7d32;
  border-left: 4px solid #4caf50;
}

.contact-message.error {
  background: rgba(244, 67, 54, 0.1);
  color: #c62828;
  border-left: 4px solid #f44336;
}

/* Contact Form Styles */
.contact-form {
  max-width: 100%;
}

.form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-bottom: 20px;
}

.form-group {
  margin-bottom: 25px;
}

.form-group label {
  display: block;
  color: var(--dark-text);
  font-family: var(--heading-font);
  font-weight: 600;
  margin-bottom: 8px;
  font-size: 0.95em;
}

.form-group .required {
  color: #e53e3e;
  margin-left: 3px;
}

.form-group input,
.form-group select,
.form-group textarea {
  width: 100%;
  padding: 15px;
  border: 2px solid rgba(var(--primary-purple-rgb), 0.2);
  border-radius: 8px;
  font-family: var(--body-font);
  font-size: 1em;
  background: var(--white-color);
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
  outline: none;
  border-color: var(--primary-purple);
  box-shadow: 0 0 0 3px rgba(var(--primary-purple-rgb), 0.1);
}

.form-group textarea {
  resize: vertical;
  min-height: 120px;
}

.form-group select {
  cursor: pointer;
}

/* Contact Form Button */
.contact-submit {
  background: var(--primary-purple);
  color: var(--white-color);
  border: none;
  padding: 15px 40px;
  border-radius: 8px;
  font-family: var(--heading-font);
  font-size: 1.1em;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.contact-submit:hover {
  background: var(--secondary-lilac);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(var(--primary-purple-rgb), 0.3);
}

.contact-submit:active {
  transform: translateY(0);
}

/* Honeypot field (hidden) */
.honeypot {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

/* Map Placeholder Section */
.contact-map-placeholder {
  margin: 60px 0 40px;
  text-align: center;
}

.contact-map-placeholder h2 {
  color: var(--primary-purple);
  font-family: var(--heading-font);
  font-size: 2em;
  margin-bottom: 30px;
  font-weight: 700;
}

.map-container {
  background: var(--light-background);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(var(--primary-purple-rgb), 0.1);
}

.map-placeholder {
  padding: 80px 40px;
  text-align: center;
}

.map-placeholder i {
  font-size: 4em;
  color: var(--secondary-lilac);
  margin-bottom: 20px;
  display: block;
}

.map-placeholder p {
  color: var(--dark-text);
  font-size: 1.1em;
  line-height: 1.6;
  margin-bottom: 10px;
}

.map-placeholder p:last-child {
  margin-bottom: 0;
  font-weight: 500;
}

/* Quick Actions Section */
.contact-quick-actions {
  background: linear-gradient(
    135deg,
    var(--primary-purple),
    var(--secondary-lilac)
  );
  color: var(--white-color);
  padding: 60px 40px;
  border-radius: 12px;
  text-align: center;
  margin: 40px 0;
}

.contact-quick-actions h2 {
  color: var(--white-color);
  font-family: var(--heading-font);
  font-size: 2.2em;
  margin-bottom: 15px;
  font-weight: 700;
}

.contact-quick-actions p {
  font-size: 1.2em;
  margin-bottom: 35px;
  opacity: 0.9;
  line-height: 1.6;
}

.quick-action-buttons {
  display: flex;
  gap: 20px;
  justify-content: center;
  flex-wrap: wrap;
}

.quick-action-buttons .btn-primary,
.quick-action-buttons .btn-secondary {
  padding: 15px 30px;
  border-radius: 8px;
  text-decoration: none;
  font-family: var(--heading-font);
  font-weight: 600;
  font-size: 1.1em;
  transition: all 0.3s ease;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border: 2px solid transparent;
}

.quick-action-buttons .btn-primary {
  background: var(--white-color);
  color: var(--primary-purple);
}

.quick-action-buttons .btn-primary:hover {
  background: var(--accent-pink);
  color: var(--primary-purple);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
}

.quick-action-buttons .btn-secondary {
  background: transparent;
  color: var(--white-color);
  border-color: var(--white-color);
}

.quick-action-buttons .btn-secondary:hover {
  background: var(--white-color);
  color: var(--primary-purple);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
}

/* Responsive Design for Contact Page */
@media (max-width: 768px) {
  .contact-content-wrapper {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .contact-info,
  .contact-form-section {
    padding: 30px 20px;
  }

  .form-row {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .contact-quick-actions {
    padding: 40px 20px;
  }

  .contact-quick-actions h2 {
    font-size: 1.8em;
  }

  .quick-action-buttons {
    flex-direction: column;
    align-items: center;
  }

  .quick-action-buttons .btn-primary,
  .quick-action-buttons .btn-secondary {
    width: 100%;
    max-width: 300px;
    text-align: center;
  }

  .map-placeholder {
    padding: 60px 20px;
  }

  .map-placeholder i {
    font-size: 3em;
  }
}

@media (max-width: 480px) {
  .contact-info,
  .contact-form-section {
    padding: 20px 15px;
  }

  .contact-item {
    padding: 15px;
  }

  .business-hours {
    padding: 20px;
  }

  .hours-item {
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
  }

  .contact-quick-actions {
    padding: 30px 15px;
  }

  .contact-quick-actions h2 {
    font-size: 1.6em;
  }

  .contact-quick-actions p {
    font-size: 1.1em;
  }
}

/* Contact Form Validation Styles */
.form-group input.error,
.form-group select.error,
.form-group textarea.error {
  border-color: #e53e3e;
  box-shadow: 0 0 0 3px rgba(229, 62, 62, 0.1);
}

.form-group .error-message {
  color: #e53e3e;
  font-size: 0.85em;
  margin-top: 5px;
  display: block;
}

/* Loading state for form submission */
.contact-submit.loading {
  opacity: 0.7;
  cursor: not-allowed;
  position: relative;
}

.contact-submit.loading::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 20px;
  height: 20px;
  border: 2px solid transparent;
  border-top: 2px solid var(--white-color);
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  0% {
    transform: translate(-50%, -50%) rotate(0deg);
  }
  100% {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}

/* Featured Image for Contact Page */
.contact-hero-image {
  width: 100%;
  height: 300px;
  object-fit: cover;
  border-radius: 12px;
  margin-bottom: 30px;
  box-shadow: 0 4px 20px rgba(var(--primary-purple-rgb), 0.1);
}

@media (max-width: 768px) {
  .contact-hero-image {
    height: 200px;
    margin-bottom: 20px;
  }
}
