/* ---- Numbered Steps ---- */
.vk-editorial-steps{ display:flex; flex-wrap:wrap; gap:14px; }
.vk-editorial-step{ flex:1 1 160px; background:#fff; border-radius:8px; padding:18px 16px; box-shadow:0 6px 18px rgba(0,0,0,.06); }
.vk-editorial-step-num{ display:block; font-family:Georgia,'Times New Roman',serif; font-style:italic; font-size:20px; color:var(--vk-primary); margin-bottom:8px; }
.vk-editorial-step h3{
	font-family:Georgia,'Times New Roman',serif; font-style:italic; font-weight:400;
	font-size:14px; color:var(--vk-text); margin:0 0 4px;
}
.vk-editorial-step p{ font-family:var(--vk-font-body); font-size:11.5px; color:#666; margin:0; }

/* ---- Booking Form Split ---- */
.vk-editorial-booking-section{ padding-top:26px; margin:0 0 40px; }
.vk-editorial-booking-split{ display:grid; grid-template-columns:1fr 1.1fr; gap:32px; align-items:center; }
.vk-editorial-booking-copy .vk-eyebrow{
	display:block; font-family:var(--vk-font-body); font-size:10px; font-weight:600;
	letter-spacing:2.5px; text-transform:uppercase; color:var(--vk-primary); margin-bottom:10px;
}
.vk-editorial-booking-copy h2{
	font-family:Georgia,'Times New Roman',serif; font-style:italic; font-weight:400;
	font-size:24px; color:var(--vk-text); margin:0 0 12px;
}
.vk-editorial-booking-copy p{ font-family:var(--vk-font-body); font-size:13.5px; color:#666; line-height:1.7; margin:0; }
.vk-editorial-booking-card{ background:#fff; border-radius:10px; padding:22px; box-shadow:0 10px 26px rgba(0,0,0,.08); }
.vk-editorial-booking-grid{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.vk-editorial-booking-grid label{ display:block; font-family:var(--vk-font-body); font-size:11px; font-weight:600; color:#666; margin-bottom:5px; }
.vk-editorial-booking-grid input,
.vk-editorial-booking-grid select{
	width:100%; box-sizing:border-box; padding:10px 12px; border:1px solid var(--vk-border);
	border-radius:4px; font-family:var(--vk-font-body); font-size:13px; color:var(--vk-text);
}
.vk-editorial-booking-grid input:focus,
.vk-editorial-booking-grid select:focus{ outline:none; border-color:var(--vk-primary); }
.vk-editorial-booking-submit{ display:flex; align-items:flex-end; }
.vk-editorial-booking-submit button{
	width:100%; height:100%; padding:10px; border-radius:4px; font-family:var(--vk-font-body);
	font-size:12.5px; font-weight:700; border:0; cursor:pointer; background:var(--vk-text); color:#fff;
}
@media (max-width:640px){ .vk-editorial-booking-split{ grid-template-columns:1fr; } }

/* ---- Payment ---- */
.vk-editorial-payment-section{ padding-top:26px; margin:0 0 40px; }
.vk-editorial-payment-heading{ text-align:center; margin-bottom:20px; }
.vk-editorial-payment-heading .vk-eyebrow{
	display:block; font-family:var(--vk-font-body); font-size:10px; font-weight:600;
	letter-spacing:2.5px; text-transform:uppercase; color:var(--vk-primary); margin-bottom:10px;
}
.vk-editorial-payment-heading h2{
	font-family:Georgia,'Times New Roman',serif; font-style:italic; font-weight:400;
	font-size:22px; color:var(--vk-text); margin:0;
}
.vk-editorial-payment-heading-rule{ width:36px; height:1px; background:var(--vk-primary); margin:12px auto 0; }
.vk-editorial-payment-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-bottom:20px; }
.vk-editorial-payment-card{ background:#fff; border-radius:8px; padding:20px 16px; text-align:center; box-shadow:0 8px 20px rgba(0,0,0,.06); }
.vk-editorial-payment-icon{ font-size:22px; margin-bottom:10px; }
.vk-editorial-payment-card h3{
	font-family:Georgia,'Times New Roman',serif; font-style:italic; font-weight:400;
	font-size:14.5px; color:var(--vk-text); margin:0 0 6px;
}
.vk-editorial-payment-card p{ font-family:var(--vk-font-body); font-size:12px; color:#666; line-height:1.55; margin:0; }
.vk-editorial-payment-terms{ list-style:none; margin:0; padding:16px 0 0; border-top:1px solid #eee; display:flex; flex-direction:column; gap:6px; }
.vk-editorial-payment-terms li{ font-family:var(--vk-font-body); font-size:12px; color:#666; line-height:1.6; display:flex; gap:8px; }
.vk-editorial-payment-terms li::before{ content:"—"; color:var(--vk-primary); font-weight:700; }
@media (max-width:768px){ .vk-editorial-payment-grid{ grid-template-columns:1fr; } }
