/* Plugin „Amigelato Studio“ – Gestaltung von Saison-Hinweis, Eis-Telefon, Karte, Anfrageformular, Häufigen Fragen
   und Effekten. Erzeugt von werkzeuge/agl_css.py. Nutzt die Designvariablen (--ag-…), gekoppelt an das Elementor-Kit. */
:where(body){
  /* Farben: Elementor → Website-Einstellungen → Globale Farben (Wert nach dem Komma = Notwert) */
  --ag-strawberry:var(--e-global-color-primary,#a84232);
  --ag-espresso:var(--e-global-color-secondary,#2b1d18);
  --ag-text:var(--e-global-color-text,#2b1d18);
  --ag-pistachio-dark:var(--e-global-color-accent,#516b49);
  --ag-pistachio:var(--e-global-color-agpistazie,#8aa47a);
  --ag-crema:var(--e-global-color-agcrema,#f5e7cd);
  --ag-crema-hell:var(--e-global-color-agcremahell,#fcf1dd);
  --ag-white:var(--e-global-color-agweiss,#ffffff);
  --ag-muted:var(--e-global-color-aggedaempft,#6d5d56);
  --ag-espresso-soft:var(--e-global-color-agespressohell,#4a342d);
  --ag-gold:var(--e-global-color-aggold,#e2b24f);
  --ag-strawberry-dark:var(--e-global-color-agerdbeerdunkel,#8f3024);
  /* Schriften: Elementor → Website-Einstellungen → Globale Schriften (Überschriften = primär, Text = Fließtext) */
  --ag-titel:var(--e-global-typography-primary-font-family,Georgia),Georgia,"Times New Roman",serif;
  --ag-schrift:var(--e-global-typography-text-font-family,"Inter"),ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
}
:where(:root){
  /* Maße (nicht im Kit; auf dem Handy wird der Abschnittsabstand unten angepasst) */
  --ag-border:rgba(43,29,24,.14);
  --ag-shadow:0 22px 60px rgba(43,29,24,.12);
  --ag-radius-lg:34px;
  --ag-radius-md:22px;
  --ag-radius-sm:14px;
  --ag-wrap:1180px;
  --ag-abstand:clamp(76px,9vw,130px);
}
:root .ag-saison{position: relative; z-index: 1001; background: var(--ag-espresso); color: rgba(255,255,255,.88); font-size: .86rem; line-height: 1.5;}
:root .ag-saison__innen{display: flex; align-items: center; justify-content: center; gap: 12px; min-height: 44px; padding: 9px 0; text-align: center;}
:root .ag-saison :is(strong,:where(.t-strong)){color: var(--ag-gold); font-weight: 800;}
:root .ag-saison a{color: var(--ag-white);}
:root .ag-saison--saison{background: var(--ag-pistachio-dark);}
:root .ag-saison--saison :is(strong,:where(.t-strong)){color: var(--ag-white);}
:root .ag-saison__mehr{display: none;}
:root .ag-saison :is(p,:where(.t-p)){margin: 0;}
@media (min-width: 768px){
:root .ag-saison__mehr{display: inline;}
}
:root .ag-saison__punkt{flex: 0 0 9px; width: 9px; height: 9px; border-radius: 50%; background: var(--ag-gold); box-shadow: 0 0 0 4px rgba(226,178,79,.18);}
:root .ag-saison--saison .ag-saison__punkt{background: #d9efc9; box-shadow: 0 0 0 4px rgba(217,239,201,.2);}
:root .ag-map-consent .ag-btn--ghost{color: var(--ag-white);}
:root .ag-eisturm{width: var(--ag-eis-breite, 210px); max-width: 100%; justify-self: end;}
:root .ag-eisturm__svg{display: block; width: 100%; height: auto; overflow: visible;}
:root .ag-eisturm__waffel{fill: var(--ag-gold); stroke: var(--ag-espresso); stroke-width: 2.4; stroke-linejoin: round;}
:root .ag-eisturm__muster{fill: none; stroke: rgba(43,29,24,.42); stroke-width: 2; stroke-linecap: round;}
:root .ag-eisturm__kugel path{stroke: var(--ag-crema); stroke-width: 3; stroke-linejoin: round;}
:root .ag-eisturm__erdbeere{fill: var(--ag-strawberry);}
:root .ag-eisturm__pistazie{fill: var(--ag-pistachio);}
:root .ag-eisturm__schoko{fill: var(--ag-espresso-soft);}
:root .ag-eisturm__glanz{fill: #fff; opacity: .3;}
:root .ag-eisturm__schatten{fill: rgba(43,29,24,.13); transform-box: fill-box; transform-origin: center;}
:root .ag-eisturm--an .ag-eisturm__kugel{animation: ag-kugel-fall calc(.75s * var(--ag-eis-tempo, 1)) cubic-bezier(.34,1.42,.55,1) backwards;}
:root .ag-eisturm--an .ag-eisturm__kugel--1{animation-delay: calc(.3s * var(--ag-eis-tempo, 1));}
:root .ag-eisturm--an .ag-eisturm__kugel--2{animation-delay: calc(.85s * var(--ag-eis-tempo, 1));}
:root .ag-eisturm--an .ag-eisturm__kugel--3{animation-delay: calc(1.4s * var(--ag-eis-tempo, 1));}
:root .ag-eisturm--schweben .ag-eisturm__eis{animation: ag-eis-schweben calc(3.4s * var(--ag-eis-tempo, 1)) ease-in-out calc(2.4s * var(--ag-eis-tempo, 1)) infinite alternate;}
:root .ag-eisturm--schweben .ag-eisturm__schatten{animation: ag-eis-schatten calc(3.4s * var(--ag-eis-tempo, 1)) ease-in-out calc(2.4s * var(--ag-eis-tempo, 1)) infinite alternate;}
@keyframes ag-kugel-fall{ from { opacity: 0; transform: translateY(-200px); } 35% { opacity: 1; } to { opacity: 1; transform: none; } }
@keyframes ag-eis-schweben{ from { transform: none; } to { transform: translateY(-8px); } }
@keyframes ag-eis-schatten{ from { transform: none; } to { transform: scale(.82); opacity: .7; } }
:root .ag-faq{border-top: 1px solid var(--ag-border);}
:root .ag-faq details{border-bottom: 1px solid var(--ag-border);}
:root .ag-faq summary{position: relative; display: block; padding: 24px 52px 24px 0; cursor: pointer; list-style: none; font-family: var(--ag-titel); font-size: clamp(1.15rem, 1.8vw, 1.4rem); line-height: 1.3;}
:root .ag-faq summary::-webkit-details-marker{display: none;}
:root .ag-faq summary::after{content: "+"; position: absolute; top: 50%; right: 4px; display: grid; place-items: center; width: 34px; height: 34px; margin-top: -17px; border: 1px solid var(--ag-border); border-radius: 50%; color: var(--ag-strawberry); font-family: var(--ag-schrift); font-size: 1.2rem; transition: transform .25s ease;}
:root .ag-faq details[open] summary::after{transform: rotate(45deg);}
:root .ag-faq__antwort{padding: 0 52px 24px 0; color: var(--ag-muted);}
:root .ag-faq__antwort :is(p,:where(.t-p)):last-child:not(:where(.elementor-widget:not(:last-child) > *, .elementor-widget:not(:last-child) > .elementor-widget-container > *)){margin-bottom: 0;}
:root .ag-form{padding: clamp(28px, 5vw, 52px); border-radius: var(--ag-radius-lg); background: var(--ag-white); color: var(--ag-espresso); box-shadow: var(--ag-shadow);}
:root .ag-form-grid{display: grid; grid-template-columns: 1fr 1fr; gap: 19px;}
:root .ag-field{display: grid; gap: 7px;}
:root .ag-field--full{grid-column: 1 / -1;}
:root .ag-field label{font-size: .82rem; font-weight: 800;}
:root .ag-field label :is(span,:where(.t-span)){color: var(--ag-muted); font-weight: 400;}
:root .ag-field input,:root .ag-field select,:root .ag-field textarea{width: 100%;
  min-height: 51px;
  padding: 13px 15px;
  border: 1px solid rgba(43,29,24,.2);
  border-radius: 12px;
  background: #fffefa;
  color: var(--ag-espresso);
  font: inherit;}
:root .ag-field textarea{min-height: 145px; resize: vertical;}
:root .ag-field input:focus,:root .ag-field select:focus,:root .ag-field textarea:focus{border-color: var(--ag-pistachio-dark); box-shadow: 0 0 0 3px rgba(81,107,73,.12); outline: 0;}
:root .ag-consent{display: flex; align-items: flex-start; gap: 10px; margin: 22px 0; font-size: .82rem;}
:root .ag-consent input{width: 18px; min-width: 18px; height: 18px; flex: 0 0 18px; margin-top: 4px; accent-color: var(--ag-pistachio-dark);}
:root .ag-form-status{display: none; margin-top: 16px; padding: 13px 15px; border-radius: 12px; background: var(--ag-crema); font-size: .86rem;}
:root .ag-form-status.is-visible{display: block;}
:root .ag-honeypot{position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important;}
:root .ag-map-card{position: relative; min-height: 460px; overflow: hidden; display: grid; place-items: center; border-radius: var(--ag-radius-lg); background: linear-gradient(145deg, #8aa47a, #516b49); color: var(--ag-white); text-align: center; box-shadow: var(--ag-shadow);}
:root .ag-map-consent{position: relative; z-index: 1; width: min(100%, 430px); padding: 40px;}
:root .ag-map-consent h3{margin-top: 14px;}
:root .ag-map-consent .ag-actions{justify-content: center; margin-top: 25px;}
:root .ag-map-label{display: inline-flex; padding: 7px 11px; border: 1px solid rgba(255,255,255,.3); border-radius: 999px; font-size: .72rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase;}
:root .ag-map-privacy{margin-bottom: 0; color: rgba(255,255,255,.76); font-size: .8rem; line-height: 1.5;}
:root .ag-map-card iframe{position: absolute; inset: 0; width: 100%; height: 100%; border: 0;}
:root .ag-eistelefon{position: fixed; right: 16px; bottom: calc(16px + env(safe-area-inset-bottom, 0px)); z-index: 990; display: none; flex-direction: column; align-items: flex-end; gap: 10px;}
:root .ag-eistelefon__knopf{display: inline-flex; align-items: center; padding: 0; border: 0; background: none; color: var(--ag-espresso); font-family: var(--ag-schrift); cursor: pointer; -webkit-tap-highlight-color: transparent;}
:root .ag-eistelefon__eis{position: relative; z-index: 1; display: block; width: 56px; height: 76px; margin-bottom: -8px; transform-origin: 50% 90%; transition: transform .3s cubic-bezier(.22,.8,.24,1);}
:root .ag-eistelefon[data-offen] .ag-eistelefon__eis{transform: rotate(-9deg);}
:root .ag-eistelefon.ist-unterwegs .ag-eistelefon__eis{transform: rotate(5deg);}
:root .ag-eistelefon__knopf:active .ag-eistelefon__eis{transform: scale(.94);}
:root .ag-eistelefon__knopf:focus-visible{outline: none;}
:root .ag-eistelefon__knopf:focus-visible .ag-eistelefon__eis{outline: 3px solid var(--ag-gold); outline-offset: 2px; border-radius: 12px;}
:root .ag-eistelefon__felder{display: grid; gap: 8px; margin: 0 6px 4px 0; padding: 0; list-style: none; transform-origin: bottom right;}
:root .ag-eistelefon__felder[hidden]{display: none;}
:root .ag-eistelefon__felder a{display: block; min-width: 190px; padding: 14px 20px; border-radius: 16px 16px 6px 16px; background: var(--ag-white); color: var(--ag-espresso); box-shadow: 0 12px 30px rgba(43,29,24,.18); font-size: .9rem; font-weight: 800; text-align: right; text-decoration: none; animation: ag-feld .28s cubic-bezier(.22,.8,.24,1) both;}
:root .ag-eistelefon__felder :is(li,:where(.t-li)):first-child:not(:where(.elementor-widget:not(:first-child) > *, .elementor-widget:not(:first-child) > .elementor-widget-container > *)) a{background: var(--ag-strawberry); color: var(--ag-white);}
:root .ag-eistelefon__felder :is(li,:where(.t-li)):nth-child(2) a{animation-delay: .05s;}
@keyframes ag-feld{ from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
:root.ag-fx [data-ag-anim="einblenden"]{opacity: 0; translate: 0 14px; transition: opacity .6s cubic-bezier(.22,.61,.36,1), translate .6s cubic-bezier(.22,.61,.36,1);}
:root.ag-fx [data-ag-anim="einblenden"].ist-da{opacity: 1; translate: none;}
:root.ag-fx [data-ag-anim="aufdecken"] img,:root.ag-fx img[data-ag-anim="aufdecken"]{clip-path: inset(100% 0 0 0 round var(--ag-radius-lg)); transition: clip-path .9s cubic-bezier(.65,0,.25,1);}
:root.ag-fx [data-ag-anim="aufdecken"].ist-da img,:root.ag-fx img[data-ag-anim="aufdecken"].ist-da{clip-path: inset(0 0 0 0 round var(--ag-radius-lg));}
:root .ag-anim-aus [data-ag-anim]{opacity: 1 !important; translate: none !important;}
:root .ag-anim-aus [data-ag-anim] img,:root .ag-anim-aus img[data-ag-anim]{clip-path: none !important;}
@media (max-width: 1024px){
:root .ag-eistelefon{display: flex;}
}
@media (max-width: 1024px){
:root .ag-page-hero--eis .ag-eisturm{justify-self: center; width: min(var(--ag-eis-breite, 210px), 150px);}
}
@media (max-width: 767px){
:root .ag-page-hero--eis .ag-eisturm{width: min(var(--ag-eis-breite, 210px), 120px);}
:root .ag-saison{font-size: .8rem;}
:root .ag-saison__innen{justify-content: flex-start; min-height: 40px; padding: 8px 0; text-align: left; gap: 10px;}
:root .ag-form{padding: 22px 18px 24px;}
:root .ag-form-grid{grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 10px;}
:root .ag-field input,:root .ag-field select{min-width: 0;}
:root .ag-form-grid .ag-field{grid-column: 1 / -1; gap: 5px;}
:root .ag-form-grid .ag-field--halb{grid-column: auto; align-self: end;}
:root .ag-field input,:root .ag-field select,:root .ag-field textarea{min-height: 46px; padding: 10px 12px; font-size: 1rem;}
:root .ag-field textarea{min-height: 104px;}
:root .ag-consent{margin: 16px 0 12px;}
:root .ag-form .ag-form-note{margin-bottom: 16px; padding: 0; border: 0; background: none; color: var(--ag-muted);}
:root .ag-form .ag-btn{width: 100%;}
:root .ag-map-card{min-height: 380px;}
:root .ag-map-consent{padding: 28px 22px;}
:root .ag-faq summary{padding: 18px 46px 18px 0;}
:root .ag-faq__antwort{padding-right: 0;}
}
@media (prefers-reduced-motion: reduce){
:root.ag-fx [data-ag-anim]{opacity: 1 !important; translate: none !important;}
:root.ag-fx [data-ag-anim] img,:root.ag-fx img[data-ag-anim]{clip-path: none !important;}
}
