/* SENP – layout del tema senza Elementor: header/menu GeneratePress, footer, articoli, archivi.
   Colori e font: variabili --senp-* definite in senp-core (senp-components.css). */

.senp-wrap {
  box-sizing: border-box;
  width: 100%;
  max-width: 1360px; /* 1320px di contenuto + 20px di margine per lato, come i container Elementor */
  margin: 0 auto;
  padding: 0 20px;
}

.senp-band { padding: 50px 0; }
.senp-band--gray { background: var(--senp-gray, #F5F5F7); }

body.senp-layout {
  background: #fff;
  color: var(--senp-text, #000);
  font-family: var(--senp-font-body, "Roboto", sans-serif);
}

/* ---------- Header GeneratePress (come il template Elementor: contenitore 1320px, logo 322px) ---------- */
.site-header { background: #fff; }
.site-header .inside-header { box-sizing: border-box; max-width: 1360px; padding: 15px 20px; }
.site-header .site-branding { display: none; } /* solo logo, senza il titolo del sito */
.site-header .site-logo { margin-right: auto; }
.site-header .header-image { width: 322px; max-width: 100%; height: auto; }
.main-navigation,
.main-navigation ul ul { background: #fff; }
.main-navigation .main-nav ul li a {
  padding-right: 25px;
  padding-left: 25px;
  color: #5E5E5E;
  font: 600 14px/46px var(--senp-font-heading, "Roboto Slab", serif);
}
.main-navigation .main-nav > ul > li { margin: 0 5px; }
.main-navigation .main-nav ul li:not(.menu-icon-user) a:hover,
.main-navigation .main-nav ul li:not(.menu-icon-user) a:focus-visible { color: #000; background: transparent; }
.main-navigation .main-nav ul li[class*="current-menu-"]:not(.menu-icon-user) > a { color: var(--senp-blue-dark, #052F6D); background: transparent; }
/* sottolineatura al passaggio del mouse, come nel menu Elementor */
.main-navigation .main-nav > ul > li:not(.menu-icon-user):not(.lang-item) > a { position: relative; }
.main-navigation .main-nav > ul > li:not(.menu-icon-user):not(.lang-item) > a::after {
  content: "";
  position: absolute;
  right: 25px;
  bottom: 0;
  left: 25px;
  height: 3px;
  background: var(--senp-blue-dark, #052F6D);
  opacity: 0;
  transition: opacity .2s ease;
}
.main-navigation .main-nav > ul > li:not(.menu-icon-user):not(.lang-item) > a:hover::after,
.main-navigation .main-nav > ul > li[class*="current-menu-"]:not(.menu-icon-user) > a::after { opacity: 1; }
.main-navigation .menu-toggle { color: var(--senp-blue-dark, #052F6D); }

/* ---------- Footer (come il template Elementor: 60% / 15% / 15%, copyright a destra) ---------- */
.senp-footer { background: var(--senp-blue, #2882BF); color: #fff; font: 400 14px/1.6 var(--senp-font-heading, "Roboto Slab", serif); }
.senp-footer a { color: #fff; text-decoration: none; }
.senp-footer a:hover, .senp-footer a:focus-visible { color: var(--senp-blue-dark, #052F6D); }
.senp-footer__wrap { box-sizing: border-box; max-width: 1360px; margin: 0 auto; padding: 15px 20px 25px; }
.senp-footer__inner { display: grid; grid-template-columns: 60% 15% 15%; }
.senp-footer__logo { display: block; width: 400px; max-width: 100%; height: 179px; object-fit: contain; object-position: left center; }
.senp-footer__about p { max-width: 75%; margin: 0; }
.senp-footer__col { display: flex; flex-direction: column; gap: 20px; padding-top: 163px; }
.senp-footer h2 { margin: 0; color: #fff; font: 500 14px/1.3 var(--senp-font-heading, "Roboto Slab", serif); }
.senp-footer ul { margin: 0; padding: 0; list-style: none; }
.senp-footer li a { display: inline-block; padding: 2px 0; font: 300 14px/1.5 Helvetica, Arial, sans-serif; }
.senp-footer__col:last-child li a { font-weight: 400; }
.senp-footer__bottom { display: flex; flex-direction: column; align-items: flex-end; width: 90%; margin-top: 20px; }
.senp-footer__bottom p { margin: 0; }
@media (max-width: 767px) {
  .senp-footer__wrap { padding: 25px 20px; }
  .senp-footer__inner { grid-template-columns: 1fr 1fr; gap: 25px 0; }
  .senp-footer__about { grid-column: 1 / -1; display: flex; flex-direction: column; align-items: center; }
  .senp-footer__logo { width: 100%; height: auto; }
  .senp-footer__about p { max-width: 100%; }
  .senp-footer__col { padding-top: 0; }
  .senp-footer__bottom { align-items: flex-start; width: 100%; }
}

/* Link nel contenuto senza sottolineatura (come il kit Elementor), sottolineati al passaggio del mouse */
.entry-content a:not(.senp-button):not(.wp-block-button__link) { text-decoration: none; }
.entry-content a:not(.senp-button):not(.wp-block-button__link):hover { text-decoration: underline; }

/* ---------- Articolo singolo (come il template Elementor in produzione) ---------- */
/* header: immagine in evidenza con velatura azzurra al 50% */
.senp-single__hero { position: relative; display: flex; align-items: center; min-height: 350px; background: #F5F5F7 center / cover no-repeat; }
.senp-single__hero::before { content: ""; position: absolute; inset: 0; background: var(--senp-blue, #2882BF); opacity: .5; }
.senp-single__hero-inner { position: relative; display: flex; flex-direction: column; gap: 10px; padding-top: 40px; padding-bottom: 40px; }
.senp-single__hero-inner > * { max-width: 60%; }
.senp-single__date { margin: 0; color: #fff; font: 400 16px/1.4 var(--senp-font-heading, "Roboto Slab", serif); }
.senp-single__cats { display: flex; flex-wrap: wrap; gap: 12px; margin: 0; }
.senp-single__cats a { padding: 5px 0 2px; border-bottom: 2px solid #fff; color: #fff; font: 500 14px/1.3 var(--senp-font-body, "Roboto", sans-serif); text-decoration: none; transition: opacity .2s ease; }
.senp-single__cats a:hover, .senp-single__cats a:focus-visible { color: #fff; opacity: .8; }
.senp-single__title { max-width: 90%; margin: 0; color: #fff; font: 500 35px/1.25 var(--senp-font-heading, "Roboto Slab", serif); }
.senp-single__divider { display: block; width: 160px; height: 4px; margin-top: 4px; background: var(--senp-green, #C7D425); }
@media (max-width: 1024px) { .senp-single__hero-inner > * { max-width: 100%; } }
@media (max-width: 767px) { .senp-single__title { font-size: 30px; } }

/* corpo: colonna laterale (30%) a sinistra, contenuto a destra */
.senp-single__body {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 7fr);
  grid-template-areas: "aside content";
  gap: 40px;
  padding-top: 70px;
  padding-bottom: 70px;
}
.senp-single__content { grid-area: content; font-size: 16px; line-height: 1.6; }
.senp-single__aside { grid-area: aside; display: flex; flex-direction: column; gap: 30px; }
.senp-single__aside:empty { display: none; }
.senp-single__body:has(> .senp-single__aside:empty) { grid-template-columns: 1fr; grid-template-areas: "content"; }
.senp-single__content > :first-child { margin-top: 0; }
.senp-single__content img { max-width: 100%; height: auto; }
@media (max-width: 1024px) {
  .senp-single__body { grid-template-columns: 1fr; grid-template-areas: "content" "aside"; padding-top: 40px; }
}

/* ---------- Archivio ---------- */
.senp-archive__title { margin: 0; color: var(--senp-blue-dark, #052F6D); font: 600 clamp(26px, 4vw, 40px)/1.2 var(--senp-font-heading, "Roboto Slab", serif); }
.senp-archive__body { padding-top: 50px; padding-bottom: 50px; }

.senp-archive-pagination { margin-top: 40px; }
.senp-archive-pagination .nav-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.senp-archive-pagination .page-numbers {
  min-width: 40px;
  padding: 8px 12px;
  border: 1px solid #e1e3e6;
  color: var(--senp-blue-dark, #052F6D);
  text-align: center;
  text-decoration: none;
}
.senp-archive-pagination .page-numbers.current { background: var(--senp-blue-dark, #052F6D); border-color: var(--senp-blue-dark, #052F6D); color: #fff; }
.senp-archive-pagination a.page-numbers:hover, .senp-archive-pagination a.page-numbers:focus-visible { border-color: var(--senp-blue, #2882BF); color: var(--senp-blue, #2882BF); }

/* ---------- Pagine convertite da Elementor (solo shortcode [senp_section]) ---------- */
body.senp-page .site-main { margin: 0; }
body.senp-page .inside-article { padding: 0; background: transparent; }
body.senp-page .entry-content { margin: 0; }
body.senp-page .entry-content > h2:first-child { box-sizing: border-box; max-width: 1320px; margin: 40px auto 20px; padding: 0 20px; }
/* Pagine senza sezioni (Member list, Order List, Subscription History): contenuto centrato come le sezioni */
body.senp-page--plain .entry-content { box-sizing: border-box; max-width: 1320px; margin: 0 auto; padding: 0 20px 72px; }
body.senp-page--plain .entry-content > h2:first-child { max-width: none; margin: 48px 0 24px; padding: 0; color: #0f172a; font-size: 34px; font-weight: 600; letter-spacing: -.01em; }
@media (max-width: 768px) {
    body.senp-page--plain .entry-content { padding: 0 16px 48px; }
    body.senp-page--plain .entry-content > h2:first-child { margin: 28px 0 18px; font-size: 26px; }
}
