/* Shared booking sticker, precise slogan typography and Partyoffice preview. */
body.sunny-site .sunny-brand-slogan,body.sunny-site .sunny-slogan{text-transform:none!important}
body.sunny-site .sunny-slogan{letter-spacing:.25px}
.sunny-signature .sunny-brand-mark,.sunny-footer-brand .sunny-brand-mark{height:auto;aspect-ratio:3.12;overflow:hidden}
body.sunny-site .sunny-signature .sunny-brand-mark img,body.sunny-site .sunny-footer-brand .sunny-brand-mark img{display:block;width:100%;height:auto}
body.sunny-site .sunny-signature .sunny-brand-slogan{font-size:14px;line-height:1.5;letter-spacing:.4px;margin-top:2px}
.sunny-footer-brand{width:240px;max-width:100%;margin-bottom:16px}
body.sunny-site .sunny-footer-brand .sunny-footer-logo{width:100%;margin:0}
body.sunny-site .sunny-footer-brand .sunny-brand-slogan{font-size:10px;line-height:1.6;letter-spacing:.1px}
body.sunny-site .sp-christmas-sticker{position:absolute;z-index:2;top:22px;right:20px;width:218px;min-height:106px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:13px 14px;background:linear-gradient(135deg,#ffd2a3,#e8a070 70%,#d88c58);border:2px solid #ffe2bd;border-radius:18px 18px 6px 18px;box-shadow:0 8px 22px #0007,inset 0 0 0 5px #ffffff20;color:#102636!important;text-decoration:none!important;text-align:center;line-height:1.15;transform:rotate(5deg);transition:transform .18s,box-shadow .18s}
.sp-christmas-sticker::after{content:"";position:absolute;inset:6px;border:1px dashed #6e3d2099;border-radius:11px 11px 2px 11px;pointer-events:none}
body.sunny-site .sp-christmas-sticker strong{font:800 24px/1 Arial,sans-serif;color:#102636;letter-spacing:2px}
.sp-christmas-sticker span{font-size:16px;font-weight:700}
.sp-christmas-sticker b{font:700 21px/1.1 Georgia,serif}
body.sunny-site .sp-christmas-sticker:hover{transform:rotate(1deg) translateY(-2px);box-shadow:0 12px 28px #0008}
.sc-hero figure,.sp-hero figure{position:relative}
.sunny-seasonal-callout{display:flex;justify-content:flex-end;padding:5px 12px 22px}
body.sunny-site .sunny-seasonal-callout .sp-christmas-sticker{position:relative;inset:auto}
.sunny-partyoffice{padding:34px 0;margin:24px 0 6px;border-block:1px solid #e8a07038}
.spo-intro{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:34px;align-items:center}
body.sunny-site .sunny-partyoffice h2{font-size:clamp(25px,2.2vw,30px);line-height:1.28;margin:0 0 17px!important}
body.sunny-site .sunny-partyoffice .sunny-eyebrow{font-size:10px;letter-spacing:1.8px;color:var(--sunny-copper);margin-bottom:11px}
body.sunny-site .sunny-partyoffice p{font-size:15px;line-height:1.75}
body.sunny-site .spo-arguments{list-style:none;padding:0;margin:19px 0 21px}
body.sunny-site .spo-arguments li{font-size:14px;line-height:1.65;color:#cbd9e3;margin-bottom:10px}
body.sunny-site .spo-demo{font-size:13px;line-height:1.6;color:#edbd98!important;text-decoration:underline!important;text-underline-offset:5px}
body.sunny-site .spo-devices{width:100%;max-width:410px;justify-self:center;margin:0!important}
body.sunny-site .spo-scene{display:block;position:relative;width:100%;aspect-ratio:1.65;text-decoration:none!important}
.spo-device{position:absolute;display:block;background:#203441;border:1px solid #aab6bb;box-shadow:0 12px 22px #0003;box-sizing:border-box}
.spo-screen{display:block;overflow:hidden;height:100%;border-radius:2px;background:#071e2f}
body.sunny-site .spo-screen img{display:block;width:100%;height:100%;max-width:none;border-radius:0;object-fit:cover;object-position:top left}
.spo-computer{left:3%;top:5%;width:76%;height:71%;padding:6px 6px 12px;border-radius:7px}
.spo-stand{position:absolute;left:39%;top:100%;height:12%;width:22%;background:linear-gradient(90deg,#a6afb3,#dce0df,#8b979e)}
.spo-stand::after{content:"";position:absolute;bottom:-4px;left:-30%;width:160%;height:5px;border-radius:4px;background:#c0c7c9}
.spo-tablet{right:2%;top:30%;width:34%;height:65%;padding:6px;border-radius:9px}
.spo-phone{left:17%;top:46%;width:18%;height:51%;padding:5px 3px;border-radius:10px;z-index:2}
.spo-phone::after{content:"";position:absolute;top:2px;left:35%;width:30%;height:3px;border-radius:3px;background:#a7b2b8}
body.sunny-site .spo-devices figcaption{text-align:center;font-size:10px;line-height:1.7;color:#aebfcd;margin-top:16px}
.spo-features{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:21px 24px;margin:28px 0 0;padding-top:24px;border-top:1px solid #ffffff18}
.spo-features dt{font-size:14px;line-height:1.5;color:#ecded1;font-weight:600;margin-bottom:5px}
.spo-features dd{font-size:13px;line-height:1.7;color:#c4d2dc;margin:0}
@media(max-width:1000px){.spo-features{grid-template-columns:repeat(2,minmax(0,1fr))}.spo-intro{grid-template-columns:1.2fr 1fr;gap:25px}}
@media(max-width:767px){.sunny-partyoffice{padding:28px 0}.spo-intro{grid-template-columns:1fr;gap:27px}body.sunny-site .spo-devices{max-width:320px}.spo-features{gap:21px 20px}body.sunny-site .sp-christmas-sticker{width:202px;min-height:102px;top:20px;right:17px;padding:12px}.sp-christmas-sticker span{font-size:15px}body.sunny-site .sunny-signature .sunny-brand-slogan{font-size:12px}}
@media(max-width:390px){.spo-features{grid-template-columns:1fr;gap:16px}}
@media(prefers-reduced-motion:reduce){body.sunny-site .sp-christmas-sticker{transition:none}}

/* Discreet disclosure on the three AI-created event motifs, wherever shown. */
body.sunny-site :is(a,figure):has(> img:is([src*="/dj-sunny-wedding."],[src*="/dj-sunny-corporate."],[src*="/dj-sunny-party."])){position:relative}
body.sunny-site :is(a,figure):has(> img:is([src*="/dj-sunny-wedding."],[src*="/dj-sunny-corporate."],[src*="/dj-sunny-party."]))::before{content:"KI-generiert";position:absolute;z-index:3;top:10px;left:10px;padding:0;border-radius:0;background:transparent;color:#f0f1ef;font:400 8px/1.25 Arial,Helvetica,sans-serif;letter-spacing:.15px;text-transform:none;text-shadow:none;box-shadow:none;pointer-events:none}
@media(max-width:767px){body.sunny-site :is(a,figure):has(> img:is([src*="/dj-sunny-wedding."],[src*="/dj-sunny-corporate."],[src*="/dj-sunny-party."]))::before{top:8px;left:8px;font-size:8px}}
