*{box-sizing:border-box;margin:0;padding:0}
:root{--dark-brown:#6b5b48;--brown:#caa986;--black:#000000;--light-brown:#f6e4d3;--shadow:0 10px 30px rgba(0,0,0,.10)}
html{scroll-behavior:smooth}
body{margin:0;padding:0;background:var(--light-brown);color:var(--black);font:400 16px 'Roboto Slab',Georgia,serif;-ms-word-wrap:break-word;word-wrap:break-word}
a{text-decoration:none;color:inherit;transition:.3s}
img{max-width:100%;display:block}
h1,h2,h3,h4,h5,h6{margin:0 0 16px;padding:0;line-height:1;font-weight:700;color:var(--light-brown)}
p{margin:0}
.container{width:min(1170px,calc(100% - 40px));margin:0 auto;position:relative}

/* HEADER – optisch wie auf der Hauptseite */
.mainpage-header{position:relative;width:100%;z-index:100;background:var(--brown);box-shadow:none}
.mainpage-header-inner{width:min(1240px,calc(100% - 48px));min-height:90px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:10px 0}
.mainpage-brand{display:flex;flex-direction:column;justify-content:center;text-decoration:none;color:var(--light-brown)3;line-height:1.1;flex:0 0 auto}
.mainpage-brand-title{font-family:'Alex Brush';font-size:40px;font-weight:400;color:var(--light-brown);white-space:nowrap}
.mainpage-brand-subtitle{margin-top:10px;font-family:'Roboto Slab';font-size:16px;font-weight:400;color:var(--light-brown)}
.mainpage-desktop-nav{display:flex;align-items:center;justify-content:flex-end;gap:18px;flex-wrap:wrap}
.mainpage-desktop-nav a{position:relative;display:inline-flex;align-items:center;padding:8px 14px;color:var(--light-brown);font:700 16px/1 'Roboto Slab';text-transform:uppercase;letter-spacing:.3px}
.mainpage-desktop-nav a.current{opacity:1}
.mainpage-desktop-nav a.has-arrow::after{content:'˅';font-size:16px;font-weight:900;margin-left:4px;line-height:1;display: inline-block; transform: translateY(-1px); opacity: .95}
.mainpage-header-strip{height:30px;background:var(--light-brown)}
.mainpage-menu-toggle{display:none;position:relative;width:40px;height:40px;padding:10px;border:0;background:transparent;flex-direction:column;justify-content:center;gap:6px;cursor:pointer;appearance:none}
.mainpage-menu-toggle span{display:block;width:28px;height:2px;margin-left:auto;background:var(--light-brown);transition:transform .25s,opacity .25s,width .25s}
.mainpage-menu-toggle.is-open span:nth-child(1){transform:translateY(8px) rotate(45deg);width:30px}
.mainpage-menu-toggle.is-open span:nth-child(2){opacity:0}
.mainpage-menu-toggle.is-open span:nth-child(3){transform:translateY(-8px) rotate(-45deg);width:30px}
.mainpage-menu{position:absolute;right:14px;top:86px;min-width:245px;padding:10px;background:var(--light-brown);border-top:4px solid var(--brown);box-shadow:0 12px 35px rgba(0,0,0,.22);z-index:110;overflow:hidden}
.mainpage-menu[hidden]{display:none!important}.mainpage-menu a,.mainpage-menu-cart{width:100%;display:block;padding:13px 16px;border:0;border-bottom:1px solid var(--light-brown);background:var(--light-brown);color:var(--light-brown);text-align:left;font:400 14px/20px 'Roboto Slab' ;cursor:pointer;text-decoration:none;transition:.2s}.mainpage-menu a:last-child,.mainpage-menu-cart:last-child{border-bottom:0}.mainpage-menu a:hover,.mainpage-menu a.current,.mainpage-menu-cart:hover{background:var(--light-brown);color:var(--light-brown)}.mainpage-menu-cart span{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;margin-left:6px;border-radius:20px;background:var(--brown);color:var(--light-brown);font-size:11px}

/* HERO / SECTIONS */
.hero{text-align:center;max-width:900px;margin:0 auto;padding:70px 24px 58px;background:transparent}
.eyebrow{display:block;font-family:'Roboto Slab',serif;color:var(--brown);font-size:15px;text-transform:uppercase;font-weight:400;line-height:1;letter-spacing:.7px}
.hero h1{font:400 58px/1 'Alex Brush';color:var(--brown);margin:16px auto 18px;letter-spacing:1px}
.hero p{max-width:760px;margin:0 auto;color:var(--brown);line-height:28px}
.ornament,.mini-ornament{color:var(--brown)}
.ornament{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:28px}
.ornament span{width:62px;height:1px;background:var(--brown);opacity:.6}
.ornament b{font-size:20px;font-weight:400}
.gift-section{max-width:1170px;margin:0 auto;padding:20px 20px 70px;background:transparent}
.section-heading{text-align:center;margin-bottom:40px}
.section-heading>span{display:block;font-size:30px;margin-bottom:10px}
.section-heading h2{font:400 48px/1.05 'Alex Brush',cursive;color:var(--brown);margin:0 auto 13px;letter-spacing:1px}
.mini-ornament{font-size:14px;letter-spacing:3px}

/* GESCHENKKARTEN */
.gift-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.gift-card{background:#fff;border:1px solid #eee;display:flex;flex-direction:column;min-width:0;transition:.35s;box-shadow:0 3px 16px rgba(56,45,68,.04)}
.gift-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#ead7df}
.gift-image{height:220px;position:relative;overflow:hidden;background:#f4f1f3;border-bottom:4px double var(--brown)}
.gift-image img{width:100%;height:100%;object-fit:cover;transition:.5s}
.gift-card:hover .gift-image img{transform:scale(1.035)}
.gift-image.placeholder{display:grid;place-items:center;background:linear-gradient(135deg,#f9f5f7,#eee8f0)}
.gift-image.placeholder>span:first-child{font-size:58px}
.status{display:inline-flex;align-items:center;border-radius:30px;padding:6px 11px;font-size:11px;font-weight:700;white-space:nowrap}
.gift-image .status{position:absolute;right:12px;top:12px;background:#fff;box-shadow:0 3px 12px rgba(0,0,0,.12)}
.status.available{color:var(--brown)}.status.partial{color:var(--brown)}.status.reserved{color:#8a4a65}.status.gifted{color:var(--brown)}.status.cancelled{color:#777}
.gift-content{padding:27px 25px 25px;display:flex;flex-direction:column;flex:1}
.gift-content h3{font:700 20px/1.35 'Roboto Slab',serif;color:var(--brown);margin:0 0 10px}
.gift-content p{color:var(--black);font-size:14px;margin:0 0 24px}
.gift-meta{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;padding-top:17px;border-top:1px solid #eee;margin-top:auto;margin-bottom:20px}
.gift-meta strong{font:700 20px/1 'Roboto Slab',serif;color:var(--brown)}
.gift-meta span{font-size:12px;color:var(--black);text-align:right}
.gift-actions{display:grid;grid-template-columns:96px 1fr;gap:10px;align-items:end}
.qty-compact{font-size:11px}.qty-compact select{padding:10px}

/* BUTTONS UND FORMULARE – entsprechend den runden Theme-Buttons */
.btn{appearance:none;border:2px solid var(--purple);background:#fff;color:var(--purple);padding:12px 25px;border-radius:30px;text-decoration:none;cursor:pointer;font:700 12px/18px 'Roboto Slab',serif;letter-spacing:.4px;display:inline-flex;justify-content:center;align-items:center;gap:6px;transition:.3s}
.btn:hover{background:var(--brown);color:#fff}.btn.primary{background:var(--brown);color:#fff}.btn.primary:hover{background:var(--brown);border-color:var(--brown)}.btn.disabled,.btn:disabled{opacity:.45;cursor:not-allowed}.btn.wide{width:100%;padding:15px 25px}.btn.small{padding:7px 13px;font-size:11px}
.stack,.reserve-form{display:grid;gap:17px}
label{display:grid;gap:7px;font-size:13px;font-weight:700;color:var(--purple)}
input,select,textarea{width:100%;border:1px solid var(--black);background:#fff;padding:11px 12px;font:400 15px/24px 'Roboto Slab',serif;color:var(--brown);border-radius:0}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--brown);box-shadow:0 0 0 2px rgba(238,5,72,.08)}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.check{grid-template-columns:auto 1fr;align-items:start;background:#f8f6f7;padding:14px;font-weight:400}.check input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--brown)}
.privacy-note,.hint{font-size:12px;color:var(--black);margin:0}
.flash{padding:12px 14px;margin:12px 0}.flash.error{background:#f9e4e8;color:#853a4b}.flash.success{background:#e8f1e8;color:#3e6441}
.public-error{max-width:760px;margin:-20px auto 35px;padding:14px 18px}

/* WARENKORB / RESERVATION */
dialog{border:0;padding:0;width:min(620px,calc(100% - 28px));max-height:92vh;box-shadow:0 18px 55px rgba(56,45,68,.30);background:#fff}
dialog::backdrop{background:rgba(56,45,68,.68);backdrop-filter:blur(2px)}
.reserve-form{padding:40px;position:relative}.dialog-close{position:absolute;right:15px;top:12px;border:0;background:none;font-size:30px;color:var(--brown);cursor:pointer}.dialog-close:hover{color:var(--brown)}
.reserve-form h2{font:400 40px/1 'Alex Brush',cursive;color:var(--brown);margin:8px 0 5px}.dialog-price{color:var(--brown);font-weight:700}
.cart-dialog{width:min(760px,calc(100% - 28px))}.cart-intro{color:var(--black);margin:0}.cart-items{display:grid;gap:10px}.cart-row{display:grid;grid-template-columns:minmax(0,1fr) 86px 34px;gap:12px;align-items:center;background:#f8f6f7;padding:13px 14px}.cart-row-main{min-width:0}.cart-row-main strong,.cart-row-main span{display:block}.cart-row-main strong{font:700 16px/1.35 'Roboto Slab',serif;color:var(--brown)}.cart-row-main span{font-size:12px;color:var(--black);margin-top:3px}.cart-qty{font-size:11px}.cart-qty select{padding:8px}.cart-remove{border:0;background:transparent;color:var(--brown);font-size:26px;cursor:pointer;padding:0}.cart-total{display:flex;justify-content:space-between;align-items:center;border-top:2px solid var(--brown);padding-top:16px;font-size:18px;color:var(--brown)}.cart-total strong{color:var(--brown);font-size:22px}.checkout-fields{display:grid;gap:17px}.cart-empty{text-align:center;padding:28px 18px;background:#f8f6f7;color:var(--black)}

/* SCHWEBENDER WARENKORB */
.floating-cart-toggle{position:fixed;right:22px;bottom:22px;z-index:950;appearance:none;border:0;background:var(--brown);color:#fff;min-height:56px;padding:13px 18px;border-radius:40px;box-shadow:0 12px 34px rgba(56,45,68,.28);font:700 13px/18px 'Roboto Slab',serif;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:.25s}
.floating-cart-toggle[hidden]{display:none!important}.floating-cart-toggle:hover{background:var(--brown);transform:translateY(-2px);box-shadow:0 16px 38px rgba(56,45,68,.32)}
.floating-cart-toggle #floating-cart-count{display:inline-grid;place-items:center;min-width:25px;height:25px;padding:0 7px;border-radius:50px;background:#fff;color:var(--brown);font-size:12px;font-weight:800}
.floating-cart-toggle:hover #floating-cart-count{color:var(--pink)}

/* ERFOLG */
.success-main{min-height:58vh;display:grid;place-items:center;padding:65px 24px 75px;background:var(--brown)}
.success-card{width:min(650px,100%);background:#fff;padding:48px;text-align:center;border:1px solid #eee;box-shadow:var(--shadow)}
.success-card h1{font:400 48px/1 'Alex Brush',cursive;color:var(--brown);margin:12px 0 18px}.success-mark{font-size:35px;color:var(--pink);margin-bottom:8px}.success-items{background:#f8f6f7;margin:24px 0;text-align:left}.success-item,.success-total{display:flex;justify-content:space-between;gap:16px;padding:13px 15px;border-bottom:1px solid #e8e4e7}.success-item strong{color:var(--brown)}.success-item span,.order-code{color:var(--black)}.success-total{border-bottom:0;font-size:18px}.success-total strong{color:var(--brown)}.order-code{font-size:13px}.mail-warning{background:#fff5dd;padding:12px;font-size:13px}.success-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:22px}

/* LOGIN / INSTALLER */
.login-page,.install-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:#f8f6f7}
.login-card,.install-card{width:min(570px,100%);background:#fff;padding:48px;text-align:center;border:1px solid #eee;box-shadow:var(--shadow)}
.login-card h1,.install-card h1{font:400 46px/1 'Alex Brush',cursive;color:var(--brown);margin:12px 0}.login-card .stack,.install-card .stack{text-align:left;margin-top:26px}.install-card{text-align:left}.install-card h1{text-align:center}.install-card>p{text-align:center;color:var(--black)}
.monogram{width:78px;height:78px;border:5px double var(--brown);border-radius:50%;display:inline-grid;place-items:center;font:400 25px/1 'Alex Brush',cursive;color:var(--pink)}.login-card .monogram,.install-card .monogram{margin:auto;display:grid;text-decoration:none}


/* FOOTER – optisch nach dem Footer der Hauptseite */
#footer-wrapper{
    background-color:#f6e4d3;
    color:#ffffff;
    position:relative;
    padding:60px 0 10px;
    font:400 16px/30px 'Roboto Slab';
    text-align:center
}
.wishlist-footer-widget{
    width:min(680px,100%);
    margin:0 auto 30px;
    text-align:center
}
.foo-cols h5{
    margin:0 0 15px;
    color:#ffffff;
    font:400 40px/1 'Alex Brush';
    position:relative;
    padding-bottom:35px
}
.foo-cols h5::after{
    content:'';
    position:absolute;
    left:50%;
    bottom:7px;
    width:124px;
    height:20px;
    transform:translateX(-50%);
    background:
      linear-gradient(#fff,#fff) left 10px/48px 1px no-repeat,
      linear-gradient(#fff,#fff) right 10px/48px 1px no-repeat
}
.foo-cols h5::before{
    content:'♡';
    position:absolute;
    left:50%;
    bottom:0;
    transform:translateX(-50%);
    color:#ffffff;
    font:400 16px/20px 'Roboto Slab',serif;
    z-index:1
}
.wishlist-footer-date{
    margin:0 0 8px;
    color:#ffffff;
    font:700 16px/24px 'Roboto Slab',serif;
    letter-spacing:1.5px
}
.wedding-site-footer p{
    margin:0 0 8px;
    color:#ffffff;
    line-height:28px
}
#footer-wrapper a{
    color:#ffffff
}
.wishlist-footer-home{
    display:inline-block;
    margin-top:8px;
    padding-bottom:2px;
    border-bottom:1px solid rgba(255,255,255,.8)
}
.wishlist-footer-home:hover{
    border-bottom-color:#ffffff;
    opacity:.9
}
.copyright-wrapper{
    background-color:#caa986;
    padding:25px 0;
    color:#ffffff;
    text-align:center;
    font:400 13px/22px 'Roboto Slab';
}
.copyright-wrapper a{color:#caa986}

@media(max-width:980px){.mainpage-desktop-nav{display:none}.mainpage-menu-toggle{display:flex}.mainpage-header-inner{width:min(100% - 32px,1240px)}}
@media(max-width:900px){.gift-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){
  .container{width:min(100% - 28px,1170px)}
  .mainpage-header-inner{width:calc(100% - 28px);min-height:84px;gap:12px;padding:10px 0}.mainpage-brand-title{font-size:34px}.mainpage-brand-subtitle{font-size:11px;margin-top:4px}.mainpage-desktop-nav{display:none}.mainpage-menu-toggle{display:flex}.mainpage-menu{right:14px;top:82px;min-width:220px}
  .hero{padding:52px 20px 40px}.hero h1{font-size:46px}.gift-section{padding:10px 15px 50px}.section-heading{margin-bottom:28px}.section-heading h2{font-size:39px}.gift-grid{grid-template-columns:1fr}.gift-image{height:205px}.two-col{grid-template-columns:1fr}.reserve-form{padding:32px 20px}.success-card,.login-card,.install-card{padding:34px 22px}.gift-actions{grid-template-columns:88px 1fr}.cart-row{grid-template-columns:minmax(0,1fr) 76px 28px}.success-item,.success-total{flex-direction:column;gap:3px}
  #footer-wrapper{padding:48px 0 10px}.wishlist-footer-widget{margin-bottom:24px}.foo-cols h5{font-size:35px}
  .floating-cart-toggle{right:14px;bottom:14px;min-height:52px;padding:11px 14px}
}
@supports(padding:max(0px)){.floating-cart-toggle{right:max(22px,env(safe-area-inset-right));bottom:max(22px,env(safe-area-inset-bottom))}@media(max-width:760px){.floating-cart-toggle{right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom))}}}
