.kbv-reservation-widget{
position:relative;
z-index:20;
margin:-38px auto 20px;
padding:0 22px;
max-width:1380px;
font-family:Arial,sans-serif;
color:#fff;
}

.kbv-reservation-panel{
position:relative;
z-index:1000;
background:
radial-gradient(circle at 20% 0%,rgba(215,180,106,0.11),transparent 34%),
radial-gradient(circle at 85% 30%,rgba(42,92,27,0.25),transparent 42%),
linear-gradient(135deg,rgba(20,18,15,0.94),rgba(5,16,9,0.92));
border:1px solid rgba(215,180,106,0.16);
box-shadow:
0 28px 70px rgba(0,0,0,0.48),
0 0 48px rgba(42,92,27,0.22),
inset 0 1px 0 rgba(255,255,255,0.08);
backdrop-filter:blur(20px);
-webkit-backdrop-filter:blur(20px);
border-radius:30px;
padding:18px;
overflow:visible;
}

.kbv-reservation-fields{
position:relative;
z-index:20;
display:grid;
grid-template-columns:minmax(170px,1fr) minmax(170px,1fr) minmax(210px,1.18fr) minmax(210px,0.95fr);
gap:12px;
align-items:stretch;
}

.kbv-date-card,
.kbv-guest-card{
position:relative;
min-width:0;
height:136px;
border:0;
text-align:left;
color:#fff;
border-radius:22px;
background:
linear-gradient(145deg,rgba(255,255,255,0.06),rgba(255,255,255,0.018));
border:1px solid rgba(255,255,255,0.065);
padding:10px 20px;
overflow:hidden;
cursor:pointer;
transition:0.28s ease;
}

.kbv-date-card::before,
.kbv-guest-card::before{
content:"";
position:absolute;
inset:0;
background:linear-gradient(120deg,rgba(215,180,106,0.08),transparent 42%);
opacity:0;
transition:0.28s ease;
pointer-events:none;
}

.kbv-date-card:hover,
.kbv-guest-card:hover{
transform:translateY(-2px);
border-color:rgba(215,180,106,0.32);
box-shadow:0 18px 40px rgba(0,0,0,0.22);
}

.kbv-date-card:hover::before,
.kbv-guest-card:hover::before{
opacity:1;
}

.kbv-card-head{
display:flex;
align-items:center;
gap:10px;
font-size:14px;
font-weight:900;
color:#d7b46a;
margin-bottom:10px;
white-space:nowrap;
}

.kbv-icon{
width:28px;
height:28px;
object-fit:contain;
filter:brightness(0) saturate(100%) invert(77%) sepia(37%) saturate(621%) hue-rotate(357deg) brightness(91%) contrast(86%);
opacity:0.98;
flex-shrink:0;
}

.kbv-date-line{
display:flex;
align-items:flex-end;
gap:9px;
line-height:1;
}

.kbv-date-line strong{
font-size:48px;
font-weight:950;
letter-spacing:-2.4px;
line-height:0.88;
}

.kbv-date-line span{
display:block;
font-size:25px;
font-weight:950;
line-height:1;
}

.kbv-date-line small{
display:flex;
align-items:center;
gap:7px;
margin-top:5px;
font-size:12px;
font-style:normal;
color:rgba(255,255,255,0.72);
white-space:nowrap;
}

.kbv-date-line small b{
font-size:12px;
color:#fff;
}

.kbv-date-line small em{
font-style:normal;
}

.kbv-guest-card{
padding-right:42px;
}

.kbv-guest-summary strong{
display:block;
font-size:27px;
font-weight:950;
line-height:1.05;
letter-spacing:-0.8px;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
}

.kbv-guest-summary span{
display:block;
font-size:17px;
font-weight:900;
margin-top:3px;
}

.kbv-guest-summary small{
display:block;
font-size:12px;
color:rgba(255,255,255,0.62);
margin-top:5px;
}

.kbv-guest-arrow{
position:absolute;
right:22px;
top:50%;
transform:translateY(-50%);
font-size:24px;
line-height:1;
color:#d7b46a;
transition:0.25s ease;
}

.kbv-guest-card.active .kbv-guest-arrow{
transform:translateY(-50%) rotate(180deg);
}

.kbv-submit{
height:136px;
border:0;
border-radius:20px;
background:
linear-gradient(135deg,#2a5c1b,#3b842c);
color:#fff;
cursor:pointer;
display:flex;
align-items:center;
justify-content:center;
gap:13px;
box-shadow:
0 18px 40px rgba(42,92,27,0.38),
inset 0 1px 0 rgba(255,255,255,0.12);
transition:0.3s ease;
white-space:nowrap;
}

.kbv-submit:hover{
transform:translateY(-2px);
box-shadow:0 25px 55px rgba(42,92,27,0.52);
}

.kbv-submit-texts{
display:flex;
flex-direction:column;
align-items:flex-start;
line-height:1.05;
}

.kbv-submit-texts strong{
font-size:20px;
font-weight:950;
letter-spacing:-0.4px;
}

.kbv-submit-texts small{
margin-top:5px;
font-size:12px;
font-weight:800;
color:rgba(255,255,255,0.78);
letter-spacing:0.2px;
}

.kbv-submit-icon{
width:22px;
height:22px;
filter:brightness(0) invert(1);
}

.kbv-guest-popover,
.kbv-calendar-popover{
position:absolute;
z-index:9999;
top:calc(100% + 12px);
width:360px;
padding:18px;
border-radius:22px;

background:
radial-gradient(circle at 20% 0%,rgba(215,180,106,0.12),transparent 34%),
linear-gradient(
180deg,
rgba(16,16,16,0.96),
rgba(6,12,7,0.96)
);

border:1px solid rgba(215,180,106,0.18);

box-shadow:
0 38px 90px rgba(0,0,0,0.72),
0 0 0 1px rgba(215,180,106,0.12),
0 0 34px rgba(215,180,106,0.10),
0 0 90px rgba(42,92,27,0.22);

backdrop-filter:blur(22px);
-webkit-backdrop-filter:blur(22px);

overflow:hidden;

display:none;
}

.kbv-guest-popover.active,
.kbv-calendar-popover.active{
display:block;
animation:kbvPopover 0.22s ease;
}

@keyframes kbvPopover{
from{opacity:0;transform:translateY(-8px);}
to{opacity:1;transform:translateY(0);}
}

.kbv-counter-row{
display:grid;
grid-template-columns:1fr auto;
gap:16px;
align-items:center;
padding:4px 0;
}

.kbv-counter-row + .kbv-counter-row{
margin-top:13px;
padding-top:17px;
border-top:1px solid rgba(255,255,255,0.08);
}

.kbv-counter-row strong{
display:block;
font-size:15px;
font-weight:950;
color:#fff;
}

.kbv-counter-row small{
display:block;
font-size:12px;
color:rgba(255,255,255,0.62);
margin-top:4px;
}

.kbv-counter-controls{
display:flex;
align-items:center;
gap:12px;
}

.kbv-counter-controls button{
width:34px;
height:34px;
border-radius:12px;
border:1px solid rgba(215,180,106,0.42);
background:rgba(0,0,0,0.28);
color:#fff;
font-size:20px;
line-height:1;
cursor:pointer;
transition:0.25s ease;
}

.kbv-counter-controls button:hover{
background:rgba(42,92,27,0.62);
}

.kbv-counter-controls span{
min-width:22px;
text-align:center;
font-weight:950;
font-size:15px;
}

.kbv-child-ages{
display:flex;
gap:8px;
flex-wrap:wrap;
margin-top:16px;
}

.kbv-child-ages select{
height:34px;
border-radius:11px;
border:1px solid rgba(215,180,106,0.20);
background:rgba(0,0,0,0.34);
color:#fff;
padding:0 9px;
font-size:12px;
outline:none;
}

.kbv-calendar-head{
display:grid;
grid-template-columns:38px 1fr 38px;
align-items:center;
gap:10px;
margin-bottom:14px;
}

.kbv-calendar-head strong{
text-align:center;
font-size:16px;
font-weight:950;
color:#d7b46a;
}

.kbv-calendar-head button{
width:38px;
height:38px;
border-radius:12px;
border:1px solid rgba(215,180,106,0.24);
background:rgba(255,255,255,0.04);
color:#fff;
font-size:24px;
cursor:pointer;
}

.kbv-calendar-weekdays,
.kbv-calendar-days{
display:grid;
grid-template-columns:repeat(7,1fr);
gap:6px;
}

.kbv-calendar-weekdays span{
font-size:11px;
text-align:center;
color:rgba(255,255,255,0.52);
font-weight:800;
padding:7px 0;
}

.kbv-calendar-day{
height:38px;
border:0;
border-radius:11px;
background:rgba(255,255,255,0.045);
color:#fff;
font-weight:900;
cursor:pointer;
transition:0.2s ease;
}

.kbv-calendar-day:hover{
background:rgba(42,92,27,0.55);
}

.kbv-calendar-day.is-disabled,
.kbv-calendar-day.is-empty{
opacity:0.24;
cursor:not-allowed;
}

.kbv-calendar-day.is-selected{
background:#2a5c1b;
box-shadow:0 0 0 1px rgba(215,180,106,0.38) inset;
}

.kbv-calendar-day.is-range{
background:rgba(215,180,106,0.15);
}

.kbv-calendar-note{
margin-top:13px;
font-size:12px;
color:rgba(255,255,255,0.62);
text-align:center;
}

.kbv-reservation-benefits{
position:relative;
z-index:1;
margin-top:16px;
display:grid;
grid-template-columns:repeat(3,1fr);
gap:14px;
background:rgba(7,7,7,0.72);
border:1px solid rgba(255,255,255,0.08);
border-radius:24px;
padding:18px 22px;
box-shadow:0 18px 50px rgba(0,0,0,0.28);
}

.kbv-reservation-benefits div{
display:flex;
align-items:center;
justify-content:center;
gap:12px;
min-width:0;
}

.kbv-reservation-benefits img{
width:26px;
height:26px;
filter:brightness(0) saturate(100%) invert(77%) sepia(37%) saturate(621%) hue-rotate(357deg) brightness(91%) contrast(86%);
}

.kbv-reservation-benefits strong{
font-size:14px;
font-weight:900;
white-space:nowrap;
}

/* =========================================================
RESPONSIVE GLOBAL SCALE
Tasarımı bozmadan tüm rezervasyon widgetini ekran genişliğine göre küçültür.
========================================================= */

@media(max-width:1200px){

.kbv-reservation-widget{
zoom:0.90;
}

}

@media(max-width:992px){

.kbv-reservation-widget{
zoom:0.80;
}

}

@media(max-width:768px){

.kbv-reservation-widget{
zoom:0.75;
}

}

@media(max-width:640px){

.kbv-reservation-widget{
zoom:0.70;
}
.kbv-calendar-popover{
transform:scale(1.12);
transform-origin:top left;
}
}


@media(max-width:480px){

.kbv-reservation-widget{
zoom:0.55;
}

}


@media(max-width:640px){

.kbv-reservation-fields{
grid-template-columns:1fr 1fr 1fr;
}

.kbv-submit{
grid-column:1 / -1;
width:100%;
height:52px;
margin-top:8px;
}

}

.kbv-reservation-benefits .kbv-reservation-payment-icons{
  margin-top:0;
}

.kbv-reservation-benefits .kbv-reservation-payment-icons img{
  height:26px;
  width:auto;
  filter:none !important;
}

.kbv-reservation-payment-icons{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  flex-wrap:wrap;
  margin-top:10px;
}

.kbv-reservation-payment-icons img{
  display:block;
  height:26px;
  width:auto;
  max-width:100%;
  object-fit:contain;
  filter:none !important;
  flex:0 0 auto;
}
}
