/*
Theme Name: UniGlam Lounge
Theme URI: https://uniglamlounge.in/
Description: Premium standalone Elementor-ready WordPress theme for UniGlam Lounge — Unisex Salon, Bridal Studio & Academy.
Author: UniGlam Lounge
Version: 1.2.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: uniglam-lounge
*/

:root{
  --uniglam-primary:#171717;
  --uniglam-secondary:#F5EFE8;
  --uniglam-accent:#B58A55;
  --uniglam-accent-dark:#9A7040;
  --uniglam-light:#FFFDF9;
  --uniglam-soft-rose:#E8D5D1;
  --uniglam-white:#FFFFFF;
  --uniglam-text:#3D3D3D;
  --uniglam-muted:#7A7A7A;
  --uniglam-heading:'Playfair Display','Cormorant Garamond',Georgia,serif;
  --uniglam-body:'DM Sans','Poppins',sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
body{margin:0;font-family:var(--uniglam-body);background:var(--uniglam-light);color:var(--uniglam-text);line-height:1.7}
body.elementor-editor-active{padding-bottom:0}
img{max-width:100%;height:auto}
a{color:inherit}

/* WordPress content reset for the standalone shell */
.site-content{min-height:50vh}
.elementor-page .site-content,.elementor-template-full-width .site-content{margin:0}

/* Fallback header/footer only when Elementor templates are not available. */
.uniglam-fallback-header{position:relative;z-index:1000;background:rgba(255,253,249,.98);border-bottom:1px solid rgba(181,138,85,.14)}
.uniglam-fallback-header__inner,.uniglam-fallback-footer__inner{max-width:1240px;margin:0 auto;padding:18px 24px}
.uniglam-fallback-header__inner{display:flex;align-items:center;justify-content:space-between;gap:24px}
.uniglam-brand small{display:block;color:var(--uniglam-accent);font-size:9px;font-weight:700;letter-spacing:2px;text-transform:uppercase}
.uniglam-brand strong{display:block;font-family:var(--uniglam-heading);font-size:25px;line-height:1.1;color:var(--uniglam-primary)}
.uniglam-brand em{display:block;color:var(--uniglam-accent);font-style:normal;font-size:9px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;margin-top:3px}
.uniglam-fallback-nav{display:flex;flex-wrap:wrap;gap:20px;align-items:center;font-size:13px}
.uniglam-fallback-nav a{text-decoration:none}
.uniglam-fallback-nav a:hover{color:var(--uniglam-accent)}
.uniglam-fallback-actions{display:flex;gap:10px;align-items:center}
.uniglam-fallback-button{display:inline-flex;align-items:center;justify-content:center;padding:11px 16px;text-decoration:none;border:1px solid rgba(23,23,23,.2);font-weight:700;font-size:12px}
.uniglam-fallback-button--primary{background:var(--uniglam-accent);color:#fff;border-color:var(--uniglam-accent)}

.uniglam-fallback-footer{background:#111;color:#fff;margin-top:0}
.uniglam-fallback-footer__grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:40px;padding:60px 24px 30px}
.uniglam-fallback-footer p{color:rgba(255,255,255,.62);margin:8px 0}
.uniglam-fallback-footer h3{font-family:var(--uniglam-heading);font-weight:600;margin:0 0 14px}
.uniglam-fallback-footer__copyright{padding:16px 24px;border-top:1px solid rgba(255,255,255,.12);font-size:12px;color:rgba(255,255,255,.56)}

#uniglam-whatsapp-float{position:fixed;right:18px;bottom:18px;width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#25D366;color:#fff;z-index:99999;box-shadow:0 10px 28px rgba(0,0,0,.18);text-decoration:none}
#uniglam-whatsapp-float svg{width:27px;height:27px;fill:currentColor}
#uniglam-mobile-cta{display:none;position:fixed;left:0;right:0;bottom:0;z-index:99998;height:58px;background:#111;grid-template-columns:repeat(3,1fr);box-shadow:0 -4px 18px rgba(0,0,0,.15)}
#uniglam-mobile-cta a{display:flex;gap:6px;align-items:center;justify-content:center;text-decoration:none;color:#fff;font-size:12px;font-weight:700;border-right:1px solid rgba(255,255,255,.12)}
#uniglam-mobile-cta .book-btn{background:var(--uniglam-accent)}

@media(max-width:1024px){
  .uniglam-fallback-nav{display:none}
  .uniglam-fallback-footer__grid{grid-template-columns:1fr 1fr}
}
@media(max-width:767px){
  body{padding-bottom:58px}
  #uniglam-whatsapp-float{display:none}
  #uniglam-mobile-cta{display:grid}
  .uniglam-fallback-header__inner{padding:14px 16px}
  .uniglam-fallback-actions{display:none}
  .uniglam-fallback-footer__grid{grid-template-columns:1fr;gap:28px;padding:44px 20px 24px}
  .uniglam-fallback-footer__copyright{padding:14px 20px}
}

/* Elementor editability helpers */
.uniglam-sticky-header{transition:all .28s ease}
.uniglam-sticky-header.uniglam-scrolled{background:rgba(255,253,249,.98)!important;box-shadow:0 8px 28px rgba(23,23,23,.08)!important}
.elementor-widget-text-editor p:last-child{margin-bottom:0}



/* ==========================================================
   UniGlam Lounge v1.1 — layout/alignment hardening
   Keeps wide screens on a controlled content rail and makes
   every responsive breakpoint stack cleanly without overflow.
   ========================================================== */
html,body{width:100%;max-width:100%;overflow-x:hidden}
body{background:var(--uniglam-light)}
#primary,.site-content,.elementor,.elementor-page{width:100%;max-width:100%;margin:0;padding:0}

/* Full-width section backgrounds + centered 1240px content rail. */
#uniglam-hero,
#uniglam-about,
#uniglam-why,
#uniglam-hair,
#uniglam-skin,
#uniglam-grooming,
#uniglam-makeup,
#uniglam-bridal,
#uniglam-academy,
#uniglam-addons,
#uniglam-gallery,
#uniglam-appointment,
#uniglam-contact{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  box-sizing:border-box!important;
  overflow:hidden;
  padding-left:max(20px, calc((100vw - 1240px)/2 + 20px))!important;
  padding-right:max(20px, calc((100vw - 1240px)/2 + 20px))!important;
}

/* Section headings and long text should never force a layout wider than the rail. */
#uniglam-hero .elementor-widget,
#uniglam-about .elementor-widget,
#uniglam-why .elementor-widget,
#uniglam-hair .elementor-widget,
#uniglam-skin .elementor-widget,
#uniglam-grooming .elementor-widget,
#uniglam-makeup .elementor-widget,
#uniglam-bridal .elementor-widget,
#uniglam-academy .elementor-widget,
#uniglam-addons .elementor-widget,
#uniglam-gallery .elementor-widget,
#uniglam-appointment .elementor-widget,
#uniglam-contact .elementor-widget{min-width:0;max-width:100%}

/* Two-column sections: remove Elementor's implicit gap when width sums to 100%. */
#uniglam-hero,
#uniglam-about,
#uniglam-skin,
#uniglam-appointment,
#uniglam-contact{gap:0!important;flex-wrap:nowrap!important}

#uniglam-hero > .e-con,
#uniglam-about > .e-con,
#uniglam-skin > .e-con,
#uniglam-appointment > .e-con,
#uniglam-contact > .e-con{box-sizing:border-box;min-width:0}

/* Make common media widgets occupy their column cleanly. */
#uniglam-hero .elementor-widget-image,
#uniglam-about .elementor-widget-image,
#uniglam-skin .elementor-widget-image,
#uniglam-gallery .elementor-widget-gallery,
#uniglam-contact .elementor-widget-google_maps,
#uniglam-appointment .elementor-widget-shortcode{width:100%;max-width:100%}
#uniglam-hero .elementor-widget-image img,
#uniglam-about .elementor-widget-image img,
#uniglam-skin .elementor-widget-image img{display:block;width:100%;height:auto}

/* Consistent card behavior. */
.uniglam-feature-card,
.uniglam-identity-card,
.uniglam-card{width:100%;min-height:100%;box-sizing:border-box}
.uniglam-card{overflow:hidden}

/* Gallery stays inside its container. */
#uniglam-gallery .elementor-gallery__container,
#uniglam-gallery .elementor-gallery{width:100%;max-width:100%}

/* Appointment form polish and alignment, scoped to UniGlam only. */
#uniglam-appointment .fluentform,
#uniglam-appointment .ff-form{width:100%;max-width:100%}
#uniglam-appointment .ff-el-group{margin-bottom:16px}
#uniglam-appointment .ff-el-form-control{width:100%;max-width:100%;min-height:46px;box-sizing:border-box}
#uniglam-appointment textarea.ff-el-form-control{min-height:130px;resize:vertical}
#uniglam-appointment .ff-btn-submit{min-height:48px}

/* Header: full-width bar, constrained content. */
#uniglam-header,
#uniglam-footer{box-sizing:border-box}
#uniglam-header{width:100%!important;max-width:none!important;margin:0!important;padding-left:max(16px, calc((100vw - 1240px)/2 + 16px))!important;padding-right:max(16px, calc((100vw - 1240px)/2 + 16px))!important}
#uniglam-footer{width:100%!important;max-width:none!important;margin:0!important}
#uniglam-footer > .e-con{max-width:1240px;margin-inline:auto;width:100%}

/* Prevent long address/URLs from disturbing columns. */
#uniglam-contact p,
#uniglam-footer p,
#uniglam-footer a{overflow-wrap:anywhere;word-break:normal}

/* Tablet: two-column sections get a little more breathing room. */
@media (min-width:768px) and (max-width:1024px){
  #uniglam-about > .e-con,
  #uniglam-skin > .e-con,
  #uniglam-appointment > .e-con,
  #uniglam-contact > .e-con{width:calc(50% - 12px)!important}
  #uniglam-about,
  #uniglam-skin,
  #uniglam-appointment,
  #uniglam-contact{gap:24px!important;flex-wrap:nowrap!important}
}

/* Mobile: stack the main columns and convert all card rows to one clean column. */
@media (max-width:767px){
  #uniglam-hero,
  #uniglam-about,
  #uniglam-skin,
  #uniglam-appointment,
  #uniglam-contact{flex-direction:column!important;flex-wrap:nowrap!important;gap:0!important}

  #uniglam-hero > .e-con,
  #uniglam-about > .e-con,
  #uniglam-skin > .e-con,
  #uniglam-appointment > .e-con,
  #uniglam-contact > .e-con{width:100%!important;max-width:100%!important}

  #uniglam-about .elementor-widget-image,
  #uniglam-skin .elementor-widget-image{margin-inline:auto;max-width:100%}

  #uniglam-addons .e-con{width:100%!important;max-width:100%!important}
  #uniglam-addons .e-con > .elementor-widget-text-editor{width:100%!important}

  #uniglam-footer > .e-con{max-width:none;width:100%}
}

/* Appointment anchor: keep content clear of sticky header */
#uniglam-appointment{scroll-margin-top:110px}
#uniglam-about,#uniglam-hair,#uniglam-skin,#uniglam-grooming,#uniglam-makeup,#uniglam-bridal,#uniglam-academy,#uniglam-gallery,#uniglam-contact{scroll-margin-top:100px}


/* ==========================================================
   UniGlam Lounge v1.2 — FINAL ALIGNMENT / RESPONSIVE LAYER
   Visual target: premium centered salon layout with controlled
   desktop rails, true two-column sections, clean card grids,
   and one-column mobile stacking.
   ========================================================== */

html, body { width:100%; max-width:100%; overflow-x:hidden; }
body { margin:0; }

/* Full-bleed sections, centered 1240px content rail */
#uniglam-hero,
#uniglam-about,
#uniglam-why,
#uniglam-hair,
#uniglam-skin,
#uniglam-grooming,
#uniglam-makeup,
#uniglam-bridal,
#uniglam-academy,
#uniglam-addons,
#uniglam-gallery,
#uniglam-appointment,
#uniglam-contact {
  width:100% !important;
  max-width:none !important;
  box-sizing:border-box !important;
  margin:0 !important;
  padding-left:max(24px, calc((100vw - 1240px)/2 + 24px)) !important;
  padding-right:max(24px, calc((100vw - 1240px)/2 + 24px)) !important;
  overflow:hidden;
  min-width:0 !important;
}

/* Explicit desktop row layouts — fixes the root cause seen in the supplied PDF */
#uniglam-hero,
#uniglam-about,
#uniglam-skin,
#uniglam-appointment,
#uniglam-contact {
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  gap:24px !important;
}

/* Hero */
#uniglam-hero { min-height:clamp(560px, 78vh, 760px) !important; }
#uniglam-hero > .e-con,
#uniglam-about > .e-con,
#uniglam-skin > .e-con,
#uniglam-appointment > .e-con,
#uniglam-contact > .e-con {
  min-width:0 !important;
  max-width:none !important;
  box-sizing:border-box !important;
}
#uniglam-hero > .e-con:first-child { width:calc(52% - 12px) !important; }
#uniglam-hero > .e-con:nth-child(2) { width:calc(48% - 12px) !important; }
#uniglam-about > .e-con:first-child { width:calc(45% - 12px) !important; }
#uniglam-about > .e-con:nth-child(2) { width:calc(55% - 12px) !important; padding-left:24px !important; }
#uniglam-skin > .e-con:first-child { width:calc(50% - 12px) !important; }
#uniglam-skin > .e-con:nth-child(2) { width:calc(50% - 12px) !important; padding-left:24px !important; }
#uniglam-appointment > .e-con:first-child { width:calc(58% - 12px) !important; }
#uniglam-appointment > .e-con:nth-child(2) { width:calc(42% - 12px) !important; padding-left:24px !important; }
#uniglam-contact > .e-con:first-child { width:calc(40% - 12px) !important; }
#uniglam-contact > .e-con:nth-child(2) { width:calc(60% - 12px) !important; padding-left:24px !important; }

/* Keep images visually contained */
#uniglam-hero .elementor-widget-image,
#uniglam-about .elementor-widget-image,
#uniglam-skin .elementor-widget-image,
#uniglam-gallery .elementor-widget-gallery,
#uniglam-contact .elementor-widget-google_maps {
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
}
#uniglam-hero .elementor-widget-image img,
#uniglam-about .elementor-widget-image img,
#uniglam-skin .elementor-widget-image img {
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
  object-fit:cover;
}
#uniglam-hero .uniglam-hero-image-main img {
  aspect-ratio: 4 / 4.2;
  object-fit:cover;
  object-position:center;
}

/* Standard card rows */
#uniglam-why > .e-con,
#uniglam-hair > .e-con,
#uniglam-grooming > .e-con,
#uniglam-makeup > .e-con,
#uniglam-bridal > .e-con,
#uniglam-academy > .e-con {
  min-width:0 !important;
  max-width:100% !important;
}

#why-cards-row,
#uniglam-hair #hair-cols,
#uniglam-grooming #groom-cols,
#uniglam-makeup #makeup-services-row,
#uniglam-bridal #bridal-cards-row,
#uniglam-academy #acad-courses-row {
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:wrap !important;
  align-items:stretch !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
}

/* 4-column benefit cards */
#why-cards-row { gap:24px !important; }
#why-cards-row > .elementor-widget { width:calc((100% - 72px) / 4) !important; flex:0 0 calc((100% - 72px) / 4) !important; min-width:0 !important; }

/* 2-column Hair/Grooming service panels */
#uniglam-hair #hair-cols,
#uniglam-grooming #groom-cols { gap:24px !important; }
#uniglam-hair #hair-cols > .e-con,
#uniglam-grooming #groom-cols > .e-con {
  width:calc((100% - 24px) / 2) !important;
  flex:0 0 calc((100% - 24px) / 2) !important;
  min-width:0 !important;
}
#uniglam-hair #hair-cols > .e-con,
#uniglam-grooming #groom-cols > .e-con { box-sizing:border-box !important; }

/* 3-column Makeup grid */
#uniglam-makeup #makeup-services-row { gap:20px !important; }
#uniglam-makeup #makeup-services-row > .elementor-widget {
  width:calc((100% - 40px) / 3) !important;
  flex:0 0 calc((100% - 40px) / 3) !important;
  min-width:0 !important;
}

/* 3-column Bridal cards */
#uniglam-bridal #bridal-cards-row { gap:28px !important; }
#uniglam-bridal #bridal-cards-row > .e-con {
  width:calc((100% - 56px) / 3) !important;
  flex:0 0 calc((100% - 56px) / 3) !important;
  min-width:0 !important;
}

/* 3-column Academy grid */
#uniglam-academy #acad-courses-row { gap:24px !important; }
#uniglam-academy #acad-courses-row > .e-con {
  width:calc((100% - 48px) / 3) !important;
  flex:0 0 calc((100% - 48px) / 3) !important;
  min-width:0 !important;
}

/* Add-ons list should remain a clean vertical list */
#uniglam-addons #addon-items {
  width:min(720px, 100%) !important;
  max-width:100% !important;
}

/* Header: brand | flexible nav | actions */
#uniglam-header-template {
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  width:100% !important;
  max-width:none !important;
  padding-left:max(20px, calc((100vw - 1240px)/2 + 20px)) !important;
  padding-right:max(20px, calc((100vw - 1240px)/2 + 20px)) !important;
}
#uniglam-header-template > .e-con:first-child { flex:0 0 240px !important; width:240px !important; min-width:0 !important; }
#uniglam-header-template > .uniglam-desktop-nav { flex:1 1 auto !important; width:auto !important; max-width:none !important; min-width:0 !important; }
#uniglam-header-template > .e-con:last-child { flex:0 0 260px !important; width:260px !important; min-width:0 !important; }
#uniglam-header-template .elementor-nav-menu--main > ul.elementor-nav-menu {
  display:flex !important;
  flex-wrap:nowrap !important;
  justify-content:center !important;
  align-items:center !important;
  gap:4px !important;
}
#uniglam-header-template .elementor-nav-menu--main .elementor-item {
  white-space:nowrap !important;
  padding-left:10px !important;
  padding-right:10px !important;
  padding-top:28px !important;
  padding-bottom:28px !important;
}
#uniglam-header-template .elementor-widget-nav-menu { width:100% !important; }

/* Footer */
#uniglam-footer-template {
  width:100% !important;
  max-width:none !important;
}
#uniglam-footer-template > #footer-top {
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  width:min(1240px,100%) !important;
  margin-inline:auto !important;
}
#uniglam-footer-template > #footer-bottom {
  display:flex !important;
  flex-direction:row !important;
  justify-content:space-between !important;
  width:min(1240px,100%) !important;
  margin-inline:auto !important;
}

/* Fluent Forms alignment */
#uniglam-appointment .fluentform,
#uniglam-appointment .ff-form,
#uniglam-appointment .ff-el-group,
#uniglam-appointment .ff-el-form-control { width:100% !important; max-width:100% !important; box-sizing:border-box !important; }
#uniglam-appointment .ff-el-group { margin-bottom:14px !important; }
#uniglam-appointment textarea.ff-el-form-control { min-height:120px !important; }

/* TABLET */
@media (min-width:768px) and (max-width:1024px) {
  #uniglam-hero,
  #uniglam-about,
  #uniglam-skin,
  #uniglam-appointment,
  #uniglam-contact {
    gap:20px !important;
    padding-left:24px !important;
    padding-right:24px !important;
  }
  #uniglam-hero > .e-con:first-child,
  #uniglam-hero > .e-con:nth-child(2),
  #uniglam-about > .e-con:first-child,
  #uniglam-about > .e-con:nth-child(2),
  #uniglam-skin > .e-con:first-child,
  #uniglam-skin > .e-con:nth-child(2),
  #uniglam-appointment > .e-con:first-child,
  #uniglam-appointment > .e-con:nth-child(2),
  #uniglam-contact > .e-con:first-child,
  #uniglam-contact > .e-con:nth-child(2) {
    width:calc(50% - 10px) !important;
    flex:0 0 calc(50% - 10px) !important;
  }
  #why-cards-row > .elementor-widget,
  #uniglam-makeup #makeup-services-row > .elementor-widget {
    width:calc((100% - 24px) / 2) !important;
    flex-basis:calc((100% - 24px) / 2) !important;
  }
  #uniglam-bridal #bridal-cards-row > .e-con,
  #uniglam-academy #acad-courses-row > .e-con {
    width:calc((100% - 24px) / 2) !important;
    flex-basis:calc((100% - 24px) / 2) !important;
  }
  #uniglam-header-template { padding-left:20px !important; padding-right:20px !important; }
}

/* MOBILE */
@media (max-width:767px) {
  body { padding-bottom:58px; }
  #uniglam-hero,
  #uniglam-about,
  #uniglam-skin,
  #uniglam-appointment,
  #uniglam-contact {
    flex-direction:column !important;
    flex-wrap:nowrap !important;
    gap:0 !important;
    align-items:stretch !important;
    padding-left:20px !important;
    padding-right:20px !important;
    min-height:auto !important;
  }
  #uniglam-hero > .e-con,
  #uniglam-about > .e-con,
  #uniglam-skin > .e-con,
  #uniglam-appointment > .e-con,
  #uniglam-contact > .e-con {
    width:100% !important;
    flex:0 0 100% !important;
    max-width:100% !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }
  #uniglam-hero { padding-top:48px !important; padding-bottom:42px !important; }
  #uniglam-about,
  #uniglam-skin,
  #uniglam-appointment,
  #uniglam-contact { padding-top:64px !important; padding-bottom:64px !important; }

  #uniglam-about > .e-con:nth-child(2),
  #uniglam-skin > .e-con:nth-child(2),
  #uniglam-appointment > .e-con:nth-child(2),
  #uniglam-contact > .e-con:nth-child(2) {
    padding-top:28px !important;
  }

  /* single-column service/benefit cards for readable mobile */
  #why-cards-row,
  #uniglam-hair #hair-cols,
  #uniglam-grooming #groom-cols,
  #uniglam-makeup #makeup-services-row,
  #uniglam-bridal #bridal-cards-row,
  #uniglam-academy #acad-courses-row {
    flex-direction:column !important;
    flex-wrap:nowrap !important;
    gap:16px !important;
  }
  #why-cards-row > .elementor-widget,
  #uniglam-hair #hair-cols > .e-con,
  #uniglam-grooming #groom-cols > .e-con,
  #uniglam-makeup #makeup-services-row > .elementor-widget,
  #uniglam-bridal #bridal-cards-row > .e-con,
  #uniglam-academy #acad-courses-row > .e-con {
    width:100% !important;
    flex:0 0 100% !important;
    max-width:100% !important;
  }

  #uniglam-hero .elementor-widget-image img { aspect-ratio:4/4.2; }
  #uniglam-footer-template > #footer-top,
  #uniglam-footer-template > #footer-bottom {
    flex-direction:column !important;
    width:100% !important;
  }
  #uniglam-header-template {
    padding:0 16px !important;
    min-height:72px !important;
  }
  #uniglam-header-template > .e-con:first-child { flex:1 1 auto !important; width:auto !important; }
  #uniglam-header-template > .uniglam-desktop-nav,
  #uniglam-header-template > .e-con:last-child { display:none !important; }
}

/* Elementor editor: don't let front-end mobile controls affect editor frame */
body.elementor-editor-active #uniglam-mobile-cta { display:none !important; }
