/* ============================================================
   HEADER — DESKTOP FORZATO FINO A 700px
   Neutralizza COMPLETAMENTE il mobile KVS (1152px)
   ============================================================ */

@media (min-width: 701px) {

  .navigation {
    position: sticky !important;
    top: 0;
    z-index: 9999;
  }

  .navigation .primary {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;     /* ← QUESTO è IL FIX */
    justify-content: center;
    align-items: center;

    opacity: 1 !important;
    visibility: visible !important;
    position: static !important;
    transform: none !important;

    width: auto !important;
    max-width: none !important;

    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
  }

  .navigation .primary li {
    width: auto !important;
  }

  .navigation .button {
    display: none !important;
  }
}


/* ============================================================
   HEADER — MENU DESKTOP COMPACT (override KVS)
   ============================================================ */

@media (min-width: 701px) {

  .navigation .primary {
    justify-content: center !important;
    gap: 25px !important;              /* spacing desktop */
  }

  .navigation .primary li {
    flex: 0 0 auto !important;         /* ← QUESTO è IL FIX */
    width: auto !important;
  }

}
	




/* ============================================================
   HERO TITLE — FINAL RESPONSIVE CURVE (NO JUMPS)
   ============================================================ */

.hero-title-section h2 {
  white-space: nowrap;
  line-height: 1.05;

  /* 
    - 5rem = desktop max
    - 4.2vw = curva morbida (NON esplode su large screen)
    - 1.1rem = sicurezza micro device
  */
  font-size: clamp(1.1rem, 4.2vw, 5rem);
}






/* ============================================================
   NAVIGATION — ALWAYS VISIBLE (NO HAMBURGER)
   ============================================================ */

/* Nasconde hamburger SEMPRE */
.navigation .button {
  display: none !important;
}

/* Menu SEMPRE orizzontale */
.navigation .primary {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  justify-content: center;
  align-items: center;

  opacity: 1 !important;
  visibility: visible !important;
  position: static !important;
  transform: none !important;

  width: auto !important;
  max-width: none !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Voci compatte */
.navigation .primary li {
  flex: 0 0 auto !important;
  width: auto !important;
}





/* ============================================================
   NAV — ULTRA COMPACT UNDER 540px
   ============================================================ */

@media (max-width: 540px) {

  .navigation .primary {
    gap: 4px !important;          /* praticamente attaccati */
  }

  .navigation .primary a {
    padding-left: 4px !important;
    padding-right: 4px !important;
    letter-spacing: 0.3px;
  }

}





/* ============================================================
   NAV — FORCE FONT SHRINK UNDER 410px
   ============================================================ */

@media (max-width: 410px) {

  .navigation .primary a {
    font-size: 3.2vw !important;   /* ← ora vince */
    line-height: 1.2;
    letter-spacing: 0.2px;
    white-space: nowrap;
  }

}





/* ============================================================
   HEADER — CENTER CLUSTER UNDER 738px
   (search + logo + menu attaccati e centrati)
   ============================================================ */

@media (max-width: 738px) {

  /* Padding laterale minimo */
  .top-links,
  .center-hold {
    padding-left: 2px !important;
    padding-right: 2px !important;
  }

  /* I 3 elementi come "cluster" centrato */
  .member-links {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;  /* <-- chiave */
    gap: 6px !important;                  /* quasi attaccati */
  }

  /* impedisci che i laterali si espandano o spingano */
  .top-search,
  .top-links-menu {
    flex: 0 0 auto !important;
    width: auto !important;
    margin: 0 !important;
  }

  /* logo: resta centrato, niente translate/absolute che sballa */
  .top-logo {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    margin: 0 !important;
  }
}





/* ============================================================
   TOP LOGO — SNAP SIZE UNDER 738px
   ============================================================ */

@media (max-width: 738px) {

  .top-logo {
    font-size: 28px !important;   /* quasi metà di 68px */
    line-height: 1;
  }

}





/* ============================================================
   HEADER — REMOVE VERTICAL PADDING UNDER 738px
   ============================================================ */

@media (max-width: 738px) {

  .top-links .center-hold {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

}









/* ============================================================
   HEADER — SIMPLE COMPACT LAYOUT UNDER 738px
   ============================================================ */

@media (max-width: 738px) {

  /* barra top */
  .top-links {
    padding-left: 4px !important;
    padding-right: 4px !important;
  }

  .top-links .center-hold {
    padding-left: 4px !important;
    padding-right: 4px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  /* layout classico: lati esterni */
  .member-links {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100%;
  }

  /* SEARCH a sinistra */
  .top-search {
    flex: 0 0 auto;
    margin: 0 !important;
  }

  /* LOGO centrato (come già ora) */
  .top-logo {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    font-size: 36px !important;
    line-height: 1;
    white-space: nowrap;
  }

  /* LINKS a destra */
  .top-links-menu {
    flex: 0 0 auto;
    margin: 0 !important;
  }
}





/* ============================================================
   HEADER — HIDE TOP SEARCH UNDER 514px
   ============================================================ */

@media (max-width: 514px) {

  .top-search {
    display: none !important;
  }

}





/* ============================================================
   HEADER — COMPACT TOP LINKS UNDER 514px
   ============================================================ */

@media (max-width: 514px) {

  /* nascondi search */
  .top-search {
    display: none !important;
  }

  /* riduci testo bottoni top-links */
  .top-links-menu li,
  .top-links-menu li a {
    font-size: 11px !important;
    line-height: 1.1;
  }

}







/* ============================================================
   FOOTER — MOBILE LAYOUT (≤ 828px)
   ============================================================ */

/* Desktop default */
.footer-top-mobile {
  display: none;
}

/* ---------------- MOBILE ---------------- */
@media (max-width: 900px) {

  /* ----- Top mobile block (logo + newsletter) ----- */
  .footer-top-mobile {
    display: block;
    text-align: center;
    margin-bottom: 16px;
  }

  /* Nasconde colonna logo desktop */
  .footer.new-footer .footer-col-logo {
    display: none;
  }

  /* ----- Columns on one row ----- */
  .footer.new-footer .footer-columns {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between;
    align-items: flex-start;
    gap: 10px;
    width: 100%;
  }

  .footer.new-footer .footer-columns .footer-col {
    flex: 1 1 0;
    text-align: center;
  }

  /* ----- Titles ----- */
  .footer.new-footer .footer-columns .footer-col h3 {
    font-size: 8px !important;
    margin-bottom: 3px !important;
    letter-spacing: 0.3px;
    text-transform: uppercase;
  }

  /* ----- Links ----- */
  .footer.new-footer .footer-columns .footer-col a {
    font-size: 8px !important;
    line-height: 1.2;
  }

  /* ----- Social icons ----- */
  .footer.new-footer .footer-social-icons {
    display: flex;
    justify-content: center;
    gap: 6px;
    margin-top: 10px;
  }

  .footer.new-footer .footer-social-icons a svg {
    width: 10px;
    height: 10px;
  }
}






/* ============================================================
   FOOTER — SOCIAL ICONS FIX (mobile)
   ============================================================ */

@media (max-width: 900px) {

  /* colonna social */
  .footer.new-footer .footer-col-social {
    display: flex !important;
    flex-direction: column;
    align-items: center !important;
    justify-content: flex-start;
    text-align: center;
  }

  /* wrapper icone */
  .footer.new-footer .footer-social-icons {
    display: flex !important;
    flex-direction: column;
    align-items: center !important;
    gap: 10px;
    margin-top: 6px;
  }

  /* singole icone */
  .footer.new-footer .footer-social-icons a {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .footer.new-footer .footer-social-icons a svg {
    width: 12px;
    height: 12px;
  }
}







/* ============================================================
   FOOTER — HARD OVERRIDE KVS (828 → 900px)
   ============================================================ */

@media (max-width: 900px) {

  .footer.new-footer .footer-columns {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    gap: 10px !important;
  }

  .footer.new-footer .footer-columns .footer-col {
    flex: 1 1 0 !important;
    text-align: center !important;
  }

  .footer.new-footer .footer-columns .footer-col h3 {
    font-size: 8px !important;
    margin-bottom: 3px !important;
    letter-spacing: 0.3px !important;
    text-transform: uppercase !important;
  }

  .footer.new-footer .footer-columns .footer-col a {
    font-size: 8px !important;
    line-height: 1.2 !important;
  }
}






/* INDEX — quando KVS passa a 3 thumb (sotto 992px) mostra SOLO 1 riga (= 3 item) */
@media (max-width: 992px) and (min-width: 769px) {

  body.page-index .list-videos.list-albums.list-content .item:nth-child(n+4) {
    display: none !important;
  }

}









/* ============================================================
   INDEX — NEWS SECTION (layout FORZATO a 3 colonne)
   ============================================================ */

body.page-index .news-section {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 20px;
  align-items: stretch;
}

/* Neutralizza KVS sugli <article> */
body.page-index .news-section .news-box {
  display: block !important;
  width: auto !important;
  max-width: none !important;
}


body.page-index .news-title {
  font-size: clamp(16px, 2vw, 22px);
  line-height: 1.25;
}

body.page-index .news-text {
  font-size: clamp(13px, 1.6vw, 16px);
  line-height: 1.45;
}

body.page-index .news-topic {
  font-size: clamp(11px, 1.2vw, 13px);
  letter-spacing: 0.5px;
}


@media (max-width: 500px) {
  body.page-index .news-section {
    display: none !important;
  }
}











/* ============================================================
   FIX STICKY NAV — forza contesto pulito
   ============================================================ */

.header,
.header-wrapper,
.nav,
.navigation,
.top-links {
  overflow: visible !important;
  transform: none !important;
  filter: none !important;
  contain: none !important;
}











/* ============================================================
   INDEX — Top Voted Models (list_models_list_models_custom_2025)
   4 col desktop → 3 col <768 (1 riga)
   → 2 col <630 → 1 col <480
   ============================================================ */

/* Base: 4 colonne */
body.page-index #list_models_list_models_custom_2025 .margin-fix{
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 10px !important;
}

/* Item */
body.page-index #list_models_list_models_custom_2025 .margin-fix > a.item{
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
}

/* < 768px: 3 colonne + solo 1 riga */
@media (max-width: 768px){

  body.page-index #list_models_list_models_custom_2025 .margin-fix{
    grid-template-columns: repeat(3, 1fr) !important;
  }

  body.page-index #list_models_list_models_custom_2025
  .margin-fix > a.item:nth-child(n+4){
    display: none !important;
  }
}

/* < 630px: 2 colonne (riabilita tutti gli item) */
@media (max-width: 630px){

  body.page-index #list_models_list_models_custom_2025 .margin-fix{
    grid-template-columns: repeat(2, 1fr) !important;
  }

  body.page-index #list_models_list_models_custom_2025
  .margin-fix > a.item:nth-child(n+4){
    display: block !important;
  }
}

/* < 480px: 1 colonna */
@media (max-width: 480px){

  body.page-index #list_models_list_models_custom_2025 .margin-fix{
    grid-template-columns: 1fr !important;
  }
}









/* ============================================================
   MODELS — list_models_models_list
   4 → 3 → 2 → 1 colonne (stile list-videos)
   ============================================================ */

/* Base: 4 colonne */
#list_models_models_list .margin-fix{
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
}

/* Item */
#list_models_models_list .margin-fix > a.item{
  width: auto !important;
  max-width: none !important;
}

/* < 992px: 3 colonne */
@media (max-width: 992px){

  #list_models_models_list .margin-fix{
    grid-template-columns: repeat(3, 1fr) !important;
  }

}

/* < 768px: 2 colonne */
@media (max-width: 768px){

  #list_models_models_list .margin-fix{
    grid-template-columns: repeat(2, 1fr) !important;
  }

}

/* < 480px: 1 colonna */
@media (max-width: 480px){

  #list_models_models_list .margin-fix{
    grid-template-columns: 1fr !important;
  }

}









/* ============================================================
   CATEGORIES — list_categories_categories_list
   4 → 3 → 2 → 1 colonne
   ============================================================ */

/* Base: 4 colonne */
#list_categories_categories_list .margin-fix{
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
}

/* Item */
#list_categories_categories_list .margin-fix > a.item{
  width: auto !important;
  max-width: none !important;
}

/* < 992px: 3 colonne */
@media (max-width: 992px){
  #list_categories_categories_list .margin-fix{
    grid-template-columns: repeat(3, 1fr) !important;
  }
}

/* < 768px: 2 colonne */
@media (max-width: 768px){
  #list_categories_categories_list .margin-fix{
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* < 480px: 1 colonna */
@media (max-width: 480px){
  #list_categories_categories_list .margin-fix{
    grid-template-columns: 1fr !important;
  }
}










@media (max-width: 500px) {

  body.page-index .news-section {
    display: none !important;
  }

  /* hero-bar NON viene più nascosta */
}














/* ============================================================
   INDEX — COMING SOON GRID (2 → 1 colonna + gap ridotto)
   ============================================================ */

@media (max-width: 630px) {

  .coming-soon-inner {
    grid-template-columns: 1fr;
    gap: 10px;
  }

}









/* ============================================================
   DEALS — HERO BAR TEXT SHORTEN (≤ 610px)
   ============================================================ */

@media (max-width: 610px) {

  body.page-deals .hero-bar p {
    font-size: 0;
  }

  body.page-deals .hero-bar p::before {
    content: "EXCLUSIVE DEALS";
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 1px;
    display: block;
    text-align: center;
  }

}





/* =========================================================
   MODELS APPLY — HIDE IMAGE BELOW 1090px
   ========================================================= */
@media (max-width: 1090px) {
    .page-static-models-apply .models-apply-left {
        display: none;
    }
}
