/* ============================================
   LUXURY SERVICE COLUMNS — NOURELLE BROWS
   Premium equal-height, symmetric grid system
   ============================================ */

/* --- Parent columns container --- */
.wp-block-columns:has(.premium-service-column-f642ca81) {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    gap: 2rem !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* --- Base card: equal height, flex column layout --- */
.premium-service-column-f642ca81 {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: stretch !important;
    flex: 1 1 0% !important;
    min-width: 0 !important;
    background-color: #faf8f5 !important;
    border: 1px solid rgba(44, 36, 30, 0.10) !important;
    border-radius: 0 !important;
    padding: 45px 40px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    transition:
        transform 380ms cubic-bezier(0.25, 1, 0.5, 1),
        box-shadow 380ms cubic-bezier(0.25, 1, 0.5, 1),
        border-color 380ms cubic-bezier(0.25, 1, 0.5, 1) !important;
    box-shadow: 0 2px 16px rgba(0, 0, 0, 0.03);
    opacity: 0;
    transform: translateY(35px);
    will-change: transform, opacity, box-shadow;
}

/* --- Fade-up visible state --- */
.premium-service-column-f642ca81.is-visible {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

/* --- Hover: subtle elevation, scale, soft shadow --- */
.premium-service-column-f642ca81:hover {
    transform: translateY(-10px) scale(1.02) !important;
    border-color: rgba(139, 115, 91, 0.28) !important;
    box-shadow: 0 22px 44px rgba(44, 36, 30, 0.08) !important;
}

/* --- Number label (01, 02) --- */
.premium-service-column-f642ca81 > .wp-block-paragraph:first-child {
    font-size: 0.75rem !important;
    letter-spacing: 0.18em !important;
    color: #8b735b !important;
    margin-bottom: 18px !important;
    margin-top: 0 !important;
}

/* --- Image: uniform fixed height, cover crop --- */
.premium-service-column-f642ca81 .wp-block-image {
    width: 100% !important;
    margin: 0 0 28px 0 !important;
    overflow: hidden !important;
    flex-shrink: 0 !important;
}

.premium-service-column-f642ca81 .wp-block-image img {
    width: 100% !important;
    height: 240px !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
    transition: transform 600ms cubic-bezier(0.25, 1, 0.5, 1) !important;
}

.premium-service-column-f642ca81:hover .wp-block-image img {
    transform: scale(1.04);
}

/* --- Heading: centered, uniform size --- */
.premium-service-column-f642ca81 .wp-block-heading {
    font-size: 1.15rem !important;
    letter-spacing: 0.04em !important;
    text-align: center !important;
    margin: 0 0 16px 0 !important;
    padding: 0 !important;
    line-height: 1.4 !important;
}

/* --- Description paragraph --- */
.premium-service-column-f642ca81 > .wp-block-paragraph {
    font-size: 0.9rem !important;
    line-height: 1.7 !important;
    color: #4a423a !important;
    text-align: left !important;
    padding: 0 !important;
    margin: 0 0 20px 0 !important;
}

/* --- List: refined luxury style --- */
.premium-service-column-f642ca81 .wp-block-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 24px 0 !important;
}

.premium-service-column-f642ca81 .wp-block-list li {
    position: relative !important;
    padding-left: 22px !important;
    margin-bottom: 10px !important;
    font-size: 0.875rem !important;
    color: #4a423a !important;
    letter-spacing: 0.02em !important;
    line-height: 1.6 !important;
}

.premium-service-column-f642ca81 .wp-block-list li::before {
    content: "—" !important;
    position: absolute !important;
    left: 0 !important;
    color: #8b735b !important;
    font-weight: 300 !important;
}

/* --- Duration/Price inner columns: uniform spacing --- */
.premium-service-column-f642ca81 .wp-block-columns {
    display: flex !important;
    gap: 0 !important;
    margin: 0 0 28px 0 !important;
    border-top: 1px solid rgba(44, 36, 30, 0.08) !important;
    padding-top: 20px !important;
}

.premium-service-column-f642ca81 .wp-block-columns .wp-block-column {
    flex: 1 1 50% !important;
    padding: 0 !important;
}

.premium-service-column-f642ca81 .wp-block-columns .wp-block-column:first-child {
    border-right: 1px solid rgba(44, 36, 30, 0.08) !important;
    padding-right: 16px !important;
}

.premium-service-column-f642ca81 .wp-block-columns .wp-block-column:last-child {
    padding-left: 16px !important;
}

.premium-service-column-f642ca81 .wp-block-columns .wp-block-paragraph {
    font-size: 0.7rem !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    color: #8b735b !important;
    margin: 0 0 6px 0 !important;
    padding: 0 !important;
}

.premium-service-column-f642ca81 .wp-block-columns .wp-block-paragraph strong {
    font-size: 1rem !important;
    color: #2c241e !important;
    letter-spacing: 0.02em !important;
}

/* --- CTA Button: pushed to bottom, full symmetry --- */
.premium-service-column-f642ca81 .wp-block-buttons {
    margin-top: auto !important;
    padding-top: 0 !important;
    display: flex !important;
    justify-content: center !important;
}

.premium-service-column-f642ca81 .wp-block-button__link {
    font-size: 0.72rem !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    padding: 14px 28px !important;
    transition: background-color 300ms ease, color 300ms ease !important;
}

/* ============================================
   RESPONSIVE — TABLET (≤1024px)
   ============================================ */
@media (max-width: 1024px) {
    .premium-service-column-f642ca81 {
        padding: 36px 28px !important;
    }

    .premium-service-column-f642ca81 .wp-block-image img {
        height: 200px !important;
    }
}

/* ============================================
   RESPONSIVE — MOBILE (≤781px)
   ============================================ */
@media (max-width: 781px) {
    .wp-block-columns:has(.premium-service-column-f642ca81) {
        flex-direction: column !important;
        flex-wrap: wrap !important;
        gap: 1.5rem !important;
    }

    .premium-service-column-f642ca81 {
        flex: 1 1 100% !important;
        width: 100% !important;
        padding: 32px 24px !important;
    }

    .premium-service-column-f642ca81 .wp-block-image img {
        height: 220px !important;
    }

    .premium-service-column-f642ca81:hover {
        transform: none !important;
        box-shadow: 0 8px 24px rgba(44, 36, 30, 0.06) !important;
    }
}
