/* Pro Nails Control Panel Frontend */
.pncp-hero-slider{position:absolute;inset:0;overflow:hidden;z-index:0}
.pncp-hero-layer{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity .9s ease}
.pncp-hero-layer.is-active{opacity:1}
.pncp-hero-overlay{position:absolute;inset:0;z-index:2}
.pncp-hero-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:4;border:0;border-radius:999px;background:rgba(239,76,136,.75);color:#fff;width:48px;height:64px;font-size:34px;cursor:pointer}
.pncp-hero-prev{left:22px}.pncp-hero-next{right:22px}
.pncp-services{max-width:1180px;margin:var(--pncp-service-top,0px) auto 24px!important}
.pncp-service-cat{margin:var(--pncp-service-gap,10px) 0!important;border:1px solid rgba(0,0,0,.08);background:var(--pncp-body,#fff7fb)}
.pncp-service-title{width:100%;border:0;background-color:var(--pncp-bar,#ef4c88);background-image:linear-gradient(rgba(0,0,0,.08),rgba(0,0,0,.08)),var(--pncp-bar-bg);background-size:cover;background-position:center;color:var(--pncp-bar-text,#fff);font-size:24px;font-weight:900;text-align:left;padding:16px 22px;cursor:pointer;transition:transform .2s ease, box-shadow .2s ease, filter .2s ease}
.pncp-service-title span{display:inline-block;width:26px}
.pncp-service-body{display:none;padding:var(--pncp-body-padding,22px)!important;background-color:var(--pncp-body,#fff7fb);background-image:linear-gradient(rgba(255,255,255,.82),rgba(255,255,255,.82)),var(--pncp-body-bg);background-size:cover;background-position:center}
.pncp-service-cat.is-open .pncp-service-body{display:block}
.pncp-service-images{display:flex;gap:20px;justify-content:center;flex-wrap:wrap;margin-bottom:22px}
.pncp-service-images img{width:280px;height:170px;object-fit:cover;border-radius:6px}
.pncp-service-row{display:flex;align-items:flex-end;gap:10px;font-size:18px;margin:18px 0}
.pncp-dots{flex:1;border-bottom:1px dotted #aaa;margin-bottom:6px}
.pncp-price{color:var(--pncp-price,#111);white-space:nowrap}
.pncp-coupon-button{position:fixed;right:20px;bottom:24px;z-index:9998;border:0;border-radius:999px;background:#ef4c88;color:#fff;padding:16px 28px;font-weight:900;box-shadow:0 16px 36px rgba(239,76,136,.32);cursor:pointer}
.pncp-coupon-modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.62);z-index:9999;align-items:center;justify-content:center;padding:20px}
.pncp-coupon-modal.is-open{display:flex}
.pncp-coupon-box{position:relative;background:#fff;border-radius:24px;max-width:760px;width:100%;padding:26px;max-height:88vh;overflow:auto;text-align:center}
.pncp-coupon-close{position:absolute;right:16px;top:14px;border:0;background:#111;color:#fff;border-radius:50%;width:32px;height:32px;cursor:pointer}
.pncp-coupon-card{border:1px solid #ffd1df;border-radius:18px;padding:18px;margin:14px 0}
.pncp-coupon-card img{max-width:100%;border-radius:14px}
.pncp-coupon-card h3{font-size:46px;color:#ef4c88;margin:12px 0}
.pncp-gallery{display:grid;grid-template-columns:repeat(var(--pncp-cols,3),1fr);gap:18px;max-width:1180px;margin:24px auto}
.pncp-gallery img{width:100%;height:240px;object-fit:cover;border-radius:14px;display:block;transition:transform .25s ease,box-shadow .25s ease,filter .25s ease}
.pncp-feedback-form{display:grid;gap:12px;max-width:620px;margin:20px auto}
.pncp-feedback-form input,.pncp-feedback-form select,.pncp-feedback-form textarea{padding:14px;border:1px solid #ddd;border-radius:12px}
.pncp-feedback-form textarea{min-height:120px}
.pncp-feedback-form button{border:0;background:#ef4c88;color:#fff;padding:16px 24px;border-radius:999px;font-weight:900;cursor:pointer}
.pncp-success{text-align:center;color:green;font-weight:800}
@media(max-width:760px){.pncp-service-row{font-size:16px}.pncp-gallery{grid-template-columns:repeat(var(--pncp-mobile-cols,1),1fr)!important;gap:12px;padding:0 10px}.pncp-gallery img{height:190px}.pncp-hero-arrow{display:none}}

.pncp-gallery a{display:block;overflow:hidden;border-radius:14px;text-decoration:none}
.pncp-gallery a:hover img{transform:scale(1.045)}
.pncp-gallery-style-gold a{border:2px solid #c9943c;background:#050505;box-shadow:0 12px 28px rgba(0,0,0,.18)}
.pncp-gallery-style-pink a{border:2px solid #ffd1df;background:#fff7fb;box-shadow:0 12px 28px rgba(239,76,136,.12)}
.pncp-gallery-style-shadow a{box-shadow:0 18px 42px rgba(0,0,0,.16)}
.pncp-gallery-filter{display:flex;justify-content:center;gap:8px;margin:18px auto 10px;max-width:1180px}
.pncp-gallery-filter button{border:0;border-radius:8px;padding:10px 16px;background:#fff;color:#111;cursor:pointer}
.pncp-gallery-filter button.is-active{background:linear-gradient(135deg,#c9943c,#fff0a8,#c9943c)}

.pncp-lightbox{position:fixed;inset:0;z-index:99999;background:rgba(0,0,0,.88);display:flex;align-items:center;justify-content:center;padding:30px}
.pncp-lightbox img{max-width:92vw;max-height:86vh;object-fit:contain;border-radius:10px;box-shadow:0 20px 70px rgba(0,0,0,.45)}
.pncp-lightbox button{position:absolute;border:0;background:rgba(239,76,136,.9);color:#fff;border-radius:999px;cursor:pointer;font-size:34px;width:52px;height:52px;line-height:1}
.pncp-lightbox-close{right:22px;top:22px}
.pncp-lightbox-prev{left:22px;top:50%;transform:translateY(-50%)}
.pncp-lightbox-next{right:22px;top:50%;transform:translateY(-50%)}

.pncp-hero-slider-auto{position:absolute!important;inset:0!important;z-index:0!important}
.hero .hero-content{position:relative;z-index:5}

.pncp-box-shadow-on .pncp-service-cat{box-shadow:0 14px 32px rgba(0,0,0,.12)}
.pncp-box-shadow-off .pncp-service-cat{box-shadow:none!important}
.pncp-price-shadow-on .pncp-price{text-shadow:0 2px 8px rgba(0,0,0,.28)}
.pncp-price-shadow-off .pncp-price{text-shadow:none!important}
.pncp-service-hover-lift .pncp-service-cat:hover .pncp-service-title{transform:translateY(-2px);box-shadow:0 10px 22px rgba(0,0,0,.16)}
.pncp-service-hover-glow .pncp-service-cat:hover .pncp-service-title{box-shadow:0 0 0 3px rgba(239,76,136,.22),0 14px 28px rgba(239,76,136,.22)}
.pncp-service-hover-soft .pncp-service-cat:hover .pncp-service-title{filter:brightness(1.04)}
.pncp-service-hover-none .pncp-service-cat:hover .pncp-service-title{transform:none;box-shadow:none;filter:none}

/* v1.6 plugin-controlled Services spacing */
.pncp-services{
  padding-top:0!important;
}
.pncp-hide-category-images .pncp-service-images{
  display:none!important;
}
.pncp-show-category-images .pncp-service-images{
  display:flex;
}
@media(max-width:760px){
  .pncp-services{
    margin-top:var(--pncp-service-top,0px)!important;
    padding-left:10px!important;
    padding-right:10px!important;
  }
  .pncp-service-body{
    padding:var(--pncp-body-padding,18px)!important;
  }
}

/* v1.7 E-Gift and Join Team public forms */
.pncp-public-form{
  max-width:var(--pncp-form-width,680px);
  margin:var(--pncp-form-top,8px) auto var(--pncp-form-bottom,28px);
  background:#fff;
  border:1px solid #ffd1df;
  border-radius:22px;
  padding:28px;
  box-shadow:0 18px 45px rgba(0,0,0,.10);
  display:grid;
  gap:14px;
}
.pncp-public-form h2{
  margin:0;
  font-size:38px;
  line-height:1.1;
}
.pncp-public-form p{
  margin:0 0 8px;
}
.pncp-public-form input,
.pncp-public-form select,
.pncp-public-form textarea{
  width:100%;
  border:1px solid #ddd;
  border-radius:12px;
  padding:14px 16px;
  font-size:16px;
  box-sizing:border-box;
}
.pncp-public-form textarea{
  min-height:110px;
}
.pncp-public-form button{
  border:0;
  border-radius:999px;
  background:#ef4c88;
  color:#fff;
  font-weight:900;
  padding:15px 24px;
  cursor:pointer;
  box-shadow:0 14px 30px rgba(239,76,136,.22);
}
.pncp-egift-form{
  background:linear-gradient(135deg,#fff7fb,#fff8e8);
}
.pncp-join-team-form{
  background:linear-gradient(135deg,#ffffff,#f7fbff);
}

/* v1.8 form spacing mobile */
@media(max-width:760px){
  .pncp-public-form{
    margin-top:var(--pncp-form-top,8px)!important;
    margin-bottom:var(--pncp-form-bottom,24px)!important;
    max-width:calc(100% - 28px)!important;
  }
}

.pncp-error{
  max-width:var(--pncp-form-width,680px);
  margin:10px auto;
  background:#fff1f1;
  border:1px solid #ffb7b7;
  color:#b00020;
  border-radius:12px;
  padding:12px 16px;
  font-weight:700;
}

.pncp-captcha-row{
  display:grid;
  grid-template-columns:1fr 140px;
  gap:10px;
  align-items:center;
}
.pncp-captcha-row label{
  font-weight:800;
}
@media(max-width:760px){
  .pncp-captcha-row{
    grid-template-columns:1fr;
  }
}

/* v2.2 E-Gift call button, helper note, confirmation */
.pncp-egift-title-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.pncp-call-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:#1785ff;
  color:#fff!important;
  padding:12px 20px;
  text-decoration:none!important;
  font-weight:900;
  box-shadow:0 12px 28px rgba(23,133,255,.24);
  white-space:nowrap;
}
.pncp-call-button:hover{
  filter:brightness(.96);
  transform:translateY(-1px);
}
.pncp-helper-note{
  background:#fff1f1;
  border:1px solid #ffb7b7;
  color:#b00020;
  border-radius:12px;
  padding:10px 14px;
  font-weight:700;
}
.pncp-egift-confirmation{
  text-align:center;
}
.pncp-confirm-summary{
  background:#fff;
  border:1px solid #ffd1df;
  border-radius:16px;
  padding:16px;
  display:grid;
  gap:8px;
  text-align:left;
}
.pncp-confirm-actions{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
}
.pncp-back-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  border:2px solid #ef4c88;
  color:#ef4c88!important;
  background:#fff;
  padding:11px 20px;
  text-decoration:none!important;
  font-weight:900;
}
@media(max-width:760px){
  .pncp-egift-title-row{
    align-items:flex-start;
    flex-direction:column;
  }
  .pncp-call-button-top{
    width:100%;
  }
}

/* v2.8 E-Gift read more note toggle */
.pncp-egift-title-actions{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.pncp-readmore-button{
  width:52px;
  height:52px;
  border-radius:999px;
  border:0;
  background:#1785ff;
  color:#fff;
  font-weight:900;
  font-size:22px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 12px 28px rgba(23,133,255,.24);
}
.pncp-readmore-button:hover,
.pncp-readmore-button.is-open{
  filter:brightness(.95);
  transform:translateY(-1px);
}
.pncp-helper-note-toggle{
  margin-top:10px!important;
}
@media(max-width:760px){
  .pncp-egift-title-actions{
    width:100%;
    justify-content:space-between;
  }
  .pncp-readmore-button{
    width:48px;
    height:48px;
  }
}

/* v2.9 Feedback form */
.pncp-feedback-form,
.pncp-feedback-confirmation{
  background:linear-gradient(135deg,#fff7fb,#fff);
}

/* v3.0 Coupon Page shortcode */
.pncp-coupon-page-wrap{
  max-width:1100px;
  margin:0 auto 42px;
  padding:0 18px;
}
.pncp-coupon-page-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:22px;
}
.pncp-coupon-page-card{
  background:linear-gradient(135deg,#fff7fb,#fff);
  border:1px solid #ffd1df;
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 18px 45px rgba(239,76,136,.12);
}
.pncp-coupon-page-image img{
  display:block;
  width:100%;
  height:auto;
}
.pncp-coupon-page-body{
  padding:24px;
  text-align:center;
}
.pncp-coupon-page-body h2{
  margin:0 0 8px;
  color:#ef4c88;
  font-size:46px;
  line-height:1;
  font-weight:900;
}
.pncp-coupon-page-body h3{
  margin:0 0 14px;
  color:#111;
  font-size:22px;
  font-weight:900;
}
.pncp-coupon-page-body p{
  margin:8px 0;
  font-size:18px;
}
.pncp-coupon-page-note{
  color:#666;
  font-size:14px!important;
}
@media(max-width:760px){
  .pncp-coupon-page-body h2{font-size:34px}
  .pncp-coupon-page-body h3{font-size:18px}
  .pncp-coupon-page-body p{font-size:16px}
}

/* v3.1 Coupon Page empty admin notice */
.pncp-coupon-page-empty{
  max-width:900px;
  margin:20px auto 40px;
  padding:16px 18px;
  border:1px solid #ffd1df;
  border-radius:16px;
  background:#fff7fb;
  color:#b00020;
  font-weight:800;
  text-align:center;
}

/* v3.2 Join Team validation/captcha */
.pncp-join-form,.pncp-join-confirmation{background:linear-gradient(135deg,#fff7fb,#fff)}.pncp-join-form textarea{min-height:120px}

/* PN-PLUGIN 1.1 lightweight social links */
.pncp-social-links{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:center;
  align-items:center;
  z-index:9998;
}
.pncp-social-links a{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:40px;
  padding:9px 14px;
  border-radius:999px;
  background:#111;
  color:#fff!important;
  text-decoration:none!important;
  font-weight:900;
  box-shadow:0 10px 24px rgba(0,0,0,.18);
}
.pncp-social-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:22px;
  height:22px;
  border-radius:999px;
  background:#ef4c88;
  color:#fff;
  font-size:13px;
  line-height:1;
}
.pncp-social-footer{
  margin:24px auto;
  max-width:1180px;
  padding:0 16px;
}
.pncp-social-floating{
  position:fixed;
  right:14px;
  top:45%;
  transform:translateY(-50%);
  flex-direction:column;
}
.pncp-social-floating .pncp-social-label{
  display:none;
}
.pncp-social-floating a{
  width:46px;
  height:46px;
  padding:0;
  justify-content:center;
}
.pncp-social-mobile-bottom{
  display:none;
}
@media(max-width:760px){
  .pncp-social-floating{display:none;}
  .pncp-social-mobile-bottom{
    display:flex;
    position:fixed;
    left:10px;
    right:10px;
    bottom:10px;
    background:rgba(255,255,255,.96);
    border:1px solid #ffd1df;
    border-radius:18px;
    padding:8px;
    box-shadow:0 16px 38px rgba(0,0,0,.22);
  }
  .pncp-social-mobile-bottom a{
    flex:1;
    min-width:0;
    justify-content:center;
    padding:9px 8px;
  }
  .pncp-social-mobile-bottom .pncp-social-label{
    display:none;
  }
}
