/* RBC Regimen Embed — FULL-WIDTH (no outer frame) + per-day toggle & checkbox */
.rbc-re{
	--rbc-re-text:#0c3d3f;
	--rbc-re-muted:rgba(12,61,63,.72);
	--rbc-re-border:rgba(12,61,63,.18);
	--rbc-re-card:rgba(12,61,63,.02);

	/* IMPORTANT: no frame / no box */
	border:0 !important;
	border-radius:0 !important;
	box-shadow:none !important;
	background:transparent !important;
	margin:0 !important;
	padding:0 !important;
	width:100%;
	max-width:none;
}

.rbc-re__header{
	padding:0 0 10px;
	margin:0 0 10px;
	border-bottom:1px solid var(--rbc-re-border);
}

.rbc-re__title{
	margin:0 0 6px;
	color:var(--rbc-re-text);
	font-weight:600;
	line-height:1.2;
}

.rbc-re__hint{
	margin:0;
	color:var(--rbc-re-muted);
	font-size:.92em;
}

.rbc-re__content{
	padding:0;
	color:var(--rbc-re-text);
}

.rbc-re__content p,
.rbc-re__content li{ color:var(--rbc-re-text); }

.rbc-re__content h3,
.rbc-re__content h4{
	color:var(--rbc-re-text);
	margin:18px 0 10px;
	font-weight:600;
}

/* Day card (toggle) */
.rbc-re-day{
	border:1px solid var(--rbc-re-border);
	border-radius:14px;
	background:var(--rbc-re-card);
	margin:14px 0;
	overflow:hidden;
}

.rbc-re-day__head{
	display:flex; align-items:center; justify-content:space-between;
	gap:12px; padding:10px 12px;
	text-decoration:none; color:var(--rbc-re-text);
	cursor:pointer;
}

.rbc-re-day__left{ display:flex; flex-direction:column; gap:2px; min-width:0; }
.rbc-re-day__label{ font-weight:600; white-space:nowrap; }
.rbc-re-day__meta{
	color:var(--rbc-re-muted); font-size:.9em;
	overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}

.rbc-re-day__right{ display:flex; align-items:center; gap:10px; flex:0 0 auto; }

.rbc-re-day__check{ display:inline-flex; align-items:center; gap:8px; cursor:pointer; user-select:none; }
.rbc-re-day__check input{ width:20px; height:20px; margin:0; }

.rbc-re-day__badge{
	padding:4px 10px; border:1px solid var(--rbc-re-border);
	border-radius:999px; font-size:.85em; color:var(--rbc-re-muted);
}

.rbc-re-day__caret{
	width:28px; height:28px; border-radius:999px;
	border:1px solid var(--rbc-re-border);
	display:inline-flex; align-items:center; justify-content:center;
	position:relative;
}

.rbc-re-day__caret::before,.rbc-re-day__caret::after{
	content:""; position:absolute; background:var(--rbc-re-text); border-radius:2px;
}
.rbc-re-day__caret::before{ width:12px; height:2px; }
.rbc-re-day__caret::after{ width:2px; height:12px; transition:transform 180ms ease; }
.rbc-re-day.is-open .rbc-re-day__caret::after{ transform:scaleY(0); }

.rbc-re-day__panel{ border-top:1px solid var(--rbc-re-border); padding:12px; }
.rbc-re-day.is-done .rbc-re-day__badge{ color:var(--rbc-re-text); }


/* Requested: numbered list font-size (override theme) */
.rbc-re .rbc-re__content ol,
.rbc-re .rbc-re__content ol > li,
.rbc-re .rbc-re-day__panel ol,
.rbc-re .rbc-re-day__panel ol > li{
	font-size: var(--rbc-re-font-size, 14px) !important;
	line-height:1.45 !important;
}


/* Typography reset: don't inherit theme "ALL CAPS", spacing etc. Use Montserrat */
.rbc-re,
.rbc-re *{
	font-family: "Montserrat", sans-serif !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	font-variant: normal !important;
}

/* Ensure headings keep natural casing too */
.rbc-re__title,
.rbc-re__content h2,
.rbc-re__content h3,
.rbc-re__content h4,
.rbc-re__content h5,
.rbc-re-day__label{
	text-transform:none !important;
	letter-spacing:normal !important;
}


/* Base font size */
.rbc-re,
.rbc-re .rbc-re__content,
.rbc-re .rbc-re-day__panel{
	font-size: var(--rbc-re-font-size, 14px) !important;
	line-height:1.55 !important;
}



/* Hide regimen title (CPT title) */
.rbc-re__title{display:none !important;}

.rbc-re__header{padding-top:0 !important;}

/* Font size controls (+ / -) */
.rbc-re__controls{
	display:flex;
	gap:8px;
	align-items:center;
	justify-content:flex-end;
	margin-top:10px;
}
.rbc-re__font-btn{
	width:34px;
	height:34px;
	border-radius:10px;
	border:1px solid var(--rbc-re-border);
	background:transparent;
	color:#ffffff;
	font-size:18px;
	line-height:1;
	cursor:pointer;
}
.rbc-re__font-btn:active{ transform:scale(.98); }

/* Force white +/- (override theme button styles) */
.rbc-re .rbc-re__font-btn,
.rbc-re .rbc-re__font-btn:visited,
.rbc-re .rbc-re__font-btn:hover,
.rbc-re .rbc-re__font-btn:active,
.rbc-re .rbc-re__font-btn:focus{
	color:#ffffff !important;
	-webkit-text-fill-color:#ffffff !important;
	opacity:1 !important;
	filter:none !important;
}


/* === Glass / Purple UI Skin (mobile-first) === */
.rbc-re{
	--rbc-glass-bg: rgba(255,255,255,.16);
	--rbc-glass-bg-2: rgba(255,255,255,.10);
	--rbc-glass-border: rgba(255,255,255,.28);
	--rbc-shadow: 0 12px 30px rgba(20, 12, 40, .18);
	--rbc-shadow-soft: 0 8px 22px rgba(20, 12, 40, .12);
	--rbc-purple-1: #8f63ff;
	--rbc-purple-2: #6f3ef6;
	--rbc-purple-3: #4c2fbf;
	--rbc-text: rgba(255,255,255,.92);
	--rbc-text-soft: rgba(255,255,255,.72);
	--rbc-text-dark: rgba(25, 18, 45, .86);
	--rbc-radius-xl: 22px;
	--rbc-radius-lg: 18px;
	--rbc-radius-md: 14px;
	--rbc-border: 1px solid var(--rbc-glass-border);

	color: var(--rbc-text);
}

/* Header "info" card */
.rbc-re__header{
	background: var(--rbc-glass-bg);
	border: var(--rbc-border);
	border-radius: var(--rbc-radius-xl);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	box-shadow: var(--rbc-shadow-soft);
	padding: 14px 14px 12px !important;
	margin-bottom: 14px;
}

/* Hint text */
.rbc-re__hint{
	color: var(--rbc-text) !important;
	opacity: .95;
	font-size: 14px;
	line-height: 1.45;
}

/* Font size controls (+/-) */
.rbc-re__controls{
	margin-top: 12px;
}
.rbc-re .rbc-re__font-btn{
	background: linear-gradient(180deg, rgba(143,99,255,.85), rgba(111,62,246,.85)) !important;
	border: 1px solid rgba(255,255,255,.22) !important;
	box-shadow: 0 10px 20px rgba(80, 40, 170, .20) !important;
}

/* Day cards */
.rbc-re-day{
	background: var(--rbc-glass-bg-2);
	border: var(--rbc-border);
	border-radius: var(--rbc-radius-xl);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	box-shadow: var(--rbc-shadow);
	overflow: hidden;
	margin: 12px 0;
}

/* Day head row */
.rbc-re-day__head{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap: 12px;
	padding: 14px 14px;
	text-decoration:none;
	color: inherit;
}

/* Left */
.rbc-re-day__label{
	font-size: 18px;
	line-height: 1.1;
	font-weight: 600;
	color: var(--rbc-text);
}
.rbc-re-day__meta{
	margin-top: 4px;
	font-size: 14px;
	color: var(--rbc-text-soft);
}

/* Right: pill + plus button */
.rbc-re-day__right{
	display:flex;
	align-items:center;
	gap: 10px;
}

/* "Маркирай" pill */
.rbc-re-day__check{
	display:flex;
	align-items:center;
	gap: 10px;
	padding: 10px 14px;
	border-radius: 999px;
	background: rgba(255,255,255,.14);
	border: 1px solid rgba(255,255,255,.22);
}
.rbc-re-day__check input{
	appearance:none;
	-webkit-appearance:none;
	width: 22px;
	height: 22px;
	border-radius: 8px;
	background: rgba(255,255,255,.14);
	border: 1px solid rgba(255,255,255,.32);
	position: relative;
}
.rbc-re-day__check input:checked{
	background: linear-gradient(180deg, var(--rbc-purple-1), var(--rbc-purple-2));
	border-color: rgba(255,255,255,.25);
}
.rbc-re-day__check input:checked::after{
	content:'✓';
	position:absolute;
	inset: 0;
	display:flex;
	align-items:center;
	justify-content:center;
	color:#fff;
	font-size: 15px;
	font-weight: 700;
}
.rbc-re-day__badge{
	color: #fff;
	font-weight: 600;
	font-size: 15px;
	white-space: nowrap;
}

/* Plus / minus circle */
.rbc-re-day__caret{
	width: 42px;
	height: 42px;
	border-radius: 999px;
	background: linear-gradient(180deg, rgba(143,99,255,.85), rgba(111,62,246,.85));
	border: 1px solid rgba(255,255,255,.20);
	box-shadow: 0 10px 20px rgba(80, 40, 170, .20);
	display:flex;
	align-items:center;
	justify-content:center;
	position: relative;
	color: #fff;
	-webkit-text-fill-color: #fff;
}
.rbc-re-day__caret::before{
	content:'+';
	font-size: 26px;
	line-height: 1;
	font-weight: 500;
}
.rbc-re-day.is-open .rbc-re-day__caret::before{
	content:'−';
}

/* Panel */
.rbc-re-day__panel{
	padding: 10px 14px 14px;
	border-top: 1px solid rgba(255,255,255,.16);
	color: rgba(255,255,255,.90);
}

/* Content typography inside panel */
.rbc-re-day__panel h2,
.rbc-re-day__panel h3,
.rbc-re-day__panel h4{
	color: rgba(255,255,255,.95);
	margin: 10px 0 8px;
}
/* Mobile tightening */
@media (max-width: 420px){
	.rbc-re-day__label{ font-size: 17px; }
	.rbc-re-day__badge{ font-size: 14px; }
	.rbc-re-day__caret{ width: 40px; height: 40px; }
}


/* === Fix: Black text in header + day cards, visible checkbox, single plus icon === */

/* Top info card text should be black */
.rbc-re__header,
.rbc-re__header *{
	color: rgba(20,18,45,.92) !important;
	text-shadow: none !important;
}

/* Day title + meta black */
.rbc-re-day__label{ color: rgba(20,18,45,.92) !important; }
.rbc-re-day__meta{ color: rgba(20,18,45,.68) !important; }

/* Panel default text (allow styled text to override) */
.rbc-re-day__panel{ color: rgba(20,18,45,.90) !important; }
/* Make the day card glass a bit lighter so black text has contrast */
.rbc-re-day{
	background: rgba(255,255,255,.42) !important;
	border: 1px solid rgba(255,255,255,.55) !important;
}

/* Panel background */
.rbc-re-day__panel{
	background: rgba(255,255,255,.35) !important;
}

/* Checkbox visibility (was too white on white) */
.rbc-re-day__check{
	background: rgba(255,255,255,.55) !important;
	border: 1px solid rgba(120,80,220,.25) !important;
}
.rbc-re-day__check input{
	background: rgba(255,255,255,.95) !important;
	border: 1px solid rgba(120,80,220,.45) !important;
}
.rbc-re-day__check input:checked{
	background: linear-gradient(180deg, var(--rbc-purple-1), var(--rbc-purple-2)) !important;
	border-color: rgba(120,80,220,.25) !important;
}

/* Ensure badge text remains readable */
.rbc-re-day__badge{
	color: rgba(20,18,45,.90) !important;
}

/* Make +/- circle icon white and remove any inherited text inside (double + issue) */
.rbc-re-day__caret{
	color:#fff !important;
	-webkit-text-fill-color:#fff !important;
	opacity:1 !important;
	font-size:0 !important; /* hides any accidental text node inside */
}
.rbc-re-day__caret::before{
	font-size:26px !important;
}

/* Also hide any child nodes inside caret just in case */
.rbc-re-day__caret *{
	display:none !important;
}


/* Panel heading default (still allows inline styles) */
.rbc-re-day__panel h2,
.rbc-re-day__panel h3,
.rbc-re-day__panel h4{
	color: rgba(20,18,45,.92) !important;
}


/* Fix double +: caret should only render our ::before symbol */
.rbc-re-day__caret{
	background-image:none !important;
}
.rbc-re-day__caret::after{
	content:none !important;
	display:none !important;
}
.rbc-re-day__caret{
	overflow:hidden !important;
	text-indent:-9999px !important;
	white-space:nowrap !important;
}
.rbc-re-day__caret::before{
	text-indent:0 !important;
	display:block !important;
}


/* Restore + / - icon: keep our 2-bar plus and only collapse vertical bar on open */
.rbc-re-day__caret{
	text-indent:0 !important;
	font-size:inherit !important;
}
.rbc-re-day__caret::before,
.rbc-re-day__caret::after{
	content:"" !important;
	display:block !important;
	background:#ffffff !important;
	border-radius:2px !important;
}
.rbc-re-day__caret::before{ width:12px !important; height:2px !important; }
.rbc-re-day__caret::after{
	width:2px !important;
	height:12px !important;
	transform:scaleY(1) !important;
	transition:transform 180ms ease !important;
}
.rbc-re-day.is-open .rbc-re-day__caret::after{
	transform:scaleY(0) !important;
}


/* Caret button background: purple with white +/− */
.rbc-re-day__caret{
	background: linear-gradient(180deg, rgba(143,99,255,.92), rgba(111,62,246,.92)) !important;
	border: 1px solid rgba(255,255,255,.20) !important;
	box-shadow: 0 10px 20px rgba(80, 40, 170, .22) !important;
}


/* Time badge for meal headings (auto-detected or manual) */
.rbc-re-time{
	display:inline-flex !important;
	align-items:center !important;
	gap:6px !important;
	padding:2px 10px !important;
	border-radius:999px !important;
	background: linear-gradient(180deg, rgba(143,99,255,.92), rgba(111,62,246,.92)) !important;
	color:#ffffff !important;
	font-weight:600 !important;
	font-size:12px !important;
	line-height:1.2 !important;
	vertical-align:middle !important;
	margin-right:10px !important;
	box-shadow: 0 10px 18px rgba(80, 40, 170, .18) !important;
	border:1px solid rgba(255,255,255,.22) !important;
	white-space:nowrap !important;
}
.rbc-re-time::before{
	content:"⏱" !important;
	font-size:12px !important;
	line-height:1 !important;
}


/* === RBC RE: Time badges + dividers (scoped) === */
.rbc-re-time{
	display:inline-flex !important;
	align-items:center !important;
	gap:6px !important;
	padding:2px 10px !important;
	border-radius:999px !important;
	background: linear-gradient(180deg, rgba(143,99,255,.92), rgba(111,62,246,.92)) !important;
	color:#ffffff !important;
	font-weight:600 !important;
	font-size:12px !important;
	line-height:1.2 !important;
	vertical-align:middle !important;
	margin-right:10px !important;
	box-shadow: 0 10px 18px rgba(80, 40, 170, .18) !important;
	border:1px solid rgba(255,255,255,.22) !important;
	white-space:nowrap !important;
}
.rbc-re-time::before{
	content:"⏱" !important;
	font-size:12px !important;
	line-height:1 !important;
}
.rbc-re-time.rbc-re-time--morning::before{ content:"☀️" !important; }

.rbc-re-divider{
	height:1px !important;
	width:100% !important;
	margin:10px 0 12px !important;
	background: linear-gradient(90deg, rgba(143,99,255,.12), rgba(111,62,246,.55), rgba(143,99,255,.12)) !important;
	border:0 !important;
}


/* === Mark button states: 'Маркирай' vs 'Готово' === */
.rbc-re-day__mark{
	display:inline-flex !important;
	align-items:center !important;
	justify-content:center !important;
	gap:8px !important;
	padding:10px 14px !important;
	border-radius:12px !important;
	border:1px solid rgba(143,99,255,.55) !important;
	background: rgba(143,99,255,.08) !important;
	color:#111111 !important;
	font-weight:600 !important;
	transition: transform .12s ease, background .12s ease, border-color .12s ease, color .12s ease !important;
}
.rbc-re-day__mark:active{
	transform: scale(.98) !important;
}
.rbc-re-day__mark.is-done{
	border-color: rgba(46, 179, 104, .75) !important;
	background: rgba(46, 179, 104, .18) !important;
	color:#0b2b17 !important;
}
.rbc-re-day__mark.is-done::before{
	content:"✓" !important;
	font-weight:800 !important;
}


/* Force completed button styling even if theme overrides button classes */
.rbc-re-day.is-done .rbc-re-day__mark{
	border-color: rgba(46, 179, 104, .85) !important;
	background: rgba(46, 179, 104, .22) !important;
	color:#0b2b17 !important;
}
.rbc-re-day.is-done .rbc-re-day__mark::before{
	content:"✓" !important;
	font-weight:800 !important;
}


/* === Badge colors for 'Маркирай' / 'Готово' (label .rbc-re-day__check) === */
.rbc-re-day__badge{
	background: rgba(143,99,255,.08) !important;          /* default (Маркирай) */
	border-color: rgba(143,99,255,.55) !important;
	color:#111111 !important;
	font-weight:600 !important;
}
.rbc-re-day__check input:checked{
	accent-color: rgba(46, 179, 104, 1) !important;
}
.rbc-re-day__check input:checked + .rbc-re-day__badge{
	background: rgba(46, 179, 104, .22) !important;       /* completed (Готово) */
	border-color: rgba(46, 179, 104, .85) !important;
	color:#0b2b17 !important;
}

