/*
 Theme Name: ColorMag Child
 Template: colormag
 Version: 1.0.0
*/

/* =========================================================
   VIPON – Design Tokens
   ========================================================= */

:root{
  --vipon-orange: #ff9900;
  --vipon-orange-hover: #f08804;
  --vipon-green: #0f3d2e;
  --vipon-bg: #f6f7f9;
  --vipon-card: #ffffff;
  --vipon-text: #111827;
  --vipon-muted: rgba(17,24,39,.70);
  --vipon-border: #e8ebef;
  --vipon-shadow: 0 8px 24px rgba(16, 24, 40, 0.06);
  --vipon-radius: 14px;

  --vipon-text-on-dark: #eaf2ee;
}

/* =========================================================
   Base (site-wide)
   ========================================================= */

body{
  background: var(--vipon-bg);
}

body, button, input, textarea{
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue",
               Arial, "Noto Sans", "Liberation Sans", sans-serif;
  color: var(--vipon-text);
}

a{ color: inherit; }

/* Utility card */
.vipon-card{
  background: var(--vipon-card);
  border: 1px solid var(--vipon-border);
  border-radius: var(--vipon-radius);
  box-shadow: var(--vipon-shadow);
  padding: 14px;
}

/* =========================================================
   VIPON Header (single source of truth)
   Markup: .vipon-min-header__nav > ul.menu.vipon-menu
   ========================================================= */

.vipon-min-header{
  background: #fff;
  border-bottom: 1px solid var(--vipon-border);
}

.vipon-min-header__inner{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 14px 0;
}

.vipon-min-header__brand{
  display: flex;
  align-items: center;
  flex: 0 0 auto;
}

.vipon-min-header__logo{
  display: inline-flex;
  align-items: center;
  text-decoration: none;
}

.vipon-min-header__logo img{
  display:block;
  height:90px;   /* adatta */
  width:auto;
}

@media (max-width: 768px){
  .vipon-min-header__logo img{
    height:80px; /* adatta */
  }
}

/* Force logo size (ColorMag override safe) */
.vipon-min-header .custom-logo-link,
.vipon-min-header .custom-logo-link img,
.vipon-min-header img.custom-logo{
  height: 48px !important;
  max-height: 48px !important;
  width: auto !important;
  max-width: none !important;
  display: block;
}

/* Logo hover */
.vipon-min-header .custom-logo-link img.custom-logo{
  transition: transform .15s ease, filter .15s ease;
  will-change: transform, filter;
}
.vipon-min-header .custom-logo-link:hover img.custom-logo{
  transform: translateY(-2px);
  filter: brightness(1.18) contrast(1.05);
}

/* Nav */
.vipon-min-header__nav{
  flex: 1 1 auto;
  overflow: visible;
}

.vipon-min-header__nav ul.menu.vipon-menu{
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 20px;
  margin: 0;
  padding: 0;
  flex-wrap: wrap;
}

.vipon-min-header__nav ul.menu.vipon-menu > li{
  margin: 0;
  padding: 0;
}

.vipon-min-header__nav ul.menu.vipon-menu > li > a{
  position: relative;
  display: inline-block;
  padding: 4px 0 6px;
  text-decoration: none;
  font-weight: 700;
  font-size: 14.5px;
  letter-spacing: -0.01em;
  color: var(--vipon-text);
  opacity: .92;
  transition: color .15s ease, opacity .15s ease;
}

.vipon-min-header__nav ul.menu.vipon-menu > li > a:hover{
  color: var(--vipon-green);
  opacity: 1;
}

/* underline hover */
.vipon-min-header__nav ul.menu.vipon-menu > li > a::after{
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 1px;
  height: 2px;
  background: transparent;
  border-radius: 2px;
  transition: background .15s ease;
}
.vipon-min-header__nav ul.menu.vipon-menu > li > a:hover::after{
  background: rgba(15,61,46,.45);
}

/* Active */
.vipon-min-header__nav ul.menu.vipon-menu > li.current-menu-item > a,
.vipon-min-header__nav ul.menu.vipon-menu > li.current-menu-ancestor > a,
.vipon-min-header__nav ul.menu.vipon-menu > li.current_page_item > a{
  color: var(--vipon-green);
  opacity: 1;
}
.vipon-min-header__nav ul.menu.vipon-menu > li.current-menu-item > a::after,
.vipon-min-header__nav ul.menu.vipon-menu > li.current-menu-ancestor > a::after,
.vipon-min-header__nav ul.menu.vipon-menu > li.current_page_item > a::after{
  background: var(--vipon-green);
}

/* Responsive header */
@media (max-width: 820px){
  .vipon-min-header__inner{
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }
  .vipon-min-header__nav ul.menu.vipon-menu{
    justify-content: flex-start;
  }
}

/* =========================================================
   HOME – Layout (main + sidebar)
   ========================================================= */

.vipon-home__container{
  max-width: 1480px;
  margin: 0 auto;
  padding: 0 10px;
}

/* HOME: il vero container diventa tg-container quando ha vipon-home */
/* HOME: tg-container non deve fare da container (lo fa vipon-home__container) */
.tg-container.vipon-home{
  max-width: none;
  padding-left: 0;
  padding-right: 0;
}

/* HOME: il container interno (dentro tg-container) non deve creare una seconda gabbia */
/* Dentro la home, vipon-home__container DEVE restare il container */
.tg-container.vipon-home .vipon-home__container{
  max-width: 1480px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 10px;
  padding-right: 10px;
}

.vipon-home__layout{
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 18px;
  align-items: start;
}

/* =========================================================
   HOME – Grid (5 colonne)
   ========================================================= */

.vipon-grid{
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
}

@media (max-width: 1400px){
  .vipon-grid{ grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 1180px){
  .vipon-home__layout{ grid-template-columns: 1fr; }
  .vipon-grid{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 820px){
  .vipon-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 520px){
  .vipon-grid{ grid-template-columns: 1fr; }
}

/* =========================================================
   DEAL CARD (Home)
   ========================================================= */

.vipon-deal-card{
  background: var(--vipon-card);
  border: 1px solid var(--vipon-border);
  border-radius: var(--vipon-radius);
  box-shadow: var(--vipon-shadow);
  overflow: hidden;

  display: flex;
  flex-direction: column;
  height: 100%;
}

/* Thumbnail */
.vipon-deal-card__thumb{
  display: block;
  position: relative;
  background: #fff;
  border-bottom: 1px solid var(--vipon-border);
}

.vipon-deal-card__thumb img{
  width: 100%;
  height: 160px;
  object-fit: contain;
  display: block;
  background: #fff;
  padding-top: 14px;
  box-sizing: border-box;
}

/* Badge sconto */
.vipon-deal-card__badge{
  position: absolute;
  top: 8px;
  left: 8px;
  padding: 5px 9px;
  border-radius: 999px;
  background: #ffe5e5;
  color: #b42318;
  font-weight: 900;
  font-size: 11px;
}

/* Body */
.vipon-deal-card__body{
  padding: 12px 12px 14px;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
}

.vipon-deal-card__title{
  margin: 0 0 8px;
  font-size: 14px;
  line-height: 1.3;
  letter-spacing: -0.01em;
  min-height: 2.6em;
}

.vipon-deal-card__title a{
  text-decoration: none;
}
.vipon-deal-card__title a:hover{
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* Meta su due righe */
.vipon-deal-card__meta{
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin-bottom: 10px;
  min-height: 2.6em;
  font-size: 12px;
  color: var(--vipon-muted);
}

.vipon-deal-card__cat,
.vipon-deal-card__partner{
  font-size: 12px;
  color: var(--vipon-muted);
}

/* Prezzo */
.vipon-deal-card__price{
  margin-top: auto;
}
.vipon-deal-card__price strong{
  font-size: 16px;
}
.vipon-deal-card__old{
  margin-left: 8px;
  font-size: 12px;
  color: rgba(17,24,39,.55);
  text-decoration: line-through;
}

/* CTA */
.vipon-deal-card__cta{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 10px;
  font-weight: 900;
  text-decoration: none;
  color: var(--vipon-green);
}
/*
.vipon-deal-card__cta:hover{
  text-decoration: underline;
  text-underline-offset: 4px;
}
*/

/* =========================================================
   Buttons (generic)
   ========================================================= */

.vipon-btn{
  display: inline-flex;
  justify-content: center;
  align-items: center;
  padding: 10px 12px;
  border-radius: 12px;
  font-weight: 900;
  text-decoration: none;
  border: 1px solid transparent;
  cursor: pointer;
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease, border-color .15s ease;
}

.vipon-btn--primary{
  background: var(--vipon-orange);
  color: #111;
  box-shadow: 0 6px 16px rgba(255,153,0,0.35);
}
.vipon-btn--primary:hover{
  background: var(--vipon-orange-hover);
  box-shadow: 0 8px 20px rgba(255,136,4,0.45);
  transform: translateY(-1px);
}

.vipon-btn--ghost{
  background: #fff;
  border-color: var(--vipon-border);
  color: var(--vipon-text);
}
.vipon-btn--ghost:hover{
  border-color: rgba(15,61,46,.35);
  transform: translateY(-1px);
}

.vipon-btn--sm{
  height: 38px;
  padding: 0 14px;
  border-radius: 12px;
  font-size: 13px;
}

/* Secondario come "ghost" */
.vipon-btn--secondary{
  border: 1px solid rgba(0,0,0,.12);
  background: transparent;
}

/* =========================================================
   Toolbar Home (filters) – NON sticky
   ========================================================= */

.vipon-toolbar{
  margin-bottom: 14px;
  margin-top: 14px;
  background: #fff;
}

.vipon-toolbar__form{
  margin: 0;
}

.vipon-toolbar__row{
  display: grid;
  grid-template-columns: 1.4fr 1fr .7fr .7fr .7fr 1fr auto;
  gap: 12px;
  align-items: end;
}

.vipon-field{
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.vipon-label{
  font-size: 12px;
  font-weight: 900;
  color: var(--vipon-muted);
}

.vipon-input,
.vipon-select{
  height: 40px;
  border-radius: 12px;
  border: 1px solid var(--vipon-border);
  background: #fff;
  padding: 0 12px;
  outline: none;
}

.vipon-input:focus,
.vipon-select:focus{
  border-color: rgba(15,61,46,.35);
  box-shadow: 0 0 0 4px rgba(15,61,46,.08);
}

.vipon-toolbar__actions{
  display: flex;
  gap: 10px;
  align-items: center;
  padding-bottom: 1px;
}

/* Toolbar responsive */
@media (max-width: 1180px){
  .vipon-toolbar__row{
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
  .vipon-toolbar__actions{
    grid-column: 1 / -1;
    justify-content: flex-start;
  }
}
@media (max-width: 820px){
  .vipon-toolbar__row{
    grid-template-columns: 1fr 1fr;
  }
  .vipon-toolbar__actions{
    grid-column: 1 / -1;
  }
}
@media (max-width: 520px){
  .vipon-toolbar__row{
    grid-template-columns: 1fr;
  }
}

/* =========================================================
   Active filters chips
   ========================================================= */

.vipon-active-filters{
  margin: 10px 0 14px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.vipon-chip{
  display: inline-flex;
  gap: 6px;
  align-items: center;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(15,61,46,.06);
  border: 1px solid rgba(15,61,46,.12);
  font-size: 12.5px;
  color: var(--vipon-text);
}
.vipon-chip strong{
  font-weight: 900;
  color: var(--vipon-green);
}

.vipon-chip--link{
  text-decoration: none;
  cursor: pointer;
}

.vipon-chip__x{
  margin-left: 6px;
  font-weight: 900;
  opacity: .65;
}

.vipon-chip--link:hover{
  border-color: rgba(15,61,46,.22);
  background: rgba(15,61,46,.08);
}

.vipon-chip--link:hover .vipon-chip__x{
  opacity: 1;
}

/* =========================================================
   Sidebar (Home)
   ========================================================= */

@media (min-width: 1181px){
  .vipon-home__sidebar{
    position: sticky;
    top: 18px;
    align-self: start;
  }
}

/* Sidebar – Offerte Top */
.vipon-top__head{
  display:flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}

.vipon-top__title{
  margin: 0;
  font-size: 16px;
  letter-spacing: -0.01em;
}

.vipon-top__hint{
  font-size: 12px;
  opacity: .75;
}

.vipon-top__list{
  display:flex;
  flex-direction: column;
  gap: 10px;
}

.vipon-top__item{
  display:flex;
  gap: 10px;
  align-items: center;
  text-decoration: none;
  padding: 8px;
  border-radius: 12px;
  border: 1px solid transparent;
}

.vipon-top__item:hover{
  background: rgba(15,61,46,.04);
}

.vipon-top__thumb{
  width: 44px;
  height: 44px;
  border-radius: 10px;
  border: 1px solid var(--vipon-border);
  background: #fff;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  flex: 0 0 auto;
}

.vipon-top__thumb img{
  width: 100%;
  height: 100%;
  object-fit: contain;
  display:block;
}

.vipon-top__ph{
  width: 100%;
  height: 100%;
  display:block;
  background: rgba(17,24,39,.04);
}

.vipon-top__body{
  min-width: 0;
  display:flex;
  flex-direction: column;
  gap: 4px;
  flex: 1 1 auto;
}

.vipon-top__name{
  font-size: 13px;
  font-weight: 900;
  line-height: 1.25;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.vipon-top__meta{
  display:flex;
  align-items:center;
  gap: 8px;
  font-size: 12px;
  color: var(--vipon-muted);
}

.vipon-top__meta strong{
  color: var(--vipon-text);
  font-weight: 900;
}

.vipon-top__badge{
  background: #ffe5e5;
  color: #b42318;
  font-weight: 900;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 11px;
}

/* =========================================================
   VIPON HERO (HOME)
   ========================================================= */

.vipon-hero{
  margin: 18px auto;
  margin-top: 14px;
}

.vipon-hero__inner{
  padding: 18px;
}

.vipon-hero__title{
  margin: 0 0 10px;
  font-size: 28px;
  line-height: 1.15;
}

.vipon-hero__subtitle{
  margin: 0 0 14px;
  opacity: .9;
  max-width: 980px;
}

.vipon-hero__cta{
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin: 10px 0 10px;
}

.vipon-hero__trust{
  font-size: 13px;
  opacity: .85;
  margin-top: 6px;
}

/* =========================================================
   Frontend: nascondi edit links + safety SVG
   ========================================================= */

.edit-link,
.post-edit-link{
  display: none !important;
}

.wp-block-post-edit-link,
.wp-block-post-edit-link__link,
.wp-block-post-edit-link a{
  display: none !important;
}

.entry-content svg,
.page-content svg{
  max-width: 100% !important;
  height: auto !important;
}

.dashicons,
.dashicons-before:before{
  font-size: 16px !important;
  width: auto !important;
  height: auto !important;
}

/* =========================================================
   VIPON – Pagine istituzionali (Full Width, no sidebar)
   ========================================================= */

.vipon-page-fullwidth{
  max-width: 1100px;
  margin: 0 auto;
  padding: 40px 16px 60px;
}

.vipon-page-fullwidth .vipon-page{
  background: var(--vipon-card);
  border: 1px solid var(--vipon-border);
  border-radius: var(--vipon-radius);
  box-shadow: var(--vipon-shadow);
  padding: 32px 40px;
  animation: viponFadeUp .35s ease-out both;
}

.vipon-page-header{
  max-width: 900px;
  margin: 0 auto 24px;
}

.vipon-page-header .entry-title{
  margin: 0 0 10px;
}

.vipon-page-content{
  max-width: 900px;
  margin: 0 auto;
  font-size: 16px;
  line-height: 1.75;
}

/* Mobile */
@media (max-width: 768px){
  .vipon-page-fullwidth .vipon-page{
    padding: 24px 20px;
    border-radius: 12px;
  }
}

/* Animazione: accessibilità */
@media (prefers-reduced-motion: reduce){
  .vipon-page-fullwidth .vipon-page{
    animation: none;
  }
}

@keyframes viponFadeUp{
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* =========================================================
   VIPON Footer (single source of truth)
   Layout:
   - Left: brand + tagline + divider + affiliate disclosure
   - Right (aligned with tagline): copyright + links
   ========================================================= */

.vipon-footer{
  background: var(--vipon-green);
  color: var(--vipon-text-on-dark);
  border-top: 1px solid rgba(255,255,255,.10);
  margin-top: 48px;
}

.vipon-footer__inner{
  max-width: 1180px;
  margin: 0 auto;
  padding: 18px 10px;
}

/* TOP: two columns */
.vipon-footer__top{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 22px;
  padding-bottom: 0;
  border-bottom: 0;
}

.vipon-footer__brand{
  max-width: 520px;
}

/* Logo text already styled elsewhere; keep it */
.vipon-footer__tagline{
  margin: 6px 0 0;
  font-size: 13px;
  line-height: 1.45;
  opacity: .90;
  max-width: 520px;
}

/* Divider under tagline */
.vipon-footer__divider{
  border: 0;
  border-top: 1px solid rgba(255,255,255,.18);
  margin: 14px 0 12px;
  max-width: 520px;
}

/* Affiliate disclosure: single line on desktop */
.vipon-footer__affiliate{
  font-size: 12px;
  line-height: 1.4;
  opacity: .85;
  max-width: 520px;
  white-space: nowrap;
}

/* RIGHT column: align to tagline height */
.vipon-footer__right{
  display: flex;
  align-items: center;      /* vertical align with tagline row */
  justify-content: flex-end;
  gap: 18px;
  flex-wrap: wrap;
  padding-top: 6px;         /* matches tagline top spacing */
}

.vipon-footer__copy{
  font-size: 12px;
  opacity: .92;
  white-space: nowrap;
}

/* Links on the right (orange, compact) */
.vipon-footer__links{
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.vipon-footer__links a{
  color: var(--vipon-orange);
  text-decoration: none;
  font-weight: 800;
  font-size: 12px;
  opacity: 1;
}

.vipon-footer__links a:hover{
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* MOBILE: allow disclosure to wrap + stack right block nicely */
@media (max-width: 820px){
  .vipon-footer__top{
    flex-direction: column;
    align-items: flex-start;
  }

  .vipon-footer__affiliate{
    white-space: normal; /* on mobile it can wrap */
  }

  .vipon-footer__right{
    padding-top: 0;
    justify-content: flex-start;
  }

  .vipon-footer__links{
    justify-content: flex-start;
    gap: 12px;
  }
}

/* Footer logo: forza visibilità */
.vipon-footer__logo a{
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  color: inherit;
}

.vipon-footer__textlogo{
  display: inline-flex;
  font-weight: 900;
  font-size: 22px;
  letter-spacing: -0.02em;
  line-height: 1;
}

/* colori brand (se non li hai già) */
.vipon-footer__textlogo .v{ color: #ff3b30; }
.vipon-footer__textlogo .ip{ color: var(--vipon-orange); }
.vipon-footer__textlogo .on{ color: var(--vipon-text-on-dark); }

/* =========================================================
   VIPON – Pagina Canali Telegram
   Incolla in colormag-child/style.css (in fondo)
   ========================================================= */

.vipon-telegram-page{
  max-width: 1480px;
  margin: 0 auto;
  padding: 14px 10px;
}

.vipon-telegram-page .vipon-card{
  width: 100%;
}

.vipon-tg-hero{
  padding: 22px 22px;
}

.vipon-tg-hero__title{
  margin: 0 0 8px 0;
  font-size: 34px;
  line-height: 1.15;
}

.vipon-tg-hero__subtitle{
  margin: 0 0 14px 0;
  font-size: 16px;
  opacity: .92;
  max-width: 980px;
}

.vipon-tg-hero__cta{
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin: 8px 0 12px 0;
}

.vipon-tg-hero__trust{
  font-size: 13px;
  opacity: .85;
}

.vipon-section-title{
  margin: 0 0 12px 0;
  font-size: 18px;
}

/* Benefits */
.vipon-tg-benefits{
  margin-top: 14px;
  padding: 18px 18px;
}

.vipon-tg-benefits__grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.vipon-tg-benefit{
  display: flex;
  gap: 10px;
  padding: 12px 12px;
  border-radius: 14px;
  background: rgba(0,0,0,0.03);
}

.vipon-tg-ic{
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  background: rgba(255,165,0,0.16);
  font-size: 16px;
  flex: 0 0 auto;
}

.vipon-tg-benefit__title{
  font-weight: 700;
  margin-bottom: 2px;
}

.vipon-tg-benefit__text{
  font-size: 13px;
  opacity: .9;
}

/* Channels */
.vipon-tg-channels{
  margin-top: 14px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  align-items: stretch;
}

.vipon-tg-channel{
  padding: 18px 18px;
}

.vipon-tg-badge{
  display: inline-block;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .5px;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(255,165,0,0.18);
  margin-bottom: 10px;
}

.vipon-tg-badge--alt{
  background: rgba(0,128,0,0.14);
}

.vipon-tg-channel__title{
  margin: 0 0 6px 0;
  font-size: 22px;
}

.vipon-tg-channel__desc{
  margin: 0 0 12px 0;
  opacity: .92;
}

.vipon-tg-channel__actions{
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.vipon-tg-channel__link{
  font-size: 13px;
  opacity: .85;
}

/* Tip + FAQ */
.vipon-tg-tip,
.vipon-tg-faq{
  margin-top: 14px;
  padding: 18px 18px;
}

.vipon-tg-faq__grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.vipon-tg-faq__item{
  padding: 12px 12px;
  border-radius: 14px;
  background: rgba(0,0,0,0.03);
  font-size: 13px;
}

/* Final CTA */
.vipon-tg-final{
  margin-top: 14px;
  padding: 20px 18px;
  text-align: left;
}

.vipon-tg-final__title{
  margin: 0 0 6px 0;
  font-size: 22px;
}

.vipon-tg-final__subtitle{
  margin: 0 0 12px 0;
  opacity: .9;
}

.vipon-tg-final__cta{
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

/* Responsive */
@media (max-width: 980px){
  .vipon-tg-benefits__grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vipon-tg-channels{ grid-template-columns: 1fr; }
  .vipon-tg-faq__grid{ grid-template-columns: 1fr; }
  .vipon-tg-hero__title{ font-size: 28px; }
}

@media (max-width: 560px){
  .vipon-tg-benefits__grid{ grid-template-columns: 1fr; }
}

/* Safety: evita overflow/sovrapposizioni dovute a width o position strani */
.vipon-tg-channels > .vipon-tg-channel{
  width: 100%;
  max-width: none;
  position: relative;
  box-sizing: border-box;
  min-width: 0;
}

/* =========================================================
   Pagination (front-page / VIPON)
   ========================================================= */

.vipon-home__pagination{
  margin: 18px 0 0;
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}

/* Se il tema aggiunge qualcosa al wrapper */
.vipon-home__pagination::before,
.vipon-home__pagination::after{
  content: none;
}

.vipon-home__pagination .page-numbers{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  justify-content: center;
  list-style: none;
  margin: 0;
  padding: 0;
}

.vipon-home__pagination .page-numbers li{
  margin: 0;
  padding: 0;
}

.vipon-home__pagination .page-numbers a,
.vipon-home__pagination .page-numbers span{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  height: 38px;
  padding: 0 12px;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,.10);
  background: #fff;
  text-decoration: none;
  font-weight: 700;
  font-size: 14px;
  line-height: 1;
  box-shadow: 0 10px 26px rgba(0,0,0,.06);
}

/* Stato corrente */
.vipon-home__pagination .page-numbers .current{
  background: #0f4d36; /* verde VIPON */
  border-color: #0f4d36;
  color: #fff;
}

/* Hover */
.vipon-home__pagination .page-numbers a:hover{
  transform: translateY(-1px);
  box-shadow: 0 14px 30px rgba(0,0,0,.10);
}

/* Prev/Next più “button” */
.vipon-home__pagination .page-numbers .prev,
.vipon-home__pagination .page-numbers .next{
  min-width: 140px;
  justify-content: center;
}

/* Ellissi */
.vipon-home__pagination .page-numbers .dots{
  border-color: transparent;
  background: transparent;
  box-shadow: none;
  min-width: 20px;
  padding: 0 6px;
  font-weight: 700;
}

/* Mobile */
@media (max-width: 520px){
  .vipon-home__pagination .page-numbers .prev,
  .vipon-home__pagination .page-numbers .next{
    min-width: 110px;
    padding: 0 10px;
  }
  .vipon-home__pagination .page-numbers a,
  .vipon-home__pagination .page-numbers span{
    min-width: 38px;
    height: 36px;
    border-radius: 10px;
  }
}

/* =========================================================
   VIPON Pagination – remove outer container bar (hard override)
   ========================================================= */

/* 1) qualsiasi wrapper che potrebbe creare la barra */
.vipon-home__pagination,
.vipon-home__pagination nav.navigation.pagination,
.vipon-home__pagination .navigation.pagination{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 18px 0 0 !important;
  border-radius: 0 !important;
}

/* 2) spesso il "box" è sull'UL */
.vipon-home__pagination ul,
.vipon-home__pagination ul.page-numbers{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;

  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 10px !important;
  width: auto !important;
}

/* 3) LI non deve disegnare sfondi */
.vipon-home__pagination ul.page-numbers > li{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* 4) i bottoni restano "pill" ma senza contenitore esterno */
.vipon-home__pagination .page-numbers a,
.vipon-home__pagination .page-numbers span{
  border-radius: 12px;
}

/* VIPON – Static categories (affiliate exit block) */

.vipon-static-cats {
  margin-top: 20px;
}

.vipon-static-cats__inner {
  background: #fff;
  padding: 18px;
  border-radius: 14px;
  box-shadow: 0 10px 24px rgba(0,0,0,.06);
}

.vipon-static-cats__head {
  margin-bottom: 14px;
}

.vipon-static-cats__title {
  margin: 0 0 6px;
  font-size: 18px;
  line-height: 1.25;
}

.vipon-static-cats__subtitle {
  margin: 0;
  font-size: 13px;
  opacity: .75;
}

.vipon-static-cats__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

@media (min-width: 900px) {
  .vipon-static-cats__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.vipon-static-cats__card {
  padding: 14px;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,.06);
  text-decoration: none;
  background: #fff;
  transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}

.vipon-static-cats__card:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 18px rgba(0,0,0,.08);
  border-color: rgba(0,0,0,.14);
}

.vipon-static-cats__name {
  display: block;
  font-weight: 800;
  font-size: 14px;
  line-height: 1.2;
}

.vipon-static-cats__cta {
  display: inline-block;
  margin-top: 6px;
  font-size: 12px;
  opacity: .85;
  border-bottom: 1px dashed rgba(0,0,0,.25);
}

/* Immagine icona */
.vipon-static-cats__card {
  display: grid;
  grid-template-columns: 42px 1fr;
  grid-template-rows: auto auto;
  column-gap: 10px;
  align-items: center;
}

.vipon-static-cats__img {
  width: 42px;
  height: 42px;
  border-radius: 10px;
  overflow: hidden;
  background: rgba(0,0,0,.04);
  display: grid;
  place-items: center;
}

.vipon-static-cats__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Testi in griglia con immagine */
.vipon-static-cats__name {
  grid-column: 2 / 3;
  margin: 0;
}

.vipon-static-cats__cta {
  grid-column: 2 / 3;
  margin-top: 4px;
}

/* Card speciali evidenziate */
/* Offerte Lampo → VERDE */
.vipon-static-cats__card--lampo {
  background: #1f7a4a;
  color: #fff;
  border-color: rgba(255,255,255,.18);
}

/* Tutto Coupon → GIALLO */
.vipon-static-cats__card--coupon {
  background: #ffe08a;
  color: inherit;
  border-color: rgba(0,0,0,.12);
}

.vipon-static-cats__card--coupon .vipon-static-cats__cta {
  border-bottom-color: rgba(255,255,255,.40);
  opacity: .95;
}

/* Nasconde la CTA testuale "Vai alle offerte" */
.vipon-static-cats__cta {
  display: none;
}

.site-branding .custom-logo-link img { content: url('/wp-content/themes/colormag-child/assets/img/logo.png'); }

/* =========================================================
   FIX MOBILE: pagination hidden by sidebar (ColorMag overrides)
   ========================================================= */
@media (max-width: 1180px){

  /* Assicura che il layout resti una colonna e non eredità float */
  .vipon-home__layout{
    grid-template-columns: 1fr !important;
  }

  /* Neutralizza eventuali float/width del tema su content e sidebar */
  .vipon-home__main,
  .vipon-home__sidebar{
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  /* Evita che la sidebar "salga" sopra elementi precedenti + spazio sopra "Offerte top" */
  .vipon-home__sidebar{
    position: static !important;   /* in caso di sticky ereditato/bug */
    margin-top: 34px !important;
    z-index: 1;
  }

  /* Paginazione sempre sopra + spazio sotto */
  .vipon-home__pagination{
    clear: both !important;
    position: relative;
    z-index: 5;
    margin-bottom: 22px !important;
  }
}

