/* 
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
*/

/* ====== DESIGN TOKENS ====== */
.cam-wrap {
  --brand: #33cccc;
  --brand-600: #28b3b3;
  --ink: #0f172a;
  --muted: #6b7280;
  --card: #fff;
  --soft: #f9fbfb;
  --line: #e8eef2;
  font-family: "Inter", "Helvetica Neue", Arial, sans-serif;
  color: var(--ink);
}



/* ====== GRIGLIE ====== */
.cam-grid {
  display: grid;
  gap: 28px;
  margin: 18px 0;
}
.cam-grid--two {
  grid-template-columns: 1.15fr 0.85fr;
}
@media (max-width: 980px) {
  .cam-grid--two {
    grid-template-columns: 1fr;
  }
}
.cam-col {
  min-width: 0;
}
.cam-section {
  margin: 18px 0;
}



/* === Colori per Categoria (contesto completo) === */
.cat-we-viaggio,
.ewpe-each-cate.cat-we-viaggio,
.elementor-element.cat-we-viaggio {
  background-color: #33cccc !important;
  color: #fff !important;
}

.cat-privilege,
.ewpe-each-cate.cat-privilege,
.elementor-element.cat-privilege {
  background-color: #cd9d00 !important;
  color: #fff !important;
}

/* === Badge (Categoria) con forma a capsula === */
.ewpe-each-cate {
  border-radius: 50px !important;
  padding: 6px 16px !important;
  font-weight: 600;
  display: inline-block;
  line-height: 1.1;
}

/* === Contenitore della card con bordi arrotondati sotto === */
.elementor-element.cat-we-viaggio,
.elementor-element.cat-privilege {
  border-bottom-left-radius: 50px;
  border-bottom-right-radius: 50px;
  overflow: hidden;
}

/* === Immagine evento con bordi inferiori arrotondati === */
.ewpe-featured-img,
.ewpe-featured-img img {
  border-bottom-left-radius: 50px;
  border-bottom-right-radius: 50px;
  overflow: hidden;
  display: block;
}




/* ====== IMMAGINI ====== */
.camviaggi-eventi.camviaggi-gita-doc_img {
  border-radius: 16px;
  overflow: hidden;
}
.camviaggi-img {
  width: 100%;
  height: auto;
  display: block;
}


/* ====== STATO PARTECIPAZIONE ====== */
span.camviaggi-stato,
span.camviaggi-disponibilita,
span.camviaggi-stato-bloccato,
span.camviaggi-disponibilita-ultimi {
  display: block;
  border-radius: 11px;
  padding: 5px;
  text-align: center;
  font-weight: 600;
}
span.camviaggi-stato {
  background: #33cc98;
  color: #ffffff;
}
span.camviaggi-disponibilita {
  background: #bbe2d5;
  color: #129f73;
}
span.camviaggi-stato-bloccato {
  background: #f0cdcd;
  color: #e64242;
}
span.camviaggi-disponibilita-ultimi {
  background: #f9e3c0;
  color: #c8791e;
}



/* ====== FORM CF7 – STILE CAM ====== */
.wpcf7-form {
  --brand: #33cccc;
  --brand-700: #28b3b3;
  --ink: #0f172a;
  --muted: #6b7280;
  --line: #e5e7eb;
  --soft: #f9fbfb;
  color: var(--ink);
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 10px 0;
  box-sizing: border-box;
}
.wpcf7-form h3 {
  margin: 0 0 6px;
  font-weight: 800;
  font-size: 20px;
  color: var(--brand);
  text-align: center;
}
.wpcf7-form p {
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 14px;
  color: var(--muted);
}
.wpcf7-form input.wpcf7-text,
.wpcf7-form input.wpcf7-email,
.wpcf7-form textarea.wpcf7-textarea {
  width: 100%;
  border: 1.5px solid var(--line);
  border-radius: 12px;
  padding: 10px 12px;
  font-size: 15px;
  color: var(--ink);
  background: #fff;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
  box-sizing: border-box;
}
.wpcf7-form textarea.wpcf7-textarea {
  min-height: 70px;
  resize: vertical;
}
.wpcf7-form input:focus,
.wpcf7-form textarea:focus {
  outline: none;
  border-color: var(--brand);
  box-shadow: 0 0 0 3px rgba(51, 204, 204, 0.15);
}
.wpcf7-form input.wpcf7-submit {
  background: var(--brand);
  color: #fff;
  border: 0;
  border-radius: 999px;
  padding: 10px 22px;
  font-weight: 700;
  font-size: 15px;
  cursor: pointer;
  align-self: center;
  box-shadow: 0 4px 12px rgba(51, 204, 204, 0.25);
  transition: background 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
}
.wpcf7-form input.wpcf7-submit:hover {
  background: var(--brand-700);
  transform: translateY(-1px);
}
.wpcf7-form input.wpcf7-submit:active {
  transform: translateY(0);
  box-shadow: 0 2px 8px rgba(51, 204, 204, 0.2);
}

/* ====== SEARCH BAR BASE ====== */
.ewpe-filter-bar {
  background: transparent;
  border: 0;
  padding: 0;
}
.ewpe-filterbar-main {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 220px; /* ≈ 80/20 */
  column-gap: 16px;
  align-items: center;
  width: 100%;
}
.ewpe-filterbar-main .ewpe-filter-group {
  grid-column: 1;
  width: 100%;
  position: relative;
  display: flex;
  align-items: center;
  background: #fff;
  border: 2px solid #e5e7eb;
  border-radius: 999px;
  padding: 14px 22px;
  box-shadow: 0 1px 0 rgba(17, 24, 39, 0.02);
}
#ewpe-fb-search {
  width: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  font-size: clamp(18px, 2.2vw, 24px);
  font-weight: 800;
  color: #0f172a;
  line-height: 1.25;
}
#ewpe-fb-search::placeholder {
  color: #121926;
  opacity: 0.9;
}
.ewpe-filterbar-main .ewpe-filter-group > i.eicon-search-bold {
  display: none !important;
}
.ewpe-search-cta {
  grid-column: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}
.ewpe-search-btn {
  width: 100%;
  border: 0;
  border-radius: 999px;
  background: #33cccc;
  color: #fff;
  font-weight: 800;
  font-size: 16px;
  padding: 12px 20px;
  box-shadow: 0 6px 14px rgba(51, 204, 204, 0.28);
  cursor: pointer;
  transition: background 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
}
.ewpe-search-btn:hover {
  background: #28b3b3;
  transform: translateY(-1px);
}

/* Mobile: stack input e bottone */
@media (max-width: 900px) {
  .ewpe-filterbar-main {
    grid-template-columns: 1fr;
    row-gap: 10px;
  }
  .ewpe-search-cta {
    grid-column: 1;
  }
}

/* ====== FILTRI SECONDARI (pill-style) ====== */
.ewpe-filterbar-filters {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 8px;
}
.ewpe-filterbar-filters .ewpe-filter-group {
  display: flex;
  align-items: center;
  background: #fff;
  border: 2px solid #e5e7eb;
  border-radius: 999px;
  padding: 8px 16px;
  font-size: 16px;
  box-shadow: 0 1px 0 rgba(17, 24, 39, 0.02);
}
.ewpe-filterbar-filters select {
  border: none;
  outline: none;
  background: transparent;
  font-weight: 600;
  color: #0f172a;
  appearance: none;
  cursor: pointer;
}
.ewpe-date-buttons {
  border: 0;
  border-radius: 999px;
  background: #33cccc;
  color: #fff;
  font-weight: 700;
  font-size: 16px;
  padding: 10px 18px;
  cursor: pointer;
  box-shadow: 0 4px 12px rgba(51, 204, 204, 0.3);
  transition: transform 0.15s ease, background 0.15s ease;
}
.ewpe-date-buttons:hover {
  background: #28b3b3;
  transform: translateY(-1px);
}
@media (max-width: 768px) {
  .ewpe-filterbar-filters {
    flex-direction: column;
    align-items: stretch;
  }
  .ewpe-filterbar-filters .ewpe-filter-group,
  .ewpe-date-buttons {
    width: 100%;
    text-align: center;
  }
}

/* ====== SCOPED LAYOUT (Elementor widget) ====== */
.elementor-element-5189858 .ewpe-filterbar-main {
  display: grid;
  grid-template-columns: minmax(0, 1fr) clamp(160px, 20%, 260px);
  column-gap: 16px;
  align-items: center;
  width: 100%;
}
.elementor-element-5189858 .ewpe-filterbar-filters {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 8px;
}
.elementor-element-5189858 .ewpe-filterbar-filters .ewpe-filter-group {
  display: flex;
  align-items: center;
  background: #fff;
  border: 2px solid #e5e7eb;
  border-radius: 999px;
  padding: 8px 16px;
  font-size: 16px;
  box-shadow: 0 1px 0 rgba(17, 24, 39, 0.02);
}
.elementor-element-5189858 .ewpe-date-buttons {
  border: 0;
  border-radius: 999px;
  background: #33cccc;
  color: #fff;
  font-weight: 700;
  font-size: 16px;
  padding: 10px 18px;
  cursor: pointer;
  box-shadow: 0 4px 12px rgba(51, 204, 204, 0.3);
  transition: transform 0.15s ease, background 0.15s ease;
}
.elementor-element-5189858 .ewpe-date-buttons:hover {
  background: #28b3b3;
  transform: translateY(-1px);
}
@media (max-width: 768px) {
  .elementor-element-5189858 .ewpe-filterbar-filters {
    flex-direction: column;
    align-items: stretch;
  }
  .elementor-element-5189858 .ewpe-filterbar-filters .ewpe-filter-group,
  .elementor-element-5189858 .ewpe-date-buttons {
    width: 100%;
    text-align: center;
  }
}

span.camviaggi-disponibilita {
	display: block;
    background: #bbe2d5; 
    border-radius: 11px;
    padding: 5px;
	text-align:center;
	font-weight: 600;
	color: #129f73;
}

span.camviaggi-stato-bloccato {
	    display: block;
    background: #f0cdcd; 
    border-radius: 11px;
    padding: 5px;
    text-align: center;
    font-weight: 600;
    color: #e64242;
}

span.camviaggi-disponibilita-ultimi {
	display: block;
    background: #f9e3c0; 
    border-radius: 11px;
    padding: 5px;
    text-align: center;
    font-weight: 600;
    color: #c8791e;
}

span.camviaggi-disponibilita-ultimi {
	display: block;
    background: #f9e3c0; 
    border-radius: 11px;
    padding: 5px;
    text-align: center;
    font-weight: 600;
    color: #c8791e;
}


span.camviaggi-disponibilita-ultimi {
	display: block;
    background: #f9e3c0; 
    border-radius: 11px;
    padding: 5px;
    text-align: center;
    font-weight: 600;
    color: #c8791e;
}

/* PARTECIPAZIONE DETTAGLIO*/


span.camviaggi-stato-dettaglio {
	display: block;
    background: #33cc98;
    border-radius: 11px;
    padding: 15px;
	text-align:center;
	font-weight: 600;
	color: #ffffff;
	font-size: 20px;
}


span.camviaggi-disponibilita-dettaglio {
	display: block;
    background: #bbe2d5; 
    border-radius: 11px;
    padding: 15px;
	text-align:center;
	font-weight: 600;
	color: #129f73;
	font-size: 20px;
}

span.camviaggi-stato-bloccato-dettaglio {
	    display: block;
    background: #f0cdcd; 
    border-radius: 11px;
    padding: 15px;
    text-align: center;
    font-weight: 600;
    color: #e64242;
	font-size: 20px;
}

span.camviaggi-disponibilita-ultimi-dettaglio {
	display: block;
    background: #f9e3c0; 
    border-radius: 11px;
    padding: 15px;
    text-align: center;
    font-weight: 600;
    color: #c8791e;
	font-size: 20px;
}


/*****************************************************************************************/
/* === Colori per Categoria === */
.cat-we-viaggio,
.ewpe-each-cate.cat-we-viaggio,
.elementor-element.cat-we-viaggio {
  background-color: #33cccc !important;
  color: #fff !important;
}

.cat-privilege,
.ewpe-each-cate.cat-privilege,
.elementor-element.cat-privilege {
  background-color: #cd9d00 !important;
  color: #fff !important;
}

/* Badge */
.ewpe-each-cate {
  border-radius: 50px !important;
  padding: 6px 16px !important;
  font-weight: 600;
  display: inline-block;
  line-height: 1.1;
}

/* Contenitore card */
.elementor-element.cat-we-viaggio,
.elementor-element.cat-privilege {
  border-bottom-left-radius: 50px;
  border-bottom-right-radius: 50px;
  overflow: hidden;
}

/* Immagine evento */
.ewpe-featured-img,
.ewpe-featured-img img {
  border-bottom-left-radius: 50px;
  border-bottom-right-radius: 50px;
  overflow: hidden;
  display: block;
}
/* Se vuoi colorare anche i blocchi data */
.ewpe-events-schedule.cat-we-viaggio,
.ewpe-events-schedule.cat-privilege {
  /* esempio */
  background-color: rgba(0,0,0,0.2);
}
/* Contenitore data quando la categoria è privilege */
.elementor-element-c98fedf:has(.ewpe-events-schedule.cat-privilege) {
  background-color: #cd9d00 !important;
  color: #fff !important;
}

/* Contenitore data quando la categoria è we-viaggio */
.elementor-element-c98fedf:has(.ewpe-events-schedule.cat-we-viaggio) {
  background-color: #33cccc !important;
  color: #fff !important;
}

/* Controllo base della breadcrumb Rank Math */
.rank-math-breadcrumb {
  font-family: inherit;      /* usa il font del tema */
  font-size: 0.875rem;       /* leggermente più piccola del testo normale */
  line-height: 1.4;
}

.rank-math-breadcrumb p {
  margin: 0;
  color: #fff;            
}

.rank-math-breadcrumb a {
  color: inherit;                   /* stesso colore del testo */
  text-decoration: underline;
  text-underline-offset: 0.12em;
  font-weight: 500;
}

.rank-math-breadcrumb a:hover,
.rank-math-breadcrumb a:focus {
  text-decoration: underline;
  opacity: 0.85;                    /* piccolo feedback al passaggio */
}

.rank-math-breadcrumb .last {
  font-weight: 600;
  opacity: 0.8;
}

/* ==============================
   CAM – Woo Add to Cart (stile esempio)
   ============================== */

:root{
  --brand:#33cccc;
  --brand-600:#28b3b3;
  --ink:#0f172a;
  --muted:#6b7280;
  --line:#e5e7eb;
  --soft:#f8f9fb;
}

/* ===== Layout principale ===== */
.elementor-add-to-cart .cart{
  display:flex;
  flex-direction:column;
  width:100%;
  gap:22px;
}

/* ==============================
   CAMPO – “Inserisci l'importo”
   ============================== */
.elementor-add-to-cart .cart .cwp-input-wrapper{
  width:100%;
  display:flex;
  flex-direction:column;
  gap:8px;
}

.elementor-add-to-cart .cart .cwp-input-wrapper label{
  font:700 15px/1 "Inter",sans-serif;
  color:var(--ink);
}

.elementor-add-to-cart .cart .cpw-input{
  width:100%;
  border:1px solid #d9d9d9;
  background:#ffffff;
  border-radius:10px;
  padding:16px 14px;
  font:600 16px/1.3 "Inter",sans-serif;
  color:var(--ink);
  transition:border-color .2s ease;
}

.elementor-add-to-cart .cart .cpw-input:focus{
  border-color:var(--brand);
  outline:0;
  box-shadow:0 0 0 3px rgba(51,204,204,.18);
}

/* messaggi errore CPW */
.woocommerce-cpw-message ul{
  margin:6px 0 0;
  padding:10px 12px;
  border-radius:10px;
  background:#fff1f1;
  border:1px solid #efc5c5;
  font:600 13px "Inter";
  color:#a61b1b;
}

/* ==============================
   BLOCCO QUANTITÀ + BOTTONE
   ============================== */
.elementor-add-to-cart .quantity,
.elementor-add-to-cart .single_add_to_cart_button{
  height:50px;
}

.elementor-add-to-cart .cart > .quantity,
.elementor-add-to-cart .single_add_to_cart_button{
  display:flex;
  align-items:center;
}

.elementor-add-to-cart .cart > .quantity{
  width:50px;
  justify-content:center;
}

/* quantità */
.elementor-add-to-cart .quantity .qty{
  width:50px;
  height:50px;
  text-align:center;
  border-radius:6px;
  background:#e9e9e9;
  border:0;
  font:600 15px "Inter";
  color:var(--ink);
  -moz-appearance:textfield;
}

.elementor-add-to-cart .qty::-webkit-inner-spin-button,
.elementor-add-to-cart .qty::-webkit-outer-spin-button{
  -webkit-appearance:none;
  margin:0;
}

/* bottone Aggiungi */
.elementor-add-to-cart .single_add_to_cart_button{
  flex:1;
  justify-content:center;
  border:0;
  border-radius:10px;
  background:#d2e7f7; /* come nell’esempio */
  color:#ffffff;
  font:700 15px/1 "Inter";
  transition:background .15s ease, opacity .15s ease;
}

.elementor-add-to-cart .single_add_to_cart_button:not(.cpw-disabled):hover{
  background:#33cccc;
}

.elementor-add-to-cart .single_add_to_cart_button.cpw-disabled{
  opacity:.6;
  cursor:not-allowed;
}

/* ==============================
   MOBILE
   ============================== */
@media (max-width: 600px){
  .elementor-add-to-cart .cart{
    gap:18px;
  }
  .elementor-add-to-cart .cart > .quantity{
    width:45px;
  }
  .elementor-add-to-cart .quantity .qty{
    width:45px;
    height:45px;
  }
  .elementor-add-to-cart .single_add_to_cart_button{
    height:48px;
    font-size:14px;
  }
}

/* ==== Stile dedicato SOLO al menu "Noleggio Bus" ==== */

/* Colore del testo */
#noleggio-bus-menu .e-n-menu-title-text {
    color: rgb(51 204 220) !important;
}

/* Colore dell’icona SVG (override del fill interno) */
#noleggio-bus-menu svg path {
    fill: rgb(51 204 220) !important;
}

/* Nel caso Elementor applichi stati hover/active */
#noleggio-bus-menu:hover .e-n-menu-title-text,
#noleggio-bus-menu:hover svg path {
    color: rgb(51 204 220) !important;
    fill: rgb(51 204 220) !important;
}

/* ==== Stile dedicato SOLO al menu "Scuole" ==== */

/* Colore del testo */
#scuole-menu .e-n-menu-title-text {
    color: rgb(30 161 167) !important;
}

/* Colore dell’icona SVG (override del fill interno) */
#scuole-menu svg path {
    fill: rgb(30 161 167) !important;
}

/* Per sicurezza: hover / stati attivi */
#scuole-menu:hover .e-n-menu-title-text,
#scuole-menu:hover svg path {
    color: rgb(30 161 167) !important;
    fill: rgb(30 161 167) !important;
}

/* ==== Stile dedicato SOLO al menu "Travel Box" ==== */

/* Colore del testo */
#travel-box-menu .e-n-menu-title-text {
    color: rgb(35 41 119) !important;
}

/* Colore dell’icona SVG */
#travel-box-menu svg path {
    fill: rgb(35 41 119) !important;
}

/* Hover / stati attivi */
#travel-box-menu:hover .e-n-menu-title-text,
#travel-box-menu:hover svg path {
    color: rgb(35 41 119) !important;
    fill: rgb(35 41 119) !important;
}
/* ==== STILE PULSANTE SOLO PER "Contattaci" ==== */

#contattaci-menu .e-n-menu-title-container {
    padding: 8px 14px;
    background-color: #33cccc;
    border-radius: 6px; /* opzionale, ma se non lo vuoi basta toglierlo */
}

#contattaci-menu .e-n-menu-title-text {
    font-weight: 600;
    color: #ffffff; /* necessario per contrasto, altrimenti rimane il colore originale */
}

/* Hover */
#contattaci-menu:hover .e-n-menu-title-container {
    background-color: #fbf1f1;
}

#contattaci-menu:hover .e-n-menu-title-text {
    color: #33cccc;
}
/* ==== Stile selezione testo ==== */

::selection {
    background: #33cccc;
    color: #ffffff;
}

::-moz-selection {
    background: #33cccc;
    color: #ffffff;
}

/* Breadcrumb SOLO nella pagina con ID 657865 */
.page-id-657865 .rank-math-breadcrumb p {
  color: inherit; /* colore base del testo breadcrumb */
}

/* Link breadcrumb solo su quella pagina */
.page-id-657865 .rank-math-breadcrumb a {
  color: inherit;           /* link giallo, ben visibile su sfondo scuro */
  text-decoration: underline;
  font-weight: 600;
}

/* Ultimo elemento (pagina corrente) – leggermente diverso */
.page-id-657865 .rank-math-breadcrumb .last {
  color: inherit;
  font-weight: 700;
  opacity: 1;
}

/* Separatore, se vuoi smorzarlo un po' */
.page-id-657865 .rank-math-breadcrumb .separator {
  opacity: 0.7;
}


