/*
Theme Name:   Kadence Child
Theme URI:    https://www.kadencewp.com/kadence-theme/
Description:  Kadence Child is a lightweight child theme built to extend the Kadence WordPress Theme. It inherits the parent theme’s design, performance, accessibility, and customization features, including its drag-and-drop header and footer builder, global font and color controls, and starter templates. It provides a safe foundation for adding custom styles, template modifications, and functionality while keeping your customizations separate from the parent theme files. Kadence Theme must be installed for Kadence Child to work.
Author:       Mohammed Abdullah
Author URI:   https://mohammedabdulla.com/
Template:     kadence
Version:      1.0.2
Text Domain:  kadence-child
Tags: translation-ready, Accessibility Ready, Two Columns, Right Sidebar, Left Sidebar, Footer Widgets, Blog, Custom Logo, Custom Background, custom-menu, rtl-language-support, Editor Style, threaded-comments, Custom Colors, Featured Images, Wide Blocks, Full Width Template, Theme Options, E-Commerce
*/
/* ============================================================================================================
   ADD YOUR ACTUAL CUSTOM CSS BELOW THIS LINE
   ==========================================================================================================*/
/*===========================
	CSS Animations Code
	=========================*/
.card-lift {
  transition: transform .25s ease;
}

.card-lift:hover {
  transform: translateY(-7px);
}

/*--------------------------------------------------------*/

@keyframes callpulseblue {
  0% {
    box-shadow:
      0 0 0 0 rgba(0, 82, 204, 0.75),
      0 0 8px rgba(0, 82, 204, 0.50);
  }

  70% {
    box-shadow:
      0 0 0 16px rgba(0, 82, 204, 0),
      0 0 18px rgba(0, 82, 204, 0.12);
  }

  100% {
    box-shadow:
      0 0 0 0 rgba(0, 82, 204, 0),
      0 0 0 rgba(0, 82, 204, 0);
  }
}

.call-pulse-blue .elementor-icon {
  display: inline-flex;
  border-radius: 50%;
  animation: callpulseblue 2.2s ease-out infinite;
}

/*-----------------------------------------------------------*/

@keyframes callpulseyellow {
  0% {
    box-shadow:
      0 0 0 0 rgba(255, 193, 7, 0.85),
      0 0 8px rgba(255, 193, 7, 0.60);
  }

  70% {
    box-shadow:
      0 0 0 16px rgba(255, 193, 7, 0),
      0 0 18px rgba(255, 193, 7, 0.15);
  }

  100% {
    box-shadow:
      0 0 0 0 rgba(255, 193, 7, 0),
      0 0 0 rgba(255, 193, 7, 0);
  }
}

.call-pulse-yellow .elementor-icon {
  display: inline-flex;
  border-radius: 50%;
  animation: callpulseyellow 2.2s ease-out infinite;
}

/*--------------------------------------------------------------------*/

@media (prefers-reduced-motion: reduce) {
  .elementor-invisible {
    visibility: visible !important;
  }

  .animated {
    animation: none !important;
  }

  .card-lift {
    transition: none !important;
  }

  .card-lift:hover {
    transform: none !important;
  }

  .call-pulse-blue .elementor-icon,
  .call-pulse-yellow .elementor-icon {
    animation: none !important;
  }
}

/*==============================================
	Main Body Pages — Desktop & Base Styles
	============================================*/
body.page:not(.elementor-page) #primary,
body.error404 #primary,
body.search-results #primary {
    padding-top: 80px;
    font-family: 'Inter', sans-serif;
}

body.page:not(.elementor-page) #primary h1,
body.error404 #primary h1 {
    font-family: 'Fraunces', serif;
}

/* Main Body Pages — Tablet Responsive */
@media screen and (max-width: 1024px) {
    body.page:not(.elementor-page) #primary,
    body.error404 #primary,
    body.search-results #primary {
        padding-top: 80px;
    }
}

/* Main Body Pages — Mobile Responsive */
@media screen and (max-width: 767px) {
    body.page:not(.elementor-page) #primary,
    body.error404 #primary,
    body.search-results #primary {
        padding-top: 80px;
    }
}

/*============================================
	Archive & Single Post — Main Layout
	==========================================*/
.archive #wrapper,
.single-post #wrapper {
    padding-top: 85px !important;
    overflow-x: hidden !important;
}

.archive #inner-wrap,
.single-post #inner-wrap {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}


/* Tablet Responsive */
@media screen and (max-width: 1024px) {

    .archive #wrapper,
    .single-post #wrapper {
        padding-top: 85px !important;
    }

    .archive #primary,
    .single-post #primary,
    .archive #secondary,
    .single-post #secondary {
        width: 100% !important;
        max-width: 100% !important;
        float: none !important;
        box-sizing: border-box !important;
    }

}


/* Mobile Responsive */

@media screen and (max-width: 767px) {
    .archive #wrapper,
    .single-post #wrapper {
        padding-top: 100px !important;
    }

    /* Archive Posts: Single Column */
    .archive #archive-container {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .archive #archive-container .entry-list-item,
    .archive #archive-container .loop-entry,
    .single-post .entry-content-wrap,
    .single-post .entry-hero {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
        overflow-wrap: break-word !important;
    }

    /* Title Text Wrapping */
		.single-post h1.entry-title,
		.archive h1.page-title {
    		overflow-wrap: anywhere;
	}

}


/* Category Archive: Fix Left & Right Spacing Only */
body.archive .site-container {
    padding-left: 20px;
    padding-right: 20px;
    box-sizing: border-box;
}

body.archive #primary,
body.archive #main {
    padding-left: 0;
    padding-right: 0;
}


/* Single Blog Post: Reduce Left & Right Spacing */
body.single-post .content-container.site-container {
        width: 100%;
        max-width: 100%;
        padding-left: 16px !important;
        padding-right: 16px !important;
        box-sizing: border-box;
    }

body.single-post #primary,
body.single-post #main,
body.single-post #main > .content-wrap {
        padding-left: 5px !important;
        padding-right: 5px !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

/*=============================
	Archive — Title Spacing
	===========================*/

.archive .post-archive-title {
    margin-bottom: 25px !important;
    padding-bottom: 0 !important;
}

.archive .post-archive-title .page-title {
    margin-bottom: 0 !important;
}

.archive #primary {
    margin-top: 0 !important;
    padding-top: 0 !important;
}


/* Archive — Tablet Title Spacing */
@media screen and (min-width: 768px) and (max-width: 1024px) {

    .archive .post-archive-title {
        margin-bottom: 25px !important;
    }

}

/* Archive — Mobile Title Spacing */
@media screen and (max-width: 767px) {

    .archive .post-archive-title {
        margin-bottom: 20px !important;
    }

}

/*==========================================================================
	Sidebar — Remove Background, Reset Spacing & Align Content
	========================================================================*/
.primary-sidebar,
#secondary,
.primary-sidebar .widget,
.primary-sidebar ul,
.primary-sidebar li {
  background: transparent !important;
  background-color: transparent !important;
  padding: 0px !important;
  text-align: left !important;
  margin-left: 0 !important;
  padding-left: 0 !important;
  list-style: none !important;
}

/*============================
	Sidebar — Top Spacing
	==========================*/
.primary-sidebar,
#secondary {
  margin-top: 35px !important;
}

/*=======================================
	Sidebar — Search Label Styling
	======================================*/
.primary-sidebar .wp-block-search__label,
#secondary label {
  font-family: 'Fraunces', serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #5E675C !important;
  margin-bottom: 12px !important;
  display: block !important;
}

/*===================================
	Sidebar — Heading Styling
	=================================*/
.primary-sidebar .widget-title,
.primary-sidebar .wp-block-heading,
#secondary .widget-title,
#secondary h2, 
#secondary h3 {
  font-family: 'Fraunces', serif !important;
  color: #2E3730 !important;
  text-align: left !important;
  margin-top: 25px !important;
}

/*================ Sidebar — Link Styling ==========================*/
.primary-sidebar a,
#secondary a {
  font-family: 'Inter', sans-serif !important;
  color: #46564a !important;
  text-decoration: none !important;
  font-weight: 700 !important;
  display: inline-block !important;
  text-align: left !important;
  transition: all 0.3s ease !important;
}

.primary-sidebar a:hover,
#secondary a:hover {
  color: #B99A62 !important;
  font-weight: bold !important;
  text-decoration: none !important;
}


/*================ Sidebar Search Form — Base Layout ==========================*/
.primary-sidebar .wp-block-search,
#secondary .search-form {
  display: block !important;
  width: 100% !important;
}


/*================ Sidebar Search Form — Desktop & Tablet Layout ==========================*/
.primary-sidebar .wp-block-search__inside-wrapper,
#secondary .search-form {
  display: flex !important;
  flex-direction: row !important;
  gap: 8px !important;
  align-items: center !important;
  width: 100% !important;
}


/*================ Sidebar Search Input — Styling ==========================*/
.primary-sidebar input[type="search"],
.primary-sidebar .wp-block-search__input,
#secondary .wp-block-search__input {
  font-family: 'Inter', sans-serif !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  background-color: #ffffff !important;
  color: #333333 !important;
  border: 1px solid #d1d5db !important;
  border-radius: 6px !important;
  padding: 10px 14px !important;
  font-size: 14px !important;
  box-sizing: border-box !important;
  height: 44px !important;
}


/*================ Sidebar Search Input — Placeholder Styling ==========================*/
.primary-sidebar input[type="search"]::placeholder,
#secondary .wp-block-search__input::placeholder {
  font-family: 'Fraunces', serif !important;
  color: #9ca3af !important;
  font-size: 13px !important;
  opacity: 1 !important;
  font-style: italic !important;
}


/*================ Sidebar Search Button — Base Styling ==========================*/
.primary-sidebar button[type="submit"],
.primary-sidebar .wp-block-search__button,
#secondary .wp-block-search__button {
  font-family: 'Fraunces', serif !important;
  background-color: #2E3730 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 6px !important;
  padding: 0 18px !important;
  height: 44px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: background-color 0.2s ease !important;
  white-space: nowrap !important;
}

.primary-sidebar button[type="submit"]:hover,
.primary-sidebar .wp-block-search__button:hover,
#secondary .wp-block-search__button:hover {
  background-color: #B99A62 !important;
}


/*================ Sidebar — Tablet Responsive Spacing ==========================*/
@media screen and (max-width: 1024px) {
  .primary-sidebar, #secondary {
    padding: 0px !important;
  }
}


/*================ Sidebar — Mobile Responsive Layout ==========================*/
@media screen and (max-width: 767px) {
  .primary-sidebar, #secondary {
    padding: 0px !important;
    margin-top: 25px !important;
  }
  
  /* Mobile Search Form — Vertical Stack */
  .primary-sidebar .wp-block-search__inside-wrapper,
  .primary-sidebar .wp-block-search,
  #secondary .search-form {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 10px !important;
    width: 100% !important;
  }

  /* Mobile Search Input — Full Width */
  .primary-sidebar input[type="search"],
  .primary-sidebar .wp-block-search__input,
  #secondary .wp-block-search__input {
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
    box-sizing: border-box !important;
    display: block !important;
    height: 44px !important;
  }

  /* Mobile Search Button — Full Width Container Alignment */
  .primary-sidebar button[type="submit"],
  .primary-sidebar .wp-block-search__button,
  #secondary .wp-block-search__button {
    width: auto !important;
	min-width: 100px !important;
	padding: 0 20px !important;
	height: 40px !important;
    align-self: flex-start !important;
    text-align: center !important;
  }
}

/*============================
   Comment Box CSS Fix
   =========================== */

/* 1. Outer Area Reset (Remove duplicate box) */
#comments.comments-area {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin-top: 40px !important;
}

/* 2. Main Comment Box Container */
#respond.comment-respond {
    background-color: #ffffff !important;
    border-radius: 15px !important;
    padding: 35px 30px !important;
    box-shadow: 0 10px 30px rgba(46,55,48,.10) !important;
    box-sizing: border-box !important;
}

/* 3. Heading Spacing Fix */
#comments .comment-reply-title {
    font-family: 'Fraunces', serif !important;
    color: #2E3730 !important;
    font-size: 24px !important;
    font-weight: 700 !important;
    margin-bottom: 8px !important;
}

/* 4. Notes Text Spacing */
#comments .comment-notes {
    font-family: 'Inter', sans-serif !important;
    color: #5E675C !important;
    font-size: 14px !important;
    margin-bottom: 25px !important;
}

/* 5. Comment Textarea Form Wrapper */
#comments .comment-form-comment {
    margin-bottom: 25px !important;
    position: relative !important;
}

/* 6. Name and Email Row Spacing */
#comments .comment-input-wrap {
    display: flex !important;
    gap: 20px !important;
    margin-bottom: 20px !important;
}

#comments .comment-input-wrap p {
    flex: 1 !important;
    margin-bottom: 0 !important;
    position: relative !important;
}

/* 7. All Input & Textarea Styling */
#comments textarea#comment,
#comments input[type="text"],
#comments input[type="email"] {
    font-family: 'Inter', sans-serif !important;
    background-color: #fcfcfc !important;
    color: #333333 !important;
    border: 1px solid #d1d5db !important;
    border-radius: 8px !important;
    padding: 14px 16px !important;
    font-size: 14px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    transition: all 0.25s ease !important;
}

/* Focus Glow Effect */
#comments textarea#comment:focus,
#comments input[type="text"]:focus,
#comments input[type="email"]:focus {
    background-color: #ffffff !important;
    border-color: #B99A62 !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(185, 154, 98, 0.15) !important;
}

/* 8. Checkbox Alignment Fix */
#comments .comment-form-cookies-consent {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin-bottom: 25px !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    color: #5E675C !important;
}

#comments .comment-form-cookies-consent input[type="checkbox"] {
    margin: 0 !important;
    accent-color: #2E3730 !important;
}

/* 9. Submit Button Fix */
#comments .form-submit {
    margin-bottom: 0 !important;
}

#comments input[type="submit"]#submit {
    font-family: 'Fraunces', serif !important;
    background-color: #2E3730 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 25px !important;
    padding: 12px 30px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
}

#comments input[type="submit"]#submit:hover {
    background-color: #B99A62 !important;
}

/*----------------------- Tablet Responsive ----------------------------*/
@media screen and (max-width: 1024px) {
    #respond.comment-respond {
        padding: 28px 24px !important;
    }
}

/*---------------------- Mobile Responsive ----------------------------*/
@media screen and (max-width: 767px) {
    #respond.comment-respond {
        padding: 20px 16px !important;
    }

    #comments .comment-input-wrap {
        flex-direction: column !important;
        gap: 15px !important;
    }
}

/*========================== Mobile HFE Navigation Menu Position Fix ================================*/
/* Mobile HFE Navigation Menu Full Width Position Fix */
@media (max-width: 1024px) {
    /* Mobile HFE Menu Wrapper Full-Width Positioning */
    .elementor-element-b314c6b .hfe-active-menu.hfe-active-menu-full-width + .hfe-nav-menu__layout-horizontal {
        position: fixed !important;
        top: 80px !important;
        left: 0 !important;
        right: 0 !important;
        width: 100vw !important;
        max-width: 100vw !important;
        transform: none !important;
        box-sizing: border-box !important;
        z-index: 999999 !important;
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
/*=======================  ==========================*/