/* MedCare – Cennik badań laboratoryjnych (front-end) */

/* ---------- Lato (self-hosted, RODO-friendly) ---------- */
@font-face{
	font-family:'Lato';font-style:normal;font-weight:400;font-display:swap;
	src:url(../fonts/lato-400.woff2) format('woff2');
	unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
	font-family:'Lato';font-style:normal;font-weight:400;font-display:swap;
	src:url(../fonts/lato-400-ext.woff2) format('woff2');
	unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face{
	font-family:'Lato';font-style:normal;font-weight:700;font-display:swap;
	src:url(../fonts/lato-700.woff2) format('woff2');
	unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
	font-family:'Lato';font-style:normal;font-weight:700;font-display:swap;
	src:url(../fonts/lato-700-ext.woff2) format('woff2');
	unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* Zmienne motywu na KAŻDYM korzeniu wtyczki. KLUCZOWE: modal jest przenoszony
   JS-em do <body> (frontend.js → document.body.appendChild), czyli POZA .mcb-wrap.
   Gdyby zmienne były tylko na .mcb-wrap, po otwarciu okna var(--mcb-*) stają się
   niezdefiniowane i znikają wszystkie ramki/tła — jak w harmonogramie. */
.mcb-wrap,.mcb-modal,.mcb-btn{
	--mcb-gold:#C9C2AE;
	--mcb-gold-dark:#b7b09f;
	--mcb-dark:#2b2a26;
	--mcb-soft:#f5f3ee;
	--mcb-line:#e7e4dc;
	--mcb-text:#2b2a26;
	--mcb-muted:#6b675e;
}
.mcb-wrap{display:flex;flex-direction:column;align-items:center;gap:14px;}
.mcb-wrap,.mcb-btn,.mcb-modal,.mcb-modal *{
	font-family:"Lato",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
	box-sizing:border-box;
}

/* ---------- Przycisk ---------- */
.mcb-btn{
	display:inline-flex;align-items:center;justify-content:center;
	font-size:15px;line-height:1.2;font-weight:700;
	color:var(--mcb-dark);background:var(--mcb-gold);
	border:0;border-radius:8px;padding:14px 26px;cursor:pointer;
	box-shadow:0 2px 6px rgba(43,42,38,.12);
	transition:background .15s ease,transform .12s ease,box-shadow .15s ease;
	text-decoration:none;
}
.mcb-btn:hover{background:var(--mcb-gold-dark);transform:translateY(-1px);box-shadow:0 4px 12px rgba(43,42,38,.18);color:var(--mcb-dark);}
.mcb-btn:focus{color:var(--mcb-dark);background:var(--mcb-gold);outline:none;}
.mcb-btn:active{transform:translateY(0);}

/* ---------- Modal ---------- */
.mcb-modal{position:fixed;inset:0;z-index:99999;display:none;}
.mcb-modal.is-open{display:block;}
.mcb-modal__overlay{position:absolute;inset:0;background:rgba(28,27,24,.62);backdrop-filter:blur(2px);}
.mcb-modal__dialog{
	position:relative;display:flex;flex-direction:column;
	max-width:900px;width:calc(100% - 32px);height:calc(100vh - 56px);
	margin:28px auto;background:#fff;border-radius:14px;overflow:hidden;
	box-shadow:0 18px 60px rgba(43,42,38,.35);
	animation:mcb-pop .2s ease;
}
@keyframes mcb-pop{from{opacity:0;transform:translateY(12px) scale(.985);}to{opacity:1;transform:none;}}

/* Nagłówek z logo */
.mcb-head{
	display:flex;align-items:center;justify-content:space-between;gap:16px;
	background:var(--mcb-gold);color:var(--mcb-dark);padding:16px 22px;flex:0 0 auto;
}
.mcb-head__title h2{margin:0;font-size:19px;line-height:1.25;font-weight:700;letter-spacing:.2px;color:var(--mcb-dark);}
.mcb-head__title p{margin:3px 0 0;font-size:13px;color:#5f5a4e;letter-spacing:.4px;}
.mcb-head__logo{margin-right:34px;flex:0 0 auto;}        /* odstęp od krzyżyka, jak w harmonogramie */
.mcb-head__logo img{display:block;height:42px;width:auto;max-width:170px;}
.mcb-close{
	position:absolute;top:9px;right:13px;
	width:34px;height:34px;display:flex;align-items:center;justify-content:center;
	font-size:28px;line-height:1;color:var(--mcb-dark);background:transparent;border:0;cursor:pointer;
	padding:0;box-shadow:none;
	transition:opacity .15s;
}
.mcb-close:hover,.mcb-close:focus{opacity:.55;background:transparent;color:var(--mcb-dark);outline:none;}

/* Pasek narzędzi */
.mcb-tools{
	display:flex;flex-wrap:wrap;align-items:center;gap:10px;
	padding:14px 22px;border-bottom:1px solid var(--mcb-line);background:#fff;flex:0 0 auto;
}
.mcb-search{position:relative;flex:1 1 240px;}
.mcb-search__ico{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--mcb-muted);pointer-events:none;}
.mcb-search input[type="search"]{
	width:100%;font-size:15px;line-height:1.2;font-weight:400;color:var(--mcb-text);
	padding:11px 38px 11px 38px;border:1px solid var(--mcb-line);border-radius:9px;background:var(--mcb-soft);
	transition:border-color .15s,background .15s;
}
.mcb-search input[type="search"]:focus{outline:none;border-color:var(--mcb-gold-dark);background:#fff;box-shadow:none;}
.mcb-search__clear{
	position:absolute;right:8px;top:50%;transform:translateY(-50%);
	width:24px;height:24px;border:0;border-radius:50%;background:#e7e4dc;color:#5f5a4e;
	font-size:16px;line-height:1;cursor:pointer;display:none;align-items:center;justify-content:center;
	padding:0;box-shadow:none;
}
.mcb-search__clear:hover,.mcb-search__clear:focus{background:#ddd9cd;color:#5f5a4e;outline:none;}
.mcb-search input:not(:placeholder-shown) + .mcb-search__clear{display:flex;}
.mcb-select{
	font-size:14px;line-height:1.2;font-weight:400;color:var(--mcb-text);
	padding:10px 12px;border:1px solid var(--mcb-line);border-radius:9px;background:#fff;cursor:pointer;max-width:100%;
	/* Neutralizacja resetu Hello Elementor: select{width:100%;display:block} rozciągał
	   filtry na pełną szerokość i łamał pasek narzędzi. */
	width:auto;display:inline-block;flex:0 1 auto;
}
.mcb-select:focus{outline:none;border-color:var(--mcb-gold-dark);box-shadow:none;}

/* Ciało przewijane */
.mcb-body{flex:1 1 auto;overflow:auto;-webkit-overflow-scrolling:touch;padding:0 22px 8px;}
.mcb-count{font-size:13px;color:var(--mcb-muted);padding:10px 2px 6px;}
.mcb-count b{color:var(--mcb-dark);}

table.mcb-table{width:100%;border-collapse:separate;border-spacing:0;font-size:14px;margin:0;margin-block-end:0;border:0;}
/* Neutralizacja resetu Hello Elementor: pasiaste wiersze (nth-child odd) i tło hover
   na tabelach mają wyższą specyficzność niż zwykłe klasy — nadpisujemy wprost. */
table.mcb-table tbody>tr>td,
table.mcb-table tbody>tr:nth-child(odd)>td,
table.mcb-table tbody>tr:hover>td{background:transparent;}
table.mcb-table tbody>tr.mcb-grp>td,
table.mcb-table tbody>tr.mcb-grp:hover>td{background:#fff;}
table.mcb-table tbody>tr.mcb-row:hover>td{background:#fbfaf6;}
.mcb-table thead th{
	position:sticky;top:0;z-index:2;
	background:var(--mcb-soft);color:var(--mcb-dark);font-weight:700;text-align:left;
	padding:11px 12px;border:0;border-bottom:2px solid var(--mcb-gold);white-space:nowrap;
}
.mcb-table th.mcb-c-price,.mcb-table td.mcb-c-price{text-align:right;white-space:nowrap;}
.mcb-table th.mcb-c-time,.mcb-table td.mcb-c-time{text-align:center;white-space:nowrap;}
.mcb-table tbody td{padding:9px 12px;border:0;border-bottom:1px solid var(--mcb-line);vertical-align:middle;background:transparent;}
.mcb-table tbody tr.mcb-row:hover td{background:#fbfaf6;}
.mcb-c-name{font-weight:600;color:var(--mcb-dark);}
.mcb-c-name mark{background:rgba(201,194,174,.6);color:inherit;border-radius:3px;padding:0 1px;}
.mcb-subcat{display:block;font-weight:400;font-size:12px;color:var(--mcb-muted);margin-top:1px;}
.mcb-price{
	display:inline-block;background:var(--mcb-gold);color:var(--mcb-dark);
	font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;
	padding:3px 11px;border-radius:20px;font-size:13px;
}
.mcb-price small{font-weight:600;color:#5f5a4e;}
.mcb-time{color:var(--mcb-muted);}

/* Nagłówek kategorii w tabeli */
tr.mcb-grp td{
	background:#fff;border-bottom:0;padding:18px 2px 6px;position:sticky;top:42px;z-index:1;
}
tr.mcb-grp:first-child td{padding-top:6px;}
.mcb-grp__bar{
	display:flex;align-items:center;gap:10px;
	font-size:14px;line-height:1.2;font-weight:700;color:var(--mcb-dark);text-transform:uppercase;letter-spacing:.6px;
	padding:7px 12px;background:var(--mcb-soft);border-left:4px solid var(--mcb-gold);border-radius:0 7px 7px 0;
}
.mcb-grp__bar span:last-child{margin-left:auto;color:var(--mcb-muted);font-weight:700;letter-spacing:0;}

.mcb-empty{text-align:center;color:#8a857a;padding:46px 20px;font-size:15px;}
.mcb-foot{
	flex:0 0 auto;padding:11px 22px;border-top:1px solid var(--mcb-line);
	font-size:12px;color:var(--mcb-muted);background:#fbfaf6;text-align:center;line-height:1.5;
}

/* ---------- Mobile: karty zamiast tabeli ---------- */
@media (max-width:600px){
	.mcb-modal__dialog{height:calc(100vh - 20px);margin:10px auto;width:calc(100% - 16px);}
	.mcb-head{padding:14px 16px;}
	.mcb-head__logo img{height:34px;}
	.mcb-tools{padding:12px 14px;}
	.mcb-body{padding:0 12px 8px;}
	.mcb-table thead{display:none;}
	.mcb-table,.mcb-table tbody,.mcb-table tr,.mcb-table td{display:block;width:100%;}
	tr.mcb-grp{position:static;}
	tr.mcb-grp td{padding:16px 0 4px;position:static;}
	.mcb-table tbody tr.mcb-row{
		border:1px solid var(--mcb-line);border-radius:10px;margin:10px 0;padding:6px 4px;background:#fff;
	}
	.mcb-table tbody tr.mcb-row td{border:0;padding:5px 12px;display:flex;justify-content:space-between;gap:14px;align-items:center;}
	.mcb-table tbody tr.mcb-row td.mcb-c-name{display:block;font-size:15px;padding-bottom:8px;}
	.mcb-table tbody td.mcb-c-price::before,.mcb-table tbody td.mcb-c-time::before{
		content:attr(data-label);font-weight:700;color:var(--mcb-muted);font-size:12px;text-transform:uppercase;letter-spacing:.4px;
	}
}
