/* ProstyNet — publiczny kalendarz dostępności i rezerwacja online.
   Zmienne z fallbackiem: dopasuje się automatycznie do palety motywu
   ProstyNet (var(--ink) itd.), a bez niego użyje sensownych domyślnych. */

.pn-booking-widget{
	background:var(--ink-2, #12212F);
	border:1px solid var(--line-light, rgba(11,22,32,0.14));
	border-radius:2px;
	overflow:hidden;
}
.pn-bw-grid{ display:grid; grid-template-columns:1fr 1fr; }
@media(max-width:820px){ .pn-bw-grid{ grid-template-columns:1fr; } }

.pn-bw-calendar-col{ padding:32px; border-right:1px solid var(--line-dark, rgba(241,239,230,0.14)); }
@media(max-width:820px){ .pn-bw-calendar-col{ border-right:none; border-bottom:1px solid var(--line-dark, rgba(241,239,230,0.14)); } }

.pn-bw-type-toggle{ display:flex; gap:8px; margin-bottom:22px; }
.pn-bw-type{
	flex:1; padding:10px; border:1px solid var(--line-dark, rgba(241,239,230,0.14));
	background:transparent; color:var(--steel-2, #8A929A);
	font-family:'Space Grotesk', sans-serif; font-size:12.5px; text-transform:uppercase; letter-spacing:0.03em;
	cursor:pointer; border-radius:2px;
}
.pn-bw-type.active{ background:var(--orange, #FF5A1F); color:var(--ink, #0B1620); border-color:var(--orange, #FF5A1F); }

.pn-bw-radio-group{ display:flex; gap:8px; }
.pn-bw-radio-btn{
	flex:1; padding:10px; border:1px solid var(--line-dark, rgba(241,239,230,0.14));
	background:rgba(241,239,230,0.04); color:var(--steel-2, #8A929A);
	font-family:'Inter', sans-serif; font-size:13px; cursor:pointer; border-radius:2px;
}
.pn-bw-radio-btn.active{ background:var(--ice, #8FD3E8); color:var(--ink, #0B1620); border-color:var(--ice, #8FD3E8); font-weight:600; }

.pn-bw-cal-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; }
.pn-bw-month-label{
	font-family:'Space Grotesk', sans-serif; font-size:15px; color:var(--paper, #F1EFE6);
	text-transform:uppercase; letter-spacing:0.03em;
}
.pn-bw-nav{
	background:transparent; border:1px solid var(--line-dark, rgba(241,239,230,0.14)); color:var(--paper, #F1EFE6);
	width:30px; height:30px; border-radius:2px; cursor:pointer; font-size:14px;
}
.pn-bw-nav:hover{ border-color:var(--ice, #8FD3E8); color:var(--ice, #8FD3E8); }

.pn-bw-weekdays{ display:grid; grid-template-columns:repeat(7,1fr); text-align:center; margin-bottom:6px; }
.pn-bw-weekdays span{ font-family:'JetBrains Mono', monospace; font-size:10.5px; color:var(--steel-2, #8A929A); text-transform:uppercase; }

.pn-bw-days{ display:grid; grid-template-columns:repeat(7,1fr); gap:4px; }
.pn-bw-day{
	aspect-ratio:1; border:none; border-radius:2px; font-family:'JetBrains Mono', monospace; font-size:12.5px;
	cursor:pointer; background:rgba(241,239,230,0.05); color:var(--steel-2, #8A929A);
}
.pn-bw-day--pad{ background:transparent; cursor:default; }
.pn-bw-day--past{ background:transparent; color:rgba(138,146,154,0.3); cursor:not-allowed; }
.pn-bw-day--free{ background:rgba(73,214,138,0.16); color:var(--green, #49D68A); }
.pn-bw-day--free:hover{ background:rgba(73,214,138,0.32); }
.pn-bw-day--full{ background:rgba(224,58,58,0.12); color:#e07a7a; cursor:not-allowed; }
.pn-bw-day:disabled{ opacity:1; }
.pn-bw-day--weekend{
	position:relative;
	cursor:not-allowed;
	background:rgba(138,146,154,0.22) !important;
	color:var(--steel-2, #8A929A) !important;
}
.pn-bw-day.is-range-start, .pn-bw-day.is-range-end{
	background:var(--orange, #FF5A1F) !important; color:var(--ink, #0B1620) !important; font-weight:700;
}
.pn-bw-day.is-in-range{ background:rgba(255,90,31,0.35) !important; color:var(--paper, #F1EFE6) !important; }

.pn-bw-legend{
	display:flex; gap:16px; margin-top:16px; font-family:'JetBrains Mono', monospace;
	font-size:11px; color:var(--steel-2, #8A929A); flex-wrap:wrap;
}
.pn-dot{ display:inline-block; width:8px; height:8px; border-radius:2px; margin-right:5px; vertical-align:middle; }
.pn-dot--free{ background:var(--green, #49D68A); }
.pn-dot--full{ background:#e07a7a; }
.pn-dot--weekend{ background:var(--steel-2, #8A929A); }
.pn-dot--selected{ background:var(--orange, #FF5A1F); }

.pn-bw-note{
	font-family:'Inter', sans-serif; font-size:12.5px; color:var(--steel-2, #8A929A);
	margin:10px 0 0; line-height:1.5;
}

.pn-bw-side-col{ padding:32px; display:flex; flex-direction:column; justify-content:center; }
.pn-bw-hint{ font-family:'Inter', sans-serif; font-size:14px; color:var(--steel-2, #8A929A); line-height:1.6; margin:0; }

.pn-bw-form{ display:flex; flex-direction:column; gap:16px; }
.pn-bw-price-block{ margin-bottom:6px; }
.pn-bw-price-label{
	display:block; font-family:'JetBrains Mono', monospace; font-size:11px;
	text-transform:uppercase; letter-spacing:0.06em; color:var(--steel-2, #8A929A);
}
.pn-bw-price{
	display:block; font-family:'Space Grotesk', sans-serif; font-size:34px; font-weight:700;
	color:var(--orange-dim, #C7431A); margin:4px 0;
}
.pn-bw-dates{ font-family:'JetBrains Mono', monospace; font-size:12px; color:var(--steel-2, #8A929A); }

.pn-bw-form .pn-field label{
	display:block; font-family:'JetBrains Mono', monospace; font-size:11px;
	text-transform:uppercase; letter-spacing:0.06em; color:var(--steel-2, #8A929A); margin-bottom:8px;
}
.pn-bw-form .pn-field input{
	width:100%; padding:11px 12px; border:1px solid var(--line-dark, rgba(241,239,230,0.14));
	background:rgba(241,239,230,0.04); color:var(--paper, #F1EFE6); border-radius:2px; font-size:14px; font-family:'Inter', sans-serif;
}
.pn-bw-form .pn-field input:focus{ outline:none; border-color:var(--ice, #8FD3E8); }

.pn-btn-primary{
	display:inline-flex; align-items:center; justify-content:center;
	background:var(--orange, #FF5A1F); color:var(--ink, #0B1620);
	font-family:'Space Grotesk', sans-serif; font-weight:600; font-size:13.5px;
	text-transform:uppercase; letter-spacing:0.04em; padding:12px 20px;
	border:none; border-radius:2px; cursor:pointer;
}
.pn-btn-primary:hover{ background:var(--orange-dim, #C7431A); }
.pn-btn-primary:disabled{ opacity:0.6; cursor:not-allowed; }

#pn-bw-form-message, #pn-completion-message{ font-size:13px; font-family:'Inter', sans-serif; color:var(--steel-2, #8A929A); }
#pn-bw-form-message.is-error, #pn-completion-message.is-error{ color:#ff9d9d; }

.pn-bw-success strong{
	font-family:'Space Grotesk', sans-serif; color:var(--green, #49D68A); font-size:16px;
	text-transform:uppercase; letter-spacing:0.03em;
}
.pn-bw-success p{ font-family:'Inter', sans-serif; color:var(--paper, #F1EFE6); font-size:14px; margin:8px 0 0; line-height:1.5; }

@media(max-width:600px){
	.pn-bw-calendar-col, .pn-bw-side-col{ padding:22px; }
}
