/*
CTC Separate Stylesheet
Updated: 2026-04-27 15:19:24
Theme Name: Phytomed
Theme URI: https://elementor.com/hello-theme/?utm_source=wp-themes&utm_campaign=theme-uri&utm_medium=wp-dash
Template: hello-elementor
Author: The Wide Factory
Author URI: https://www.thewidefactory.it/
Tags: accessibility-ready,flexible-header,custom-colors,custom-menu,custom-logo,featured-images,rtl-language-support,threaded-comments,translation-ready
Version: 3.4.7.1777295964
*/

@import url('https://fonts.googleapis.com/css2?family=Albert+Sans:wght@400;500;600;700&display=swap');

/* =========================================================
   FILTRI — ARCHIVI
========================================================= */

body.archive .wpc-filters-widget-wrapper {
  display: flex;
  gap: 24px;
  align-items: center;
  flex-wrap: wrap;
}

body.archive .wpc-filters-section {
  width: auto !important;
  min-width: 250px;
  margin: 0 !important;
}

body.archive .wpc-filter-header {
  display: none;
}

body.archive .wpc-filter-content {
  margin: 0 !important;
}

body.archive .wpc-filters-section .select2-container {
  width: auto !important;
  min-width: 250px !important;
}

body.archive .wpc-filters-section .select2-selection--single,
body.archive .wpc-filter-layout-dropdown .select2-container .select2-selection--single {
  height: 44px !important;
  min-width: 250px;
  padding: 12px 48px 12px 24px !important;
  border: 1px solid #344265 !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  display: flex !important;
  align-items: center;
  box-shadow: none !important;
  transition: all 0.25s ease;
}

body.archive .wpc-filters-section .select2-selection--single:hover {
  background: #f8f8f8 !important;
}

body.archive .wpc-filters-section .select2-selection__rendered {
  padding: 0 !important;
  color: #344265 !important;
  font-family: "Albert Sans", sans-serif;
  font-size: clamp(1rem, 0.9741rem + 0.1149vw, 1.125rem);
  font-weight: 700;
  line-height: 1 !important;
  text-transform: uppercase;
}



body.archive .wpc-dropdown-default::before {
  
  font-size: clamp(1rem, 0.9741rem + 0.1149vw, 1.125rem);
}

body.archive .wpc-dropdown-default::before {
  
  font-size: clamp(1rem, 0.9741rem + 0.1149vw, 1.125rem);
}

/* Freccia custom */

body.archive .wpc-filters-section .select2-selection__arrow {
  height: 100% !important;
  width: 18px !important;
  right: 24px !important;
  top: 0 !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  background: transparent !important;
  box-shadow: none !important;
}

body.archive .wpc-filters-section .select2-selection__arrow b {
  display: none !important;
}

body.archive .wpc-filters-section .select2-selection__arrow::before {
  content: "";
  width: 10px;
  height: 10px;
  border: solid #344265;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
  margin-top: -4px;
  background: transparent !important;
  transition: transform 0.2s ease;
}

body.archive .wpc-filters-section .select2-container--open .select2-selection__arrow::before {
  transform: rotate(-135deg);
  margin-top: 4px;
}

/* Dropdown Filter Everything */

.wpc-filter-everything-dropdown {
  width: auto !important;
  min-width: 260px !important;
  max-width: 90vw !important;
  margin-top: 12px !important;
  border: 2px solid #344265 !important;
  border-radius: 24px !important;
  background: #ffffff !important;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
}

.wpc-filter-everything-dropdown .select2-search--dropdown {
  display: none !important;
}

.wpc-filter-everything-dropdown .select2-results__options {
  padding: 18px 24px !important;
  max-height: 420px;
}

.wpc-filter-everything-dropdown .select2-results__option {
  position: relative;
  padding: 10px 0 10px 28px !important;
  white-space: nowrap !important;
  overflow: hidden;
  text-overflow: ellipsis;
  background: transparent !important;
  color: #344265;
  font-family: "Albert Sans", sans-serif;
  font-size: clamp(0.95rem, 0.9rem + 0.2vw, 1.05rem);
  font-weight: 500;
  line-height: 1.2;
  text-transform: uppercase;
}

.wpc-filter-everything-dropdown .select2-results__option::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 15px;
  height: 15px;
  border: 2px solid #344265;
  border-radius: 4px;
  transform: translateY(-50%);
  box-sizing: border-box;
  background: #ffffff;
}

.wpc-filter-everything-dropdown .select2-results__option--highlighted {
  background: transparent !important;
  color: #76CCB9 !important;
}

.wpc-filter-everything-dropdown .select2-results__option[aria-selected="true"]::before {
  background: #76CCB9;
  border-color: #344265;
}

.wpc-filter-everything-dropdown .select2-results__option:first-child {
  display: none;
}

/* =========================================================
   FILTER CHIPS — ARCHIVI
========================================================= */

body.archive .wpc-filter-chips-list,
body.archive .wpc-filter-chip,
body.archive .wpc-filter-chip a,
body.archive .wpc-chip-content,
body.archive .wpc-filter-chip-name,
body.archive .wpc-chip-remove-icon {
  font-family: "Albert Sans", sans-serif;
  font-size: clamp(1rem, 0.9741rem + 0.1149vw, 1.125rem);
}

body.archive .wpc-filter-chips-list a,
body.archive .wpc-filter-chips-list li.wpc-filter-chip a {
  padding: 8px 16px !important;
  border: 1px solid #344265;
  border-radius: 50px;
  color: #344265;
  font-family: "Albert Sans", sans-serif;
  font-size: clamp(1rem, 0.9741rem + 0.1149vw, 1.125rem);
  font-weight: 400;
  text-decoration: none;
  display: inline-block;
  outline: 0;
  position: relative;
}

body.archive .wpc-filter-chips-list li.wpc-filter-chip:not(.wpc-chip-reset-all) a {
  border-color: #344265 !important;
  color: #344265;
}

/* =========================================================
   RESPONSIVE FILTRI + CHIPS
========================================================= */

@media (max-width: 767px) {
  body.archive .wpc-filters-widget-wrapper {
    gap: 16px;
  }

  body.archive .wpc-filters-section,
  body.archive .wpc-filters-section .select2-container {
    width: 100% !important;
    min-width: 0 !important;
  }

  body.archive .wpc-filters-section .select2-selection--single {
    width: 100%;
    min-width: 0;
    height: 44px !important;
    padding: 12px 42px 12px 18px !important;
  }

  body.archive .wpc-filters-section .select2-selection__rendered,
  body.archive .wpc-filters-section-342 .wpc-dropdown-default::before,
  body.archive .wpc-filters-section-343 .wpc-dropdown-default::before {
    font-size: 0.95rem;
  }

  .wpc-filter-everything-dropdown {
    max-width: calc(100vw - 32px) !important;
  }

  .wpc-filter-everything-dropdown .select2-results__options {
    padding: 16px 20px !important;
  }

  .wpc-filter-everything-dropdown .select2-results__option {
    padding: 10px 0 10px 26px !important;
    font-size: 0.95rem;
  }

  .wpc-filter-everything-dropdown .select2-results__option::before {
    width: 14px;
    height: 14px;
  }
}

/* =========================================================
   RESET CHIP CUSTOM
========================================================= */

/* Nasconde testo originale */
body.archive .wpc-chip-reset-all .wpc-filter-chip-name {
  font-size: 0;
}

/* Nuovo testo */
body.archive .wpc-chip-reset-all .wpc-filter-chip-name::before {
  content: "Azzera filtri";
  font-family: "Albert Sans", sans-serif;
  font-size: clamp(1rem, 0.9741rem + 0.1149vw, 1.125rem);
  font-weight: 400;
  color: #344265;
  text-transform: none;
  line-height: 1;
}

/* Nasconde X finale */
body.archive .wpc-chip-reset-all .wpc-chip-remove-icon {
  display: none !important;
}

/* Layout corretto */
body.archive .wpc-chip-reset-all .wpc-chip-content {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  line-height: 1;
}

/* Icona cestino */
body.archive .wpc-chip-reset-all .wpc-chip-content::before {
  content: "";
  width: 14px;
  height: 14px;
  flex: 0 0 14px;
  display: inline-block;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23344265' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='3 6 5 6 21 6'/%3E%3Cpath d='M19 6l-1 14H6L5 6'/%3E%3Cpath d='M10 11v6'/%3E%3Cpath d='M14 11v6'/%3E%3Cpath d='M9 6V4h6v2'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

/* Stessa altezza delle altre chips */
body.archive .wpc-chip-reset-all a {
  padding: 8px 16px !important;
}

/* =========================================================
   TABLET + MOBILE
========================================================= */

@media (max-width: 1024px) {

  /* Nasconde chips singole */
  body.archive .wpc-filter-chip:not(.wpc-chip-reset-all) {
    display: none !important;
  }

  /* Lista full width */
  body.archive .wpc-filter-chips-list {
    width: 100%;
    display: flex !important;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 16px !important;
    padding: 0 !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  /* Reset visibile */
  body.archive .wpc-chip-reset-all {
    width: 100%;
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  /* Bottone reset full width */
  body.archive .wpc-chip-reset-all a {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    padding: 12px 18px !important;
    border-radius: 999px;
    text-align: center;
  }

  /* Contenuto centrato */
  body.archive .wpc-chip-reset-all .wpc-chip-content {
    width: 100%;
    justify-content: center;
  }
}



/* =========================================
   TABELLA NUTRIZIONALE
========================================= */

.phyto-product-table-wrap,
.phyto-product-table-content {
  width: 100%;
  max-width: 100%;
  background: #ffffff;
  overflow: hidden;
  box-sizing: border-box;
}

.elementor-shortcode:has(.phyto-product-table-wrap),
.phyto-product-table-wrap,
.phyto-product-table {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.phyto-product-table {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  table-layout: auto;
  border-collapse: collapse;
  background: #ffffff;
  font-family: "Albert Sans", sans-serif;
  font-size: clamp(1rem, 0.9741rem + 0.1149vw, 1.125rem);
  color: #344265;
  border: 1px solid #dcdcdc;
  box-sizing: border-box;
}

.phyto-product-table th,
.phyto-product-table td {
  min-width: 0 !important;
  max-width: none !important;
  background: #ffffff !important;
  padding: 12px 14px;
  border-bottom: 1px solid #e3e3e3;
  border-right: 1px solid #e3e3e3;
  text-align: left;
  vertical-align: middle;
  box-sizing: border-box;
  white-space: normal !important;
  word-break: normal;
  overflow-wrap: break-word;
}

.phyto-product-table th:last-child,
.phyto-product-table td:last-child {
  border-right: none;
}

.phyto-product-table thead th {
  background: #76CCB9 !important;
  color: #344265;
  font-weight: 700;
}

.phyto-product-table tbody tr,
.phyto-product-table tbody tr:nth-child(odd),
.phyto-product-table tbody tr:nth-child(even),
.phyto-product-table tbody td {
  background: #ffffff !important;
}

.phyto-product-table tbody tr:last-child td {
  border-bottom: none;
}

.phyto-product-table th:first-child,
.phyto-product-table td:first-child,
.phyto-product-table th:nth-child(2),
.phyto-product-table td:nth-child(2) {
  width: 50%;
}

@media (max-width: 767px) {
  .phyto-product-table {
    font-size: 11px;
    line-height: 1.2;
  }

  .phyto-product-table th,
  .phyto-product-table td {
    padding: 7px 4px;
  }
}

/* =========================================
   CONTENITORI SEZIONI FULL WIDTH
========================================= */

.nmf-full {
  padding-left: clamp(16px, 6vw, 120px);
  padding-right: clamp(16px, 6vw, 120px);
}

.nmf-full-wrap {
  margin-left: clamp(16px, 6vw, 120px);
  margin-right: 0;
  width: auto;
  max-width: none;
}

/* MOBILE */

@media (max-width: 767px) {
  .nmf-full {
    padding-inline: clamp(16px, 5vw, 24px);
  }

  .nmf-full-wrap {
    margin-left: clamp(16px, 5vw, 24px);
    margin-right: 0;
  }

  .nmf-full-wrap .contenitore-sx,
  .nmf-full-wrap .contenitore-sx-prodotto {
    padding-right: clamp(16px, 5vw, 24px);
    padding-top: 40px;
    padding-bottom: 40px;
  }

  .nmf-full-wrap .contenitore-dx {
    width: calc(100% - clamp(16px, 5vw, 24px));
    margin-right: clamp(16px, 5vw, 24px);
    padding-right: 0;
    box-sizing: border-box;
  }
}

/* TABLET */

@media (min-width: 768px) {
  .nmf-full {
    padding-inline: clamp(24px, 6vw, 48px);
  }

  .nmf-full-wrap {
    margin-left: clamp(24px, 6vw, 48px);
    margin-right: 0;
  }

  .nmf-full-wrap .contenitore-sx,
  .nmf-full-wrap .contenitore-sx-prodotto {
    padding-right: clamp(24px, 6vw, 48px);
    padding-top: 60px;
    padding-bottom: 40px;
  }

  .nmf-full-wrap .contenitore-dx {
    width: calc(100% - clamp(24px, 6vw, 48px));
    margin-right: clamp(24px, 6vw, 48px);
    padding-right: 0;
    box-sizing: border-box;
  }
}

/* LAPTOP */

@media (min-width: 1025px) {
  .nmf-full {
    padding-inline: clamp(32px, 6vw, 80px);
  }

  .nmf-full-wrap {
    margin-left: clamp(32px, 6vw, 80px);
    margin-right: 0;
  }

  .nmf-full-wrap .contenitore-sx,
  .nmf-full-wrap .contenitore-sx-prodotto {
    padding-right: 0;
    padding-top: 80px;
    padding-bottom: 0;
  }

  .nmf-full-wrap .contenitore-dx {
    width: 50%;
    margin-right: 0;
    padding-right: 0;
  }
}

/* DESKTOP */

@media (min-width: 1281px) {
  .nmf-full {
    padding-inline: clamp(72px, 10vw, 240px);
  }

  .nmf-full-wrap {
    margin-left: clamp(72px, 10vw, 240px);
    margin-right: 0;
  }

  .nmf-full-wrap .contenitore-sx {
    padding-top: 180px;
    padding-bottom: 0;
  }
	
	.nmf-full-wrap .contenitore-sx-prodotto {
    padding-top: 50px;
    padding-bottom: 0;
  }

  .nmf-full-wrap .contenitore-dx {
    width: 50%;
    margin-right: 0;
    padding-right: 0;
  }
}

/* WIDESCREEN */

@media (min-width: 1600px) {
  .nmf-full {
    padding-inline: clamp(120px, 12vw, 320px);
  }

  .nmf-full-wrap {
    margin-left: clamp(120px, 12vw, 320px);
    margin-right: 0;
  }
}

/* ================================
   PHYTOMED — COLORI CATEGORIE
   ================================ */

:root {
  --phyto-category-bg-default: #ccc;
}

/* Neuropsichiatria */
.product_cat-neuropsichiatria {
  --phyto-category-bg: #5A78C8;
}

/* Allattamento */
.product_cat-allattamento {
  --phyto-category-bg: #b3cce5;
}

/* Energia e metabolismo */
.product_cat-energia-e-metabolismo {
  --phyto-category-bg: #CB1221;
}

/* Immunità e tosse */
.product_cat-immunita-e-tosse {
  --phyto-category-bg: #B0C846;
}

/* Gastrointestinale */
.product_cat-gastrointestinale {
  --phyto-category-bg: #961D76;
}

/* Dermatologia */
.product_cat-dermatologia {
  --phyto-category-bg: #91CDC5;
}

/* Cardiovascolare */
.product_cat-cardiovascolare {
  --phyto-category-bg: #1983BC;
}

/* Allergie */
.product_cat-allergie {
  --phyto-category-bg: #7B3987;
}

/* Vitamina D3 */
.product_cat-vitamina-d3 {
  --phyto-category-bg: #3CB1A5;
}

/* Ginecologia */
.product_cat-ginecologia {
  --phyto-category-bg: #d1699c;
}

/* Elemento che riceve il colore */
.category-bg {
  background-color: var(--phyto-category-bg, var(--phyto-category-bg-default));
}



/* ================================
   PHYTOMED — LINEE PRODOTTO
   ================================ */

.phyto-linee .elementor-heading-title {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px 24px;
}

.phyto-linee .elementor-heading-title span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #243555;
}

.phyto-linee .elementor-heading-title span::before {
  content: "";
  width: 26px;
  height: 25px;
  display: inline-block;
  flex: 0 0 auto;
  background-image: url("data:image/svg+xml,%3Csvg width='26' height='25' viewBox='0 0 26 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='26' height='25' rx='12.5' fill='%239DCDC5'/%3E%3Cpath d='M10.7046 15.8897L8.21934 12.8543C7.94002 12.5131 7.48881 12.5131 7.20949 12.8543C6.93017 13.1954 6.93017 13.7465 7.20949 14.0877L10.2032 17.7441C10.4825 18.0853 10.9338 18.0853 11.2131 17.7441L18.7905 8.48926C19.0698 8.14811 19.0698 7.59702 18.7905 7.25586C18.5112 6.91471 18.06 6.91471 17.7807 7.25586L10.7046 15.8897Z' fill='white'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}


.phyto-mm-cats .e-loop-item.phyto-mm-cat-hidden {
  display: none !important;
}

.phyto-mm-products .e-loop-item.phyto-mm-product-hidden,
.phyto-mm .e-loop-item.phyto-mm-product-hidden,
.phyto-mm-product.phyto-mm-product-hidden {
  display: none !important;
}

.phyto-mm-cat-image,
.phyto-mm-cat-image-infanzia,
.phyto-mm-cat-image-adulti,
.phyto-mm-product-image,
.phyto-mm-product-cats {
  display: none !important;
}

/* Base: evita cambi di peso che spostano il layout */
.phyto-mm-cat-title .elementor-heading-title,
.phyto-mm-product-title .elementor-heading-title,
.phyto-mm-product-title .elementor-heading-title a,
.phyto-mm-product-subtitle .elementor-heading-title {
  font-weight: inherit;
  transition: color .2s ease, -webkit-text-stroke .2s ease;
}

/* Categorie: hover + active senza spostamento lettere */
.phyto-mm-cat:hover .phyto-mm-cat-title .elementor-heading-title,
.phyto-mm-cat.is-active .phyto-mm-cat-title .elementor-heading-title,
.phyto-mm-cats .e-loop-item.is-active .phyto-mm-cat-title .elementor-heading-title {
  color: var(--e-global-color-primary);
  -webkit-text-stroke: 0.65px var(--e-global-color-primary);
}

/* Prodotti: quando passo su qualunque punto della card, attivo titolo e sottotitolo */
.phyto-mm-product:hover .phyto-mm-product-title .elementor-heading-title,
.phyto-mm-product:hover .phyto-mm-product-title .elementor-heading-title a,
.phyto-mm-product:focus-within .phyto-mm-product-title .elementor-heading-title,
.phyto-mm-product:focus-within .phyto-mm-product-title .elementor-heading-title a {
  color: var(--e-global-color-primary);
  -webkit-text-stroke: 0.65px var(--e-global-color-primary);
}

.phyto-mm-product:hover .phyto-mm-product-subtitle .elementor-heading-title,
.phyto-mm-product:focus-within .phyto-mm-product-subtitle .elementor-heading-title {
  color: var(--e-global-color-primary);
  -webkit-text-stroke: 0.45px var(--e-global-color-primary);
}
.phyto-mm-preview {
    width: max-content;
}