/* 
Theme Name: ActivoMed Child
Theme URI: 
Description:
Author: Giovanni Moroni
Author URI: 
Template: hello-elementor
Version: 2.1.0
Text Domain: activomed-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: 
*/

/* Add your custom styles here */


/* === ACF FAQ Accordion (Radio) === */
.acf-faq-accordion {
  display: grid;
  gap: 12px;
}

/* item wrapper */
.acf-faq-accordion .acf-faq-item {
  border-radius: 10px;
  overflow: hidden;
}

/* hide radios */
.acf-faq-accordion .acf-faq-toggle {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

/* header */
.acf-faq-accordion .acf-faq-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  user-select: none;

  background: var(--e-global-color-primary);
  color: #fff;

  padding: 16px 16px;
  font-weight: 400;
  border-radius: 6px;
  font-size: 18px;
}

.acf-faq-accordion .acf-faq-title-text {
  color: #fff;
}

/* icons */
.acf-faq-accordion .acf-faq-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
}

.acf-faq-accordion .acf-faq-icon svg {
  width: 18px;
  height: 18px;
  fill: #fff;
}

/* content: animated open/close */
.acf-faq-accordion .acf-faq-content {
  overflow: hidden;

  max-height: 0;
  opacity: 0;

  border: 0px solid rgba(0,0,0,0.08);
  border-top: 0;
  background: transparent;

  transition: max-height 420ms ease, opacity 320ms ease;
}

.acf-faq-accordion .acf-faq-content-inner {
  padding: 14px 18px;
}

/* open state */
.acf-faq-accordion .acf-faq-toggle:checked + .acf-faq-title + .acf-faq-content {
  max-height: 1200px; /* adjust if you have very long answers */
  opacity: 1;
}

/* icon switching */
.acf-faq-accordion .acf-faq-toggle:checked + .acf-faq-title .acf-faq-icon-plus { display: none; }
.acf-faq-accordion .acf-faq-toggle:checked + .acf-faq-title .acf-faq-icon-minus { display: inline; }
.acf-faq-accordion .acf-faq-toggle:not(:checked) + .acf-faq-title .acf-faq-icon-plus { display: inline; }
.acf-faq-accordion .acf-faq-toggle:not(:checked) + .acf-faq-title .acf-faq-icon-minus { display: none; }

/* optional: focus state for accessibility */
.acf-faq-accordion .acf-faq-title:focus-visible {
  outline: 2px solid rgba(255,255,255,0.9);
  outline-offset: -2px;
}

/* Woocommerce */

/* === WooCommerce Produktdetails / Attribute === */
.woocommerce-product-attributes.shop_attributes {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  margin: 0.75em 0 0;
  background: #FCFBF7;
  border-radius: 6px;
  overflow: hidden;
  color: var(--e-global-color-primary, #002C58);
}

.woocommerce-product-attributes.shop_attributes th,
.woocommerce-product-attributes.shop_attributes td {
  padding: 14px 18px;
  border: none;
  border-bottom: 1px solid rgba(0, 44, 88, 0.1);
  vertical-align: top;
  text-align: left;
  font-size: 16px;
  line-height: 1.45;
}

.woocommerce-product-attributes.shop_attributes tr:last-child th,
.woocommerce-product-attributes.shop_attributes tr:last-child td {
  border-bottom: none;
}

.woocommerce-product-attributes-item__label {
  width: 28%;
  max-width: 11em;
  font-weight: 600;
  color: var(--e-global-color-primary, #002C58);
}

.woocommerce-product-attributes-item__value {
  color: var(--e-global-color-text, #4E4E4E);
  font-weight: 400;
}

.woocommerce-product-attributes-item__value p {
  margin: 0;
}
.woocommerce-product-attributes-item__value,
.woocommerce-product-attributes-item__value p {
  font-style: normal;
}

.single-product .product-type-variable
.elementor-widget-woocommerce-product-price {
    display: none;
}
.woocommerce-product-attributes .wc-attribute-list {
    margin: 0;
    padding-left: 1.2em;
}

.woocommerce-product-attributes .wc-attribute-list li {
    margin-bottom: 0.25em;
}

/* Sidecart: Bild, Titel und Preis jeweils in einer eigenen Zeile */
.elementor-widget-woocommerce-menu-cart.elementor-menu-cart--cart-type-side-cart .elementor-menu-cart__product {
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: auto auto auto;
  align-items: start;
  column-gap: 12px;
  row-gap: 8px;
  padding-inline-end: 0;
}

.elementor-widget-woocommerce-menu-cart.elementor-menu-cart--cart-type-side-cart .elementor-menu-cart__product-image {
  grid-column: 1 / -1;
  grid-row: 1;
  display: flex;
  justify-content: flex-start;
  justify-self: start;
  width: fit-content;
  margin: 0;
  padding: 0;
  background: transparent;
}

.elementor-widget-woocommerce-menu-cart.elementor-menu-cart--cart-type-side-cart .elementor-menu-cart__product-image a,
.elementor-widget-woocommerce-menu-cart.elementor-menu-cart--cart-type-side-cart .elementor-menu-cart__product-image img {
  display: block;
  width: 88px;
  max-width: 88px;
  max-height: 66px;
  height: auto;
  margin: 0;
  object-fit: contain;
}

.elementor-widget-woocommerce-menu-cart.elementor-menu-cart--cart-type-side-cart .elementor-menu-cart__product-image a {
  padding: 4px;
  background: #FCFBF7;
  border-radius: 6px;
}

.elementor-widget-woocommerce-menu-cart.elementor-menu-cart--cart-type-side-cart .elementor-menu-cart__product-name,
.elementor-widget-woocommerce-menu-cart.elementor-menu-cart--cart-type-side-cart .elementor-menu-cart__product-price {
  margin: 0;
  padding-inline-start: 0;
}

.elementor-widget-woocommerce-menu-cart.elementor-menu-cart--cart-type-side-cart .elementor-menu-cart__product-name {
  grid-column: 1 / -1;
  grid-row: 2;
  align-self: start;
  line-height: 1.15;
}

.elementor-widget-woocommerce-menu-cart.elementor-menu-cart--cart-type-side-cart .elementor-menu-cart__product-name a {
  line-height: 1.15;
}

.elementor-widget-woocommerce-menu-cart.elementor-menu-cart--cart-type-side-cart .elementor-menu-cart__product-price {
  grid-column: 1;
  grid-row: 3;
  align-self: center;
  justify-self: start;
  white-space: nowrap;
}

.elementor-widget-woocommerce-menu-cart.elementor-menu-cart--cart-type-side-cart.remove-item-position--middle .elementor-menu-cart__product-remove,
.elementor-widget-woocommerce-menu-cart.elementor-menu-cart--cart-type-side-cart.remove-item-position--top .elementor-menu-cart__product-remove,
.elementor-widget-woocommerce-menu-cart.elementor-menu-cart--cart-type-side-cart.remove-item-position--bottom .elementor-menu-cart__product-remove {
  position: relative;
  grid-column: 2;
  grid-row: 3;
  align-self: center;
  justify-self: end;
  top: auto;
  bottom: auto;
  inset-inline-end: auto;
  transform: none;
}
@media (max-width: 767px) {
  .woocommerce-product-attributes.shop_attributes,
  .woocommerce-product-attributes.shop_attributes tbody,
  .woocommerce-product-attributes.shop_attributes tr,
  .woocommerce-product-attributes.shop_attributes th,
  .woocommerce-product-attributes.shop_attributes td {
    display: block;
    width: 100%;
    max-width: none;
  }

  .woocommerce-product-attributes-item__label {
    padding-bottom: 4px;
    border-bottom: none;
  }

  .woocommerce-product-attributes-item__value {
    padding-top: 0;
    padding-bottom: 16px;
    border-bottom: 1px solid rgba(0, 44, 88, 0.1);
  }

  .woocommerce-product-attributes.shop_attributes tr:last-child .woocommerce-product-attributes-item__value {
    border-bottom: none;
    padding-bottom: 14px;
  }
}
