/*
Theme Name: Fdemarchi
Template: Divi
Author: Frankie Giotta
Author URI: https://jayweb.it
Version: 4.27.7.1788806571
Updated: 2026-09-07 20:42:51

*/
/* ---------- Font self-hosted — nessuna chiamata a Google (GDPR) ---------- */
/* Work Sans e Inter sono font variabili: un solo file copre i pesi 100-900. */
@font-face{font-family:'Work Sans';font-style:normal;font-weight:100 900;font-display:swap;src:url('fonts/worksans-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Work Sans';font-style:normal;font-weight:100 900;font-display:swap;src:url('fonts/worksans-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url('fonts/inter-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url('fonts/inter-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}

/* ---------- Global header ---------- */
.ffd-header { box-shadow: 0 2px 14px rgba(0,0,0,.10); }
.ffd-header .et_pb_menu__logo-wrap,
.ffd-header .et_pb_menu__logo { max-width: 300px; }
.ffd-header .et_pb_menu__logo img { max-height: 64px; width: auto; }
.ffd-header .et_pb_menu__menu > nav > ul > li > a { color:#fff !important; font-weight:600; }
.ffd-header .et_pb_menu__search-button:before,
.ffd-header .et_pb_menu__close-search-button:before,
.ffd-header .et_pb_menu__search-input { color:#fff !important; }
.ffd-header .mobile_menu_bar:before { color:#fff !important; }
.ffd-header .et_mobile_menu { background:#c20016; border-top-color:#fff; }
.ffd-header .et_mobile_menu a { color:#fff !important; border-color: rgba(255,255,255,.18); }

/* ---------- Sections ---------- */
.ffd-intro h1, .ffd-eventi h2, .ffd-video h2, .ffd-progetti h2 { letter-spacing:-.5px; }

/* ---------- Footer ---------- */
.ffd-footer { color:#444; }
.ffd-footer ul.ffd-fmenu { list-style:none; padding:0; margin:0; }
.ffd-footer ul.ffd-fmenu li { margin:.3em 0; }
.ffd-footer ul.ffd-fmenu a { color:#e2001a; text-decoration:none; }
.ffd-footer ul.ffd-fmenu a:hover { text-decoration:underline; }

/* ---------- Back to top (red circle) ---------- */
#et_pb_back_to_top.et-pb-icon {
  background:#e2001a; color:#fff; border-radius:50%;
  width:54px; height:54px; line-height:54px;
}

/* ---------- Mobile ---------- */
@media (max-width: 980px){
  .ffd-header .et_pb_menu__logo img { max-height: 46px; }
  .ffd-intro h1 { font-size: 32px !important; }
}

/* FFD header shrink on scroll */
.ffd-header { transition: box-shadow .2s ease; }
.ffd-header.ffd-header--scrolled { box-shadow: 0 4px 18px rgba(0,0,0,.18); }
.ffd-header.ffd-header--scrolled .et_pb_menu__logo img { max-height: 48px; transition: max-height .2s ease; }

/* FFD-V2-CSS hero slider + cards */
.ffd-hero-slider .et_pb_slide_description { text-align:left; padding:6% 8%; }
.ffd-hero-slider .et_pb_slide_description h2 { color:#f4c20d !important; font-family:Inter,sans-serif; font-weight:800; font-size:44px; line-height:1.05; }
.ffd-hero-slider .et_pb_slide_content, .ffd-hero-slider .et_pb_slide_description p { color:#fff !important; font-size:18px; }
.ffd-hero-slider .et-pb-controllers a { background-color:rgba(255,255,255,.5); }
.ffd-hero-slider .et-pb-controllers .et-pb-active-control { background-color:#e2001a !important; }
.ffd-evdate { display:flex; align-items:flex-start; gap:14px; margin:14px 0 8px; padding:0 16px; }
.ffd-evdate .d { font-size:44px; font-weight:800; color:#1a1a1a; line-height:1; }
.ffd-evdate .m { font-size:13px; font-weight:600; color:#333; }
.ffd-evdate .t { margin-left:auto; font-size:12px; color:#888; text-align:right; }
.ffd-eventi h4, .ffd-progetti h4 { margin:.2em 0 .4em; font-size:20px; }
.ffd-eventi p, .ffd-progetti p { color:#555; font-size:14px; }
@media (max-width:980px){ .ffd-hero-slider .et_pb_slide_description h2 { font-size:30px; } }


/* FFD Bootstrap-compat subset — stili per contenuti migrati da Joomla (tp_master) */
:root{--bs-primary:#e2001a;--bs-primary-rgb:226,0,26;--bs-secondary:#efefef;--bs-secondary-rgb:239,239,239;--bs-dark-rgb:33,37,41;--bs-gutter-x:1.5rem;--bs-border-color:#dee2e6}
.entry-content .row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-right:calc(-.5*var(--bs-gutter-x));margin-left:calc(-.5*var(--bs-gutter-x))}
.entry-content .row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x)*.5);padding-left:calc(var(--bs-gutter-x)*.5);margin-top:var(--bs-gutter-y);box-sizing:border-box}
.entry-content .col{flex:1 0 0%}
.entry-content .col-12{flex:0 0 auto;width:100%}
.entry-content .col-6{flex:0 0 auto;width:50%}
.entry-content .align-items-center{align-items:center}
.entry-content .justify-content-end{justify-content:flex-end}
.entry-content .d-flex{display:flex}
.entry-content .ms-auto,.entry-content .ml-auto{margin-left:auto}
@media (min-width:992px){.entry-content .col-lg-6{flex:0 0 auto;width:50%}.entry-content .m-lg-0{margin:0}}
@media (min-width:1200px){
.entry-content .col-xl-4{flex:0 0 auto;width:33.33333333%}
.entry-content .col-xl-6{flex:0 0 auto;width:50%}
.entry-content .col-xl-7{flex:0 0 auto;width:58.33333333%}
.entry-content .col-xl-8{flex:0 0 auto;width:66.66666667%}
.entry-content .d-xl-none{display:none}
}
.entry-content .text-center{text-align:center}.entry-content .text-left,.entry-content .text-start{text-align:left}.entry-content .text-justify{text-align:justify}.entry-content .text-end{text-align:right}
.entry-content .text-primary{color:#e2001a!important}
.entry-content .text-dark{color:#212529!important}
.entry-content .text-decoration-none{text-decoration:none}
.entry-content .bg-secondary{background-color:#efefef!important}
.entry-content .border{border:1px solid var(--bs-border-color)}
.entry-content .border-top{border-top:1px solid var(--bs-border-color)}
.entry-content .border-bottom{border-bottom:1px solid var(--bs-border-color)}
.entry-content .border-primary{border-color:#e2001a!important}
.entry-content .m-0{margin:0!important}.entry-content .p-0{padding:0!important}
.entry-content .my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}
.entry-content .my-5{margin-top:3rem!important;margin-bottom:3rem!important}
.entry-content .mt-2{margin-top:.5rem!important}.entry-content .mt-5{margin-top:3rem!important}.entry-content .mb-5{margin-bottom:3rem!important}
.entry-content .pt-4{padding-top:1.5rem!important}.entry-content .py-5{padding-top:3rem!important;padding-bottom:3rem!important}
.entry-content .pb-5{padding-bottom:3rem!important}.entry-content .p-5{padding:3rem!important}
.entry-content .h-auto{height:auto}
.entry-content .display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}
.entry-content .display-7{font-size:calc(1.275rem + .9vw);font-weight:300;line-height:1.2}
.entry-content .display-8{font-size:calc(1.25rem + .3vw);font-weight:300;line-height:1.2}
@media (min-width:1200px){.entry-content .display-5{font-size:3rem}.entry-content .display-7{font-size:2rem}.entry-content .display-8{font-size:1.5rem}}
.entry-content .spacer{padding:5rem 0}.entry-content .spacer-1{padding:1rem 0}.entry-content .spacer-2{padding:2rem 0}.entry-content .spacer-3{padding:3rem 0}.entry-content .spacer-4{padding:4rem 0}
.entry-content .btn{display:inline-block;padding:.5rem 1.4rem;font-family:Inter,sans-serif;font-size:1rem;line-height:1.5;text-align:center;text-decoration:none;cursor:pointer;border:1px solid transparent;border-radius:50rem;transition:all .15s ease}
.entry-content .btn-secondary{color:#000;background-color:#efefef;border-color:#efefef}
.entry-content .btn-secondary:hover{color:#000;background-color:#f1f1f1;border-color:#f1f1f1}
.entry-content .btn-outline-primary{color:#e2001a;border-color:#e2001a;background:transparent}
.entry-content .btn-outline-primary:hover{color:#fff;background-color:#e2001a}
.entry-content .table{width:100%;border-collapse:collapse;margin-bottom:1rem;font-size:.95rem}
.entry-content .table th,.entry-content .table td{padding:.5rem;border:1px solid var(--bs-border-color)}
.entry-content .table.border-primary th,.entry-content .table.border-primary td{border-color:#e2001a}
.entry-content .collapse:not(.show){display:none}
.entry-content .collapsing{height:0;overflow:hidden;transition:height .35s ease}
.entry-content .accordion-body{padding:1rem 1.25rem}
.entry-content [data-bs-toggle="collapse"]{cursor:pointer}
.entry-content .fdm{width:4rem;height:4rem;position:relative;display:inline-block}
.entry-content .fdm::before{content:"";position:absolute;height:100%;width:100%;background-position:center;background-repeat:no-repeat;background-size:contain}
.entry-content .fdm-sm{width:2rem;height:2rem}.entry-content .fdm-md{width:3rem;height:3rem}.entry-content .fdm-lg{width:4rem;height:4rem}.entry-content .fdm-xl{width:5rem;height:5rem}.entry-content .fdm-xxl{width:6rem;height:6rem}
.entry-content .fdm-arrow-up-circle::before{background-image:url(images/icons/button_1.svg)}
.entry-content .fdm-arrow-right-circle::before{background-image:url(images/icons/button_2.svg)}
.entry-content .fdm-plus::before{background-image:url(images/icons/button_3.svg)}
.entry-content .fdm-arrow-up-circle:hover::before{background-image:url(images/icons/button_1_over.svg)}
.entry-content .fdm-arrow-right-circle:hover::before{background-image:url(images/icons/button_2_over.svg)}
.entry-content .fdm-plus:hover::before{background-image:url(images/icons/button_3_over.svg)}
.entry-content .fdm-arrow-up::before{background-image:url(images/icons/arrow_1.svg)}
.entry-content .fdm-arrow-right::before{background-image:url(images/icons/arrow_2.svg)}
.entry-content [aria-expanded=true] .fdm-rotate-expanded{transform:rotate(45deg)}
.entry-content [aria-expanded=true] .fdm-rotate-expanded.fdm-arrow-up-circle::before{background-image:url(images/icons/button_1_over.svg)}
.entry-content [aria-expanded=true] .fdm-rotate-expanded.fdm-arrow-right-circle::before{background-image:url(images/icons/button_2_over.svg)}
.entry-content [aria-expanded=true] .fdm-rotate-expanded.fdm-plus::before{background-image:url(images/icons/button_3_over.svg)}
.entry-content hr{opacity:1}
html{scroll-padding-top:4rem}
@media (max-width:640px){.ffd-utetd-buttons a{width:100%;justify-content:center}}

/* FFD compat extra (governance/team) */
.entry-content .img-fluid{max-width:100%;height:auto}
.entry-content .rounded-circle{border-radius:50%}
.entry-content .fw-bold{font-weight:700}
.entry-content .p-4{padding:1.5rem!important}
.entry-content .mt-4{margin-top:1.5rem!important}
.entry-content .card-body{padding:1rem}
.entry-content .d-none{display:none}
.entry-content .d-block{display:block}
@media (min-width:576px){.entry-content .col-sm-6{flex:0 0 auto;width:50%}}
@media (min-width:768px){.entry-content .col-md-4{flex:0 0 auto;width:33.33333333%}}
@media (min-width:992px){
.entry-content .col-lg-3{flex:0 0 auto;width:25%}
.entry-content .col-lg-4{flex:0 0 auto;width:33.33333333%}
.entry-content .d-lg-none{display:none}
.entry-content .d-lg-block{display:block}
.entry-content .mt-lg-0{margin-top:0!important}
}
@media (max-width:991.98px){.entry-content .d-lg-block.d-none{display:none}}

/* ===== FFD-VISUAL-FIX 2026-07-21 ===== */
/* Popup UIkit residui dalla migrazione Joomla: erano renderizzati inline
   (display:block) e rompevano la griglia impilando le card (governance & simili).
   I modal vanno sempre nascosti finche' non aperti. */
.uk-modal{display:none !important}

/* FFD-VISUAL-FIX 2026-08-03 (round 2) */
i.fdm.fdm-plus{font-size:28px;width:28px;height:28px;min-width:28px;background-size:contain}
.et_pb_menu ul.sub-menu li a{color:#333!important}
.et_pb_menu ul.sub-menu li a:hover,.et_pb_menu ul.sub-menu li.current-menu-item>a{color:#e2001a!important}

/* FFD-VISUAL-FIX 2026-08-10 - hero CTA basso-destra con sfondo */
.ffd-hero-slider .et_pb_slide { position: relative; }
.ffd-hero-slider .et_pb_slide .et_pb_button_wrapper {
  position: absolute; right: 36px; bottom: 32px; margin: 0; z-index: 5;
}
.ffd-hero-slider .et_pb_slide .et_pb_button_wrapper .et_pb_more_button {
  background: #ffffff; color: #e2001a !important; font-weight: 700;
  padding: 12px 28px !important;
  box-shadow: 0 6px 24px rgba(0,0,0,.30);
}
.ffd-hero-slider .et_pb_slide .et_pb_button_wrapper .et_pb_more_button:hover {
  background: #e2001a; color: #ffffff !important;
  box-shadow: 0 6px 24px rgba(0,0,0,.40);
}
@media (max-width: 980px) {
  .ffd-hero-slider .et_pb_slide .et_pb_button_wrapper { right: 18px; bottom: 44px; }
  .ffd-hero-slider .et_pb_slide .et_pb_button_wrapper .et_pb_more_button { padding: 10px 22px !important; font-size: 14px; }
}

/* FFD-VISUAL-FIX 2026-08-11 (round 4) */
/* hero: rispetta la proporzione 1920x900, niente crop */
.ffd-hero-slider .et_pb_slide{aspect-ratio:32/15;padding-top:0!important;padding-bottom:0!important;}
.ffd-hero-slider .et_pb_slide.et-pb-active-slide, .ffd-hero-slider .et_pb_slide.et-pb-moved-slide{display:flex;align-items:center;}
@media (max-width:980px){.ffd-hero-slider .et_pb_slide h2{font-size:24px!important}.ffd-hero-slider .et_pb_slide p{font-size:13px!important;max-width:70%!important}}
.ffd-hero-slider .et_pb_slide .et_pb_container{height:auto;}
/* mobile: header non fisso + menu aperto con sfondo bianco */
@media (max-width:980px){
  .et-l--header .et_pb_section{position:relative!important;top:auto!important;}
  #et-boc .et-l ul.et_mobile_menu, #et-boc .et-l ul.et_mobile_menu ul, body ul.et_mobile_menu{background-color:#ffffff!important;border-top:3px solid #e2001a;box-shadow:0 12px 30px rgba(0,0,0,.18);}
  .et_mobile_menu li a{color:#333333!important;border-color:#eee!important;}
  .ffd-hero-slider .et_pb_slide{aspect-ratio:auto;min-height:52vw;}
}
/* governance: loghi soci fondatori allineati */
.page-id-651 .text-center > a:has(> img.img-fluid.border-0){display:flex;align-items:center;justify-content:center;min-height:130px;}
.page-id-651 .text-center > a:has(> img.img-fluid.border-0) img{max-height:120px;width:auto;}

/* FFD-MOBILE-FIX 2026-08-11 (round 5) */
@media (max-width:980px){
  /* icone cart/cerca via su mobile */
  .et-l--header .et_pb_menu__icons-menu, .et-l--header .et_pb_menu__search-button, .et-l--header .et_pb_menu__cart-button{display:none!important;}
  /* footer centrato */
  .et-l--footer .et_pb_column, .et-l--footer .et_pb_text{text-align:center!important;}
  .et-l--footer img{margin-left:auto!important;margin-right:auto!important;display:block;}
  .et-l--footer ul{padding-left:0!important;}
}
@media (max-width:600px){
  /* margini laterali per contenuti migrati e articoli */
  .entry-content, #left-area .et_pb_post_content, .et_pb_section .entry-content{padding-left:14px!important;padding-right:14px!important;box-sizing:border-box;}
  /* bottoni su una riga */
  .et_pb_button{font-size:13px!important;padding:8px 16px!important;white-space:nowrap;}
}
/* accordion sottomenu mobile */
ul.et_mobile_menu li.menu-item-has-children > ul{display:none;}
.ffd-subtoggle{float:right;font-weight:700;font-size:20px;line-height:1;padding:0 12px;color:#e2001a;cursor:pointer;user-select:none;}

/* FFD-MOBILE-FIX v3 2026-08-11 - accordion via classe (vince su Divi) */
/* Accordion menu mobile: sottomenu chiusi */
.et-db #et-boc .et-l--header .et_pb_menu
ul.et_mobile_menu li.menu-item-has-children > ul {
  display: none !important;
}

/* Apre solamente la voce cliccata */
.et-db #et-boc .et-l--header .et_pb_menu
ul.et_mobile_menu li.menu-item-has-children.ffd-open > ul {
  display: block !important;
}

/* ---------- FFD: rapporti immagine per sezione -------------------------
 * Si mette .ffd-media sul modulo, piu un modificatore .ffd-r-*.
 * Il contenitore blocca il rapporto, l'immagine lo riempie ritagliando:
 * la redazione puo caricare qualsiasi grafica senza spostare il layout.
 * I tre rapporti principali sono quelli che la Fondazione produce davvero:
 * banner 1600x600 e i formati carta A (orizzontale e verticale).
 * -------------------------------------------------------------------- */
.ffd-media .dp-dfg-image-link,
.ffd-media .ffd-cornice {
	display: block;
	aspect-ratio: var(--ffd-r, 16 / 9);
	overflow: hidden;
	background: #f2f2f2;
}
.ffd-media .dp-dfg-image-link img,
.ffd-media .ffd-cornice img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}
.ffd-r-banner      { --ffd-r: 8 / 3; }        /* 1600x600 - slideshow, eventi, news */
.ffd-r-orizzontale { --ffd-r: 1.414 / 1; }    /* formato carta A orizzontale        */
.ffd-r-locandina   { --ffd-r: 1 / 1.414; }    /* locandina A3/A4 verticale          */
.ffd-r-video       { --ffd-r: 16 / 9; }       /* video                              */
.ffd-r-quadrato    { --ffd-r: 1 / 1; }        /* loghi, ritratti                    */
/* le locandine hanno il titolo in alto: centrarle lo decapiterebbe */
.ffd-pos-alto .dp-dfg-image-link img,
.ffd-pos-alto .ffd-cornice img { object-position: top; }
/* card della stessa riga alla stessa altezza */
.ffd-media .dp-dfg-items { align-items: stretch; }
/* ---------- fine FFD rapporti immagine ---------- */

/* ---------- FFD: layout a lista (Pubblicazioni) ----------
 * Nelle liste la copertina va contenuta, non ritagliata: su un libro il
 * ritaglio taglierebbe il titolo. E va larga il giusto, altrimenti una
 * pagina con poche schede diventa lunghissima.
 * -------------------------------------------------------- */
.ffd-media .dp-dfg-layout-list .dp-dfg-image-link {
	width: 260px;
	max-width: 100%;
	margin-inline: auto;
}
.ffd-fit-intero .dp-dfg-image-link { background: transparent; }
.ffd-fit-intero .dp-dfg-image-link img { object-fit: contain; }
@media (max-width: 980px) {
	.ffd-media .dp-dfg-layout-list .dp-dfg-image-link { width: 200px; }
}
/* ---------- fine FFD layout a lista ---------- */

/* ---------- FFD: lista editoriale (stile richiesto dalla Fondazione) ----
 * Niente riquadro: le schede sono separate dallo spazio, non da un bordo.
 * Meta compatte sopra, titolo maiuscolo con filetto, abstract sotto.
 * ---------------------------------------------------------------------- */
.ffd-lista-editoriale .dp-dfg-items { gap: 56px 36px !important; }
.ffd-lista-editoriale .dp-dfg-item {
	border: 0 !important;
	padding: 0 !important;
	align-items: start;
}
.ffd-lista-editoriale .dp-dfg-custom-content {
	display: flex;
	flex-wrap: wrap;
	gap: 0 1.6em;
	margin: 0 0 .4em;
}
.ffd-lista-editoriale .dp-dfg-custom-field {
	margin: 0 !important;
	font-size: .78em;
	line-height: 1.6;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: #6b6b6b;
}
.ffd-lista-editoriale .entry-title {
	margin: .1em 0 0 !important;
	text-transform: uppercase;
	font-weight: 700 !important;
	line-height: 1.25;
}
.ffd-lista-editoriale .entry-title::after {
	content: "";
	display: block;
	width: 46px;
	height: 3px;
	margin: .6em 0 .9em;
	background: #e2001a;
}
.ffd-lista-editoriale .dp-dfg-content { margin: 0; }
.ffd-lista-editoriale .dp-dfg-more-button { margin-top: 1.1em; }
@media (max-width: 980px) {
	.ffd-lista-editoriale .dp-dfg-items { gap: 40px 24px !important; }
}
/* ---------- fine FFD lista editoriale ---------- */

/* FFD lista editoriale - correzioni */
.ffd-lista-editoriale .entry-title,
.ffd-lista-editoriale .entry-title a { font-weight: 700 !important; }
.ffd-lista-editoriale .et_pb_button_wrapper.read-more-wrapper { text-align: left !important; }

/* FFD lista editoriale - specificita per battere il CSS dinamico di Divi */
body #page-container .ffd-lista-editoriale .entry-title,
body #page-container .ffd-lista-editoriale .entry-title a { font-weight: 700 !important; }


/* ==========================================================================
   Menu laterale — Amministrazione Trasparente
   Replica lo stile del menu del vecchio sito (ul.left-menu-custom).
   Valori misurati sul vecchio sito il 27/08/2026 con getComputedStyle:
     li  -> padding 16px 0 · border-top 1.5px solid rgb(222,226,230)
     a   -> #333333 · 16px · peso 500 · interlinea 24.48px (1.53) · nessuna sottolineatura
     voce corrente -> rgb(226,0,26)
   Il selettore parte da "body #page-container" perche' il CSS dinamico di Divi
   viene stampato dopo il child theme e vincerebbe a parita' di specificita'.
   ========================================================================== */

/* Il modulo Menu di Divi e' orizzontale: qui serve un elenco verticale */
body #page-container .menu-sx-amministrazione .et_pb_menu_inner_container,
body #page-container .menu-sx-amministrazione .et_pb_menu__wrap,
body #page-container .menu-sx-amministrazione .et_pb_menu__menu,
body #page-container .menu-sx-amministrazione .et-menu-nav {
	display: block;
	width: 100%;
}

body #page-container .menu-sx-amministrazione ul.et-menu {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
}

body #page-container .menu-sx-amministrazione ul.et-menu > li {
	display: block;
	float: none;
	width: 100%;
	margin: 0;
	padding: 16px 0;
	border-top: 1.5px solid #dee2e6;
}

body #page-container .menu-sx-amministrazione ul.et-menu > li:last-child {
	border-bottom: 1.5px solid #dee2e6;
}

body #page-container .menu-sx-amministrazione ul.et-menu > li > a {
	display: block;
	padding: 0;
	color: #333333;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.53;
	text-transform: none;
	text-decoration: none;
	opacity: 1;
}

body #page-container .menu-sx-amministrazione ul.et-menu > li > a:hover,
body #page-container .menu-sx-amministrazione ul.et-menu > li > a:focus {
	color: #e2001a;
	opacity: 1;
}

/* Voce della pagina che si sta leggendo.
   Serve !important perche' il modulo Menu del Theme Builder stampa inline
       .et_pb_menu_0_tb_body.et_pb_menu ul li.current-menu-item a { color:#e02b20 !important }
   che viene dall'impostazione "colore link attivo" del modulo stesso.
   #e2001a e' il rosso del customizer del sito, lo stesso del vecchio sito.
   ALTERNATIVA PIU' PULITA: correggere quel colore nel modulo dal Theme Builder
   e togliere questo !important. */
body #page-container .menu-sx-amministrazione ul.et-menu > li.current-menu-item > a {
	color: #e2001a !important;
}

/* Il menu e' a un solo livello: nessuna freccia di sottomenu */
body #page-container .menu-sx-amministrazione ul.et-menu > li > a:after {
	display: none;
}

/* Sotto i 980px Divi nasconde l'elenco e mostra l'hamburger.
   Qui il menu e' l'indice della sezione: deve restare sempre visibile. */
@media (max-width: 980px) {
	body #page-container .menu-sx-amministrazione .et_pb_menu__menu {
		display: block !important;
	}
	body #page-container .menu-sx-amministrazione .et_mobile_nav_menu {
		display: none !important;
	}
}


/* ==========================================================================
   Articolo singolo — immagine in evidenza
   27/08/2026 · JayWeb

   IL PROBLEMA (misurato su /vivere-la-montagna-che-cambia/, viewport 1512x813):
   il file e' 200x287 px ma veniva servito a 1080x1550, cioe' ingrandito 5,4 volte
   e alto il 191% dello schermo: due schermate di sola copertina, per giunta sgranata.
   Causa: nessun vincolo di altezza e nessun limite all'ingrandimento
   (max-height: none, object-fit: fill).

   IL RIFERIMENTO: sul vecchio sito l'immagine di un articolo si ferma a 861x404
   su viewport 813 (50% dell'altezza schermo) e non viene mai ingrandita oltre
   la misura naturale del file.

   Regola sul template, quindi vale per TUTTI gli articoli, presenti e futuri.
   Il prefisso "body #page-container" serve perche' il CSS dinamico di Divi
   viene stampato dopo il child theme (vedi formati-immagine-sezioni.md).
   ========================================================================== */

body #page-container article.et_pb_post .et_post_meta_wrapper img {
	display: block;
	width: auto;          /* si ferma alla misura del file: mai ingrandita, mai sgranata */
	height: auto;         /* conserva le proporzioni originali */
	max-width: 100%;      /* non esce mai dalla colonna del testo */
	max-height: 420px;    /* riferimento vecchio sito: 404px su viewport 813 */
	margin: 0 auto 30px;  /* centrata, con respiro prima del testo */
	object-fit: contain;  /* nessun ritaglio: una locandina resta leggibile */
}

@media (max-width: 980px) {
	body #page-container article.et_pb_post .et_post_meta_wrapper img {
		max-height: 320px;
	}
}

@media (max-width: 480px) {
	body #page-container article.et_pb_post .et_post_meta_wrapper img {
		max-height: 240px;
	}
}

/* --------------------------------------------------------------------------
   Larghezza uniforme del contenitore del tema
   Le pagine costruite con Divi usano righe da 1400px con 20px di margine.
   Le pagine che passano dai template del tema (articoli, archivi, ricerca,
   404, pagine senza builder) usano invece il contenitore del tema, fermo
   all'80% (1152px su uno schermo da 1440): si vedeva come un restringimento
   in mezzo alla navigazione. Qui si allineano alle altre.
   -------------------------------------------------------------------------- */

@media all and (min-width: 981px) {
	/* Vale per tutte le pagine che passano dai template del tema: articoli,
	   archivi, ricerca, pagine senza builder e tutto il negozio. */
	body #page-container #main-content .container {
		width: calc(100% - 40px);
		max-width: 1400px;
	}
}

/* Con il Theme Builder (intestazione, pie' di pagina e corpo del negozio) il
   contenuto non passa piu' da .container ma dalle righe dentro #et-boc .et-l.
   Sulle pagine WooCommerce Divi non stampa inline il CSS del Customizer con la
   larghezza contenuto: arriva solo dal file combinato di LiteSpeed. Se quel file
   manca o e' scaduto resta in piedi il default ad alta specificita'
   `.et-db #et-boc .et-l .et_pb_row{max-width:1080px}` e intestazione e pie' di
   pagina si restringono di 320px. Qui la larghezza e' fissata a prescindere
   dalla cache, con gli stessi selettori che usa Divi. */
.container,
.et-db #et-boc .et-l .container,
.et-db #et-boc .et-l .et_pb_row,
.et-db #et-boc .et-l .et_pb_slider .et_pb_container,
.et-db #et-boc .et-l .et_pb_fullwidth_section .et_pb_title_container,
.et-db #et-boc .et-l .et_pb_fullwidth_section .et_pb_title_featured_container,
.et-db #et-boc .et-l .et_pb_fullwidth_header:not(.et_pb_fullscreen) .et_pb_fullwidth_header_container {
	max-width: 1400px;
}

/* ===== fine larghezza uniforme ===== */
/* ===== FFD-MENU-MOBILE-ATTIVO 2026-09-07 =====
   Nel menu mobile la voce della pagina che si sta leggendo era bianca su sfondo
   bianco, sottomenu compresi. Il modulo Menu del Theme Builder stampa

     .et_pb_menu_0_tb_header.et_pb_menu ul li a,
     .et_pb_menu_0_tb_header.et_pb_menu ul li.current-menu-item a { color:#FFFFFF!important }

   con specificita' (0,3,3), che batte sia .et_mobile_menu li a{color:#333!important}
   (0,1,2) del child theme sia .et_pb_menu .et_mobile_menu a{color:#E02B20!important}
   (0,3,1) del modulo stesso: per questo le voci normali restano rosse e solo
   quella attiva diventa bianca.

   Il bianco e' corretto sul desktop, dove il menu sta sulla barra rossa; e'
   sbagliato nel menu mobile, che ha sfondo bianco. Il modulo Divi ha un solo
   "colore link attivo" per entrambi, quindi la distinzione si fa qui.

   Servono DUE gruppi di selettori. Su negozio e archivi categoria prodotto Divi
   ristampa la stessa regola col prefisso .et-db #et-boc .et-l, cioe' (1,5,3):
   il solo "body #page-container ..." vale (1,3,4) e li' perderebbe, stesso
   numero di id ma meno classi. La catena reale e'
     #page-container > #et-boc.et-boc > header.et-l.et-l--header > ... > ul.et_mobile_menu
   quindi la variante con #page-container E #et-boc vale (2,4,4) e vince ovunque,
   mentre la prima resta come riserva se una vista non avesse #et-boc.
   Il grassetto distingue la voce attiva dalle altre, che nel menu mobile sono
   gia' rosse. */
@media (max-width: 980px) {
	body #page-container .et_pb_menu ul.et_mobile_menu li.current-menu-item > a,
	body #page-container .et_pb_menu ul.et_mobile_menu li.current_page_item > a,
	body #page-container .et_pb_menu ul.et_mobile_menu ul.sub-menu li.current-menu-item > a,
	body #page-container .et_pb_menu ul.et_mobile_menu ul.sub-menu li.current_page_item > a,
	body #page-container #et-boc .et-l .et_pb_menu ul.et_mobile_menu li.current-menu-item > a,
	body #page-container #et-boc .et-l .et_pb_menu ul.et_mobile_menu li.current_page_item > a,
	body #page-container #et-boc .et-l .et_pb_menu ul.et_mobile_menu ul.sub-menu li.current-menu-item > a,
	body #page-container #et-boc .et-l .et_pb_menu ul.et_mobile_menu ul.sub-menu li.current_page_item > a {
		color: #e2001a !important;
		font-weight: 700;
	}
}
/* ===== fine menu mobile voce attiva ===== */

/* ===== FFD-MENU-MOBILE-SFONDO 2026-09-07 =====
   Il menu mobile aveva sfondo trasparente: la pagina passava dietro le voci e
   sembravano righe vuote. Il modulo Menu stampa
     .et-db #et-boc .et-l ....et_pb_menu .et_mobile_menu{background-color:RGBA(255,255,255,0)!important}
   con specificita' (1,5,1). Nel child theme la regola che lo vuole bianco esiste
   gia' piu' su (#et-boc .et-l ul.et_mobile_menu) ma vale (1,2,1) e perde: stesso
   id, meno classi. Qui si usano due id come per il colore della voce attiva.
   Nota storica: lo stesso rimedio stava in fdemarchi-menu-mobile-negozio.css ed
   e' stato tolto il 07/09/2026 con la rimozione del design ecommerce; questo lo
   rimette, ma valido su tutto il sito e non solo sul negozio. */
@media (max-width: 980px) {
	body #page-container #et-boc .et-l .et_pb_menu ul.et_mobile_menu,
	body #page-container #et-boc .et-l .et_pb_menu ul.et_mobile_menu ul,
	body #page-container #et-boc .et-l .et_pb_menu ul.et_mobile_menu ul.sub-menu {
		background-color: #ffffff !important;
	}
}
/* ===== fine sfondo menu mobile ===== */

/* ==========================================================================
   FFD-WOO-CSS-CARRELLO-PAGAMENTO — ripristino del 07/09/2026 (sera)
   Rimette il design che /carrello e /pagamento avevano prima del taglio
   descritto in RIMOZIONE-DESIGN-ECOMMERCE-2026-09-07.md.
   Origine: backup-ecommerce-2026-09-07/style.css (58.747 byte).

   Cosa torna: bottoni, tabelle del carrello e del riepilogo ordine, campi e
   riquadro pagamenti della cassa, avvisi WooCommerce, layout della cassa a una
   e a due colonne, adattamenti per schermi piccoli.

   Cosa NON torna, perche' non riguarda queste due pagine: la colonna destra
   con il menu delle categorie (sezione 1: sidebar.php e' stato rimosso, la
   classe .ffd-sidebar-negozio non viene piu' stampata) e vetrina e archivi di
   categoria (sezione 3). I bottoni sono limitati a carrello e cassa: su
   /negozio/ e sulle schede prodotto restano quelli di serie.
   ========================================================================== */

/* --------------------------------------------------------------------------
   Bottoni di carrello e cassa: stato hover, focus visibile da tastiera e area
   tattile di almeno 44px. Era la sezione 2, valida per tutto il negozio; qui
   e' agganciata a body.woocommerce-cart / body.woocommerce-checkout, con la
   stessa specificita' dell'originale.
   -------------------------------------------------------------------------- */

body.woocommerce-cart #page-container a.button,
body.woocommerce-cart #page-container button.button,
body.woocommerce-cart #page-container input.button,
body.woocommerce-checkout #page-container a.button,
body.woocommerce-checkout #page-container button.button,
body.woocommerce-checkout #page-container input.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 11px 26px !important;
	border: 2px solid #e2001a !important;
	border-radius: 4px !important;
	background: #e2001a !important;
	color: #ffffff !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	text-transform: none !important;
	text-decoration: none !important;
	text-shadow: none !important;
	box-shadow: none !important;
	transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}

body.woocommerce-cart #page-container a.button:hover,
body.woocommerce-cart #page-container button.button:hover,
body.woocommerce-cart #page-container input.button:hover,
body.woocommerce-cart #page-container a.button:focus,
body.woocommerce-cart #page-container button.button:focus,
body.woocommerce-cart #page-container input.button:focus,
body.woocommerce-checkout #page-container a.button:hover,
body.woocommerce-checkout #page-container button.button:hover,
body.woocommerce-checkout #page-container input.button:hover,
body.woocommerce-checkout #page-container a.button:focus,
body.woocommerce-checkout #page-container button.button:focus,
body.woocommerce-checkout #page-container input.button:focus {
	border-color: #c20016 !important;
	background: #c20016 !important;
	color: #ffffff !important;
}

body.woocommerce-cart #page-container a.button:focus-visible,
body.woocommerce-cart #page-container button.button:focus-visible,
body.woocommerce-cart #page-container input.button:focus-visible,
body.woocommerce-checkout #page-container a.button:focus-visible,
body.woocommerce-checkout #page-container button.button:focus-visible,
body.woocommerce-checkout #page-container input.button:focus-visible {
	outline: 3px solid #212529 !important;
	outline-offset: 2px;
}

/* Bottoni secondari: contorno rosso su fondo bianco, si riempiono al passaggio
   del mouse. Sono "Aggiorna carrello" e "Applica codice promozionale". */
body #page-container .woocommerce button[name="update_cart"],
body #page-container .woocommerce input[name="update_cart"],
body #page-container .woocommerce button[name="apply_coupon"],
body #page-container .woocommerce input[name="apply_coupon"],
body #page-container .woocommerce a.button.wc-backward {
	background: #ffffff !important;
	color: #e2001a !important;
	border-color: #e2001a !important;
}

body #page-container .woocommerce button[name="update_cart"]:hover,
body #page-container .woocommerce input[name="update_cart"]:hover,
body #page-container .woocommerce button[name="apply_coupon"]:hover,
body #page-container .woocommerce input[name="apply_coupon"]:hover,
body #page-container .woocommerce a.button.wc-backward:hover,
body #page-container .woocommerce button[name="update_cart"]:focus,
body #page-container .woocommerce button[name="apply_coupon"]:focus {
	background: #e2001a !important;
	color: #ffffff !important;
	border-color: #e2001a !important;
}

/* Bottone disattivato: deve sembrare disattivato e non reagire al mouse. */
body.woocommerce-cart #page-container button.button:disabled,
body.woocommerce-cart #page-container button.button:disabled[disabled],
body.woocommerce-cart #page-container input.button:disabled,
body.woocommerce-cart #page-container a.button.disabled,
body.woocommerce-checkout #page-container button.button:disabled,
body.woocommerce-checkout #page-container button.button:disabled[disabled],
body.woocommerce-checkout #page-container input.button:disabled,
body.woocommerce-checkout #page-container a.button.disabled {
	background: #f1f1f1 !important;
	border-color: #dee2e6 !important;
	color: #6b6b6b !important;
	cursor: not-allowed;
	opacity: 1 !important;
}

body.woocommerce-cart #page-container button.button:disabled:hover,
body.woocommerce-cart #page-container input.button:disabled:hover,
body.woocommerce-cart #page-container a.button.disabled:hover,
body.woocommerce-checkout #page-container button.button:disabled:hover,
body.woocommerce-checkout #page-container input.button:disabled:hover,
body.woocommerce-checkout #page-container a.button.disabled:hover {
	background: #f1f1f1 !important;
	border-color: #dee2e6 !important;
	color: #6b6b6b !important;
}

/* --------------------------------------------------------------------------
   4. Tabelle di carrello e riepilogo ordine
   -------------------------------------------------------------------------- */

body #page-container .woocommerce table.shop_table,
body #page-container .woocommerce table.cart,
body #page-container .woocommerce-checkout table.shop_table {
	border: 1px solid #dee2e6;
	border-radius: 4px;
	border-collapse: separate;
	border-spacing: 0;
}

body #page-container .woocommerce table.shop_table thead th {
	background: #f4f4f4;
	border-bottom: 1px solid #dee2e6;
	color: #212529;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .02em;
	padding: 14px 16px;
	text-transform: uppercase;
}

body #page-container .woocommerce table.shop_table td,
body #page-container .woocommerce table.shop_table th {
	padding: 16px;
	border-top: 1px solid #dee2e6;
	vertical-align: middle;
}

body #page-container .woocommerce table.shop_table tbody tr:first-child td {
	border-top: 0;
}

body #page-container .woocommerce table.cart td.product-name a,
body #page-container .woocommerce-checkout table.shop_table td.product-name a {
	color: #212529;
	font-weight: 600;
	text-decoration: none;
}

body #page-container .woocommerce table.cart td.product-name a:hover,
body #page-container .woocommerce table.cart td.product-name a:focus {
	color: #e2001a;
	text-decoration: underline;
}

/* La "x" per togliere un corso dal carrello: grigia, rossa al passaggio,
   e con un'area cliccabile decente. */
body #page-container .woocommerce table.cart a.remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: #f1f1f1 !important;
	color: #6b6b6b !important;
	font-size: 20px;
	line-height: 1;
	text-decoration: none;
	transition: background-color .15s ease, color .15s ease;
}

body #page-container .woocommerce table.cart a.remove:hover,
body #page-container .woocommerce table.cart a.remove:focus {
	background: #e2001a !important;
	color: #ffffff !important;
}

body #page-container .woocommerce .quantity input.qty {
	width: 72px;
	min-height: 44px;
	padding: 8px;
	border: 1px solid #dee2e6;
	border-radius: 4px;
	background: #ffffff;
	color: #212529;
	text-align: center;
}

body #page-container .woocommerce table.cart td.actions .coupon input#coupon_code {
	width: auto;
	min-width: 190px;
	min-height: 44px;
	margin-right: 8px;
	padding: 10px 14px;
	border: 1px solid #dee2e6;
	border-radius: 4px;
	background: #ffffff;
	color: #212529;
}

body #page-container .woocommerce table.cart td.actions {
	padding: 18px 16px;
	background: #fafafa;
}

body #page-container .woocommerce .cart-collaterals .cart_totals > h2,
body #page-container .woocommerce-checkout h3#order_review_heading {
	font-size: 24px;
	font-weight: 700;
	color: #212529;
	margin-bottom: 16px;
}

body #page-container .woocommerce .cart-collaterals .cart_totals {
	float: none;
	width: 100%;
	max-width: 460px;
	margin-left: auto;
}

body #page-container .woocommerce .cart_totals table.shop_table th {
	background: transparent;
	font-size: 15px;
	text-transform: none;
}

body #page-container .woocommerce .cart_totals tr.order-total th,
body #page-container .woocommerce .cart_totals tr.order-total td {
	font-size: 19px;
	font-weight: 700;
	color: #212529;
}

body #page-container .woocommerce .wc-proceed-to-checkout a.checkout-button {
	display: flex;
	width: 100%;
	margin-top: 16px;
	font-size: 17px !important;
	padding: 15px 26px !important;
}

/* --------------------------------------------------------------------------
   5. Pagina di pagamento
   -------------------------------------------------------------------------- */

body.woocommerce-checkout #page-container .woocommerce form.checkout {
	margin-top: 8px;
}

body #page-container .woocommerce form .form-row {
	margin: 0 0 18px;
	padding: 0;
}

body #page-container .woocommerce form .form-row label {
	display: block;
	margin-bottom: 6px;
	color: #212529;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.4;
}

body #page-container .woocommerce form .form-row .required {
	color: #e2001a;
	text-decoration: none;
	border: 0;
}

body #page-container .woocommerce form .form-row input.input-text,
body #page-container .woocommerce form .form-row textarea,
body #page-container .woocommerce form .form-row select,
body #page-container .woocommerce-checkout .select2-container .select2-selection--single,
body #page-container .woocommerce form .form-row .select2-selection {
	width: 100%;
	min-height: 46px;
	padding: 11px 14px;
	border: 1px solid #ced4da !important;
	border-radius: 4px;
	background-color: #ffffff !important;
	color: #212529 !important;
	font-size: 16px;
	line-height: 1.4;
	transition: border-color .15s ease, box-shadow .15s ease;
}

body #page-container .woocommerce form .form-row textarea {
	min-height: 110px;
	resize: vertical;
}

body #page-container .woocommerce form .form-row input.input-text::placeholder,
body #page-container .woocommerce form .form-row textarea::placeholder {
	color: #9a9a9a;
	opacity: 1;
}

body #page-container .woocommerce form .form-row input.input-text:focus,
body #page-container .woocommerce form .form-row textarea:focus,
body #page-container .woocommerce form .form-row select:focus {
	border-color: #e2001a !important;
	box-shadow: 0 0 0 3px rgba(226, 0, 26, .12);
	outline: none;
}

body #page-container .woocommerce form .form-row.woocommerce-invalid input.input-text,
body #page-container .woocommerce form .form-row.woocommerce-invalid select {
	border-color: #e2001a !important;
}

body #page-container .woocommerce-billing-fields > h3,
body #page-container .woocommerce-additional-fields > h3,
body #page-container .woocommerce-shipping-fields > h3 {
	margin-bottom: 18px;
	padding-bottom: 10px;
	border-bottom: 1.5px solid #dee2e6;
	font-size: 22px;
	font-weight: 700;
	color: #212529;
}

body #page-container .woocommerce-checkout #payment {
	border: 1px solid #dee2e6;
	border-radius: 4px;
	background: #fafafa;
}

body #page-container .woocommerce-checkout #payment ul.payment_methods {
	border-bottom: 1px solid #dee2e6;
	padding: 18px;
}

body #page-container .woocommerce-checkout #payment ul.payment_methods li {
	margin-bottom: 10px;
	list-style: none;
}

body #page-container .woocommerce-checkout #payment ul.payment_methods li label {
	font-weight: 600;
	color: #212529;
}

body #page-container .woocommerce-checkout #payment div.payment_box {
	background: #ffffff;
	border: 1px solid #dee2e6;
	border-radius: 4px;
	color: #333333;
	font-size: 15px;
}

body #page-container .woocommerce-checkout #payment div.payment_box::before {
	border-bottom-color: #dee2e6;
}

body #page-container .woocommerce-checkout #payment div.form-row.place-order {
	padding: 18px;
}

body #page-container .woocommerce-checkout #place_order {
	width: 100%;
	font-size: 18px !important;
	padding: 16px 26px !important;
}

/* Messaggi e avvisi: stesso rosso del sito, non il blu di Divi. */
body #page-container .woocommerce-message,
body #page-container .woocommerce-info,
body #page-container .woocommerce-error {
	border-radius: 4px;
	font-size: 16px !important;
	line-height: 1.5;
	padding: 16px 18px !important;
}

body #page-container .woocommerce-message {
	background: #e2001a !important;
}

body #page-container .woocommerce-info {
	background: #212529 !important;
}

body #page-container .woocommerce-error {
	background: #c20016 !important;
}

body #page-container .woocommerce-message a.button,
body #page-container .woocommerce-info a.button {
	background: #ffffff !important;
	border-color: #ffffff !important;
	color: #212529 !important;
}

body #page-container .woocommerce-message a.button:hover,
body #page-container .woocommerce-info a.button:hover {
	background: #212529 !important;
	border-color: #ffffff !important;
	color: #ffffff !important;
}

/* Il riquadro della tessera d'iscrizione (plugin ScuolaSemplice). */
body #page-container .woocommerce form.checkout select#tessera,
body #page-container .woocommerce form.checkout select[name="tessera"] {
	width: 100%;
	min-height: 46px;
	padding: 11px 14px;
	border: 1px solid #ced4da;
	border-radius: 4px;
	background: #ffffff;
	font-size: 16px;
}

/* --------------------------------------------------------------------------
   Schermi piccoli (era la sezione 6, senza la riga della colonna categorie)
   -------------------------------------------------------------------------- */

@media all and (max-width: 980px) {
	body #page-container .woocommerce .cart-collaterals .cart_totals {
		max-width: none;
	}
}

@media all and (max-width: 767px) {
	body #page-container .woocommerce table.cart td.actions .coupon input#coupon_code,
	body #page-container .woocommerce table.cart td.actions .coupon .button,
	body #page-container .woocommerce table.cart td.actions .button {
		width: 100%;
		margin: 0 0 10px;
	}

	body #page-container .woocommerce table.shop_table td,
	body #page-container .woocommerce table.shop_table th {
		padding: 12px;
	}

	body #page-container .woocommerce-checkout #place_order {
		font-size: 17px !important;
	}
}

/* --------------------------------------------------------------------------
   8. Pagina di pagamento: una colonna sola, a tutta larghezza
   WooCommerce affianca "Dettagli di fatturazione" e "Informazioni
   aggiuntive": la seconda contiene solo la nota sull'ordine, quindi met&agrave;
   pagina restava vuota e i campi risultavano stretti. Qui le due sezioni si
   impilano e usano tutta la larghezza disponibile.
   -------------------------------------------------------------------------- */

body #page-container .woocommerce-checkout #customer_details.col2-set,
body #page-container .woocommerce-checkout #customer_details {
	display: block;
	width: 100%;
	margin: 0;
}

body #page-container .woocommerce-checkout #customer_details > .col-1,
body #page-container .woocommerce-checkout #customer_details > .col-2 {
	float: none;
	width: 100%;
	margin: 0 0 8px;
	padding: 0;
}

body #page-container .woocommerce-checkout #customer_details > .col-2 {
	margin-top: 28px;
}

/* Nome/Cognome e simili restano affiancati */
@media all and (min-width: 768px) {
	body.woocommerce-checkout #page-container form.checkout .form-row-first,
	body.woocommerce-checkout #page-container form.checkout .form-row-last {
		width: 48.5%;
		float: left;
	}

	body.woocommerce-checkout #page-container form.checkout .form-row-last {
		float: right;
	}

	body.woocommerce-checkout #page-container form.checkout .form-row-wide,
	body.woocommerce-checkout #page-container form.checkout .form-row.notes {
		clear: both;
		width: 100%;
	}

	/* I campi lunghi non devono diventare una riga infinita */
	body.woocommerce-checkout #page-container form.checkout .form-row-wide input.input-text,
	body.woocommerce-checkout #page-container form.checkout .form-row-wide select,
	body.woocommerce-checkout #page-container form.checkout .form-row-wide .select2-container {
		max-width: 640px;
	}

	body.woocommerce-checkout #page-container form.checkout .form-row.notes textarea {
		max-width: 100%;
	}
}

body #page-container .woocommerce-checkout h3#order_review_heading {
	clear: both;
	margin-top: 36px;
	padding-top: 28px;
	border-top: 1.5px solid #dee2e6;
}

/* Il riquadro della tessera d'iscrizione, primo figlio del form. */
body.woocommerce-checkout #page-container form.checkout > div:first-child {
	margin-bottom: 28px;
	padding: 20px 22px;
	border: 1px solid #dee2e6;
	border-left: 4px solid #e2001a;
	border-radius: 4px;
	background: #fafafa;
}

body.woocommerce-checkout #page-container form.checkout > div:first-child h2,
body.woocommerce-checkout #page-container form.checkout > div:first-child h3,
body.woocommerce-checkout #page-container form.checkout > div:first-child label {
	margin: 0 0 12px;
	padding: 0;
	font-size: 18px;
	font-weight: 700;
	color: #212529;
}

body.woocommerce-checkout #page-container form.checkout > div:first-child select {
	width: 100%;
	max-width: 640px;
	min-height: 46px;
	padding: 11px 14px;
	border: 1px solid #ced4da;
	border-radius: 4px;
	background: #ffffff;
	color: #212529;
	font-size: 16px;
}

/* Riepilogo ordine e riquadro dei pagamenti */
body #page-container .woocommerce-checkout .woocommerce-checkout-review-order table.shop_table {
	width: 100%;
	margin-bottom: 24px;
}

body #page-container .woocommerce-checkout .woocommerce-checkout-review-order table.shop_table tfoot th,
body #page-container .woocommerce-checkout .woocommerce-checkout-review-order table.shop_table tfoot td {
	background: #fafafa;
	font-size: 16px;
}

body #page-container .woocommerce-checkout .woocommerce-checkout-review-order table.shop_table tfoot tr.order-total th,
body #page-container .woocommerce-checkout .woocommerce-checkout-review-order table.shop_table tfoot tr.order-total td {
	font-size: 20px;
	font-weight: 700;
	color: #212529;
}

/* Il modulo coupon che si apre in cima alla pagina */
body #page-container .woocommerce form.checkout_coupon {
	margin: 0 0 28px;
	padding: 20px 22px;
	border: 1px solid #dee2e6;
	border-radius: 4px;
	background: #fafafa;
}

body #page-container .woocommerce form.checkout_coupon input#coupon_code {
	min-height: 46px;
	padding: 11px 14px;
	border: 1px solid #ced4da;
	border-radius: 4px;
	background: #ffffff;
}
/* ===== fine pagina di pagamento ===== */

/* --------------------------------------------------------------------------
   9. Pagamento su due colonne
   Su schermo largo: a sinistra i dati di chi acquista, a destra il riepilogo
   dell'ordine e il pagamento, sempre sott'occhio. Sotto i 1200px torna tutto
   in colonna singola.
   -------------------------------------------------------------------------- */

body.woocommerce-checkout #page-container form.checkout > div:first-child {
	background: #fafafa !important;
}

@media all and (min-width: 1200px) {
	body.woocommerce-checkout #page-container form.checkout {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 420px);
		column-gap: 48px;
		align-items: start;
	}

	/* riquadro della tessera: a tutta larghezza, in cima */
	body.woocommerce-checkout #page-container form.checkout > div:first-child {
		grid-column: 1 / -1;
		grid-row: 1;
	}

	body.woocommerce-checkout #page-container form.checkout > #customer_details {
		grid-column: 1;
		grid-row: 2 / span 2;
	}

	body.woocommerce-checkout #page-container form.checkout > h3#order_review_heading {
		grid-column: 2;
		grid-row: 2;
		margin-top: 0;
		padding-top: 0;
		border-top: 0;
	}

	body.woocommerce-checkout #page-container form.checkout > #order_review,
	body.woocommerce-checkout #page-container form.checkout > .woocommerce-checkout-review-order {
		grid-column: 2;
		grid-row: 3;
	}

	/* campi nascosti: non devono occupare una cella della griglia */
	body.woocommerce-checkout #page-container form.checkout > input[type="hidden"] {
		position: absolute;
	}

	/* nella colonna stretta i campi larghi tornano a piena larghezza */
	body.woocommerce-checkout #page-container form.checkout .form-row-wide input.input-text,
	body.woocommerce-checkout #page-container form.checkout .form-row-wide select,
	body.woocommerce-checkout #page-container form.checkout .form-row-wide .select2-container {
		max-width: none;
	}

	/* il riepilogo resta visibile mentre si compilano i dati */
	body.woocommerce-checkout #page-container form.checkout > #order_review {
		position: sticky;
		top: 100px;
	}
}
/* ===== fine pagamento su due colonne ===== */
/* ===== fine FFD-WOO-CSS-CARRELLO-PAGAMENTO ===== */

/* ===== Correzzione colore testo ricerca ===== */

.et_pb_menu__search-input::placeholder, .et_pb_menu .et_pb_menu__search-input {
  color: #fff !important;
  opacity: 1;
}

/* Menu laterale categorie Negozio */
#menu-categorie-negozio {
  display: block !important;
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

#menu-categorie-negozio > li {
  display: block !important;
  width: 100%;
  margin: 0 !important;
  padding: 16px 0 !important;
  border-top: 1.5px solid #dee2e6;
}

#menu-categorie-negozio > li > a {
  display: block;
  padding: 0 !important;
  color: #333 !important;
  background: transparent !important;
  font-family: "Work Sans", Helvetica, Arial, sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.53em;
}

/* Categoria attiva e passaggio del mouse */
#menu-categorie-negozio > li.current-menu-item > a,
#menu-categorie-negozio > li > a:hover {
  color: #d33b2f !important;
}

@media (max-width: 980px) {

  /* Mostra il menu desktop delle categorie */
  .et-l--body .et_pb_menu_0_tb_body .et_pb_menu__menu {
    display: block !important;
    width: 100%;
  }

  /* Nasconde l’hamburger solo nel menu Categorie */
  .et-l--body .et_pb_menu_0_tb_body .et_mobile_nav_menu {
    display: none !important;
  }

  .et-l--body .et_pb_menu_0_tb_body .et-menu-nav,
  #menu-categorie-negozio {
    display: block !important;
    width: 100%;
    margin: 0 !important;
  }

  #menu-categorie-negozio > li {
    display: block !important;
    width: 100%;
    margin: 0 !important;
    padding: 16px 0 !important;
    border-top: 1.5px solid #dee2e6;
  }

  #menu-categorie-negozio > li > a {
    display: block;
    padding: 0 !important;
    color: #333 !important;
    background: transparent !important;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.53em;
  }

  #menu-categorie-negozio > li.current-menu-item > a {
    color: #d33b2f !important;
  }
}