/* Irinas Kerze – zusätzliche Stile */
html { scroll-behavior: smooth; }
body { background:#fbf9f7; color:#1b1c1b; font-family:"DM Sans",sans-serif; }

/* Start-Animation */
body.ik-loading { overflow:hidden; }
#ik-preloader { position:fixed; inset:0; z-index:10000; background:#fbf9f7; display:flex; flex-direction:column;
  align-items:center; justify-content:center; gap:16px; transition:opacity .5s ease; }
#ik-preloader.ik-preloader-hide { opacity:0; pointer-events:none; }
.ik-preloader-flame { width:16px; height:26px; border-radius:50% 50% 50% 50% / 65% 65% 35% 35%;
  background:radial-gradient(circle at 50% 78%, #fff6dc 0%, #f2c669 42%, #a1824a 78%, transparent 100%);
  box-shadow:0 0 20px 6px rgba(161,130,74,.35); animation:ik-flicker 1.6s ease-in-out infinite; }
@keyframes ik-flicker {
  0%, 100% { transform:scale(1) rotate(-1deg); opacity:1; }
  25% { transform:scale(1.06, .94) rotate(1.5deg); }
  50% { transform:scale(.94, 1.06) rotate(-2deg); opacity:.92; }
  75% { transform:scale(1.03, .97) rotate(2deg); }
}
.ik-preloader-brand { font-family:"Playfair Display",serif; font-size:20px; letter-spacing:.14em;
  text-transform:uppercase; color:#30302f; opacity:0; animation:ik-fade-in .8s ease .25s forwards; }
@keyframes ik-fade-in { to { opacity:1; } }
h1,h2,h3,.font-serif { font-family:"Playfair Display",serif; }

.label-caps { font-size:12px; font-weight:500; letter-spacing:0.14em; text-transform:uppercase; }

.material-symbols-outlined{ font-variation-settings:'FILL' 0,'wght' 300,'GRAD' 0,'opsz' 24; }

/* Buttons */
.btn { display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  font-size:12px; font-weight:600; letter-spacing:.12em; text-transform:uppercase;
  padding:.85rem 1.6rem; border-radius:.25rem; cursor:pointer; transition:.25s ease; border:1px solid transparent; }
.btn-primary { background:#30302f; color:#fff; }
.btn-primary:hover { background:#615e59; transform:translateY(-1px); }
.btn-outline { background:transparent; color:#4a463f; border-color:#ccc6bc; }
.btn-outline:hover { background:#f7d8e4; border-color:#f7d8e4; color:#30302f; }
.btn-gold { background:#a1824a; color:#fff; }
.btn-gold:hover { background:#8a6d38; }

.link-underline { position:relative; }
.link-underline::after{ content:""; position:absolute; left:0; bottom:-4px; height:1px; width:0; background:#a1824a; transition:width .3s ease; }
.link-underline:hover::after{ width:100%; }

/* Product card hover */
.product-card img { transition:transform .5s ease; }
.product-card:hover img { transform:scale(1.04); }
.product-card { transition:box-shadow .3s ease, transform .3s ease; }
.product-card:hover { transform:translateY(-4px); }

/* Toast */
#ik-toast { position:fixed; bottom:24px; left:50%; transform:translateX(-50%) translateY(120%);
  background:#30302f; color:#fff; padding:14px 22px; border-radius:8px; font-size:14px;
  box-shadow:0 10px 30px rgba(0,0,0,.2); z-index:9999; transition:transform .35s ease; max-width:90vw; }
#ik-toast.show { transform:translateX(-50%) translateY(0); }

/* Mobile menu */
#ik-mobile-menu { transition:transform .3s ease; }

/* Forms */
.field { width:100%; background:#f5efe9; border:1px solid transparent; border-radius:.25rem;
  padding:.8rem 1rem; font-size:15px; color:#1b1c1b; transition:.2s; }
.field:focus { outline:none; border-color:#a1824a; background:#fff; }
.field::placeholder { color:#9c968c; }
.field-error { border-color:#ba1a1a !important; background:#fff4f3 !important; }

.spinner-badge { animation:pop .3s ease; }
@keyframes pop { 0%{transform:scale(.5)} 100%{transform:scale(1)} }

img.ph-fallback { object-fit:cover; }
.ik-pre-wrap { white-space:pre-wrap; }

/* KI-Bild-Tipp im Produkt-Editor */
.ik-ai-tip { background:rgba(245,239,233,.6); border-radius:12px; padding:20px; margin-top:12px; font-size:13px; }
.ik-ai-tip-summary { display:flex; align-items:center; width:100%; background:none; border:none; margin:0; padding:0;
  cursor:pointer; font-size:12px; font-weight:500; letter-spacing:.14em; text-transform:uppercase; color:#a1824a; text-align:left; font-family:inherit; }
.ik-ai-tip-summary .material-symbols-outlined { font-size:16px; margin-right:4px; }
.ik-ai-tip-chevron { transition:transform .25s ease; }
.ik-ai-tip-summary.is-open .ik-ai-tip-chevron { transform:rotate(90deg); }
.ik-ai-tip-wrap { max-height:0; overflow:hidden; transition:max-height .3s ease; }
.ik-ai-tip-body { margin-top:16px; display:flex; flex-direction:column; gap:16px; color:#5c5850; }
.ik-ai-tip-ref { display:flex; gap:12px; align-items:flex-start; background:#fff; border-radius:10px; padding:12px; }
.ik-ai-tip-ref img { width:56px; height:72px; object-fit:cover; border-radius:6px; box-shadow:0 2px 8px rgba(0,0,0,.1); flex-shrink:0; }
.ik-ai-tip-ref p { font-size:12px; line-height:1.5; margin:0; }
.ik-ai-tip-steps { font-size:12px; line-height:1.5; padding-left:18px; margin:0; list-style-type:decimal; }
.ik-ai-tip-steps li { margin-bottom:6px; }
.ik-ai-tip-steps a { color:#a1824a; text-decoration:underline; }
.ik-ai-tip textarea.field { font-size:12px; }
.ik-ai-tip-note { font-size:12px; line-height:1.5; margin:0; }

/* ---------- Bearbeiten-Modus ---------- */
#ik-editbar { position:fixed; bottom:0; left:0; right:0; z-index:9998; background:#30302f; color:#fff;
  font-family:"DM Sans",sans-serif; font-size:13px; box-shadow:0 -6px 20px rgba(0,0,0,.15); }
.ik-eb-inner { max-width:1280px; margin:0 auto; display:flex; align-items:center; gap:16px; padding:10px 20px; flex-wrap:wrap; }
.ik-eb-brand { font-weight:600; letter-spacing:.05em; }
.ik-eb-toggle { display:flex; align-items:center; gap:8px; cursor:pointer; }
.ik-eb-toggle input { width:16px; height:16px; accent-color:#a1824a; }
.ik-eb-hint { color:#cbc6c0; font-style:italic; }
.ik-eb-spacer { flex:1; }
.ik-eb-link { color:#e7c177; background:none; border:none; cursor:pointer; font-size:13px; text-decoration:none; padding:4px 6px; }
.ik-eb-link:hover { color:#fff; text-decoration:underline; }
body.ik-has-editbar { padding-bottom:60px; }

/* Format-Leiste */
.ik-eb-format { display:flex; align-items:center; gap:6px; padding-left:10px; margin-left:4px; border-left:1px solid rgba(255,255,255,.2); flex-wrap:wrap; }
.ik-eb-sel { background:#413f3d; color:#fff; border:1px solid rgba(255,255,255,.25); border-radius:6px; font-size:12px; padding:4px 6px; cursor:pointer; }
.ik-eb-sel option { color:#1b1c1b; background:#fff; }
.ik-eb-fbtn { background:#413f3d; color:#fff; border:1px solid rgba(255,255,255,.25); border-radius:6px; width:28px; height:28px; cursor:pointer; font-size:13px; line-height:1; display:inline-flex; align-items:center; justify-content:center; }
.ik-eb-fbtn:hover { background:#a1824a; border-color:#a1824a; }
.ik-eb-color { width:28px; height:28px; padding:0; border:1px solid rgba(255,255,255,.25); border-radius:6px; background:none; cursor:pointer; }

.ik-editing [data-edit] { cursor:text; }
.ik-editable { outline:1px dashed rgba(161,130,74,.55); outline-offset:3px; border-radius:2px; transition:background .15s; }
.ik-editable:hover { background:rgba(161,130,74,.08); }
.ik-editable:focus { outline:2px solid #a1824a; background:rgba(161,130,74,.06); }

.ik-editing [data-edit-img] { outline:2px dashed rgba(161,130,74,.7); outline-offset:-2px; }
.ik-img-wrap { position:relative; }
.ik-img-btn { display:none; }
.ik-editing .ik-img-btn { display:inline-block; position:absolute; top:10px; left:10px; z-index:30;
  background:rgba(48,48,47,.9); color:#fff; font-size:12px; font-family:"DM Sans",sans-serif;
  padding:6px 12px; border:none; border-radius:6px; cursor:pointer; box-shadow:0 2px 8px rgba(0,0,0,.25); }
.ik-editing .ik-img-btn:hover { background:#a1824a; }

/* Highlight-Sektion: Kollektion-Auswahl (nur im Bearbeiten-Modus sichtbar) */
.ik-highlight-pick { display:none; }
.ik-editing .ik-highlight-pick { display:flex; }

/* Frei kuratierbare Container (Foto-Galerie, Produkt-Vitrine): leerer Zustand
   nur im Bearbeiten-Modus sichtbar, sonst für Besucher:innen ausgeblendet */
.ik-empty-zone { display:none; }
.ik-editing .ik-empty-zone { display:block; }

/* Foto-Galerie: Steuerelemente pro Kachel, nur im Bearbeiten-Modus sichtbar */
.ik-ps-remove, .ik-ps-link, .ik-ps-add { display:none; }
.ik-editing .ik-ps-tile { outline:2px dashed rgba(161,130,74,.7); outline-offset:-2px; }
.ik-editing .ik-ps-remove { display:inline-flex; align-items:center; justify-content:center;
  position:absolute; top:8px; right:8px; z-index:20; width:26px; height:26px;
  background:rgba(48,48,47,.9); color:#fff; border:none; border-radius:6px; cursor:pointer;
  box-shadow:0 2px 8px rgba(0,0,0,.25); }
.ik-editing .ik-ps-remove:hover { background:#b3261e; }
.ik-editing .ik-ps-link { display:block; position:absolute; left:8px; right:8px; bottom:8px; z-index:20;
  font-size:11px; padding:4px 6px; border-radius:6px; border:1px solid rgba(255,255,255,.3);
  background:rgba(48,48,47,.9); color:#fff; }
.ik-editing .ik-ps-add { display:flex; }
