/*
Theme Name: OceanWP Child
Theme URI: https://oceanwp.org/
Template: oceanwp
Author: OceanWP
Author URI: https://oceanwp.org/about-oceanwp/
Description: OceanWP is the perfect theme for your project. Lightweight and highly extendable, it will enable you to create almost any type of website such a blog, portfolio, business website and WooCommerce storefront with a beautiful &amp; professional design. Very fast, responsive, RTL &amp; translation ready, best SEO practices, unique WooCommerce features to increase conversion and much more. You can even edit the settings on tablet &amp; mobile so your site looks good on every device. Work with the most popular page builders as Elementor, Beaver Builder, Brizy, Visual Composer, Divi, SiteOrigin, etc... Developers will love his extensible codebase making it a joy to customize and extend. Best friend of Elementor &amp; WooCommerce. Looking for a Multi-Purpose theme? Look no further! Check the demos to realize that it's the only theme you will ever need: https://oceanwp.org/demos/
Tags: two-columns,right-sidebar,footer-widgets,blog,news,custom-background,custom-menu,post-formats,rtl-language-support,sticky-post,editor-style,threaded-comments,translation-ready,buddypress,custom-colors,featured-images,full-width-template,theme-options,e-commerce,block-styles,wide-blocks,accessibility-ready
Version: 4.1.4.1770100206
Updated: 2026-02-03 06:30:06

*/

/* FIX ancore con header sticky (OceanWP). C'è anche JS aggiuntivo nel tema */

h2[id],
h3[id],
section[id] {
  scroll-margin-top: 80px;
}

/* stile dei menu interni alle pagine */
.chi-siamo-indice {
  list-style: none;
  margin: 1.5rem 0 2rem;
  padding-left: 1.2rem;
  border-left: 3px solid rgba(0,0,0,.1);
}

.chi-siamo-indice li {
  margin: .5rem 0;
}

.chi-siamo-indice a,
.chi-siamo-indice a:visited {
  text-decoration: none !important;
}

.chi-siamo-indice a:hover {
  text-decoration: underline;
}

/* ===============================
   MF - Griglia: 4 / 3 / 2 colonne
   =============================== */

/* Desktop: 4 colonne */
.book-grid{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
  margin-top: 20px;
}

/* Tablet: 3 colonne */
@media (max-width: 1024px){
  .book-grid{
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
  }
}

/* Telefono: 2 colonne */
@media (max-width: 680px){
  .book-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
  }
}

/* Copertine: altezza adattiva per device */
.book-cover{
  width: 100%;
  aspect-ratio: 3 / 4;
  overflow: hidden;
}

.book-cover img{
  width: 100%;
  height: 100%;
  object-fit: fill; /* stretch */
  display: block;
}

@media (max-width: 1024px){
  .book-cover img{
    height: 320px;
  }
}

@media (max-width: 680px){
  .book-cover img{
    height: 260px;
  }
}

@media (max-width: 680px){
  .book-title{
    margin-top: 10px;
    font-size: 15px;
  }
}

/* ===============================
   MF - Hover copertine catalogo
   =============================== */

/* Hover pulito: niente zoom dell'IMG (evita di amplificare bordi bianchi nella cover) */
.book-cover{
  display: block;
  position: relative;
  transition: box-shadow .25s ease, transform .25s ease;
}

/* evidenza cliccabile: ombra + leggero lift */
.book-cover:hover{
  box-shadow: 0 10px 24px rgba(0,0,0,.14);
  transform: translateY(-2px);
}

/* assicurati che l'immagine resti neutra */
.book-cover img{
  transform: none !important;
  box-shadow: none !important;
  background: transparent !important;
  background-color: transparent !important;
}

/* ==================================================
   MF - Elimina fondo/overlay bianco in hover
   (wrapper + pseudo-elementi) SOLO nel catalogo
   ================================================== */

/* Trasparenza per tutti i wrapper nel book-card */
.book-card,
.book-card a,
.book-card .thumbnail,
.book-card .thumbnail-link,
.book-card .book-cover{
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}

/* Trasparenza anche in hover */
.book-card:hover,
.book-card a:hover,
.book-card .thumbnail:hover,
.book-card .thumbnail-link:hover,
.book-card .book-cover:hover{
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}

/* IMPORTANTISSIMO: molti temi mettono overlay con ::before/::after */
.book-card *::before,
.book-card *::after{
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}

/* L'immagine resta trasparente sempre */
.book-card img,
.book-card img:hover{
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}

/* Eccezione: il placeholder può restare grigio */
.book-cover--placeholder{
  background: #eee !important;
}


/* ===============================
   MF - Testi nel catalogo
   =============================== */

.book-title{
  margin: 14px 0 6px;
  font-size: 16px;
  line-height: 1.25;
}

.book-title a{
  text-decoration: none;
}

.book-meta{
  font-size: 14px;
  opacity: .85;
  line-height: 1.3;
  margin-bottom: 6px;
}

.book-meta__author{
  font-weight: 600;
}

.book-meta__genre{
  font-style: italic;
}

.book-meta__year{
  color: #666;
}

/* MF === OVERRIDE OceanWP: forza grid vera === */
.book-grid > article{
  float: none !important;
  width: auto !important;
  clear: none !important;
}

/* ===============================
   MF - Sottotitolo Catalogo Libri
   =============================== */

.catalogo-sottotitolo{
  margin-top: 8px;
  font-size: 15px;
  color: #666;
  text-align: left;
  max-width: 1200px;     /* allineato alla larghezza contenuto */
  margin-left: auto;
  margin-right: auto;
  padding: 0 15px;       /* respiro su mobile */
}

.catalogo-sottotitolo strong{
  font-weight: 600;
  color: #333;
}

/* Allinea il sottotitolo allo stesso wrapper del Page Header OceanWP */
.page-header .catalogo-sottotitolo{
  max-width: none;
  padding: 0;
  margin-left: 0;
  margin-right: 0;
}

/* Se il sottotitolo NON è fisicamente dentro .page-header (dipende dall'hook),
   forziamolo comunque ad usare lo stesso contenitore del titolo */
.page-header + .catalogo-sottotitolo,
.page-header ~ .catalogo-sottotitolo{
  max-width: var(--ocean-container-width, 1200px);
  margin-left: auto;
  margin-right: auto;
  padding-left: 15px;
  padding-right: 15px;
}

/* ===============================
   MF - Scheda singolo libro
   =============================== */

.book-single__top{
  display: grid;
  grid-template-columns: 320px 1fr;
  gap: 26px;
  align-items: start;
  margin-top: 18px;
}

.book-single__cover{
  width: 100%;
}

.book-single__img{
  width: 100%;
  height: auto;
  display: block;
  border-radius: 10px;
}

.book-single__cover--placeholder{
  width: 100%;
  aspect-ratio: 3 / 4;
  background: #eee;
  border-radius: 10px;
}

.book-single__title{
  margin: 0 0 10px;
  line-height: 1.15;
}

.book-single__meta{
  margin: 0 0 14px;
  font-size: 15px;
  color: #555;
}

.book-single__meta-row{
  margin: 4px 0;
}

.book-single__meta-row span{
  font-weight: 600;
  color: #333;
}

.book-single__sinossi h2{
  margin: 14px 0 8px;
  font-size: 18px;
}

.book-single__sinossi p{
  margin: 0;
  line-height: 1.6;
}

.book-single__content{
  margin-top: 22px;
}

/* Mobile */
@media (max-width: 768px){
  .book-single__top{
    grid-template-columns: 1fr;
  }
  .book-single__cover{
    max-width: 340px;
  }
}

/* ===============================
   MF - Griglia autori (4/3/2)
   =============================== */

.author-grid{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
  margin-top: 20px;
}

@media (max-width: 1024px){
  .author-grid{ grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
}

@media (max-width: 680px){
  .author-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
}

.author-card__photo{
  display:block;
  aspect-ratio: 1 / 1;
  overflow:hidden;
  border-radius: 12px;
}

.author-card__img{
  width:100%;
  height:100%;
  object-fit: cover;
  display:block;
}

.author-card__placeholder{
  width:100%;
  height:100%;
  background:#eee;
}

.author-card__name{
  margin: 12px 0 6px;
  font-size: 16px;
  line-height: 1.2;
}

.author-card__bio{
  font-size: 14px;
  color:#666;
  line-height:1.4;
  margin-bottom: 8px;
}

.author-card__count{
  font-size: 13px;
  color:#777;
}

/* ===============================
   MF - Scheda autore
   =============================== */

.author-single__top{
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 26px;
  align-items: start;
  margin-top: 18px;
}

.author-single__img{
  width:100%;
  height:auto;
  display:block;
  border-radius: 12px;
}

.author-single__placeholder{
  width:100%;
  aspect-ratio: 1 / 1;
  background:#eee;
  border-radius: 12px;
}

.author-single__name{
  margin: 0 0 10px;
}

.author-single__bio{
  line-height: 1.65;
  color:#444;
}

.author-single__section{
  margin-top: 26px;
}

@media (max-width: 768px){
  .author-single__top{ grid-template-columns: 1fr; }
  .author-single__photo{ max-width: 320px; }
}

/* MF - Stile link Autore */
.book-single__meta a{
  text-decoration: underline;
  text-underline-offset: 2px;
}
.book-single__meta a:hover{
  text-decoration-thickness: 2px;
}

/* Link in meta (autore/genere) */
.book-single__meta a{
  text-decoration: underline;
  text-underline-offset: 2px;
}
.book-single__meta a:hover{
  text-decoration-thickness: 2px;
}

/* Sezione altri libri */
.book-single__other{
  margin-top: 22px;
}

.book-grid--mini .book-cover{
  aspect-ratio: 3 / 4;
}
.book-grid--mini .book-title{
  font-size: 14px;
  margin-top: 10px;
}

/* ===============================
   MF - Hover card Autori
   =============================== */

.author-card{
  transition: transform .25s ease, box-shadow .25s ease;
}

.author-card:hover{
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(0,0,0,.12);
}

/* Hover sulla foto autore */
.author-card__photo{
  display: block;
  transition: box-shadow .25s ease;
}

.author-card__photo:hover{
  box-shadow: 0 8px 20px rgba(0,0,0,.14);
}

/* Assicura trasparenza (niente riquadri bianchi) */
.author-card,
.author-card__photo,
.author-card__photo:hover{
  background: transparent !important;
}

/* ===============================
   MF - Header stile catalogo: Pagina Autori
   =============================== */

.page-template-page-autori .page-header{
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  border: none !important;
}

/* Se vuoi lo stesso “respiro” del catalogo */
.page-template-page-autori .page-header-inner{
  padding-top: 30px;
  padding-bottom: 20px;
}

.page-template-page-autori .page-header-title{
  font-weight: 700;      /* o 600 se lo vuoi più sobrio */
  letter-spacing: 0;
}

/* Header stile catalogo per pagine custom (Autori) */
.mf-catalog-header{
  margin: 18px auto 8px;
  max-width: var(--ocean-container-width, 1200px);
  padding: 0 15px;
}

.mf-catalog-title{
  margin: 0;
  font-size: 34px;   /* regola se lo vuoi più grande/piccolo */
  line-height: 1.15;
}

/* =======================================================
   MF - Uniforma Page Title: Pagina Autori come Catalogo
   (copia look degli archivi libro)
   ======================================================= */

/* Titolo */
.page-template-page-autori .page-header-title{
  font-family: "Poppins";
  font-size: 32px;       
  font-weight: 400;
  line-height: 1.15;
  margin: 0;
  letter-spacing: 0;
  text-transform: none;
}

/* Spaziatura header (se sui libri è più ariosa/compatta) */
.page-template-page-autori .page-header-inner{
  padding-top: 30px;
  padding-bottom: 20px;
}

/* Responsive */
@media (max-width: 1024px){
  .page-template-page-autori .page-header-title{ font-size: 34px; }
}

@media (max-width: 680px){
  .page-template-page-autori .page-header-title{ font-size: 28px; }
}

/* ===============================
   MF - Box Link autore
   =============================== */

.author-links{
  margin-top: 16px;
  padding: 14px 16px;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 14px;
  background: transparent;
}

.author-links__title{
  margin: 0 0 10px;
  font-size: 16px;
}

.author-links__list{
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
}

.author-links__item a{
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* ===============================
   MF - Box Link autore (icone)
   =============================== */

.author-links{
  margin-top: 16px;
  padding: 14px 16px;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 14px;
  background: transparent;
}

.author-links__title{
  margin: 0 0 10px;
  font-size: 16px;
}

.author-links__icons{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.author-links__icon{
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,.08);
  text-decoration: none;
  transition: transform .2s ease, box-shadow .2s ease;
}

.author-links__icon:hover{
  transform: translateY(-1px);
  box-shadow: 0 8px 18px rgba(0,0,0,.12);
}

.author-links__icon i{
  font-size: 18px;
  line-height: 1;
}

.eventi-list{
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.autore-links {
  list-style: none;
  padding: 0;
  margin: 1em 0 0;
}

.autore-links li {
  margin-bottom: .4em;
}

.autore-links a {
  display: inline-flex;
  align-items: center;
  gap: .5em;
  text-decoration: none;
}

.autore-links i {
  width: 1.2em;
  text-align: center;
  opacity: .85;
}

/* Pagina CONTATTI */

.contact-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
  margin-top: 2rem;
}

.contact-card {
  display: block;
  padding: 2rem;
  border: 1px solid #e5e5e5;
  border-radius: 8px;
  text-decoration: none;
  color: inherit;
  background: #fafafa;
  transition: all 0.25s ease;
}

.contact-card:hover {
  background: #ffffff;
  transform: translateY(-4px);
  box-shadow: 0 8px 20px rgba(0,0,0,0.08);
}

.contact-card__icon {
  font-size: 2rem;
  margin-bottom: 1rem;
}

.contact-card h3 {
  margin-bottom: 0.5rem;
  //font-size: 1.4rem;
}

.contact-card p {
  //font-size: 1.05rem;
  color: #666;
  margin: 0;
}

/* Responsive */
@media (max-width: 768px) {
  .contact-grid {
    grid-template-columns: 1fr;
  }
}

.contact-card__icon {
  width: 60px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f2f2f2;
  border-radius: 50%;
  font-size: 1.6rem;
  margin-bottom: 1rem;
}

/* Concorso */ 

.concorso-section-title {
  margin-top: 3rem;
  margin-bottom: 1.5rem;
  font-size: 1.5rem;
}

.concorso-badge {
  display: inline-block;
  padding: 0.3rem 0.7rem;
  /*font-size: 0.8rem;*/
  font-weight: 600;
  border-radius: 20px;
  margin-bottom: 0.5rem;
}

.badge-attivo {
  background: #e6f4ea;
  color: #1e7e34;
}

.badge-chiuso {
  background: #f8d7da;
  color: #842029;
}

.concorso-data {
  /*font-size: 0.85rem;*/
  color: #666;
}

/* BANNER HOME PAGE
   ================ */
   
.hero-concorso {
  background: linear-gradient(135deg, #8B0000 0%, #2b0f0f 100%);
  padding: 20px 8%;
  color: #ffffff;
  align-items: center;
}

.hero-concorso .wp-block-column {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.hero-concorso h1 {
  font-family: 'TheSeasons', serif;  
  font-size: 42px;
  margin-bottom: 20px;
  letter-spacing: 1px;
  color: #f2b705;
}

.hero-concorso p {
  font-size: 22px;
  margin-bottom: 10px;
}

.hero-concorso .countdown {
  font-size: 22px;
  /*font-weight: bold; */
  margin-bottom: 20px;
  text-align: center;
}

.hero-concorso .wp-block-column:last-child {
  align-items: center;
  text-align: center;
}

.hero-concorso .wp-block-button__link {
  background-color: #f2b705;
  color: #000;
  font-weight: bold;
  padding: 30px 40px;
  border-radius: 4px;
  transition: all 0.3s ease;
}

.hero-concorso .wp-block-button__link:hover {
  background-color: #c79400;
  transform: translateY(-2px);
}

/* Mobile */
@media (max-width: 768px) {
  .hero-concorso {
    padding: 40px 20px;
    text-align: center;
  }

  .hero-concorso h2 {
    font-size: 24px;
  }

  .hero-concorso .countdown {
    font-size: 18px;
  }
}

/* ===============================
   EVENTI – layout editoriale
   =============================== */

/* Riduce la locandina */
.tribe-events .tribe-events-calendar-list__event-featured-image {
  width: 90px !important;
  max-width: 140px !important;
  height: auto;
}

/* Layout orizzontale elegante */
.tribe-events .tribe-events-calendar-list__event-row {
  display: grid;
  grid-template-columns: 160px 1fr;
  gap: 25px;
  align-items: start;
}

/* Evita spazi strani */
.tribe-events .tribe-events-calendar-list__event-featured-image-wrapper {
  margin: 0;
}

/* Mobile */
@media (max-width: 768px) {
  .tribe-events .tribe-events-calendar-list__event-row {
    grid-template-columns: 1fr;
  }

  .tribe-events .tribe-events-calendar-list__event-featured-image {
    max-width: 200px;
  }
}

/* Nasconde il titolo del tema nei singoli eventi */
.single-tribe_events .page-header-title {
  display: none;
}

/* ===================================
   OVERRIDE COLORI THE EVENTS CALENDAR
   =================================== */

/* ===== Eventi – Pulsante Cerca ===== */
.tribe-events .tribe-common-c-btn,
.tribe-events button.tribe-common-c-btn {
  background-color: #DD3333 !important; /* rosso */
  color: #fff !important;
  border: none;
  font-weight: bold;
}

.tribe-events .tribe-common-c-btn:hover {
  background-color: #970B0B0 !important; /* rosso scuro */
}

/* Rimuove stile "clear" blu del plugin */
.tribe-events 
.tribe-common-c-btn--clear {
  background: none !important;
  color: inherit !important;
}

.tribe-events .tribe-events-c-subscribe-dropdown {
  background-color: #DD3333 !important;
}

/* ===== Evento singolo – Link ===== */
.single-tribe_events a {
  color: #DD3333;  /* rosso */
  text-decoration: none;
}

.single-tribe_events a:hover {
  color: #970B0B; /* rosso scuro */
  text-decoration: underline;
}

.tribe-events-notices  {
  background-color: #FBE5E5 !important;
  color: #191919 !important;
}

/* ================================
   DROPDOWN THE EVENTS CALENDAR
   - "Iscriviti al calendario"
   - "Salva nel tuo calendario"
   ================================ */

/* Bottone principale (lista eventi + evento singolo) */
.tribe-events .tribe-events-c-subscribe-dropdown__button,
.tribe-events .tribe-events-c-subscribe-dropdown__button-text,
.single-tribe_events .tribe-events-c-subscribe-dropdown__button,
.single-tribe_events .tribe-events-c-subscribe-dropdown__button-text {
  background-color: #DD3333 !important;
  color: #ffffff !important;
  border: none !important;
}

/* Hover del bottone */
.tribe-events .tribe-events-c-subscribe-dropdown__button:hover,
.tribe-events .tribe-events-c-subscribe-dropdown__button-text:hover,
.single-tribe_events .tribe-events-c-subscribe-dropdown__button:hover,
.single-tribe_events .tribe-events-c-subscribe-dropdown__button-text:hover {
  background-color: #8B0000 !important;
  color: #ffffff !important;
}

/* Contenuto del dropdown (menu a tendina) */
.tribe-events .tribe-events-c-subscribe-dropdown__content,
.single-tribe_events .tribe-events-c-subscribe-dropdown__content {
  background-color: #DD3333 !important;
}

/* Link dentro il dropdown */
.tribe-events .tribe-events-c-subscribe-dropdown__content a,
.single-tribe_events .tribe-events-c-subscribe-dropdown__content a {
  color: #ffffff !important;
}

/* Hover dei link nel dropdown */
.tribe-events .tribe-events-c-subscribe-dropdown__content a:hover,
.single-tribe_events .tribe-events-c-subscribe-dropdown__content a:hover {
  background-color: #8B0000 !important;
  color: #ffffff !important;
}
