.elementor-5462 .elementor-element.elementor-element-597d6d5d{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-5462 .elementor-element.elementor-element-686dc650{--display:flex;}.elementor-5462 .elementor-element.elementor-element-6e2fd1db{text-align:end;}.elementor-5462 .elementor-element.elementor-element-6e2fd1db .elementor-heading-title{font-family:var( --e-global-typography-e063a787-font-family ), Sans-serif;font-size:var( --e-global-typography-e063a787-font-size );font-weight:var( --e-global-typography-e063a787-font-weight );line-height:var( --e-global-typography-e063a787-line-height );color:var( --e-global-color-4e2df14 );}.elementor-5462 .elementor-element.elementor-element-47090a0b{--display:flex;}.elementor-5462 .elementor-element.elementor-element-2eb0f585 img{width:400px;}@media(max-width:1024px){.elementor-5462 .elementor-element.elementor-element-6e2fd1db .elementor-heading-title{font-size:var( --e-global-typography-e063a787-font-size );line-height:var( --e-global-typography-e063a787-line-height );}}@media(min-width:768px){.elementor-5462 .elementor-element.elementor-element-686dc650{--width:80%;}.elementor-5462 .elementor-element.elementor-element-47090a0b{--width:45%;}}@media(max-width:767px){.elementor-5462 .elementor-element.elementor-element-6e2fd1db{text-align:center;}.elementor-5462 .elementor-element.elementor-element-6e2fd1db .elementor-heading-title{font-size:var( --e-global-typography-e063a787-font-size );line-height:var( --e-global-typography-e063a787-line-height );}}/* Start custom CSS *//* ============================================
   SHARED DESIGN SYSTEM — APC Bone Health
   ============================================ */

/* --- POPUPS: close button inside panel, no background, clearly visible --- */
.elementor-popup-modal .dialog-widget-content {
    position: relative !important;
    border-radius: 16px !important;
    overflow: visible !important;
}
.elementor-popup-modal .dialog-close-button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: absolute !important;
    top: 16px !important;
    right: 16px !important;
    font-size: 24px !important;
    color: #333333 !important;
    background: transparent !important;
    width: 36px !important;
    height: 36px !important;
    border-radius: 50% !important;
    line-height: 1 !important;
    transition: background-color 0.2s ease, color 0.2s ease !important;
    z-index: 20 !important;
    border: none !important;
    box-shadow: none !important;
}
.elementor-popup-modal .dialog-close-button:hover {
    background-color: rgba(0,0,0,0.06) !important;
    color: #000000 !important;
}
.elementor-popup-modal .dialog-close-button i,
.elementor-popup-modal .dialog-close-button svg {
    font-size: 20px !important;
    width: 20px !important;
    height: 20px !important;
}
.elementor-popup-modal .dialog-message { overflow: visible !important; height: auto !important; }
.elementor-popup-modal .dialog-widget-content { height: auto !important; }
.elementor-popup-modal .e-con-inner { height: auto !important; }

/* --- POPUP PANEL: auto height, no fixed/min height, no stretch --- */
.elementor-location-popup .e-con,
.elementor-location-popup .e-con-inner {
    min-height: 0 !important;
    height: auto !important;
    flex-grow: 0 !important;
    justify-content: flex-start !important;
    align-content: flex-start !important;
}

/* --- QUESTIONS LIST: numbered rows with pastel badges --- */
.ask-qrow {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    padding: 10px 0 !important;
    border-bottom: 1px solid #e8ecf0 !important;
}
.ask-qrow:last-child {
    border-bottom: none !important;
    padding-bottom: 0 !important;
}
.ask-qnum {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    border-radius: 50% !important;
    background-color: white !important;
    color: #28903a !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    flex-shrink: 0 !important;
}
.ask-qtext {
    font-size: 14px !important;
    color: #333333 !important;
    line-height: 1.45 !important;
}

/* --- POPUP HEADING HIERARCHY --- */
.ask-popup-title .elementor-heading-title { font-size: 22px !important; font-weight: 700 !important; }
.ask-popup-why-heading .elementor-heading-title,
.ask-popup-questions-heading .elementor-heading-title { font-size: 16px !important; font-weight: 700 !important; }

/* --- CARDS: bigger headings, tighter body text --- */
.elementor-element[class*="bento-card"] .elementor-heading-title { font-size: 20px !important; font-weight: 700 !important; }
.elementor-element[class*="bento-card"] .elementor-widget-text-editor { font-size: 14px !important; line-height: 1.45 !important; }
.elementor-element[class*="diet-card-"] .elementor-widget-text-editor { line-height: 1.45 !important; }

/* --- CARDS: consistent radius, shadow, hover lift --- */
.elementor-element[class*="diet-card-"], .elementor-element[class*="bento-card"], .elementor-element[class*="fx-card-"] { border-radius: 12px !important; box-shadow: 0 2px 12px rgba(0,0,0,0.08) !important; transition: transform 0.25s ease, box-shadow 0.25s ease !important; cursor: pointer; }
.elementor-element[class*="diet-card-"]:hover, .elementor-element[class*="bento-card"]:hover, .elementor-element[class*="fx-card-"]:hover { transform: translateY(-4px) !important; box-shadow: 0 8px 30px rgba(0,0,0,0.14) !important; }

/* --- BADGES: consistent 32px circles --- */
.elementor-element[class*="diet-badge-"] .elementor-heading-title, .elementor-element[class*="fx-badge-"] .elementor-heading-title, .elementor-element[class*="step-badge-"] .elementor-heading-title { width: 32px !important; height: 32px !important; display: flex !important; align-items: center !important; justify-content: center !important; border-radius: 50% !important; font-size: 14px !important; font-weight: 700 !important; line-height: 1 !important; }

/* --- ACCORDIONS: consistent styling --- */
.elementor-accordion .elementor-accordion-item { border: 1px solid #e8ecf0 !important; border-radius: 8px !important; margin-bottom: 8px !important; overflow: hidden; }
.elementor-accordion .elementor-tab-title { padding: 16px 20px !important; font-weight: 600 !important; font-size: 15px !important; transition: background-color 0.2s ease !important; }
.elementor-accordion .elementor-tab-title:hover { background-color: #f8f9fa !important; }
.elementor-accordion .elementor-tab-content { padding: 0 20px 16px 20px !important; font-size: 14px !important; line-height: 1.6 !important; color: #444444 !important; }/* End custom CSS */