/*
 Theme Name:   Livi Child
 Theme URI:    https://livi.wpengine.com/
 Description:  Livi Child Theme
 Author:       the WeDesignTech team
 Author URI:   https://wedesignthemes.com/
 Template:     livi
 Version:      1.0.0
 Tested up to: 6.6 
 Requires PHP: 7.4
 Text Domain:  livi-child
 Tags: E-Commerce,Blog,Education
 License: GNU General Public License v2 or later 
 License URI: https://www.gnu.org/licenses/gpl-2.0.html
 Copyright (C) 2024 rsriram. All rights reserved.
*/

/* --- Esedra courses (mu-plugins/esedra-courses.php; livi-child single-corso.php, taxonomy-*.php) --- */
.esedra-courses__grid { --cols: 3; display: grid; grid-template-columns: repeat(var(--cols), minmax(0, 1fr)); gap: 30px; }
.esedra-courses__grid--2 { --cols: 2; }
.esedra-courses__grid--4 { --cols: 4; }
@media (max-width: 1280px) { .esedra-courses__grid--3, .esedra-courses__grid--4 { --cols: 2; } }
@media (max-width: 767px) { .esedra-courses__grid { --cols: 1; gap: 20px; } }
body .esedra-course-card { display: flex; flex-direction: column; padding: 20px; background: #fff; border: 1px solid var(--wdtBorderColor, #dce2ec); border-radius: 10px; color: var(--wdtBodyTxtColor, #434a5c); text-decoration: none; transition: border-color .2s ease, box-shadow .2s ease; }
body .esedra-course-card[hidden] { display: none; }
body .esedra-course-card:hover, body .esedra-course-card:focus-visible { color: var(--wdtBodyTxtColor, #434a5c); border-color: var(--wdtPrimaryColor, #002060); box-shadow: 0 16px 32px -20px rgba(0, 32, 96, .5); }
body .esedra-course-card:focus-visible { outline: 3px solid var(--e-global-color-a7f0900, #f09000); outline-offset: 2px; }
.esedra-course-card__media { display: block; overflow: hidden; border-radius: 6px; aspect-ratio: 21 / 10; background: var(--wdtTertiaryColor, #eff3f9); }
.esedra-course-card__media img, .esedra-course-card__placeholder { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.esedra-course-card:hover .esedra-course-card__media img { transform: scale(1.04); }
.esedra-course-card__body { display: flex; flex: 1 1 auto; flex-direction: column; align-items: flex-start; gap: 10px; padding-top: 18px; }
.esedra-course-card__area { padding: 3px 10px; border-radius: 4px; background: var(--wdtPrimaryColor, #002060); color: #fff; font-size: .78rem; font-weight: 600; line-height: 1.5; letter-spacing: .02em; }
body .esedra-course-card .esedra-course-card__title { margin: 0; font-family: var(--wdtFontTypo_Base, 'Raleway', sans-serif); font-size: 1.25rem; font-weight: 700; line-height: 1.35; letter-spacing: 0; color: var(--wdtPrimaryColor, #002060); transition: color .2s ease; }
body .esedra-course-card:hover .esedra-course-card__title { color: var(--wdtLinkHoverColor, #b86a00); }
.esedra-course-card__excerpt { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 4; font-size: .95rem; line-height: 1.65; }
.esedra-course-card__sedi { display: flex; align-items: flex-start; gap: 6px; width: 100%; margin-top: auto; padding-top: 12px; border-top: 1px solid var(--wdtBorderColor, #dce2ec); color: var(--wdtPrimaryColor, #002060); font-size: .875rem; font-weight: 600; line-height: 1.45; }
.esedra-course-card__sedi svg { flex: none; margin-top: 1px; color: var(--e-global-color-a7f0900, #f09000); }
@media (prefers-reduced-motion: reduce) { .esedra-course-card__media img { transition: none; } .esedra-course-card:hover .esedra-course-card__media img { transform: none; } }
/* chips: home area tabs and catalogue filters (Livi styles every button as a solid primary button: reset) */
body .esedra-chip { display: inline-flex; align-items: center; min-height: 0; margin: 0; padding: 9px 18px; border: 1px solid var(--wdtBorderColor, #dce2ec); border-radius: 999px; background: #fff; box-shadow: none; color: var(--wdtPrimaryColor, #002060); font-family: var(--wdtFontTypo_Base, 'Raleway', sans-serif); font-size: .9rem; font-weight: 600; line-height: 1.2; letter-spacing: 0; text-transform: none; cursor: pointer; transition: background-color .2s ease, border-color .2s ease, color .2s ease; }
body .esedra-chip:hover, body .esedra-chip:focus-visible { border-color: var(--wdtPrimaryColor, #002060); background: #fff; color: var(--wdtPrimaryColor, #002060); }
body .esedra-chip[aria-pressed="true"] { border-color: var(--wdtPrimaryColor, #002060); background: var(--wdtPrimaryColor, #002060); color: #fff; }
body .esedra-chip:focus-visible { outline: 3px solid var(--e-global-color-a7f0900, #f09000); outline-offset: 2px; }
.esedra-courses__tabs { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 0 0 36px; }
/* catalogue filter panel */
.esedra-courses__filters { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "search status" "area area" "sede sede"; align-items: center; gap: 16px 28px; margin: 0 0 32px; padding: 24px; border: 1px solid var(--wdtBorderColor, #dce2ec); border-radius: 10px; background: var(--wdtTertiaryColor, #eff3f9); }
.esedra-courses__search { grid-area: search; position: relative; display: block; max-width: 560px; margin: 0; }
.esedra-courses__search svg { position: absolute; top: 50%; left: 16px; color: var(--wdtPrimaryColor, #002060); transform: translateY(-50%); pointer-events: none; }
body .esedra-courses__search input[type="search"] { width: 100%; height: auto; margin: 0; padding: 12px 18px 12px 46px; border: 1px solid var(--wdtBorderColor, #dce2ec); border-radius: 999px; background: #fff; color: var(--wdtBodyTxtColor, #434a5c); font-size: 1rem; line-height: 1.4; text-transform: none; }
body .esedra-courses__search input[type="search"]:focus { border-color: var(--wdtPrimaryColor, #002060); outline: none; box-shadow: 0 0 0 3px rgba(0, 32, 96, .12); }
.esedra-courses__group { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.esedra-courses__group:nth-of-type(1) { grid-area: area; }
.esedra-courses__group:nth-of-type(2) { grid-area: sede; }
.esedra-courses__group-label { min-width: 132px; margin-right: 4px; color: var(--wdtPrimaryColor, #002060); font-size: .9rem; font-weight: 700; }
.esedra-courses__status { grid-area: status; display: flex; align-items: center; gap: 14px; margin: 0; color: var(--wdtPrimaryColor, #002060); font-weight: 700; white-space: nowrap; }
body .esedra-courses__reset { margin: 0; padding: 0; border: 0; background: none; box-shadow: none; color: var(--wdtLinkHoverColor, #b86a00); font: inherit; font-weight: 600; text-decoration: underline; text-transform: none; letter-spacing: 0; cursor: pointer; }
body .esedra-courses__reset:hover { background: none; color: var(--wdtPrimaryColor, #002060); }
.esedra-courses__reset[hidden] { display: none; }
.esedra-courses__none { padding: 48px 20px; border: 1px dashed var(--wdtBorderColor, #dce2ec); border-radius: 10px; text-align: center; }
.esedra-courses__none p { margin: 0; }
@media (max-width: 767px) {
	.esedra-courses__filters { grid-template-columns: 1fr; grid-template-areas: "search" "area" "sede" "status"; padding: 18px; }
	.esedra-courses__group-label { flex: 0 0 100%; min-width: 0; }
}
/* area cards: [esedra_aree] (photo cards on the home, compact on the catalogue) */
.esedra-areas { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 30px; }
@media (max-width: 1024px) { .esedra-areas { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; } }
body .esedra-area-card { display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 20px; border: 1px solid var(--wdtBorderColor, #dce2ec); border-radius: 10px; background: #fff; color: var(--wdtPrimaryColor, #002060); text-align: center; text-decoration: none; transition: border-color .2s ease, box-shadow .2s ease; }
body .esedra-area-card:hover, body .esedra-area-card:focus-visible { border-color: var(--wdtPrimaryColor, #002060); box-shadow: 0 16px 32px -20px rgba(0, 32, 96, .5); color: var(--wdtPrimaryColor, #002060); }
.esedra-area-card__media { display: block; width: 100%; overflow: hidden; border-radius: 6px; aspect-ratio: 21 / 10; }
.esedra-area-card__media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.esedra-area-card__name { font-size: 1.2rem; font-weight: 600; line-height: 1.3; }
.esedra-areas--image .esedra-area-card__count { order: -1; margin-top: 6px; padding: 3px 10px; border-radius: 4px; background: var(--wdtPrimaryColor, #002060); color: #fff; font-size: .78rem; font-weight: 600; line-height: 1.5; }
.esedra-areas--image .esedra-area-card__media { order: -2; }
.esedra-areas--compact .esedra-area-card { align-items: flex-start; gap: 2px; padding: 16px 20px; text-align: left; }
.esedra-areas--compact .esedra-area-card__name { font-size: 1rem; font-weight: 700; }
.esedra-areas--compact .esedra-area-card__count { color: var(--wdtBodyTxtColor, #434a5c); font-size: .9rem; }
/* course page */
.esedra-course__media img { display: block; width: 100%; height: auto; aspect-ratio: 21 / 9; border-radius: 10px; object-fit: cover; }
.esedra-course__head { margin: 24px 0 0; padding: 0 0 24px; border-bottom: 1px solid var(--wdtBorderColor, #dce2ec); }
.esedra-course__facts { display: flex; flex-wrap: wrap; gap: 8px 40px; margin: 0; }
.esedra-course__facts > div { display: flex; align-items: baseline; gap: 8px; }
.esedra-course__facts dt { margin: 0; color: var(--wdtPrimaryColor, #002060); font-weight: 700; }
.esedra-course__facts dt::after { content: ":"; }
.esedra-course__facts dd { margin: 0; }
.esedra-course__facts a { font-weight: 600; }
.esedra-course__layout { display: grid; grid-template-columns: minmax(0, 1fr) 380px; align-items: start; gap: 40px; margin-top: 30px; }
.esedra-course__body { padding: 36px 40px; border-radius: 10px; background: var(--wdtTertiaryColor, #eff3f9); }
.esedra-course__body > :first-child { margin-top: 0; }
.esedra-course__body > :last-child { margin-bottom: 0; }
.esedra-course__body h3 { margin: 1.6em 0 .5em; font-size: 1.5rem; }
.esedra-course__body h4 { margin: 1.2em 0 .4em; font-size: 1.15rem; }
.esedra-course__body ul { margin-bottom: 1em; }
.esedra-course__body iframe { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; margin: 0 0 1.5em; border: 0; }
.esedra-course-related { margin: 90px 0 0; }
/* the theme container has no bottom padding (Elementor sections bring their own): leave room above the footer */
.esedra-course, .esedra-course-archive { margin-bottom: 110px; }
.esedra-course:has(+ .esedra-course-related) { margin-bottom: 0; }
.esedra-course-related { margin-bottom: 110px; }
.esedra-course-related__title { margin: 0 0 36px; text-align: center; }
.esedra-course-related__more { margin: 36px 0 0; text-align: center; }
@media (max-width: 1024px) {
	.esedra-course__layout { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 767px) {
	.esedra-course__media img { aspect-ratio: 16 / 10; }
	.esedra-course__body { padding: 24px 20px; }
	.esedra-course-related { margin-top: 60px; }
	.esedra-course, .esedra-course-archive, .esedra-course-related { margin-bottom: 70px; }
	.esedra-course:has(+ .esedra-course-related) { margin-bottom: 0; }
}
/* area / sede listings */
.esedra-course-archive__intro { max-width: 760px; margin: 0 auto 40px; text-align: center; }
.esedra-course-archive__links { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 28px; margin: 0; font-weight: 600; }
/* --- end Esedra courses --- */
/* Page loader (Livi "custom loader" + Esedra "ef" mark from the customizer): breathing mark over an orange progress line */
.pre-loader.custom_loader .loader-inner { line-height: 0; }
.pre-loader.custom_loader .loader-text { display: inline-block; padding: 0 0 34px; }
.pre-loader.custom_loader .loader-text::before { top: auto; bottom: 0; left: 50%; right: auto; width: 140px; height: 3px; margin: 0 0 0 -70px; border-radius: 3px; background: #e3e9f3; animation: none; }
.pre-loader.custom_loader .loader-text::after { top: auto; bottom: 0; left: 50%; right: auto; width: 46px; height: 3px; margin: 0 0 0 -70px; border-radius: 3px; opacity: 1; background: #f09000; animation: esedraLoaderBar 1.2s ease-in-out infinite alternate; }
.pre-loader.custom_loader .pre_loader_image { display: block; width: 96px; height: auto; animation: esedraLoaderMark 1.2s ease-in-out infinite alternate; }
@keyframes esedraLoaderBar { from { transform: translateX(0); } to { transform: translateX(94px); } }
@keyframes esedraLoaderMark { from { transform: scale(.94); opacity: .75; } to { transform: scale(1); opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .pre-loader.custom_loader .loader-text::after, .pre-loader.custom_loader .pre_loader_image { animation: none; } }
/* --- Navy redesign (2026-10-06): logo navy is the primary colour, logo orange the one accent --- */
/* heading separators default to the accent orange (widgets with an explicit colour keep theirs) */
body .wdt-heading-holder > .wdt-heading-separator-wrapper .wdt-separator-line { background-color: var(--e-global-color-a7f0900, #f09000); }
/* navy sections and footer: links white, hover orange (the theme hover is the deep navy, invisible here) */
.esedra-on-navy a:not(.button):not(.elementor-button):not(.wdt-button),
#footer .esedra-on-navy.wdt-dark-bg a:not(.button):not(.elementor-button) { color: #fff; }
.esedra-on-navy a:not(.button):not(.elementor-button):not(.wdt-button):hover,
#footer .esedra-on-navy.wdt-dark-bg a:not(.button):not(.elementor-button):hover { color: var(--e-global-color-a7f0900, #f09000); }
/* single post: the newest/oldest post showed a "Not available to show!" placeholder (red no-entry image) */
.entry-post-navigation .no-post { visibility: hidden; }
/* whole-card links (script in mu-plugins/esedra-site.php adds .esedra-card-link) */
.esedra-card-link { cursor: pointer; }
.esedra-card-link:hover h3 a, .esedra-card-link:hover .entry-title a { color: var(--wdtLinkHoverColor); }
/* footer legal links: on phones they wrap, and the "|" dividers dangled at line ends → no dividers, spaced items */
@media (max-width: 767px) {
	.elementor-element-4943625 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item::after { display: none; }
	.elementor-element-4943625 .elementor-icon-list-items.elementor-inline-items { column-gap: 18px; row-gap: 6px; }
}
/* Sedi page cards (class set by source/scripts/sedi-redesign.php): text inset from the card edge, photo clipped to the rounded card */
body .esedra-sedi-cards .wdt-image-box-holder .wdt-content-item { overflow: hidden; }
body .esedra-sedi-cards .wdt-image-box-holder .wdt-content-item .wdt-content-detail-group { padding: 22px 26px 28px; }
@media (max-width: 767px) { body .esedra-sedi-cards .wdt-image-box-holder .wdt-content-item .wdt-content-detail-group { padding: 18px 20px 24px; } }
/* --- end navy redesign --- */

/* client fixes 2026-10-06 */
/* /sedi/ has 5 cards (Online removed): centre the second row instead of leaving an empty third slot */
body .esedra-sedi-cards .wdt-column-wrapper { justify-content: center; }
body .esedra-center-row > .elementor-container { justify-content: center; }
/* --- Design pass 6 (2026-10-06, source/extracted/design-proposal.md #2, #3, mobile hero) --- */
/* course cards: full-bleed photo with the area tag on it, orange bar that grows on hover */
body .esedra-course-card { position: relative; padding: 0; overflow: hidden; border-radius: 12px; border-color: #e3e8f0; transition: border-color .2s ease, box-shadow .25s ease, transform .25s ease; }
body .esedra-course-card::after { content: ""; position: absolute; right: 0; bottom: 0; left: 0; height: 3px; background: var(--e-global-color-a7f0900, #f09000); transform: scaleX(0); transform-origin: left; transition: transform .35s ease; }
body .esedra-course-card:hover, body .esedra-course-card:focus-visible { transform: translateY(-4px); border-color: #e3e8f0; box-shadow: 0 22px 40px -24px rgba(0, 22, 63, .55); }
body .esedra-course-card:hover::after, body .esedra-course-card:focus-visible::after { transform: scaleX(1); }
.esedra-course-card__media { position: relative; border-radius: 0; aspect-ratio: 16 / 10; }
.esedra-course-card__area { position: absolute; top: 14px; left: 14px; padding: 5px 11px; border-radius: 999px; background: var(--wdtSecondaryColor, #00163f); box-shadow: 0 4px 14px -6px rgba(0, 22, 63, .6); }
.esedra-course-card__body { gap: 10px; padding: 20px 22px 22px; }
body .esedra-course-card .esedra-course-card__title { font-size: 1.22rem; }
.esedra-course-card__excerpt { -webkit-line-clamp: 3; }
@media (prefers-reduced-motion: reduce) { body .esedra-course-card, body .esedra-course-card::after { transition: none; } body .esedra-course-card:hover { transform: none; } }
/* home area cards: photo tiles, orange count and a rule that grows on hover */
.esedra-areas--image { gap: 24px; }
body .esedra-areas--image .esedra-area-card { position: relative; isolation: isolate; justify-content: flex-end; align-items: flex-start; gap: 6px; min-height: 420px; padding: 28px 26px; overflow: hidden; border: 0; border-radius: 12px; color: #fff; text-align: left; }
body .esedra-areas--image .esedra-area-card:hover, body .esedra-areas--image .esedra-area-card:focus-visible { color: #fff; box-shadow: 0 24px 44px -26px rgba(0, 22, 63, .7); }
.esedra-areas--image .esedra-area-card::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(0, 22, 63, 0) 30%, rgba(0, 22, 63, .35) 55%, rgba(0, 22, 63, .9) 100%); }
.esedra-areas--image .esedra-area-card__media { position: absolute; inset: 0; z-index: -2; border-radius: 0; aspect-ratio: auto; }
.esedra-areas--image .esedra-area-card__media img { transition: transform .6s ease; }
.esedra-areas--image .esedra-area-card:hover .esedra-area-card__media img { transform: scale(1.06); }
.esedra-areas--image .esedra-area-card__count { order: -1; margin: 0; padding: 0; background: none; color: var(--e-global-color-a7f0900, #f09000); font-size: .95rem; font-weight: 700; }
.esedra-areas--image .esedra-area-card__name { font-size: 1.55rem; font-weight: 700; line-height: 1.2; }
.esedra-areas--image .esedra-area-card__name::after { content: ""; display: block; width: 36px; height: 3px; margin-top: 14px; background: var(--e-global-color-a7f0900, #f09000); transition: width .35s ease; }
.esedra-areas--image .esedra-area-card:hover .esedra-area-card__name::after { width: 84px; }
@media (max-width: 1024px) { body .esedra-areas--image .esedra-area-card { min-height: 340px; } }
@media (max-width: 767px) {
	.esedra-areas--image { gap: 12px; }
	body .esedra-areas--image .esedra-area-card { min-height: 250px; padding: 18px 16px; }
	.esedra-areas--image .esedra-area-card__name { font-size: 1.1rem; }
	.esedra-areas--image .esedra-area-card__count { font-size: .85rem; }
}
@media (prefers-reduced-motion: reduce) { .esedra-areas--image .esedra-area-card__media img, .esedra-areas--image .esedra-area-card__name::after { transition: none; } }
/* "in numeri" bands (class set by source/scripts/design-numbers-band.php): big orange figures on deep navy */
body .esedra-numbers .wdt-heading-title, body .esedra-numbers .wdt-heading-title-wrapper, body .esedra-numbers .wdt-heading-subtitle { color: #fff; }
body .esedra-numbers .wdt-content-counter-number, body .esedra-numbers .wdt-content-counter-number * { font-family: var(--e-global-typography-primary-font-family, 'Julius Sans One'), sans-serif; font-size: clamp(52px, 5.6vw, 84px); line-height: 1; color: var(--e-global-color-a7f0900, #f09000); }
body .esedra-numbers .wdt-counter-holder [class*="title"], body .esedra-numbers .wdt-counter-holder p { color: rgba(255, 255, 255, .85); font-size: 1.05rem; }
body .esedra-numbers .wdt-counter-holder [class*="icon"] { display: none; }
body .esedra-numbers .wdt-button { border-color: var(--e-global-color-a7f0900, #f09000); background: var(--e-global-color-a7f0900, #f09000); color: var(--wdtSecondaryColor, #00163f); }
body .esedra-numbers .wdt-button:hover { border-color: #fff; background: #fff; color: var(--wdtSecondaryColor, #00163f); }
@media (max-width: 767px) {
	/* figures 2x2 instead of four stacked rows */
	body .esedra-numbers .wdt-counter-holder > .wdt-column-wrapper { flex-wrap: wrap; }
	body .esedra-numbers .wdt-counter-holder > .wdt-column-wrapper > .wdt-column { flex: 0 0 50%; width: 50%; max-width: 50%; }
	body .esedra-numbers .wdt-content-counter-number, body .esedra-numbers .wdt-content-counter-number * { font-size: 46px; }
}
/* white cards inside navy bands (e.g. "5 sedi in Toscana") keep navy text: the navy-band link rule would make it white on white */
body .esedra-on-navy .wdt-support-block-a .wdt-content-item a:not(.wdt-button), body .esedra-on-navy .wdt-support-block-a .wdt-content-item { color: var(--wdtPrimaryColor, #002060); }
body .esedra-on-navy .wdt-support-block-a .wdt-content-item a:not(.wdt-button):hover { color: var(--wdtLinkHoverColor, #b86a00); }
/* home hero on phones: the photo shows through (the 86% veil covered it), text keeps contrast with a soft shadow */
@media (max-width: 767px) {
	.wdt-slider-3-section-temp .wdt-heading-holder, .wdt-slider-3-section-temp .elementor-widget-text-editor, .wdt-slider-3-section-temp .wdt-content-item { text-shadow: 0 1px 14px rgba(84, 42, 0, .75); }
}
/* QA round (2026-10-06) */
body .esedra-numbers .wdt-counter-holder .wdt-content-media-group { display: none; } /* the hidden icon kept a 22px indent */
body .esedra-numbers--center .wdt-counter-holder .wdt-content-item { justify-content: center !important; text-align: center !important; } /* beats the per-widget alignment Elementor prints */
body .esedra-numbers .wdt-icon-anim-style-b .elementor-icon { color: var(--e-global-color-a7f0900, #f09000); opacity: .55; } /* the "<<" ornament was navy on navy */
.esedra-areas--image .esedra-area-card__count { padding: 3px 10px; border-radius: 4px; background: rgba(0, 22, 63, .88); } /* orange on a photo lacked contrast */
body .esedra-areas--image .esedra-area-card:focus-visible, body .esedra-courses__reset:focus-visible { outline: 3px solid var(--e-global-color-a7f0900, #f09000) !important; outline-offset: 3px; }
.esedra-course-related .esedra-courses__grid { grid-template-columns: repeat(auto-fit, minmax(280px, 400px)); justify-content: center; }
/* long course titles in the title banner: wrap between words, never hyphenate mid-word */
body .main-title-section h1 { hyphens: manual; -webkit-hyphens: manual; word-break: normal; overflow-wrap: normal; }
@media (max-width: 480px) { body.single-corso .main-title-section h1 { font-size: 1.6rem; letter-spacing: 0; } }
/* galleries in course descriptions: real thumbnails in a 3-up grid (2-up on phones) */
.esedra-course__body .gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0 0 1.5em; }
.esedra-course__body .gallery br { display: none; }
.esedra-course__body .gallery .gallery-item { width: auto !important; max-width: none; margin: 0 !important; padding: 0; }
.esedra-course__body .gallery img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; border: 0 !important; border-radius: 8px; object-fit: cover; }
.esedra-course__body h2 { margin: 1.6em 0 .5em; font-size: 1.5rem; }
.esedra-course__body h3 { margin: 1.2em 0 .4em; font-size: 1.15rem; }
@media (max-width: 767px) {
	.esedra-course__body .gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	/* catalogue filters on phones: one swipeable row per group instead of a tall wall of chips */
	.esedra-courses__group { flex-wrap: nowrap; overflow-x: auto; margin: 0 -18px; padding: 0 18px 4px; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
	.esedra-courses__group::-webkit-scrollbar { display: none; }
	.esedra-courses__group-label { position: sticky; left: 0; flex: 0 0 auto; min-width: 0; margin-right: 6px; padding-right: 6px; background: var(--wdtTertiaryColor, #eff3f9); }
	body .esedra-chip { flex: 0 0 auto; min-height: 44px; }
	body .esedra-numbers .wdt-button { letter-spacing: .02em; }
	body .wdt-slider-3-section-temp > .elementor-background-overlay { background: linear-gradient(180deg, rgba(240, 144, 0, .5) 0%, rgba(168, 95, 0, .72) 45%, rgba(168, 95, 0, .88) 100%) !important; }
}
/* hero text keeps contrast over the photos on every screen (veil orange since 2026-10-13: client-fix-hero-orange.php) */
.wdt-slider-3-section-temp .wdt-heading-holder { text-shadow: 0 1px 10px rgba(84, 42, 0, .55); }
/* --- end design pass 6 --- */

/* Footer social icons: the theme fills them navy on the navy footer on hover — orange disc with a navy icon instead. */
.wdt-dark-bg.wdt-common-social-icons ul.elementor-icon-list-items li.elementor-icon-list-item a::before { background-color: var(--e-global-color-a7f0900, #f09000); }
.wdt-dark-bg.wdt-common-social-icons ul.elementor-icon-list-items li.elementor-icon-list-item a:hover { background-color: var(--e-global-color-a7f0900, #f09000); border-color: var(--e-global-color-a7f0900, #f09000); }
.wdt-dark-bg.wdt-common-social-icons ul.elementor-icon-list-items li.elementor-icon-list-item a:hover .elementor-icon-list-icon i { color: var(--wdtPrimaryColor); }
.wdt-dark-bg.wdt-common-social-icons ul.elementor-icon-list-items li.elementor-icon-list-item a:hover .elementor-icon-list-icon svg { fill: var(--wdtPrimaryColor); }

/* Patronage logo inside a course text (e.g. AIGAE on Guida Ambientale). */
.esedra-course__body .esedra-patrocinio img { width: 200px; height: auto; display: block; }

/* "Richiedi informazioni" under the course facts: jumps to the form, which sits below the whole text up to 1024px;
   wider, the form is already beside the text and the button is hidden. */
.esedra-course__cta { margin-top: 20px; }
@media (min-width: 1025px) { .esedra-course__cta { display: none; } }
.esedra-course__aside { scroll-margin-top: calc(var(--sticky-height, 0px) + 24px); }
@media (prefers-reduced-motion: no-preference) { html:has(.esedra-course__cta) { scroll-behavior: smooth; } }
@media (max-width: 767px) { .esedra-course__cta { display: block; text-align: center; } }

/* Course descriptions built with Elementor (one section of Heading / Text Editor / Video / Gallery widgets inside
   .esedra-course__body): same rhythm as the old HTML text. */
.esedra-course__body .elementor-section .elementor-widget-wrap { align-content: flex-start; }
.esedra-course__body .elementor-widget:not(:last-child) { margin-bottom: 20px; margin-block-end: 20px; }
.esedra-course__body .elementor-widget-heading:not(:first-child) { margin-top: 2.2em; }
.esedra-course__body .elementor-widget-heading .elementor-heading-title { margin: 0; font-size: 1.5rem; line-height: 1.3; }
.esedra-course__body .elementor-widget-text-editor > :last-child,
.esedra-course__body .elementor-widget-text-editor > .elementor-widget-container > :last-child { margin-bottom: 0; }
.esedra-course__body .elementor-widget-text-editor > :first-child,
.esedra-course__body .elementor-widget-text-editor > .elementor-widget-container > :first-child { margin-top: 0; }
.esedra-course__body .elementor-widget-video .elementor-wrapper { border-radius: 8px; overflow: hidden; }
.esedra-course__body .elementor-widget-html iframe { margin-bottom: 0; }

/* "Sedi e date" widget (livi-child/inc/course-dates-widget.php): a table, stacked cards on phones. */
.esedra-dates__title { margin: 0 0 .6em; font-size: 1.5rem; line-height: 1.3; }
body .esedra-dates__table { width: 100%; margin: 0; border: 1px solid var(--wdtBorderColor, #dce2ec); border-collapse: separate; border-spacing: 0; border-radius: 10px; overflow: hidden; background: #fff; font-size: 1rem; line-height: 1.45; }
body .esedra-dates__table th, body .esedra-dates__table td { padding: 14px 18px; font-size: 1rem; line-height: 1.45; border: 0; border-bottom: 1px solid var(--wdtBorderColor, #dce2ec); text-align: left; vertical-align: top; }
body .esedra-dates__table thead th { padding-top: 12px; padding-bottom: 12px; border-bottom: 0; background: var(--wdtPrimaryColor, #002060); color: #fff; font-size: .8rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
body .esedra-dates__table tbody th { background: transparent; color: var(--wdtPrimaryColor, #002060); font-weight: 700; } /* Livi paints every th navy */
body .esedra-dates__table tbody tr:last-child > * { border-bottom: 0; }
.esedra-dates__note { margin-top: 12px; font-size: .95rem; }
.esedra-dates__note > :last-child { margin-bottom: 0; }
@media (max-width: 767px) {
	body .esedra-dates__table, .esedra-dates__table tbody, .esedra-dates__table tr, .esedra-dates__table th, .esedra-dates__table td { display: block; }
	.esedra-dates__table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
	body .esedra-dates__table { border: 0; border-radius: 0; background: none; }
	body .esedra-dates__table tr { margin: 0 0 12px; border: 1px solid var(--wdtBorderColor, #dce2ec); border-radius: 10px; overflow: hidden; background: #fff; }
	body .esedra-dates__table tbody th { padding: 12px 16px; background: var(--wdtPrimaryColor, #002060); color: #fff; }
	body .esedra-dates__table td { display: grid; grid-template-columns: 9.5em minmax(0, 1fr); gap: 12px; padding: 10px 16px; }
	body .esedra-dates__table tbody tr > :last-child { border-bottom: 0; }
	.esedra-dates__table td::before { content: attr(data-label); color: var(--wdtPrimaryColor, #002060); font-weight: 700; }
}
