/*
Theme Name:   Hello Elementor Child
Theme URI:    https://elementor.com/hello-theme/
Description:  Child theme for Hello Elementor — Malini Michelle complete redesign.
              Navy #061D3B | Dusty Rose #C27987 | Blush #FAD1D9
              All fixes: membership light bg, floral patterns removed,
              location text visible, footer navy.
Author:       Malini Michelle
Template:     hello-elementor
Version:      3.0.0
Text Domain:  hello-elementor-child
*/

/* =============================================
   DESIGN TOKENS
   ============================================= */
:root {
    --navy:       #061D3B;
    --navy-deep:  #040f22;
    --navy-light: #0d3060;
    --rose:       #C27987;
    --rose-dark:  #a8606d;
    --blush:      #FAD1D9;
    --blush-soft: #fdf0f3;
    --white:      #FFFFFF;
    --off-white:  #faf8f6;

    --e-global-color-primary:   #061D3B;
    --e-global-color-secondary: #FAD1D9;
    --e-global-color-text:      #061D3B;
    --e-global-color-accent:    #C27987;
}

/* =============================================
   BASE
   ============================================= */
body {
    background-color: var(--white);
    color: var(--navy);
    font-family: 'Lato', sans-serif;
    -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, h5, h6 { font-family: 'Outfit', sans-serif; color: var(--navy); }
a       { color: var(--rose); }
a:hover { color: var(--rose-dark); }

/* =============================================
   TOP BAR · id: 3c12ef5
   Deep navy · blush icons & text
   ============================================= */
.elementor-element-3c12ef5,
section[data-id="3c12ef5"],
.elementor-element-3c12ef5 > .elementor-container,
.elementor-element-3c12ef5 > .e-con-inner {
    background-color: var(--navy-deep) !important;
    background-image: none !important;
    border-bottom: 1px solid rgba(250,209,217,.18) !important;
}
.elementor-element-3c12ef5 .elementor-social-icon { background-color: transparent !important; }
.elementor-element-3c12ef5 .elementor-social-icon svg,
.elementor-element-3c12ef5 .elementor-social-icon i { fill: var(--blush) !important; color: var(--blush) !important; }
.elementor-element-3c12ef5 .elementor-social-icon:hover { opacity: .7; }
.elementor-element-3c12ef5 .elementor-icon-list-text,
.elementor-element-3c12ef5 .elementor-icon-list-item a,
.elementor-element-3c12ef5 a { color: var(--blush) !important; font-size: 13px; letter-spacing: .5px; }
.elementor-element-3c12ef5 .elementor-icon-list-icon i,
.elementor-element-3c12ef5 .elementor-icon-list-icon svg { color: var(--rose) !important; fill: var(--rose) !important; }

/* =============================================
   MAIN NAV HEADER · id: 33ef783
   ============================================= */
.elementor-element-33ef783,
section[data-id="33ef783"],
.elementor-element-33ef783 > .elementor-container,
.elementor-element-33ef783 > .e-con-inner {
    background-color: var(--navy) !important;
    background-image: none !important;
    border-bottom: 2px solid rgba(194,121,135,.3) !important;
    box-shadow: 0 4px 24px rgba(6,29,59,.35) !important;
}
.elementor-element-33ef783 .elementor-nav-menu a,
.elementor-element-33ef783 .elementor-nav-menu .elementor-item { color: var(--white) !important; font-weight: 500; letter-spacing: .4px; }
.elementor-element-33ef783 .elementor-nav-menu a:hover,
.elementor-element-33ef783 .elementor-nav-menu .elementor-item:hover,
.elementor-element-33ef783 .elementor-nav-menu .elementor-item-active { color: var(--blush) !important; }
.elementor-element-33ef783 .sub-menu {
    background-color: var(--navy) !important;
    border-top: 2px solid var(--rose) !important;
    box-shadow: 0 8px 24px rgba(6,29,59,.3) !important;
}
.elementor-element-33ef783 .sub-menu a { color: var(--blush) !important; }
.elementor-element-33ef783 .sub-menu a:hover { background-color: rgba(250,209,217,.08) !important; color: var(--white) !important; }
.elementor-element-33ef783 .elementor-button {
    background-color: var(--rose) !important;
    border-color: var(--rose) !important;
    color: var(--white) !important;
    border-radius: 2px !important;
    letter-spacing: 1.2px !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    padding: 12px 28px !important;
    transition: all .3s ease !important;
}
.elementor-element-33ef783 .elementor-button:hover {
    background-color: transparent !important;
    border-color: var(--blush) !important;
    color: var(--blush) !important;
}
.elementor-element-33ef783 .elementor-menu-toggle i,
.elementor-element-33ef783 .elementor-menu-toggle svg { color: var(--white) !important; fill: var(--white) !important; }

/* =============================================
   HERO CAROUSEL · id: edf8e81
   ============================================= */
.elementor-element-edf8e81 { position: relative; overflow: hidden; }
.elementor-element-edf8e81::after {
    content: '';
    position: absolute;
    bottom: 0; left: 0; right: 0; height: 90px;
    background: linear-gradient(to top, var(--navy) 0%, transparent 100%);
    pointer-events: none; z-index: 2;
}
.elementor-element-edf8e81 .swiper-pagination-bullet { background: rgba(250,209,217,.5) !important; width: 10px; height: 10px; }
.elementor-element-edf8e81 .swiper-pagination-bullet-active { background: var(--rose) !important; width: 28px; border-radius: 5px; }

/* =============================================
   MEMBERSHIP SECTION · id: ae0ba4a
   ★ Light blush bg · navy text (READABLE) ★
   ============================================= */
.elementor-element-ae0ba4a,
section[data-id="ae0ba4a"],
.elementor-element-ae0ba4a > .elementor-container,
.elementor-element-ae0ba4a > .e-con-inner,
.elementor-element-ae0ba4a > .elementor-element-populated {
    background-color: var(--blush-soft) !important;
    background-image: none !important;
}
.elementor-element-ae0ba4a > .elementor-background-overlay,
section[data-id="ae0ba4a"] > .elementor-background-overlay {
    background-color: transparent !important;
    background-image: none !important;
    opacity: 0 !important;
}
.elementor-element-ae0ba4a { border-top: 4px solid var(--rose) !important; border-bottom: 4px solid var(--rose) !important; }
.elementor-element-ae0ba4a .elementor-heading-title {
    color: var(--navy) !important;
    letter-spacing: 4px;
    text-transform: uppercase;
}
.elementor-element-ae0ba4a .elementor-widget-text-editor,
.elementor-element-ae0ba4a .elementor-widget-text-editor p,
.elementor-element-ae0ba4a .elementor-widget-text-editor li,
.elementor-element-ae0ba4a .elementor-widget-text-editor span,
.elementor-element-ae0ba4a .elementor-widget-text-editor * { color: var(--navy) !important; line-height: 1.95; }
.elementor-element-ae0ba4a .elementor-widget-text-editor p:last-of-type { color: rgba(6,29,59,.55) !important; font-size: 12px; }
.elementor-element-ae0ba4a .elementor-button {
    background-color: var(--rose) !important;
    border-color: var(--rose) !important;
    color: var(--white) !important;
    border-radius: 2px !important;
    letter-spacing: 2px !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    padding: 14px 36px !important;
    transition: all .3s ease !important;
}
.elementor-element-ae0ba4a .elementor-button:hover {
    background-color: var(--navy) !important;
    border-color: var(--navy) !important;
}

/* =============================================
   SERVICES SECTION · id: b508cf3
   Off-white · hover cards
   ============================================= */
.elementor-element-b508cf3,
section[data-id="b508cf3"],
.elementor-element-b508cf3 > .elementor-container,
.elementor-element-b508cf3 > .e-con-inner {
    background-color: var(--off-white) !important;
    background-image: none !important;
}
.elementor-element-b508cf3 { border-top: 1px solid rgba(250,209,217,.5) !important; padding: 80px 0 !important; }
.elementor-element-b508cf3 .elementor-heading-title { color: var(--rose) !important; letter-spacing: 3px; text-transform: uppercase; font-size: 13px !important; }
.elementor-element-b508cf3 h2.elementor-heading-title { color: var(--navy) !important; letter-spacing: 1px; font-size: clamp(26px, 4vw, 40px) !important; text-transform: none; }
.elementor-element-b508cf3 .elementor-cta { border-radius: 6px; overflow: hidden; transition: all .35s ease; box-shadow: 0 4px 16px rgba(6,29,59,.08); }
.elementor-element-b508cf3 .elementor-cta:hover { box-shadow: 0 14px 40px rgba(6,29,59,.18); transform: translateY(-6px); }
.elementor-element-b508cf3 .elementor-cta__title { color: var(--white) !important; font-weight: 700; letter-spacing: 1px; text-shadow: 0 2px 8px rgba(6,29,59,.6); }
.elementor-element-b508cf3 .elementor-cta__bg-overlay {
    background: linear-gradient(to top, rgba(6,29,59,.75) 0%, rgba(6,29,59,.1) 60%, transparent 100%) !important;
}

/* =============================================
   VIDEO SECTION · id: f1ebeda
   ============================================= */
.elementor-element-f1ebeda,
section[data-id="f1ebeda"],
.elementor-element-f1ebeda > .elementor-container,
.elementor-element-f1ebeda > .e-con-inner {
    background-color: var(--navy) !important;
    background-image: none !important;
}
.elementor-element-f1ebeda { padding: 80px 0 !important; border-top: 3px solid var(--rose) !important; }
.elementor-element-f1ebeda .elementor-video-wrapper { border-radius: 8px; overflow: hidden; box-shadow: 0 20px 60px rgba(6,29,59,.5); }

/* =============================================
   INSTAGRAM / SOCIAL FEED · id: 640ee75
   White bg (remove mauve)
   ============================================= */
.elementor-element-640ee75,
section[data-id="640ee75"],
.elementor-element-640ee75 > .elementor-container,
.elementor-element-640ee75 > .e-con-inner {
    background-color: var(--white) !important;
    background-image: none !important;
}
.elementor-element-640ee75 { padding: 60px 0 !important; border-top: 1px solid rgba(250,209,217,.4) !important; }
.elementor-element-640ee75 h3,
.elementor-element-640ee75 .sbi_header_text { color: var(--navy) !important; }
.elementor-element-640ee75 .sbi_load_btn,
.elementor-element-640ee75 button { background-color: var(--rose) !important; border-color: var(--rose) !important; color: var(--white) !important; border-radius: 2px !important; }

/* =============================================
   TESTIMONIALS · id: 3de5489
   Navy bg · blush headings (remove floral)
   ============================================= */
.elementor-element-3de5489,
section[data-id="3de5489"],
.elementor-element-3de5489 > .elementor-container,
.elementor-element-3de5489 > .e-con-inner {
    background-color: var(--navy) !important;
    background-image: none !important;
}
.elementor-element-3de5489 > .elementor-background-overlay,
section[data-id="3de5489"] > .elementor-background-overlay {
    background-color: transparent !important;
    background-image: none !important;
    opacity: 0 !important;
}
.elementor-element-3de5489 { border-top: 3px solid var(--rose) !important; }
.elementor-element-3de5489 .elementor-heading-title { color: var(--blush) !important; letter-spacing: 3px; text-transform: uppercase; }
.elementor-element-3de5489 .elementor-widget-text-editor,
.elementor-element-3de5489 .elementor-widget-text-editor p { color: rgba(255,255,255,.82) !important; line-height: 1.85; }
.elementor-element-3de5489 .elementor-button {
    background-color: var(--rose) !important;
    border-color: var(--rose) !important;
    color: var(--white) !important;
    border-radius: 2px !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase;
    font-weight: 700 !important;
}
.elementor-element-3de5489 .elementor-button:hover { background-color: transparent !important; border-color: var(--blush) !important; color: var(--blush) !important; }

/* =============================================
   LOCATION / CONTACT · id: 0f33e4c
   Blush bg · navy text
   ============================================= */
.elementor-element-0f33e4c,
section[data-id="0f33e4c"],
.elementor-element-0f33e4c > .elementor-container,
.elementor-element-0f33e4c > .e-con-inner,
.elementor-element-0f33e4c > .elementor-element-populated {
    background-color: var(--blush) !important;
    background-image: none !important;
}
.elementor-element-0f33e4c > .elementor-background-overlay,
section[data-id="0f33e4c"] > .elementor-background-overlay {
    background-color: transparent !important;
    background-image: none !important;
    opacity: 0 !important;
}
.elementor-element-0f33e4c { padding: 80px 0 !important; border-top: 1px solid rgba(194,121,135,.3) !important; }
.elementor-element-0f33e4c .elementor-heading-title,
.elementor-element-0f33e4c .elementor-heading-title * { color: var(--navy) !important; }
.elementor-element-0f33e4c .elementor-widget-text-editor,
.elementor-element-0f33e4c .elementor-widget-text-editor *,
.elementor-element-0f33e4c p,
.elementor-element-0f33e4c span,
.elementor-element-0f33e4c strong { color: var(--navy) !important; line-height: 1.9; }
.elementor-element-0f33e4c a { color: var(--rose) !important; font-weight: 600; }
.elementor-element-0f33e4c a:hover { color: var(--navy) !important; }

/* =============================================
   SPACER SECTIONS · id: 6987296 & 90907d5
   ============================================= */
.elementor-element-6987296,
section[data-id="6987296"],
.elementor-element-6987296 > .elementor-container,
.elementor-element-6987296 > .e-con-inner {
    background-color: var(--navy) !important;
    background-image: none !important;
}
.elementor-element-90907d5,
section[data-id="90907d5"],
.elementor-element-90907d5 > .elementor-container { background-color: var(--navy) !important; background-image: none !important; }

/* =============================================
   FOOTER · ids: a65946f (main) · 05ca2a5 (bar)
   Remove floral pattern · deep navy
   ============================================= */
.elementor-element-a65946f,
section[data-id="a65946f"],
.elementor-element-a65946f > .elementor-container,
.elementor-element-a65946f > .e-con-inner {
    background-color: var(--navy-deep) !important;
    background-image: none !important;
}
.elementor-element-a65946f > .elementor-background-overlay,
section[data-id="a65946f"] > .elementor-background-overlay {
    background-color: transparent !important;
    background-image: none !important;
    opacity: 0 !important;
}
.elementor-element-05ca2a5,
section[data-id="05ca2a5"],
.elementor-element-05ca2a5 > .elementor-container,
.elementor-element-05ca2a5 > .e-con-inner {
    background-color: var(--navy-deep) !important;
    background-image: none !important;
    border-top: 1px solid rgba(250,209,217,.12) !important;
}
.elementor-location-footer,
.elementor-location-footer .elementor-section,
.elementor-location-footer section { background-image: none !important; }
.elementor-element-a65946f .elementor-heading-title,
.elementor-element-a65946f h1,
.elementor-element-a65946f h2,
.elementor-element-a65946f h3 { color: var(--blush) !important; letter-spacing: 1px; }
.elementor-element-a65946f .elementor-nav-menu a,
.elementor-element-a65946f li a,
.elementor-element-a65946f a { color: rgba(250,209,217,.75) !important; transition: color .2s; }
.elementor-element-a65946f a:hover { color: var(--white) !important; }
.elementor-element-05ca2a5 p,
.elementor-element-05ca2a5 span,
.elementor-element-05ca2a5 a { color: rgba(250,209,217,.6) !important; font-size: 13px; }
footer,
.site-footer,
#site-footer,
.elementor-location-footer {
    background-color: var(--navy-deep) !important;
    border-top: 3px solid var(--rose) !important;
}
.elementor-location-footer a { color: rgba(250,209,217,.75) !important; }
.elementor-location-footer a:hover { color: var(--white) !important; }
.elementor-location-footer p { color: rgba(250,209,217,.65) !important; }

/* =============================================
   GLOBAL BUTTONS
   ============================================= */
.elementor-button { border-radius: 2px !important; letter-spacing: 1.5px !important; font-weight: 700 !important; transition: all .3s ease !important; }

/* =============================================
   DIVIDERS
   ============================================= */
.elementor-divider-separator { border-color: var(--rose) !important; }

/* =============================================
   FORMS
   ============================================= */
input[type="text"], input[type="email"], input[type="tel"],
textarea, select,
.elementor-field-group input, .elementor-field-group textarea {
    border-color: var(--rose) !important;
    color: var(--navy) !important;
    border-radius: 2px !important;
}
input:focus, textarea:focus { border-color: var(--navy) !important; box-shadow: 0 0 0 3px rgba(250,209,217,.3) !important; }

/* =============================================
   RESPONSIVE
   ============================================= */
@media (max-width: 1024px) {
    .elementor-element-33ef783 .elementor-nav-menu--dropdown { background-color: var(--navy) !important; border-top: 2px solid var(--rose) !important; }
}
@media (max-width: 767px) {
    .elementor-element-3c12ef5  { padding: 8px 15px !important; }
    .elementor-element-ae0ba4a  { padding: 50px 20px !important; }
    .elementor-element-b508cf3  { padding: 50px 0 !important; }
    .elementor-element-b508cf3 .elementor-cta:hover { transform: none; }
    .elementor-element-3de5489  { padding: 50px 0 !important; }
    .elementor-element-0f33e4c  { padding: 50px 20px !important; }
    .elementor-button { padding: 12px 20px !important; letter-spacing: .8px !important; }
}
