/* ===========================
   RESET DEFAULT SPACING
=========================== */
.calmhaven-icon-box h1,
.calmhaven-icon-box h2,
.calmhaven-icon-box h3,
.calmhaven-icon-box h4,
.calmhaven-icon-box h5,
.calmhaven-icon-box h6 {
   margin-bottom: normal !important;
   padding-bottom: normal !important;
    
}
/* Remove default theme/Elementor heading spacing inside calmhaven widget */
.single-content .calmhaven-icon-box h1,
.single-content .calmhaven-icon-box h2,
.single-content .calmhaven-icon-box h3,
.single-content .calmhaven-icon-box h4,
.single-content .calmhaven-icon-box h5,
.single-content .calmhaven-icon-box h6,
.calmhaven-icon-box .calmhaven-heading,
.calmhaven-icon-box .calmhaven-heading h1,
.calmhaven-icon-box .calmhaven-heading h2,
.calmhaven-icon-box .calmhaven-heading h3,
.calmhaven-icon-box .calmhaven-heading h4,
.calmhaven-icon-box .calmhaven-heading h5,
.calmhaven-icon-box .calmhaven-heading h6 {
margin: normal !important;
padding: normal !important;
}

/* Allow Elementor style-tab spacing (overrides above when user sets it) */
.calmhaven-icon-box .calmhaven-heading[style*="margin"],
.calmhaven-icon-box .calmhaven-heading[style*="padding"],
.calmhaven-icon-box .calmhaven-heading h1[style*="margin"],
.calmhaven-icon-box .calmhaven-heading h2[style*="margin"],
.calmhaven-icon-box .calmhaven-heading h3[style*="margin"],
.calmhaven-icon-box .calmhaven-heading h4[style*="margin"],
.calmhaven-icon-box .calmhaven-heading h5[style*="margin"],
.calmhaven-icon-box .calmhaven-heading h6[style*="margin"],
.calmhaven-icon-box .calmhaven-heading h1[style*="padding"],
.calmhaven-icon-box .calmhaven-heading h2[style*="padding"],
.calmhaven-icon-box .calmhaven-heading h3[style*="padding"],
.calmhaven-icon-box .calmhaven-heading h4[style*="padding"],
.calmhaven-icon-box .calmhaven-heading h5[style*="padding"],
.calmhaven-icon-box .calmhaven-heading h6[style*="padding"] {
margin: normal !important;
padding: normal !important;
}

/* Instead control spacing manually between items */
.calmhaven-icon-box > * + * {
    margin-top: 10px; /* default gap globally */
}

.calmhaven-icon-box {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
}

/* Alignment classes */
.calmhaven-icon-box.align-left { align-items: flex-start; text-align: left; }
.calmhaven-icon-box.align-center { align-items: center; text-align: center; }
.calmhaven-icon-box.align-right { align-items: flex-end; text-align: right; }

/* ===========================
   ICON
=========================== */
.calmhaven-feature-icon {
    line-height: 0;
    margin: 0;
    padding: 0;
}

.calmhaven-feature-icon img {
    display: block;
    max-width: 80px;
    height: auto;
    margin: 0;
    padding: 0;
}

/* Font icons & inline SVG */
.calmhaven-icon i,
.calmhaven-icon svg {
    color: inherit;
    fill: currentColor;
    display: inline-block;
}

/* ===========================
   SUBHEADING
=========================== */
.calmhaven-subheading {
    margin: 0;
    padding: 0;
    
    font-size: 14px;
    font-weight: 500;
}

/* ===========================
   HEADING
=========================== */
.calmhaven-heading {
    margin: 0;
    padding: 0;
    
    font-size: 22px;
    font-weight: 600;
    margin-bottom: 0em ;
}
/* ===========================
   TEXT / DESCRIPTION
=========================== */
.calmhaven-text {
    margin: 0;
    padding: 0;
    
    font-size: 16px;
    color: #444;
}

/* ===========================
   BUTTON
=========================== */
.calmhaven-btn {
    display: inline-block;
    margin: 0;
    padding: 10px 22px;
    background-color: #0073e6;
    color: #fff;
    border-radius: 4px;
    text-decoration: none;
    font-size: 15px;
    transition: all 0.3s ease;
}
.calmhaven-btn:hover {
    background-color: #005bb5;
    color: #fff;
}

/* Force remove fake spacing in Elementor editor view */
.elementor-editor-active .calmhaven-icon-box .calmhaven-subheading,
.elementor-editor-active .calmhaven-icon-box .calmhaven-heading,
.elementor-editor-active .calmhaven-icon-box .calmhaven-heading h1,
.elementor-editor-active .calmhaven-icon-box .calmhaven-heading h2,
.elementor-editor-active .calmhaven-icon-box .calmhaven-heading h3,
.elementor-editor-active .calmhaven-icon-box .calmhaven-heading h4,
.elementor-editor-active .calmhaven-icon-box .calmhaven-heading h5,
.elementor-editor-active .calmhaven-icon-box .calmhaven-heading h6,
.elementor-editor-active .calmhaven-icon-box .calmhaven-text,
.elementor-editor-active .calmhaven-icon-box .calmhaven-text p,
.elementor-editor-active .calmhaven-icon-box .calmhaven-icon {
    margin: 0;
    padding: 0;
    line-height: normal;
}

/* ===========================
   INLINE ICON + HEADING
=========================== */
.icon-heading-inline .calmhaven-inline-wrap {
    display: flex;
    align-items: center;
    gap: var(--icon-heading-gap, 12px); /* fallback 12px */
}

.icon-heading-inline .calmhaven-inline-wrap .calmhaven-feature-icon img {
    width: auto;
    max-width: 100%;
    height: auto;
}

.icon-heading-inline .calmhaven-inline-wrap .calmhaven-feature-heading {
    margin: 0;
   
}
