/* Gemeinsame Kartenfläche und Aktionen für Angebote und Google-Bewertungen. */
:root {
  --af-card-brown:linear-gradient(135deg,#352820,#291e19 48%,#19120f);
  --af-card-elevation:inset 0 1px 0 #ffe7d017,0 2px 4px #0006,0 16px 30px -12px #000d,0 34px 60px -18px #000b,-8px -8px 24px -12px #f8cca31f;
}
/* Programm- und Preiskarten teilen Farbe und Tiefe mit den Community-Karten. */
.af-info-card{position:relative;min-width:0;box-sizing:border-box;padding:30px;border:0;border-radius:28px;background:var(--af-card-brown);box-shadow:var(--af-card-elevation);color:#f6eee5;text-shadow:0 2px 3px #0005;display:flex;flex-direction:column;text-align:center}
.af-info-card .af-info-title{font-family:var(--af-font);font-size:clamp(22px,2vw,27px);font-weight:720;line-height:1.2;letter-spacing:-.025em;text-wrap:balance;text-transform:none}
.af-info-card .af-type-small{line-height:1.65;color:#d5c8bf}
.af-info-card>.af-flow,.af-price-content>.af-flow{width:100%;justify-content:center}
.af-info-card .af-data-row{text-align:left;align-items:baseline;justify-content:space-between}
.af-info-card .af-data-row>span:last-child{white-space:nowrap;font-weight:650}
.af-program-section{--af-flow-align:center;--af-flow-justify:center;text-align:center}
.af-program-section>div>.af-flow{justify-content:center;align-items:center;flex-direction:column;margin-inline:auto}
.af-program-section h2{max-width:20ch;margin-inline:auto!important}
.af-info-grid{display:grid;gap:28px;margin:clamp(36px,5vh,56px) auto 0}
.af-module-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.af-module-label{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;color:#e7b689;text-transform:uppercase;white-space:nowrap}
.af-module-label::before,.af-module-label::after{content:"";flex:1;min-width:0;height:1px;background:#f6eee524}
.af-price-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:1080px}
.af-price-image{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;object-position:center 20%;border-radius:25px 25px 16px 16px;margin-bottom:0;box-shadow:0 4px 8px #0005,0 14px 22px -12px #000b}
.af-location-image{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:25px 25px 16px 16px;margin:0;box-shadow:0 4px 8px #0005,0 14px 22px -12px #000b}
@media(max-width:999px){.af-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:639px){.af-info-grid{gap:22px}.af-module-grid,.af-price-grid{grid-template-columns:minmax(0,1fr)}.af-info-card{padding:26px 22px}}

.af-info-card.af-info-card--image{padding:3px}
.af-location-content{padding:24px 17px 23px}
.af-price-image.af-price-image--workshop{height:auto;aspect-ratio:3/2;object-fit:contain;border-radius:25px 25px 16px 16px;margin-bottom:0}
.af-price-content{display:flex;flex-direction:column;box-sizing:border-box;width:100%;padding:26px 27px 27px}
.af-price-content .af-data-row{align-self:stretch}
@media(max-width:639px){.af-price-content{padding:26px 19px 23px}}

/* Gemeinsamer Grundton: sanft vertiefte Mitte und freigegebener Verlauf nach rechts unten. */
.product-card.event-card, .af-review-card {
  --ec-surface:#2d231e;
  display:block; padding:3px; gap:0; min-height:0; border-radius:27px;
  border:0;
  background:linear-gradient(to bottom right,transparent,rgba(0,0,0,.08) 55%,rgba(0,0,0,.24)),linear-gradient(90deg,transparent 0%,rgba(0,0,0,.025) 15%,rgba(0,0,0,.1) 34%,rgba(0,0,0,.1) 66%,rgba(0,0,0,.025) 85%,transparent 100%),var(--ec-surface);
  box-shadow:inset 0 .5px 0 rgba(255,231,208,.06),0 2px 4px rgba(0,0,0,.4),0 16px 30px -12px rgba(0,0,0,.85),0 34px 60px -18px rgba(0,0,0,.75),-8px -8px 24px -12px rgba(248,204,163,.12);
}
:is(.event-card,.af-review-card) .ec-action{padding:26px 6px 0;position:relative}
:is(.event-card,.af-review-card) .ec-action .af-btn{display:flex;min-height:56px;width:260px;max-width:100%;margin:0 auto;justify-content:center;padding:18px 54px;background:linear-gradient(155deg,#fff7ec 0%,#f1dfca 65%,#e6ccb0 100%);color:#302015;border:0;font-size:14px;font-weight:700;letter-spacing:.015em;text-transform:none;box-shadow:inset 0 .5px 0 #fffaf05c,inset 0 -1px 3px #88664820,0 3px 5px -2px #0008,0 14px 22px -9px #000e,0 24px 32px -15px #000b;transition:transform .22s ease,box-shadow .22s ease}
:is(.event-card,.af-review-card) .af-btn-label{text-shadow:0 1px 0 #fff8}
:is(.event-card,.af-review-card) .af-btn .af-btn-circ{width:44px;right:6px;background:linear-gradient(145deg,#ff8252,#ff5a36 60%,#d84221);box-shadow:inset 0 .5px 0 #fff3,inset 0 -1px 3px #6d1a1226,0 3px 5px #5a26134a,0 8px 12px -4px #56241080;transition:transform .22s ease,box-shadow .22s ease}
:is(.event-card,.af-review-card) .af-btn:hover .af-btn-label{opacity:1;transform:none}
:is(.event-card,.af-review-card) .af-btn:hover .af-btn-circ{width:44px}
:is(.event-card,.af-review-card) .af-btn:focus-visible{outline:2px solid #ffab80;outline-offset:5px}
@media(hover:hover) and (pointer:fine){
  :is(.event-card,.af-review-card) .af-btn:hover{transform:translateY(-3px);box-shadow:inset 0 .5px 0 #fffaf05c,inset 0 -1px 3px #88664820,0 4px 7px -2px #0008,0 20px 28px -10px #000e,0 30px 38px -16px #000a}
  :is(.event-card,.af-review-card) .af-btn:hover .af-btn-arrow{transform:translateX(2px)}
}
:is(.event-card,.af-review-card) .af-btn:active{transform:translateY(1px) scale(.985);box-shadow:inset 0 1px 3px #67442832,0 2px 3px #0007,0 6px 12px -5px #000b}
:is(.event-card,.af-review-card) .af-btn:active .af-btn-circ{transform:scale(.96)}

@media(prefers-reduced-motion:reduce){:is(.event-card,.af-review-card) .af-btn,:is(.event-card,.af-review-card) .af-btn-circ,:is(.event-card,.af-review-card) .af-btn-arrow{transition:none!important}:is(.event-card,.af-review-card) .af-btn:hover,:is(.event-card,.af-review-card) .af-btn:active,:is(.event-card,.af-review-card) .af-btn:hover .af-btn-arrow,:is(.event-card,.af-review-card) .af-btn:active .af-btn-circ{transform:none}}
