body,.animsition-loading{background-color: var(--theme-color-opa); }
a,.text-theme{color: var(--theme-color);}
.text-theme-2{color: var(--theme-color2);}
.text-theme-3{color: var(--theme-color3);}
.text-theme-4{color: var(--theme-color4);}
.text-theme-blue{color: var(--theme-blue);}
[dir=ltr].fa-dir-flip .fa.fa-flip-horizontal,
[dir=rtl].fa-dir-flip .fa,
[dir=rtl] .fa.fa-dir-flip {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);
  -webkit-transform: scale(-1, 1);
      -ms-transform: scale(-1, 1);
          transform: scale(-1, 1);
}
[dir=rtl].fa-dir-flip .fa-flip-horizontal,
[dir=ltr].fa-dir-flip .fa,
[dir=ltr] .fa.fa-dir-flip {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=0);
  -webkit-transform: scale(1, 1);
      -ms-transform: scale(1, 1);
          transform: scale(1, 1);
}
:not([dir=rtl]) [dir=ltr] .fa.fa-dir-flip {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=0)!important;
  -webkit-transform: scale(1, 1)!important;
      -ms-transform: scale(1, 1)!important;
          transform: scale(1, 1)!important;
}

:not([dir=ltr]) [dir=rtl] .fa.fa-dir-flip, :not([dir=ltr]) [dir=rtl] .fa.fa-dir-flip .text-lg-right {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)!important;
  -webkit-transform: scale(-1, 1)!important;
      -ms-transform: scale(-1, 1)!important;
          transform: scale(-1, 1)!important;
}
p, li {font-size: 1.2rem;color:#000;}
div#tarteaucitronServices {border-radius: 0.7em;}
#tarteaucitronAlertSmall #tarteaucitronCookiesListContainer #tarteaucitronClosePanelCookie, #tarteaucitron #tarteaucitronClosePanel {background: var(--theme-color3)!important;border-radius: 5px 5px 0 0;}
#tarteaucitron .tarteaucitronBorder, #tarteaucitronAlertSmall #tarteaucitronCookiesListContainer #tarteaucitronCookiesList .tarteaucitronCookiesListMain, #tarteaucitronAlertSmall #tarteaucitronCookiesListContainer #tarteaucitronCookiesList, #tarteaucitronAlertSmall #tarteaucitronCookiesListContainer #tarteaucitronCookiesList .tarteaucitronHidden, #tarteaucitron #tarteaucitronServices .tarteaucitronMainLine{border-color: var(--theme-color3)!important;}
#tarteaucitron #tarteaucitronServices .tarteaucitronMainLine{background-color: var(--theme-color3)!important;}
#tarteaucitronAlertSmall #tarteaucitronCookiesListContainer #tarteaucitronCookiesList .tarteaucitronTitle, #tarteaucitron #tarteaucitronServices .tarteaucitronTitle button, #tarteaucitron #tarteaucitronInfo, #tarteaucitron #tarteaucitronServices .tarteaucitronDetails{background-color: var(--theme-color2)!important;}
#tarteaucitronManager {background: var(--theme-color3)!important;border-radius: 50%!important;}
#scrollTop::after, #scrollTop::before,.custom-control-input:checked ~ .custom-control-label::before{background: var(--theme-color3)!important;}
.colored #header .header-inner,
.colored #header #header-wrap,
#header.colored .header-inner,
#header.colored #header-wrap,#header.colored #mainMenu nav > ul > li .dropdown-menu,
#header.colored #mainMenu nav > ul > li.hover-active > a, #header.colored #mainMenu nav > ul > li.hover-active > span, #header.colored #mainMenu nav > ul > li.current > a, #header.colored #mainMenu nav > ul > li.current > span, #header.colored #mainMenu nav > ul > li:hover > a, #header.colored #mainMenu nav > ul > li:hover > span, #header.colored #mainMenu nav > ul > li:focus > a, #header.colored #mainMenu nav > ul > li:focus > span,
#header.colored #mainMenu nav > ul > li .dropdown-menu > li.current > a, #header.colored #mainMenu nav > ul > li .dropdown-menu > li.current > span, #header.colored #mainMenu nav > ul > li .dropdown-menu > li:hover > a, #header.colored #mainMenu nav > ul > li .dropdown-menu > li:hover > span, #header.colored #mainMenu nav > ul > li .dropdown-menu > li:focus > a, #header.colored #mainMenu nav > ul > li .dropdown-menu > li:focus > span, #header.colored #mainMenu nav > ul > li .dropdown-menu > li:active > a, #header.colored #mainMenu nav > ul > li .dropdown-menu > li:active > span, #header.colored #mainMenu nav > ul > li .dropdown-menu > li.hover-active > a, #header.colored #mainMenu nav > ul > li .dropdown-menu > li.hover-active > span {
  background-color: var(--theme-color); 
  color: #fff!important;
  }
  #mainMenu.menu-outline nav > ul > li.current > a, #mainMenu.menu-outline nav > ul > li:hover > a, #mainMenu.menu-outline nav > ul > li:focus > a {
    border-color: var(--theme-color2);
    background-color: transparent;
    border-radius: 16px;
  }
  #header.header-sticky.sticky-active .header-inner, #header.header-sticky.sticky-active #header-wrap {
    background-color: #fff;
  }
  #header.header-sticky.sticky-active #mainMenu nav > ul > li.current > a  {color: var(--theme-color)!important;}
  .lines, .lines::before, .lines::after {background-color: var(--theme-color3);height: 4px;}
#topbar.topbar-colored, #topbar.topbar-colored.dark {
  background-color: var(--theme-color-opa);
}
.animation-toggle-wrapper{position:fixed;bottom:20px;left:20px;display:flex;align-items:center;gap:10px;background:#89ce00;padding:10px 15px;border-radius:25px;box-shadow:0 2px 8px rgba(0,0,0,.15);z-index:1000}.toggle-label{font-size:14px;color:#fff;user-select:none;font-weight:500}.switch{position:relative;display:inline-block;width:46px;height:24px}.slider,.slider:before{position:absolute;transition:.3s}.switch input{opacity:0;width:0;height:0}.slider{top:0;left:0;right:0;bottom:0;background-color:#222;border-radius:24px}.slider:before{content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;border-radius:50%}input:focus+.slider{box-shadow:0 0 2px var(--theme-color)}input:checked+.slider:before{transform:translateX(22px)}@media (max-width:768px){.animation-toggle-wrapper{bottom:10px;left:10px;padding:8px 12px}}
.no-animation {
    animation: none !important;
    transition: none !important;
    transform: none !important;
    opacity: 1 !important; /* Force l'apparition car les éléments data-animate ont souvent opacity: 0 au départ */
    visibility: visible !important;
}
.alert{border: none;}
.accordion-simple .icon-help-circle {display: none;}
.border-1{border:1px solid #000;}
.border-2{border:2px solid #000;}
.border-3{border:3px solid #000;}
.border-4{border:4px solid #000;}
.border-5{border:5px solid #000;}
.border-theme{border-color: var(--theme-color)!important;}
.border-theme2{border-color: var(--theme-color2)!important;}
.border-theme3{border-color: var(--theme-color3)!important;}
.border-theme4{border-color: var(--theme-color4)!important;}
 .table-theme{background-color: var(--theme-color);}
.i7iweb-slider .slide .slide-captions {
  text-shadow: 2px 2px 5px #000;
}
.heading-text > h2{
  text-transform: uppercase;
  font-weight: 800;
  font-size: 2em;
}
.post-thumbnails .post-item {
  padding: 10px!important;
  border-radius: 0.3em;
  box-shadow: 1px 1px 3px 0 var(--theme-color);
}
.post-thumbnails .post-item img {
  max-height: 250px;
  border-radius: 0.5em;
}
#footer p,#footer .copyright-content {
    font-size: 15px;
    line-height: 16px;
}
#blog .post-item-wrap{
  box-shadow: none;
  max-height: 100%;
}
.post-item-wrap{
  border-radius: 0 0.9em;
  box-shadow: 0 3px 5px 0 rgba(43, 43, 49, 0.3);
  /*max-height: 280px;*/
}
.post-item-description{
  overflow: hidden;
}
.single-post .post-item .post-item-description .post-meta-date{color: #000;}
li.external:hover {
  border-left: 2px solid var(--warning);
}
.breadcrumb__ ul li.active {
  color: var(--theme-color2) !important;
}
.breadcrumb {
  font-size: 1em;
}
.breadcrumb .u-r-here {
  display: inline-block;
  margin-right: 5px;
}
.breadcrumb ul li a{text-decoration: underline;}
#page-content h1{
  text-transform: uppercase;
  font-weight: 800;
}
#page-content h2{
  text-transform: uppercase;
}
#page-content h3{
  font-weight: 400;
}
#page-content a[target="_blank"]:after,#menu-side ul.child-list li a[target="_blank"]:after{
  content: "";
  width: 11px;
  height: 11px;
  margin-left: 4px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M8.636 3.5a.5.5 0 0 0-.5-.5H1.5A1.5 1.5 0 0 0 0 4.5v10A1.5 1.5 0 0 0 1.5 16h10a1.5 1.5 0 0 0 1.5-1.5V7.864a.5.5 0 0 0-1 0V14.5a.5.5 0 0 1-.5.5h-10a.5.5 0 0 1-.5-.5v-10a.5.5 0 0 1 .5-.5h6.636a.5.5 0 0 0 .5-.5z'/%3E%3Cpath fill-rule='evenodd' d='M16 .5a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0 0 1h3.793L6.146 9.146a.5.5 0 1 0 .708.708L15 1.707V5.5a.5.5 0 0 0 1 0v-5z'/%3E%3C/svg%3E");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  display: inline-block;
}
#footer .widget .widget-titl, #footer .widget h3{margin-bottom: 12px;}
.copyright-links li.list-inline-item {padding-bottom: 20px;}
#contact-us .icon{
  width:20px!important;
  height: 20px!important;
}
#contact-us .icon i{
   font-size:1.2rem!important;
}
#contact-us p{
   margin: 10px 0 2px 25px!important;
   padding-bottom: 5px!important;
}
._df_button{
  border-color: transparent;
  border-radius: 0 0 0 3px!important;
  background-color: var(--indigo)!important;
  width: 100%
}
.portfolio-item-wrap{
  /* border-radius: 0.5em; */
  box-shadow: 0 3px 5px 0 rgba(43, 43, 49, 0.3);
}
.portfolio-download h2{
  font-size: 1.2em;
  line-height: 1em;
  font-weight: 800;
  padding-top: 10px;
}
.post-item-description h1{
  line-height: 1em;
  letter-spacing: -2px;
  padding-top: 10px;
}
#menu-side{
  border-radius: 0.5em;
  padding-top: 15px;
}
#menu-side h2{overflow: hidden;text-overflow: ellipsis;}
#menu-side li a{
  transition: all 0.3s ease-out 0s;
  font-weight: 800;
}
#menu-side li a.active{
  color: var(--theme-color);
}
#menu-side ul.child-list li a{
  font-weight: 400;
}
#menu-side li a:hover{
  padding-left: 5px;
}
/* .portfolio-item-wrap .portfolio-image img{border:3px solid #333;} */
.background-colored small,.background-colored .widget a:hover{color: #fff!important;}
.background-color-opa{background-color: var(--theme-color-opa)!important;}
.post-meta-date{font-size: 0.8em!important;font-weight: 600!important;}
[data-top-bottom] {
  transition: transform 0.65s cubic-bezier(0.23, 1, 0.32, 1);
}
.section-label {margin-bottom: 1rem;}
#mainMenu nav > ul > li .dropdown-menu{width: max-content;}
#mainMenu nav > ul > li .dropdown-menu > li:hover > a{border-color: #d6eaf1;}

@media (min-width: 1080px){
  section.actus .carousel::after {
  content: '';
  position: absolute;
  left: -27px;
  top: -25px;
  background: #fff;
  /*transform: skew(-10deg);*/
  height: 330px;
  width: 52px;
  box-shadow: 10px 0px 10px -11px var(--theme-color);
  }
}
@media (max-width: 1080px){
  .shop-promo-box.text-right{text-align:left!important;}
  .portfolio-item .portfolio-image::after{opacity: 0.7;}
  .post-image .portfolio-item .portfolio-image::after{opacity: 0.1;}
  .portfolio-item .portfolio-description{top: 33%;}
  .portfolio-item .portfolio-description,.portfolio-item .portfolio-description p{opacity: 1;visibility: visible;padding: 1px;}
  .post-image img{min-width: 120px;}
  .i7iweb-slider.slider-fullscreen{height: 80vh!important;}
  #footer .copyright-content{padding-bottom: 80px;}.copyright-links{margin-top: 15px;}
  .badge{white-space: normal!important;}
  .post-image img{min-width: 120px;}
  .i7iweb-slider.slider-fullscreen{height: 50vh!important;margin-top: 0;}
  #footer .copyright-content{padding-bottom: 80px;}.copyright-links{margin-top: 15px;}
  #topbar.topbar-colored-m, #topbar.topbar-colored-m.dark {
    background-color: var(--theme-color);}
  #topbar.topbar-colored-m .social-icons li a{color: #fff!important;}
}
.df-ui-wrapper, .df-ui-btn {
  color: var(--theme-color)!important;
  background-color: #f1f1f1!important;
}
.df-container.df-floating > .df-ui-next, .df-container.df-floating > .df-ui-prev{width: 60px!important;height: 60px!important;}
li > ul.list > li, ul.child-list {
  padding-left: 30px;
}

/* print styles */
@media print {
  aside, nav, form, iframe, #mainMenu, #tarteaucitronIcon,#page-title, .header-extras, .theiaStickySidebar, .news-ticker, .social-icons, .footer-content, .hero, .adslot, .shape-divider,.widget-more_articles {
    display: none!important;
  }
}
.form-group label:not(.error){
  color: #000;
}
.form-control,.widget .input-group-text,select.form-control:not([size]):not([multiple]){
  height: 50px;
}
.form-control:focus, input:focus, select:focus {
  box-shadow: none;
  outline: 0;
  border: 3px solid var(--theme-color);
}

.social-icons.social-icons-colored .social-tiktok a,
.social-icons.social-icons-colored-hover .social-tiktok a:hover {
  background-color: #222; }
.flickity-button {
  border-radius: 0!important;
}
#star1, #star1-2 {
    transition: transform 0.7s ease-in-out;
    transform-origin: bottom;
}
#i7iwebcartes{
  transition: transform 1.8s ease 0s;
}

svg:hover #star1 {
  transform: rotate(5deg);
}
svg:hover #star1-2 {
  transform: rotate(-5deg);
}
svg:hover #i7iwebcartes {
  transform: translatey(-20px);
}
.blink{animation: blink 1s infinite alternate;}
@keyframes blink {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0.2;
  }
}
.shop-promo-price{
  color: var(--theme-color);
  font-weight: 600;
  height: 52px;
  width: 75px;
  top: -16px;
  right: -5px;
  line-height: 60px;
  position: absolute;
  text-align: center;
  text-shadow: 1px 2px 1px rgba(0,0,0,0.14);
  z-index: 5;
  background: var(--light);
}
.shop-promo-time {
  font-weight: 400;
  height: 35px;
  width: 60px;
  bottom: 0px;
  left: -1px;
  line-height: 35px;
  position: absolute;
  text-align: center;
  text-shadow: 1px 2px 1px rgba(0,0,0,0.14);
  z-index: 5;
  background: var(--light);
}
.ml1 {
  color: var(--theme-color)!important;
  font-weight: 900;
  font-size: 2.1em;
}
.ml1::after {
  border-top: 3px solid var(--theme-color);;
  content: "";
  display: block;
  margin-bottom: 0;
  margin-top: 8px;
  width: 26px;
}
@media (max-width: 1024px) {
  .ml1::after {
    margin-left: auto;
    margin-right: auto;
  }
  .top-minus-mobile{
    top : 0 !important;
  }
}
#page-content h1 small {
  text-transform: capitalize;
  font-weight: 100;
  font-size: 45%;
  color: #5e5e5e;
}
.ls0 { letter-spacing: 0px !important; }
.ls1 { letter-spacing: 1px !important; }
.ls2 { letter-spacing: 2px !important; }
.ls3 { letter-spacing: 3px !important; }
/* Line-Height */
.lh1 { line-height: 1 !important; }
.lh12 { line-height: 1.2 !important; }
.lh14 { line-height: 1.4 !important; }
.lh16 { line-height: 1.6 !important; }
.lh18 { line-height: 1.8 !important; }
.lh2 { line-height: 2 !important; }
/* Text Alignment */
.tac { text-align: center !important; }
.tal { text-align: left !important; }
.tar { text-align: right !important; }
.taj { text-align: justify !important; }
/* Font Style */
.fsn { font-style: normal !important; }
.fsi { font-style: italic !important; }
/* Text Decoration */
.through { text-decoration: line-through !important; }
.overline { text-decoration: overline !important; }
.nodec { text-decoration: none !important; }
/* White Space */
.ws-normal { white-space: normal !important; }
.ws-nowrap { white-space: nowrap !important; }
.ws-pre { white-space: pre !important; }
/* Word Break */
.break-word { word-wrap: break-word !important; }
.break-all { word-break: break-all !important; }
.keep-all { word-break: keep-all !important; }
/* Opacity */
.op10 { opacity: 0.1 !important; }
.op25 { opacity: 0.25 !important; }
.op50 { opacity: 0.5 !important; }
.op75 { opacity: 0.75 !important; }
.op100 { opacity: 1 !important; }
/* Font Sizes */
.fs0 { font-size: 0.8em !important; }
.fs05 { font-size: 0.9em !important; }
.fs10 { font-size: 1em !important; }
.fs12 { font-size: 1.2em !important; }
.fs15 { font-size: 1.5em !important; }
.fs20 { font-size: 2em !important; }
.fs25 { font-size: 2.5em !important; }
.fs4 { font-size: 4em !important; }
/* Text Shadow */
.ts0 {text-shadow: none !important;}
.ts1 {text-shadow: 1px 1px 1px #00000057 !important;}
.ts2 {text-shadow: 2px 2px 2px #00000057 !important;}
.bs0 {box-shadow: none !important;}
/* Cursors */
.curs-pointer { cursor: pointer !important; }
.curs-not-allowed { cursor: not-allowed !important; }
.curs-default { cursor: default !important; }
/* User Select */
.select-none { user-select: none !important; }
.select-text { user-select: text !important; }
.select-all { user-select: all !important; }
/* Position */
.pos-relative { position: relative !important; }
.pos-absolute { position: absolute !important; }
.pos-fixed { position: fixed !important; }
.pos-sticky { position: sticky !important; }
.f-right {right: calc(50% - 740px);}
.f-left {left: calc(50% - 740px);}
/* Border-Radius - Global */
.br0 { border-radius: 0em !important; }
.br1 { border-radius: 0.9em !important; }
.br2 { border-radius: 1.9em !important; }
.br3 { border-radius: 2.9em !important; }
.br4 { border-radius: 3.9em !important; }
.br5 { border-radius: 4.9em !important; }
.br6 { border-radius: 5.9em !important; }
/* Border-Radius - Top Left */
.brtl0 { border-top-left-radius: 0em !important; }
.brtl1 { border-top-left-radius: 0.9em !important; }
.brtl2 { border-top-left-radius: 1.9em !important; }
.brtl3 { border-top-left-radius: 2.9em !important; }
.brtl4 { border-top-left-radius: 3.9em !important; }
.brtl5 { border-top-left-radius: 4.9em !important; }
.brtl6 { border-top-left-radius: 5.9em !important; }
.brtl7 { border-top-left-radius: 6.9em !important; }
.brtl8 { border-top-left-radius: 7.9em !important; }
.brtl9 { border-top-left-radius: 8.9em !important; }
/* Border-Radius - Top Right */
.brtr0 { border-top-right-radius: 0em !important; }
.brtr1 { border-top-right-radius: 0.9em !important; }
.brtr2 { border-top-right-radius: 1.9em !important; }
.brtr3 { border-top-right-radius: 2.9em !important; }
.brtr4 { border-top-right-radius: 3.9em !important; }
.brtr5 { border-top-right-radius: 4.9em !important; }
.brtr6 { border-top-right-radius: 5.9em !important; }
.brtr7 { border-top-right-radius: 6.9em !important; }
.brtr8 { border-top-right-radius: 7.9em !important; }
.brtr9 { border-top-right-radius: 8.9em !important; }
/* Border-Radius - Bottom Left */
.brbl0 { border-bottom-left-radius: 0em !important; }
.brbl1 { border-bottom-left-radius: 0.9em !important; }
.brbl2 { border-bottom-left-radius: 1.9em !important; }
.brbl3 { border-bottom-left-radius: 2.9em !important; }
.brbl4 { border-bottom-left-radius: 3.9em !important; }
.brbl5 { border-bottom-left-radius: 4.9em !important; }
.brbl6 { border-bottom-left-radius: 5.9em !important; }
.brbl7 { border-bottom-left-radius: 6.9em !important; }
.brbl8 { border-bottom-left-radius: 7.9em !important; }
.brbl9 { border-bottom-left-radius: 8.9em !important; }
/* Border-Radius - Bottom Right */
.brbr0 { border-bottom-right-radius: 0em !important; }
.brbr1 { border-bottom-right-radius: 0.9em !important; }
.brbr2 { border-bottom-right-radius: 1.9em !important; }
.brbr3 { border-bottom-right-radius: 2.9em !important; }
.brbr4 { border-bottom-right-radius: 3.9em !important; }
.brbr5 { border-bottom-right-radius: 4.9em !important; }
.brbr6 { border-bottom-right-radius: 5.9em !important; }
.brbr7 { border-bottom-right-radius: 6.9em !important; }
.brbr8 { border-bottom-right-radius: 7.9em !important; }
.brbr9 { border-bottom-right-radius: 8.9em !important; }

.zi-1 { z-index: -1 !important; }
.zi-2 { z-index: -2 !important; }
.zi0 { z-index: 0 !important; }
.zi1 { z-index: 1 !important; }
.zi2 { z-index: 2 !important; }

/* Position */
.top-0px {
  top: 0px;
}
.top-1px {
  top: 1px;
}
.top-2px {
  top: 2px;
}
.top-3px {
  top: 3px;
}
.top-4px {
  top: 4px;
}
.top-5px {
  top: 5px;
}
.top-6px {
  top: 6px;
}
.top-7px {
  top: 7px;
}
.top-8px {
  top: 8px;
}
.top-9px {
  top: 9px;
}
.top-10px {
  top: 10px;
}
.top-11px {
  top: 11px;
}
.top-12px {
  top: 12px;
}
.top-13px {
  top: 13px;
}
.top-14px {
  top: 14px;
}
.top-15px {
  top: 15px;
}
.top-16px {
  top: 16px;
}
.top-17px {
  top: 17px;
}
.top-18px {
  top: 18px;
}
.top-19px {
  top: 19px;
}
.top-20px {
  top: 20px;
}
.top-21px {
  top: 21px;
}
.top-22px {
  top: 22px;
}
.top-23px {
  top: 23px;
}
.top-24px {
  top: 24px;
}
.top-25px {
  top: 25px;
}
.top-26px {
  top: 26px;
}
.top-27px {
  top: 27px;
}
.top-28px {
  top: 28px;
}
.top-29px {
  top: 29px;
}
.top-30px {
  top: 30px;
}
.top-40px {
  top: 40px;
}
.top-50px {
  top: 50px;
}
.top-60px {
  top: 60px;
}
.top-70px {
  top: 70px;
}
.top-80px {
  top: 80px;
}
.top-90px {
  top: 90px;
}
.top-100px {
  top: 100px;
}
.top-110px {
  top: 110px;
}
.top-120px {
  top: 120px;
}
.top-130px {
  top: 130px;
}
.top-140px {
  top: 140px;
}
.top-150px {
  top: 150px;
}
.right-0px {
  right: 0px;
}
.right-1px {
  right: 1px;
}
.right-2px {
  right: 2px;
}
.right-3px {
  right: 3px;
}
.right-4px {
  right: 4px;
}
.right-5px {
  right: 5px;
}
.right-6px {
  right: 6px;
}
.right-7px {
  right: 7px;
}
.right-8px {
  right: 8px;
}
.right-9px {
  right: 9px;
}
.right-10px {
  right: 10px;
}
.right-11px {
  right: 11px;
}
.right-12px {
  right: 12px;
}
.right-13px {
  right: 13px;
}
.right-14px {
  right: 14px;
}
.right-15px {
  right: 15px;
}
.right-16px {
  right: 16px;
}
.right-17px {
  right: 17px;
}
.right-18px {
  right: 18px;
}
.right-19px {
  right: 19px;
}
.right-20px {
  right: 20px;
}
.right-21px {
  right: 21px;
}
.right-22px {
  right: 22px;
}
.right-23px {
  right: 23px;
}
.right-24px {
  right: 24px;
}
.right-25px {
  right: 25px;
}
.right-26px {
  right: 26px;
}
.right-27px {
  right: 27px;
}
.right-28px {
  right: 28px;
}
.right-29px {
  right: 29px;
}
.right-30px {
  right: 30px;
}
.right-40px {
  right: 40px;
}
.right-50px {
  right: 50px;
}
.right-60px {
  right: 60px;
}
.right-70px {
  right: 70px;
}
.right-80px {
  right: 80px;
}
.right-90px {
  right: 90px;
}
.right-100px {
  right: 100px;
}
.right-110px {
  right: 110px;
}
.right-120px {
  right: 120px;
}
.right-130px {
  right: 130px;
}
.right-140px {
  right: 140px;
}
.right-150px {
  right: 150px;
}
.bottom-0px {
  bottom: 0px;
}
.bottom-1px {
  bottom: 1px;
}
.bottom-2px {
  bottom: 2px;
}
.bottom-3px {
  bottom: 3px;
}
.bottom-4px {
  bottom: 4px;
}
.bottom-5px {
  bottom: 5px;
}
.bottom-6px {
  bottom: 6px;
}
.bottom-7px {
  bottom: 7px;
}
.bottom-8px {
  bottom: 8px;
}
.bottom-9px {
  bottom: 9px;
}
.bottom-10px {
  bottom: 10px;
}
.bottom-11px {
  bottom: 11px;
}
.bottom-12px {
  bottom: 12px;
}
.bottom-13px {
  bottom: 13px;
}
.bottom-14px {
  bottom: 14px;
}
.bottom-15px {
  bottom: 15px;
}
.bottom-16px {
  bottom: 16px;
}
.bottom-17px {
  bottom: 17px;
}
.bottom-18px {
  bottom: 18px;
}
.bottom-19px {
  bottom: 19px;
}
.bottom-20px {
  bottom: 20px;
}
.bottom-21px {
  bottom: 21px;
}
.bottom-22px {
  bottom: 22px;
}
.bottom-23px {
  bottom: 23px;
}
.bottom-24px {
  bottom: 24px;
}
.bottom-25px {
  bottom: 25px;
}
.bottom-26px {
  bottom: 26px;
}
.bottom-27px {
  bottom: 27px;
}
.bottom-28px {
  bottom: 28px;
}
.bottom-29px {
  bottom: 29px;
}
.bottom-30px {
  bottom: 30px;
}
.bottom-40px {
  bottom: 40px;
}
.bottom-50px {
  bottom: 50px;
}
.bottom-60px {
  bottom: 60px;
}
.bottom-70px {
  bottom: 70px;
}
.bottom-80px {
  bottom: 80px;
}
.bottom-90px {
  bottom: 90px;
}
.bottom-100px {
  bottom: 100px;
}
.bottom-110px {
  bottom: 110px;
}
.bottom-120px {
  bottom: 120px;
}
.bottom-130px {
  bottom: 130px;
}
.bottom-140px {
  bottom: 140px;
}
.bottom-150px {
  bottom: 150px;
}
.left-0px {
  left: 0px;
}
.left-1px {
  left: 1px;
}
.left-2px {
  left: 2px;
}
.left-3px {
  left: 3px;
}
.left-4px {
  left: 4px;
}
.left-5px {
  left: 5px;
}
.left-6px {
  left: 6px;
}
.left-7px {
  left: 7px;
}
.left-8px {
  left: 8px;
}
.left-9px {
  left: 9px;
}
.left-10px {
  left: 10px;
}
.left-11px {
  left: 11px;
}
.left-12px {
  left: 12px;
}
.left-13px {
  left: 13px;
}
.left-14px {
  left: 14px;
}
.left-15px {
  left: 15px;
}
.left-16px {
  left: 16px;
}
.left-17px {
  left: 17px;
}
.left-18px {
  left: 18px;
}
.left-19px {
  left: 19px;
}
.left-20px {
  left: 20px;
}
.left-21px {
  left: 21px;
}
.left-22px {
  left: 22px;
}
.left-23px {
  left: 23px;
}
.left-24px {
  left: 24px;
}
.left-25px {
  left: 25px;
}
.left-26px {
  left: 26px;
}
.left-27px {
  left: 27px;
}
.left-28px {
  left: 28px;
}
.left-29px {
  left: 29px;
}
.left-30px {
  left: 30px;
}
.left-40px {
  left: 40px;
}
.left-50px {
  left: 50px;
}
.left-60px {
  left: 60px;
}
.left-70px {
  left: 70px;
}
.left-80px {
  left: 80px;
}
.left-90px {
  left: 90px;
}
.left-100px {
  left: 100px;
}
.left-110px {
  left: 110px;
}
.left-120px {
  left: 120px;
}
.left-130px {
  left: 130px;
}
.left-140px {
  left: 140px;
}
.left-150px {
  left: 150px;
}
.top-minus-0px {
  top: -0px;
}
.top-minus-1px {
  top: -1px;
}
.top-minus-2px {
  top: -2px;
}
.top-minus-3px {
  top: -3px;
}
.top-minus-4px {
  top: -4px;
}
.top-minus-5px {
  top: -5px;
}
.top-minus-6px {
  top: -6px;
}
.top-minus-7px {
  top: -7px;
}
.top-minus-8px {
  top: -8px;
}
.top-minus-9px {
  top: -9px;
}
.top-minus-10px {
  top: -10px;
}
.top-minus-11px {
  top: -11px;
}
.top-minus-12px {
  top: -12px;
}
.top-minus-13px {
  top: -13px;
}
.top-minus-14px {
  top: -14px;
}
.top-minus-15px {
  top: -15px;
}
.top-minus-16px {
  top: -16px;
}
.top-minus-17px {
  top: -17px;
}
.top-minus-18px {
  top: -18px;
}
.top-minus-19px {
  top: -19px;
}
.top-minus-20px {
  top: -20px;
}
.top-minus-21px {
  top: -21px;
}
.top-minus-22px {
  top: -22px;
}
.top-minus-23px {
  top: -23px;
}
.top-minus-24px {
  top: -24px;
}
.top-minus-25px {
  top: -25px;
}
.top-minus-26px {
  top: -26px;
}
.top-minus-27px {
  top: -27px;
}
.top-minus-28px {
  top: -28px;
}
.top-minus-29px {
  top: -29px;
}
.top-minus-30px {
  top: -30px;
}
.top-minus-40px {
  top: -40px;
}
.top-minus-50px {
  top: -50px;
}
.top-minus-60px {
  top: -60px;
}
.top-minus-70px {
  top: -70px;
}
.top-minus-80px {
  top: -80px;
}
.top-minus-90px {
  top: -90px;
}
.top-minus-100px {
  top: -100px;
}
.top-minus-110px {
  top: -110px;
}
.top-minus-120px {
  top: -120px;
}
.top-minus-130px {
  top: -130px;
}
.top-minus-140px {
  top: -140px;
}
.top-minus-150px {
  top: -150px;
}
.right-minus-0px {
  right: -0px;
}
.right-minus-1px {
  right: -1px;
}
.right-minus-2px {
  right: -2px;
}
.right-minus-3px {
  right: -3px;
}
.right-minus-4px {
  right: -4px;
}
.right-minus-5px {
  right: -5px;
}
.right-minus-6px {
  right: -6px;
}
.right-minus-7px {
  right: -7px;
}
.right-minus-8px {
  right: -8px;
}
.right-minus-9px {
  right: -9px;
}
.right-minus-10px {
  right: -10px;
}
.right-minus-11px {
  right: -11px;
}
.right-minus-12px {
  right: -12px;
}
.right-minus-13px {
  right: -13px;
}
.right-minus-14px {
  right: -14px;
}
.right-minus-15px {
  right: -15px;
}
.right-minus-16px {
  right: -16px;
}
.right-minus-17px {
  right: -17px;
}
.right-minus-18px {
  right: -18px;
}
.right-minus-19px {
  right: -19px;
}
.right-minus-20px {
  right: -20px;
}
.right-minus-21px {
  right: -21px;
}
.right-minus-22px {
  right: -22px;
}
.right-minus-23px {
  right: -23px;
}
.right-minus-24px {
  right: -24px;
}
.right-minus-25px {
  right: -25px;
}
.right-minus-26px {
  right: -26px;
}
.right-minus-27px {
  right: -27px;
}
.right-minus-28px {
  right: -28px;
}
.right-minus-29px {
  right: -29px;
}
.right-minus-30px {
  right: -30px;
}
.right-minus-40px {
  right: -40px;
}
.right-minus-50px {
  right: -50px;
}
.right-minus-60px {
  right: -60px;
}
.right-minus-70px {
  right: -70px;
}
.right-minus-80px {
  right: -80px;
}
.right-minus-90px {
  right: -90px;
}
.right-minus-100px {
  right: -100px;
}
.right-minus-110px {
  right: -110px;
}
.right-minus-120px {
  right: -120px;
}
.right-minus-130px {
  right: -130px;
}
.right-minus-140px {
  right: -140px;
}
.right-minus-150px {
  right: -150px;
}
.bottom-minus-0px {
  bottom: -0px;
}
.bottom-minus-1px {
  bottom: -1px;
}
.bottom-minus-2px {
  bottom: -2px;
}
.bottom-minus-3px {
  bottom: -3px;
}
.bottom-minus-4px {
  bottom: -4px;
}
.bottom-minus-5px {
  bottom: -5px;
}
.bottom-minus-6px {
  bottom: -6px;
}
.bottom-minus-7px {
  bottom: -7px;
}
.bottom-minus-8px {
  bottom: -8px;
}
.bottom-minus-9px {
  bottom: -9px;
}
.bottom-minus-10px {
  bottom: -10px;
}
.bottom-minus-11px {
  bottom: -11px;
}
.bottom-minus-12px {
  bottom: -12px;
}
.bottom-minus-13px {
  bottom: -13px;
}
.bottom-minus-14px {
  bottom: -14px;
}
.bottom-minus-15px {
  bottom: -15px;
}
.bottom-minus-16px {
  bottom: -16px;
}
.bottom-minus-17px {
  bottom: -17px;
}
.bottom-minus-18px {
  bottom: -18px;
}
.bottom-minus-19px {
  bottom: -19px;
}
.bottom-minus-20px {
  bottom: -20px;
}
.bottom-minus-21px {
  bottom: -21px;
}
.bottom-minus-22px {
  bottom: -22px;
}
.bottom-minus-23px {
  bottom: -23px;
}
.bottom-minus-24px {
  bottom: -24px;
}
.bottom-minus-25px {
  bottom: -25px;
}
.bottom-minus-26px {
  bottom: -26px;
}
.bottom-minus-27px {
  bottom: -27px;
}
.bottom-minus-28px {
  bottom: -28px;
}
.bottom-minus-29px {
  bottom: -29px;
}
.bottom-minus-30px {
  bottom: -30px;
}
.bottom-minus-40px {
  bottom: -40px;
}
.bottom-minus-50px {
  bottom: -50px;
}
.bottom-minus-60px {
  bottom: -60px;
}
.bottom-minus-70px {
  bottom: -70px;
}
.bottom-minus-80px {
  bottom: -80px;
}
.bottom-minus-90px {
  bottom: -90px;
}
.bottom-minus-100px {
  bottom: -100px;
}
.bottom-minus-110px {
  bottom: -110px;
}
.bottom-minus-120px {
  bottom: -120px;
}
.bottom-minus-130px {
  bottom: -130px;
}
.bottom-minus-140px {
  bottom: -140px;
}
.bottom-minus-150px {
  bottom: -150px;
}
.left-minus-0px {
  left: -0px;
}
.left-minus-1px {
  left: -1px;
}
.left-minus-2px {
  left: -2px;
}
.left-minus-3px {
  left: -3px;
}
.left-minus-4px {
  left: -4px;
}
.left-minus-5px {
  left: -5px;
}
.left-minus-6px {
  left: -6px;
}
.left-minus-7px {
  left: -7px;
}
.left-minus-8px {
  left: -8px;
}
.left-minus-9px {
  left: -9px;
}
.left-minus-10px {
  left: -10px;
}
.left-minus-11px {
  left: -11px;
}
.left-minus-12px {
  left: -12px;
}
.left-minus-13px {
  left: -13px;
}
.left-minus-14px {
  left: -14px;
}
.left-minus-15px {
  left: -15px;
}
.left-minus-16px {
  left: -16px;
}
.left-minus-17px {
  left: -17px;
}
.left-minus-18px {
  left: -18px;
}
.left-minus-19px {
  left: -19px;
}
.left-minus-20px {
  left: -20px;
}
.left-minus-21px {
  left: -21px;
}
.left-minus-22px {
  left: -22px;
}
.left-minus-23px {
  left: -23px;
}
.left-minus-24px {
  left: -24px;
}
.left-minus-25px {
  left: -25px;
}
.left-minus-26px {
  left: -26px;
}
.left-minus-27px {
  left: -27px;
}
.left-minus-28px {
  left: -28px;
}
.left-minus-29px {
  left: -29px;
}
.left-minus-30px {
  left: -30px;
}
.left-minus-40px {
  left: -40px;
}
.left-minus-50px {
  left: -50px;
}
.left-minus-60px {
  left: -60px;
}
.left-minus-70px {
  left: -70px;
}
.left-minus-80px {
  left: -80px;
}
.left-minus-90px {
  left: -90px;
}
.left-minus-100px {
  left: -100px;
}
.left-minus-110px {
  left: -110px;
}
.left-minus-120px {
  left: -120px;
}
.left-minus-130px {
  left: -130px;
}
.left-minus-140px {
  left: -140px;
}
.left-minus-150px {
  left: -150px;
}

.bg-lightB{background-color: #f1fbff!important;}
.bg-lightB2{background-color: #edf9f3!important;}

.service-card img {
  -webkit-transition: .6s cubic-bezier(.37,0,.63,1);
  transition: .6s cubic-bezier(.37,0,.63,1);
  will-change: transform;
}
.service-card:hover img{
  -webkit-transform: scale(1.01);
  transform: scale(1.01);
}
.price-duration-block {
    border-top: 1px solid #dee2e6;
    border-bottom: 1px solid #dee2e6;
    padding: 1.5rem 0;
    margin: 2rem 0;
}

.price {
    font-size: 2.5rem;
    font-weight: 700;
    color: #1a1a1a;
}

.price-label {
    font-size: 0.85rem;
    color: #6c757d;
    margin-top: 0.25rem;
}

.duration-icon {
    width: 3rem;
    height: 3rem;
    background: var(--theme-color4);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--theme-color);
    font-size: 1.5rem;
}

.duration-value {
    font-size: 1.5rem;
    font-weight: 600;
    color: #1a1a1a;
}

.duration-label {
    font-size: 0.85rem;
    color: #6c757d;
}
.modern-heading {
  position: relative;
  display: inline-block;
  padding-bottom: 15px;
  font-weight: 700;
  background: linear-gradient(135deg, var(--theme-color3) 0%, var(--theme-color) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.modern-heading::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 80px;
  height: 3px;
  background: linear-gradient(90deg, transparent, var(--theme-color), transparent);
  border-radius: 2px;
}
.decorative-heading {
  position: relative;
  display: inline-block;
  padding: 0 40px;
}
.decorative-heading::before,
.decorative-heading::after {
  content: '';
  position: absolute;
  top: 50%;
  width: 30px;
  height: 2px;
  background: #667eea;
}
.decorative-heading::before { left: 0; }
.decorative-heading::after { right: 0; }
.page-menu nav > ul > li > a{padding: 8px!important;}

.i7iweb-slider.dots-creative .flickity-page-dots .dot, .carousel.dots-creative .flickity-page-dots .dot{width: 65px;}
.real-estate-form-container {
	overflow: inherit !important;
  margin-bottom:-300px;
}

.real-estate-form {
  position: relative;
  top: -300px;
  z-index: 4 !important;
}

.real-estate-form #book {
  background-color: #fff;
  border: 1px solid #eee;
}
.i7iweb-slider .flickity-page-dots {
  bottom: 30px;
  margin-left: 60px;
  text-align: left;
}

@media (max-width: 991px) {
	.real-estate-form-container {
	overflow: hidden !important;
  margin-bottom: 5px !important;
  }
  .real-estate-form {
    position: relative;
    top: 0px;
    margin-bottom:0px;
    z-index: 4 !important;
  }
}
/* Text highlight */
.text-highlight {
  position: relative;
  z-index: 1;
}
.text-highlight span {
  display: inline-block;
  left: -3px;
  position: absolute;
  z-index: -1;
  width: calc(100% + 6px);
}
.shadow-in .separator-animation {
  width: calc(100% + 6px) !important;
}
.text-highlight span {
  display: inline-block;
  left: -3px;
  position: absolute;
  z-index: -1;
  width: calc(100% + 6px);
}
.separator-animation {
  width: 0 !important;
  -webkit-transition: all 1s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: all 1s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.shadow-animation-card {
  box-shadow: none;
  transform: translateY(20px);
  transition: box-shadow 0.6s ease, transform 0.6s ease;
}

.shadow-animation-card.shadow-in {
  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.15);
  transform: translateY(0);
}

/* 1 — Marker (surligneur) */
.highlighted-marker {
  background: #FFE066;
  padding: 0 4px 2px;
  border-radius: 3px;
  color: #1a1a1a;
}

/* 2 — Underline bar solide */
.highlighted-underline {
  background-image: linear-gradient(var(--theme-color), var(--theme-color2));
  background-size: 100% 6px;
  background-repeat: no-repeat;
  background-position: 0 95%;
  padding-bottom: 4px;
}

/* 3 — Fond plein */
.highlighted-bg {
  background: var(--theme-color);
  color: #fff;
  padding: 2px 8px;
  border-radius: 4px;
}

/* 4 — Underline dégradé */
.highlighted-gradient {
  background-image: linear-gradient(90deg, var(--theme-color), var(--theme-color2), var(--theme-color3));
  background-size: 100% 4px;
  background-repeat: no-repeat;
  background-position: 0 100%;
  padding-bottom: 6px;
}

/* 5 — Strikethrough */
.highlighted-strike {
  text-decoration: line-through;
  text-decoration-color: var(--theme-color);
  text-decoration-thickness: 3px;
}

/* 6 — Pill border */
.highlighted-pill {
  border: 2px solid var(--theme-color);
  border-radius: 999px;
  padding: 0 10px 2px;
  color: var(--theme-color);
}

/* 7 — Rectangle outline */
.highlighted-box {
  outline: 2.5px solid var(--theme-color);
  outline-offset: 3px;
  border-radius: 2px;
}

/* 8 — Bordure basse */
.highlighted-bottom {
  border-bottom: 4px solid var(--theme-color);
  padding-bottom: 2px;
}

/* 9 — Ghost / outline text */
.highlighted-ghost {
  color: transparent;
  -webkit-text-stroke: 1.5px var(--theme-color);
}

/* 10 — Dark badge */
.highlighted-dark {
  background: #1a1a2e;
  color: #fff;
  padding: 2px 10px;
  border-radius: 6px;
  font-weight: 600;
}

/* 11 — Pointillé */
.highlighted-dotted {
  text-decoration: underline dotted var(--theme-color);
  text-decoration-thickness: 3px;
  text-underline-offset: 5px;
}

/* 12 — Wavy */
.highlighted-wavy {
  text-decoration: underline wavy var(--theme-color);
  text-decoration-thickness: 2px;
  text-underline-offset: 5px;
}
/* Text bottom line */
.text-decoration-line-bottom {
  border-bottom: 1px solid;
}
.text-decoration-line-bottom-m {
  border-bottom: 2px solid;
}
.text-decoration-line-bottom-xl {
  border-bottom: 3px solid;
}
.text-decoration-line-through {
  text-decoration: line-through;
}
/* Text outline*/
.text-outline {
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke-width: 1px;
  -webkit-text-stroke-color: var(--white);
}
/* Text stroke width */
.text-outline-width-1px {
  -webkit-text-stroke-width: 1px;
}
.text-outline-width-2px {
  -webkit-text-stroke-width: 2px;
}
.text-outline-width-3px {
  -webkit-text-stroke-width: 3px;
}
.text-outline-width-4px {
  -webkit-text-stroke-width: 4px;
}
.text-outline-width-5px {
  -webkit-text-stroke-width: 5px;
}
.full-screen {height: 100vh;}
/* Stack box */
.stack-box {
  position: relative;
  z-index: 1;
  height: 300vh;
}
.stack-box .stack-box-contain {
  height: 100vh;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
}
.stack-box .stack-item {
  height: 100vh;
  width: 100%;
  position: absolute;
  overflow: hidden;
  z-index: 999;
  display: flex;
  align-items: center;
}
.stack-box .stack-item.stack-item-02 {
  z-index: 99;
}
.stack-box .stack-item.stack-item-03 {
  z-index: 9;
}
.stack-box .stack-item .stack-item-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
  display: flex;
  align-items: center;
  height: 100vh;
}
/* stack card */
.stack-card .stack-item {
  border: 0;
  position: -webkit-sticky;
  position: sticky;
  top: 60px;
  border-radius: 0;
}
.stack-card .stack-card-item {
  will-change: scale;
  background: var(--white);
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 20px 14px 50px 0px rgba(42, 27, 68, 0.1019607843);
  transform-origin: center top;
  -webkit-transform-origin: center top;
  transition: scale 0.5s ease;
  background-size: cover;
}

.transform-3d {
  transform: translate3d(0px, 0px, 100px);
}
#availability-calendar-wrap {
    margin-bottom: 10px;
}
#availability-calendar {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
}
.avcal-month {
    flex: 1 1 calc(50% - 12px);
    min-width: 0;
    max-width: calc(50% - 12px);
}
.avcal-month-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
}
.avcal-month-title {
    font-weight: 700;
    font-size: 0.95rem;
    text-transform: capitalize;
    color: #1a1a1a;
    letter-spacing: 0.03em;
}
.avcal-nav {
    background: none;
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    width: 30px;
    height: 30px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #555;
    transition: background 0.15s, color 0.15s;
    font-size: 0.85rem;
    padding: 0;
}
.avcal-nav:hover {
    background: var(--theme-color3);
    color: #fff;
    border-color: var(--theme-color3);
}
.avcal-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 3px;
}
.avcal-dow {
    text-align: center;
    font-size: 0.65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #999;
    padding-bottom: 6px;
}
.avcal-day {
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    font-size: 0.78rem;
    font-weight: 500;
    cursor: default;
    transition: background 0.15s, color 0.15s;
    position: relative;
    user-select: none;
}
.avcal-day.empty {
    background: transparent;
}
.avcal-day.past {
    color: #ccc;
}
.avcal-day.available {
    color: #1a1a1a;
    background: var(--theme-color-opa);
    cursor: pointer;
}
.avcal-day.available:hover {
    background: #3C8D63;
    color: #fff;
}
.avcal-day.booked {
    background: var(--danger);
    color: #fff;
    position: relative;
    overflow: hidden;
}
.avcal-day.booked::after {
    content: '';
    position: absolute;
    left: 10%;
    top: 50%;
    width: 80%;
    height: 1.5px;
    background: #fff;
    transform: translateY(-50%) rotate(-20deg);
    opacity: 0.6;
}
.avcal-day.booked-selectable {
    cursor: pointer;
    outline: 2px dashed #e05c5c;
    outline-offset: -2px;
}
.avcal-day.booked-selectable:hover {
    background: #ffd9d9;
    color: #c0392b;
}
.avcal-day.selected-from,
.avcal-day.selected-to {
    background: #3C8D63 !important;
    color: #fff !important;
    font-weight: 700;
}
.avcal-day.in-range {
    background: #c3dcc4;
    color: #1a5c30;
}
.avcal-legend {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-top: 16px;
    flex-wrap: wrap;
    font-size: 0.75rem;
    color: #666;
}
.avcal-legend span {
    display: flex;
    align-items: center;
    gap: 5px;
}
.avcal-legend i {
    display: inline-block;
    width: 14px;
    height: 14px;
    border-radius: 4px;
}
.avcal-legend .dot-avail  { background: var(--theme-color-opa); border: 1px solid #3C8D63; }
.avcal-legend .dot-booked { background: var(--danger); border: 1px solid #e05c5c; }
.avcal-legend .dot-past   { background: #f5f5f5; border: 1px solid #ddd; }
.avcal-loading {
    color: #aaa;
    font-size: 0.85rem;
    padding: 20px 0;
    display: flex;
    align-items: center;
    gap: 8px;
}
.avcal-spinner {
    width: 18px; height: 18px;
    border: 2px solid #ddd;
    border-top-color: #3C8D63;
    border-radius: 50%;
    animation: avcal-spin 0.7s linear infinite;
    flex-shrink: 0;
}
@keyframes avcal-spin { to { transform: rotate(360deg); } }
.avcal-month { animation: avcal-fadein 0.22s ease; }
@keyframes avcal-fadein { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:none; } }
@media (max-width: 600px) {
    .avcal-month { flex: 1 1 100%; min-width: 0; max-width: 100%; }
}