/* RosenRot Laden */
.rs-shop{--rs-gold:#c9a45c}
.rs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:22px;margin:18px 0 40px}
.rs-head{text-align:center;margin:46px auto 8px;max-width:640px}
.rs-head h2{margin:.15em 0 .2em}
.rs-card{background:#fff;border:1px solid var(--line,#e9e2ef);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 10px 30px rgba(42,35,49,.06);transition:transform .25s ease,box-shadow .25s ease}
.rs-card:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(42,35,49,.12)}
.rs-img{position:relative;aspect-ratio:1/1;background:#2a2033;overflow:hidden}
.rs-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}
.rs-card:hover .rs-img img{transform:scale(1.04)}
.rs-badge{position:absolute;top:12px;left:12px;font:800 .66rem Lato,sans-serif;letter-spacing:.12em;text-transform:uppercase;background:var(--rs-gold);color:#2b1d0b;padding:5px 11px;border-radius:999px;box-shadow:0 4px 12px rgba(0,0,0,.25)}
.rs-body{padding:16px 18px 18px;display:flex;flex-direction:column;flex:1}
.rs-body h3{font-size:1.18rem;margin:0 0 .3em}
.rs-kurz{font-size:.93rem;color:var(--ink-soft,#5c5466);margin:0 0 14px;flex:1}
.rs-foot{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}
.rs-preis{display:flex;flex-direction:column;line-height:1.15}
.rs-preis b{font:800 1.15rem Lato,sans-serif;color:var(--violet,#7438b5)}
.rs-preis s{font:600 .85rem Lato,sans-serif;color:#9a8fa8;margin-left:4px}
.rs-preis small{font:600 .72rem Lato,sans-serif;color:#8a7f96;letter-spacing:.04em}
.rs-var{font:600 .85rem Lato,sans-serif;padding:7px 10px;border-radius:10px;border:1px solid #d8cfe2;background:#fff;flex:1 1 100%}
.rs-add{padding:10px 18px;font-size:.92rem}
.rs-add.ok{background:#2f8f5b!important;border-color:#2f8f5b!important}
.rs-aus{font:700 .8rem Lato,sans-serif;color:#9a8fa8}
.rs-feat{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);margin:6px 0 10px}
.rs-feat .rs-img{aspect-ratio:auto;min-height:340px}
.rs-feat .rs-body{padding:34px 36px;justify-content:center;background:linear-gradient(160deg,#2c2142,#1f1730);color:#eee6f5}
.rs-feat h3{font-size:2rem;color:#fff}
.rs-feat .rs-kurz{color:#d8cde6;font-size:1rem;flex:0 0 auto;margin-bottom:22px}
.rs-feat .rs-preis b{color:var(--rs-gold);font-size:1.5rem}
.rs-feat .rs-preis small{color:#bfb0d6}
.rs-feat .rs-add{background:var(--rs-gold);border-color:var(--rs-gold);color:#2b1d0b}
@media(max-width:760px){.rs-feat{grid-template-columns:1fr}.rs-feat .rs-img{min-height:260px}.rs-feat .rs-body{padding:24px}}
.rs-info{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;background:var(--violet-soft,#f3eef8);border-radius:16px;padding:18px 22px;font-size:.92rem}
.rs-info b{display:block;color:var(--violet,#7438b5);font:800 .74rem Lato,sans-serif;letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px}
@media(max-width:760px){.rs-info{grid-template-columns:1fr}}
.rs-legal{font-size:.8rem;color:#8a7f96;margin-top:12px}

/* Korb-Knopf & Schublade */
.rs-fab{position:fixed;right:20px;bottom:20px;z-index:9990;width:58px;height:58px;border-radius:50%;border:2px solid var(--rs-gold,#c9a45c);background:#7438b5;color:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:0 10px 26px rgba(31,23,48,.4);transform:scale(0);transition:transform .3s cubic-bezier(.2,.9,.3,1.3)}
.rs-fab.on{transform:scale(1)}
.rs-fab-n{position:absolute;top:-4px;right:-4px;min-width:22px;height:22px;border-radius:11px;background:#c9a45c;color:#2b1d0b;font:800 .75rem/22px Lato,sans-serif;padding:0 5px}
.rs-drawer{position:fixed;inset:0;z-index:9995;pointer-events:none}
.rs-dr-bg{position:absolute;inset:0;background:rgba(20,14,30,.5);opacity:0;transition:opacity .3s}
.rs-dr{position:absolute;top:0;right:0;bottom:0;width:min(420px,100%);background:#fffaf0;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .35s ease;box-shadow:-10px 0 40px rgba(0,0,0,.25)}
.rs-drawer.on{pointer-events:auto}.rs-drawer.on .rs-dr-bg{opacity:1}.rs-drawer.on .rs-dr{transform:none}
.rs-dr header{display:flex;justify-content:space-between;align-items:center;padding:20px 22px;background:#2c2142;color:#fff}
.rs-dr header h3{margin:0;color:#fff;font-size:1.3rem}
.rs-x{background:none;border:0;color:#fff;font-size:2rem;line-height:1;cursor:pointer}
.rs-dr-items{flex:1;overflow:auto;padding:12px 22px}
.rs-dr footer{padding:16px 22px 22px;border-top:1px solid #eadfcd;display:flex;flex-direction:column;gap:10px}
.rs-dr-hint{font-size:.85rem;color:#6a6175;margin:0}
.rs-go{text-align:center}
.rs-weiter{background:none;border:0;color:#7438b5;font:700 .9rem Lato,sans-serif;cursor:pointer}
.rs-it{display:grid;grid-template-columns:58px 1fr auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #eadfcd}
.rs-it img{width:58px;height:58px;object-fit:cover;border-radius:10px}
.rs-it b{display:block;font-family:"Source Serif 4",serif;font-size:.98rem;line-height:1.25}
.rs-it small{display:block;color:#8a7f96;font:600 .76rem Lato,sans-serif}
.rs-it-sum{font:800 .95rem Lato,sans-serif!important;color:#2a2331}
.rs-q{display:flex;align-items:center;gap:6px;margin-top:6px}
.rs-q button{width:26px;height:26px;border-radius:50%;border:1px solid #d8cfe2;background:#fff;cursor:pointer;font-weight:700;line-height:1}
.rs-q span{min-width:18px;text-align:center;font:700 .9rem Lato,sans-serif}
.rs-q .rs-rm{width:auto;border:0;background:none;color:#9a8fa8;font:600 .75rem Lato,sans-serif;text-decoration:underline;margin-left:6px}
.rs-empty{color:#8a7f96;text-align:center;padding:30px 0}
.rs-tot{display:flex;justify-content:space-between;align-items:baseline;padding:6px 0;font-size:.95rem}
.rs-tot b{font-family:Lato,sans-serif}
.rs-gesamt{border-top:2px solid #2c2142;margin-top:6px;padding-top:12px;font-size:1.1rem}
.rs-gesamt b{color:#7438b5;font-size:1.3rem}

/* Kasse */
.rs-kasse{max-width:1080px;margin:0 auto}
.rs-cols{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:30px;align-items:start}
@media(max-width:860px){.rs-cols{grid-template-columns:1fr}}
.rs-col h3{font-size:1.15rem;margin:22px 0 10px}
.rs-col h3:first-child{margin-top:0}
.rs-form label{display:block;font:700 .82rem Lato,sans-serif;color:#4a4253;margin-bottom:12px}
.rs-form input:not([type=radio]):not([type=checkbox]),.rs-form textarea{display:block;width:100%;margin-top:5px;font:400 1rem Lora,Georgia,serif;padding:11px 14px;border:1px solid #d8cfe2;border-radius:12px;background:#fff;box-sizing:border-box}
.rs-form input:focus,.rs-form textarea:focus{outline:2px solid rgba(116,56,181,.35);border-color:#7438b5}
.rs-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.rs-row .rs-plz{max-width:none}
.rs-adresse .rs-row{grid-template-columns:120px 1fr}
.rs-opt{display:flex!important;gap:12px;align-items:flex-start;padding:12px 14px;border:1px solid #d8cfe2;border-radius:12px;background:#fff;cursor:pointer;margin-bottom:8px!important}
.rs-opt input{margin-top:4px;accent-color:#7438b5}
.rs-opt b{display:block;font:700 .95rem Lato,sans-serif;color:#2a2331}
.rs-opt small{font:500 .82rem Lato,sans-serif;color:#7a7085}
.rs-opt:has(input:checked){border-color:#7438b5;box-shadow:0 0 0 1px #7438b5;background:#faf6fd}
.rs-sum{position:sticky;top:110px;background:#fffaf0;border:1px solid #eadfcd;border-radius:18px;padding:22px 22px 24px}
.rs-check{display:flex!important;gap:10px;align-items:flex-start;font:500 .85rem/1.45 Lato,sans-serif!important;color:#4a4253!important}
.rs-check input{margin-top:3px;accent-color:#7438b5}
.rs-buy{width:100%;margin-top:6px;font-size:1.02rem;padding:14px}
.rs-hp{position:absolute!important;left:-9999px!important}
.rs-fehler{background:#fde8e8;border:1px solid #f0b9b9;color:#8a1f1f;padding:12px 16px;border-radius:12px;margin-bottom:18px}
.rs-leer{text-align:center;padding:40px 0}
.rs-danke{text-align:center;max-width:620px;margin:0 auto;padding:20px 0}
.rs-danke-sym{font-family:"Noto Sans Runic",serif;font-size:3.2rem;color:#c9a45c}
.rs-sig{font-family:"Great Vibes",cursive;font-size:2rem;color:#7438b5}
/* Kopfzeile: mit Shop-Menüpunkt wird es eng – Untertitel neben dem Logo ausblenden */
@media(max-width:1600px){.site-header .brand>span{display:none}}
.admin-bar .rs-dr{top:32px}@media(max-width:782px){.admin-bar .rs-dr{top:46px}}
