/*
  Waarom kolommen "verspringen" bij tile-flip:
  - 3D-transform (rotateY) kan tijdelijk buiten de tile tekenen → parent krijgt scroll of reflow.
  - Verschijnt/verdwijnt een verticale scrollbar, dan verandert de viewport-/kolombreedte (layout shift).
  Fix: tile clippen, stabiele scrollbalk-ruimte, geen tab-tekst die van breedte wisselt.
*/
html:has(.v6-page){
  scrollbar-gutter:stable;
}

body{
  background:var(--ik-page-fade, linear-gradient(180deg, #f5f7fc 0%, #edf2f9 100%));
}

.v6-page{
  height:auto;
  /*background:transparent;
  background-image:none !important;
  background-color:transparent !important;
  box-shadow:none !important;*/
  padding:16px;
  overflow:visible;
  display:flex;
  flex-direction:column;
  scrollbar-gutter:stable;
}

.v6-head{
  max-width:1420px;
  margin:0 auto 12px;
  padding:14px 18px;
  border:1px solid rgba(35,34,59,0.1);
  border-radius:16px;
  background:#fff;
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center;
  flex-shrink:0;
}

.v6-head h1{
  margin:0;
  color:#23223B;
  font-size:clamp(1.3rem, 1.6vw, 1.55rem);
}
.v6-head p{
  margin:8px 0 0;
  color:#64748b;
  font-size:14px;
  line-height:1.5;
}

.v6-meta{
  display:flex;
  gap:8px;
}

.meta-pill{
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(35,34,59,0.12);
  background:#f8fafc;
  color:#475569;
  font-size:12px;
}

.meta-pill.ok{
  border-color:rgba(22,163,74,0.35);
  background:#f0fdf4;
  color:#166534;
}

.v6-layout{
  /* Vaste kolombreedtes: voorkomt horizontale layout-shift bij tile flip */
  width:1352px; /* 300 + 590 + 434 + (2 * 14 gap) */
  max-width:1352px;
  margin:50px auto 0;
  display:grid;
  grid-template-columns:300px 590px 434px;
  grid-template-rows:minmax(0, 1fr);
  align-items:stretch;
  align-content:stretch;
  gap:14px;
  flex:0 0 auto;
  min-height:0;
  min-width:0;
  height:auto;
  min-height:700px;
  overflow:visible;
}

.v6-layout > *{
  min-width:0;
}

.v6-nav,
.v6-main,
.v6-preview{
  border:1px solid rgba(35,34,59,0.1);
  border-radius:16px;
  background:#fff;
  box-shadow:0 12px 28px rgba(15,23,42,0.08);
  padding:0 16px 16px;
  min-height:700px;
  max-height:none;
  overflow-x:hidden;
  overflow-y:visible;
  scrollbar-gutter:stable;
}

.v6-nav{
  position:relative;
}

.v6-layout{
  --v6-col-header-h:56px;
}

/* Kolomtitels op één lijn: Wizard stappen · Voorkant/Achterkant · Live weergave */
.v6-nav > h2,
.v6-screen > header > h3,
.v6-preview > h2{
  font-size:19px;
  font-weight:700;
  line-height:1.25;
  color:#23223B;
  margin:0;
  letter-spacing:-0.01em;
}

.v6-nav > h2,
.v6-preview > h2{
  margin:0 0 12px;
  padding:0;
  border-bottom:1px solid rgba(35,34,59,0.08);
  height:var(--v6-col-header-h);
  display:flex;
  align-items:center;
  box-sizing:border-box;
}

.v6-nav ol{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:10px;
}

.v6-nav li{
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 14px;
  border:1px solid rgba(148,163,184,0.38);
  border-radius:10px;
  background:linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
  font-size:14px;
  color:#64748b;
  cursor:pointer;
  user-select:none;
  transition:background-color .15s ease, border-color .15s ease, transform .1s ease;
}

.v6-nav li:hover{
  background:linear-gradient(180deg, #f1f5f9 0%, #e2e8f0 100%);
  border-color:rgba(100,116,139,0.42);
}

.v6-nav li:focus-visible{
  outline:3px solid rgba(59,130,246,0.45);
  outline-offset:2px;
}

.v6-nav li span{
  width:22px;
  height:22px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#e2e8f0;
  font-size:12px;
  font-weight:700;
}

.v6-nav li.done{
  border-color:rgba(22,163,74,0.35);
  color:#166534;
  background:
    linear-gradient(180deg, #ecfdf3 0%, #dcfce7 100%),
    radial-gradient(150% 100% at 0% 50%, rgba(22,163,74,0.12), transparent 62%);
  box-shadow:0 1px 0 rgba(255,255,255,0.85) inset;
}

.v6-nav li.done span{
  background:#bbf7d0;
  color:#166534;
}

.v6-nav li.active{
  border-color:rgba(188,105,0,0.45);
  background:#fff7ed;
  color:#9b5600;
  font-weight:700;
}

/* Rode contour zodra publiceren mogelijk is (alle velden + planningsmoment in de toekomst). */
.v6-nav li.v6-step-publish-ready{
  outline:2px solid #dc2626;
  outline-offset:2px;
}

.v6-nav li.active span{ background:#fed7aa; color:#9a3412; }

/* Lichtblauwe variant met zachte fading */
.v6-save-concept{
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid rgba(35,34,59,0.08);
}

.v6-btn-save-concept{
  width:100%;
  min-height:40px;
  border:1px solid rgba(59,130,246,0.42);
  border-radius:10px;
  background:
    linear-gradient(180deg, #e0f2fe 0%, #bfdbfe 100%),
    radial-gradient(160% 100% at 0% 50%, rgba(59,130,246,0.12), transparent 62%);
  color:#1e3a8a;
  font:inherit;
  font-weight:700;
  font-size:13px;
  cursor:pointer;
  box-shadow:0 1px 0 rgba(255,255,255,0.8) inset;
}

.v6-btn-save-concept:hover{
  background:
    linear-gradient(180deg, #bfdbfe 0%, #93c5fd 100%),
    radial-gradient(160% 100% at 0% 50%, rgba(59,130,246,0.16), transparent 62%);
  border-color:rgba(59,130,246,0.58);
}

.v6-btn-save-concept:active{
  transform:translateY(1px);
}

.v6-save-concept-hint{
  margin:8px 0 0;
  font-size:11px;
  line-height:1.35;
  color:#1e40af;
  opacity:0.9;
}

.v6-status-card{
  margin-top:10px;
  margin-bottom:0;
  padding:10px;
  border:1px solid rgba(35,34,59,0.12);
  border-radius:10px;
  background:linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}

.v6-live-at-label{
  display:block;
  font-size:12px;
  font-weight:600;
  color:#334155;
  margin-bottom:6px;
}

.v6-live-at-input{
  width:100%;
  border:1px solid rgba(35,34,59,0.16);
  border-radius:12px;
  padding:10px 12px;
  background:
    linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  font:inherit;
  font-size:13px;
  font-weight:600;
  letter-spacing:0.01em;
  color:#1f2937;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.9);
}

.v6-live-hour-select{
  width:110px;
  border:1px solid rgba(35,34,59,0.16);
  border-radius:12px;
  padding:10px 10px;
  background:linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  font:inherit;
  font-size:13px;
  font-weight:600;
  color:#1f2937;
}

.v6-live-hour-select:focus{
  outline:none;
  border-color:rgba(188,105,0,0.5);
  box-shadow:0 0 0 4px rgba(188,105,0,0.12);
  background:#fff;
}

.v6-live-at-input:focus{
  outline:none;
  border-color:rgba(188,105,0,0.5);
  box-shadow:0 0 0 4px rgba(188,105,0,0.12);
  background:#fff;
}

.v6-live-at-input.is-invalid,
.v6-live-hour-select.is-invalid{
  border-color:rgba(220,38,38,0.6);
  box-shadow:0 0 0 4px rgba(220,38,38,0.12);
}

.v6-publish-hint{
  margin:8px 0 0;
  font-size:11px;
  line-height:1.35;
  color:#6b7280;
}

.v6-btn-publish{
  margin-top:0;
  width:auto;
  min-height:34px;
  align-self:auto;
  border:none;
  border-radius:999px;
  color:#fff;
  font:inherit;
  font-weight:700;
  font-size:12px;
  letter-spacing:0.02em;
  text-transform:uppercase;
  padding:0 14px;
  cursor:pointer;
  background:linear-gradient(180deg, #ef4444 0%, #dc2626 100%);
  box-shadow:0 10px 18px rgba(220,38,38,0.28);
}

.v6-btn-publish:hover{
  transform:translateY(-1px);
  box-shadow:0 14px 24px rgba(220,38,38,0.34);
}

.v6-btn-publish:disabled{
  cursor:not-allowed;
  transform:none;
  opacity:0.55;
  background:linear-gradient(180deg, #cbd5e1 0%, #94a3b8 100%);
  box-shadow:none;
}

.v6-publish-group{
  background:
    linear-gradient(180deg, #fff5f5 0%, #fffafb 100%);
  border:1px solid rgba(220,38,38,0.25);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.9);
  display:grid;
  gap:10px;
}

.v6-publish-group.v6-is-disabled{
  filter:grayscale(0.45);
  opacity:0.58;
}

.v6-publish-group.v6-is-disabled .v6-publish-badge{
  display:none;
}

.v6-publish-fields{
  display:grid;
  gap:6px;
}

.v6-publish-row{
  display:flex;
  gap:8px;
  align-items:center;
}

.v6-publish-row .v6-live-at-input{
  flex:1 1 0;
  min-width:0;
}

.v6-publish-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
}

.v6-publish-head h4{
  margin:0;
}

.v6-publish-badge{
  display:inline-flex;
  align-items:center;
  padding:4px 9px;
  border-radius:999px;
  border:1px solid rgba(220,38,38,0.35);
  background:linear-gradient(180deg, #ffe4e6 0%, #fecdd3 100%);
  color:#b91c1c;
  font-size:11px;
  font-weight:700;
  letter-spacing:0.02em;
  white-space:nowrap;
}


.v6-status-head{
  font-size:11px;
  font-weight:700;
  letter-spacing:0.02em;
  text-transform:uppercase;
  color:#64748b;
  margin-bottom:8px;
}

.v6-status-switch{
  display:flex;
  gap:8px;
}

.v6-status-pill{
  flex:1;
  text-align:center;
  padding:7px 10px;
  border-radius:999px;
  border:1px solid rgba(35,34,59,0.12);
  background:#f1f5f9;
  color:#475569;
  font-size:12px;
  font-weight:700;
}

.v6-status-pill.active{
  border-color:rgba(22,163,74,0.42);
  color:#166534;
  background:linear-gradient(180deg, #dcfce7 0%, #bbf7d0 100%);
  box-shadow:0 1px 0 rgba(255,255,255,0.85) inset;
}

.v6-main{
  display:flex;
  flex-direction:column;
  position:relative;
  min-height:auto;
  overflow:hidden;
  padding:0;
  border-radius:14px;
  background:transparent;
  scrollbar-gutter:auto;
}

/* Alleen één formulierscherm tegelijk: achterkant = volgend scherm */
.v6-screen:not(.active){
  display:none !important;
}

.v6-screen{
  border:1px solid rgba(35,34,59,0.12);
  border-radius:14px;
  /* Geen dubbele top-padding t.o.v. .v6-main: titels gelijk met Wizard stappen / Live weergave */
  padding:0 14px 14px 14px;
  flex:1 1 0;
  min-height:0;
  box-sizing:border-box;
  overflow-x:hidden;
  overflow-y:auto;
  display:flex;
  flex-direction:column;
  background:linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  box-shadow:0 10px 24px rgba(15,23,42,0.07);
}

.v6-screen header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:8px;
  margin:0 0 12px;
  padding:0;
  border-bottom:1px solid rgba(35,34,59,0.08);
  height:var(--v6-col-header-h);
  box-sizing:border-box;
}

.v6-screen h3{
  margin:0;
  color:#23223B;
}

.v6-screen header span{
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(35,34,59,0.14);
  font-size:12px;
  color:#475569;
  font-weight:600;
  background:#f8fafc;
}

.v6-screen.active header span{
  border-color:rgba(188,105,0,0.45);
  background:#fff7ed;
  color:#9b5600;
}

.v6-screen.muted{
  background:#fcfdff;
}

.group{
  border:1px solid rgba(35,34,59,0.1);
  border-radius:12px;
  padding:14px;
  margin-bottom:12px;
  background:#ffffff;
  transition:border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

/* Actieve wizard-stap: oranje rand rond de invulgroep */
.group.v6-group-active{
  border:2px solid rgba(188,105,0,0.85);
  box-shadow:
    0 0 0 4px rgba(188,105,0,0.14),
    0 10px 20px rgba(188,105,0,0.12);
  background:linear-gradient(180deg, #fffaf2 0%, #fffdf9 100%);
}

.group h4{
  margin:0 0 12px;
  font-size:15px;
  font-weight:700;
  color:#23223B;
}

.v6-system-group{
  border:1px solid rgba(37,99,235,0.24);
  background:linear-gradient(180deg, #f8fbff 0%, #eef6ff 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.9);
}

.v6-system-group h4{
  color:#1e3a8a;
  display:flex;
  align-items:center;
  gap:8px;
}

.v6-system-group h4::before{
  content:"";
  width:10px;
  height:10px;
  border-radius:50%;
  background:#3b82f6;
  box-shadow:0 0 0 4px rgba(59,130,246,0.18);
}

.v6-system-meta{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:8px;
}

.v6-system-item{
  display:grid;
  gap:2px;
  justify-items:center;
  text-align:center;
}

.v6-system-label{
  font-size:10px;
  color:#1e3a8a;
  font-weight:700;
  letter-spacing:0.02em;
  text-transform:uppercase;
}

.v6-system-value{
  font-size:11px;
  color:#334155;
  font-weight:600;
  line-height:1.35;
}

.fields{
  display:grid;
  gap:10px;
}

.v6-field-hint{
  margin:0;
  font-size:11px;
  color:#64748b;
}

.v6-ai-assist{
  margin-top:12px;
  border:1px solid rgba(35,34,59,0.12);
  border-radius:12px;
  background:linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  padding:12px;
  display:grid;
  gap:8px;
}

.v6-ai-assist h5{
  margin:0;
  font-size:13px;
  color:#1f2937;
}

.v6-ai-assist label{
  display:grid;
  gap:6px;
  font-size:12px;
  color:#334155;
}

.v6-btn-ai-generate{
  width:max-content;
  border:none;
  border-radius:999px;
  padding:9px 14px;
  font:inherit;
  font-size:12px;
  font-weight:700;
  color:#fff;
  cursor:pointer;
  background:var(--ik-primary-grad, linear-gradient(90deg, #0094FF 0%, #0071ff 100%));
  box-shadow:var(--ik-primary-shadow, 0 10px 20px rgba(0, 113, 255, 0.28));
}

.v6-btn-ai-generate:disabled{
  opacity:0.6;
  cursor:not-allowed;
  box-shadow:none;
}

.v6-ai-status{
  margin:0;
  font-size:12px;
  color:#64748b;
  min-height:16px;
  line-height:1.35;
}

.v6-ai-status.is-error{
  color:#b91c1c;
}

.v6-ai-status.is-success{
  color:#0369a1;
}

.v6-btn-ai-modal{
  width:100%;
  margin:0 0 20px;
  border:none;
  border-radius:999px;
  min-height:40px;
  color:#fff;
  font:inherit;
  font-weight:700;
  font-size:15px;
  letter-spacing:0.02em;
  cursor:pointer;
  background:linear-gradient(90deg, #7c3aed 0%, #2563eb 55%, #0ea5e9 100%);
  box-shadow:0 14px 28px rgba(37,99,235,0.32);
}

.v6-btn-ai-modal:hover{
  transform:translateY(-1px);
}

.v6-ai-modal[hidden]{
  display:none;
}

.v6-ai-modal{
  position:fixed;
  inset:0;
  z-index:1200;
  display:grid;
  place-items:center;
}

.v6-ai-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(15, 23, 42, 0.62);
  backdrop-filter:blur(8px);
}

.v6-ai-modal-dialog{
  position:relative;
  width:min(760px, 94vw);
  max-height:90vh;
  overflow:auto;
  margin:0 auto;
  transform:translateY(-80px);
  border-radius:18px;
  background:linear-gradient(to bottom, rgba(255,255,255,0.98), rgba(255,255,255,0.94));
  border:1px solid rgba(255,255,255,0.65);
  box-shadow:0 30px 90px rgba(0,0,0,0.35);
  padding:0 22px 20px;
  display:grid;
  gap:12px;
}

.v6-ai-modal-close{
  position:absolute;
  top:14px;
  right:14px;
  width:auto;
  height:auto;
  border:none;
  border-radius:0;
  background:transparent;
  color:#fff;
  font-size:28px;
  font-weight:700;
  line-height:1;
  cursor:pointer;
  z-index:2;
  padding:0;
}

.v6-ai-modal-sub{
  margin:0;
  font-size:13px;
  color:#475569;
  text-align:center;
}

.v6-ai-modal-banner{
  margin:0 -22px;
  border-radius:18px 18px 0 0;
  background:linear-gradient(90deg, #7c3aed 0%, #2563eb 55%, #0ea5e9 100%);
  padding:12px 22px 10px;
  display:flex;
  justify-content:center;
}

.v6-ai-modal-title{
  margin:0;
  border-radius:0;
  min-height:auto;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  font-size:22px;
  font-weight:800;
  letter-spacing:0.01em;
  background:none;
  box-shadow:none;
}

.v6-ai-input-card{
  border-radius:0;
  padding:0;
  background:transparent;
  border:none;
}

.v6-ai-input-card label{
  display:grid;
  gap:8px;
  font-size:13px;
  font-weight:600;
  color:#1f2937;
}

.v6-ai-photo-toggle{
  display:flex !important;
  align-items:flex-start;
  gap:8px;
  font-size:13px;
  color:#334155;
  font-weight:400;
}

.v6-ai-photo-toggle input{
  width:16px;
  height:16px;
}

.v6-ai-input-card textarea{
  border:1px solid rgba(148,163,184,0.45);
  border-radius:12px;
  padding:12px;
  background:#ffffff;
  font:inherit;
  color:#1f2937;
}

.v6-ai-input-card textarea:focus{
  outline:none;
  border-color:rgba(100,116,139,0.65);
  box-shadow:0 0 0 4px rgba(148,163,184,0.16);
}

.v6-btn-voice{
  width:max-content;
  margin-top:0;
  display:block;
  border:none;
  border-radius:999px;
  min-height:30px;
  height:30px;
  padding:0 14px;
  align-self:flex-start;
  min-width:168px;
  line-height:30px;
  background:linear-gradient(180deg, #fff7ed 0%, #fef3c7 100%);
  border:1px solid rgba(254,215,170,0.9);
  color:#334155;
  font:inherit;
  font-size:13px;
  font-weight:600;
  cursor:pointer;
  white-space:nowrap;
  display:flex;
  align-items:center;
  justify-content:center;
}

.v6-ai-voice-photo-row{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  margin-top:10px;
}

.v6-btn-voice.is-listening{
  background:linear-gradient(90deg, #ef4444 0%, #dc2626 100%);
  color:#fff;
  border-color:rgba(220,38,38,0.65);
  box-shadow:0 10px 18px rgba(220,38,38,0.28);
}

#v6-ai-brief::placeholder{
  color:#94a3b8;
  font-weight:400;
}

.v6-ai-progress{
  display:grid;
  gap:6px;
}

.v6-ai-progress-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:12px;
  color:#475569;
  font-weight:700;
}

.v6-ai-progress-track{
  width:100%;
  height:9px;
  border-radius:999px;
  background:linear-gradient(180deg, #e2e8f0 0%, #cbd5e1 100%);
  overflow:hidden;
}

.v6-ai-progress-fill{
  width:0%;
  height:100%;
  border-radius:999px;
  background:var(--ik-primary-grad);
  box-shadow:var(--ik-primary-shadow);
  transition:width .25s ease;
  position:relative;
  overflow:hidden;
}

.v6-ai-progress-fill::after{
  content:"";
  position:absolute;
  top:0;
  left:-35%;
  width:35%;
  height:100%;
  background:linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.45) 50%, rgba(255,255,255,0) 100%);
  animation:v6AiShimmer 1.25s linear infinite;
}

@keyframes v6AiShimmer{
  from{ left:-35%; }
  to{ left:110%; }
}

.v6-ai-modal-actions{
  display:flex;
  justify-content:flex-end;
  margin-top:-2px;
  gap:8px;
}

.v6-btn-ai-apply,
.v6-btn-ai-cancel{
  min-width:168px;
  text-align:center;
}

.v6-btn-ai-apply{
  border:none;
  border-radius:999px;
  min-height:42px;
  padding:0 20px;
  color:#fff;
  font:inherit;
  font-weight:700;
  cursor:pointer;
  background:var(--ik-primary-grad);
  box-shadow:var(--ik-primary-shadow);
}

.v6-btn-ai-cancel{
  border:1px solid rgba(148,163,184,0.5);
  border-radius:999px;
  min-height:42px;
  padding:0 20px;
  background:linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  color:#334155;
  font:inherit;
  font-weight:700;
  cursor:pointer;
}

.v6-confirm-modal[hidden]{ display:none; }
.v6-confirm-modal{
  position:fixed;
  inset:0;
  z-index:1300;
  display:grid;
  place-items:center;
}
.v6-confirm-backdrop{
  position:absolute;
  inset:0;
  background:rgba(15,23,42,0.62);
  backdrop-filter:blur(6px);
}
.v6-confirm-dialog{
  position:relative;
  width:min(520px, 92vw);
  min-height:150px;
  border-radius:18px;
  background:linear-gradient(to bottom, rgba(255,255,255,0.98), rgba(255,255,255,0.94));
  border:1px solid rgba(255,255,255,0.65);
  box-shadow:0 30px 90px rgba(0,0,0,0.35);
  padding:0 20px 14px;
  display:grid;
  gap:8px;
}
.v6-confirm-dialog h3{
  margin:0 -20px;
  border-radius:18px 18px 0 0;
  background:#23223B;
  color:#fff;
  font-size:22px;
  font-weight:800;
  text-align:center;
  padding:12px 22px 10px;
}
.v6-confirm-dialog p{
  margin:0;
  color:#475569;
  line-height:1.4;
  text-align:center;
  font-size:14px;
  padding:6px 6px 2px;
}
.v6-confirm-actions{
  display:flex;
  justify-content:center;
  gap:10px;
  margin-top:4px;
}
.v6-confirm-cancel,
.v6-confirm-ok{
  border:none;
  border-radius:999px;
  min-height:40px;
  min-width:164px;
  padding:0 20px;
  font:inherit;
  font-weight:700;
  cursor:pointer;
  color:#fff;
  background:var(--ik-primary-grad);
  box-shadow:var(--ik-primary-shadow);
}

.fields.one{ grid-template-columns:1fr; }
.fields.two{ grid-template-columns:1fr 1fr; }
.fields.three{ grid-template-columns:repeat(3, 1fr); }

.fields label{
  display:grid;
  gap:7px;
  font-size:13px;
  color:#334155;
  font-weight:600;
}

.fields input,
.fields select,
.fields textarea{
  border:1px solid rgba(35,34,59,0.14);
  border-radius:10px;
  padding:11px 12px;
  background:#fcfdff;
  font:inherit;
  color:#1f2937;
  transition:border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
}

.fields input:focus,
.fields select:focus,
.fields textarea:focus{
  outline:none;
  border-color:rgba(188,105,0,0.5);
  box-shadow:0 0 0 4px rgba(188,105,0,0.12);
  background:#fff;
}

.fields select{
  appearance:auto;
  -webkit-appearance:menulist;
  -moz-appearance:menulist;
  cursor:pointer;
  padding-right:10px;
}

/* Voorkant-omschrijving: exact 3 regels, niet flexibel */
#v6-front-description{
  resize:none;
  min-height:calc(1.35em * 3 + 22px);
  max-height:calc(1.35em * 3 + 22px);
  overflow:hidden;
}

/* Achterkant-omschrijving: vaste afmeting die netjes binnen de kolom past */
#v6-back-description{
  resize:none;
  height:145px;
  min-height:145px;
  max-height:145px;
  overflow:auto;
}

.photo-required{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:8px;
}

.photo-required div{
  border:1px solid rgba(35,34,59,0.12);
  border-radius:10px;
  min-height:74px;
  display:grid;
  place-items:center;
  text-align:center;
  background:linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
  cursor:pointer;
  transition:border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
}

.photo-required div:hover{
  border-color:rgba(188,105,0,0.42);
  background:linear-gradient(180deg, #fff8ef 0%, #fff3e6 100%);
}

.photo-required div:focus-visible{
  outline:none;
  border-color:rgba(188,105,0,0.5);
  box-shadow:0 0 0 4px rgba(188,105,0,0.12);
}

.photo-required div.is-filled{
  border-color:rgba(22,163,74,0.45);
  background:linear-gradient(180deg, #f0fdf4 0%, #dcfce7 100%);
}

.photo-required div.is-filled b::after{
  content:" - gekozen";
  color:#166534;
  font-weight:600;
  font-size:11px;
}

.v6-hidden-upload-inputs{
  display:none;
}

.photo-required b{ color:#23223B; font-size:13px; }
.photo-required span{ color:#64748b; font-size:11px; }

.screen-actions,
.publish-row{
  display:flex;
  gap:8px;
  margin-top:auto;
  padding-top:10px;
}

.v6-next-step-hint-wrap{
  align-items:flex-start;
  margin-top:4px !important;
  padding-top:0;
  justify-content:flex-start;
}

.v6-next-step-hint{
  margin:0;
  width:100%;
  border:none;
  background:transparent;
  color:#6b7280;
  font-size:12px;
  font-weight:400;
  padding:0;
  text-align:center;
  opacity:0.95;
}

.is-hidden{
  display:none !important;
}

/* Voorkant-acties blijven onderaan van het scherm */
.v6-screen > .screen-actions{
  margin-top:auto;
}

.ghost,
.primary{
  flex:1;
  min-height:42px;
  border:none;
  border-radius:10px;
  font-weight:700;
  cursor:pointer;
  transition:transform .12s ease, box-shadow .16s ease, filter .16s ease;
}

.ghost{
  background:linear-gradient(180deg, #e2e8f0 0%, #cbd5e1 100%);
  color:#1f2937;
}
.primary{
  background:var(--ik-primary-grad);
  color:#fff;
  box-shadow:var(--ik-primary-shadow);
}

.ghost:hover,
.primary:hover{
  transform:translateY(-1px);
}

.v6-preview{
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:0;
}

/* titel: zie .v6-column-title */

.v6-preview p{
  margin:8px 0 0;
  color:#64748b;
  font-size:13px;
}

.v6-preview-note{
  text-align:center;
}

.preview-tabs{
  display:flex;
  gap:6px;
  margin-top:10px;
  margin-bottom:0;
}

.preview-tabs button{
  font:inherit;
  cursor:pointer;
  font-size:12px;
  font-weight:600;
  padding:5px 9px;
  border:1px solid rgba(35,34,59,0.12);
  border-radius:999px;
  background:#f8fafc;
  color:#334155;
}

.preview-tabs button.active{
  border-color:rgba(188,105,0,0.45);
  background:#fff7ed;
  color:#9b5600;
  font-weight:600;
}

.v6-korting-field{
  display:flex;
  flex-direction:column;
  gap:5px;
  justify-content:flex-end;
  padding-bottom:2px;
}

.v6-korting-label{
  font-size:12px;
  color:#334155;
}

/* Korting: automatisch; warme crème-fade (zoals consument-tile sfeer) */
.v6-discount-cream{
  display:inline-block;
  padding:6px 12px;
  border-radius:10px;
  font-weight:700;
  font-size:14px;
  color:#b91c1c;
  background:
    linear-gradient(100deg, rgba(255,246,230,0.98) 0%, rgba(255,252,245,0.55) 42%, rgba(255,255,255,0.35) 55%, rgba(255,239,210,0.88) 100%),
    radial-gradient(140% 100% at 0% 50%, rgba(188,105,0,0.12), transparent 60%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.75);
}

.v6-tile{
  width:92%;
  max-width:390px;
  height:560px;
  position:relative;
  margin:0 auto;
  perspective:2400px;
  overflow:hidden;
  border-radius:20px;
  filter:drop-shadow(0 24px 56px rgba(0,0,0,0.24));
}

.v6-tile .deal-card-inner{
  position:relative;
  width:100%;
  height:100%;
  transition:transform 0.6s ease;
  transform-style:preserve-3d;
  -webkit-transform-style:preserve-3d;
}

.v6-tile.flipped .deal-card-inner{
  transform:rotateY(180deg);
}

.v6-tile:not(.flipped) .deal-back{
  pointer-events:none;
}

.v6-tile.flipped .deal-front{
  pointer-events:none;
}

.v6-tile.flipped .deal-back{
  pointer-events:auto;
}

.v6-tile .deal-front,
.v6-tile .deal-back{
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 8px 24px rgba(0,0,0,0.15);
  border:3px solid #fff;
  box-sizing:border-box;
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  padding:0;
  display:flex;
  flex-direction:column;
  -webkit-backface-visibility:hidden;
  backface-visibility:hidden;
  -webkit-transform-style:preserve-3d;
  transform-style:preserve-3d;
}

.v6-tile .deal-front{
  background:linear-gradient(to bottom, rgba(255,255,255,0.98), rgba(255,255,255,0.94));
}

.v6-tile .deal-back{
  transform:rotateY(180deg);
  -webkit-transform:rotateY(180deg);
  background:#fff;
  isolation:isolate;
}

.v6-tile .deal-images{
  display:flex;
  height:145px;
  gap:3px;
  align-items:stretch;
}

.v6-tile .image-left{ flex:2; min-height:0; }
.v6-tile .image-right{ flex:1; min-height:0; display:flex; flex-direction:column; gap:3px; }
.v6-tile .image-left img,
.v6-tile .image-right img{ width:100%; height:100%; object-fit:cover; display:block; }
.v6-tile .image-right img{ flex:1 1 0; min-height:0; }
.v6-tile .deal-front .image-left img{ object-position:center bottom !important; } /* Foto 1 */
.v6-tile .deal-front .image-right img:last-child{ object-position:center bottom !important; } /* Foto 3 */
.v6-back .back-images img:first-child{ object-position:center bottom !important; } /* Foto 1 (achterkant) */
.v6-back .back-images img:last-child{ object-position:center bottom !important; } /* Foto 3 (achterkant) */

.v6-tile .deal-body{
  position:relative;
  z-index:1;
  padding:14px;
  display:flex;
  flex-direction:column;
  gap:8px;
  flex:1;
  overflow:hidden;
}

.v6-tile .deal-category{
  display:inline-block;
  background:#e0f2fe;
  color:#0369a1;
  padding:3px 8px;
  border-radius:6px;
  font-size:12px;
  margin-bottom:2px;
  width:max-content;
  min-height:22px;
  box-sizing:border-box;
}

.v6-tile .deal-category:empty{
  background:transparent;
  padding:3px 0;
}

.v6-tile .deal-category:empty::before{
  content:"\00a0";
}

.v6-tile .deal-title{
  font-size:20px;
  font-weight:600;
  color:#333;
  min-height:1.25em;
}

.v6-tile .deal-title:empty::before{
  content:"\00a0";
}

.v6-tile .deal-merchant-row{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
}

.v6-tile .deal-merchant{
  font-size:14px;
  font-weight:600;
  color:#333;
  margin-top:-8px;
}

.v6-tile .deal-distance{
  display:flex;
  align-items:center;
  gap:4px;
  font-size:14px;
  white-space:nowrap;
  font-weight:600;
}

.v6-tile .deal-description{
  margin-top:3px;
  font-size:15px;
  color:#666;
  line-height:1.3;
  overflow:hidden;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  min-height:3.9em;
  height:3.9em;
}

.v6-tile .deal-info{
  display:flex;
  justify-content:flex-start;
  align-items:center;
  margin-top:6px;
}

.v6-tile .v6-discount-cream{
  background:none;
  box-shadow:none;
  padding:0;
  border-radius:0;
}

.v6-tile .deal-oldprice{
  color:#999;
  font-size:17px;
}

.v6-tile .deal-price-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
}

.v6-tile .deal-newprice{
  color:#16a34a;
  font-size:21px;
  font-weight:700;
}

.v6-tile .deal-sold{
  font-size:14px;
  color:#666;
}

.v6-tile .deal-buttons{
  display:flex;
  gap:8px;
  margin-top:auto;
  padding-top:10px;
}

.v6-tile .deal-buttons button{
  flex:1;
  padding:10px;
  border:none;
  border-radius:10px;
  color:#fff;
  font-weight:600;
  font-size:14px;
  cursor:pointer;
  background:var(--ik-primary-grad);
  box-shadow:var(--ik-primary-shadow);
}

.v6-back{
  justify-content:flex-start;
  align-items:stretch;
  padding:0;
}

.v6-back .deal-back-full{ width:100%; height:100%; }
.v6-back .back-content{
  display:flex;
  flex-direction:column;
  height:100%;
  gap:2px;
  padding:8px;
  text-align:center;
  min-height:0;
}

.v6-back .back-images{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:6px;
  margin-bottom:6px;
  padding:4px;
  background:#fff;
  border-radius:8px;
}

.v6-back .back-images img{
  width:100%;
  height:100px;
  object-fit:cover;
  border-radius:6px;
  display:block;
}

.v6-back .deal-back-heading{
  display:flex;
  justify-content:center;
  align-items:center;
  padding:10px 12px 8px;
}

.v6-back .deal-back-heading .deal-title{
  font-size:20px;
  font-weight:600;
  color:#333;
}

.v6-back .back-merchant{
  padding:0;
}

.v6-back .back-merchant-location{
  line-height:1.4;
  font-size:13px;
  color:#333;
}

.v6-back .merchant-name{
  display:block;
  font-weight:600;
  color:#333;
  font-size:14px;
}

.v6-back .back-rating-row{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:6px;
  margin:6px 0 10px;
  font-size:15px;
  flex-wrap:wrap;
}

.v6-back .back-rating-score{
  font-size:17px;
  font-weight:700;
  color:#2c2a45;
}

.v6-back .back-rating-count{
  font-size:15px;
  color:#666;
}

.v6-back .back-divider{
  width:100%;
  height:1px;
  background:#e6e6e6;
  margin:12px 0 14px;
}

.v6-back .back-stats{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin:4px 0;
  font-size:14px;
  color:#333;
}

.v6-back .back-title{
  font-size:18px;
  font-weight:600;
  color:#666;
  margin-top:2px;
  margin-bottom:2px;
}

.v6-back .deal-back-description{
  margin:0;
  text-align:left;
  color:#444;
  font-size:14px;
  line-height:1.4;
  overflow-y:auto;
  min-height:150px;
  max-height:150px;
  scrollbar-width:none;
  -ms-overflow-style:none;
  overscroll-behavior:contain;
}

.v6-back .deal-back-description::-webkit-scrollbar{ display:none; }

.v6-back .deal-buy{
  margin-top:auto;
  margin-bottom:24px;
  width:100%;
  border:none;
  border-radius:10px;
  background:var(--ik-primary-grad);
  box-shadow:var(--ik-primary-shadow);
  color:#fff;
  font-weight:600;
  font-size:14px;
  padding:10px;
  cursor:pointer;
}

@media (max-width:1260px){
  .v6-layout{
    grid-template-columns:1fr;
    min-height:auto;
  }
  .v6-nav,
  .v6-preview{
    position:static;
    min-height:auto;
  }
  .v6-main{
    min-height:auto;
  }
  .fields.two,
  .fields.three,
  .photo-required{
    grid-template-columns:1fr;
  }
}
