/*
Theme Name: Twenty Twenty-Four
Theme URI: https://wordpress.org/themes/twentytwentyfour/
Author: the WordPress team
Author URI: https://wordpress.org
Description: Twenty Twenty-Four is designed to be flexible, versatile and applicable to any website. Its collection of templates and patterns tailor to different needs, such as presenting a business, blogging and writing or showcasing work. A multitude of possibilities open up with just a few adjustments to color and typography. Twenty Twenty-Four comes with style variations and full page designs to help speed up the site building process, is fully compatible with the site editor, and takes advantage of new design tools introduced in WordPress 6.4.
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 7.0
Version: 1.3
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: twentytwentyfour
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready, wide-blocks, block-styles, style-variations, accessibility-ready, blog, portfolio, news
*/



/* Style start here  */


@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap');



body 
{
      font-family: 'Montserrat', sans-serif;

}
.social-menu {
      display: flex; 
      align-items: center;
      gap: 12px;
      color: white;
          justify-content: flex-end;
      padding: 40px; 
    } 
    .social-menu a {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 20px;
      height: 20px;
      border: 1px solid #fff;
      border-radius: 4px;  
      color: #fff; 
      font-size: 12px;
      text-decoration: none;
      transition: 0.3s;
    }
   
	.social-menu a:hover {
    	transform: scale(1.2);
	}

    .divider {
    width: 2px;
    height: 13px;
    background-color: #fff;
    margin: 0 -5px;
    }
    .menu-text {
      font-size: 16px; 
      font-weight: 500; 
    }
	header.wp-block-template-part .container { 
    background: #03041C;  
	}


  .e-n-accordion-item-title-text {
     font-size: 24px !important;
    text-align: center;
    padding: 0 40px;
    display: block;
    min-height: 80px;
    display: flex;
}
.e-n-accordion .elementor-widget-text-editor {
    padding: 20px;
    padding-bottom: 0;
}
span.e-n-accordion-item-title-icon {
    position: absolute !important;
    right: 20px;
}

span.e-n-accordion-item-title-header {
    padding-top: 24px;
    padding-bottom: 24px;
}


summary.e-n-accordion-item-title
{
    border-bottom: 1px solid #fff !important;
}

  .cls-faq summary.e-n-accordion-item-title {
    color: #fff;
}
.e-n-accordion-item:hover * {
    color: #fff; 
}

span.e-n-accordion-item-title-header * {
    color: #fff;
}
.cls-faq * {
    border: none !important;
    outline: none !important;
}
.cls-faq svg path {
    fill: #fff;
}

.menu-icon {
    display: flex;
    gap: 16px;
    align-content: center;
    align-items: center;
}

.wp-block-group.alignwide.is-layout-flow.wp-block-group-is-layout-flow, .wp-block-group.alignfull.has-global-padding.is-layout-constrained.wp-block-group-is-layout-constrained, p.wp-block-site-title, h1.has-text-align-center.wp-block-post-title {
    display: none;
}

.has-global-padding {
    padding-right: 0px;
    padding-left: 0px;
}
.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
    max-width: 100%;
    margin-left: auto !important;
    margin-right: auto !important;
}
.wp-block-group.has-global-padding.is-layout-constrained.wp-block-group-is-layout-constrained {
    display: none;
}
main#wp--skip-link--target, .entry-content.wp-block-post-content.has-global-padding.is-layout-constrained.wp-block-post-content-is-layout-constrained {
    margin-top: 0px !important;
}

.cls-btn a:before {
    content: "  " !important;
    display: inline-block;
    padding-right: 30px;
}
.cls-btn a span {
    display: inline-block;
      color: #002a55;
}
.cls-btn a {
    background: none !important;
    text-transform: uppercase;
    color: #002a55;
}
.cls-btn a:before {
    content: "\f178";
    display: inline-block;
    padding-right: 30px;
    font-size: 40px;
    font: normal normal normal 15px / 1 FontAwesome;
    background: #002a55;
    height: 35px;
    width: 35px;
    text-align: center;
    border-radius: 50%;
    display: inline-block;
    vertical-align: inherit;
    padding: 10px;
    margin-right: 18px;
    color: #002a55;
    position: absolute;
    left: -21px;
    top: 0;
}
/* ////// */
.cls-btn-white a:before {
    content: "  " !important;
    display: inline-block;
    padding-right: 30px;
}
.cls-btn-white a span {
    display: inline-block;
      color: #fff;
}
.cls-btn-white a {
    background: none !important;
    text-transform: uppercase;
    color: #fff;
}
.cls-btn-white a:before {
    content: "\f178";
    display: inline-block;
    padding-right: 30px;
    font-size: 40px;
    font: normal normal normal 15px / 1 FontAwesome;
    background: #fff;
    height: 35px;
    width: 35px;
    text-align: center;
    border-radius: 50%;
    display: inline-block;
    vertical-align: inherit;
    padding: 10px;
    margin-right: 18px;
    color: #fff;
    position: absolute;
    left: -21px;
    top: 0;
}
/* ////// */



/* form css */


/* Row Flexbox */
.form-row { 
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin-bottom: 11px;
}

/* Column sizes */
.form-group {
  flex: 1;
  display: flex;
  flex-direction: column;
}

 
 
/* Inputs + Textarea */
.wpcf7 input,
.wpcf7 textarea {
  background: #1c1b2a; /* dark background */
  border: none;
  padding: 12px;
  color: #fff;
  font-size: 16px;
  width: 100%;
}

.wpcf7 input::placeholder,
.wpcf7 textarea::placeholder {
  color: #aaa;
}

/* Labels */
.form-group label {
        font-size: 18px;
    font-weight: 400;
    margin-bottom: 8px;
    color: #fff;
    text-align: left;
    display: block;
}
span.wpcf7-not-valid-tip {
    text-align: left;
    margin-top: 4px;
}
.wpcf7-response-output {
    color: #fff;
    border: 1px solid #fff !important;
    display: none;
}
.book-your-retreat textarea {
    height: 162px;
}
.form-group-phone {
    display: grid;
    grid-template-columns: 190px 1fr;
    gap: 20px;
}

/* Submit Button */
.wpcf7 input[type="submit"] {
  background: #d5ccc3;
  color: #000;
  padding: 14px;
  border: none;
  cursor: pointer;
  text-transform: uppercase;
  font-weight: 600;
  width: 100%;
}

.form-group p {
    margin-bottom: 0;
}
.form-group br {
    display: none;
}
.wpcf7 input[type="submit"]:hover {
  opacity: 0.9;
}
/* Flex rows */
.form-row {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin-bottom: 11px;
}

/* Column widths */
.form-group {
  flex: 1;
  display: flex;
  flex-direction: column;
}
.form-group.full {
  flex: 0 0 100%;
}
.form-group.half {
  flex: 0 0 48%;
}

/* Labels */
.form-group label {
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 8px;
  color: #fff;
}

/* Inputs, Selects, Textarea */
.wpcf7 input,
.wpcf7 select,
.wpcf7 textarea {
  background: #1c1b2a; /* dark field bg */
  border: none;
  padding: 12px;
  color: #fff;
  font-size: 16px;
  width: 100%;
}

.wpcf7 input::placeholder,
.wpcf7 textarea::placeholder {
  color: #aaa;
}

/* Submit button */
.wpcf7 input[type="submit"] {
  background: #d5ccc3;
  color: #000;
  padding: 14px;
  border: none;
  cursor: pointer;
  text-transform: uppercase;
  font-weight: 600;
  width: 100%;
}

.wpcf7 input[type="submit"]:hover {
  opacity: 0.9;
}



/* from css */




/* blog shortcode  */


.custom-blog-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 30px;
}

.blog-card { 
  color: #fff; 
}


.blog-image {
  width: 100%;
  height: 180px;
  background-size: cover;
  background-position: center;
  margin-bottom: 12px;
}

.blog-meta {
  display: flex;
  justify-content: space-between;
  font-size: 14px;
  margin-bottom: 6px;
  color: #fff;
}

:root :where(.is-layout-constrained) > * {
    margin-block-start: 0rem;
    margin-block-end: 0;
}


.blog-title {
  font-size: 16px;
  font-weight: 500;
  text-transform: uppercase;
  margin: 10px 0;
  text-align: left;
   font-family: 'Montserrat', sans-serif;
}

span.icon img {
    width: 15px;
}

.blog-title a {
  color: #fff;
  text-decoration: none;
}

.blog-title a:hover {
  color: #d5ccc3;
}

.blog-icons {
  display: flex;
  gap: 10px;
  font-size: 14px;
  margin-top: 8px;
}


/* button design  */

.btn-slide  {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.7rem 1.4rem;
    background: transparent;
    color: #002a55; 
    font-weight: 600;
    text-decoration: none;
    border: 2px solid #002a55;
    border-radius: 9999px;
    overflow: hidden;
    z-index: 0;
    transition: color 0.3s ease;
    font-family: 'Montserrat', sans-serif;
    text-transform: uppercase;
}

/* sliding background layer */
.btn-slide::before {
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 0%;
  height: 100%;
  background: #002a55; /* dark background */
  z-index: -1;
  transition: width 0.4s ease;
}

/* hover: expand background, change text color */
.btn-slide:hover::before {
  width: 100%;
}

.btn-slide:hover {
  color: #fff;
}

/* arrow effect (shift slightly right) */
.btn-slide i {
  transition: transform 0.3s ease;
}
.btn-slide:hover i {
  transform: translateX(4px);
}


/* a.btn-slide.white {
    border: 1px solid #fff !important;
}
a.btn-slide.white *, a.btn-slide.white {
    color: #fff !important;
}

  */
.btn-slide.white  {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.7rem 1.4rem;
    background: transparent;
    color: #fff; 
    font-weight: 600;
    text-decoration: none;
    border: 2px solid #fff !important;
    border-radius: 9999px;
    overflow: hidden;
    z-index: 0;
    transition: color 0.3s ease;
    font-family: 'Montserrat', sans-serif;
    text-transform: uppercase;
}

/* sliding background layer */
.btn-slide.white::before {
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 0%;
  height: 100%;
  background: #000; /* dark background */
  z-index: -1;
  transition: width 0.4s ease;
}

/* hover: expand background, change text color */
.btn-slide.white:hover::before {
  width: 100%;
}
.btn-slide.white:hover {
border: 2px solid #000 !important;
}

.btn-slide.white:hover {
  color: #fff;
}

/* arrow effect (shift slightly right) */
.btn-slide.white i {
  transition: transform 0.3s ease;
}
.btn-slide.white:hover i {
  transform: translateX(4px);
}

/* blog shortcode  */



.ul-white li {
    color: #fff;
    margin-bottom: 10px;
}

.ul-white ul {
    padding-left: 20px !important;
}

 ul.custom-list {
    font-family: 'Montserrat', sans-serif !important; 
 }
/* Menu icon */
.menu-icon {
  font-size: 28px;
  background: none;
  border: none;
  cursor: pointer;
 
  position: relative;
}
a:focus {
    outline: none;
}
.white-text *, .white-text 
{
  color: #fff !important;
}
.cls-retreat ul {
    padding-left: 20px;
}

.single-post p {
    margin-bottom: 20px;
}
.single-post main#wp--skip-link--target {
    text-align: center;
}
 
.white-text a:hover 
{
  
  text-decoration: underline;
}
/* Overlay (hidden by default) */
.menu-overlay {
  position: fixed;
  top: -100%;
  left: 0;
  width: 100%;
  height: 100%;
    background: #03041C;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  z-index: 1000;

  /* Transition for slide down */
  transition: top 0.4s ease-in-out;
}

/* Overlay active (slide down) */
.menu-overlay.active {
  top: 0;
}

/* Close button */
.close-btn {
  position: absolute;
  top: 20px;
  right: 30px;
  font-size: 28px;
  background: none;
  border: none;
  color: #fff;
  cursor: pointer;
}

/* Menu items */
.overlay-nav ul {
  list-style: none;
  padding: 0;
  text-align: center;
}

.overlay-nav ul li {
  margin: 20px 0;
}

.overlay-nav ul li a {
  color: #fff;
  font-size: 24px;
  text-decoration: none;
}


/* Style start here  */