*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
  --teal:     #1E8589;
  --teal-dk:  #166063;
  --teal-lt:  #d0f0f1;
  --pink:     #F5A1C6;
  --pink-dk:  #D46193;
  --pink-lt:  #fde8f3;
  --mint:     #20c997;
  --mint-dk:  #17a97e;
  --mint-lt:  #d0f9ed;
  --white:    #FFFFFF;
  --off-white:#F8FFFE;
  --ink:      #0f2e2f;
  --ink-soft: #2a4e50;
  --ink-mid:  #4e7577;
  --ink-muted:#7aa4a6;
  --radius:   6px;
  --radius-lg:16px;
  --radius-xl:28px;
  --light-pink: #F5A1C6;
  --medium-pink: #D46193;
  --green: #20c997;
}

/* ===== NAV ===== */
nav{
  background:var(--white);
  position:sticky;top:0;z-index:200;
  border-bottom:1px solid #e8f5f5;
  padding:0 3rem;
  display:flex;align-items:center;justify-content:space-between;
  height:70px;
  box-shadow:0 1px 20px rgba(30,133,137,0.07);
}
.nav-logo{
  display:flex;align-items:center;gap:11px;
  text-decoration:none;
}
.logo-mark{
  width:38px;height:38px;
  background:linear-gradient(135deg,var(--teal),var(--mint));
  border-radius:10px;
  display:flex;align-items:center;justify-content:center;
  color:var(--white);font-size:18px;font-weight:700;
  font-family:'Playfair Display',serif;
  flex-shrink:0;
}
.logo-text{
  font-family:'Playfair Display',serif;
  font-size:1.1rem;font-weight:700;
  color:var(--ink);line-height:1.2;
}
.logo-text span{display:block;font-size:10px;font-weight:400;letter-spacing:0.15em;text-transform:uppercase;color:var(--ink-mid);font-family:'Plus Jakarta Sans',sans-serif}
.nav-center{
  display:flex;align-items:center;gap:1.8rem;
  list-style:none;
}
.nav-center a{
  font-size:13px;font-weight:500;
  color:var(--ink-soft);text-decoration:none;
  letter-spacing:0.03em;
  transition:color .2s;
  position:relative;
}
.nav-center a::after{
  content:'';position:absolute;bottom:-4px;left:0;right:0;
  height:2px;background:var(--teal);border-radius:2px;
  transform:scaleX(0);transition:transform .2s;
}
.nav-center a:hover{color:var(--teal)}
.nav-center a:hover::after{transform:scaleX(1)}
.nav-right{display:flex;align-items:center;gap:12px}
.nav-auth{
  font-size:13px;color:var(--ink-mid);text-decoration:none;
  padding:7px 14px;border-radius:var(--radius);
  transition:background .2s;
}
.nav-auth:hover{background:#f0fbfb;color:var(--teal)}
.nav-cart{
  display:flex;
  align-items:center;
  gap:8px;
  background:var(--teal-lt);
  color:var(--teal-dk);
  font-size:13px;
  font-weight:700;
  padding:9px 20px;
  border-radius:50px;
  text-decoration:none;
  transition:var(--transition);
  position:relative;
}
.nav-cart:hover{background:#b8e8e9}
.nav-cart svg{width:15px;height:15px;stroke:var(--teal);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

    /* ===== DROPDOWN ===== */

.dropdown{
  position:relative;
}

.dropdown > a{
  content:'▼';
  display:flex;
  align-items:center;
  gap:6px;
}

.dropdown > a::after{
  font-size:9px;
  margin-left:6px;
  transition:transform .2s ease;
  display:inline-block;
}

.dropdown.active > a::after,
.dropdown:hover > a::after{
  transform:rotate(180deg);
}

.dropdown:hover > a::after{
  transform:rotate(180deg);
}

.dropdown-menu{
  position:absolute;
  top:100%;
  left:0;
  min-width:240px;
  background:var(--white);
  border-radius:14px;
  padding:10px 0;
  list-style:none;
  box-shadow:0 15px 40px rgba(0,0,0,0.08);
  border:1px solid #eef5f5;

  opacity:0;
  visibility:hidden;
  transform:translateY(10px);

  transition:all .25s ease;
  z-index:999;
}

.dropdown-menu li{
  width:100%;
}

.dropdown-menu a{
  display:block;
  padding:12px 18px;
  font-size:13px;
  color:var(--ink-soft);
  text-decoration:none;
  transition:background .2s,color .2s;
}

.dropdown-menu a:hover{
  background:#f4fbfb;
  color:var(--teal);
}

.dropdown:hover > .dropdown-menu{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
  pointer-events:auto;
}

/* nested dropdown */

.dropdown-menu .dropdown{
    position:relative;
}

.dropdown-menu .dropdown-menu{
    top:0;
    left:100%;
    margin-left:5px;

    opacity:0;
    visibility:hidden;
    transform:translateX(10px);

    transition:.25s ease;
}

/* open only when hovering Accessories */
.dropdown-menu .dropdown:hover > .dropdown-menu{
    opacity:1;
    visibility:visible;
    transform:translateX(0);
}

.dropdown.active > .dropdown-menu{
    display:block;
}

/* Override the underline pseudo-element for dropdown toggles */
.dropdown > a::after {
  content: '▾';
  font-size: 11px;
  position: static;        /* cancel the absolute positioning from nav rule */
  height: auto;
  background: none;
  transform: none !important;
  transition: transform .2s ease;
  display: inline-block;
}

/* Rotate on hover */
.dropdown:hover > a::after {
  transform: rotate(180deg) !important;
}

/* Mobile: also rotate when active */
.dropdown.active > a::after {
  transform: rotate(180deg) !important;
}

.nav-cart-count{
  position:absolute;
  top:-10px;
  right:-10px;
  background:var(--pink-dk);
  color:#fff;
  font-size:15px;
  font-weight:700;
  width:25px;height:25px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  border:2px solid #fff;
}

/* SEARCH WRAPPER */
.nav-search {
    display: flex;
    align-items: center;
    position: relative;
}

/* ICON BUTTON */
.search-icon {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 18px;
    padding: 8px;
}

/* INPUT FIELD (collapsed by default) */
.nav-search .search-form {
    display: flex;
    align-items: center;
    overflow: hidden;
    width: 0;
    transition: width 0.3s ease;
}

/* INPUT STYLE */
.nav-search input {
    width: 180px;
    max-width: 60vw;
    padding: 8px 10px;
    border: 1px solid #ddd;
    border-radius: 20px;
    outline: none;
}

/* ACTIVE STATE (expanded) */
.nav-search.active .search-form {
    width: 200px;
}

/* MOBILE RESPONSIVE */
@media (max-width: 768px) {
    .nav-search.active .search-form {
        width: 140px;
    }

    .nav-search input {
        width: 140px;
    }
}

@media(max-width:768px){

  nav{
    position:sticky;
    top:0;
    z-index:2000;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 1rem;
  }

  /* LOGO stays left */

  .nav-logo{
    flex:1;
  }

  .logo-text{
    font-size:0.95rem;
  }

  .logo-text span{
    font-size:9px;
  }

  /* HAMBURGER */
  .menu-toggle{
    display:flex;
    position:absolute;
    right:1rem;
    top:50%;
    transform:translateY(-50%);
    width:40px;
    height:40px;
    z-index:1001;
  }

  .menu-toggle span{
    position:absolute;
    width:24px;
    height:2px;
    background:var(--ink);
    border-radius:2px;
    transition:all .3s ease;
    margin-top: 18px;
    margin-left: 15px;
  }

  .menu-toggle span:nth-child(1){
    transform:translateY(-7px);
  }

  .menu-toggle span:nth-child(2){
    opacity:1;
  }

  .menu-toggle span:nth-child(3){
    transform:translateY(7px);
  }

  /* ACTIVE = X */
  .menu-toggle.active span:nth-child(1){
    transform:rotate(45deg);
  }

  .menu-toggle.active span:nth-child(2){
    opacity:0;
  }

  .menu-toggle.active span:nth-child(3){
    transform:rotate(-45deg);
  }


  .nav-right{
    display:flex;
    align-items:center;
    gap:10px;
    margin-right:50px; /* space reserved for hamburger */
  }

  /* HIDE REGISTER + LOGIN */
  .nav-auth{
    display:none;
  }

  /* KEEP CART VISIBLE */
  .nav-cart{
    font-size:12px;
    padding:6px 12px;
    white-space:nowrap;
  }

  /* MOBILE MENU */
  .nav-center{
    position:fixed;
    top:70px;
    left:-100%;
    width:100%;
    height:calc(100vh - 70px);
    background:var(--white);
    flex-direction:column;
    align-items:flex-start;
    padding:2rem;
    gap:1.5rem;
    transition:left .35s ease;
    z-index:1000;
    display:flex;
  }

  .nav-center.active{
    left:0;
  }

  .nav-center li{
    width:100%;
    list-style:none;
  }

  .nav-center a{
    display:block;
    width:100%;
    font-size:16px;
    padding-bottom:10px;
    border-bottom:1px solid #eef5f5;
  }


  footer{
    padding:3rem 1.25rem 1.5rem;
  }

  .footer-top{
    grid-template-columns:1fr;
    gap:2rem;
  }

  .footer-bottom{
    flex-direction:column;
    align-items:flex-start;
  }

  .categories-grid,
  .products-grid,
  .features-grid {
      grid-template-columns: 1fr;
  }

  .dropdown-menu{
    position:static;
    opacity:1;
    visibility:visible;
    transform:none;
    box-shadow:none;
    border:none;
    padding:0 0 0 15px;
    margin-top:10px;
    display:none;
  }

  .dropdown.active .dropdown-menu{
    display:block;
  }

  .dropdown > a{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:6px;
  }

  .dropdown > a::before{
    order:2;
    margin-left:0;
  }


  .dropdown-menu .dropdown.active > a::after{
      transform:rotate(180deg);
  }

    .dropdown-menu {
    display: none;  /* already there ✓ */
  }

  .dropdown.active > .dropdown-menu {
    display: block;
  }

  /* ADD THIS — nested dropdown also needs explicit hide */
  .dropdown-menu .dropdown > .dropdown-menu {
    display: none;
  }

  .dropdown-menu .dropdown.active > .dropdown-menu {
    display: block;
  }



}



.subscribe-modal-overlay {
  position: fixed; inset: 0;
  background: rgba(15,46,47,0.6);
  display: flex; align-items: center; justify-content: center;
  z-index: 9999; padding: 1rem;
}
.subscribe-modal-box {
  background: #fff; border-radius: 20px;
  max-width: 440px; width: 100%;
  overflow: hidden; position: relative;
}
.subscribe-modal-header {
  background: #d46193; padding: 2rem 2rem 1.5rem;
  text-align: center; position: relative; overflow: hidden;
}
.subscribe-modal-header::before {
  content: ''; position: absolute; right: -60px; top: -60px;
  width: 180px; height: 180px; border-radius: 50%;
  background: rgba(255,255,255,0.08); pointer-events: none;
}
.subscribe-modal-close {
  position: absolute; top: 12px; right: 14px;
  background: rgba(255,255,255,0.2); border: none; border-radius: 50%;
  width: 30px; height: 30px; cursor: pointer; color: #fff;
  font-size: 16px; display: flex; align-items: center; justify-content: center;
  transition: background .2s; line-height: 1;
}
.subscribe-modal-close:hover { background: rgba(255,255,255,0.35); }
.subscribe-modal-icon {
  width: 52px; height: 52px; border-radius: 50%;
  background: rgba(255,255,255,0.2);
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 1rem; font-size: 22px;
}
.subscribe-modal-header h2 {
  font-family: 'Plus Jakarta Sans', serif;
  font-size: 1.4rem; font-weight: 700; color: #fff; margin-bottom: 6px;
}
.subscribe-modal-header h2 em { font-style: italic; color: rgba(255,255,255,0.75); }
.subscribe-modal-header p {
  font-size: 13px; color: rgba(255,255,255,0.8); line-height: 1.6;
}
.subscribe-modal-body { padding: 1.5rem 2rem 2rem; }
.subscribe-modal-input {
  width: 100%; padding: 12px 16px; border-radius: 50px;
  border: 1.5px solid var(--border); font-size: 14px; outline: none;
  font-family: 'Plus Jakarta Sans', sans-serif; color: var(--ink);
  margin-bottom: 10px; box-sizing: border-box; transition: border-color .2s;
}
.subscribe-modal-input:focus { border-color: #d46193; }
.subscribe-modal-submit {
  width: 100%; padding: 13px; border: none; border-radius: 50px;
  background: #d46193; color: #fff; font-size: 14px; font-weight: 700;
  cursor: pointer; font-family: 'Plus Jakarta Sans', sans-serif;
  letter-spacing: 0.04em; transition: background .2s;
}
.subscribe-modal-submit:hover { background: #bf4d7e; }
.subscribe-modal-skip {
  text-align: center; margin-top: 12px;
  font-size: 12px; color: var(--ink-muted); cursor: pointer;
}
.subscribe-modal-skip:hover { color: var(--ink); }
.subscribe-modal-success { text-align: center; padding: 2.5rem 2rem; }
.subscribe-modal-success h3 {
  font-size: 1.1rem; font-weight: 700; color: var(--ink); margin-bottom: 6px;
}
.subscribe-modal-success p { font-size: 13px; color: var(--ink-muted); }

@media (max-width: 768px) {
  .subscribe-modal-box {
    max-width: 300px;
  }
  .subscribe-modal-header {
    padding: 1rem 1rem 0.75rem;
  }
  .subscribe-modal-icon {
    width: 32px; height: 32px;
    font-size: 14px; margin-bottom: 0.5rem;
  }
  .subscribe-modal-header h2 {
    font-size: 0.85rem; margin-bottom: 3px;
  }
  .subscribe-modal-header p {
    font-size: 10px; line-height: 1.4;
  }
  .subscribe-modal-body {
    padding: 0.75rem 1rem 1rem;
  }
  .subscribe-modal-input {
    padding: 8px 12px; font-size: 12px; margin-bottom: 7px;
  }
  .subscribe-modal-submit {
    padding: 9px; font-size: 12px;
  }
  .subscribe-modal-skip {
    font-size: 10px; margin-top: 8px;
  }
  .subscribe-modal-close {
    width: 24px; height: 24px; font-size: 12px;
    top: 8px; right: 10px;
  }
}

/* Add to your modal <style> block */
.subscribe-spinner {
    display: inline-block;
    width: 13px; height: 13px;
    border: 2px solid rgba(255,255,255,0.4);
    border-top-color: #fff;
    border-radius: 50%;
    animation: spin .7s linear infinite;
    vertical-align: middle;
    margin-right: 4px;
}
@keyframes spin { to { transform: rotate(360deg); } }

#subscribeSubmit:disabled {
    opacity: 0.75;
    cursor: not-allowed;
}

/* Breadcrumb - Pink Gradient */
.breadcrumb-section {
    margin-top: 10px;
    background: linear-gradient(135deg, var(--light-pink) 0%, var(--medium-pink) 100%);
    padding: 1.2rem 2rem;
}

.breadcrumb {
    max-width: 1200px;
    margin: 0 auto;
    color: rgba(255, 255, 255, 0.9);
    font-size: 0.95rem;
}

.breadcrumb a {
    color: var(--white);
    text-decoration: none;
}

.breadcrumb a:hover {
    text-decoration: underline;
}

 .breadcrumb span { opacity: 0.8; }





    