/* ============================================================
   Nath's Cakes — Global Styles  |  Up-Concept
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Pacifico&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;1,9..40,400&display=swap');

/* ---- Variables ---- */
:root {
  --nc-pink:        #f26074;
  --nc-pink-dark:   #d94d62;
  --nc-pink-light:  #f1d8db;
  --nc-pink-mid:    #f8b4bc;
  --nc-dark:        #1a0b0e;
  --nc-dark-2:      #2d1518;
  --nc-muted:       #7a5560;
  --nc-cream:       #fdf6f7;
  --nc-white:       #ffffff;
  --nc-heading:     'Pacifico', cursive;
  --nc-body:        'DM Sans', Arial, sans-serif;
  --nc-shadow:      0 4px 24px rgba(242,96,116,.14);
  --nc-shadow-lg:   0 16px 60px rgba(242,96,116,.2);
  --nc-radius:      12px;
  --nc-ease:        cubic-bezier(.4,0,.2,1);
}

/* ---- Base ---- */
html { scroll-behavior: smooth; }

body {
  font-family: var(--nc-body);
  background: #fff;
  color: var(--nc-dark-2);
  overflow-x: clip;
  -webkit-font-smoothing: antialiased;
}

h1, .h1, h2, .h2, h3, .h3, h4, .h4 {
  font-family: var(--nc-heading);
  line-height: 1.35;
  color: var(--nc-dark);
}
h1, .h1 { font-size: clamp(32px, 5vw, 54px); }
h2, .h2 { font-size: clamp(28px, 4vw, 44px); }
h3, .h3 { font-size: clamp(18px, 2.5vw, 26px); }

/* ============================================================
   HEADER — v2 Premium
   ============================================================ */
.header-banner,
.nc-mobile-utils,
.header-nav { display: none !important; }

/* Remove classic theme top padding on wrapper */
#wrapper { padding-top: 0 !important; background: #fff !important; }

/* CMS pages — supprimer l'espace résiduel du breadcrumb/header */
.page-cms #wrapper > .container,
.page-cms #main,
.page-cms .page-content.card.card-block,
.page-cms #content-wrapper { padding-top: 0 !important; margin-top: 0 !important; }
.page-cms #breadcrumb { display: none !important; }

#header {
  background: rgba(255,255,255,.98) !important;
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-bottom: none;
  position: sticky !important;
  top: 0;
  z-index: 1050;
  overflow: visible !important;
  transition: box-shadow .3s var(--nc-ease);
}

/* Filet doré en bas du header */
#header::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg,
    transparent 0%,
    rgba(201,168,76,.25) 15%,
    rgba(201,168,76,.65) 50%,
    rgba(201,168,76,.25) 85%,
    transparent 100%
  );
  pointer-events: none;
  z-index: 1;
}

#header.nc-scrolled {
  box-shadow: 0 4px 28px rgba(26,11,14,.08);
}

/* Barre principale 3 colonnes */
.nc-header-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 clamp(20px, 4vw, 64px);
  height: 100px;
  gap: 24px;
  position: relative;
}

/* ---- Logo ---- */
.nc-header-logo {
  flex: 0 0 auto;
  display: flex;
  align-items: flex-start;
  align-self: flex-start;
  max-width: 150px;
  overflow: visible;
  padding-top: 6px;
}
.nc-header-logo img,
.nc-header-logo img.logo {
  height: 120px !important;
  max-height: 120px !important;
  width: auto !important;
  max-width: 150px !important;
  object-fit: contain !important;
  display: block !important;
  position: relative;
  z-index: 10;
}
.nc-logo-h1 { margin: 0; font-size: 0; line-height: 0; }

/* Logo mobile — caché sur desktop, visible sur mobile */
.nc-header-logo--mobile { display: none !important; }

/* Icône user statique mobile — cachée sur desktop */
.nc-user-mobile-btn { display: none !important; }

/* ---- Nav centrale ---- */
.nc-header-nav {
  flex: 1;
  display: flex;
  justify-content: center;
  align-items: stretch;
  min-width: 0;
}

/* Liste de nav */
.nc-nav {
  display: flex;
  align-items: stretch;
  gap: 0;
  list-style: none;
  margin: 0;
  padding: 0;
  height: 90px;
}

.nc-nav__item {
  position: static;
  display: flex;
  align-items: center;
}

/* Lien nav */
.nc-nav__link {
  font-family: var(--nc-body) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 2.5px !important;
  text-transform: uppercase !important;
  color: #3d1a25 !important;
  text-decoration: none !important;
  padding: 0 18px;
  height: 100px;
  display: flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
  background: none !important;
  position: relative;
  transition: color .25s var(--nc-ease);
}

/* Trait rose sous le lien */
.nc-nav__link::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 18px;
  right: 18px;
  height: 2px;
  background: var(--nc-pink);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .3s var(--nc-ease);
}
.nc-nav__link:hover::after,
.nc-nav__link--active::after { transform: scaleX(1); }
.nc-nav__link:hover,
.nc-nav__link--active { color: var(--nc-pink) !important; }

/* Lien fêtes de fin d'année */
.nc-nav__link--fetes {
  font-weight: 800 !important;
  letter-spacing: 1.5px !important;
}
.nc-mobile-fetes { font-weight: 700 !important; }

/* Caret Catalogue */
.nc-nav__caret {
  transition: transform .25s var(--nc-ease);
  flex-shrink: 0;
}
.nc-nav__item--mega:hover .nc-nav__caret { transform: rotate(180deg); }

/* ============================================================
   MEGA MENU — fond blanc, palette rose
   ============================================================ */
.nc-megamenu {
  position: absolute;
  top: 100px;
  left: 0;
  width: 100%;
  background: #fff;
  border-top: 2px solid rgba(242,96,116,.45);
  box-shadow: 0 20px 48px rgba(242,96,116,.1), 0 4px 16px rgba(26,11,14,.06);
  z-index: 999;
  visibility: hidden;
  opacity: 0;
  transform: translateY(-6px);
  transition: opacity .28s var(--nc-ease), visibility .28s var(--nc-ease), transform .28s var(--nc-ease);
  pointer-events: none;
}

/* Ouverture au survol */
.nc-nav__item--mega:hover .nc-megamenu,
.nc-megamenu:hover {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
.nc-nav__item--mega:hover .nc-megamenu { pointer-events: auto; }

.nc-megamenu__inner {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  padding: 36px clamp(24px, 5vw, 80px) 36px;
}

/* Groupe */
.nc-megamenu__group {
  padding: 0 28px 0 0;
  border-right: 1px solid rgba(242,96,116,.1);
}
.nc-megamenu__group:last-child { border-right: none; padding-right: 0; }
.nc-megamenu__group:not(:first-child) { padding-left: 28px; }

/* Titre de groupe — rose foncé, ligne rose */
.nc-megamenu__title {
  font-family: var(--nc-body);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--nc-pink);
  margin: 0 0 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(242,96,116,.2);
}

/* Items */
.nc-megamenu__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.nc-megamenu__list a {
  font-family: var(--nc-body);
  font-size: 13.5px;
  font-weight: 400;
  color: #3d1a25 !important;
  text-decoration: none !important;
  padding: 9px 8px 9px 0;
  display: block;
  transition: color .2s var(--nc-ease), padding-left .2s var(--nc-ease);
  letter-spacing: .2px;
}
.nc-megamenu__list a:hover {
  color: var(--nc-pink) !important;
  padding-left: 8px;
}

/* ---- Icônes droite ---- */
.nc-header-icons {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 2px;
}

/* Masquer langue */
#_desktop_language_selector { display: none !important; }

/* ---- Containers passthrough ---- */
.nc-header-icons #_desktop_user_info,
.nc-header-icons .user-info { display: flex; align-items: center; }

#blockcart-wrapper { display: contents; }
.nc-header-icons #_desktop_cart { display: flex; align-items: center; }
.nc-header-icons #_desktop_cart .blockcart { display: contents; }
.nc-header-icons #_desktop_cart .blockcart .header { display: contents; }

/* ---- Bouton icône commun (user link) ---- */
.nc-header-icons #_desktop_user_info a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  color: #3d1a25 !important;
  text-decoration: none !important;
  background: none !important;
  border: none;
  cursor: pointer;
  padding: 0 !important;
  position: relative;
  transition: background .2s var(--nc-ease), color .2s var(--nc-ease);
}
#header #_desktop_user_info a:hover { background: rgba(242,96,116,.1) !important; color: var(--nc-pink) !important; }

/* Masquer texte user */
.nc-header-icons #_desktop_user_info a span:not(.material-icons) { display: none !important; }

/* Icône user taille uniforme */
.nc-header-icons .material-icons { font-size: 22px; }

/* ---- Bouton panier (SVG currentColor) ---- */
.nc-cart-btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
  color: #3d1a25 !important;
  text-decoration: none !important;
  background: none !important;
  cursor: pointer;
  padding: 0 !important;
  position: relative;
  transition: background .2s var(--nc-ease), color .2s var(--nc-ease);
}
#header .nc-cart-btn:hover {
  background: rgba(242,96,116,.1) !important;
  color: var(--nc-pink) !important;
}

/* Badge panier via data-count sur le lien */
.nc-cart-btn[data-count]:not([data-count="0"])::after {
  content: attr(data-count);
  position: absolute;
  top: -4px;
  right: -4px;
  min-width: 18px;
  height: 18px;
  background: var(--nc-pink);
  color: #fff;
  font-family: var(--nc-body);
  font-size: 10px;
  font-weight: 700;
  line-height: 18px;
  border-radius: 999px;
  text-align: center;
  padding: 0 4px;
  pointer-events: none;
  z-index: 2;
}

/* Bouton search */
.nc-search-btn {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: none;
  background: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--nc-dark-2);
  transition: background .2s var(--nc-ease), color .2s var(--nc-ease);
  padding: 0;
}
.nc-search-btn:hover { background: rgba(242,96,116,.1); color: var(--nc-pink); }
.nc-search-btn .material-icons { font-size: 20px; }

/* Hamburger */
.nc-burger {
  display: none;
  width: 40px;
  height: 40px;
  align-items: center;
  justify-content: center;
  border: none;
  background: none;
  cursor: pointer;
  color: var(--nc-dark-2);
  border-radius: 50%;
  transition: background .2s var(--nc-ease), color .2s var(--nc-ease);
  padding: 0;
}
.nc-burger:hover { background: rgba(242,96,116,.1); color: var(--nc-pink); }
.nc-burger .material-icons { font-size: 22px; }

/* ---- Search panel ---- */
.nc-search-panel {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: #fff;
  border-top: 1px solid rgba(242,96,116,.1);
  box-shadow: 0 8px 32px rgba(26,11,14,.08);
  padding: 20px clamp(20px, 4vw, 64px);
  display: none;
  z-index: 100;
}
.nc-search-panel.open { display: block; }
.nc-search-panel form { display: flex; gap: 8px; max-width: 560px; margin: 0 auto; }
.nc-search-panel input {
  flex: 1;
  padding: 12px 20px;
  border: 2px solid rgba(242,96,116,.2);
  border-radius: 50px;
  font-size: 15px;
  outline: none;
  font-family: var(--nc-body);
  transition: border-color .2s;
}
.nc-search-panel input:focus { border-color: var(--nc-pink); }
.nc-search-panel button {
  padding: 12px 24px;
  background: var(--nc-pink);
  color: #fff;
  border: none;
  border-radius: 50px;
  cursor: pointer;
  font-weight: 600;
  font-family: var(--nc-body);
  transition: background .2s;
}
.nc-search-panel button:hover { background: var(--nc-pink-dark); }

/* ---- Mobile Drawer ---- */
/* ---- Mobile Drawer ---- */
.nc-mobile-drawer {
  position: fixed;
  top: 0;
  left: -100%;
  width: min(320px, 88vw);
  height: 100vh;
  background: linear-gradient(170deg, #1a0b0e 0%, #2d1518 60%, #1a0b0e 100%);
  z-index: 2000;
  transition: left .4s var(--nc-ease);
  display: flex;
  flex-direction: column;
  box-shadow: 20px 0 80px rgba(0,0,0,.6);
}
.nc-mobile-drawer.open { left: 0; }

/* Head */
.nc-mobile-drawer__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 24px;
  border-bottom: 1px solid rgba(242,96,116,.18);
  flex-shrink: 0;
}
.nc-mobile-drawer__brand {
  font-family: var(--nc-heading);
  font-size: 22px;
  color: #fff;
  letter-spacing: .5px;
}
.nc-mobile-drawer__close {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.15);
  background: rgba(255,255,255,.06);
  color: rgba(255,255,255,.7);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 15px;
  line-height: 1;
  transition: background .2s, color .2s, border-color .2s;
}
.nc-mobile-drawer__close:hover {
  background: var(--nc-pink);
  border-color: var(--nc-pink);
  color: #fff;
}

/* Scrollable inner */
.nc-mobile-drawer__inner {
  flex: 1;
  overflow-y: auto;
  padding: 12px 24px 48px;
  scrollbar-width: none;
}
.nc-mobile-drawer__inner::-webkit-scrollbar { display: none; }

/* Overlay */
.nc-mobile-overlay {
  position: fixed;
  inset: 0;
  background: rgba(26,11,14,.65);
  backdrop-filter: blur(3px);
  z-index: 1999;
  opacity: 0;
  pointer-events: none;
  transition: opacity .35s;
}
.nc-mobile-overlay.open { opacity: 1; pointer-events: all; }

/* Nav items */
.nc-mobile-nav {
  list-style: none;
  padding: 0;
  margin: 0;
}
.nc-mobile-nav > li > a,
.nc-mobile-nav__toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 13px 0;
  font-family: var(--nc-body);
  font-size: 14px;
  font-weight: 500;
  letter-spacing: .3px;
  color: rgba(255,255,255,.8) !important;
  text-decoration: none !important;
  border: none;
  border-bottom: 1px solid rgba(255,255,255,.07);
  background: none;
  cursor: pointer;
  transition: color .2s, padding-left .2s;
}
.nc-mobile-nav > li > a:hover,
.nc-mobile-nav__toggle:hover {
  color: #fff !important;
  padding-left: 5px;
}
.nc-mobile-fetes {
  color: var(--nc-pink) !important;
  font-weight: 600 !important;
}
.nc-mobile-nav__toggle .material-icons {
  font-size: 16px;
  color: rgba(255,255,255,.3);
  transition: transform .25s, color .2s;
}
.nc-mobile-nav__toggle:hover .material-icons,
.nc-mobile-nav__toggle[aria-expanded="true"] .material-icons {
  color: var(--nc-pink);
}
.nc-mobile-nav__toggle[aria-expanded="true"] .material-icons { transform: rotate(180deg); }

/* Sub-menu */
.nc-mobile-nav__sub {
  list-style: none;
  padding: 4px 0 8px 0;
  margin: 0 0 0 4px;
  display: none;
  border-left: 2px solid rgba(242,96,116,.35);
}
.nc-mobile-nav__sub.open { display: block; }
.nc-mobile-nav__sub li a {
  display: block;
  padding: 8px 8px 8px 16px;
  font-size: 14px;
  color: rgba(255,255,255,.55) !important;
  text-decoration: none !important;
  font-family: var(--nc-body);
  transition: color .2s, padding-left .2s;
}
.nc-mobile-nav__sub li a:hover {
  color: rgba(255,255,255,.95) !important;
  padding-left: 22px;
}

/* Group titles */
.nc-mobile-nav__group-title {
  font-size: 12px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--nc-pink);
  font-weight: 700;
  padding: 16px 0 4px 16px;
  font-family: var(--nc-body);
  opacity: .7;
}

/* ---- displayNavFullWidth — masquer du header ---- */
#header .blockreassurance_product { display: none; }
#header > .displayNavFullWidth { display: none; }

/* ============================================================
   CATALOGUE PAGES
   ============================================================ */
.product-miniature .product-thumbnail img {
  transition: transform .5s var(--nc-ease);
}
.product-miniature:hover .product-thumbnail img { transform: scale(1.06); }
.product-miniature .product-title a {
  font-family: var(--nc-body);
  font-weight: 600;
  color: var(--nc-dark-2);
}
.product-price-and-shipping .price { color: var(--nc-pink); font-weight: 700; }

/* Add to cart / btn PS */
.btn-primary,
.btn-primary:focus,
a.btn-primary {
  background: var(--nc-pink) !important;
  border-color: var(--nc-pink) !important;
  color: #fff !important;
  font-family: var(--nc-body);
  font-weight: 600;
  padding: 12px 28px;
  border-radius: 50px;
  transition: all .2s var(--nc-ease);
}
.btn-primary:hover, a.btn-primary:hover {
  background: var(--nc-pink-dark) !important;
  border-color: var(--nc-pink-dark) !important;
  transform: translateY(-2px);
  box-shadow: var(--nc-shadow) !important;
}

/* Breadcrumb */
.breadcrumb { background: var(--nc-cream); padding: 12px 0; font-size: 13px; }
.breadcrumb a { color: var(--nc-muted); }
.breadcrumb a:hover { color: var(--nc-pink); }
.breadcrumb-item.active { color: var(--nc-pink); }

/* Category header */
#js-product-list-header .page-header h1 { font-family: var(--nc-heading); color: var(--nc-dark); }

/* ============================================================
   FOOTER
   ============================================================ */
#footer {
  background: var(--nc-dark);
  color: rgba(255,255,255,.75);
  font-family: var(--nc-body);
}

#footer .nc-footer-main {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 48px;
  padding: 64px clamp(20px, 5vw, 80px) 48px;
  max-width: 100%;
}

.nc-footer-brand .nc-footer-logo { height: 44px; width: auto; margin-bottom: 16px; filter: brightness(0) invert(1); }
.nc-footer-brand p { font-size: 14px; line-height: 1.7; color: rgba(255,255,255,.55); margin: 0 0 20px; }

.nc-footer-social { display: flex; gap: 10px; }
.nc-footer-social a {
  width: 36px; height: 36px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.15);
  display: flex; align-items: center; justify-content: center;
  color: rgba(255,255,255,.6);
  text-decoration: none;
  font-size: 14px;
  transition: all .2s;
}
.nc-footer-social a:hover { border-color: var(--nc-pink); color: var(--nc-pink); }

.nc-footer-col h4 {
  font-family: var(--nc-body);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: rgba(255,255,255,.4);
  margin: 0 0 20px;
}

.nc-footer-col ul { list-style: none; padding: 0; margin: 0; }
.nc-footer-col ul li { margin-bottom: 10px; }
.nc-footer-col ul li a {
  color: rgba(255,255,255,.65);
  text-decoration: none;
  font-size: 14px;
  transition: color .2s;
}
.nc-footer-col ul li a:hover { color: var(--nc-pink); }

.nc-footer-contact p {
  font-size: 14px;
  line-height: 1.8;
  color: rgba(255,255,255,.65);
  margin: 0;
}
.nc-footer-contact strong { color: rgba(255,255,255,.9); display: block; margin-top: 12px; }

.nc-footer-bottom {
  border-top: 1px solid rgba(255,255,255,.06);
  padding: 20px clamp(20px, 5vw, 80px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
}
.nc-footer-bottom p { margin: 0; font-size: 12px; color: rgba(255,255,255,.3); }
.nc-footer-bottom a { color: rgba(255,255,255,.3); text-decoration: none; }
.nc-footer-bottom a:hover { color: var(--nc-pink); }

/* Masquer le footer PS natif */
#footer .footer-container > .row { display: none !important; }

/* Responsive header */
@media (max-width: 1280px) {
  .nc-nav__link {
    font-size: 10px;
    padding: 0 13px;
    letter-spacing: 2px;
  }
  .nc-megamenu__inner { padding: 28px 24px; }
}

@media (max-width: 991px) {
  .nc-header-nav { display: none !important; }
  .nc-burger { display: flex; }
  .nc-header-bar { height: 72px; }
  /* Desktop logo caché (PS le déplace), mobile logo visible */
  .nc-header-logo:not(.nc-header-logo--mobile) { display: none !important; }
  .nc-header-logo--mobile { display: flex !important; }
  .nc-header-logo--mobile img,
  .nc-header-logo--mobile img.logo {
    height: 90px !important;
    max-height: 90px !important;
    width: auto !important;
    max-width: 90px !important;
    object-fit: contain !important;
  }
  /* Icône user statique visible sur mobile */
  .nc-user-mobile-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    border-radius: 50%;
    color: #3d1a25 !important;
    text-decoration: none !important;
    transition: background .2s, color .2s;
  }
  .nc-user-mobile-btn:hover { background: rgba(242,96,116,.1) !important; color: var(--nc-pink) !important; }
  /* Masquer l'icône user PS native sur mobile (déplacée dans _mobile_user_info caché) */
  .nc-header-icons #_desktop_user_info { display: none !important; }
}

/* Responsive footer */
@media (max-width: 900px) {
  #footer .nc-footer-main {
    grid-template-columns: 1fr 1fr;
    gap: 36px;
    padding: 48px 24px 36px;
  }
}
@media (max-width: 540px) {
  #footer .nc-footer-main {
    grid-template-columns: 1fr;
    gap: 28px;
    padding: 8px 20px 24px;
  }
}

/* ============================================================
   ANIMATIONS COMMUNES
   ============================================================ */
@keyframes ncFadeUp {
  from { opacity: 0; transform: translateY(32px); }
  to   { opacity: 1; transform: none; }
}

[data-reveal] {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity .7s var(--nc-ease), transform .7s var(--nc-ease);
}
[data-reveal].visible { opacity: 1; transform: none; }
[data-reveal]:nth-child(2) { transition-delay: .1s; }
[data-reveal]:nth-child(3) { transition-delay: .2s; }
[data-reveal]:nth-child(4) { transition-delay: .3s; }
[data-reveal]:nth-child(5) { transition-delay: .4s; }
[data-reveal]:nth-child(6) { transition-delay: .5s; }
[data-reveal]:nth-child(7) { transition-delay: .6s; }
[data-reveal]:nth-child(8) { transition-delay: .7s; }

.nc-label {
  display: inline-block;
  font-family: var(--nc-body);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--nc-pink);
  margin-bottom: 12px;
}
.nc-label--light { color: rgba(255,255,255,.7); }

/* CTA buttons */
.nc-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--nc-body);
  font-weight: 600;
  font-size: 15px;
  padding: 14px 36px;
  border-radius: 50px;
  text-decoration: none;
  cursor: pointer;
  transition: all .25s var(--nc-ease);
  border: 2px solid transparent;
  background: var(--nc-pink);
  color: #fff;
  letter-spacing: .3px;
}
.nc-cta:hover {
  background: var(--nc-pink-dark);
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 8px 28px rgba(242,96,116,.35);
  text-decoration: none;
}
.nc-cta--outline {
  background: transparent;
  border-color: var(--nc-pink);
  color: var(--nc-pink);
}
.nc-cta--outline:hover {
  background: var(--nc-pink);
  color: #fff;
  box-shadow: 0 8px 28px rgba(242,96,116,.3);
}
.nc-cta--white {
  background: #fff;
  color: var(--nc-pink);
  border-color: #fff;
}
.nc-cta--white:hover {
  background: var(--nc-pink-light);
  color: var(--nc-pink-dark);
  border-color: var(--nc-pink-light);
}

.nc-megamenu__title a {
  color: var(--nc-pink) !important;
  text-decoration: none !important;
  font-size: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
}
.nc-megamenu__title a:hover { color: var(--nc-pink-dark) !important; }
