/* ==========================================================================
   Formazione Srl — catalogo.css · Archivio Corsi
   Caricare dopo style.css solo sull'archivio del CPT "corso":
     if ( is_post_type_archive( 'corso' ) || is_tax( [ 'area_corso', 'livello', 'modalita' ] ) )
       wp_enqueue_style( 'fz-catalogo', get_stylesheet_directory_uri() . '/assets/css/catalogo.css', [ 'fz-style' ], '1.0' );
   Usa solo i token di style.css. Card: estende .fz-course-card__inner (stesso hover della homepage).
   ========================================================================== */

body.fz-wordpress .fz-catalog{ padding-inline: var(--inset); }

/* Refinement: copertina sempre presente, titoli brevi e interazioni leggere. */
body.fz-wordpress .fz-catalog-card__media{ overflow: hidden; border-radius: var(--radius-md) var(--radius-md) 0 0; }
body.fz-wordpress .fz-catalog-card__media .fz-course-card__img{ width: 100%; display: block; object-fit: cover; transition: transform 300ms ease; }
body.fz-wordpress .fz-catalog-card .fz-catalog-card__title{ min-height: 2.5em; overflow-wrap: anywhere; }
body.fz-wordpress .fz-catalog-card .fz-catalog-card__subtitle{ display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
body.fz-wordpress .fz-catalog-card.fz-course-card__inner{ transition: transform 200ms ease, box-shadow 200ms ease, border-color 200ms ease; }
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  body.fz-wordpress .fz-catalog-card.fz-course-card__inner:hover{ transform: translateY(-2px); }
  body.fz-wordpress .fz-catalog-card:hover .fz-course-card__img{ transform: scale(1.02); }
}
@media (prefers-reduced-motion: reduce) {
  body.fz-wordpress .fz-catalog-card.fz-course-card__inner,body.fz-wordpress .fz-catalog-card .fz-course-card__img,body.fz-wordpress .fz-catalog-card .fz-catalog-card__cta .fz-icon{ transform: none; transition: none; }
  body.fz-wordpress .fz-catalog-card:is(:hover, :focus-within) .fz-catalog-card__cta .fz-icon{ transform: none; }
}

/* Breadcrumb (stesso componente della pagina corso) */
body.fz-wordpress .fz-catalog-page .fz-breadcrumb{ padding-top: var(--space-6); }
body.fz-wordpress .fz-breadcrumb__list{ display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; font-size: var(--fs-sm); color: var(--color-text-muted); }
body.fz-wordpress .fz-breadcrumb__list li{ display: inline-flex; align-items: center; gap: 10px; }
body.fz-wordpress .fz-breadcrumb__list li + li::before{ content: "/"; color: var(--color-border-strong); }
body.fz-wordpress .fz-breadcrumb a{ color: var(--color-text-muted); transition: color var(--dur) var(--ease); }
body.fz-wordpress .fz-breadcrumb a:hover{ color: var(--color-accent); }
body.fz-wordpress .fz-breadcrumb [aria-current]{ color: var(--color-text); font-weight: 500; }

/* Hero compatta: testo a sinistra, ricerca a destra (allineata in basso) */
body.fz-wordpress .fz-catalog-hero{ display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, 440px); gap: var(--space-8) var(--space-12); align-items: end; padding-top: var(--space-8); }
body.fz-wordpress .fz-catalog-hero__title{ font-family: var(--font-heading); font-size: clamp(2.25rem, 1.5rem + 2vw, 3rem); font-weight: 800; line-height: 1.06; letter-spacing: -.035em; color: var(--color-navy); text-wrap: balance; }
body.fz-wordpress .fz-catalog-hero__lead{ margin-top: var(--space-4); max-width: 620px; font-size: var(--fs-lead); line-height: 1.6; color: var(--color-text); text-wrap: pretty; }

/* Ricerca: Elementor Search Form con Classe "fz-search-field" */
body.fz-wordpress .fz-search-field{ position: relative; }
body.fz-wordpress .fz-search-field .fz-icon{ position: absolute; left: 18px; top: 50%; translate: 0 -50%; width: 20px; height: 20px; color: var(--color-text-muted); pointer-events: none; }
body.fz-wordpress .fz-search-field__input{ width: 100%; height: 52px; padding: 0 20px 0 50px; border: 1px solid var(--color-border-strong); border-radius: var(--radius-pill); background: #fff; font: inherit; font-size: 16px; color: var(--color-navy); text-overflow: ellipsis; transition: border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease); }
body.fz-wordpress .fz-search-field__input:focus-visible{ outline: 3px solid var(--color-focus); outline-offset: 2px; }
body.fz-wordpress .fz-search-field__input::placeholder{ color: var(--color-text-muted); }
body.fz-wordpress .fz-search-field__input:hover{ border-color: var(--color-accent); }
body.fz-wordpress .fz-search-field__input:focus{ outline: none; border-color: var(--color-accent); box-shadow: 0 0 0 3px rgba(59, 139, 234, .25); }
body.fz-wordpress .fz-search-field__input::-webkit-search-cancel-button{ cursor: pointer; }

/* Aree: chip con icona (stessa icona del mega menu), funzionano come filtro "Area" */
body.fz-wordpress .fz-areas{ display: flex; flex-wrap: wrap; gap: var(--space-2); margin-top: var(--space-10); }
body.fz-wordpress .fz-area-chip{ position: relative; }
body.fz-wordpress .fz-area-chip input,body.fz-wordpress .fz-chip input{ position: absolute; opacity: 0; width: 1px; height: 1px; }
body.fz-wordpress .fz-area-chip__box{ display: inline-flex; align-items: center; gap: 10px; min-height: 44px; padding: 0 16px 0 6px; border: 1px solid var(--color-border); border-radius: var(--radius-pill); background: #fff; cursor: pointer; font-size: 14.5px; font-weight: 500; color: var(--color-navy); white-space: nowrap; transition: background-color var(--dur) var(--ease), border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease); }
body.fz-wordpress .fz-area-chip__box--plain{ padding-left: 16px; }
body.fz-wordpress .fz-area-chip__icon{ display: grid; place-items: center; flex: none; width: 32px; height: 32px; border-radius: 50%; background: var(--color-background-blue); color: var(--color-accent); transition: background-color var(--dur) var(--ease); }
body.fz-wordpress .fz-area-chip__icon .fz-icon{ width: 17px; height: 17px; }
body.fz-wordpress .fz-area-chip:hover .fz-area-chip__box{ border-color: var(--color-accent); background: var(--color-background-soft); }
/* Selezionato: bordo doppio + testo blu + peso 600 (non solo colore) */
body.fz-wordpress .fz-area-chip input:checked + .fz-area-chip__box{ border-color: var(--color-accent); box-shadow: 0 0 0 1px var(--color-accent); background: var(--color-background-blue); color: var(--color-primary); font-weight: 600; }
body.fz-wordpress .fz-area-chip input:checked + .fz-area-chip__box .fz-area-chip__icon{ background: #fff; }
body.fz-wordpress :is(.fz-area-chip, .fz-chip) input:focus-visible + span{ outline: 3px solid var(--color-focus); outline-offset: 2px; }

/* Filtri Livello + Modalità */
body.fz-wordpress .fz-catalog-filters{ display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-4) var(--space-10); margin-top: var(--space-6); padding-block: var(--space-5); border-top: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); }
body.fz-wordpress .fz-filter{ display: flex; align-items: center; gap: var(--space-3); min-width: 0; }
body.fz-wordpress .fz-filter__label{ flex: none; font-size: var(--fs-eyebrow); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--color-text-muted); }
body.fz-wordpress .fz-filter__note{ flex-basis: 100%; margin: .25rem 0 0; font-size: .8125rem; line-height: 1.5; color: var(--color-text-muted); }
body.fz-wordpress .fz-chips{ display: flex; gap: 6px; }
body.fz-wordpress .fz-chip{ position: relative; }
body.fz-wordpress .fz-chip__box{ display: inline-flex; align-items: center; min-height: 36px; padding: 0 14px; border: 1px solid var(--color-border); border-radius: var(--radius-pill); background: #fff; cursor: pointer; font-size: 14px; font-weight: 500; color: var(--color-text); white-space: nowrap; transition: background-color var(--dur) var(--ease), border-color var(--dur) var(--ease), color var(--dur) var(--ease); }
body.fz-wordpress .fz-chip:hover .fz-chip__box{ border-color: var(--color-accent); color: var(--color-navy); }
body.fz-wordpress .fz-chip input:checked + .fz-chip__box{ border-color: var(--color-accent); box-shadow: 0 0 0 1px var(--color-accent); background: var(--color-background-blue); color: var(--color-primary); font-weight: 600; }

/* Risultati: conteggio + azzera + ordinamento */
body.fz-wordpress .fz-catalog-results{ display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-3) var(--space-6); margin-top: var(--space-10); }
body.fz-wordpress .fz-catalog-results__info{ display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px var(--space-4); }
body.fz-wordpress .fz-catalog-count{ font-family: var(--font-heading); font-size: 17px; font-weight: 700; color: var(--color-navy); }
body.fz-wordpress .fz-catalog-reset{ font-size: var(--fs-sm); font-weight: 600; color: var(--color-accent); text-decoration: underline; text-underline-offset: 3px; }
body.fz-wordpress .fz-catalog-reset:hover{ color: var(--color-primary); }
body.fz-wordpress .fz-catalog-reset[hidden]{ display: none; }
body.fz-wordpress .fz-sort{ display: flex; align-items: center; gap: var(--space-2); font-size: var(--fs-sm); color: var(--color-text-muted); }
/* Ordinamento discreto: tipografia secondaria, niente aspetto da e-commerce */
body.fz-wordpress .fz-sort__select{ height: 36px; padding: 0 32px 0 12px; border: 1px solid var(--color-border); border-radius: var(--radius-pill); background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235f6b7d' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center / 14px; appearance: none; font: inherit; font-size: 13.5px; font-weight: 500; color: var(--color-text); cursor: pointer; transition: border-color var(--dur) var(--ease); }
body.fz-wordpress .fz-sort__select:hover{ border-color: var(--color-accent); }

/* Griglia card: 3 / 2 / 1 colonne. Elementor: Loop Grid con Classe "fz-catalog-grid" */
body.fz-wordpress .fz-catalog-grid,body.fz-wordpress .elementor-element.fz-catalog-grid .elementor-loop-container{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-6) var(--space-5); margin-top: var(--space-6); }
body.fz-wordpress .fz-catalog-grid[hidden]{ display: none; }
body.fz-wordpress .fz-catalog__item[hidden]{ display: none; }

/* Card catalogo (Loop Item "Card catalogo"): immagine 2:1, titolo > sottotitolo > dati > prezzo > CTA */
body.fz-wordpress .fz-catalog-card .fz-course-card__img{ aspect-ratio: 2 / 1; }
body.fz-wordpress .fz-catalog-card__body{ flex: 1; display: flex; flex-direction: column; padding: var(--space-5); }
body.fz-wordpress .fz-catalog-card__main{ flex: 1; } /* spinge il piede (prezzo + CTA) sempre in fondo: stessa linea in tutta la riga */
body.fz-wordpress .fz-catalog-card__area{ font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--color-text-muted); }
body.fz-wordpress .fz-catalog-card__title{ margin-top: 6px; font-family: var(--font-heading); font-size: 19px; font-weight: 800; line-height: 1.25; letter-spacing: -.02em; color: var(--color-navy); text-wrap: balance; }
body.fz-wordpress .fz-catalog-card__subtitle{ margin-top: var(--space-2); font-size: 15px; line-height: 1.5; color: var(--color-text); text-wrap: pretty; }
body.fz-wordpress .fz-catalog-card .fz-meta{ align-self: auto; margin-top: var(--space-4); }
/* Explicit directions also apply to Elementor's native flex containers. */
body.fz-wordpress .fz-catalog-card__foot{ display: flex; flex-direction: row; flex-wrap: nowrap; align-items: center; justify-content: space-between; gap: var(--space-3); margin-top: var(--space-5); padding-top: var(--space-4); border-top: 1px solid var(--color-border); }
body.fz-wordpress .fz-catalog-card__foot>.fz-price{ align-items:flex-start; text-align:left; min-width:0; flex:0 1 auto; }
body.fz-wordpress .fz-catalog-card__cta{ display: inline-flex; flex-direction: row; flex:0 0 auto; align-items: center; gap: 6px; min-height: 44px; font-size: 14.5px; font-weight: 600; color: var(--color-accent); white-space: nowrap; transition: color var(--dur) var(--ease); }
body.fz-wordpress .fz-catalog-card__cta .fz-icon{ width: 16px; height: 16px; stroke-width: 2; transition: transform var(--dur) var(--ease); }
body.fz-wordpress .fz-catalog-card:is(:hover, :focus-within) .fz-catalog-card__cta{ color: var(--color-primary); }
body.fz-wordpress .fz-catalog-card:is(:hover, :focus-within) .fz-catalog-card__cta .fz-icon{ transform: translateX(3px); }

/* Prezzo in card: più evidente dei dati, meno del titolo (18px vs 19px).
   Riga 1: [A partire da] importo · Riga 2: IVA. Altezza minima uguale per tutte le varianti,
   così il filo sopra il piede resta allineato tra card con prezzo fisso, "a partire da" e preventivo. */
body.fz-wordpress .fz-price{ display: flex; flex-direction: column; justify-content: flex-end; gap: 2px; min-height: 42px; }
body.fz-wordpress .fz-price__line{ display: flex; flex-wrap: wrap; align-items: baseline; column-gap: 6px; }
body.fz-wordpress .fz-price__label{ font-size: 13px; color: var(--color-text-muted); }
body.fz-wordpress .fz-price__amount{ font-family: var(--font-heading); font-size: 18px; font-weight: 800; line-height: 1.2; letter-spacing: -.01em; color: var(--color-navy); font-variant-numeric: tabular-nums; }
body.fz-wordpress .fz-price__amount--quote{ font-size: 15.5px; font-weight: 700; letter-spacing: 0; }
body.fz-wordpress .fz-price__vat{ font-size: 12.5px; line-height: 1.3; color: var(--color-text-muted); }

/* Nessun risultato */
body.fz-wordpress .fz-catalog-empty{ margin-top: var(--space-5); padding: var(--space-12) var(--space-8); text-align: center; background: var(--color-background-soft); border: 1px solid var(--color-border); border-radius: var(--radius-xl); }
body.fz-wordpress .fz-catalog-empty[hidden]{ display: none; }
body.fz-wordpress .fz-catalog-empty__title{ font-family: var(--font-heading); font-size: clamp(1.375rem, 1.1rem + .7vw, 1.625rem); font-weight: 800; letter-spacing: -.02em; color: var(--color-navy); text-wrap: balance; }
body.fz-wordpress .fz-catalog-empty__text{ max-width: 520px; margin: var(--space-3) auto 0; font-size: var(--fs-body); line-height: 1.6; color: var(--color-text); }
body.fz-wordpress .fz-catalog-empty .fz-btn-group{ justify-content: center; margin-top: var(--space-6); }

body.fz-wordpress .fz-catalog-page .fz-section--cta{ padding-top: var(--space-20); }

/* 1200–1439: card un po' più strette, gap e padding leggermente ridotti (font invariati) */
@media (min-width: 1200px) and (max-width: 1439px) {
  body.fz-wordpress .fz-catalog-grid,body.fz-wordpress .elementor-element.fz-catalog-grid .elementor-loop-container{ column-gap: var(--space-4); }
  body.fz-wordpress .fz-catalog-card__body{ padding: var(--space-5) 18px; }
}

/* Tablet ≤1199: 2 colonne, ricerca sotto il testo */
@media (max-width: 1199px) {
  body.fz-wordpress .fz-catalog-hero{ grid-template-columns: minmax(0, 1fr); padding-top: var(--space-6); gap: var(--space-8); }
  body.fz-wordpress .fz-search-field{ max-width: 560px; }
  body.fz-wordpress .fz-catalog-grid,body.fz-wordpress .elementor-element.fz-catalog-grid .elementor-loop-container{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.fz-wordpress .fz-catalog-filters{ gap: var(--space-4) var(--space-8); }
  body.fz-wordpress .fz-catalog-page .fz-section--cta{ padding-top: var(--space-16); }
}

/* Mobile ≤767: 1 colonna, aree e chip scorrono in orizzontale */
@media (max-width: 767px) {
  body.fz-wordpress .fz-catalog-page .fz-breadcrumb{ display: none; }
  body.fz-wordpress .fz-catalog-hero{ padding-top: var(--space-6); gap: var(--space-6); }
  body.fz-wordpress .fz-catalog-hero__lead{ font-size: var(--fs-body); }
  body.fz-wordpress .fz-areas,body.fz-wordpress .fz-chips{ flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; scroll-snap-type: x proximity; margin-inline: calc(var(--gutter) * -1); padding-inline: var(--gutter); }
  body.fz-wordpress .fz-areas::-webkit-scrollbar,body.fz-wordpress .fz-chips::-webkit-scrollbar{ display: none; }
  body.fz-wordpress .fz-area-chip,body.fz-wordpress .fz-chip{ flex: none; scroll-snap-align: start; }
  body.fz-wordpress .fz-areas{ margin-top: var(--space-8); padding-block: 2px; }
  body.fz-wordpress .fz-catalog-filters{ flex-direction: column; align-items: stretch; gap: var(--space-4); }
  body.fz-wordpress .fz-filter{ flex-direction: column; align-items: stretch; gap: var(--space-2); width: 100%; min-width: 0; }
  body.fz-wordpress .fz-filter .fz-chips{ min-width: 0; padding-block: 2px; }
  body.fz-wordpress .fz-chip__box{ min-height: 44px; padding: 0 16px; }
  body.fz-wordpress .fz-catalog-results{ margin-top: var(--space-8); }
  body.fz-wordpress .fz-sort__select{ height: 44px; font-size: 14px; }
  body.fz-wordpress .fz-catalog-grid,body.fz-wordpress .elementor-element.fz-catalog-grid .elementor-loop-container{ grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
  body.fz-wordpress .fz-catalog-card__body{ padding: var(--space-5) var(--space-4); }
  body.fz-wordpress .fz-catalog-empty{ padding: var(--space-10) var(--space-5); }
  body.fz-wordpress .fz-catalog-empty .fz-btn-group .fz-btn{ width: 100%; }
  /* Long CTA labels may wrap instead of widening the empty-result panel. */
  body.fz-wordpress .fz-catalog-empty .fz-btn-group .elementor-button.fz-btn{ max-width:100%; min-width:0; padding-inline:var(--space-4); white-space:normal; text-align:center; }
  body.fz-wordpress .fz-catalog-page .fz-section--cta{ padding-top: var(--space-12); }
  body.fz-wordpress .fz-catalog-page .fz-cta .fz-btn{ width: 100%; }
}

/* Compact native selectors and mobile Off-Canvas: approved site tokens. */
body.fz-wordpress .fz-catalog--compact .fz-catalog-hero{grid-template-columns:minmax(0,1fr);}
body.fz-wordpress .fz-catalog-toolbar{display:grid;grid-template-columns:minmax(280px,1fr) minmax(520px,1.8fr);align-items:end;gap:var(--space-5);margin-top:var(--space-8);width:100%;}
body.fz-wordpress .fz-catalog-search-block{display:flex;flex-direction:column;gap:var(--space-2);min-width:0;}
body.fz-wordpress .fz-catalog-control-label,
body.fz-wordpress .fz-catalog-selects .elementor-field-label{font:600 14px/1.4 var(--font-body);color:var(--color-text);}
body.fz-wordpress .fz-catalog-selects{min-width:0;width:100%;display:block;}
body.fz-wordpress .fz-catalog-selects .elementor-form-fields-wrapper{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(2,minmax(0,1fr));gap:var(--space-4);margin:0!important;}
body.fz-wordpress .fz-catalog-selects .elementor-field-group{width:100%;min-width:0;margin:0!important;padding:0!important;display:flex;flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:var(--space-2);}
body.fz-wordpress .fz-catalog-selects .elementor-field-label{padding:0;}
body.fz-wordpress .fz-catalog-selects .elementor-select-wrapper{width:100%;flex-basis:auto!important;flex-grow:0;}
body.fz-wordpress .fz-catalog-selects select{width:100%;min-width:0;height:52px;min-height:44px;padding:0 36px 0 16px;border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);background:var(--color-background);color:var(--color-navy);font:400 16px var(--font-body);cursor:pointer;}
body.fz-wordpress .fz-catalog-selects select:hover{border-color:var(--color-accent);}
body.fz-wordpress .fz-catalog-selects select:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px;}
body.fz-wordpress .fz-catalog-selects .elementor-select-wrapper::before{color:var(--color-text-muted);right:16px;}
body.fz-wordpress .fz-catalog-selects .elementor-field-type-submit{display:none;}
body.fz-wordpress .fz-catalog--compact .fz-catalog-results{margin-top:var(--space-5);gap:var(--space-3);align-items:center;}
body.fz-wordpress .fz-catalog--compact .fz-catalog-results__info{flex:1;min-width:0;}
body.fz-wordpress .fz-catalog--compact .fz-sort__select{height:44px;}
body.fz-wordpress .fz-catalog--compact .fz-catalog-reset{min-height:44px;display:inline-flex;align-items:center;}
body.fz-wordpress .fz-catalog-active{display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-4);}
body.fz-wordpress button.fz-catalog-active__chip{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:flex-start;gap:var(--space-3);max-width:100%;min-height:40px;padding:8px 14px;border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);background:var(--color-background-blue);color:var(--color-primary);font:500 14px/1.4 var(--font-body);text-align:left;}
body.fz-wordpress .fz-catalog-active__chip span:first-child{overflow-wrap:anywhere;}
body.fz-wordpress .fz-catalog-active__chip span:last-child{font-size:20px;flex:none;}
body.fz-wordpress button.fz-catalog-active__chip:hover{border-color:var(--color-accent);background:var(--color-accent-soft);}
body.fz-wordpress .fz-catalog--compact .fz-native-catalog{margin-top:var(--space-6);}
body.fz-wordpress .fz-catalog--compact .fz-catalog-note{display:block;margin-top:var(--space-3);}
body.fz-wordpress .fz-catalog-filter-note{max-width:760px;font:400 13px/1.55 var(--font-body);color:var(--color-text-muted);}
body.fz-wordpress .fz-catalog--compact .fz-catalog-note--mobile{margin-top:0;}
body.fz-wordpress .fz-catalog-mobile-trigger{display:none!important;}
body.fz-wordpress .fz-catalog-drawer{--e-off-canvas-width:100%;--e-off-canvas-justify-content:center;--e-off-canvas-align-items:flex-end;}
body.fz-wordpress .fz-catalog-drawer .e-off-canvas__content{height:auto;max-height:calc(100dvh - 16px);overflow-y:auto;overscroll-behavior:contain;border-radius:var(--radius-xl) var(--radius-xl) 0 0;background:var(--color-background);box-shadow:var(--shadow-float);}
body.fz-wordpress .fz-catalog-drawer__shell{display:flex;flex-direction:column;gap:var(--space-5);padding:var(--space-6) var(--space-5) calc(var(--space-5) + env(safe-area-inset-bottom));}
body.fz-wordpress .fz-catalog-drawer__head{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:var(--space-4);}
body.fz-wordpress .fz-catalog-drawer__title{font:800 23px/1.15 var(--font-heading);letter-spacing:-.02em;color:var(--color-navy);}
body.fz-wordpress .fz-catalog-drawer__close{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;padding:12px;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-background-soft);color:var(--color-text);}
body.fz-wordpress .fz-catalog-drawer__close .elementor-button-icon,
body.fz-wordpress .fz-catalog-drawer__close svg{color:var(--color-text);}
body.fz-wordpress .fz-catalog-drawer__close svg{width:16px;height:16px;fill:currentColor;}
body.fz-wordpress .fz-catalog-selects--mobile .elementor-form-fields-wrapper{grid-template-columns:minmax(0,1fr);gap:var(--space-5);}
body.fz-wordpress .fz-catalog-drawer__actions{position:sticky;bottom:0;display:flex;flex-direction:row;align-items:center;gap:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border);background:var(--color-background);}
body.fz-wordpress .fz-catalog-draft-reset{display:inline-flex;align-items:center;min-height:48px;font:600 14px var(--font-body);color:var(--color-primary);text-decoration:underline;text-underline-offset:3px;}
body.fz-wordpress .fz-catalog-apply{flex:1;min-height:48px;justify-content:center;white-space:nowrap;}
@media(min-width:768px) and (max-width:1100px){
 body.fz-wordpress .fz-catalog-toolbar{grid-template-columns:minmax(0,1fr);gap:var(--space-5);}
 body.fz-wordpress .fz-catalog-toolbar .fz-search-field{max-width:none;}
}
@media(max-width:767px){
 body.fz-wordpress .fz-catalog-toolbar{grid-template-columns:minmax(0,1fr);margin-top:var(--space-6);}
 body.fz-wordpress .fz-catalog-selects--desktop,body.fz-wordpress .fz-catalog-search-block>.elementor-widget-heading{display:none;}
 body.fz-wordpress .fz-catalog--compact .fz-catalog-note--desktop{display:none;}
 body.fz-wordpress button.fz-catalog-active__chip{min-height:44px;}
 /* Reserve the filter button's intrinsic width. At narrow phone widths the
    sort label wraps above its select rather than overlapping the button. */
 body.fz-wordpress .fz-catalog--compact .fz-catalog-results{display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:end;gap:var(--space-2) var(--space-3);margin-top:var(--space-4);}
 body.fz-wordpress .fz-catalog--compact .fz-catalog-results__info{grid-column:1/-1;display:flex;justify-content:space-between;gap:var(--space-2);}
 body.fz-wordpress .fz-catalog--compact .fz-catalog-count{font-size:15px;}
 body.fz-wordpress .fz-catalog--compact .fz-catalog-reset{font-size:13px;white-space:nowrap;}
 body.fz-wordpress .fz-catalog-mobile-trigger{display:inline-flex!important;align-items:center;justify-content:center;gap:var(--space-2);min-height:44px;padding:10px 18px;justify-self:start;}
 body.fz-wordpress .fz-catalog-mobile-trigger .elementor-button-content-wrapper{display:inline-flex;align-items:center;gap:var(--space-2);}
 body.fz-wordpress .fz-catalog-mobile-trigger .elementor-button-icon{display:inline-flex;}
 body.fz-wordpress .fz-catalog-mobile-trigger svg{width:16px;height:16px;}
 body.fz-wordpress .fz-catalog--compact .fz-sort{justify-self:end;justify-content:flex-end;flex-wrap:wrap;min-width:0;max-width:100%;gap:4px 6px;}
 body.fz-wordpress .fz-catalog--compact .fz-sort__select{max-width:100%;font-size:13px;padding-left:10px;}
}
@media(max-width:359px){
 body.fz-wordpress .fz-catalog--compact .fz-catalog-results{column-gap:var(--space-2);}
 body.fz-wordpress .fz-catalog-mobile-trigger{padding-inline:10px;}
 body.fz-wordpress .fz-catalog--compact .fz-sort select.fz-sort__select{white-space:nowrap;}
}
@media(prefers-reduced-motion:reduce){body.fz-wordpress .fz-catalog-drawer .e-off-canvas__main{animation-duration:1ms!important;}}
