
.dsny{--pink:#ff20a8;--cyan:#17dcff;--yellow:#ffd340;--navy:#020718;color:#fff;background:#020616;font-family:Arial,Helvetica,sans-serif;overflow:hidden}
.dsny *{box-sizing:border-box}.dsny-wrap{width:min(1180px,94%);margin:auto}.dsny h2{text-align:center;font-size:clamp(36px,5vw,58px);font-style:italic;color:#ff42ba;margin:0 0 12px;text-shadow:0 0 18px #ff2ca855}.dsny-lead{text-align:center;max-width:820px;margin:0 auto 34px;line-height:1.65}
.dsny-hero{min-height:760px;position:relative;display:flex;align-items:center;text-align:center;background-image:linear-gradient(180deg,#0004,#020616aa),var(--dsny-poster);background-size:cover;background-position:center 25%}.dsny-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#020616c7 0,transparent 30%,transparent 70%,#020616c7)}
.dsny-hero-inner{position:relative;z-index:2;width:min(1050px,94%);margin:auto;padding:55px 0}.dsny-logo-hero{width:min(520px,72vw);filter:brightness(0) invert(1);margin-bottom:10px}.dsny-kicker{font-size:13px;letter-spacing:5px;font-weight:700}.dsny h1{font-size:clamp(58px,9vw,112px);line-height:.9;margin:20px 0 0;font-weight:900;font-style:italic;-webkit-text-stroke:2px #a8e9ff;text-shadow:6px 7px 0 #9b2078,0 0 26px #18dcff}.dsny-script{font-size:clamp(34px,5vw,65px);font-style:italic;font-weight:800;color:var(--pink);transform:rotate(-3deg);margin-top:12px}.dsny-80{font-size:clamp(85px,12vw,150px);font-weight:900;font-style:italic;line-height:.8;background:linear-gradient(135deg,#ffd541,#ff3a8c 50%,#22dcff);-webkit-background-clip:text;color:transparent}.dsny-date{font-size:19px;letter-spacing:2px;font-weight:800;margin:30px 0 18px}.dsny-hero-actions{display:flex;justify-content:center;align-items:center;gap:22px;flex-wrap:wrap}.dsny-btn{display:inline-block;background:linear-gradient(90deg,#e9008e,#ff2fb9);border:1px solid #ff8bd8;border-radius:6px;padding:15px 25px;color:#fff!important;font-weight:900;text-decoration:none;box-shadow:0 0 24px #ff159a99;cursor:pointer}.dsny-price{width:138px;height:138px;border:3px solid var(--pink);border-radius:50%;display:grid;place-items:center;background:#09072ddd;box-shadow:0 0 30px #ff1dac;font-size:35px;font-weight:900}.dsny-price small{display:block;font-size:10px}.dsny-rest{margin-top:12px;font-size:14px}
.dsny-section{padding:70px 0;background:radial-gradient(circle at 15% 20%,#32105d55,transparent 28%),linear-gradient(#050b25,#07102c)}.dsny-program{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.dsny-program article{border:1px solid #ff31a766;background:#071027;overflow:hidden;box-shadow:0 15px 35px #0007}.dsny-pic{height:230px;display:grid;place-items:center;font-size:90px;background:radial-gradient(circle,#5d195c,#051027 70%)}.dsny-food{background:radial-gradient(circle,#744018,#061028 70%)}.dsny-disco{background:radial-gradient(circle,#50106b,#051027 70%)}.dsny-cardbody{padding:23px}.dsny-time{font-size:31px;font-weight:900;font-style:italic;color:var(--pink)}.dsny-time.cyan{color:var(--cyan)}.dsny-time.yellow{color:var(--yellow)}.dsny-cardbody h3{margin:6px 0 12px;font-size:21px}.dsny-cardbody p{font-size:14px;line-height:1.6;color:#d9def0}
.dsny-buffet{padding:70px 0;background:linear-gradient(90deg,#19061d,#3b0b29 50%,#06142d);border-block:1px solid #ff3bbd44}.dsny-menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.dsny-menu-grid>div{min-height:220px;border:1px solid #ff47bd55;border-radius:8px;padding:28px;background:linear-gradient(135deg,#7a163b88,#071329ee);box-shadow:inset 0 0 70px #0005}.dsny-menu-grid b{font-size:18px;color:#ffd75c}.dsny-menu-grid p{line-height:1.75}
.dsny-booking{padding:70px 0;background:linear-gradient(#061431,#020716)}#dsny-form{display:grid;grid-template-columns:1.5fr .72fr;gap:20px;background:#06152f;border:1px solid #14d9ff55;padding:23px;border-radius:10px;box-shadow:0 0 45px #073a7655}.dsny-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.dsny label{font-size:12px;font-weight:700}.dsny input,.dsny textarea{width:100%;padding:12px;margin-top:5px;border:0;border-radius:3px;font:inherit}.dsny-qty{display:grid;grid-template-columns:1fr 80px 145px;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #ffffff14;font-size:12px}.dsny-qty input{text-align:center;margin:0}.dsny-check{display:flex;align-items:flex-start;gap:8px;margin-top:14px}.dsny-check input{width:auto;margin:2px 0}.dsny-check a{color:#6ce7ff}.dsny-summary{border:1px solid #1b76a6;background:#081a38;padding:19px;border-radius:7px}.dsny-summary>div{display:flex;justify-content:space-between;padding:6px 0;font-size:13px}.dsny-summary .dsny-total{font-size:21px;font-weight:900;border-top:1px solid #ffffff33;margin-top:12px;padding-top:16px;color:#ff70cb}.dsny-pay{width:100%;border:0;font-size:15px;margin-top:20px}.dsny-secure{text-align:center!important;display:block!important;font-size:11px!important;color:#b8c3dc;margin-top:10px}.dsny-error{display:block!important;color:#ff9bbf;font-size:12px!important;line-height:1.4}.dsny-features{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;text-align:center;margin-top:45px}.dsny-features>div{font-size:31px;color:#ff65c9}.dsny-features span{display:block;font-size:12px;color:#fff;margin-top:9px}.dsny-soldout,.dsny-success{max-width:780px;margin:30px auto;padding:38px;border:1px solid #ff36b5;background:#07152d;color:#fff;text-align:center;border-radius:12px;box-shadow:0 0 35px #ff2ca844}.dsny-soldout strong{font-size:45px;color:#ff4bbb}.dsny-success{font-family:Arial,Helvetica,sans-serif;background:#07152d}.dsny-success h2{color:#ff42ba;font-size:42px}.dsny-success-icon{font-size:65px}.dsny-success .big{font-size:20px}.dsny-ticket{display:grid;gap:8px;padding:20px;margin:22px 0;background:#0b2044;border:1px solid #1cdcff;border-radius:8px}.dsny-ticket b{font-size:25px}.dsny-ticket strong{color:#74ffb5}
@media(max-width:780px){.dsny-hero{min-height:700px;background-position:center top}.dsny-logo-hero{width:260px}.dsny-kicker{font-size:10px;letter-spacing:3px}.dsny-program,.dsny-menu-grid,#dsny-form{grid-template-columns:1fr}.dsny-program article{display:grid;grid-template-columns:115px 1fr}.dsny-pic{height:100%;font-size:48px}.dsny-two{grid-template-columns:1fr}.dsny-qty{grid-template-columns:1fr 65px}.dsny-qty span:last-child{display:none}.dsny-features{grid-template-columns:1fr 1fr}.dsny-section,.dsny-buffet,.dsny-booking{padding:50px 0}}


/* v1.0.1 – Theme/Elementor compatibility fixes */
body:has(.dsny){margin:0!important;}
body:has(.dsny) .site-main,
body:has(.dsny) .entry-content,
body:has(.dsny) .page-content,
body:has(.dsny) .elementor,
body:has(.dsny) .elementor-widget-shortcode,
body:has(.dsny) .elementor-widget-shortcode .elementor-widget-container{margin-top:0!important;padding-top:0!important;}
.dsny{margin-top:0!important;padding-top:0!important;}
.dsny-hero{margin-top:0!important;}
.dsny-summary,
.dsny-summary h1,.dsny-summary h2,.dsny-summary h3,.dsny-summary h4,
.dsny-summary p,.dsny-summary span,.dsny-summary div{color:#fff!important;}
.dsny-summary h3{margin:0 0 16px!important;font-size:22px!important;font-weight:800!important;}
.dsny-summary .dsny-total,
.dsny-summary .dsny-total span{color:#ff70cb!important;}

body.dsny-event-page{margin:0!important;background:#020616!important;}
body.dsny-event-page .site-main,
body.dsny-event-page .content-area,
body.dsny-event-page .site-content,
body.dsny-event-page .entry-content,
body.dsny-event-page .page-content{margin-top:0!important;padding-top:0!important;}
body.dsny-event-page .entry-header,
body.dsny-event-page .page-header{display:none!important;}


/* v1.0.5 – bessere Lesbarkeit der Programmtexte */
.dsny-program .dsny-cardbody h3{color:#fff!important;text-shadow:0 1px 3px #000;font-weight:900!important;}
.dsny-program .dsny-cardbody p{color:#f3f6ff!important;font-size:15px;line-height:1.65;text-shadow:0 1px 2px #000;}
.dsny-program .dsny-time{filter:brightness(1.15);text-shadow:0 0 10px currentColor,0 2px 3px #000;}

/* v1.0.6 – Buchungsbedingungen */
.dsny .dsny-legal-note{margin:10px 0 16px;color:#dfe7f5!important;font-size:13px;line-height:1.55;opacity:.95}
.dsny .dsny-legal-note a{color:#67e8f9!important;text-decoration:underline;text-underline-offset:2px}
