/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

:root {
    --colore-primario: #B41F25;
}

/*globale*/

.whatsapp-button.elementor-button {
    background-color: #29AD17;
    border-radius: 5px 5px 5px 5px;
}

.sottotitolo-rosso {
    font-size:1rem !important;
    line-height: 1.4rem !important;
    margin-bottom: 0px !important;
    margin-top: 0px !important;
    color: var(--colore-primario) !important;
    font-weight: 600 !important;
    font-family: 'Poppins' !important;
}

.mb-0 {
    margin-bottom: 0px !important;
}

table {
    border-collapse: collapse;
    border: none;
}

tr {
    border: none;
}

th,
td {
    border: none !important;
    border-bottom: 1px solid #00000033 !important;
    background-color: unset !important;
}

.read-more {
    font-family:'Poppins';
    font-weight: 600;
    color:var(--colore-primario) !important;
    text-transform:uppercase;
}

body main.site-main.custom-page, body main.site-main.custom-page .container {
    margin-inline-end: auto !important;
    margin-inline-start: auto !important;
    width: 100%;
}

body:not([class*=elementor-page-]) .site-main.custom-page {
        max-width: 100% !important;
}

body main.site-main.custom-page {
    padding: 0px 6rem !important;
}
body main.site-main.custom-page .container {
    max-width:1500px !important;
}   

@media(max-width: 768px) {
    body main.site-main.custom-page {
        padding: 0px 2rem !important;
    }
    body main.site-main.custom-page .container {
        max-width:767px !important;
    }    
}

@media(max-width: 1024px) {
    body main.site-main.custom-page {
        padding: 0px 2rem !important;
    }
    body main.site-main.custom-page .container {
        max-width:1024px !important;
    }     
}

body.home .no-home {
    display: none !important;
}

/*header*/
@media screen and (min-width:1024px) {
    #site-header .header-inner{
        background-color: #000000ab;
        align-items: center;
    }
    .site-branding {
        height: 60px;
    }
    .booking-search-container {
        padding: 0px 20px;
    }
    .booking-search-container .elementor-button {
        padding: 10px 25px 10px 25px !important;
    }
    .site-header .site-navigation ul.menu > li.current-menu-item > a {
        color:var(--colore-primario) !important;
        text-decoration: underline;
        text-underline-offset: 10px;
        font-weight: 700;
    }
    ul.sub-menu {
        border-radius: 5px;
    }
    .site-navigation ul.sub-menu li a {
        color: var(--colore-primario) !important;
        width: 100%;
        font-weight: 600 !important;
    }
    .site-navigation ul.menu li ul.sub-menu li {
        border-block-end: unset !important;
    }
    .site-navigation ul.menu li ul.sub-menu {
        padding: 15px 0px 25px 0px;
        min-width: 220px !important;
    }
    .site-navigation ul.menu li ul.sub-menu li a::before {
        content: "";
        display: inline-block;
        width: 9px;
        height: 9px;
        background-image: url('/wp-content/uploads/2026/10/dot.svg');
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
        margin-right: 8px;        
    }   
    
    
    .site-navigation ul.menu {
        gap: 15px;
    }    
}

.button-prenota {
    background-color: var(--colore-primario) !important;
}

.alignment-menu-logo {
    display: flex;
    flex-direction: row;
    gap: 1rem;
}

.booking-search-container {
    display: flex;
}

.booking-search-container .astm-search-menu {
    display: flex;
    align-items: center;
    margin-right: 20px;    
}

.booking-search-container .is-menu .search-icon-path {
    fill: #ffffff !important;
}

body:not(.error404) #site-header {
    position: fixed;
    width: 100%;
    z-index: 99;
}

@media screen and (min-width:1024px) {
    #site-header .header-inner{
        border-radius: 50px;
    }
}

@media screen and (max-width:1023.99px) {
    #site-header .header-inner {
        background: #000000ab;
        padding: 5px !important;
    } 
    #site-header  {
        padding: 0px !important;
    }       
    .site-header.menu-dropdown-tablet:not(.menu-layout-dropdown) .booking-search-container {
        display: none !important;
    }
	.site-navigation-dropdown .toggle-menu-mobile {
        position: absolute;
        top: 0;
        right: 0;
        width: 15%;
        display: flex;
        justify-content: center;
        align-items: center;
        color: #55595c;
        height: 100%;
        max-height: 4em;
   }          
}

#site-header.scrolled .header-inner {
    background-color: #000000 !important;
    transition: background-color 200ms linear;
} 

/*header schermi grandi*/

@media (min-width: 1440px) {
    .header-inner {
        height: 90px;
    }

    .site-header .site-branding .site-logo img {
        width: 110px !important;
        max-width: 110px !important;
    }

    .site-navigation ul {
        font-size: 1rem;
    }
}

/*breadcrumb*/
.breadcrumb {
    margin-bottom: 10px;
}

.breadcrumb ol {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.breadcrumb li:not(:last-child)::after {
    content: "/";
    margin-left: 8px;
}

.breadcrumb a {
    text-decoration: none;
}

.breadcrumb--white,
.breadcrumb--white a,
.breadcrumb--white li,
.breadcrumb--white li::before,
.breadcrumb--white li::after {
    color: #fff;
}


/*template prodotto, ricetta e articolo*/

.pagecontainer {
    padding-top: 8rem;
    padding-bottom: 4rem;
}

.row, .col {
    display: flex;
}

.row {
    flex-direction: row;
    gap:2rem;
}

.col {
    flex-direction: column;
    gap: 2rem;
}

.w-100 { width:100%; }

.col-10 { width:10%; }
.col-20 { width:20%; }
.col-30 { width:30%; }
.col-40 { width:40%; }
.col-50 { width:50%; }
.col-60 { width:60%; }
.col-70 { width:70%; }
.col-80 { width:80%; }
.col-90 { width:90%; }
.col-100 { width:100%; }

@media screen and (max-width:1023.99px) {
    .row {
        flex-direction: column;
    }
    .col {
        width:100% !important;
    }
}

.page-single__contenuto {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.col div.sidebar {
    background-color: #ffffff;
    padding: 2rem;
    display: flex;
    flex-direction: column;
    gap:1rem;
}

.pagecontainer ul {
    list-style-position: inside;
    padding-left: 0px !important;
}

.pagecontainer .breadcrumb {
    margin-bottom: 2rem;
}

.pagecontainer .page-single__contenuto .highlighted-box {
    background-color: #F1EEE7;
    padding: 1rem;
}

@media (max-width: 1024px) {
  .highlighted-box table {
    display: block;
    overflow-x: auto;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
  }
}

.sidebar h3 {
    font-size: 1rem;
    line-height: 1.2rem;
    text-transform: uppercase;
    margin-bottom: 0px !important;
}

.lista-orari p{
   padding: 5px 0px;
   border-bottom: 1px solid #d6dde6;
}

.lista-orari p:last-child{
   border-bottom: unset !important;
}


.row-correlati {
    margin-top: 4rem;
    padding-top: 2rem;
    border-top: 1px solid #00000033;
}

.row-correlati h2 {
    text-align: center;
    margin-bottom: 2rem;
}

/*template archivi & search*/

.cards-content, .taxonomy-content {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.cards-content {
    padding: 4rem 6rem;
}

.taxonomy-content {
    padding: 6rem 10rem 0rem 10rem;
}

.cards-inner, .taxonomy-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: 1500px;
}

.cards-inner .cards-container, .taxonomy-inner .taxonomy-container{
    padding: 10px;
}

.taxonomy-inner .taxonomy-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px 20px;
}


@media (max-width: 1024px) {
    .cards-content {
        padding: 4rem 2rem;
    }
     .taxonomy-content {
        padding: 4rem 2rem 0rem 2rem;
    }       
    .cards-inner, .taxonomy-inner{
        max-width: 1024px;
    }
}

@media (max-width: 767px) {
    .cards-content {
        padding: 4rem 2rem;
    } 
    .taxonomy-content {
        padding: 4rem 2rem 0rem 2rem;
    }         
    .cards-inner, .taxonomy-inner{
        max-width: 767px;
    }
}

.title-containersimple {
    padding: 8rem 6rem 2rem 2rem;
}

.title-containersimple .entry-title{
    max-width: 1500px !important;
}

.title-header, .title-inner, .title-container {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.title-header {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.title-inner {
    max-width: 1500px;
    padding: 10rem 0px 8rem 0px;
}

@media (min-width:1024px) {
    .title-inner {    
        padding: 20rem 0px 15rem 0px !important;
    }    
}

.title-inner .title-container{
    padding: 10px;
}

.title-inner .title-container h1{
    color: #ffffff !important;
    text-align: center;
}

@media (max-width: 1024px) {
    .title-inner{
        max-width: 1024px;
    }
}

@media (max-width: 767px) {
    .title-inner{
        max-width: 767px;
    }
}

.taxonomy-container h2, .taxonomy-container p {
    text-align: center;
    margin: unset !important;
}

.taxonomy-container p.taxonomy-pretitle {
    font-family: Poppins;
    font-weight: 600;
    color: #B41F25;
    text-transform: uppercase;
}

.cards-container {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px 15px;
    justify-items: center;
}

.cont-correlati {
    justify-items: stretch !important;
}

.cards-content.eventi-news {
  padding-top: 2rem !important;
  padding-bottom: 0rem !important;
}

.cards-content.eventi-news .cards-container {
    grid-template-columns: repeat(3, 1fr);
} 

@media (max-width: 768px) {
    .cards-container, .cards-content.eventi-news .cards-container {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 480px) {
    .cards-container, .cards-content.eventi-news .cards-container {
        grid-template-columns: 1fr;
    }
}

.card-content h2, .card-content h3{
    font-size: 1rem !important;
    line-height: 1.4rem !important;
    margin-top: 0px !important;
    margin-bottom: 0px !important;
}

.card-content a {
    margin-bottom: 2rem;
    margin-top: 0.5rem;
}

.card-content img {
    aspect-ratio: 1 / 1;
    width: 100% !important;
    max-height: none !important;
    object-fit: cover !important;   
}

.card-content div {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.card-content .entry-date {
    margin-bottom: 0px !important;
}

.video-wrapper {
    position: relative;
    width: 100%;
    max-width: 800px;   /* togli o cambia se vuoi più largo */
    aspect-ratio: 16 / 9;
    margin: 1.5em auto;
}

.video-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

/*template articolo*/

.article-content {
    display: flex;
    gap: 20px;
    flex-direction: row;
    align-items: center;    
}

.article-content img {
    width: 30% !important;
    aspect-ratio: 1 / 1;
    max-height: none !important;
    object-fit: cover !important;
}

.articles-container {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.article-content .entry-cont {
    width: 70%;
}

.article-content h4.entry-title {
    line-height: 1rem !important;
    margin-bottom: 8px !important;
}

.article-content h4.entry-title a {
    font-size: 1rem !important;
    line-height: 1rem !important;
    color: var(--colore-primario) !important;
    font-weight: 600 !important;
    font-family: 'Poppins' !important;
    text-transform: uppercase;
}

.article-content p {
    font-size: 0.95rem !important;
    line-height: 1rem !important;
    color: #000 !important;
}

.lista-categorie {
    list-style-type: none;
}

.lista-categorie li{
    padding: 15px 20px;
}

.lista-categorie li.categoria-attuale {
    background-color: #F8F6F5;   
}

.lista-categorie li a, .lista-categorie li {
    color: var(--colore-primario) !important;
    font-weight: 600 !important;
    font-family: 'Poppins' !important;
    text-transform: uppercase;    
}

/* Paginazione */
.lp-pagination {
    margin-top: 1rem;
}

.lp-pagination ul.page-numbers {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    list-style: none;
    margin: 0;
    padding: 0;
}
.lp-pagination ul.page-numbers li {
    margin: 0;
}
.lp-pagination .page-numbers a,
.lp-pagination .page-numbers span.page-numbers {
    display: inline-block;
    min-width: 42px;
    padding: 10px 16px;
    text-align: center;
    line-height: 1;
    color: #fff;
    background-color: var(--colore-primario);
    border: 2px solid var(--colore-primario);
    border-radius: 4px;
    text-decoration: none;
    font-weight: 600;
    transition: background-color .2s, color .2s;
}
.lp-pagination a.page-numbers:hover,
.lp-pagination a.page-numbers:focus {
    background-color: #fff;
    color: var(--colore-primario);
}
.lp-pagination span.page-numbers.current {
    background-color: #5c0000;
    border-color: #5c0000;
    cursor: default;
}
.lp-pagination span.page-numbers.dots {
    background: transparent;
    border-color: transparent;
    color: var(--colore-primario);
}

/*timeline*/

.tl-block {
  --tl-color: var(--colore-primario);     /* colore attivo */
  --tl-line: #d6dde6;      /* colore spento */
  --tl-pos: 50%;           /* posizione della linea */
  --p: 0%;                 /* avanzamento, lo aggiorna il JS */
  position: relative;
}

.tl-block > * {
  position: relative;
  z-index: 1;
}

/* linea: grigia, si colora fino a --p */
.tl-block::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: var(--tl-pos);
  width: 3px;
  transform: translateX(-50%);
  background: linear-gradient(
    to bottom,
    var(--tl-color) var(--p),
    var(--tl-line) var(--p)
  );
  z-index: 0;
}

/* pallino */
.tl-block::after {
  content: "";
  position: absolute;
  top: 50%;
  left: var(--tl-pos);
  width: 14px;
  height: 14px;
  background: #000000;
  border-radius: 50%;
  box-shadow: 0 0 0 3px #000000;
  transform: translate(-50%, -50%);
  transition: background .3s, box-shadow .3s, transform .3s;
  z-index: 2;
}

.tl-block.tl-active::after {
  background: var(--tl-color);
  box-shadow: 0 0 0 3px var(--tl-color);
}

.tl-first::before { bottom: 50%; }
.tl-last::before  { bottom: 50%; }

@media (max-width: 1024px) {
  .tl-block { --tl-pos: 20px; }
  .tl-block > * { padding-left: 30px; }
}

/*form*/
.wpcf7 textarea, input[type=date], .wpcf7 select {
    width: 100% !important;
    box-sizing: border-box;
}

.wpcf7 textarea {
    height: 150px;
}

.wpcf7 .input-row input,
.wpcf7 .input-row label {
    width: 100% !important;
}


@media screen and (max-width:1024px) {
    .wpcf7 .row {
        gap:0px;
    }
    
    .wpcf7 .wpcf7-list-item input {
        width: 13px !important;
    }
}

.wpcf7 input[type=text], .wpcf7 input[type=date], .wpcf7 input[type=tel], .wpcf7 input[type=email], .wpcf7 select, .wpcf7 textarea{
    border: unset !important;
    background-color: #F1EEE7 !important;
    padding-top: 12px;
    padding-bottom: 12px;
}

.wpcf7 form br {
    display: none !important;
}

input::-webkit-input-placeholder, textarea::-webkit-input-placeholder, select, input[type=date] { font-size: 14px !important; color:#000; }
input::-moz-placeholder, textarea::-moz-placeholder, select, input[type=date] { font-size: 14px !important; color:#000; }

.wpcf7 .button-row .col{ 
    align-items: center;
    margin-top: 2rem;
}

.wpcf7 .button-row .col p{ 
    position: relative;
}

.wpcf7 .button-row .col p .wpcf7-spinner{ 
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

/*
.wpcf7 .wpcf7-list-item label {
    display: flex;
    gap: 5px;
    align-items: flex-start;
}*/

.wpcf7 .wpcf7-list-item {
    margin-left: 0px !important;
}


.wpcf7 label,
.wpcf7 .wpcf7-form-control-wrap {
    display: block;
    width: 100%;
}

.wpcf7 input[type=date] {
    -webkit-appearance: none;
    appearance: none;
    display: block;
    width: 100% !important;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    min-height: 46px;
    margin: 0;
}

.wpcf7 input[type=date]::-webkit-date-and-time-value {
    text-align: left;
    margin: 0;
}

/*iframe maps*/

@media screen and (min-width:1024.99px) {
    .container-maps, .container-maps iframe {
        height: 100%;
    }
}