/**
 * Vrteška Booking — javni stilovi.
 *
 * Paleta je preuzeta iz originalnog mockup-a (pink/yellow/blue/green/navy/cream).
 *
 * NAPOMENA O IKONICAMA U POLJIMA:
 * Da bi ikonice u input poljima izgledale kao na referentnoj slici, markup
 * svakog polja treba da izgleda ovako (wrapper .vrt-field-icon oko input-a):
 *
 * <div class="vrt-field">
 *   <label for="ime">Ime roditelja</label>
 *   <div class="vrt-field-icon">
 *     <span class="vrt-icon">👤</span>
 *     <input type="text" id="ime" name="ime" placeholder="Ime i prezime">
 *   </div>
 * </div>
 *
 * Umesto emoji-ja u <span class="vrt-icon"> možeš staviti SVG ili icon-font
 * klasu (npr. Font Awesome <i class="fas fa-user">) — CSS ispod radi sa oba.
 */
:root{
	--vrt-pink:#FF4D8D;
	--vrt-pink-deep:#E63E76;
	--vrt-pink-soft:#FFE3EC;
	--vrt-yellow:#FFC845;
	--vrt-yellow-soft:#FFF3D6;
	--vrt-blue:#35A7E8;
	--vrt-blue-soft:#DDEEFB;
	--vrt-green:#4CAF6D;
	--vrt-green-soft:#DCF3E4;
	--vrt-purple:#7B5EF0;
	--vrt-purple-soft:#EAE4FD;
	--vrt-navy:#1B2540;
	--vrt-navy-soft:#4b5570;
	--vrt-cream:#FFF8EF;
	--vrt-border:rgba(27,37,64,.10);
	--vrt-radius:18px;
	--vrt-radius-sm:12px;
}

.vrt-scope{
	font-family:'Inter',sans-serif;
	color:var(--vrt-navy);
	line-height:1.6;
	box-sizing:border-box;
}
.vrt-scope *,.vrt-scope *::before,.vrt-scope *::after{box-sizing:border-box;}
/* KLJUČNO za responsive: grid/flex stavke (dani u kalendaru, polja forme,
   slotovi...) po difoltu imaju min-width:auto, što znači da ne mogu da se
   smanje ispod "prirodne" (min-content) širine svog sadržaja — čak i kad im
   je kolona uža. Zato spoljni kontejner izgleda responsive, a deca unutra
   deluju kao da "ne reaguju" (ili čak proizvode horizontalni overflow).
   min-width:0 to rešava za sve elemente unutar widgeta. */
.vrt-scope *{min-width:0;}
.vrt-scope img,.vrt-scope svg{max-width:100%;height:auto;}
.vrt-scope h1,.vrt-scope h2,.vrt-scope h3,.vrt-scope h4{
	font-family:'Sora',sans-serif;margin:0 0 .4em;letter-spacing:-.01em;
}
.vrt-scope button{font-family:inherit;cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none;margin:0;}
.vrt-mono{font-family:'JetBrains Mono',monospace;}

/* ===================================================================
   Booking blok — shortcode [vrteska_booking] i landing template deo
   =================================================================== */
.vrt-booking{
	background:#fff;
	border:1px solid var(--vrt-border);
	border-radius:28px;
	padding:44px;
	box-shadow:0 30px 70px -40px rgba(27,37,64,.25);
}
.vrt-booking-head{max-width:640px;margin:0 auto 40px;text-align:center;}
.vrt-booking-head h2{font-size:2.1rem;color:var(--vrt-navy);font-weight:800;}
.vrt-booking-head p{color:#8a92a8;margin:0;font-size:1.02rem;}

.vrt-booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start;}

/* ---- Kalendar ---- */
.vrt-calendar-card{
	background:#fdfdfd;
	border:1px solid var(--vrt-border);
	border-radius:var(--vrt-radius);
	padding:24px;
}
.vrt-cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;}
.vrt-cal-head h4{margin:0;font-size:1.2rem;font-weight:700;color:var(--vrt-navy);}
.vrt-cal-nav-btn{
	width:44px;height:44px;border-radius:12px;
	border:1px solid var(--vrt-border);background:#F6F7FA;font-size:1.1rem;
	display:flex;align-items:center;justify-content:center;color:var(--vrt-navy);
	transition:background .15s, transform .15s;
}
.vrt-cal-nav-btn:hover{background:var(--vrt-pink-soft);color:var(--vrt-pink);}
.vrt-cal-nav-btn:disabled{opacity:.4;cursor:not-allowed;}
.vrt-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;text-align:center;}
.vrt-cal-dow{font-size:.78rem;color:#8a92a8;font-weight:600;padding-bottom:8px;}
.vrt-cal-day{
	position:relative;aspect-ratio:1/1;width:100%;
	display:flex;align-items:center;justify-content:center;
	border-radius:12px;font-size:.92rem;font-weight:600;
	font-family:'Inter',sans-serif;
	background:#F6F7FA;border:none;color:#b7bccb;
	padding:0;
}
.vrt-cal-day.vrt-empty{visibility:hidden;background:transparent;}
.vrt-cal-day.vrt-avail{background:var(--vrt-green-soft);color:#2c6b41;cursor:pointer;}
.vrt-cal-day.vrt-avail:hover{background:var(--vrt-green);color:#fff;}
.vrt-cal-day.vrt-today.vrt-avail{color:var(--vrt-green);font-weight:800;box-shadow:inset 0 0 0 2px rgba(76,175,109,.35);}
.vrt-cal-day.vrt-past,
.vrt-cal-day.vrt-full{background:#F1EFE9;color:#c3c8d6;cursor:not-allowed;}
.vrt-cal-day.vrt-selected{background:var(--vrt-pink)!important;color:#fff!important;box-shadow:none!important;}
.vrt-cal-day.vrt-loading{background:#F1EFE9;color:#c9cddb;cursor:wait;}
.vrt-cal-legend{display:flex;gap:18px;margin-top:18px;font-size:.82rem;color:#5a6280;flex-wrap:wrap;}
.vrt-cal-legend span{display:inline-flex;align-items:center;gap:7px;}
.vrt-dot{width:10px;height:10px;border-radius:50%;display:inline-block;}
.vrt-dot.a{background:var(--vrt-green);} .vrt-dot.f{background:#cfd3de;} .vrt-dot.s{background:var(--vrt-pink);}

/* ---- Panel sa slotovima i formom ---- */
.vrt-booking-panel{
	background:transparent;
	border:1px solid var(--vrt-border);
	border-radius:var(--vrt-radius);
	padding:28px;
}
.vrt-booking-panel h4{font-size:1.2rem;margin-bottom:4px;color:var(--vrt-navy);font-weight:700;}
.vrt-sel-date{font-family:'JetBrains Mono',monospace;color:var(--vrt-pink);font-size:.88rem;margin-bottom:20px;font-weight:600;}
.vrt-select-prompt{
	color:var(--vrt-pink);font-size:.92rem;font-weight:600;margin:0 0 20px;
	display:inline-flex;align-items:center;gap:6px;
}
.vrt-slots{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:20px;}
.vrt-slot{
	padding:11px 8px;border-radius:var(--vrt-radius-sm);
	border:1px solid var(--vrt-border);background:#fff;color:var(--vrt-navy);
	font-family:'JetBrains Mono',monospace;font-size:.82rem;text-align:center;
	transition:.15s;display:flex;flex-direction:column;gap:2px;
}
.vrt-slot:hover:not(:disabled){border-color:var(--vrt-yellow);background:var(--vrt-yellow-soft);}
.vrt-slot .vrt-slot-price{font-size:.72rem;color:#8a92a8;font-weight:500;}
.vrt-slot.vrt-taken{opacity:.45;cursor:not-allowed;text-decoration:line-through;background:#F1EFE9;}
.vrt-slot.vrt-chosen{background:var(--vrt-pink);border-color:var(--vrt-pink);color:#fff;}
.vrt-slot.vrt-chosen .vrt-slot-price{color:rgba(255,255,255,.85);}
.vrt-slots-empty{grid-column:1/-1;font-size:.85rem;color:#8a92a8;text-align:center;padding:14px 0;}

/* ---- Forma ---- */
.vrt-form{display:grid;gap:16px;}
.vrt-form-row{display:grid;gap:16px;}
.vrt-form-row.vrt-cols-2{grid-template-columns:1fr 1fr;}
.vrt-field label{
	display:block;font-size:.82rem;font-weight:600;color:var(--vrt-navy-soft);
	margin-bottom:6px;
}

/* Wrapper koji nosi ikonicu unutar input polja */
.vrt-field-icon{position:relative;display:flex;align-items:center;}
.vrt-field-icon .vrt-icon{
	position:absolute;left:13px;display:flex;align-items:center;justify-content:center;
	color:#a7aec2;font-size:1rem;pointer-events:none;line-height:1;
}
.vrt-field-icon input,
.vrt-field-icon select,
.vrt-field-icon textarea{padding-left:40px!important;}

.vrt-field input[type=text],
.vrt-field input[type=email],
.vrt-field input[type=tel],
.vrt-field input[type=date],
.vrt-field input[type=number],
.vrt-field select,
.vrt-field textarea{
	width:100%;padding:12px 14px;border-radius:var(--vrt-radius-sm);
	border:1px solid var(--vrt-border);background:#fff;color:var(--vrt-navy);
	font-family:'Inter',sans-serif;font-size:.92rem;
}
.vrt-field textarea{resize:vertical;min-height:70px;}
.vrt-field input::placeholder,.vrt-field textarea::placeholder{color:#a7aec2;}
.vrt-field input:focus,.vrt-field select:focus,.vrt-field textarea:focus,
.vrt-slot:focus-visible,.vrt-cal-day:focus-visible{
	outline:none;border-color:var(--vrt-pink);box-shadow:0 0 0 3px var(--vrt-pink-soft);
}

/* Honeypot anti-spam polje — sakriveno vizuelno, ali dostupno botovima */
.vrt-hp-field{position:absolute!important;left:-9999px!important;top:-9999px!important;height:0;width:0;overflow:hidden;}

/* ---- Dodatne usluge — multi-select dropdown ---- */
.vrt-addons-dropdown{position:relative;}
.vrt-addons-toggle{
	width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;
	padding:12px 14px 12px 40px;border-radius:var(--vrt-radius-sm);position:relative;
	border:1px solid var(--vrt-border);background:#fff;color:var(--vrt-navy);
	font-family:'Inter',sans-serif;font-size:.92rem;text-align:left;
}
.vrt-addons-toggle::before{
	content:'✨';position:absolute;left:13px;color:#a7aec2;font-size:1rem;
}
.vrt-addons-toggle:hover{border-color:var(--vrt-purple);}
.vrt-addons-toggle[aria-expanded="true"]{border-color:var(--vrt-purple);box-shadow:0 0 0 3px var(--vrt-purple-soft);}
.vrt-addons-toggle-label-empty{color:#a7aec2;}
.vrt-addons-toggle-arrow{color:#8a92a8;font-size:.8rem;transition:transform .15s;flex-shrink:0;}
.vrt-addons-toggle[aria-expanded="true"] .vrt-addons-toggle-arrow{transform:rotate(180deg);}
.vrt-addons-panel{
	position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:20;
	background:#fff;border:1px solid var(--vrt-border);border-radius:var(--vrt-radius-sm);
	box-shadow:0 20px 40px -16px rgba(27,37,64,.28);
	padding:8px;display:grid;gap:4px;max-height:280px;overflow-y:auto;
}
.vrt-addons-panel[hidden]{display:none;}
.vrt-addon-option{
	display:flex;align-items:center;gap:10px;
	padding:9px 10px;border-radius:8px;cursor:pointer;transition:background .1s;
}
.vrt-addon-option:hover{background:var(--vrt-cream);}
.vrt-addon-option input[type=checkbox]{
	width:18px;height:18px;accent-color:var(--vrt-purple);flex-shrink:0;
}
.vrt-addon-option .vrt-addon-icon{font-size:1.1rem;flex-shrink:0;}
.vrt-addon-option .vrt-addon-body{flex:1;min-width:0;}
.vrt-addon-option .vrt-addon-name{font-weight:600;font-size:.87rem;color:var(--vrt-navy);display:block;}
.vrt-addon-option .vrt-addon-desc{font-size:.74rem;color:#8a92a8;display:block;}
.vrt-addon-option .vrt-addon-price{
	font-family:'JetBrains Mono',monospace;font-size:.8rem;font-weight:600;
	color:var(--vrt-navy);white-space:nowrap;flex-shrink:0;
}
.vrt-addons-empty{padding:10px;font-size:.82rem;color:#8a92a8;text-align:center;}

/* ---- Tag/napomena polje (ikonica u obliku tag-a, poslednje polje na slici) ---- */
.vrt-field-icon.vrt-tag-field input{padding-left:40px!important;}
.vrt-field-icon.vrt-tag-field .vrt-icon{content:'🏷️';}

/* ---- Cenovni pregled ---- */
.vrt-price-summary{
	background:#fff;border:1px solid var(--vrt-border);border-radius:var(--vrt-radius-sm);
	padding:16px;margin:6px 0 4px;font-size:.85rem;
}
.vrt-price-row{display:flex;justify-content:space-between;padding:4px 0;color:var(--vrt-navy-soft);}
.vrt-price-row.vrt-discount{color:var(--vrt-green);}
.vrt-price-row.vrt-total{
	border-top:1px dashed var(--vrt-border);margin-top:8px;padding-top:10px;
	font-size:1.05rem;font-weight:700;color:var(--vrt-navy);
}
.vrt-price-row.vrt-total .vrt-mono{color:var(--vrt-pink);}
.vrt-discount-badge{
	display:inline-block;background:var(--vrt-green-soft);color:var(--vrt-green);
	font-size:.72rem;font-weight:700;padding:2px 8px;border-radius:999px;margin-left:6px;
}

/* ---- Dugmad ---- */
.vrt-btn{
	display:inline-flex;align-items:center;justify-content:center;gap:8px;
	padding:16px 26px;border-radius:999px;font-weight:700;font-size:1rem;
	border:none;transition:transform .15s, box-shadow .15s, opacity .15s;
}
.vrt-btn-primary{
	background:linear-gradient(135deg, var(--vrt-pink) 0%, var(--vrt-pink-deep) 100%);
	color:#fff;
	box-shadow:0 14px 28px -10px rgba(255,77,141,.55);width:100%;
}
.vrt-btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 18px 32px -10px rgba(255,77,141,.65);}
.vrt-btn-primary:disabled{opacity:.55;cursor:not-allowed;transform:none;}
.vrt-btn-primary .vrt-btn-arrow{transition:transform .15s;}
.vrt-btn-primary:hover:not(:disabled) .vrt-btn-arrow{transform:translateX(3px);}
.vrt-form-note{font-size:.8rem;color:#a7aec2;margin-top:10px;text-align:center;display:flex;align-items:center;justify-content:center;gap:6px;}

/* ---- Poruke ---- */
.vrt-alert{
	padding:12px 14px;border-radius:var(--vrt-radius-sm);font-size:.86rem;margin-bottom:12px;
	display:none;
}
.vrt-alert.vrt-show{display:block;}
.vrt-alert-success{background:var(--vrt-green-soft);color:#2c6b41;border:1px solid rgba(76,175,109,.3);}
.vrt-alert-error{background:var(--vrt-pink-soft);color:#a51e50;border:1px solid rgba(255,77,141,.3);}

/* ---- Uspešna potvrda (zamenjuje formu nakon submit-a) ---- */
.vrt-success-box{text-align:center;padding:20px 8px;}
.vrt-success-icon{font-size:2.6rem;margin-bottom:10px;}
.vrt-success-box h4{font-size:1.15rem;margin-bottom:8px;}
.vrt-success-ref{
	font-family:'JetBrains Mono',monospace;background:#fff;border:1px solid var(--vrt-border);
	display:inline-block;padding:8px 16px;border-radius:999px;margin:8px 0 16px;font-weight:600;
}

/* ===================================================================
   Responsive
   =================================================================== */
@media (max-width: 880px){
	.vrt-booking{padding:26px 18px;border-radius:20px;}
	.vrt-booking-grid{grid-template-columns:1fr;}
	.vrt-form-row.vrt-cols-2{grid-template-columns:1fr;}
}
@media (max-width: 600px){
	.vrt-booking{padding:20px 14px;border-radius:16px;}
	.vrt-booking-head{margin-bottom:28px;}
	.vrt-booking-head h2{font-size:1.5rem;}
	.vrt-booking-head p{font-size:.92rem;}
	.vrt-calendar-card,.vrt-booking-panel{padding:16px;}
	.vrt-cal-head h4{font-size:1.02rem;}
	.vrt-cal-nav-btn{width:38px;height:38px;font-size:1rem;}
	.vrt-cal-grid{gap:5px;}
	.vrt-cal-day{font-size:.82rem;border-radius:9px;}
	.vrt-cal-legend{gap:12px;font-size:.76rem;}
	.vrt-slots{grid-template-columns:1fr 1fr;gap:6px;}
	.vrt-btn{padding:14px 20px;font-size:.95rem;}
}
@media (max-width: 380px){
	.vrt-slots{grid-template-columns:1fr;}
	.vrt-cal-nav-btn{width:34px;height:34px;font-size:.92rem;}
}
