:root{
  --paper:#EEEEE6; --paper-2:#E4E2D6; --ink:#20241F; --ink-soft:#4B5148; --amber:#CC8A2E;
  --line:#D6D3C4; --white:#FBFAF6; --dark:#1E2420; --ok:#1F6F4A; --err:#9B2C2C;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--paper);color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;line-height:1.55;}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:400;margin:0;letter-spacing:-0.01em;line-height:1.15;}
a{color:inherit;}
img{max-width:100%;display:block;}
.tag{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.72rem;letter-spacing:.04em;color:var(--ink-soft);text-transform:uppercase;}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px;}
.narrow{max-width:760px;}
.ul{border-bottom:1px solid var(--amber);text-decoration:none;}

/* header */
.site-header{position:sticky;top:0;z-index:40;background:rgba(238,238,230,.94);backdrop-filter:blur(6px);border-bottom:1px solid var(--line);}
.nav-inner{max-width:1120px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;}
.logo{font-family:Georgia,serif;font-size:1.2rem;letter-spacing:-.02em;text-decoration:none;white-space:nowrap;}
.logo b{font-weight:700;}
.logo span{font-family:ui-monospace,monospace;font-size:.7rem;letter-spacing:.06em;margin-left:8px;padding:2px 6px;border:1px solid var(--amber);color:var(--ink-soft);vertical-align:middle;}
.nav{display:flex;align-items:center;gap:22px;}
.nav a{text-decoration:none;font-size:.92rem;color:var(--ink-soft);}
.nav a:hover,.nav a.active{color:var(--ink);}
.nav .nav-cta{background:var(--ink);color:var(--white);padding:9px 16px;border-radius:2px;}
.nav .nav-cta:hover{background:#333a2f;color:var(--white);}

/* buttons */
.btn{display:inline-block;padding:13px 26px;border-radius:2px;text-decoration:none;font-size:.97rem;border:1px solid var(--ink);cursor:pointer;font-family:inherit;background:none;color:var(--ink);line-height:1.2;}
.btn-primary{background:var(--ink);color:var(--white);}
.btn-primary:hover{background:#333a2f;}
.btn-ghost:hover{background:rgba(0,0,0,.04);}
.btn-block{display:block;width:100%;text-align:center;}
.btn-sm{padding:8px 14px;font-size:.85rem;}
.btn-danger{border-color:var(--err);color:var(--err);}

/* sections */
section{padding:64px 0;border-top:1px solid var(--line);}
.hero{padding:72px 0 64px;border-top:0;}
.hero h1{font-size:3rem;max-width:20ch;}
.hero .lede{margin-top:20px;font-size:1.12rem;color:var(--ink-soft);max-width:56ch;}
.hero .cta-row{margin-top:30px;display:flex;gap:14px;flex-wrap:wrap;}
.section-head{margin-bottom:34px;}
.section-head h2{font-size:1.9rem;}
.section-head p{margin:10px 0 0;color:var(--ink-soft);max-width:60ch;}

.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
.fact{background:var(--paper);padding:22px 20px;}
.fact strong{display:block;font-family:Georgia,serif;font-size:1.35rem;font-weight:400;margin:6px 0 4px;}
.fact p{margin:0;color:var(--ink-soft);font-size:.9rem;}

/* product grid */
.grid-products{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
.p-card{background:var(--white);border:1px solid var(--line);display:flex;flex-direction:column;}
.p-card .img{aspect-ratio:4/5;background:var(--paper-2);overflow:hidden;}
.p-card .img img{width:100%;height:100%;object-fit:cover;}
.p-card .body{padding:20px;display:flex;flex-direction:column;gap:8px;flex:1;}
.p-card h3{font-size:1.25rem;}
.p-card .sub{color:var(--ink-soft);font-size:.9rem;}
.p-card .desc{color:var(--ink-soft);font-size:.93rem;}
.price-line{margin-top:auto;padding-top:10px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap;}
.price-line .from{font-family:Georgia,serif;font-size:1.25rem;}
.price-line .net{font-size:.8rem;color:var(--ink-soft);}

.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;counter-reset:s;}
.step{border-top:1px solid var(--ink);padding-top:14px;}
.step h3{font-size:1.1rem;margin-bottom:6px;}
.step p{margin:0;color:var(--ink-soft);font-size:.93rem;}

/* product detail */
.crumbs{font-size:.85rem;color:var(--ink-soft);margin-bottom:22px;}
.crumbs a{text-decoration:none;}
.detail{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;}
.gallery .main{background:var(--paper-2);border:1px solid var(--line);aspect-ratio:4/5;overflow:hidden;}
.gallery .main img{width:100%;height:100%;object-fit:cover;}
.thumbs{display:flex;gap:10px;margin-top:10px;flex-wrap:wrap;}
.thumbs button{border:1px solid var(--line);background:var(--paper-2);padding:0;width:72px;height:72px;cursor:pointer;}
.thumbs button img{width:100%;height:100%;object-fit:cover;}
.thumbs button[aria-pressed="true"]{border-color:var(--ink);}
.detail h1{font-size:2.3rem;}
.detail .sub{color:var(--ink-soft);margin:8px 0 18px;}
.richtext p{margin:0 0 12px;color:var(--ink-soft);}
.notes{margin:18px 0;border-top:1px solid var(--line);}
.notes div{display:flex;gap:14px;padding:9px 0;border-bottom:1px solid var(--line);font-size:.93rem;}
.notes dt{width:88px;flex:none;}
.notes dd{margin:0;color:var(--ink-soft);}
.specs{width:100%;border-collapse:collapse;font-size:.92rem;margin:6px 0 4px;}
.specs th{text-align:left;font-weight:400;color:var(--ink-soft);width:40%;padding:8px 0;border-bottom:1px solid var(--line);}
.specs td{padding:8px 0;border-bottom:1px solid var(--line);}
.buybox{background:var(--white);border:1px solid var(--line);padding:22px;margin-top:22px;}
.buybox h2{font-size:1.15rem;margin-bottom:12px;}
.tiers{width:100%;border-collapse:collapse;font-size:.95rem;}
.tiers td,.tiers th{padding:9px 0;border-bottom:1px solid var(--line);text-align:left;}
.tiers td:last-child,.tiers th:last-child{text-align:right;font-family:Georgia,serif;font-size:1.1rem;}
.tiers tr.on td{font-weight:700;}
.small{font-size:.83rem;color:var(--ink-soft);}
.inc{margin:14px 0 0;padding:0;list-style:none;font-size:.9rem;color:var(--ink-soft);}
.inc li{padding:3px 0;}
.inc li::before{content:"–";color:var(--amber);margin-right:8px;font-family:ui-monospace,monospace;}

/* quantity */
.qty-row{display:flex;gap:10px;align-items:stretch;margin:16px 0 8px;}
.stepper{display:flex;border:1px solid var(--ink);background:var(--white);}
.stepper button{width:46px;border:0;background:none;font-size:1.3rem;cursor:pointer;color:var(--ink);}
.stepper button:hover{background:var(--paper-2);}
.stepper input{width:76px;border:0;border-inline:1px solid var(--line);text-align:center;font-size:1.1rem;font-family:inherit;background:var(--white);color:var(--ink);}
.quick{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:6px;}
.quick button{border:1px solid var(--line);background:var(--white);padding:7px 12px;font-size:.85rem;cursor:pointer;font-family:inherit;color:var(--ink);}
.quick button:hover{border-color:var(--ink);}
.line-total{display:flex;justify-content:space-between;align-items:baseline;padding:10px 0;font-size:.95rem;}
.line-total strong{font-family:Georgia,serif;font-size:1.3rem;font-weight:400;}

/* order form */
.order-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:40px;align-items:start;}
.order-line{display:grid;grid-template-columns:72px 1fr;gap:16px;padding:18px 0;border-bottom:1px solid var(--line);}
.order-line .thumb{width:72px;height:90px;background:var(--paper-2);overflow:hidden;border:1px solid var(--line);}
.order-line .thumb img{width:100%;height:100%;object-fit:cover;}
.order-line h3{font-size:1.05rem;}
.order-line .meta{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap;margin-top:10px;}
.fieldset{border:0;padding:0;margin:0 0 28px;}
.fieldset legend{font-family:Georgia,serif;font-size:1.2rem;padding:0;margin-bottom:12px;}
.field{margin-bottom:14px;}
.field label{display:block;font-size:.85rem;margin-bottom:5px;color:var(--ink-soft);}
.field input[type=text],.field input[type=email],.field input[type=tel],.field textarea,.field select,.admin-form input[type=text],.admin-form input[type=number],.admin-form textarea,.admin-form select,.admin-form input[type=password],.admin-form input[type=email]{
  width:100%;padding:12px;border:1px solid var(--line);background:var(--white);font-size:1rem;font-family:inherit;color:var(--ink);border-radius:2px;}
.field textarea{min-height:90px;}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.field-row-3{display:grid;grid-template-columns:120px 1fr;gap:14px;}
.field.err input,.field.err textarea{border-color:var(--err);}
.msg-err{color:var(--err);font-size:.85rem;margin-top:4px;}
.alert{padding:14px 16px;border:1px solid var(--err);background:#F6E7E7;color:#5E1E1E;margin-bottom:22px;font-size:.93rem;}
.alert-ok{border-color:var(--ok);background:#E6F1EB;color:#154A32;}
.alert-warn{border-color:#B7A56B;background:#F5EEDB;color:#5C4B1E;}
.check{display:flex;gap:10px;align-items:flex-start;margin:10px 0;font-size:.92rem;}
.check input{margin-top:4px;width:18px;height:18px;flex:none;}
.radio-card{display:flex;gap:12px;align-items:flex-start;padding:14px;border:1px solid var(--line);background:var(--white);margin-bottom:10px;cursor:pointer;}
.radio-card input{margin-top:4px;}
.radio-card strong{display:block;font-weight:600;}
.radio-card span{font-size:.88rem;color:var(--ink-soft);}
.summary{background:var(--white);border:1px solid var(--line);padding:22px;position:sticky;top:84px;}
.summary h2{font-size:1.2rem;margin-bottom:12px;}
.summary dl{margin:0;}
.summary .row{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px solid var(--line);font-size:.95rem;gap:12px;}
.summary .row.total{font-weight:700;font-size:1.05rem;border-bottom:0;}
.summary .row.sub{color:var(--ink-soft);font-size:.88rem;}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}

/* done */
.done-box{background:var(--white);border:1px solid var(--line);padding:28px;margin:22px 0;}
.done-table{width:100%;border-collapse:collapse;font-size:.95rem;}
.done-table td,.done-table th{padding:9px 0;border-bottom:1px solid var(--line);text-align:left;}
.done-table td:last-child,.done-table th:last-child{text-align:right;}

/* legal */
.legal h1{font-size:2.1rem;margin-bottom:6px;}
.legal h2{font-size:1.15rem;margin:30px 0 8px;}
.legal p,.legal li{color:var(--ink-soft);}
.legal ul{padding-left:20px;}

/* footer */
.site-footer{border-top:1px solid var(--line);padding:30px 0;margin-top:20px;}
.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;}
.footer-inner nav{display:flex;gap:20px;flex-wrap:wrap;}
.footer-inner a{text-decoration:none;font-size:.85rem;color:var(--ink-soft);}

/* admin */
.admin-bar{background:var(--dark);color:var(--white);}
.admin-bar .nav-inner{padding:12px 24px;}
.admin-bar a{color:#C9CFC3;text-decoration:none;font-size:.9rem;margin-right:18px;}
.admin-bar a:hover{color:#fff;}
.admin-bar form{display:inline;}
.admin-bar button{background:none;border:0;color:#C9CFC3;cursor:pointer;font-size:.9rem;font-family:inherit;}
.admin-main{padding:34px 0 60px;}
.admin-main h1{font-size:1.8rem;margin-bottom:20px;}
table.data{width:100%;border-collapse:collapse;background:var(--white);border:1px solid var(--line);font-size:.9rem;}
table.data th,table.data td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;}
table.data th{background:var(--paper-2);font-weight:600;}
.badge{display:inline-block;padding:2px 8px;border:1px solid var(--line);font-size:.78rem;background:var(--paper);}
.badge.neu{border-color:var(--amber);}
.badge.versendet,.badge.bezahlt{border-color:var(--ok);color:var(--ok);}
.badge.storniert{border-color:var(--err);color:var(--err);}
.admin-form{background:var(--white);border:1px solid var(--line);padding:24px;max-width:860px;}
.admin-form .field input[type=number]{width:100%;}
.tier-grid{display:grid;grid-template-columns:110px 150px 1fr;gap:10px;margin-bottom:8px;}
.img-admin{display:flex;gap:14px;flex-wrap:wrap;margin:10px 0 16px;}
.img-admin figure{margin:0;width:130px;}
.img-admin img{width:130px;height:160px;object-fit:cover;border:1px solid var(--line);}
.img-admin form{display:inline;}
.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px;align-items:center;}
.stat{display:inline-block;margin-right:18px;font-size:.9rem;color:var(--ink-soft);}
.table-wrap{overflow-x:auto;}

@media (max-width:860px){
  .wrap,.nav-inner{padding-left:18px;padding-right:18px;}
  .hero{padding:44px 0 40px;}
  .hero h1{font-size:2.15rem;}
  section{padding:44px 0;}
  .facts{grid-template-columns:1fr 1fr;}
  .grid-products{grid-template-columns:1fr;}
  .steps{grid-template-columns:1fr;}
  .detail{grid-template-columns:1fr;gap:26px;}
  .detail h1{font-size:1.9rem;}
  .order-grid{grid-template-columns:1fr;}
  .summary{position:static;}
  .nav{gap:14px;}
  .nav a.hide-m{display:none;}
  .field-row{grid-template-columns:1fr;}
  .tier-grid{grid-template-columns:90px 110px 1fr;}
}
.plain{text-decoration:none;}
[hidden]{display:none !important;}
.product-wrap{padding-top:34px;padding-bottom:40px;}
.order-title{font-size:2.1rem;margin-bottom:8px;}
.order-intro{margin:0 0 24px;}
.check.err{color:var(--err);}
.alert ul{margin:8px 0 0;padding-left:20px;}
.thumb img{width:100%;height:100%;object-fit:cover;}
.sub-h{font-size:1.1rem;margin:26px 0 10px;}
