.elementor-3482 .elementor-element.elementor-element-0badcc9{--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(5rem, 4.14rem + 4.29vw, 8rem);--padding-left:0;--padding-right:0;}@media(max-width:767px){.elementor-3482 .elementor-element.elementor-element-0badcc9{--content-width:95%;}.elementor-3482 .elementor-element.elementor-element-0badcc9.e-con{--flex-grow:0;--flex-shrink:1;}}@media(max-width:1024px) and (min-width:768px){.elementor-3482 .elementor-element.elementor-element-0badcc9{--content-width:95%;}}/* Start custom CSS for catalogbooking, class: .elementor-element-f36ad22 *//* =================================================================== */
/* --- 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-3482 .elementor-element.elementor-element-f36ad22s 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;
}/* End custom CSS */