/*
 Theme Name:   Ecosoap Child
 Theme URI:    https://wordpress.com
 Description:  This is a child theme for Ecosoap
 Author:       Goalthemes
 Author URI:   #
 Template:     ecosoap
 Version:      1.1.0
 Text Domain:  ecosoap-child
*/
.goal-header .elementor-element-6c351a3{
    background-color: #31503c8c !important;
}

/* ==========================================================
   FARMACIA AITA - SCHEDA PRODOTTO
   Personalizzazione caricata dal child theme Ecosoap.
   Tutte le regole sono limitate alle pagine prodotto.
   ========================================================== */

body.single-product .aita-product-page {
  width: min(100% - 40px, 1480px);
  max-width: 1480px;
  margin: 38px auto 72px;
  padding: 0;
}

body.single-product .aita-product__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(360px, .75fr);
  gap: clamp(42px, 6vw, 96px);
  align-items: start;
}

body.single-product .aita-product__media {
  min-width: 0;
  overflow: hidden;
  padding: clamp(28px, 4vw, 64px);
  border-radius: 18px;
  background: #f1ece7;
}

body.single-product .aita-product__media .image-mains,
body.single-product .aita-product__media .woocommerce-product-gallery,
body.single-product .aita-product__media .woocommerce-product-gallery__wrapper {
  width: 100%;
  margin: 0;
}

body.single-product .aita-product__media .woocommerce-product-gallery__image {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: min(640px, 67vw);
}

body.single-product .aita-product__media .woocommerce-product-gallery__image img {
  width: 100%;
  max-width: 680px;
  max-height: 680px;
  margin: auto;
  object-fit: contain;
  mix-blend-mode: multiply;
}

body.single-product .aita-product__media .flex-control-thumbs {
  display: flex;
  gap: 12px;
  margin: 22px 0 0;
  padding: 0;
}

body.single-product .aita-product__media .flex-control-thumbs li {
  width: 74px;
  overflow: hidden;
  border: 1px solid rgba(22, 69, 54, .16);
  border-radius: 12px;
  background: #fff;
}

body.single-product .aita-product__summary {
  position: sticky;
  top: 110px;
  padding: 18px 0 0;
}

body.single-product .aita-product__category {
  margin-bottom: 14px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: .08em;
  text-transform: uppercase;
}

body.single-product .aita-product__category a {
  display: inline-block;
  padding: 7px 11px;
  border-radius: 999px;
  color: #285d4b;
  background: #e5eee8;
}

body.single-product .aita-product__title {
  margin: 0;
  color: #183f34;
  font-size: clamp(34px, 3.2vw, 54px);
  font-weight: 650;
  line-height: 1.04;
  letter-spacing: -.035em;
}

body.single-product .aita-product__brand {
  margin: 12px 0 0;
  color: #738077;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}

body.single-product .aita-product__intro {
  margin-top: 24px;
  color: #4c5651;
  font-size: 16px;
  line-height: 1.75;
}

body.single-product .aita-product__intro > :last-child,
body.single-product .aita-product__accordion-content > :last-child {
  margin-bottom: 0;
}

body.single-product .aita-product__availability {
  display: flex;
  gap: 13px;
  align-items: center;
  margin: 28px 0 14px;
  padding: 16px 18px;
  border: 1px solid rgba(39, 93, 75, .14);
  border-radius: 14px;
  color: #214f40;
  background: #f3f7f3;
}

body.single-product .aita-product__availability-icon {
  display: grid;
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: #285d4b;
}

body.single-product .aita-product__availability-icon svg {
  width: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

body.single-product .aita-product__availability strong,
body.single-product .aita-product__availability span {
  display: block;
}

body.single-product .aita-product__availability strong {
  font-size: 14px;
}

body.single-product .aita-product__availability div > span {
  margin-top: 2px;
  color: #66756d;
  font-size: 12px;
}

body.single-product .aita-product__cta,
body.single-product .aita-product__cta:visited {
  display: flex;
  min-height: 54px;
  align-items: center;
  justify-content: center;
  padding: 14px 22px;
  border-radius: 999px;
  color: #fff;
  background: #1f5543;
  box-shadow: 0 10px 24px rgba(31, 85, 67, .16);
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  transition: transform .2s ease, background-color .2s ease, box-shadow .2s ease;
}

body.single-product .aita-product__cta:hover,
body.single-product .aita-product__cta:focus {
  color: #fff;
  background: #173f33;
  box-shadow: 0 12px 28px rgba(31, 85, 67, .22);
  transform: translateY(-1px);
}

body.single-product .aita-product__commerce {
  margin-top: 28px;
}

body.single-product .aita-product__accordions {
  margin-top: 26px;
  border-top: 1px solid #dedfd9;
}

body.single-product .aita-product__accordion {
  border-bottom: 1px solid #dedfd9;
}

body.single-product .aita-product__accordion summary {
  display: flex;
  min-height: 62px;
  cursor: pointer;
  list-style: none;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  color: #243d34;
  font-size: 14px;
  font-weight: 650;
}

body.single-product .aita-product__accordion summary::-webkit-details-marker {
  display: none;
}

body.single-product .aita-product__accordion summary svg {
  flex: 0 0 18px;
  width: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: transform .2s ease;
}

body.single-product .aita-product__accordion[open] summary svg {
  transform: rotate(180deg);
}

body.single-product .aita-product__accordion-content {
  padding: 0 4px 24px;
  color: #59645e;
  font-size: 14px;
  line-height: 1.75;
}

body.single-product .aita-product__accordion-content ul {
  margin: 12px 0 0 18px;
}

body.single-product .aita-product__accordion-content li {
  margin-bottom: 7px;
}

body.single-product .aita-product + .woocommerce-tabs {
  display: none;
}

body.single-product .related.products,
body.single-product .upsells.products {
  margin-top: 72px;
}

@media (max-width: 991px) {
  body.single-product .aita-product-page {
    width: min(100% - 32px, 920px);
    margin-top: 24px;
  }

  body.single-product .aita-product__grid {
    grid-template-columns: 1fr;
    gap: 34px;
  }

  body.single-product .aita-product__summary {
    position: static;
    padding: 0;
  }

  body.single-product .aita-product__media .woocommerce-product-gallery__image {
    min-height: 560px;
  }
}

@media (max-width: 600px) {
  body.single-product .aita-product-page {
    width: min(100% - 24px, 560px);
    margin: 14px auto 48px;
  }

  body.single-product .aita-product__media {
    padding: 20px;
    border-radius: 14px;
  }

  body.single-product .aita-product__media .woocommerce-product-gallery__image {
    min-height: 330px;
  }

  body.single-product .aita-product__title {
    font-size: 34px;
  }

  body.single-product .aita-product__intro {
    margin-top: 18px;
    font-size: 15px;
  }

  body.single-product .aita-product__availability {
    margin-top: 22px;
  }

  body.single-product .aita-product__cta {
    width: 100%;
  }
}

/* Zoom WooCommerce opaco soltanto al passaggio del mouse */
body.single-product
.aita-product__media
.woocommerce-product-gallery__image img.zoomImg {
  mix-blend-mode: normal !important;
  background-color: #fff;
}
/* Proporzioni desktop: immagine più stretta, descrizione più larga */
@media (min-width: 992px) {
  body.single-product .aita-product__grid {
    grid-template-columns: minmax(0, 1.1fr) minmax(440px, 0.9fr);
    gap: clamp(36px, 4vw, 64px);
  }
}
/* ==========================================================
   FARMACIA AITA - PARTNERS HOME
   ========================================================== */

body.home .aita-partners-section {
  overflow: hidden;
  padding: 72px 30px 76px;
  background:
    radial-gradient(
      circle at 50% 0%,
      rgba(255, 255, 255, 0.42),
      transparent 42%
    ),
    #f1e5d5;
}

body.home .aita-partners-heading {
  width: min(100%, 900px);
  margin: 0 auto 38px;
  text-align: center;
}

body.home .aita-partners-eyebrow {
  display: block;
  margin-bottom: 13px;
  color: #d96f5f;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

body.home .aita-partners-heading h2 {
  margin: 0;
  color: #214f40;
  font-size: clamp(38px, 4vw, 58px);
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -0.035em;
}

body.home .aita-partners-heading p {
  max-width: 720px;
  margin: 16px auto 0;
  color: #6c736e;
  font-size: 16px;
  line-height: 1.65;
}

/* Contenitore dei loghi */

body.home .aita-partners-logos {
  width: min(100%, 1640px);
  margin: 0 auto;
}

body.home .aita-partners-logos .owl-stage,
body.home .aita-partners-logos .slick-track {
  display: flex;
  align-items: stretch;
}

body.home .aita-partners-logos .owl-item,
body.home .aita-partners-logos .slick-slide {
  height: auto;
  padding: 8px;
}

/* Card applicata al collegamento di ogni logo */

body.home .aita-partners-logos .item > a,
body.home .aita-partners-logos .brand-item > a,
body.home .aita-partners-logos .owl-item a,
body.home .aita-partners-logos .slick-slide a {
  display: flex;
  width: 100%;
  min-height: 178px;
  align-items: center;
  justify-content: center;
  padding: 28px;
  border: 1px solid rgba(42, 74, 61, 0.12);
  border-radius: 18px;
  background: rgba(255, 252, 247, 0.9);
  box-shadow: 0 12px 30px rgba(61, 52, 42, 0.07);
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.25s ease;
}

body.home .aita-partners-logos .item > a:hover,
body.home .aita-partners-logos .brand-item > a:hover,
body.home .aita-partners-logos .owl-item a:hover,
body.home .aita-partners-logos .slick-slide a:hover {
  border-color: rgba(42, 74, 61, 0.22);
  box-shadow: 0 16px 36px rgba(61, 52, 42, 0.11);
  transform: translateY(-4px);
}

/* Uniformità dei loghi */

body.home .aita-partners-logos img {
  display: block;
  width: auto;
  max-width: 82%;
  height: auto;
  max-height: 90px;
  margin: auto;
  object-fit: contain;
  filter: grayscale(1);
  opacity: 0.67;
  transition:
    opacity 0.25s ease,
    filter 0.25s ease;
}

body.home .aita-partners-logos a:hover img {
  filter: grayscale(0.45);
  opacity: 0.9;
}

/* Tablet */

@media (max-width: 991px) {
  body.home .aita-partners-section {
    padding: 60px 22px 64px;
  }

  body.home .aita-partners-heading {
    margin-bottom: 30px;
  }

  body.home .aita-partners-logos .item > a,
  body.home .aita-partners-logos .brand-item > a,
  body.home .aita-partners-logos .owl-item a,
  body.home .aita-partners-logos .slick-slide a {
    min-height: 150px;
    padding: 22px;
  }
}

/* Mobile */

@media (max-width: 600px) {
  body.home .aita-partners-section {
    padding: 48px 14px 52px;
  }

  body.home .aita-partners-eyebrow {
    font-size: 11px;
  }

  body.home .aita-partners-heading h2 {
    font-size: 36px;
  }

  body.home .aita-partners-heading p {
    font-size: 14px;
  }

  body.home .aita-partners-logos .item > a,
  body.home .aita-partners-logos .brand-item > a,
  body.home .aita-partners-logos .owl-item a,
  body.home .aita-partners-logos .slick-slide a {
    min-height: 130px;
    padding: 18px;
    border-radius: 14px;
  }

  body.home .aita-partners-logos img {
    max-height: 68px;
  }
}
/* ==========================================================
   CORREZIONE PARTNERS - STRUTTURA GOAL BRANDS
   ========================================================== */

body.home .aita-partners-section {
  padding: 62px 30px 70px !important;
}

body.home .aita-partners-heading {
  margin-bottom: 34px !important;
}

body.home .aita-partners-heading h2 {
  font-size: clamp(38px, 3.1vw, 52px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.035em !important;
}

body.home .aita-partners-heading p {
  margin-top: 14px !important;
}

body.home .aita-partners-logos,
body.home .aita-partners-logos > .elementor-widget-container {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/*
 * Goal Brands può inserire l’immagine dentro un div
 * anziché dentro un collegamento.
 */
body.home
.aita-partners-logos
:is(a, div):has(> img) {
  display: flex !important;
  width: 100% !important;
  min-height: 170px;
  box-sizing: border-box;
  align-items: center;
  justify-content: center;
  padding: 28px;
  border: 1px solid rgba(42, 74, 61, 0.12);
  border-radius: 18px;
  background: rgba(255, 252, 247, 0.92);
  box-shadow: 0 12px 30px rgba(61, 52, 42, 0.07);
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.25s ease;
}

body.home
.aita-partners-logos
:is(a, div):has(> img):hover {
  border-color: rgba(42, 74, 61, 0.22);
  box-shadow: 0 16px 36px rgba(61, 52, 42, 0.11);
  transform: translateY(-4px);
}

body.home
.aita-partners-logos
:is(a, div):has(> img) img {
  display: block;
  width: auto !important;
  max-width: 82% !important;
  height: auto !important;
  max-height: 88px !important;
  margin: auto !important;
  object-fit: contain;
  filter: grayscale(1);
  opacity: 0.68;
}

@media (max-width: 991px) {
  body.home
  .aita-partners-logos
  :is(a, div):has(> img) {
    min-height: 145px;
    padding: 22px;
  }
}

@media (max-width: 600px) {
  body.home .aita-partners-section {
    padding: 48px 14px 52px !important;
  }

  body.home .aita-partners-heading h2 {
    font-size: 36px !important;
  }

  body.home
  .aita-partners-logos
  :is(a, div):has(> img) {
    min-height: 125px;
    padding: 18px;
    border-radius: 14px;
  }
}/* Loghi partner sempre a colori */
body.home .aita-partners-logos img,
body.home .aita-partners-logos a:hover img,
body.home .aita-partners-logos div:hover img {
  filter: none !important;
  -webkit-filter: none !important;
  opacity: 1 !important;
}
/* Animazione sezione servizi home */
@media (prefers-reduced-motion: no-preference) {

    .farmacia-servizi.is-animation-ready .farmacia-servizi__content {
        opacity: 0;
        transform: translateX(-30px);
        transition:
            opacity 0.8s ease,
            transform 0.8s cubic-bezier(.22, 1, .36, 1);
    }

    .farmacia-servizi.is-animation-ready .farmacia-servizi__image {
        opacity: 0;
        transform: translateY(35px);
        transition:
            opacity 0.75s ease,
            transform 0.75s cubic-bezier(.22, 1, .36, 1);
    }

    .farmacia-servizi.is-visible .farmacia-servizi__content,
    .farmacia-servizi.is-visible .farmacia-servizi__image {
        opacity: 1;
        transform: translate(0, 0);
    }

    .farmacia-servizi.is-visible .farmacia-servizi__image:nth-child(1) {
        transition-delay: 0.15s;
    }

    .farmacia-servizi.is-visible .farmacia-servizi__image:nth-child(2) {
        transition-delay: 0.28s;
    }

    .farmacia-servizi.is-visible .farmacia-servizi__image:nth-child(3) {
        transition-delay: 0.41s;
    }

    .farmacia-servizi.is-visible .farmacia-servizi__image:nth-child(4) {
        transition-delay: 0.54s;
    }
}

/* Su mobile movimento verticale più naturale */
@media (max-width: 767px) {
    .farmacia-servizi.is-animation-ready .farmacia-servizi__content {
        transform: translateY(25px);
    }

    .farmacia-servizi.is-visible .farmacia-servizi__content {
        transform: translateY(0);
    }
}
/* Animazione sezione servizi home */
@media (prefers-reduced-motion: no-preference) {

    .farmacia-servizi.is-animation-ready .farmacia-servizi__content {
        opacity: 0;
        transform: translateX(-30px);
        transition:
            opacity 0.8s ease,
            transform 0.8s cubic-bezier(.22, 1, .36, 1);
    }

    .farmacia-servizi.is-animation-ready .farmacia-servizi__image {
        opacity: 0;
        transform: translateY(35px);
        transition:
            opacity 0.75s ease,
            transform 0.75s cubic-bezier(.22, 1, .36, 1);
    }

    .farmacia-servizi.is-visible .farmacia-servizi__content,
    .farmacia-servizi.is-visible .farmacia-servizi__image {
        opacity: 1;
        transform: translate(0, 0);
    }

    .farmacia-servizi.is-visible .farmacia-servizi__image:nth-child(1) {
        transition-delay: 0.15s;
    }

    .farmacia-servizi.is-visible .farmacia-servizi__image:nth-child(2) {
        transition-delay: 0.28s;
    }

    .farmacia-servizi.is-visible .farmacia-servizi__image:nth-child(3) {
        transition-delay: 0.41s;
    }

    .farmacia-servizi.is-visible .farmacia-servizi__image:nth-child(4) {
        transition-delay: 0.54s;
    }
}

/* Su mobile movimento verticale più naturale */
@media (max-width: 767px) {
    .farmacia-servizi.is-animation-ready .farmacia-servizi__content {
        transform: translateY(25px);
    }

    .farmacia-servizi.is-visible .farmacia-servizi__content {
        transform: translateY(0);
    }
}
/* ==================================================
   ANIMAZIONE SEZIONE "LA NOSTRA MISSIONE"
   ================================================== */

@media (prefers-reduced-motion: no-preference) {

    /* Titolo inizialmente nascosto */
    .aita-why-section.is-animation-ready .aita-why-heading {
        opacity: 0;
        translate: 0 22px;
        transition:
            opacity 0.75s ease,
            translate 0.75s cubic-bezier(.22, 1, .36, 1);
    }

    /* Card inizialmente nascoste */
    .aita-why-section.is-animation-ready .aita-why-card {
        opacity: 0;
        translate: 0 34px;
        transition:
            opacity 0.7s ease,
            translate 0.7s cubic-bezier(.22, 1, .36, 1);
    }

    /* Mostra titolo e card quando la sezione entra nello schermo */
    .aita-why-section.is-visible .aita-why-heading,
    .aita-why-section.is-visible .aita-why-card {
        opacity: 1;
        translate: 0 0;
    }

    /* Prima card */
    .aita-why-section.is-visible
    .aita-why-grid > .aita-why-card:nth-child(1) {
        transition-delay: 0.15s;
    }

    /* Seconda card */
    .aita-why-section.is-visible
    .aita-why-grid > .aita-why-card:nth-child(2) {
        transition-delay: 0.30s;
    }

    /* Terza card */
    .aita-why-section.is-visible
    .aita-why-grid > .aita-why-card:nth-child(3) {
        transition-delay: 0.45s;
    }

    /* Quarta card */
    .aita-why-section.is-visible
    .aita-why-grid > .aita-why-card:nth-child(4) {
        transition-delay: 0.60s;
    }
}

/* Animazione più breve su smartphone */
@media (max-width: 767px) {

    .aita-why-section.is-animation-ready .aita-why-card {
        translate: 0 24px;
    }

    .aita-why-section.is-visible
    .aita-why-grid > .aita-why-card:nth-child(1) {
        transition-delay: 0.10s;
    }

    .aita-why-section.is-visible
    .aita-why-grid > .aita-why-card:nth-child(2) {
        transition-delay: 0.20s;
    }

    .aita-why-section.is-visible
    .aita-why-grid > .aita-why-card:nth-child(3) {
        transition-delay: 0.30s;
    }

    .aita-why-section.is-visible
    .aita-why-grid > .aita-why-card:nth-child(4) {
        transition-delay: 0.40s;
    }
}

/* Nell’editor Elementor mostra sempre tutto */
.elementor-editor-active .aita-why-section .aita-why-heading,
.elementor-editor-active .aita-why-section .aita-why-card {
    opacity: 1 !important;
    translate: none !important;
}/* ==================================================
   ANIMAZIONE SEZIONE MISSIONE
   ================================================== */

@media (prefers-reduced-motion: no-preference) {

    .aita-why-section.is-animation-ready .aita-why-heading {
        opacity: 0;
        transform: translateY(22px);
        transition:
            opacity 0.75s ease,
            transform 0.75s cubic-bezier(.22, 1, .36, 1);
    }

    .aita-why-section.is-animation-ready .aita-why-card {
        opacity: 0;
        transform: translateY(35px);
        transition:
            opacity 0.7s ease,
            transform 0.7s cubic-bezier(.22, 1, .36, 1);
    }

    .aita-why-section.is-visible .aita-why-heading,
    .aita-why-section.is-visible .aita-why-card {
        opacity: 1;
        transform: translateY(0);
    }

    .aita-why-section.is-visible
    .aita-why-card:nth-child(1) {
        transition-delay: 0.15s;
    }

    .aita-why-section.is-visible
    .aita-why-card:nth-child(2) {
        transition-delay: 0.30s;
    }

    .aita-why-section.is-visible
    .aita-why-card:nth-child(3) {
        transition-delay: 0.45s;
    }

    .aita-why-section.is-visible
    .aita-why-card:nth-child(4) {
        transition-delay: 0.60s;
    }
}

/* Nell’editor Elementor deve restare tutto visibile */
.elementor-editor-active .aita-why-heading,
.elementor-editor-active .aita-why-card {
    opacity: 1 !important;
    transform: none !important;
}/* ==================================================
   ANIMAZIONE SEZIONE REPARTI
   ================================================== */

@media (prefers-reduced-motion: no-preference) {

    /* Blocco introduttivo */
    .aita-departments-section.aita-dept-ready
    .aita-departments-intro {
        opacity: 0;
        transform: translateX(-25px);
        transition:
            opacity 0.75s ease,
            transform 0.75s cubic-bezier(.22, 1, .36, 1);
    }

    /* Card */
    .aita-departments-section.aita-dept-ready
    .aita-department-card {
        opacity: 0;
        transform: translateY(32px);
        transition:
            opacity 0.65s ease,
            transform 0.65s cubic-bezier(.22, 1, .36, 1);
    }

    /* Stato visibile */
    .aita-departments-section.aita-dept-show
    .aita-departments-intro,
    .aita-departments-section.aita-dept-show
    .aita-department-card {
        opacity: 1;
        transform: translate(0, 0);
    }

    /* Ritardi progressivi */
    .aita-departments-section.aita-dept-show
    .aita-department-card:nth-child(1) {
        transition-delay: 0.10s;
    }

    .aita-departments-section.aita-dept-show
    .aita-department-card:nth-child(2) {
        transition-delay: 0.22s;
    }

    .aita-departments-section.aita-dept-show
    .aita-department-card:nth-child(3) {
        transition-delay: 0.34s;
    }

    .aita-departments-section.aita-dept-show
    .aita-department-card:nth-child(4) {
        transition-delay: 0.46s;
    }

    .aita-departments-section.aita-dept-show
    .aita-department-card:nth-child(5) {
        transition-delay: 0.58s;
    }

    .aita-departments-section.aita-dept-show
    .aita-department-card:nth-child(6) {
        transition-delay: 0.70s;
    }
}

/* Tutto visibile nell’editor Elementor */
.elementor-editor-active
.aita-departments-section .aita-departments-intro,
.elementor-editor-active
.aita-departments-section .aita-department-card {
    opacity: 1 !important;
    transform: none !important;
}
.elementor-element-d810032, .elementor-element-7f6e6d4{
  display: none !important;
}
/* ==========================================================
   PAGINA CONTATTI — HERO
   Incollare in fondo al file style.css
   ========================================================== */

body .aita-contact-page .aita-contact-hero {
    position: relative;
    overflow: hidden;
    padding: 72px 24px 64px;
    background:
        radial-gradient(
            circle at 50% 0%,
            rgba(210, 224, 211, 0.34) 0,
            rgba(210, 224, 211, 0) 42%
        ),
        #fbf9f4;
}

body .aita-contact-page .aita-contact-hero__content {
    width: min(100%, 980px);
    margin: 0 auto;
    text-align: center;
}

body .aita-contact-page .aita-contact-hero__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 14px;
    color: #d8614f;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

body .aita-contact-page .aita-contact-hero__eyebrow::before,
body .aita-contact-page .aita-contact-hero__eyebrow::after {
    content: "";
    width: 28px;
    height: 1px;
    background: currentColor;
    opacity: 0.75;
}

body .aita-contact-page .aita-contact-hero__title {
    max-width: none;
    margin: 0;
    color: #215b46;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(46px, 4.5vw, 72px);
    font-weight: 500;
    line-height: 1.03;
    letter-spacing: -0.035em;
    text-wrap: balance;
}

body .aita-contact-page .aita-contact-hero__subtitle {
    max-width: 760px;
    margin: 20px auto 0;
    color: #56645e;
    font-size: clamp(17px, 1.3vw, 20px);
    font-weight: 400;
    line-height: 1.65;
    text-wrap: balance;
}

body .aita-contact-page .aita-contact-hero__accent {
    display: block;
    width: 56px;
    height: 3px;
    margin: 26px auto 0;
    border-radius: 999px;
    background: #d8614f;
}

@media (max-width: 767px) {
    body .aita-contact-page .aita-contact-hero {
        padding: 54px 20px 48px;
    }

    body .aita-contact-page .aita-contact-hero__eyebrow {
        margin-bottom: 12px;
        font-size: 11px;
    }

    body .aita-contact-page .aita-contact-hero__eyebrow::before,
    body .aita-contact-page .aita-contact-hero__eyebrow::after {
        width: 20px;
    }

    body .aita-contact-page .aita-contact-hero__title {
        font-size: clamp(40px, 12vw, 54px);
        line-height: 1.05;
    }

    body .aita-contact-page .aita-contact-hero__subtitle {
        margin-top: 16px;
        font-size: 16px;
        line-height: 1.55;
    }

    body .aita-contact-page .aita-contact-hero__accent {
        margin-top: 22px;
    }
}
/* ==========================================================
   FARMACIA AITA — PAGINA CONTATTI MODERNA
   Incollare in fondo al file style.css del tema.
   ========================================================== */

body .aita-contact-page {
    --aita-green: #0f513e;
    --aita-green-dark: #0a3f30;
    --aita-coral: #ed6b52;
    --aita-ink: #173e33;
    --aita-muted: #6f7774;
    --aita-line: #dce4df;
    --aita-soft: #eef3f0;
    color: var(--aita-ink);
    background: #fbfaf7;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
        Helvetica, Arial, sans-serif;
}

body .aita-contact-page *,
body .aita-contact-page *::before,
body .aita-contact-page *::after {
    box-sizing: border-box;
}

body .aita-contact-page .aita-contact-shell {
    width: min(100% - 48px, 1360px);
    margin-inline: auto;
}

/* Testata */
body .aita-contact-page .aita-contact-hero {
    padding: 70px 0 42px;
    text-align: center;
    background: #fbfaf7;
}

body .aita-contact-page .aita-contact-hero__eyebrow {
    margin: 0 0 12px;
    color: var(--aita-coral);
    font-size: 12px;
    font-weight: 750;
    line-height: 1;
    letter-spacing: 0.22em;
    text-transform: uppercase;
}

body .aita-contact-page .aita-contact-hero__title {
    margin: 0;
    color: var(--aita-green);
    font-family: inherit;
    font-size: clamp(36px, 3.2vw, 54px);
    font-weight: 520;
    line-height: 1.08;
    letter-spacing: -0.04em;
}

body .aita-contact-page .aita-contact-hero__subtitle {
    max-width: 820px;
    margin: 15px auto 0;
    color: var(--aita-muted);
    font-size: 16px;
    line-height: 1.6;
}

/* Struttura */
body .aita-contact-page .aita-contact-main {
    padding: 0 0 88px;
}

body .aita-contact-page .aita-contact-layout {
    display: grid;
    grid-template-columns: minmax(420px, 0.72fr) minmax(580px, 1fr);
    gap: 22px;
    align-items: stretch;
}

body .aita-contact-page .aita-contact-side {
    display: grid;
    grid-template-rows: auto minmax(440px, 1fr);
    gap: 18px;
    min-width: 0;
}

body .aita-contact-page .aita-contact-cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

/* Card */
body .aita-contact-page .aita-contact-form-card,
body .aita-contact-page .aita-contact-card,
body .aita-contact-page .aita-contact-map {
    border: 1px solid var(--aita-line);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.72);
    box-shadow: 0 8px 30px rgba(14, 56, 43, 0.035);
}

body .aita-contact-page .aita-contact-form-card {
    padding: 26px 28px 30px;
}

body .aita-contact-page .aita-contact-heading,
body .aita-contact-page .aita-contact-card {
    display: flex;
    align-items: flex-start;
    gap: 16px;
}

body .aita-contact-page .aita-contact-heading {
    align-items: center;
    margin-bottom: 22px;
}

body .aita-contact-page .aita-contact-heading h2,
body .aita-contact-page .aita-contact-card h2 {
    margin: 0;
    color: var(--aita-green-dark);
    font-family: inherit;
    font-weight: 600;
    letter-spacing: -0.025em;
}

body .aita-contact-page .aita-contact-heading h2 {
    font-size: 25px;
}

body .aita-contact-page .aita-contact-card {
    min-height: 142px;
    padding: 22px 22px;
}

body .aita-contact-page .aita-contact-card h2 {
    font-size: 20px;
    line-height: 1.2;
}

body .aita-contact-page .aita-contact-icon {
    display: grid;
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    place-items: center;
    border-radius: 50%;
    color: var(--aita-green);
    background: var(--aita-soft);
}

body .aita-contact-page .aita-contact-icon svg {
    width: 25px;
    height: 25px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

body .aita-contact-page .aita-contact-card__content {
    min-width: 0;
}

body .aita-contact-page .aita-contact-card__accent {
    display: block;
    width: 24px;
    height: 2px;
    margin: 10px 0 12px;
    border-radius: 99px;
    background: var(--aita-coral);
}

body .aita-contact-page .aita-contact-card a,
body .aita-contact-page .aita-contact-card address {
    display: block;
    margin: 0;
    color: var(--aita-green-dark);
    font-size: 14px;
    font-style: normal;
    font-weight: 650;
    line-height: 1.45;
    overflow-wrap: anywhere;
    text-decoration: none;
}

body .aita-contact-page .aita-contact-card a:hover {
    color: var(--aita-coral);
}

body .aita-contact-page .aita-contact-card small {
    display: block;
    margin-top: 8px;
    color: var(--aita-muted);
    font-size: 12px;
    line-height: 1.4;
}

body .aita-contact-page .aita-contact-hours p {
    margin: 8px 0 0;
}

body .aita-contact-page .aita-contact-hours span,
body .aita-contact-page .aita-contact-hours strong {
    display: block;
    font-size: 12px;
    line-height: 1.35;
}

body .aita-contact-page .aita-contact-hours span {
    color: var(--aita-muted);
    font-weight: 450;
}

body .aita-contact-page .aita-contact-hours strong {
    color: var(--aita-green-dark);
    font-weight: 700;
}

/* Contact Form 7 */
body .aita-contact-page .aita-contact-form-wrapper p {
    margin: 0 0 14px;
}

body .aita-contact-page .aita-contact-form-wrapper label {
    display: block;
    color: var(--aita-green-dark);
    font-size: 13px;
    font-weight: 650;
    line-height: 1.4;
}

body .aita-contact-page .aita-contact-form-wrapper input:not([type="checkbox"]):not([type="submit"]),
body .aita-contact-page .aita-contact-form-wrapper select,
body .aita-contact-page .aita-contact-form-wrapper textarea {
    width: 100%;
    margin-top: 7px;
    border: 1px solid #d5ded9;
    border-radius: 9px;
    outline: 0;
    background: rgba(255, 255, 255, 0.78);
    color: #263c35;
    font: inherit;
    font-size: 14px;
    box-shadow: none;
    transition: border-color 160ms ease, box-shadow 160ms ease,
        background 160ms ease;
}

body .aita-contact-page .aita-contact-form-wrapper input:not([type="checkbox"]):not([type="submit"]),
body .aita-contact-page .aita-contact-form-wrapper select {
    min-height: 44px;
    padding: 10px 13px;
}

body .aita-contact-page .aita-contact-form-wrapper textarea {
    min-height: 140px;
    padding: 12px 13px;
    resize: vertical;
}

body .aita-contact-page .aita-contact-form-wrapper input:focus,
body .aita-contact-page .aita-contact-form-wrapper select:focus,
body .aita-contact-page .aita-contact-form-wrapper textarea:focus {
    border-color: rgba(15, 81, 62, 0.58);
    background: #fff;
    box-shadow: 0 0 0 4px rgba(15, 81, 62, 0.08);
}

body .aita-contact-page .aita-contact-form-wrapper .wpcf7-list-item {
    margin: 0;
}

body .aita-contact-page .aita-contact-form-wrapper .wpcf7-list-item label {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    color: #5f6965;
    font-size: 12px;
    font-weight: 400;
}

body .aita-contact-page .aita-contact-form-wrapper input[type="checkbox"] {
    flex: 0 0 15px;
    width: 15px;
    height: 15px;
    margin: 1px 0 0;
    accent-color: var(--aita-green);
}

body .aita-contact-page .aita-contact-form-wrapper input[type="submit"] {
    min-width: 210px;
    min-height: 46px;
    padding: 12px 24px;
    border: 0;
    border-radius: 999px;
    color: #fff;
    background: var(--aita-green);
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    box-shadow: 0 8px 18px rgba(15, 81, 62, 0.16);
    transition: transform 160ms ease, background 160ms ease,
        box-shadow 160ms ease;
}

body .aita-contact-page .aita-contact-form-wrapper input[type="submit"]:hover {
    transform: translateY(-1px);
    background: var(--aita-green-dark);
    box-shadow: 0 10px 22px rgba(15, 81, 62, 0.2);
}

body .aita-contact-page .wpcf7-spinner {
    vertical-align: middle;
}

body .aita-contact-page .wpcf7-not-valid-tip {
    margin-top: 5px;
    color: #b42318;
    font-size: 12px;
}

body .aita-contact-page .wpcf7-response-output {
    margin: 16px 0 0 !important;
    padding: 10px 12px !important;
    border-radius: 9px;
    font-size: 13px;
}

/* Google Maps */
body .aita-contact-page .aita-contact-map {
    position: relative;
    min-height: 440px;
    overflow: hidden;
    background: #e9eeeb;
}

body .aita-contact-page .aita-contact-map iframe {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 440px;
    border: 0;
}

body .aita-contact-page .aita-contact-map__button {
    position: absolute;
    right: 20px;
    bottom: 20px;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    min-height: 44px;
    padding: 10px 18px;
    border-radius: 999px;
    color: #fff;
    background: var(--aita-green);
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    box-shadow: 0 8px 22px rgba(6, 47, 35, 0.24);
    transition: transform 160ms ease, background 160ms ease;
}

body .aita-contact-page .aita-contact-map__button:hover {
    transform: translateY(-1px);
    color: #fff;
    background: var(--aita-green-dark);
}

body .aita-contact-page .aita-contact-map__button svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

@media (max-width: 1100px) {
    body .aita-contact-page .aita-contact-layout {
        grid-template-columns: 1fr;
    }

    body .aita-contact-page .aita-contact-form-card {
        order: 2;
    }

    body .aita-contact-page .aita-contact-side {
        order: 1;
    }
}

@media (max-width: 700px) {
    body .aita-contact-page .aita-contact-shell {
        width: min(100% - 32px, 1360px);
    }

    body .aita-contact-page .aita-contact-hero {
        padding: 48px 0 32px;
    }

    body .aita-contact-page .aita-contact-hero__title {
        font-size: clamp(34px, 10vw, 44px);
    }

    body .aita-contact-page .aita-contact-hero__subtitle {
        font-size: 15px;
    }

    body .aita-contact-page .aita-contact-cards {
        grid-template-columns: 1fr;
    }

    body .aita-contact-page .aita-contact-form-card {
        padding: 22px 18px 24px;
    }

    body .aita-contact-page .aita-contact-card {
        min-height: 0;
        padding: 20px 18px;
    }

    body .aita-contact-page .aita-contact-heading h2 {
        font-size: 22px;
    }

    body .aita-contact-page .aita-contact-icon {
        flex-basis: 44px;
        width: 44px;
        height: 44px;
    }

    body .aita-contact-page .aita-contact-map,
    body .aita-contact-page .aita-contact-map iframe {
        min-height: 360px;
    }

    body .aita-contact-page .aita-contact-map__button {
        right: 14px;
        bottom: 14px;
    }

    body .aita-contact-page .aita-contact-form-wrapper input[type="submit"] {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    body .aita-contact-page * {
        scroll-behavior: auto !important;
        transition: none !important;
    }
}