/* Krishna Jewellers -- Bespoke multi-step inquiry form (page-templates/template-bespoke.php) */

.kj-bf{background:#0E0B08;}

/* Hero */
.kj-bf-hero{padding:clamp(70px,10vw,120px) clamp(20px,5vw,56px) clamp(50px,7vw,90px);text-align:center;background:radial-gradient(80% 100% at 50% 0%,rgba(212,175,55,0.08) 0%,transparent 60%),#0E0B08;}
.kj-bf-hero-inner{max-width:640px;margin:0 auto;}
.kj-bf-hero-inner h1{margin:16px 0 0;font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;font-size:clamp(2.6rem,6vw,4.4rem);line-height:1.05;color:#F5EFE2;}
.kj-bf-hero-inner h1 em{font-style:italic;color:#D4AF37;}
.kj-bf-hero-inner p{margin:24px auto 0;max-width:460px;font-family:'Inter',sans-serif;font-weight:300;font-size:clamp(15px,1.6vw,16px);line-height:1.7;color:#A89C84;}
.kj-bf-begin-btn{margin-top:38px;}

/* Form section */
.kj-bf-form-section{padding:0 clamp(20px,5vw,56px) clamp(90px,10vw,140px);}
.kj-bf-form-wrap{max-width:660px;margin:0 auto;}

/* Progress bar -- hidden on step 1, fades in from step 2 */
.kj-bf-progress{opacity:0;max-height:0;overflow:hidden;transition:opacity .35s ease,max-height .35s ease,margin .35s ease;margin-bottom:0;}
.kj-bf-progress.is-visible{opacity:1;max-height:80px;margin-bottom:44px;}
.kj-bf-progress-track{height:2px;background:rgba(212,175,55,0.14);position:relative;}
.kj-bf-progress-fill{position:absolute;left:0;top:0;height:100%;background:#D4AF37;transition:width .4s cubic-bezier(.2,.6,.2,1);width:0%;}
.kj-bf-progress-label{margin-top:12px;font-family:'Inter',sans-serif;font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:#8E826B;text-align:center;}

/* wpcf7 form reset */
.kj-bf-form-wrap .wpcf7-form{margin:0;}
.kj-bf-form-wrap .wpcf7-form p{margin:0;}
.kj-bf-form-wrap .wpcf7-response-output{margin:24px 0 0;border-radius:2px;font-family:'Inter',sans-serif;font-size:13px;}
.kj-bf-form-wrap .wpcf7-response-output:empty{display:none;margin:0;border:none;}
.kj-bf-form-wrap form.sent .wpcf7-response-output{border-color:#D4AF37 !important;color:#D4AF37;}
.kj-bf-form-wrap .wpcf7-not-valid-tip{display:block;margin-top:6px;font-family:'Inter',sans-serif;font-size:12px;color:#c96a5a;}
.kj-bf-form-wrap .wpcf7-spinner{margin:0 0 0 12px;}

/* Step container + slide/fade transition (~300ms) */
.kj-bf-step{display:none;opacity:0;transform:translateY(16px);}
.kj-bf-step.is-active{display:block;opacity:1;transform:none;transition:opacity .3s cubic-bezier(.2,.6,.2,1),transform .3s cubic-bezier(.2,.6,.2,1);}
.kj-bf-step.is-active.kj-bf-step-enter{opacity:0;transform:translateY(16px);transition:none;}
@media (prefers-reduced-motion:reduce){.kj-bf-step{transition:none !important;}}

.kj-bf-step-head{text-align:center;margin-bottom:32px;}
.kj-bf-step-head .kj-eyebrow{margin-bottom:12px;}
.kj-bf-step-head h2{margin:0;font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;font-size:clamp(1.9rem,3.6vw,2.6rem);line-height:1.1;color:#F5EFE2;}

/* Step 1-3: image-backed selection cards */
.kj-bf-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:14px;}
.kj-bf-card{position:relative;aspect-ratio:4/5;border:1px solid rgba(212,175,55,0.16);border-radius:2px;cursor:pointer;overflow:hidden;display:flex;align-items:flex-end;padding:16px;background:repeating-linear-gradient(135deg,rgba(212,175,55,0.05) 0 1px,transparent 1px 22px),linear-gradient(160deg,#1a130a,#0A0805);transition:border-color .3s ease,box-shadow .3s ease,transform .3s ease;}
.kj-bf-card::before{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.55) 0%,transparent 55%);}
.kj-bf-card-icon{position:absolute;top:16px;left:16px;font-size:12px;color:#D4AF37;opacity:.7;}
.kj-bf-card-label{position:relative;z-index:1;font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;font-size:19px;line-height:1.15;color:#F5EFE2;text-align:left;}
.kj-bf-card:hover{border-color:rgba(212,175,55,0.45);transform:translateY(-3px);}
.kj-bf-card.is-selected{border-color:#D4AF37;box-shadow:0 0 0 1px #D4AF37,0 18px 36px -18px rgba(212,175,55,0.45);transform:scale(1.02) translateY(-3px);}
.kj-bf-card.is-selected .kj-bf-card-icon{color:#F6DC8C;opacity:1;}
@media (prefers-reduced-motion:reduce){.kj-bf-card{transition:none;}}

/* Step 4 + 5 pill group: reuses the product-page swatch-picker pattern (.kj-attr-*) */
.kj-attr-block{margin-bottom:22px;}
.kj-attr-block:last-child{margin-bottom:0;}
.kj-attr-label{font-family:'Inter',sans-serif;font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:#8E826B;margin-bottom:12px;}
.kj-attr-options{display:flex;flex-wrap:wrap;gap:9px;}
.kj-attr-option{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;font-size:15px;color:#EDE6D8;background:transparent;border:1px solid rgba(212,175,55,0.22);border-radius:2px;padding:10px 18px;cursor:pointer;transition:border-color .3s ease,background .3s ease,color .3s ease;}
.kj-attr-option:hover{border-color:#D4AF37;}
.kj-attr-option.is-selected{border:1px solid #D4AF37;background:rgba(212,175,55,0.1);color:#F5EFE2;}

/* Step 5: budget range slider */
.kj-bf-range-block{margin-bottom:30px;}
.kj-bf-range{-webkit-appearance:none;appearance:none;width:100%;height:2px;background:rgba(212,175,55,0.22);outline:none;margin:18px 0 16px;}
.kj-bf-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:#D4AF37;border:2px solid #0E0B08;box-shadow:0 0 0 1px rgba(212,175,55,0.5);cursor:pointer;transition:transform .2s ease;}
.kj-bf-range::-webkit-slider-thumb:hover{transform:scale(1.15);}
.kj-bf-range::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#D4AF37;border:2px solid #0E0B08;box-shadow:0 0 0 1px rgba(212,175,55,0.5);cursor:pointer;}
.kj-bf-range::-moz-range-track{height:2px;background:rgba(212,175,55,0.22);}
.kj-bf-range-value{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;font-size:22px;color:#D4AF37;text-align:center;}

/* Step 6-7: text fields */
.kj-bf-field-label{display:flex;flex-direction:column;gap:9px;margin-bottom:22px;font-family:'Inter',sans-serif;font-size:10px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;color:#8E826B;}
.kj-bf-field-label:last-of-type{margin-bottom:0;}
.kj-bf-optional{text-transform:none;letter-spacing:0;color:#6f6552;font-size:11px;}
.kj-bf-field-label input[type="text"],
.kj-bf-field-label input[type="email"],
.kj-bf-field-label input[type="tel"],
.kj-bf-field-label input[type="file"],
.kj-bf-field-label textarea{background:transparent;border:none;border-bottom:1px solid rgba(212,175,55,0.22);padding:11px 0;font-size:15px;color:#F5EFE2;font-family:'Inter',sans-serif;width:100%;box-sizing:border-box;}
.kj-bf-field-label textarea{min-height:120px;resize:vertical;line-height:1.6;}
.kj-bf-field-label input:focus,.kj-bf-field-label textarea:focus{outline:none;border-bottom-color:#D4AF37;}
.kj-bf-field-label input[type="file"]{padding:9px 0;color:#A89C84;font-size:13px;}

.kj-bf-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 28px;margin-bottom:28px;}
.kj-bf-checkbox-label{grid-column:1 / -1;font-family:'Inter',sans-serif;font-size:13px;color:#A89C84;}
.kj-bf-checkbox-label .wpcf7-list-item{margin:0;}
.kj-bf-checkbox-label label{display:flex;align-items:center;gap:10px;cursor:pointer;}
.kj-bf-checkbox-label input[type="checkbox"]{width:16px;height:16px;accent-color:#D4AF37;}
@media (max-width:560px){.kj-bf-contact-grid{grid-template-columns:1fr;}}

/* Review summary */
.kj-bf-review{margin:34px 0 28px;padding:22px 24px;border:1px solid rgba(212,175,55,0.14);background:rgba(212,175,55,0.03);}
.kj-bf-review .kj-eyebrow{margin-bottom:14px;}
.kj-bf-review-list{margin:0;display:grid;grid-template-columns:auto 1fr;gap:9px 16px;}
.kj-bf-review-list dt{font-family:'Inter',sans-serif;font-size:11px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:#8E826B;white-space:nowrap;}
.kj-bf-review-list dd{margin:0;font-family:'Inter',sans-serif;font-size:13px;color:#EDE6D8;}

/* Hidden but functional CF7 fields driving the custom UI */
.kj-bf-hidden-field{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;}

/* Inline validation message */
.kj-bf-step-error{display:none;margin:16px 0 0;font-family:'Inter',sans-serif;font-size:12.5px;color:#c96a5a;}
.kj-bf-step-error.is-visible{display:block;}

/* Step navigation */
.kj-bf-step-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:36px;}
.kj-bf-step-actions .kj-btn-gold,.kj-bf-step-actions .kj-btn-outline{border:none;font:inherit;}
.kj-bf-step-actions button.kj-btn-gold,.kj-bf-step-actions input.kj-btn-gold{font-family:'Inter',sans-serif;}
.kj-bf-step-actions .kj-bf-back-btn{border:1px solid rgba(212,175,55,0.5);background:transparent;}

@media (max-width:600px){
	.kj-bf-card-grid{grid-template-columns:repeat(2,1fr);}
	.kj-bf-step-actions{flex-direction:column-reverse;align-items:stretch;}
	.kj-bf-step-actions .kj-bf-next-btn,.kj-bf-step-actions .kj-bf-back-btn,.kj-bf-step-actions input.kj-btn-gold{width:100%;}
}
