/* ── Grossformatdruck.at Stylesheet ── */
:root {
  --navy: #1a2e5a;
  --navy-soft: #2a4070;
  --orange: #f07d00;
  --orange-dark: #d56e00;
  --orange-light: rgba(240,125,0,.1);
  --white: #ffffff;
  --offwhite: #f5f4f0;
  --grey-light: #e8e6e1;
  --grey-mid: #8a8a8a;
  --grey-dark: #333;
  --text: #3a3a3a;
  --radius: 8px;
  --shadow: 0 2px 12px rgba(0,0,0,.08);
}
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-family:'DM Sans',system-ui,sans-serif; color:var(--text); background:var(--white); line-height:1.7; font-size:16.5px; }
a { color:var(--orange); text-decoration:none; transition:color .2s; }
a:hover { color:var(--orange-dark); }
img { max-width:100%; height:auto; display:block; }

/* ── NAV ── */
.site-nav { background:var(--navy); padding:0 24px; position:sticky; top:0; z-index:100; }
.nav-inner { max-width:1100px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; height:72px; }
.nav-logo { color:var(--white); font-weight:700; font-size:1.2rem; letter-spacing:.02em; }
.nav-logo span { color:var(--orange); }
.nav-links { display:flex; gap:6px; align-items:center; flex-wrap:wrap; }
.nav-links a { color:rgba(255,255,255,.8); font-size:.88rem; padding:6px 12px; border-radius:4px; transition:background .2s, color .2s; }
.nav-links a:hover, .nav-links a.active { color:var(--white); background:rgba(255,255,255,.1); }
.nav-cta { background:var(--orange)!important; color:var(--white)!important; font-weight:600; }
.nav-cta:hover { background:var(--orange-dark)!important; }

.hamburger { display:none; background:none; border:none; color:white; font-size:1.6rem; cursor:pointer; }

/* ── HERO ── */
.hero { background:var(--navy); color:var(--white); padding:80px 24px 100px; position:relative; overflow:hidden; }
.hero::after { content:''; position:absolute; bottom:-2px; left:0; right:0; height:50px; background:var(--white); clip-path:polygon(0 100%,100% 100%,100% 0); }
.hero-inner { max-width:800px; margin:0 auto; }
.hero-badge { display:inline-block; background:rgba(240,125,0,.15); border:1px solid rgba(240,125,0,.35); color:var(--orange); font-size:.78rem; font-weight:600; letter-spacing:.05em; padding:5px 14px; border-radius:40px; margin-bottom:20px; text-transform:uppercase; }
.hero h1 { font-size:clamp(2rem,5vw,3.2rem); font-weight:700; line-height:1.15; margin-bottom:16px; }
.hero h1 span { color:var(--orange); }
.hero p { font-size:1.08rem; opacity:.85; max-width:600px; margin-bottom:28px; }

/* ── BUTTONS ── */
.btn { display:inline-block; font-weight:600; font-size:.95rem; padding:14px 32px; border-radius:6px; border:none; cursor:pointer; transition:background .2s, transform .1s; }
.btn:active { transform:scale(.98); }
.btn-primary { background:var(--orange); color:var(--white); }
.btn-primary:hover { background:var(--orange-dark); color:var(--white); }
.btn-outline { background:transparent; color:var(--orange); border:2px solid var(--orange); }
.btn-outline:hover { background:var(--orange); color:var(--white); }

/* ── SECTIONS ── */
section { padding:64px 24px; }
.container { max-width:960px; margin:0 auto; }
.section-alt { background:var(--offwhite); }

h2 { font-size:clamp(1.5rem,3.5vw,2.2rem); color:var(--navy); font-weight:700; margin-bottom:16px; line-height:1.2; }
h3 { font-size:1.1rem; font-weight:700; color:var(--navy); margin-bottom:8px; }
p + p { margin-top:12px; }

/* ── PRODUCT GRID (Homepage) ── */
.product-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:20px; margin-top:32px; }
.product-card { background:var(--white); border:1px solid var(--grey-light); border-radius:var(--radius); padding:28px 24px; transition:border-color .2s, box-shadow .2s; }
.product-card:hover { border-color:var(--orange); box-shadow:var(--shadow); }
.product-card .icon { font-size:2rem; margin-bottom:12px; }
.product-card h3 { margin-bottom:6px; }
.product-card h3 a { color:var(--navy); }
.product-card h3 a:hover { color:var(--orange); }
.product-card p { font-size:.92rem; color:var(--grey-mid); margin-bottom:14px; }
.product-card .card-link { font-size:.88rem; font-weight:600; }

/* ── PRODUCT PAGE ── */
.product-hero { background:var(--navy); color:var(--white); padding:56px 24px 72px; }
.product-hero h1 { font-size:clamp(1.6rem,4vw,2.4rem); font-weight:700; line-height:1.2; max-width:800px; margin:0 auto; }
.product-hero p { max-width:700px; margin:14px auto 0; opacity:.82; font-size:1.05rem; }

.product-content { max-width:800px; margin:0 auto; }
.product-content h2 { margin-top:36px; }
.product-content p { font-size:1rem; }
.product-content ul, .product-content ol { margin:12px 0 12px 20px; }
.product-content li { margin-bottom:4px; }

.product-images { margin:32px 0; }
.product-images img { border-radius:var(--radius); width:100%; object-fit:cover; max-height:420px; }

/* ── USP BAR ── */
.usp-bar { background:var(--offwhite); padding:40px 24px; border-bottom:1px solid var(--grey-light); }
.usp-grid { max-width:1000px; margin:0 auto; display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:24px; text-align:center; }
.usp-item { font-size:.9rem; }
.usp-item .usp-icon { font-size:1.6rem; margin-bottom:6px; }
.usp-item strong { display:block; color:var(--navy); font-size:.92rem; }

/* ── CONTACT FORM ── */
.form-section { background:var(--offwhite); padding:48px 24px; margin-top:40px; border-radius:var(--radius); }
.form-section h2 { text-align:center; }
.contact-form { max-width:560px; margin:24px auto 0; }
.form-group { margin-bottom:16px; }
.form-group label { display:block; font-weight:600; font-size:.9rem; margin-bottom:4px; color:var(--navy); }
.form-group input, .form-group textarea, .form-group select {
  width:100%; padding:12px 14px; border:1px solid var(--grey-light); border-radius:6px;
  font-family:inherit; font-size:.95rem; transition:border-color .2s; background:var(--white);
}
.form-group input:focus, .form-group textarea:focus { border-color:var(--orange); outline:none; }
.form-group textarea { resize:vertical; min-height:120px; }
.form-note { font-size:.82rem; color:var(--grey-mid); margin-top:8px; }
.form-success { background:#e8f5e9; color:#2e7d32; padding:16px; border-radius:6px; text-align:center; margin-bottom:16px; }
.form-error { background:#fbe9e7; color:#c62828; padding:16px; border-radius:6px; text-align:center; margin-bottom:16px; }

/* ── CTA ── */
.cta-section { background:var(--navy); color:var(--white); text-align:center; padding:64px 24px; }
.cta-section h2 { color:var(--white); }
.cta-section p { max-width:500px; margin:0 auto 24px; opacity:.8; }

/* ── FOOTER ── */
.site-footer { background:#111; color:rgba(255,255,255,.6); padding:48px 24px 32px; font-size:.88rem; }
.footer-inner { max-width:1000px; margin:0 auto; display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:32px; }
.footer-col h4 { color:var(--white); font-size:.95rem; margin-bottom:12px; }
.footer-col a { color:rgba(255,255,255,.5); display:block; margin-bottom:6px; font-size:.85rem; }
.footer-col a:hover { color:var(--orange); }
.footer-bottom { max-width:1000px; margin:28px auto 0; padding-top:20px; border-top:1px solid rgba(255,255,255,.1); text-align:center; font-size:.82rem; }

/* ── LEGAL PAGES ── */
.legal-page { max-width:760px; margin:0 auto; padding:48px 24px; }
.legal-page h1 { font-size:1.8rem; color:var(--navy); margin-bottom:24px; }
.legal-page h2 { font-size:1.2rem; margin-top:28px; margin-bottom:8px; }
.legal-page p { font-size:.95rem; }

/* ── ADMIN ── */
.admin-wrap { max-width:900px; margin:40px auto; padding:0 24px; }
.admin-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:28px; }
.admin-header h1 { font-size:1.4rem; color:var(--navy); }
.admin-card { background:var(--white); border:1px solid var(--grey-light); border-radius:var(--radius); padding:24px; margin-bottom:20px; }
.admin-card h3 { margin-bottom:12px; }
.admin-product-images { display:flex; gap:12px; flex-wrap:wrap; margin:12px 0; }
.admin-product-images .thumb { position:relative; width:120px; height:90px; border-radius:6px; overflow:hidden; border:1px solid var(--grey-light); }
.admin-product-images .thumb img { width:100%; height:100%; object-fit:cover; }
.admin-product-images .thumb .del-btn { position:absolute; top:4px; right:4px; background:rgba(0,0,0,.6); color:white; border:none; border-radius:50%; width:22px; height:22px; font-size:.75rem; cursor:pointer; display:flex; align-items:center; justify-content:center; }
.login-box { max-width:360px; margin:100px auto; padding:40px; background:var(--offwhite); border-radius:var(--radius); }
.login-box h1 { font-size:1.3rem; color:var(--navy); margin-bottom:20px; text-align:center; }

/* ── RESPONSIVE ── */
@media(max-width:768px) {
  .nav-links { display:none; position:absolute; top:72px; left:0; right:0; background:var(--navy); flex-direction:column; padding:16px 24px; gap:4px; border-top:1px solid rgba(255,255,255,.1); }
  .nav-links.open { display:flex; }
  .hamburger { display:block; }
  .hero { padding:56px 20px 72px; }
  section { padding:48px 20px; }
  .product-grid { grid-template-columns:1fr; }
}
