/*
Theme Name: Astra Child AI Women
Theme URI: https://internet-pr-beratung.de/
Description: Child Theme für AI for Women mit WooCommerce Kurskarten
Author: Sammy
Template: astra
Version: 1.0
Text Domain: astra-child-aiwomen
*/

:root{
  --aiw-primary:#fc6c85;
  --aiw-primary-dark:#f35471;
  --aiw-navy:#041c3f;
  --aiw-bg:#f7f8fc;
  --aiw-text:#041c3f;
  --aiw-text-soft:rgba(4,28,63,.72);
  --aiw-text-muted:rgba(4,28,63,.55);
  --aiw-border:rgba(4,28,63,.10);
  --aiw-shadow-sm:0 8px 24px rgba(4,28,63,.07);
  --aiw-shadow-md:0 18px 50px rgba(4,28,63,.10);
}

html, body { overflow-x: hidden; }
body { background: var(--aiw-bg); }
img { max-width: 100%; height: auto; }

.aiw-section,
.aiw-audience-intro,
.aiw-audience-cards,
.aiw-faq-intro,
.aiw-faq-row,
.aiw-testimonials-section {
  max-width: 1180px;
  margin: 0 auto;
}

.aiw-section { margin: 0 0 56px; }
.aiw-section-label {
  color: var(--aiw-primary);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .18em;
  margin: 0 0 14px;
}
.aiw-section-title {
  color: var(--aiw-navy);
  font-size: 46px;
  line-height: 1.04;
  letter-spacing: -.03em;
  font-weight: 800;
  margin: 0 0 14px;
  max-width: 14ch;
}
.aiw-section-text {
  color: var(--aiw-text-soft);
  font-size: 16px;
  line-height: 1.75;
  max-width: 760px;
  margin: 0 0 24px;
}

.aiw-course-grid ul.products,
.woocommerce ul.products{
  display:grid !important;
  gap:22px;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}
.aiw-course-grid.cols-2 ul.products{ grid-template-columns:repeat(2,minmax(0,1fr)); }
.aiw-course-grid.cols-3 ul.products{ grid-template-columns:repeat(3,minmax(0,1fr)); }

.woocommerce ul.products li.product{
  width:auto !important;
  margin:0 !important;
  float:none !important;
  background:#fff;
  border:1px solid rgba(4,28,63,.08);
  border-radius:22px;
  box-shadow:var(--aiw-shadow-sm);
  overflow:hidden;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
  padding:0 !important;
  display:flex;
  flex-direction:column;
  min-height:100%;
}
.woocommerce ul.products li.product:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 42px rgba(4,28,63,.10);
  border-color:rgba(252,108,133,.18);
}
.woocommerce ul.products li.product img{
  width:100% !important;
  height:210px !important;
  object-fit:cover;
  margin:0 !important;
  display:block;
}
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .star-rating,
.woocommerce ul.products li.product .button:not(.aiw-course-btn),
.woocommerce ul.products li.product .added_to_cart,
.woocommerce ul.products li.product .product-cat,
.woocommerce ul.products li.product .posted_in,
.woocommerce ul.products li.product .ast-woo-product-category,
.woocommerce ul.products li.product .woocommerce-loop-category__title,
.woocommerce ul.products li.product .wc-product-category,
.woocommerce ul.products li.product h2.woocommerce-loop-product__title,
.woocommerce ul.products li.product .astra-shop-summary-wrap > .price,
.woocommerce ul.products li.product .astra-shop-summary-wrap > .button,
.woocommerce ul.products li.product .astra-shop-summary-wrap > .added_to_cart,
.woocommerce ul.products li.product .onsale{ display:none !important; }
.woocommerce ul.products li.product .astra-shop-summary-wrap{
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  background:transparent !important;
}

.aiw-card-content{
  padding:20px 20px 18px;
  display:flex;
  flex-direction:column;
  flex:1;
}
.aiw-badge{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:3px 10px;
  border-radius:999px;
  font-size:11px;
  font-weight:700;
  letter-spacing:.02em;
  background:rgba(252,108,133,.10);
  color:var(--aiw-primary);
  align-self:flex-start;
  margin-bottom:12px;
}
.aiw-title{
  font-size:21px;
  line-height:1.15;
  letter-spacing:-.02em;
  font-weight:800;
  color:var(--aiw-navy);
  margin:0 0 8px;
  overflow-wrap: break-word;
  hyphens: auto;
}
.aiw-subtitle{ color:var(--aiw-primary); font-size:13px; font-weight:700; margin-bottom:8px; }
.aiw-audience{ color:var(--aiw-text-muted); font-size:13px; font-weight:700; margin-bottom:12px; }
.aiw-excerpt{
  color:var(--aiw-text-soft);
  font-size:14px;
  line-height:1.7;
  margin-bottom:14px;
  min-height:95px;
  overflow-wrap: break-word;
}
.aiw-meta{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:16px; }
.aiw-chip{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:0 11px;
  border-radius:999px;
  border:1px solid rgba(4,28,63,.08);
  background:var(--aiw-bg);
  font-size:11px;
  font-weight:700;
  color:rgba(4,28,63,.72);
}
.aiw-actions{
  margin-top:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.aiw-more{ color:var(--aiw-primary); font-size:13px; font-weight:700; }
.aiw-more:hover{ text-decoration:underline; }
.aiw-course-btn{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:0 14px !important;
  border-radius:999px !important;
  background:var(--aiw-navy) !important;
  color:#fff !important;
  font-size:12px !important;
  font-weight:700 !important;
  line-height:1 !important;
  border:none !important;
  box-shadow:none !important;
}
.woocommerce ul.products li.product:hover .aiw-course-btn{ background:var(--aiw-primary) !important; }

.aiw-next-dates-wrap { margin-top: 14px; }
.aiw-next-dates-label { color: rgba(4, 28, 63, 0.62); font-size: 12px; font-weight: 700; margin-bottom: 8px; }
.aiw-next-dates { display: flex; flex-wrap: wrap; gap: 8px; }
.aiw-chip-next-date { background: rgba(252,108,133,0.08); border-color: rgba(252,108,133,0.16); }

.aiw-module-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; align-items:start; }
.aiw-module-column { min-width:0; }
.aiw-module-heading { color:var(--aiw-navy); font-size:14px; font-weight:700; margin:0 0 18px; }
.aiw-schedule-card { background:#fff; border:1px solid rgba(4,28,63,.08); border-radius:24px; box-shadow:var(--aiw-shadow-sm); padding:22px; }
.aiw-schedule-title { margin:0; color:var(--aiw-navy); font-size:28px; line-height:1.1; letter-spacing:-.02em; font-weight:800; }
.aiw-schedule-price { margin-top:12px; color:var(--aiw-primary); font-size:32px; line-height:1; font-weight:800; }
.aiw-schedule-slot { margin-top:10px; color:rgba(4,28,63,.62); font-size:14px; font-weight:700; }
.aiw-schedule-list { list-style:none; margin:18px 0 0; padding:0; display:grid; gap:10px; }
.aiw-schedule-item { display:grid; grid-template-columns:54px 1fr; gap:10px; align-items:center; background:var(--aiw-bg); border-radius:14px; padding:8px; }
.aiw-schedule-thumb-link { display:block; width:54px; height:54px; overflow:hidden; border-radius:10px; flex-shrink:0; }
.aiw-schedule-thumb { width:54px; height:54px; object-fit:cover; display:block; }
.aiw-schedule-thumb-placeholder { background:#e9edf5; }
.aiw-schedule-text { min-width:0; display:grid; gap:2px; }
.aiw-schedule-date { color:var(--aiw-navy); font-size:13px; font-weight:800; line-height:1.3; }
.aiw-schedule-module-title { color:var(--aiw-text-soft); font-size:12px; line-height:1.35; text-decoration:none; }
.aiw-schedule-module-title:hover { color:var(--aiw-primary); }

.aiw-audience-intro { margin-bottom:28px; }
.aiw-audience-cards .panel-grid-cell,
.aiw-audience-cards .so-panel { height:100%; }
.aiw-audience-card-inner { background:var(--aiw-bg); border:1px solid rgba(4,28,63,.10); border-radius:30px; padding:34px 30px 30px; box-shadow:0 8px 24px rgba(4,28,63,.05); height:100%; }
.aiw-audience-eyebrow { color:var(--aiw-primary); font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.18em; margin-bottom:18px; }
.aiw-audience-card-inner h3 { color:var(--aiw-navy); font-size:28px; line-height:1.12; letter-spacing:-.03em; font-weight:800; margin:0 0 16px; max-width:12ch; }
.aiw-audience-card-inner p { color:var(--aiw-text-soft); font-size:17px; line-height:1.8; margin:0; }

.aiw-why-row { background:var(--aiw-navy); padding:88px 0; }
.aiw-why-row .panel-grid-cell { vertical-align:top; }
.aiw-why-label { color:var(--aiw-primary); font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.18em; margin:0 0 18px; }
.aiw-why-title { margin:0; color:#ffffff; font-size:68px; line-height:1.02; letter-spacing:-0.04em; font-weight:800; max-width:8ch; }
.aiw-why-points { display:grid; gap:16px; }
.aiw-why-point { background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.10); color:rgba(255,255,255,0.92); border-radius:28px; padding:24px 28px; font-size:18px; line-height:1.65; box-shadow: inset 0 1px 0 rgba(255,255,255,0.03); }
.aiw-why-row .panel-grid-cell:first-child { padding-right:34px; }
.aiw-why-row .panel-grid-cell:last-child { padding-left:34px; }

.aiw-testimonials-section { max-width: 1280px; margin: 0 auto; padding: 20px 0 40px; }
.aiw-testimonials-intro { margin-bottom: 36px; }
.aiw-testimonial-slider { position: relative; display: flex; align-items: center; gap: 28px; }
.aiw-testimonial-track-wrap { overflow: hidden; width: 100%; }
.aiw-testimonial-track { position: relative; }
.aiw-testimonial-slide { display: none; grid-template-columns: 260px 1fr; gap: 48px; align-items: center; }
.aiw-testimonial-slide.is-active { display: grid; }
.aiw-testimonial-media { display: flex; justify-content: center; align-items: center; }
.aiw-testimonial-media img { width: 240px; height: 240px; object-fit: cover; border-radius: 999px; display: block; box-shadow: 0 10px 30px rgba(4, 28, 63, 0.08); }
.aiw-testimonial-content h3 { margin: 0 0 18px; color: var(--aiw-navy); font-size: 2rem; line-height: 1.2; letter-spacing: -0.02em; font-weight: 700; }
.aiw-testimonial-content p { margin: 0; color: var(--aiw-text-soft); font-size: 1.5rem; line-height: 1.75; }
.aiw-testimonial-nav { width: 64px; height: 64px; min-width: 64px; border-radius: 999px; border: 1px solid rgba(4, 28, 63, 0.18); background: #ffffff; color: var(--aiw-navy); font-size: 2rem; line-height: 1; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; transition: all .2s ease; box-shadow: 0 6px 20px rgba(4, 28, 63, 0.06); }
.aiw-testimonial-nav:hover { background: var(--aiw-primary); border-color: var(--aiw-primary); color: #ffffff; }
.aiw-testimonial-dots { display: flex; justify-content: center; gap: 10px; margin-top: 28px; }
.aiw-testimonial-dot { width: 12px; height: 12px; border-radius: 999px; background: rgba(4, 28, 63, 0.18); cursor: pointer; transition: all .2s ease; }
.aiw-testimonial-dot.is-active { background: var(--aiw-primary); transform: scale(1.05); }

.aiw-faq-intro { margin-bottom:30px; }
.aiw-faq-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.aiw-faq-item { background:#ffffff; border:1px solid rgba(4,28,63,.08); border-radius:30px; box-shadow:0 8px 24px rgba(4,28,63,.05); overflow:hidden; position:relative; }
.aiw-faq-question { width:100%; border:0; background:transparent; padding:28px 28px 24px; display:flex; align-items:flex-start; justify-content:space-between; gap:18px; text-align:left; cursor:pointer; color:var(--aiw-navy); font-size:17px; line-height:1.45; font-weight:800; position:relative; z-index:2; pointer-events:auto; }
.aiw-faq-question span:first-child { max-width:92%; }
.aiw-faq-icon { width:36px; height:36px; min-width:36px; border-radius:999px; display:inline-flex; align-items:center; justify-content:center; background:rgba(252,108,133,.14); color:var(--aiw-primary); font-size:22px; font-weight:700; line-height:1; margin-top:2px; pointer-events:none; }
.aiw-faq-item.is-open .aiw-faq-icon { background:rgba(4,28,63,.10); color:var(--aiw-navy); }
.aiw-faq-answer { display:none; padding:0 28px 28px; color:var(--aiw-text-soft); font-size:16px; line-height:1.9; }
.aiw-faq-item.is-open .aiw-faq-answer { display:block; }

.aiw-faq-schema,
.faq-schema,
.faq-schema-block,
.aiw-schema-faq,
.schema-faq { display:block; margin-top:18px; }

.single-product .aiw-faq-grid--product,
.single-product .aiw-faq-schema .aiw-faq-grid,
.single-product .faq-schema .aiw-faq-grid,
.single-product .faq-schema-block .aiw-faq-grid,
.single-product .aiw-schema-faq .aiw-faq-grid,
.single-product .schema-faq .aiw-faq-grid { margin-top:18px; }

.single-product .aiw-faq-grid--product .aiw-faq-item,
.single-product .aiw-faq-schema .aiw-faq-item,
.single-product .faq-schema .aiw-faq-item,
.single-product .faq-schema-block .aiw-faq-item,
.single-product .aiw-schema-faq .aiw-faq-item,
.single-product .schema-faq .aiw-faq-item { background:#ffffff; }

.single-product .aiw-faq-grid--product .aiw-faq-answer > :first-child { margin-top:0; }
.single-product .aiw-faq-grid--product .aiw-faq-answer > :last-child { margin-bottom:0; }
.single-product .aiw-faq-grid--product .aiw-faq-answer p,
.single-product .aiw-faq-grid--product .aiw-faq-answer ul,
.single-product .aiw-faq-grid--product .aiw-faq-answer ol { margin-bottom:14px; }

.single-product .aiw-faq-grid--product .aiw-faq-answer ul,
.single-product .aiw-faq-grid--product .aiw-faq-answer ol { padding-left:20px; }

.wpcf7,
.wpcf7 form,
.wpcf7 p,
.wpcf7 label { color: #ffffff; }
.wpcf7 label { display:block; color:#ffffff; font-size:16px; font-weight:600; line-height:1.6; margin-bottom:8px; }
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="url"],
.wpcf7 input[type="number"],
.wpcf7 input[type="date"],
.wpcf7 textarea,
.wpcf7 select { width:100%; background:#ffffff; color:var(--aiw-navy); border:1px solid rgba(4,28,63,.12); border-radius:14px; padding:14px 16px; font-size:16px; line-height:1.5; box-sizing:border-box; }
.wpcf7 input::placeholder,
.wpcf7 textarea::placeholder { color: rgba(4,28,63,.45); }
.wpcf7 input:focus,
.wpcf7 textarea:focus,
.wpcf7 select:focus { outline:none; border-color:var(--aiw-primary); box-shadow:0 0 0 3px rgba(252,108,133,.15); }
.wpcf7-response-output,
.wpcf7 form .wpcf7-not-valid-tip { color:#ffffff; }
.wpcf7 input[type="submit"],
.wpcf7 button,
.wpcf7 .wpcf7-submit { background:var(--aiw-primary); color:#ffffff; border:none; border-radius:999px; padding:14px 24px; font-size:15px; font-weight:700; cursor:pointer; transition:background .2s ease, transform .2s ease; }
.wpcf7 input[type="submit"]:hover,
.wpcf7 button:hover,
.wpcf7 .wpcf7-submit:hover { background:var(--aiw-primary-dark); transform:translateY(-1px); }

.footer-widget-area,
.footer-widget-area .widget,
.footer-widget-area .widget-title,
.footer-widget-area p,
.footer-widget-area li,
.footer-widget-area a,
.footer-widget-area span,
.footer-widget-area div,
.ast-footer-widget-area,
.ast-footer-widget-area .widget,
.ast-footer-widget-area .widget-title,
.ast-footer-widget-area p,
.ast-footer-widget-area li,
.ast-footer-widget-area a,
.ast-footer-widget-area span { color:#ffffff; }
.footer-widget-area a,
.ast-footer-widget-area a { color:#ffffff; text-decoration:none; }
.footer-widget-area a:hover,
.footer-widget-area a:focus,
.ast-footer-widget-area a:hover,
.ast-footer-widget-area a:focus { color:var(--aiw-primary); }

.aiw-placeholder-product { background:#fff; border:1px solid rgba(4,28,63,.08); border-radius:22px; box-shadow:0 8px 24px rgba(4,28,63,.06); overflow:hidden; display:flex; flex-direction:column; min-height:100%; }
.aiw-placeholder-image-wrap { width:100%; height:210px; overflow:hidden; background:linear-gradient(135deg, rgba(252,108,133,0.08), rgba(4,28,63,0.04)); }
.aiw-placeholder-image { width:100%; height:100%; object-fit:cover; display:block; }
.aiw-placeholder-image-empty { position:relative; }
.aiw-placeholder-image-empty::before { content:"Neu"; position:absolute; top:18px; left:18px; display:inline-flex; align-items:center; min-height:30px; padding:4px 12px; border-radius:999px; background:rgba(252,108,133,.12); color:var(--aiw-primary); font-size:12px; font-weight:700; letter-spacing:.02em; }
.aiw-placeholder-image-empty::after { content:"Expertinnen-Programm"; position:absolute; left:18px; bottom:18px; color:rgba(4,28,63,.68); font-size:22px; line-height:1.2; font-weight:800; max-width:12ch; }
.aiw-more-muted { color:rgba(4,28,63,.45); }

.aiw-course-triplet { display:grid !important; grid-template-columns:repeat(3, minmax(0,1fr)) !important; gap:22px !important; align-items:stretch !important; }
.aiw-course-triplet > .product { width:auto !important; margin:0 !important; float:none !important; min-width:0 !important; height:100% !important; }
.aiw-triplet-card { background:#fff; border:1px solid rgba(4,28,63,.08); border-radius:22px; box-shadow:0 8px 24px rgba(4,28,63,.06); overflow:hidden; display:flex; flex-direction:column; min-height:100%; }
.aiw-triplet-card img { width:100%; height:210px; object-fit:cover; display:block; }

.main-header-bar-wrap { position: sticky; top: 0; z-index: 9999; background: #fff; box-shadow: 0 6px 18px rgba(4, 28, 63, 0.08); }
.admin-bar .main-header-bar-wrap { top: 32px; }
@media (max-width: 782px) { .admin-bar .main-header-bar-wrap { top: 46px; } }

@media (max-width: 1400px) {
  .aiw-testimonial-slide { grid-template-columns:300px 1fr; gap:60px; }
  .aiw-testimonial-media img { width:270px; height:270px; }
}

@media (max-width: 1200px) {
  .aiw-course-grid.cols-2 ul.products { grid-template-columns: 1fr !important; }
  .aiw-course-grid.cols-3 ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .aiw-section,
  .aiw-audience-intro,
  .aiw-audience-cards,
  .aiw-faq-intro,
  .aiw-faq-row,
  .aiw-testimonials-section { padding-left:20px; padding-right:20px; }
  .aiw-section-title { font-size:44px !important; line-height:1.06 !important; max-width:none !important; }
  .aiw-section-text { font-size:18px !important; line-height:1.7 !important; max-width:none !important; }
  .aiw-why-title { font-size:50px !important; line-height:1.05 !important; max-width:none !important; }
}

@media (max-width: 1100px) {
  .aiw-course-triplet { grid-template-columns:1fr !important; }
  .site-branding img,
  .custom-logo,
  .ast-site-identity img { max-width:180px !important; height:auto !important; }
  .aiw-testimonial-slide { grid-template-columns:220px 1fr; gap:32px; }
  .aiw-testimonial-media img { width:200px; height:200px; }
  .aiw-testimonial-content h3 { font-size:1.6rem; }
  .aiw-testimonial-content p { font-size:1.1rem; }
}

@media (max-width: 921px) {
  .site-branding img,
  .custom-logo,
  .ast-site-identity img { max-width:150px !important; height:auto !important; }
  .ast-primary-header-bar { min-height:auto !important; padding-top:10px !important; padding-bottom:10px !important; }
}

@media (max-width: 900px) {
  .aiw-section,
  .aiw-audience-intro,
  .aiw-audience-cards,
  .aiw-faq-intro,
  .aiw-faq-row,
  .aiw-testimonials-section { padding-left:16px; padding-right:16px; }

  .panel-layout .panel-grid,
  .siteorigin-panels-stretch .panel-grid,
  .siteorigin-panels .panel-grid,
  .aiw-audience-cards .panel-grid,
  .aiw-why-row .panel-grid {
    display:block !important;
  }

  .panel-layout .panel-grid-cell,
  .siteorigin-panels-stretch .panel-grid-cell,
  .siteorigin-panels .panel-grid-cell,
  .aiw-audience-cards .panel-grid-cell,
  .aiw-why-row .panel-grid-cell {
    width:100% !important;
    float:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
    margin-bottom:18px !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }

  .aiw-module-columns { grid-template-columns:1fr !important; gap:20px !important; }
  .aiw-audience-card-inner { padding:24px 20px !important; border-radius:22px !important; }
  .aiw-audience-card-inner h3 { font-size:24px !important; max-width:none !important; }
  .aiw-audience-card-inner p { font-size:15px !important; line-height:1.75 !important; }
  .aiw-why-row { padding:56px 16px !important; }
  .aiw-why-title { font-size:34px !important; line-height:1.08 !important; max-width:none !important; margin-bottom:28px !important; }
  .aiw-why-point { font-size:15px !important; line-height:1.65 !important; padding:18px 18px !important; border-radius:20px !important; }
  .aiw-testimonial-slide { grid-template-columns:1fr !important; gap:24px !important; text-align:left !important; }
  .aiw-testimonial-media { justify-content:flex-start !important; }
  .aiw-testimonial-media img { width:140px !important; height:140px !important; }
  .aiw-testimonial-content h3 { font-size:22px !important; line-height:1.25 !important; }
  .aiw-testimonial-content p { font-size:16px !important; line-height:1.75 !important; }
  .aiw-testimonial-slider { gap:12px !important; }
  .aiw-testimonial-nav { width:44px !important; height:44px !important; min-width:44px !important; font-size:20px !important; }
  .aiw-faq-grid { grid-template-columns:1fr !important; gap:16px !important; }
  .single-product .aiw-faq-grid--product,
  .single-product .aiw-faq-schema .aiw-faq-grid,
  .single-product .faq-schema .aiw-faq-grid,
  .single-product .faq-schema-block .aiw-faq-grid,
  .single-product .aiw-schema-faq .aiw-faq-grid,
  .single-product .schema-faq .aiw-faq-grid { grid-template-columns:1fr !important; gap:16px !important; }
  .aiw-faq-item { border-radius:22px !important; }
  .aiw-faq-question { font-size:16px !important; padding:20px 18px !important; gap:12px !important; }
  .aiw-faq-answer { padding:0 18px 18px !important; font-size:15px !important; line-height:1.75 !important; }
  .aiw-faq-icon { width:34px !important; height:34px !important; min-width:34px !important; }
  .site-footer .ast-builder-grid-row,
  .ast-footer-row .ast-builder-grid-row,
  .footer-widget-area .ast-builder-grid-row { display:block !important; }
  .site-footer .ast-builder-grid-row > *,
  .ast-footer-row .ast-builder-grid-row > *,
  .footer-widget-area .ast-builder-grid-row > * { width:100% !important; margin-bottom:20px !important; text-align:left !important; }
  .footer-widget-area,
  .ast-footer-widget-area { padding-left:16px !important; padding-right:16px !important; }
}

@media (max-width: 768px) {
  .aiw-course-grid.cols-2 ul.products,
  .aiw-course-grid.cols-3 ul.products,
  .woocommerce ul.products,
  .woocommerce-page ul.products { grid-template-columns:1fr !important; }
  .woocommerce ul.products li.product,
  .woocommerce-page ul.products li.product { width:100% !important; max-width:100% !important; min-width:0 !important; }
  .woocommerce ul.products li.product img,
  .woocommerce-page ul.products li.product img,
  .aiw-placeholder-image-wrap,
  .aiw-triplet-card img { height:220px !important; }
  .aiw-card-content { padding:18px 16px 16px !important; }
  .aiw-title { font-size:24px !important; line-height:1.15 !important; }
  .aiw-subtitle,
  .aiw-audience,
  .aiw-excerpt { font-size:14px !important; line-height:1.6 !important; }
  .aiw-chip { font-size:12px !important; min-height:32px !important; padding:0 12px !important; }
  .aiw-actions { flex-direction:column !important; align-items:stretch !important; }
  .aiw-more { text-align:center !important; }
  .aiw-course-btn { width:100% !important; min-height:42px !important; }
  .aiw-section-title { font-size:34px !important; line-height:1.08 !important; max-width:none !important; margin-bottom:14px !important; }
  .aiw-section-text { font-size:16px !important; line-height:1.75 !important; max-width:none !important; }
  .aiw-schedule-card { padding:16px !important; border-radius:18px !important; }
  .aiw-schedule-title { font-size:24px !important; }
  .aiw-schedule-price { font-size:28px !important; }
  .aiw-schedule-item { grid-template-columns:48px 1fr !important; gap:8px !important; padding:8px !important; }
  .aiw-schedule-thumb,
  .aiw-schedule-thumb-link { width:48px !important; height:48px !important; }
  .aiw-schedule-date { font-size:12px !important; }
  .aiw-schedule-module-title { font-size:11px !important; line-height:1.3 !important; }
  .aiw-next-dates-label { font-size:11px !important; line-height:1.4 !important; }
  .aiw-next-dates { gap:6px !important; }
  .aiw-placeholder-image-empty::after { font-size:20px; }
}

@media (max-width: 480px) {
  .aiw-section-title,
  .aiw-why-title { font-size:30px !important; line-height:1.1 !important; }
  .aiw-section-text { font-size:15px !important; }
}

/* ===== Mosaik-Startseite ===== */

.mosaic-row {
  max-width: 1240px;
  margin: 0 auto;
}

.mosaic-row-intro {
  padding: 72px 24px 24px;
}

.mosaic-row-cards {
  padding: 0 24px 36px;
}

.mosaic-row-why {
  padding: 28px 24px 36px;
  background: #041c3f;
  border-radius: 36px;
  margin-top: 18px;
  margin-bottom: 36px;
}

.mosaic-row-cta {
  padding: 0 24px 80px;
}

.mosaic-hero {
  max-width: 900px;
}

.mosaic-eyebrow {
  display: inline-block;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(252,108,133,.10);
  border: 1px solid rgba(252,108,133,.18);
  color: #041c3f;
  font-size: 13px;
  font-weight: 700;
  margin-bottom: 18px;
}

.mosaic-hero h1,
.mosaic-why-left h2,
.mosaic-cta h2 {
  color: #041c3f;
  font-size: 58px;
  line-height: 1.02;
  letter-spacing: -0.04em;
  font-weight: 800;
  margin: 0 0 18px;
}

.mosaic-hero p,
.mosaic-cta p {
  color: rgba(4,28,63,.72);
  font-size: 19px;
  line-height: 1.8;
  margin: 0;
  max-width: 900px;
}

.mosaic-card {
  display: block;
  text-decoration: none !important;
  color: inherit;
  height: 100%;
}

.mosaic-card-inner {
  position: relative;
  overflow: hidden;
  border-radius: 34px;
  border: 1px solid rgba(4,28,63,.08);
  background: linear-gradient(135deg, #ffffff 0%, #f8f9fd 100%);
  padding: 32px;
  min-height: 100%;
  box-shadow: 0 12px 34px rgba(4,28,63,.06);
  transition: transform .22s ease, box-shadow .22s ease;
}

.mosaic-card:hover .mosaic-card-inner {
  transform: translateY(-4px);
  box-shadow: 0 20px 48px rgba(4,28,63,.10);
}

.mosaic-card-women .mosaic-card-inner {
  background: linear-gradient(135deg, #fde7ec 0%, #ffffff 100%);
}

.mosaic-card-all .mosaic-card-inner {
  background: linear-gradient(135deg, #eef3fb 0%, #ffffff 100%);
}

.mosaic-card-eyebrow {
  color: #fc6c85;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .18em;
  margin-bottom: 16px;
}

.mosaic-card h2 {
  color: #041c3f;
  font-size: 46px;
  line-height: 1.04;
  letter-spacing: -0.04em;
  font-weight: 800;
  margin: 0 0 18px;
  max-width: 11ch;
}

.mosaic-card p {
  color: rgba(4,28,63,.72);
  font-size: 18px;
  line-height: 1.8;
  margin: 0 0 22px;
}

.mosaic-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 28px;
}

.mosaic-tags span {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 0 16px;
  border-radius: 999px;
  border: 1px solid rgba(4,28,63,.10);
  background: rgba(255,255,255,.86);
  color: rgba(4,28,63,.76);
  font-size: 14px;
  font-weight: 700;
}

.mosaic-card-boxes {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 18px;
  align-items: stretch;
}

.mosaic-info-box,
.mosaic-target-box {
  border-radius: 28px;
  padding: 22px;
  height: 100%;
}

.mosaic-info-box {
  background: rgba(255,255,255,.86);
  border: 1px solid rgba(4,28,63,.08);
}

.mosaic-info-box strong {
  display: block;
  color: #fc6c85;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .18em;
  margin-bottom: 14px;
}

.mosaic-info-box ul {
  margin: 0;
  padding-left: 18px;
}

.mosaic-info-box li {
  color: rgba(4,28,63,.72);
  font-size: 15px;
  line-height: 1.75;
  margin-bottom: 8px;
}

.mosaic-target-box {
  background: #041c3f;
  color: #fff;
  box-shadow: 0 16px 36px rgba(4,28,63,.16);
  display: flex;
  flex-direction: column;
}

.mosaic-target-label {
  color: #fc6c85;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .18em;
  margin-bottom: 14px;
}

.mosaic-target-title {
  font-size: 28px;
  line-height: 1.14;
  font-weight: 800;
  margin-bottom: 14px;
  min-height: 3.2em;
}

.mosaic-target-box p {
  color: rgba(255,255,255,.76);
  font-size: 15px;
  line-height: 1.75;
  margin: 0 0 20px;
  flex: 1 1 auto;
}

.mosaic-target-box .mosaic-button {
  margin-top: auto;
  align-self: flex-start;
}

.mosaic-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 18px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none !important;
}

.mosaic-target-box .mosaic-button,
.mosaic-button-pink {
  background: #fc6c85;
  color: #fff !important;
}

.mosaic-button-outline {
  border: 1px solid rgba(4,28,63,.12);
  color: #041c3f !important;
  background: #fff;
}

.mosaic-why-left .mosaic-eyebrow {
  background: rgba(252,108,133,.08);
  border-color: rgba(255,255,255,.08);
  color: #fc6c85;
}

.mosaic-why-left h2 {
  color: #fff;
  max-width: 9ch;
}

.mosaic-why-points {
  display: grid;
  gap: 16px;
}

.mosaic-why-point {
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
  color: rgba(255,255,255,.88);
  border-radius: 24px;
  padding: 20px 22px;
  font-size: 17px;
  line-height: 1.7;
}

.mosaic-cta {
  border-radius: 34px;
  border: 1px solid rgba(4,28,63,.08);
  background: #fff;
  box-shadow: 0 10px 28px rgba(4,28,63,.05);
  padding: 34px;
}

.mosaic-cta-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 28px;
}

/* =========================
   Zahlen-Kacheln
========================= */

.aiw-stat-row {
  max-width: 1240px;
  margin: 0 auto 36px;
}

.aiw-stat-row .panel-grid {
  display: flex !important;
  flex-wrap: wrap;
  align-items: stretch !important;
}

.aiw-stat-row .panel-grid-cell {
  display: flex !important;
  align-items: stretch !important;
}

.aiw-stat-row .so-panel,
.aiw-stat-row .widget,
.aiw-stat-row .widget_text,
.aiw-stat-row .widget_custom_html,
.aiw-stat-row .textwidget {
  width: 100%;
  height: 100%;
}

.aiw-stat-card {
  width: 100%;
  height: 100%;
  min-height: 170px;
  background: #FC6C85;
  border-radius: 24px;
  padding: 26px 22px 22px;
  box-shadow: 0 10px 26px rgba(4, 28, 63, 0.10);
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.aiw-stat-card,
.aiw-stat-card p,
.aiw-stat-card h2,
.aiw-stat-card h3,
.aiw-stat-card h4 {
  margin-top: 0;
}

.aiw-stat-card p:last-child,
.aiw-stat-card h2:last-child,
.aiw-stat-card h3:last-child,
.aiw-stat-card h4:last-child {
  margin-bottom: 0;
}

.aiw-stat-number {
  color: #041C3F;
  font-size: 58px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: -0.04em;
  margin: 0 0 18px;
}

.aiw-stat-label {
  color: #041C3F;
  font-size: 16px;
  line-height: 1.45;
  font-weight: 600;
  max-width: 15ch;
  margin: 0;
}

/* ===== Gleich hohe pinke Kacheln ===== */

.aiw-benefit-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
  align-items: stretch;
}

.aiw-benefit-card {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 300px;
  padding: 28px 26px;
  border-radius: 28px;
  background: #fc6c85;
  color: #041c3f;
  box-shadow: 0 10px 24px rgba(252, 108, 133, 0.16);
  text-align: center;
}

.aiw-benefit-card h3 {
  margin: 0 0 16px;
  color: #041c3f;
  font-size: 24px;
  line-height: 1.2;
  font-weight: 800;
}

.aiw-benefit-card p {
  margin: 0;
  color: #041c3f;
  font-size: 20px;
  line-height: 1.5;
  font-weight: 700;
}

.aiw-benefit-card .so-widget-sow-editor,
.aiw-benefit-card .siteorigin-widget-tinymce,
.aiw-benefit-card .textwidget {
  width: 100%;
}

.aiw-benefit-card .so-widget-sow-editor p,
.aiw-benefit-card .siteorigin-widget-tinymce p,
.aiw-benefit-card .textwidget p {
  margin: 0 !important;
  width: 100%;
}

/* SiteOrigin mobil */
@media (max-width: 1100px) {
  .mosaic-card-boxes {
    grid-template-columns: 1fr;
  }

  .mosaic-hero h1,
  .mosaic-why-left h2,
  .mosaic-cta h2 {
    font-size: 44px;
  }

  .aiw-stat-card {
    min-height: 138px;
    padding: 22px 18px 18px;
    border-radius: 20px;
  }

  .aiw-stat-number {
    font-size: 46px;
    margin: 0 0 14px;
  }

  .aiw-stat-label {
    font-size: 15px;
  }
}

@media (max-width: 900px) {
  .mosaic-row-intro,
  .mosaic-row-cards,
  .mosaic-row-why,
  .mosaic-row-cta {
    padding-left: 16px;
    padding-right: 16px;
  }

  .mosaic-row-why {
    padding-top: 42px;
    padding-bottom: 42px;
    border-radius: 26px;
  }

  .mosaic-card-inner,
  .mosaic-cta {
    padding: 24px;
    border-radius: 24px;
  }

  .mosaic-card h2 {
    font-size: 34px;
    max-width: none;
  }

  .mosaic-hero h1,
  .mosaic-why-left h2,
  .mosaic-cta h2 {
    font-size: 34px;
    line-height: 1.08;
  }

  .mosaic-card p,
  .mosaic-hero p,
  .mosaic-cta p {
    font-size: 16px;
    line-height: 1.75;
  }

  .mosaic-why-point {
    font-size: 15px;
    line-height: 1.7;
    padding: 16px 18px;
  }
}

@media (max-width: 780px) {
  .aiw-stat-row .panel-grid {
    display: block !important;
  }

  .aiw-stat-row .panel-grid-cell {
    display: block !important;
    margin-bottom: 14px !important;
  }

  .aiw-stat-card {
    min-height: auto;
    height: auto;
    padding: 20px 18px;
    border-radius: 18px;
  }

  .aiw-stat-number {
    font-size: 40px;
    margin: 0 0 10px;
  }

  .aiw-stat-label {
    font-size: 15px;
    max-width: none;
  }
}
/* ===== Termin-Status ===== */

.aiw-chip-start-date.is-next,
.aiw-chip-next-date.is-next {
  background: #fc6c85;
  border-color: #fc6c85;
  color: #ffffff;
  font-weight: 800;
  box-shadow: 0 6px 18px rgba(252,108,133,.30);
}

.aiw-chip-start-date.is-past,
.aiw-chip-next-date.is-past {
  background: #eef1f6;
  border-color: rgba(4,28,63,.08);
  color: rgba(4,28,63,.42);
  text-decoration: line-through;
  box-shadow: none;
  opacity: .85;
}