/*
 Theme Name: GuruMeditation2025
 Description: The custom theme Guru using the parent theme TwentyTwentyFour.
 Author: gurumeditation.fr
 Author URI: gurumeditation.fr
 Template: twentytwentyfive
 Version: 1.0.00b
 */
/*
 * blue 30CBFF
 * inverted CF3400
 */
/*
 .wp-site-blocks > header {
    position: fixed;
    width: 100%;
    z-index: 999;
    top: 0;
    left: 0;
	 background: linear-gradient(
    to bottom,
    #CF3400 50%,
    transparent 50%
  );
 }
.wp-block-post-template-is-layout-grid > li {
   display: grid;
   grid-auto-rows: 1fr;

}
.wp-block-post-template-is-layout-grid {
   grid-auto-rows: 1fr;
}
*/
ul.wp-block-post-template-is-layout-grid li.has-post-thumbnail {
    background-color: #fff;
}
.arrow,
.arrow:before {
  position: absolute;
  left: calc(50%);
}

.arrow {
  display: block;
  width: 24px;
  height: 24px;
  bottom: 60px;
  margin: 0 0 0 0;
  transform: rotate(45deg);
  border-left: none;
  border-top: none;
  border-right: 2px #fff solid;
  border-bottom: 2px #fff solid;
  z-index: 3;

  animation-duration: 2s;
  animation-iteration-count: infinite;
  animation-name: arrow;
}

@keyframes arrow {
  0% {
    transform: rotate(45deg) translate(0, 0);
    opacity: 1;
  }
  20% {
    transform: rotate(45deg) translate(10px, 10px);
    opacity: 0;
  }
  40% {
    transform: rotate(45deg) translate(0, 0);
    opacity: 0;
  }
}


.arrow:before {
  content: "";
    width: 24px;
    height: 24px;
    margin: 8px 0px 0px -4px;
  border-left: none;
  border-top: none;
  border-right: 2px #fff solid;
  border-bottom: 2px #fff solid;

  /*transform: rotate(45deg);*/  
}
/*
@keyframes arrow {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: translate(10px, 10px);
  }
}
*/
/*
 .wp-site-blocks {
    padding-top: 80px;
 }

#cookie_legal {

   position:fixed;
   width:100%;
   height: 100vh;
   left:0;
   top:0;
   z-index: 99999;
   font-size: var(--wp--preset--font-size--small);
   background-color: rgba(0,0,0,0.66);
   box-shadow: rgba(0,0,0,0.66) 0 3px 8px;
   display: flex;
   justify-content: center;
   align-items: center;
}
#cookie_legal > div {
   background-color: #fff;
   color: #000;
   padding: 2rem;
   max-width: 400px;
}
#cookie_legal > div > div{
   display: flex;
   justify-content: center;
   align-items: center;
   flex-direction: column;
   gap: 30px;
}
#cookie_legal h3 {
   margin: 0;
}
.cookie-buttons {
   display: flex;
   max-width: 200px;
   width: 100%;
   justify-content: space-between;
   flex-direction: row;
}
button.guru-button ,
a.guru-button{

    align-items: center;
    background: var(--wp--preset--color--base);
    border: 1px solid var(--wp--preset--color--base-2);
    cursor: pointer;
    display: flex;
    font-size: var(--wp--preset--font-size--small);
    height: 50px;
    justify-content: center;
    max-height: 50px;
    overflow: hidden;
    padding: 0 1.5rem;
    position: relative;
    transition: all .5s cubic-bezier(.19,1,.22,1);
    text-decoration: none;
    z-index: 3;
}

button.guru-button:hover ,
a.guru-button:hover{
   color: var(--wp--preset--color--base);
}

button.guru-button:after ,
a.guru-button:after,
button.guru-button:before ,
a.guru-button:before{

   background: var(--wp--preset--color--contrast-2);
    bottom: auto;
    content: "";
    height: 0;
    left: 0;
    position: absolute;
    top: 0;
    transform: none;
    transition: height .5s cubic-bezier(.73,.29,0,1);
    width: 100%;
    z-index: -1;
 }

button.guru-button:hover:before ,
a.guru-button:hover:before{

    bottom: 0;
    height: 55px;
    top: auto;

 }

button.guru-button:after ,
a.guru-button:after{
     transform: scaleX(0);
    transition-delay: 0s;
 }

button.guru-button:hover:after ,
a.guru-button:hover:after{

    bottom: 0;
    height: 55px;
    top: auto;

 }
*/



#page-transition {
    position: fixed;
    z-index: 998;
    opacity: 0;
    height: 1px;
}

body.exit #page-transition {
    width: 100vw;
    height: 100vh;
    top: 0;
    left:  0 ;
    opacity: 1;
    background-color: var(--wp--preset--color--contrast-2);
    background-color: transparent;
    background-color: #fff;
    /*transition: height 0.3s 0.2s ease-in;*/
    transition: opacity 0.3s 0.2s ease-in, opacity 0.3s 0.2s ease-in;;
    border-right: 1px solid #fff;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    -o-backdrop-filter: blur(12px);
    display: flex;
    justify-content: center;
    align-items: center;
}
body.exit #page-transition > div{
   opacity: 0;
    width: 50vw;
    height: 50vh;
   /* background: transparent url(public/img/exit.png) no-repeat center;
   /* background-size: contain; */
    
}
body.exit #page-transition.reload > div{
   opacity: 1;
   transition: opacity 0.2s 0s ease-out;
}
.wp-block-navigation-item__label > img {

    align-items: center;
    border: 1px solid var(--wp--preset--color--contrast-2);
    border-radius: 50%;
    cursor: pointer;
    display: inline-block;
    height: 28px;
    justify-content: center;
    overflow: hidden;
    width: 28px;

}

.wp-block-categories li {
   transition: background-color 0.3s 0s ease-in;
   padding: var(--wp--preset--spacing--20);
   margin-bottom: 0;
   border-top: 1px solid var(--wp--preset--color--base-2);
   border-top: 1px solid #1d3846;
     
}
.wp-block-categories li:last-child {
   border-bottom: 1px solid var(--wp--preset--color--base-2);
   border-bottom: 1px solid #1d3846;
}
.wp-block-categories li:hover {
   transition: background-color 0.3s 0.1s ease-out;
    background-color: var(--wp--preset--color--contrast-3);
}

.wp-block-categories li {
   font-size: var(--wp--preset--font-size--small);
}

.wp-block-categories li a {
   font-size: var(--wp--preset--font-size--large);
}

/*
.is-style-outline.is-style-outline > .wp-block-button__link {
   transition:  all 0.2s 0s cubic-bezier(.64,.14,.27,.74);
}
.is-style-outline.is-style-outline > .wp-block-button__link.on {
   background-color: var(--wp--preset--color--black);
   color: var(--wp--preset--color--white);

}
.wp-block-button.is-style-outline > .wp-block-button__link:hover {
   background-color: var(--wp--preset--color--contrast-2, var(--wp--preset--color--contrast, transparent));
    color: var(--wp--preset--color--base);
    border-color: var(--wp--preset--color--contrast-2, var(--wp--preset--color--contrast, currentColor));
}
*/

.wp-block-media-text>.wp-block-media-text__content {
    padding: 0 0 0 8%;
}
.wp-block-media-text.has-media-on-the-right>.wp-block-media-text__content {
    padding: 0 8% 0 0;
}


.wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content {
   position: relative;
}
.wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content:hover {
   text-decoration: none;
}
.wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content::before{
  content: "";
  width: 100%;
  height: 2px;
  position: absolute;
  left: 0;
  bottom: 0;
  background: #fff;
  transition: 0.5s transform ease-in-out;
  transform: scale3d(0,1,1);
  transform-origin: 100% 50%;
  opacity: 0.8;
}
.wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content:hover::before{
  transform: scale3d(1,1,1);
}
.wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content::before{
  background: var(--wp--preset--color--contrast-2);;
  transform-origin: 0 50%;
}
.wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content:hover::before{
  opacity: 1;
  transform-origin: 0 50%;
}
.wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open {
   background-color: var(--wp--preset--color--base);
}
.wp-block-navigation.items-justified-right .wp-block-navigation__container .has-child .wp-block-navigation__submenu-container, .wp-block-navigation.items-justified-right .wp-block-page-list>.has-child .wp-block-navigation__submenu-container, .wp-block-navigation.items-justified-space-between .wp-block-page-list>.has-child:last-child .wp-block-navigation__submenu-container, .wp-block-navigation.items-justified-space-between>.wp-block-navigation__container>.has-child:last-child .wp-block-navigation__submenu-container {
    left: 0;
    right:auto;
}
.wp-block-navigation:not(.has-text-color) .wp-block-navigation__submenu-container {
    color: #000;
}
.wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container {
    background-color: #fff;
    border-width: 0;
}

/*
Woocommerce
*/
.wp-block-woocommerce-product-image a > img {
    /* FORMAT ALL IMAGES TO FILL EQUIVALENT SPACE,
    to remove jitter on replacement */
    height: 100%;
    width: 100%;
    object-fit: contain !important;
    padding: 0;
    margin: 0 auto;
    transition: opacity 0.4s 0.1s ease-in;

}
.wp-block-woocommerce-product-image a > img {
    
}
.wp-block-woocommerce-product-image a  {
    position: relative;
    overflow: hidden;
}
/* CUSTOM ON-HOVER IMAGE */
.guru-woocommerce-hover a img { 
    background-color: #fff;
}
.guru-woocommerce-hover a:hover > img:nth-of-type(1) {
    opacity: 1;
}
.guru-woocommerce-hover a > img:nth-of-type(2) {
    position: absolute;
    left:0;
    top:0;
    z-index: -1;
}
.guru-woocommerce-hover a:hover > img:nth-of-type(2) {
}
.guru-woocommerce-hover a:hover > img:nth-of-type(1) {
    opacity: 0;
}

/*

*/
.guru-justify p {
   text-align: justify !important;
}
.guru-banners .wp-block-column {
   display: flex;
   flex-direction: column;
}
.guru-banners .wp-block-cover {
   cursor: pointer;
   overflow: hidden;
}
.guru-banners .wp-block-cover__background {
   transform: scale3d(0,0,0);
}
.guru-banners  .wp-block-cover.guru-cover .wp-block-cover__background {
   transform: scale3d(1.0, 1.0, 1.0);
}

.guru-banners  .wp-block-cover .wp-block-cover__image-background {
   transition: transform 0.4s 0.3s ease-out;
}
.guru-banners  .wp-block-cover.guru-cover .wp-block-cover__image-background {
   transform: scale3d(1.2,1.2,1.2);
   transition: transform 12s 0s ease-in;
}
.guru-banners .wp-block-cover__inner-container {
   opacity: 0;
   transition: transform 0.3s 0.1s ease-in-out ;
}
.guru-banners  .wp-block-cover.guru-cover .wp-block-cover__inner-container {
   opacity: 1;
   transition: opacity 0.1s 0s ease-in-out;
}

.wp-container-core-columns-is-layout-3 {
    gap: 2em 2vh;
}
.wp-block-columns-is-layout-flex {
	gap: 20px;
}

@media (max-width: 781px) {

	header .wp-block-site-logo img  {
		width:33vw;
	}
   .wp-container-core-group-is-layout-5, .wp-block-group-is-layout-grid {
          grid-template-columns: repeat(2, minmax(0, 1fr));
   }

   .wp-block-media-text.has-media-on-the-right>.wp-block-media-text__content,
   .wp-block-media-text>.wp-block-media-text__content {
       padding: 0 8%;
   }
.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column > :last-child {
       margin-block-end: 1.2em;

}
.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column:last-child > :last-child {
       margin-block-end: 0;

}
.wp-block-columns.guru-banners {
   gap: 0;
}
   /*
   .guru-banners .wp-block-column:nth-child(2n) {
      flex-direction: column-reverse;
   }
   .guru-banners .wp-container-core-column-is-layout-2 > :last-child{
      margin-block-start: 0;
      margin-block-end: 0;
   }
   .guru-banners .wp-container-core-column-is-layout-2 > :first-child{
      margin-block-start: 0;
      margin-block-end: 0;
      margin-top: var(--wp--preset--spacing--50);
   }
   */
}

.home :where(.wp-site-blocks) > * {margin-block-start: 0px;}
.home .wp-site-blocks {
   padding-top: 0;
}
.home header > div.has-base-background-color { transition: background-color 0.1s 0s ease-in; }
.home header.ontop > div.has-base-background-color { background-color: transparent !important; transition: background-color 0.1s 0.1s ease-in; }

.guru_full_banner .wp-block-cover__inner-container {
    opacity: 0;   
    transition: opacity 0.2s 0.3s ease-out;
}
.guru_full_banner.show .wp-block-cover__inner-container{
    opacity: 1;   
}

 header h2,
 header nav 
{ 
}
.home header.ontop  .hideontop
{ /*opacity: 0;*/

   display: none;
 }
 .wp-block-site-logo img {
   image-rendering: smooth;
 }
 /*
 .home header.ontop .wp-block-site-logo img {
   filter: invert(1);
   transition: filter 0.2s 0 ease-in-out;
 }
/*
Splide JS
*/
.splide { width:calc(100%); }
.splide__list {    }
.splide__pagination__page {
    background: #000;
    border: 0;
    border: 2px solid #000;
    border-radius: 0;
    display: inline-block;
    height: 16px;
    margin: 3px;
    opacity: .7;
    padding: 0;
    position: relative;
    transition: transform .2s linear;
    width: 16px;
    transform:scale(0.8);
}
.splide__pagination__page.is-active {

    background: #fff;
    transform:scale(1);
}
.splide__arrow {
    -ms-flex-align: center;
    align-items: center;
    background: #000;
    border: 2px solid #000;
    border-radius: 0;
    cursor: pointer;
    display: -ms-flexbox;
    display: flex;
    height: 2em;
    -ms-flex-pack: center;
    justify-content: center;
    opacity: .7;
    padding: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 2em;
    z-index: 1;
}
.splide__arrow svg {
    fill: #fff;
    height: 1.2em;
    width: 1.2em;
}

/*
Ninja Forms
*/
/* CSS Variables */
:root {
  --input-width: 360px;
  --input-font-size: 14px;
  --input-pad-x: 42px;
  --input-pad-y: 10px;
  --input-pad-x-right: 14px;
  --input-radius: 8px;
  --input-bg: #ffffff;
  --input-color: #111827;
  --input-placeholder: #9ca3af;
  --input-border: 1px solid #d1d5db;
  --input-focus-color: #3b82f6;
  --input-focus-ring: 2px;
  --input-icon-color: #6b7280;
}

/* Styles */
.input-wrapper {
  position: relative;
  display: flex;
  width: var(--input-width);
}

input {
  width: 100%;
  font-family: inherit;
  font-size: var(--input-font-size);
  padding: var(--input-pad-y) var(--input-pad-x-right) var(--input-pad-y) var(--input-pad-x);
  border-radius: var(--input-radius);
  background: var(--input-bg);
  color: var(--input-color);
  border: var(--input-border);
  outline: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

input::placeholder {
  color: var(--input-placeholder);
}

input:focus {
  border-color: var(--input-focus-color);
  box-shadow: 0 0 0 2px rgba(59,130,246,0.35);
}


.listcheckbox-container .nf-field-element label {
   cursor: pointer;
}
.nf-form-content .list-select-wrap .nf-field-element>div, .nf-form-content input:not([type=button]), .nf-form-content textarea {
    /*
    background: #f7f7f7;
    border-bottom: 2px solid #000;
    border-right: 2px solid #000;
    border-width: 0;
    border-radius: 48px;*/
    border-radius: 0;
    border: 0;
    background-color: transparent;
    background-color: #dedede;
    border-bottom: 2px solid #000;
    color: #000;
}
.nf-error.field-wrap .nf-field-element:after {
  /*  border-radius: 48px; */
    border-radius: 0;  
    background-color: var(--wp--preset--color--contrast);
}
.nf-form-content button, .nf-form-content input[type=button], .nf-form-content input[type=submit] {
    color: #000;
    border-radius: 0;
    cursor: pointer;
}
.nf-form-fields-required {
   font-size: var(--wp--preset--font-size--x-small);
   display: none;
}
/*
.nf-form-content .label-above .nf-field-label, .nf-form-content .label-below .nf-field-label, .nf-form-content .label-hidden .nf-field-label {
   border-bottom: 2px solid var(--wp--preset--color--contrast);
}
*/
#ninja_forms_required_items, .nf-field-container {
   margin-bottom: 1.2rem;
}
nf-field:last-child .nf-field-container {
   margin-bottom: 0;
}
.nf-error .nf-error-msg {
   font-size: 0.8em;
}
.nf-error .ninja-forms-field {
    border-color: var(--wp--preset--color--contrast) !important;
}
.nf-field-container.guru-nf-half-left {
   float: left;
   width: 49%;
   clear: none;
   margin-right: 2%;
 }
.nf-field-container.guru-nf-half-right {
   float: right;
   width: 48%;
   clear: none;
 }
.nf-field-container.guru-nf-third-left {
   float: left;
   width: 32%;
   clear: none;
   margin-right: 2%;
 }
.listcheckbox-container .nf-field-element label:before,
.listcheckbox-container .nf-field-element label:after {
    top: 1px;
}

.nf-form-content .listselect-wrap .nf-field-element div, .nf-form-content input.ninja-forms-field:not([type=submit]), .nf-form-content select.ninja-forms-field:not([multiple]) {
}
.label-hidden .nf-field-label
{
   display: none;
}
.list-checkbox-wrap .nf-field-element li:last-child {
   margin-bottom: 6px !important;
}
.html-container:not(.has-x-small-font-size) .html-wrap p {

    padding-left: 1rem;
    border-bottom: 2px solid #000;
    font-weight: 700;
    text-transform: uppercase;
    font-size: var(--wp--preset--font-size--x-small);
    margin-bottom: 0;
 }
