/* ===== Melanie's Beauty Salon — reconstruction glue CSS =====
   Layout/interaction wiring only. Colors, typography, spacing come from the
   recovered generated + theme CSS. Includes the recovered custom_css (post 2899). */

/* ---- recovered custom_css (post 2899) ---- */
#button, #button2 { color:#fff; background-color:rgb(220,151,167); }

/* ---- base ---- */
*{box-sizing:border-box;}
html{overflow-x:hidden;}
body{margin:0;overflow-x:hidden;max-width:100%;}
img{max-width:100%;height:auto;}
a{text-decoration:none;}
.elementor-section.elementor-section-stretched{width:100%;}
.elementor-container{margin-left:auto;margin-right:auto;position:relative;display:flex;flex-wrap:wrap;}
.elementor-column-gap-default > .elementor-column > .elementor-element-populated{padding:10px;}
.elementor-column-gap-extended > .elementor-column > .elementor-element-populated{padding:15px;}

/* ================= HEADER (desktop) ================= */
.mbs-mobile-header{display:none;}
/* header sits above the hero so the dropdown is never hidden behind it (#1) */
#apus-header{position:relative;z-index:1000;}
/* compact header geometry — remove accidental vertical padding so the menu (recovered 36px link padding) drives the height (#1) */
#apus-header .elementor-column > .elementor-widget-wrap.elementor-element-populated{padding-top:0;padding-bottom:0;}
#apus-header .elementor-widget{margin-block-end:0;}
#apus-header .apus-primary-menu{width:100%;display:block;}
#apus-header .navbar-nav.megamenu{width:100%;list-style:none;margin:0;padding:0;display:flex;justify-content:flex-end;align-items:center;flex-wrap:nowrap;white-space:nowrap;}
/* logo aligned to the left of the header (matches historical video), menu right — balanced, not right-shifted */
#apus-header .elementor-element-ddb8767{text-align:left;}
#apus-header .elementor-element-df955a0 > .elementor-widget-wrap{justify-content:flex-end;}
#apus-header .navbar-nav.megamenu > li{position:relative;}
#apus-header .navbar-nav.megamenu > li > a{display:block;text-transform:uppercase;font-size:13px;font-weight:500;}
#apus-header .navbar-nav.megamenu .caret{display:inline-block;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid currentColor;vertical-align:middle;margin-left:4px;}
/* dropdown — above hero, hover + click, persists moving into submenu (#1) */
#apus-header .navbar-nav.megamenu .dropdown-menu{list-style:none;margin:0;padding:8px 0;position:absolute;top:100%;left:0;min-width:250px;background:#fff;box-shadow:0 10px 30px rgba(0,0,0,.12);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s, transform .2s, visibility .2s;z-index:1001;}
#apus-header .navbar-nav.megamenu > li:hover > .dropdown-menu,
#apus-header .navbar-nav.megamenu > li.open > .dropdown-menu{opacity:1;visibility:visible;transform:translateY(0);}
#apus-header .navbar-nav.megamenu .dropdown-menu li a{display:block;padding:9px 20px;color:#152242;text-transform:uppercase;font-size:12px;letter-spacing:.5px;white-space:nowrap;}
#apus-header .navbar-nav.megamenu .dropdown-menu li a:hover{background:#F3DFDB;color:#152242;}
#apus-header .apus-logo{display:inline-block;line-height:0;}
/* logo kept square (never stretched); capped to a compact height so the header matches the historical compact bar seen in video frames (#1) */
#apus-header .apus-logo img{display:block;width:auto;max-height:86px;}

/* ================= HEADER (mobile) + off-canvas ================= */
@media(max-width:1024px){
  #apus-header{display:none;}
  .mbs-mobile-header{display:flex;align-items:center;justify-content:space-between;background:#F3DFDB;padding:10px 16px;position:relative;z-index:120;}
  .mbs-mobile-header .mbs-mobile-logo img{height:56px;width:auto;}
  .mbs-burger{background:none;border:0;width:34px;height:28px;display:flex;flex-direction:column;justify-content:space-between;padding:4px 0;cursor:pointer;}
  .mbs-burger span{display:block;height:2px;background:#152242;border-radius:2px;}
  .mbs-mobile-wa{color:#152242;font-size:24px;}
}
@media(min-width:1025px){ .mbs-mobile-header{display:none;} }
/* off-canvas — RIGHT side per recovered custom_css (post 2899) */
.mbs-offcanvas{position:fixed;top:0;right:0;left:auto;height:100%;width:78%;max-width:360px;background:#fff;z-index:2000;transform:translateX(100%);transition:transform .25s ease;overflow-y:auto;overflow-x:hidden;padding:24px;box-shadow:-10px 0 40px rgba(0,0,0,.15);}
.mbs-offcanvas .mbs-menu li a{white-space:normal;}
.mbs-offcanvas .mbs-menu .dropdown-menu li a{font-size:14px;padding-right:0;}
.mbs-offcanvas.open{transform:translateX(0);}
.mbs-overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);opacity:0;visibility:hidden;transition:.25s;z-index:1900;}
.mbs-overlay.open{opacity:1;visibility:visible;}
.mbs-close{position:absolute;top:10px;right:14px;background:none;border:0;font-size:34px;line-height:1;color:#152242;cursor:pointer;}
.mbs-offcanvas .mbs-menu{list-style:none;margin:40px 0 0;padding:0;}
.mbs-offcanvas .mbs-menu li a{display:block;padding:12px 6px;color:#152242;text-transform:uppercase;letter-spacing:1px;font-size:15px;border-bottom:1px solid #f0e6e3;}
.mbs-offcanvas .mbs-menu .dropdown-menu{list-style:none;margin:0;padding:0 0 0 16px;max-height:0;overflow:hidden;transition:max-height .25s;}
.mbs-offcanvas .mbs-menu .menu-item-has-children.open > .dropdown-menu{max-height:600px;}
.mbs-offcanvas .caret{float:right;}

/* ================= FOOTER ================= */
#apus-footer{margin-top:0;}
.apus-social-links{display:flex;gap:14px;}
.apus-social-links a{font-size:18px;color:inherit;}
.apus-info-menu{list-style:none;margin:0;padding:0;}
.apus-info-menu li a{display:block;padding:4px 0;color:inherit;}

/* ================= SWIPER carousels ================= */
.mbs-carousel{position:relative;overflow:hidden;}
.mbs-carousel .swiper-wrapper{display:flex;will-change:transform;}
.mbs-carousel .swiper-slide{flex-shrink:0;}
.mbs-carousel .swiper-slide img{display:block;width:100%;height:100%;object-fit:cover;}
.elementor-image-carousel .swiper-slide figure{margin:0;}
.elementor-swiper-button{position:absolute;top:50%;transform:translateY(-50%);z-index:5;cursor:pointer;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.85);border-radius:50%;color:#152242;font-size:20px;box-shadow:0 2px 10px rgba(0,0,0,.15);}
.elementor-swiper-button-prev{left:10px;} .elementor-swiper-button-next{right:10px;}
.swiper-pagination{position:absolute;bottom:8px;left:0;right:0;display:flex;gap:8px;justify-content:center;z-index:5;}
.swiper-pagination .dot{width:9px;height:9px;border-radius:50%;background:rgba(21,34,66,.35);cursor:pointer;}
.swiper-pagination .dot.active{background:#DC97A7;}
.elementor-widget-image-carousel{position:relative;}

/* ================= Home treatment cards ================= */
.mbs-cat-carousel .swiper-slide{padding:8px;}
.mbs-cat-card{display:block;text-align:center;}
.mbs-cat-thumb{display:block;width:100%;aspect-ratio:1/1;background-size:cover;background-position:center;border-radius:2px;}
.mbs-cat-title{display:block;margin-top:12px;font-size:16px;letter-spacing:1px;text-transform:uppercase;color:#152242;}

/* ================= galleries + lightbox ================= */
.mbs-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.mbs-gallery-item{display:block;}
.mbs-gallery-thumb{display:block;width:100%;padding-top:66%;background-size:cover;background-position:center;}
.mbs-gallery-ar-9-16 .mbs-gallery-thumb{padding-top:177%;}
.mbs-wpgallery{display:grid;grid-template-columns:repeat(var(--mbs-cols,6),1fr);gap:var(--mbs-gap,0px);}
.mbs-wpgallery .gallery-item{margin:0;}
.mbs-wpgallery img{display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:1/1;}
@media(max-width:1024px){.mbs-gallery{grid-template-columns:repeat(3,1fr);}.mbs-wpgallery{grid-template-columns:repeat(3,1fr);}}
@media(max-width:767px){.mbs-gallery{grid-template-columns:repeat(2,1fr);}.mbs-wpgallery{grid-template-columns:repeat(2,1fr);}}
.mbs-lightbox{position:fixed;inset:0;background:rgba(0,0,0,.9);display:none;align-items:center;justify-content:center;z-index:3000;}
.mbs-lightbox.open{display:flex;}
.mbs-lightbox img{max-width:92vw;max-height:88vh;object-fit:contain;}
.mbs-lightbox .lb-nav{position:absolute;top:50%;transform:translateY(-50%);color:#fff;font-size:40px;cursor:pointer;user-select:none;padding:0 18px;}
.mbs-lightbox .lb-prev{left:0;} .mbs-lightbox .lb-next{right:0;}
.mbs-lightbox .lb-close{position:absolute;top:16px;right:24px;color:#fff;font-size:40px;cursor:pointer;}

/* ================= brand/product logos row ================= */
.apus-list-icon{display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:center;}
.apus-list-icon-item img{max-height:120px;width:auto;}

/* ================= toggles (accordion) ================= */
.elementor-toggle .elementor-tab-content{display:none;}
.elementor-toggle .elementor-tab-title.elementor-active + .elementor-tab-content{display:block;}
.elementor-toggle .elementor-tab-title{cursor:pointer;}

/* ================= form ================= */
.mbs-form .elementor-field, .mbs-cf7 .wpcf7-form-control{width:100%;padding:12px 14px;border:1px solid #e2d4d0;background:#faf5f3;color:#000;font-family:inherit;margin-bottom:14px;}
.mbs-form .elementor-field-group{margin-bottom:6px;}
.mbs-form button[type=submit], .mbs-cf7 button[type=submit]{background:#DAA0A0;color:#fff;border:0;padding:14px 34px;text-transform:uppercase;letter-spacing:2px;cursor:pointer;}
.mbs-cf7 label{display:block;margin-bottom:6px;}
.mbs-form-note{margin-top:12px;color:#8a6d6d;font-style:italic;}

/* ================= floating WhatsApp + back-to-top ================= */
.mbs-wa-float{position:fixed;right:18px;bottom:18px;width:54px;height:54px;border-radius:50%;background:#25D366;color:#fff;display:flex;align-items:center;justify-content:center;font-size:28px;z-index:1500;box-shadow:0 4px 14px rgba(0,0,0,.25);}
.mbs-top{position:fixed;left:18px;bottom:18px;width:44px;height:44px;border-radius:50%;border:0;background:#152242;color:#fff;font-size:20px;cursor:pointer;opacity:0;visibility:hidden;transition:.2s;z-index:1500;}
.mbs-top.show{opacity:1;visibility:visible;}

/* ================= classic legal pages ================= */
.mbs-classic-page{max-width:1000px;margin:60px auto;padding:0 20px;}
.mbs-classic-inner h2{font-family:'Butler',serif;}
.mbs-classic-inner p{line-height:1.8;}

/* ================= Trustindex reviews ================= */
.mbs-reviews{max-width:1200px;margin:0 auto;}
.mbs-reviews-head{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:26px;}
.mbs-reviews-agg{font-size:18px;color:#152242;letter-spacing:.5px;}
.mbs-stars{color:#e7c66b;letter-spacing:2px;font-size:18px;}
.mbs-stars .mbs-star{color:#e0d6d0;} .mbs-stars .mbs-star.on{color:#f5b100;}
.mbs-reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.mbs-review{background:#fff;border:1px solid #efe6e2;border-radius:6px;padding:22px;text-align:left;box-shadow:0 4px 18px rgba(21,34,66,.05);}
.mbs-review-head{display:flex;align-items:center;gap:10px;margin-bottom:8px;}
.mbs-avatar{width:40px;height:40px;border-radius:50%;background:#DC97A7;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:15px;}
.mbs-review-user{font-weight:600;color:#152242;}
.mbs-review-text{font-size:14px;line-height:1.6;color:#5a5a5a;margin:8px 0;}
.mbs-review-date{font-size:12px;color:#a99;}
@media(max-width:1024px){.mbs-reviews-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:767px){.mbs-reviews-grid{grid-template-columns:1fr;}}

/* ================= Home service-text — STATIC (scrolling removed per owner) ================= */
.elementor-element-686c980,
.elementor-element-686c980 .elementor-column,
.elementor-element-686c980 .elementor-widget-wrap,
.elementor-element-686c980 .elementor-widget,
.elementor-element-686c980 .elementor-widget-container{min-width:0;max-width:100%;overflow:hidden;}
/* no animation: display the service list as calm, centered, wrapped text */
.elementor-element-01725a8 .elementor-text-editor,
.elementor-element-59f014e .elementor-text-editor{white-space:normal;text-align:center;overflow:hidden;}

/* ============================================================
   STAGE 3 — CORRECTION BATCH 1
   ============================================================ */

/* #4 button alignment (honor recovered button "align") */
.elementor-button-wrapper{display:block;}
.elementor-button-align-center{text-align:center;}
.elementor-button-align-left{text-align:left;}
.elementor-button-align-right{text-align:right;}

/* #5 Instagram buttons — center the two as one group, equal size, consistent gap */
.elementor-element-896d966 > .elementor-container{justify-content:center;align-items:center;column-gap:18px;row-gap:14px;flex-wrap:wrap;}
.elementor-element-896d966 .elementor-column{width:auto!important;flex:0 0 auto;}
.elementor-element-896d966 .elementor-button-wrapper{text-align:center;}
.elementor-element-896d966 .elementor-button{min-width:280px;justify-content:center;}
@media(max-width:479px){
  .elementor-element-896d966 .elementor-column{width:100%!important;}
  .elementor-element-896d966 .elementor-button{min-width:0;width:100%;}
}

/* #6 Footer — normal inline heart, aligned bottom row, grouped social */
img.emoji{width:1em;height:1em;display:inline-block;vertical-align:-.15em;margin:0 .06em;}
#apus-footer .elementor-element-80803eb > .elementor-container{align-items:center;}
#apus-footer .elementor-element-09f90e1 .elementor-widget-wrap{justify-content:center;}
#apus-footer .apus-social-links{justify-content:center;gap:18px;}
#apus-footer .elementor-element-0795909{text-align:center;}

/* #2 Home treatment cards — taller / more length (owner), widths/spacing/radius/typography unchanged */
.mbs-cat-thumb{aspect-ratio:3 / 4;}
.mbs-cat-title{white-space:normal;}

/* #8 Treatment-subpage galleries: 3 / 2 / 1 with gaps + consistent crop (was 1 giant image) */
.mbs-carousel .swiper-slide{padding:0 8px;}
.mbs-carousel-treatment .swiper-slide-inner{aspect-ratio:4 / 5;overflow:hidden;margin:0;}
.mbs-carousel-treatment .swiper-slide-inner img{width:100%;height:100%;object-fit:cover;}
.mbs-carousel-treatment + .elementor-swiper-button,
.mbs-carousel-treatment .swiper-pagination{z-index:6;}

/* ============================================================
   STAGE 3 — CORRECTION BATCH 2
   ============================================================ */

/* #4 treatment subpages — decrease space between image and text (tighter inter-column gap) */
.mbs-treatment .elementor-column-gap-extended > .elementor-column > .elementor-element-populated{padding-left:8px;padding-right:8px;}

/* #5 treatment subpages — horizontal padding on all sections so content never hugs the viewport
   edges (fixes both text-left/image-right and image-left/text-right blocks) */
.mbs-treatment .elementor-top-section > .elementor-container{padding-left:clamp(24px,4vw,90px);padding-right:clamp(24px,4vw,90px);}

/* Price list — proper layout (Elementor ships no price-list CSS in this pack; was squeezed) */
.elementor-price-list{list-style:none;margin:0;padding:0;}
.elementor-price-list-item{display:flex;flex-wrap:wrap;margin-bottom:18px;}
.elementor-price-list-text{display:flex;align-items:flex-end;width:100%;}
.elementor-price-list-title{padding-right:4px;}
.elementor-price-list-separator{flex:1 1 auto;border-bottom:1px dotted #b9a7a2;margin:0 10px 6px;min-width:20px;}
.elementor-price-list-price{white-space:nowrap;font-weight:600;}
.elementor-price-list-description{width:100%;margin:4px 0 0;font-size:14px;color:#8a7d7a;}

/* Über mich — WhatsApp & Instagram icons a bit smaller (recovered image_size was "thumbnail") */
.elementor-page-33 .elementor-element-73baddc img,
.elementor-page-33 .elementor-element-a583405 img{max-width:100px;height:auto;}

/* entrance animation elements start visible if JS disabled */
.elementor-invisible{opacity:1;}
