.elementor-3580 .elementor-element.elementor-element-fd15949{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:clamp(4rem, 3.43rem + 2.86vw, 6rem);--padding-bottom:clamp(3rem, 1.8rem + 5.12vw, 5rem);--padding-left:0;--padding-right:0;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family );font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-3580 .elementor-element.elementor-element-9deba96{text-align:center;}.elementor-3580 .elementor-element.elementor-element-9deba96 .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family );font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );}.elementor-3580 .elementor-element.elementor-element-fe2a3c6{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0;}.elementor-3580 .elementor-element.elementor-element-d05c76f{--display:flex;--border-radius:30px 30px 30px 30px;--padding-top:30px;--padding-bottom:30px;--padding-left:30px;--padding-right:30px;}.elementor-3580 .elementor-element.elementor-element-d05c76f:not(.elementor-motion-effects-element-type-background), .elementor-3580 .elementor-element.elementor-element-d05c76f > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-3580 .elementor-element.elementor-element-2ab6980.elementor-element{--align-self:flex-start;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family );font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-3580 .elementor-element.elementor-element-c8f1446{columns:1;font-family:var( --e-global-typography-text-font-family );font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );color:#000000;}.elementor-3580 .elementor-element.elementor-element-2b1bbe9{--display:flex;--padding-top:clamp(5rem, 3.2rem + 7.68vw, 8rem);--padding-bottom:clamp(5rem, 4.14rem + 4.29vw, 8rem);--padding-left:0;--padding-right:0;}.elementor-3580 .elementor-element.elementor-element-2e1dd75{padding:0 0 clamp(2rem, 1.43rem + 2.86vw, 3rem) 0;text-align:center;}.elementor-3580 .elementor-element.elementor-element-2e1dd75 .elementor-heading-title{font-family:var( --e-global-typography-bc05afe-font-family );font-size:var( --e-global-typography-bc05afe-font-size );font-weight:var( --e-global-typography-bc05afe-font-weight );}.elementor-3580 .elementor-element.elementor-element-0c23621{padding:0px 0px 0px 0px;}.elementor-3580 .elementor-element.elementor-element-0c23621.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family );font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );}.elementor-3580 .elementor-element.elementor-element-7d1de43 .elementor-button{background-color:#682025;font-size:var( --e-global-typography-dbef2a3-font-size );font-weight:var( --e-global-typography-dbef2a3-font-weight );padding:010px 20px 10px 20px;}.elementor-3580 .elementor-element.elementor-element-7d1de43 .elementor-button:hover, .elementor-3580 .elementor-element.elementor-element-7d1de43 .elementor-button:focus{background-color:#7E5331;}@media(min-width:768px){.elementor-3580 .elementor-element.elementor-element-fd15949{--content-width:1200px;}}@media(max-width:1024px) and (min-width:768px){.elementor-3580 .elementor-element.elementor-element-fd15949{--content-width:600px;}.elementor-3580 .elementor-element.elementor-element-fe2a3c6{--content-width:95%;}.elementor-3580 .elementor-element.elementor-element-2b1bbe9{--content-width:95%;}}@media(max-width:880px) and (min-width:768px){.elementor-3580 .elementor-element.elementor-element-fe2a3c6{--content-width:95%;}}@media(max-width:1024px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-3580 .elementor-element.elementor-element-9deba96 .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-3580 .elementor-element.elementor-element-d05c76f{--padding-top:30px;--padding-bottom:30px;--padding-left:30px;--padding-right:30px;}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );}.elementor-3580 .elementor-element.elementor-element-c8f1446{font-size:var( --e-global-typography-text-font-size );}.elementor-3580 .elementor-element.elementor-element-2e1dd75 .elementor-heading-title{font-size:var( --e-global-typography-bc05afe-font-size );}.elementor-3580 .elementor-element.elementor-element-0c23621{padding:0px 0px 0px 0px;}.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );}.elementor-3580 .elementor-element.elementor-element-7d1de43 .elementor-button{font-size:var( --e-global-typography-dbef2a3-font-size );}}@media(max-width:767px){.elementor-3580 .elementor-element.elementor-element-fd15949{--content-width:95%;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-3580 .elementor-element.elementor-element-9deba96 .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-3580 .elementor-element.elementor-element-fe2a3c6{--content-width:95%;}.elementor-3580 .elementor-element.elementor-element-d05c76f{--justify-content:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:30px;--padding-bottom:30px;--padding-left:30px;--padding-right:30px;}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );}.elementor-3580 .elementor-element.elementor-element-c8f1446{font-size:var( --e-global-typography-text-font-size );}.elementor-3580 .elementor-element.elementor-element-2b1bbe9{--content-width:95%;}.elementor-3580 .elementor-element.elementor-element-2e1dd75 .elementor-heading-title{font-size:var( --e-global-typography-bc05afe-font-size );}.elementor-3580 .elementor-element.elementor-element-0c23621{width:var( --container-widget-width, 10px );max-width:10px;padding:0px 0px 0px 0px;--container-widget-width:10px;--container-widget-flex-grow:0;}.elementor-3580 .elementor-element.elementor-element-6e25f49{width:var( --container-widget-width, 90% );max-width:90%;--container-widget-width:90%;--container-widget-flex-grow:0;}.elementor-3580 .elementor-element.elementor-element-6e25f49.elementor-element{--align-self:center;}.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );}.elementor-3580 .elementor-element.elementor-element-7d1de43 .elementor-button{font-size:var( --e-global-typography-dbef2a3-font-size );}}/* Start custom CSS for catalogbooking, class: .elementor-element-2ab6980 *//* =================================================================== */
/* --- 1. GLOBAL & LAYOUT ADJUSTMENTS --- */
/* =================================================================== */

/* Main background color */
#amelia-container.am-fc__wrapper,
.am-fc__wrapper,
.am-cat__wrapper.am-fcil {
  background-color: #f7f5ef !important;
}

/* Apply border-radius to the container only - multiple .elementor-3580 .elementor-element.elementor-element-2ab6980s for better specificity */
#amelia-container.am-fc__wrapper,
.amelia-v2-booking #amelia-container.am-fc__wrapper,
div#amelia-container.am-fc__wrapper {
  border-radius: 30px !important;
  overflow: hidden !important; /* This ensures child elements respect the rounded corners */
}

/* Ensure parent containers don't constrain width */
.am-fcil__wrapper {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Service card grid layout */
.am-fcil__wrapper.am-cat__content {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0 !important;
  background-color: transparent !important;
  width: 100% !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Default: Desktop 3 columns */
.am-fcil__wrapper .am-fcil__item {
  width: calc(33.333% - 14px) !important;
  flex: 0 0 calc(33.333% - 14px) !important;
  box-sizing: border-box !important;
  max-width: calc(33.333% - 14px) !important;
}

/* Tablet: 2 columns (640px to 1023px) */
@media (max-width: 1023px) and (min-width: 640px) {
  .am-fcil__wrapper .am-fcil__item {
    width: calc(50% - 10px) !important;
    flex: 0 0 calc(50% - 10px) !important;
    max-width: calc(50% - 10px) !important;
  }
}

/* Mobile: 1 column (below 640px) */
@media (max-width: 639px) {
  .am-fcil__wrapper .am-fcil__item {
    width: 95% !important;
    flex: 0 0 100% !important;
    max-width: 95% !important;
  }

  .am-fcil__wrapper.am-cat__content {
    gap: 15px !important;
  }
}

/* =================================================================== */
/* --- 2. SERVICE CATALOG CARD STYLES --- */
/* =================================================================== */

/* Main card container */
.am-fcil__item .am-fcil__item-inner {
  background-color: #ffffff !important;
  border-radius: 30px !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05) !important;
  border: 1px solid #eee !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  padding: 30px !important;
  overflow: hidden !important;
  margin: 0 !important;
  position: relative !important;
  cursor: pointer !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

/* Hover effect on entire card */
.am-fcil__item .am-fcil__item-inner:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1) !important;
}

/* Remove child padding */
.am-fcil__item .am-fcil__item-content,
.am-fcil__item .am-fcil__item-footer {
  padding: 0 !important;
}

/* Content container */
.am-fcil__item .am-fcil__item-content {
  flex-grow: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  position: static !important;
}

/* Image placeholder for cards without image */
.am-fcil__item .am-fcil__item-content::before {
  content: "";
  display: block;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background-color: #682025;
  margin-bottom: 20px;
  flex-shrink: 0;
}

/* Actual image when present */
.am-fcil__item .am-fcil__item-hero {
  width: 80px !important;
  height: 80px !important;
  padding: 0 !important;
  border-radius: 50% !important;
  margin-top: -100px !important;
  margin-bottom: 20px !important;
  background-size: cover !important;
  background-position: center !important;
  border: none !important;
  flex-shrink: 0 !important;
  aspect-ratio: 1 !important;
}

/* Heading container */
.am-fcil__item .am-fcil__item-heading {
  display: block !important;
}

/* Service name */
.am-fcil__item .am-fcil__item-name {
  font-family: "Playfair Display", sans-serif !important;
  font-size: 20px !important;
  font-weight: 500 !important;
  color: #333 !important;
  margin-bottom: 20px !important;
  line-height: 1.2 !important;
  width: 100% !important;
  word-wrap: break-word !important;
  white-space: normal !important;
  overflow-wrap: break-word !important;
  hyphens: auto !important;
}

/* Info section */
.am-fcil__item .am-fcil__item-info {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: 100% !important;
  margin-bottom: 0 !important;
}

/* Individual info items - Add "à partir de" before duration */
.am-fcil__item .am-fcil__item-info__inner {
  display: inline-flex !important;
  align-items: center !important;
  gap: 3px !important;
  font-size: 14px !important;
  color: #000000 !important;
}

/* Add "à partir de" before duration */
.am-fcil__item .am-fcil__item-info__inner .am-icon-clock + span::before,
.am-fcis__mini-info__inner .am-icon-clock + span::before {
  content: "à partir de " !important;
}

/* Price positioning */
.am-fcil__item .am-fcil__item-cost {
  position: static !important;
  transform: none !important;
  margin-bottom: 10px !important;
}

/* Price styling */
.am-fcil__item .am-fcil__item-price {
  display: inline-block !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  background-color: #7e52319a !important;
  color: #ffffff !important;
  padding: 5px 12px !important;
  border-radius: 30px !important;
  white-space: nowrap !important;
}

.am-fcil__item .am-fcil__item-price::before {
  content: "à partir de\00a0" !important;
  font-weight: normal !important;
  font-size: 14px !important;
}

/* Button styling */
.am-fcil__item .am-button {
  width: auto !important;
  min-width: 150px !important;
  background-color: #682025 !important;
  color: #ffffff !important;
  border-radius: 30px !important;
  font-weight: 500 !important;
  border: none !important;
  padding: 10px !important;
  transition: opacity 0.3s ease !important;
  position: relative !important;
  z-index: 2 !important;
}

.am-fcil__item .am-button:hover,
.am-fcil__item .am-fcil__item-inner:hover .am-button {
  opacity: 0.85 !important;
}

/* Extend clickable area */
.am-fcil__item .am-button::after {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  z-index: 1 !important;
}

/* Footer positioning */
.amelia-v2-booking #amelia-container .am-fcil__item-footer,
.am-fcil__item .am-fcil__item-footer {
  position: static !important;
  width: auto !important;
  bottom: auto !important;
  left: auto !important;
  margin-top: auto !important;
  padding-top: 15px !important;
}

/* =================================================================== */
/* --- 3. SPECIAL CARD HIGHLIGHTING (EVERY 6N-4) --- */
/* =================================================================== */

.am-fcil__item:nth-child(6n-4) .am-fcil__item-inner {
  background-color: #682025 !important;
}

.am-fcil__item:nth-child(6n-4) .am-fcil__item-inner:hover {
  box-shadow: 0 8px 25px rgba(104, 32, 37, 0.2) !important;
}

.am-fcil__item:nth-child(6n-4) .am-fcil__item-content::before {
  background-color: #ffffff !important;
}

.am-fcil__item:nth-child(6n-4) .am-fcil__item-name,
.am-fcil__item:nth-child(6n-4) .am-fcil__item-info__inner,
.am-fcil__item:nth-child(6n-4) .am-fcil__item-info__inner span {
  color: #ffffff !important;
}

.am-fcil__item:nth-child(6n-4) .am-fcil__item-price {
  background-color: #ffffff !important;
  color: #682025 !important;
}

.am-fcil__item:nth-child(6n-4) .am-button {
  background-color: #ffffff !important;
  color: #682025 !important;
}

/* =================================================================== */
/* --- 4. CATEGORY PART STYLING --- */
/* =================================================================== */

/* Container styling for 2-column layout */
.am-fcl {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 1.5rem !important;
  border-radius: 30px !important;
  width: 100% !important;
  align-items: start !important;
  background-color: #f7f5ef !important;
}

/* Individual item styling */
.am-fcl__item {
  width: 100% !important;
  max-width: 600px !important;
  margin: 0 auto !important;
  display: block !important;
}

/* Category name styling */
.am-fcl__item-name {
  font-family: "Playfair Display", serif !important;
  font-size: clamp(1.5rem, 1.05rem + 1.92vw, 2.25rem) !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  text-align: center !important;
  margin-bottom: 0.5rem !important;
}

/* Inner content */
.am-fcl__item-inner {
  width: 100% !important;
  padding: 1.5rem !important;
  border-radius: 30px !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important;
  background-color: #ffffff !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Center segments and footer */
.am-fcl__item-segments {
  justify-content: center !important;
  margin-bottom: 1rem !important;
}

.am-fcl__item-footer {
  text-align: center !important;
  margin-top: auto !important;
}

/* Responsive adjustments */
@media (max-width: 1024px) {
  .am-fcl {
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
  }
}

@media (max-width: 768px) {
  .am-fcl__item {
    width: 95% !important;
  }

  .am-fcl__item-inner {
    padding: 1rem !important;
  }
}

@media (max-width: 480px) {
  .am-fcl__item {
    width: 98% !important;
  }
}

/* =================================================================== */
/* --- 5. GLOBAL SERVICE STYLES --- */
/* =================================================================== */

/* Header price - Add "à partir de" before price */
.am-fcis__header-price::before {
  content: "à partir de " !important;
  font-weight: normal !important;
}

.am-fcil__main {
  border-radius: 30px !important;
  padding: 20px !important;
}

.am-input-wrapper .am-input,
.am-input-wrapper .am-input .el-input__wrapper,
.am-button.am-button--mini,
.am-button--default,
.am-button.am-button--medium {
  border-radius: 30px !important;
}

.am-fc__wrapper .am-fcl__item-btn {
  width: auto !important;
}

.am-fcil__filter-buttons__menu {
  display: none !important;
}

/* =================================================================== */
/* --- 6. CUSTOM BUTTON TYPOGRAPHY --- */
/* =================================================================== */

/* All button text styling */
.am-fcl__item-footer .am-button .am-button__inner,
.am-fcil__item-footer .am-button .am-button__inner,
.am-fcis__header-btn .am-button .am-button__inner {
  font-size: clamp(1rem, 0.8rem + 0.85vw, 1.25rem) !important;
  font-weight: 600 !important;
}

.am-fcl__item-footer .am-button {
  padding: clamp(10px, 2vw, 16px) clamp(18px, 3vw, 28px) !important;
}

/* Back navigation button */
.am-cat__back-btn .am-button .am-button__inner {
  font-size: clamp(1rem, 0.9rem + 0.43vw, 1.125rem) !important;
  font-weight: 500 !important;
}

/* =================================================================== */
/* --- 7. TYPOGRAPHY ADJUSTMENTS --- */
/* =================================================================== */

/* Adjust font for the service description text */
.am-fcis__info-service__desc {
  font-size: clamp(1rem, 0.9rem + 0.43vw, 1.125rem) !important;
  font-weight: 300 !important;
}

/* =================================================================== */
/* --- 8. SINGLE SERVICE VIEW ADJUSTMENTS --- */
/* =================================================================== */

/* Masquer tous les éléments sauf le bouton d'action */
.am-fcis__header-text,
.am-fcis__header-bottom,
.am-fcis__info,
.am-fcis__header-price {
  display: none !important;
}

/* Rendre le bouton de réservation plus imposant */
.am-fcis__header-action {
  width: 100%;
}

.am-fcis__header-btn .am-button {
  width: 100% !important;
  padding: 16px !important; /* Augmente la hauteur du bouton */
  min-height: 52px !important; /* Assure une hauteur minimale constante */
}

/* Augmenter la taille du texte du bouton et le mettre en majuscules */
.am-fcis__header-btn .am-button .am-button__inner {
  font-size: clamp(1.1rem, 0.95rem + 0.75vw, 1.5rem) !important;
  letter-spacing: 0.5px;
}

/* Adjust button width on mobile */
@media (max-width: 767px) {
  .am-fcis__header-btn .am-button {
    margin: 0 auto;
    display: block;
  }
}/* End custom CSS */