/* ============================================================
   A014 — Amazenci Nail Salon — shared styles
   Tokens measured from nail-a014.aiopromotion.com (Elementor kit post-8)
   ============================================================ */
:root{
  --primary:#AD9A79;      /* gold / tan  */
  --secondary:#262626;    /* near-black  */
  --text:#000000;
  --accent:#ffffff;
  --footer-bg:#D4CEC152;  /* translucent beige */
  --link-gold:#BF9B56;
  --cw:1120px;            /* boxed container width */
}

/* base — body MUST be 1rem so all em-based Elementor sizes resolve on 16px */
body{font-size:1rem;color:var(--text);line-height:1.5;font-family:"Open Sans",Arial,sans-serif;background:#fff;overflow-x:hidden;}
img{max-width:100%;}
a{color:inherit;text-decoration:none;}

/* ---------- layout primitive (e-con-boxed) ---------- */
.sec{padding-left:0;padding-right:0;}
.sec-inner{width:100%;max-width:var(--cw);margin-inline:auto;}
@media(max-width:1024px){.sec{padding-left:30px;padding-right:30px;}}
@media(max-width:767px){.sec{padding-left:20px;padding-right:20px;}}

/* ---------- buttons ---------- */
.btn{
  display:inline-block;line-height:1;cursor:pointer;
  font-family:"Open Sans",sans-serif;font-size:1em;font-weight:600;text-transform:uppercase;
  color:var(--accent);
  background-image:linear-gradient(90deg,var(--secondary) 0%,var(--primary) 100%);
  box-shadow:0 0 10px 0 rgba(0,0,0,.5);
  border:none;border-radius:0;padding:15px 30px;
  transition:transform .6s ease,background-image .6s ease;
}
.btn:hover,.btn:focus{
  background-image:linear-gradient(90deg,var(--primary) 0%,var(--secondary) 100%);
  transform:scale(1.05);color:var(--accent);
}
@media(max-width:1024px){.btn{font-size:.9em;padding:15px 25px;}}
@media(max-width:767px){.btn{font-size:.8em;padding:12px 20px;}}

/* ============================================================
   HEADER  (Elementor id 12 — position:fixed, z-index 500)
   ============================================================ */
.site-header{
  position:fixed;top:0;left:0;width:100%;z-index:500;
  background:var(--accent);box-shadow:0 2px 20px 0 rgba(0,0,0,.5);
  padding:10px 0;
}
.header-inner{
  max-width:1350px;margin:0 auto;
  display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;
}
.header-logo{flex:0 0 18%;display:flex;justify-content:center;}
.header-logo img{
  height:70px;width:auto;object-fit:contain;object-position:center left;
}
.header-nav{flex:0 0 60%;display:flex;justify-content:center;}
.header-cta{flex:0 0 15%;display:flex;justify-content:center;}
.header-cta .btn{padding:10px 30px;white-space:nowrap;}

/* desktop menu */
.nav-menu{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:0;list-style:none;margin:0;padding:0;}
.nav-menu a{
  display:block;padding:10px 15px;
  font-family:"Abril Fatface","Open Sans",sans-serif;font-size:1.1em;font-weight:500;
  text-transform:capitalize;color:var(--text);line-height:1;transition:color .2s ease;
}
.nav-menu a:hover,.nav-menu a.active{color:var(--primary);}

/* hamburger + mobile dropdown */
.menu-toggle{display:none;background:none;border:none;cursor:pointer;color:var(--secondary);padding:6px;}
.menu-toggle svg{width:28px;height:28px;fill:currentColor;display:block;}
.menu-toggle:hover{color:var(--primary);}
.menu-toggle .icon-close{display:none;}
.menu-toggle[aria-expanded="true"] .icon-open{display:none;}
.menu-toggle[aria-expanded="true"] .icon-close{display:block;}

.mobile-menu{
  position:absolute;top:100%;left:0;right:0;background:var(--accent);
  list-style:none;margin:0;padding:0;overflow:hidden;
  max-height:0;transform:scaleY(0);transform-origin:top;
  transition:max-height .3s ease-out,transform .3s ease-out,box-shadow .3s ease-out;
}
.mobile-menu.open{
  max-height:360px;transform:scaleY(1);
  border-radius:0 0 15px 15px;
  box-shadow:0 15px 15px 0 rgba(0,0,0,.35);
  clip-path:inset(0 -16px -16px -16px);
}
.mobile-menu a{
  display:block;padding:14px 24px;
  font-family:"Abril Fatface","Open Sans",sans-serif;font-size:1.1em;font-weight:500;text-transform:capitalize;
  color:var(--text);
}
.mobile-menu a:hover{color:var(--primary);}
.mobile-menu a.active{color:var(--accent);background:var(--primary);}

@media(min-width:1025px){ .mobile-menu{display:none;} }
@media(max-width:1024px){
  .header-nav{display:none;}
  .menu-toggle{display:block;}
  .site-header{position:fixed;padding:10px 30px;}
  /* keep header-inner in flow at edges; hamburger absolutely centered */
  .header-inner{position:relative;}
  .header-logo{flex:0 0 auto;justify-content:flex-start;}
  .header-cta{flex:0 0 auto;}
  .header-toggle-wrap{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;}
}
@media(max-width:767px){
  .site-header{padding:10px 20px;}
  .header-logo img{height:60px;}
  .header-cta .btn{padding:8px 15px;}
}
@media(min-width:1025px){ .header-toggle-wrap{display:none;} }

/* ============================================================
   STICKY SOCIAL SIDEBAR  (fixed left, 3 icons)
   ============================================================ */
.social-sidebar{
  position:fixed;left:0;top:24vh;z-index:99;
  display:flex;flex-direction:column;gap:5px;
}
.social-sidebar a,.social-sidebar span{
  width:34px;height:34px;display:flex;align-items:center;justify-content:center;
  background:var(--primary);color:var(--accent);border-radius:4px;
  transition:background .3s ease;
}
.social-sidebar a:hover{background:var(--secondary);}
.social-sidebar svg{width:18px;height:18px;fill:currentColor;}
@media(max-width:767px){
  .social-sidebar a,.social-sidebar span{width:30px;height:30px;}
  .social-sidebar svg{width:16px;height:16px;}
}

/* ============================================================
   SECTION TITLE  (decorative frame + overlapping script eyebrow)
   ============================================================ */
.section-title{position:relative;display:flex;justify-content:center;}
.section-title img{width:320px;height:auto;display:block;}
.section-title .eyebrow{
  position:absolute;bottom:-15px;left:0;width:100%;text-align:center;
  font-family:"Mr De Haviland",cursive;font-weight:500;font-size:3.6em;line-height:1;
  color:var(--text);text-transform:capitalize;margin:0;
}
.section-title .eyebrow.on-dark{color:var(--accent);}
@media(max-width:1024px){.section-title .eyebrow{font-size:3.2em;}}
@media(max-width:767px){.section-title .eyebrow{font-size:2.8em;}.section-title img{width:280px;}}

/* generic centered lead paragraph (Poppins) */
.lead-text{font-family:"Poppins",sans-serif;font-size:1.2rem;font-weight:400;text-align:center;color:var(--text);margin:0;}
.lead-text a{color:var(--primary);}
@media(max-width:767px){.lead-text{font-size:1rem;}}

/* ============================================================
   FOOTER  (Elementor id 10 — 4-column flex)
   ============================================================ */
.site-footer{background:var(--footer-bg);}
.footer-row{
  width:80%;margin:0 auto;
  display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between;
  padding:80px 0;
}
.footer-col{display:flex;flex-direction:column;gap:20px;}
.footer-col.about{flex-basis:25%;}
.footer-col.contact{flex-basis:20%;}
.footer-col.hours{flex-basis:20%;}
.footer-col.map{flex-basis:28%;}
.footer-col h2{
  font-family:"Archivo",sans-serif;font-size:1.5rem;font-weight:600;color:var(--primary);
  margin:0;line-height:1.2;
}
.footer-col.about p{font-family:"Open Sans",sans-serif;font-size:1em;color:var(--text);text-align:justify;margin:0;}
.footer-col.about p .biz{color:var(--link-gold);font-weight:600;}

.contact-list{display:flex;flex-direction:column;gap:5px;list-style:none;margin:0;padding:0;}
.contact-list li{display:flex;flex-direction:row;align-items:center;gap:10px;}
.contact-list .ci{flex:0 0 auto;width:24px;height:24px;color:var(--primary);}
.contact-list .ci svg{width:24px;height:24px;fill:currentColor;display:block;}
.contact-list h3{font-family:"Open Sans",sans-serif;font-size:1em;font-weight:400;color:var(--text);margin:0;transition:color .2s ease;}
.contact-list a:hover h3,.contact-list h3:hover{color:var(--primary);}

.footer-social{display:flex;flex-direction:row;gap:10px;margin-top:0;}
.footer-social a,.footer-social span{
  width:40px;height:40px;border-radius:50%;background:var(--primary);color:var(--accent);
  display:flex;align-items:center;justify-content:center;transition:background .3s ease;
}
.footer-social a:hover{background:var(--secondary);}
.footer-social svg{width:20px;height:20px;fill:currentColor;}

.footer-col.hours p{font-family:"Open Sans",sans-serif;font-size:1em;color:var(--text);text-align:justify;margin:0;line-height:1.8;}
.footer-col.hours .seo-tag{font-family:"Open Sans",sans-serif;font-size:1em;font-weight:600;color:var(--primary);margin:0;}
.footer-col.hours .seo-tag.tight{margin-top:-15px;}

.footer-col.map iframe{width:100%;height:280px;border:0;display:block;}

.footer-bottom{background:var(--footer-bg);text-align:center;padding:20px 0;}
.footer-bottom p{font-family:"Open Sans",sans-serif;font-size:1em;color:var(--text);margin:0;}

@media(max-width:1024px){
  .footer-row{width:100%;padding:60px 30px;gap:40px;}
  .footer-col.about,.footer-col.contact,.footer-col.hours,.footer-col.map{flex-basis:47%;}
}
@media(max-width:767px){
  .footer-row{padding:60px 20px;gap:40px 0;}
  .footer-col.about,.footer-col.contact,.footer-col.hours,.footer-col.map{flex-basis:100%;}
  .footer-col h2{font-size:1.4rem;}
}

/* ============================================================
   HOME PAGE
   ============================================================ */
.bg-cover{background-position:center center;background-size:cover;background-repeat:no-repeat;}
@media(max-width:1024px){.bg-cover.bg-shift{background-position:center right;}}

.home-hero{
  min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:20px;
  padding:160px 0 80px;text-align:center;
  background-image:url("images/bg26-5.webp");
}
.home-hero .hero-eyebrow{
  font-family:"Mr De Haviland",cursive;font-weight:300;font-size:2.8em;line-height:1;color:var(--primary);margin:0;text-transform:capitalize;
}
.home-hero .hero-box{
  width:100%;max-width:1120px;box-sizing:border-box;
  border:5px solid var(--primary);padding:40px 80px;
  display:flex;flex-direction:column;align-items:center;gap:20px;
}
.home-hero .hero-title{
  font-family:"Montserrat",sans-serif;font-weight:700;font-size:4rem;line-height:1.1;color:var(--accent);margin:0;
}
.home-hero .hero-sub{
  font-family:Arial,sans-serif;font-weight:600;font-size:1.2em;line-height:1.3;text-transform:uppercase;color:var(--accent);margin:0;
}
@media(max-width:1024px){
  .home-hero{min-height:50vh;padding:160px 30px 80px;}
  .home-hero .hero-eyebrow{font-size:2.2em;}
  .home-hero .hero-title{font-size:3rem;}
}
@media(max-width:767px){
  .home-hero{min-height:70vh;padding:120px 20px 60px;}
  .home-hero .hero-eyebrow{font-size:1.8em;}
  .home-hero .hero-box{padding:20px;}
  .home-hero .hero-title{font-size:2.5rem;}
}

.home-section{display:flex;flex-direction:column;gap:40px;padding:80px 0;}
@media(max-width:767px){.home-section{padding:60px 0;gap:40px;}}
.home-section.bg-services{background-image:url("images/bg26-6.webp");}
.home-section.bg-reviews{background-image:url("images/bg-contact.webp");}

.about-img{width:100%;height:auto;display:block;}
.about-heading{
  font-family:"Open Sans",sans-serif;font-weight:600;font-size:2em;line-height:1.3;text-transform:capitalize;text-align:center;color:var(--text);margin:0;
}
.about-para{font-family:"Open Sans",sans-serif;font-size:1.1em;text-align:center;color:var(--text);margin:0;line-height:1.6;}
.about-para .hl{color:var(--primary);font-weight:700;}
@media(max-width:1024px){.about-heading{font-size:1.8em;}}
@media(max-width:767px){.about-heading{font-size:1.6em;}}

.svc-cards{display:flex;flex-direction:row;justify-content:space-between;flex-wrap:wrap;gap:30px 0;}
.svc-card{flex:0 0 22%;display:flex;flex-direction:column;align-items:center;gap:20px;}
.svc-card .svc-thumb{width:180px;max-width:100%;display:block;}
.svc-card .svc-thumb img{width:100%;height:auto;display:block;transition:transform .6s ease;}
.svc-card:hover .svc-thumb img{transform:scale(1.1);}
@media(max-width:1024px){.svc-card{flex-basis:23%;}.svc-card .svc-thumb{width:140px;}}
@media(max-width:767px){.svc-cards{gap:30px 0;}.svc-card{flex-basis:100%;}.svc-card .svc-thumb{width:200px;}}

/* ============================================================
   GALLERY masonry + lightbox
   ============================================================ */
.masonry{position:relative;width:100%;}
.masonry .g-item{position:absolute;overflow:hidden;cursor:pointer;}
.masonry .g-item img{width:100%;height:auto;display:block;}
.masonry .g-item .g-overlay{position:absolute;inset:0;background:rgba(0,0,0,.5);opacity:0;transition:opacity .8s ease;}
.masonry .g-item:hover .g-overlay{opacity:1;}

.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.9);z-index:1000;display:none;align-items:center;justify-content:center;}
.lightbox.open{display:flex;}
.lightbox img{max-width:90vw;max-height:90vh;box-shadow:0 0 40px rgba(0,0,0,.6);}
.lightbox .lb-btn{position:absolute;background:none;border:none;color:#fff;font-size:40px;cursor:pointer;user-select:none;padding:10px 20px;line-height:1;}
.lightbox .lb-close{top:10px;right:20px;}
.lightbox .lb-prev{left:10px;top:50%;transform:translateY(-50%);}
.lightbox .lb-next{right:10px;top:50%;transform:translateY(-50%);}

/* ============================================================
   TESTIMONIALS CAROUSEL
   ============================================================ */
.tst-carousel{width:100%;max-width:800px;margin:0 auto;overflow:hidden;position:relative;}
.tst-track{display:flex;transition:transform .5s ease;}
.tst-slide{flex:0 0 100%;min-width:0;padding:0 10px;box-sizing:border-box;text-align:center;}
.tst-text{font-family:Georgia,serif;font-style:italic;font-size:1.1em;color:var(--accent);line-height:1.7;margin:0 0 20px;}
.tst-name{font-family:Georgia,serif;font-style:italic;font-size:1.1em;font-weight:600;color:var(--primary);margin:0;}
.tst-title{font-family:Georgia,serif;font-style:italic;font-size:1.1em;font-weight:400;color:var(--accent);margin:0;}
.tst-stars{color:var(--primary);font-size:1.2em;margin-bottom:14px;letter-spacing:2px;}
.tst-dots{display:flex;justify-content:center;gap:10px;margin-top:24px;}
.tst-dots button{width:12px;height:12px;border-radius:50%;border:none;background:var(--accent);opacity:.7;cursor:pointer;padding:0;}
.tst-dots button.active{background:var(--primary);opacity:1;}

/* ============================================================
   SUB-HERO
   ============================================================ */
.subhero{
  display:flex;flex-direction:column;justify-content:center;align-items:center;gap:20px;
  padding-top:160px;padding-bottom:80px;text-align:center;
  background-image:url("images/bg26-6.webp");
}
.subhero .section-title img{width:360px;}
.subhero .section-title .eyebrow{font-size:4.8em;}
@media(max-width:1024px){.subhero .section-title .eyebrow{font-size:4.6em;}}
@media(max-width:767px){
  .subhero{padding-top:120px;padding-bottom:60px;}
  .subhero .section-title img{width:280px;}
  .subhero .section-title .eyebrow{font-size:4em;}
}

/* ============================================================
   SERVICES PAGE
   ============================================================ */
.svc-section{padding-top:80px;padding-bottom:80px;}
.svc-box{border:1px solid var(--primary);padding:40px;display:flex;flex-direction:column;gap:40px;}
.svc-cat-head{
  align-self:flex-start;padding:15px;
  background-image:linear-gradient(90deg,var(--footer-bg) 0%,#FFFFFF00 100%);
  border-left:5px solid var(--primary);
}
.svc-cat-head h2{font-family:"Open Sans",sans-serif;font-size:2em;font-weight:600;text-transform:uppercase;color:var(--text);margin:0;line-height:1.2;}
.svc-subtitle{font-family:"Open Sans",sans-serif;font-size:1.1em;color:var(--text);margin:0;}
.price-list{list-style:none;margin:0;padding:0;}
.price-item{display:flex;flex-direction:column;align-items:flex-start;}
.price-item:not(:last-child){margin-bottom:15px;}
.price-head{display:flex;align-items:baseline;width:100%;gap:12px;}
.price-title{order:1;font-family:"Open Sans",sans-serif;font-size:1.1em;font-weight:600;color:var(--secondary);}
.price-lead{order:2;flex:1;border-bottom:1px dotted var(--secondary);min-width:24px;transform:translateY(-.25em);}
.price-val{order:3;font-family:"Open Sans",sans-serif;font-size:1.1em;font-weight:600;color:var(--text);white-space:nowrap;}
.price-desc{font-family:"Open Sans",sans-serif;font-size:.9em;font-weight:400;font-style:italic;text-align:justify;color:var(--text);margin:8px 0 0;line-height:1.5;white-space:pre-line;}
.price-list.title-black .price-title{color:var(--text);}
@media(max-width:1024px){
  .svc-box{padding:20px;gap:30px;}
  .svc-cat-head{padding:10px;}
  .svc-cat-head h2{font-size:1.8em;}
}
@media(max-width:767px){
  .svc-section{padding-top:60px;padding-bottom:60px;}
  .svc-box{padding:15px;gap:20px;}
  .svc-cat-head{align-self:stretch;}
  .svc-cat-head h2{font-size:1.6em;}
}

/* ============================================================
   CONTACT PAGE
   ============================================================ */
.contact-row{display:flex;flex-direction:row;padding:80px 0;}
.contact-left{flex:0 0 50%;background-image:url("images/contact.webp");background-position:center center;background-size:cover;background-repeat:no-repeat;}
.contact-right{
  flex:0 0 50%;background:var(--footer-bg);
  display:flex;flex-direction:column;align-items:center;gap:30px;
  padding:80px 60px;text-align:center;
}
.contact-right h2{font-family:Arial,sans-serif;font-size:1.2em;font-weight:600;text-transform:uppercase;color:var(--text);margin:0;}
.contact-divider{width:65px;border:none;border-top:5px solid var(--primary);margin:0 auto;}
.contact-right p{font-family:"Open Sans",sans-serif;font-size:1.1em;color:var(--text);margin:0;line-height:1.6;}
@media(max-width:1024px){.contact-right{padding:60px 30px;}}
@media(max-width:767px){
  .contact-row{flex-direction:column;padding:60px 0;}
  .contact-left{flex-basis:auto;min-height:320px;}
  .contact-right{flex-basis:auto;padding:60px 20px;gap:20px;}
}
