/* RolliPolli órarend – frontend stílusok */
.rps-wrap {
	--rps-head-bg: #da3831;
	--rps-head-text: #ffffff;
	--rps-card-bg: #ffffff;
	--rps-legend-bg: #fdf7ef;
	--rps-notes-bg: #fdf7ef;
	--rps-line: #055078;
	--rps-time: #055078;
	--rps-radius: 32px;
	font-family: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
	color: #055078;
}
.rps-wrap .rps-card {
	overflow: hidden;
	border-radius: var(--rps-radius);
	background: var(--rps-card-bg);
	box-shadow: 0 24px 60px -32px rgba(5, 80, 120, 0.45);
}

/* fejléc */
.rps-wrap .rps-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	padding: 24px 32px;
	background: var(--rps-head-bg);
	color: var(--rps-head-text);
}
.rps-wrap .rps-head-title {
	margin: 0;
	font-family: "Fraunces", Georgia, serif;
	font-weight: 600;
	font-size: 40px;
	line-height: 1.05;
	color: inherit;
}
.rps-wrap .rps-head-desc { margin: 8px 0 0; font-size: 16px; opacity: 0.85; color: inherit; }
.rps-wrap .rps-print {
	flex: none;
	width: 68px; height: 68px;
	display: inline-flex; align-items: center; justify-content: center;
	border: 0; cursor: pointer; border-radius: 999px;
	background: rgba(255, 255, 255, 0.18);
	color: currentColor;
	transition: background 0.2s ease;
}
.rps-wrap .rps-print:hover { background: rgba(255, 255, 255, 0.3); }
.rps-wrap .rps-print svg { width: 34px; height: 34px; }

/* jelmagyarázat */
.rps-wrap .rps-legend {
	display: flex; flex-wrap: wrap; align-items: center; gap: 8px 18px;
	padding: 16px 32px;
	background: var(--rps-legend-bg);
	border-bottom: 1px solid color-mix(in srgb, var(--rps-line) 12%, transparent);
}
.rps-wrap .rps-legend-item { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 700; opacity: 0.8; }
.rps-wrap .rps-dot { width: 12px; height: 12px; border-radius: 999px; display: inline-block; }

/* asztali rács */
.rps-wrap .rps-daybar { display: grid; border-bottom: 1px solid color-mix(in srgb, var(--rps-line) 12%, transparent); }
.rps-wrap .rps-dayname {
	border-left: 1px solid color-mix(in srgb, var(--rps-line) 12%, transparent);
	padding: 12px; text-align: center;
	font-size: 15px; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase;
}
.rps-wrap .rps-grid { position: relative; display: grid; }
.rps-wrap .rps-times { position: relative; }
.rps-wrap .rps-time {
	position: absolute; right: 8px; transform: translateY(-50%);
	font-size: 12px; font-weight: 700; color: color-mix(in srgb, var(--rps-time) 55%, transparent);
}
.rps-wrap .rps-col { position: relative; border-left: 1px solid color-mix(in srgb, var(--rps-line) 12%, transparent); }
.rps-wrap .rps-line { position: absolute; left: 0; right: 0; border-top: 1px solid color-mix(in srgb, var(--rps-line) 5%, transparent); }
.rps-wrap .rps-line.is-hour { border-top-color: color-mix(in srgb, var(--rps-line) 12%, transparent); }

/* buborék */
.rps-wrap .rps-bubble {
	position: relative; display: block; text-decoration: none;
	border-radius: 16px; padding: 8px 24px 8px 16px;
	transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.rps-wrap a.rps-bubble:hover { transform: translateY(-2px); box-shadow: 0 10px 20px -12px rgba(0, 0, 0, 0.5) !important; }
.rps-wrap .rps-bubble.is-compact { padding-top: 10px; padding-bottom: 10px; }
.rps-wrap .rps-bar { position: absolute; top: 8px; bottom: 8px; left: 0; width: 6px; border-radius: 999px; }
.rps-wrap .rps-time-row { display: flex; align-items: flex-start; gap: 6px; font-size: 14.4px; font-weight: 800; line-height: 1.2; }
.rps-wrap .rps-time-row svg { width: 14px; height: 14px; margin-top: 2px; flex: none; opacity: 0.6; }
.rps-wrap .rps-bubble-title { display: block; margin-top: 2px; font-size: 14.4px; font-weight: 600; line-height: 1.35; }
.rps-wrap .rps-tag {
	display: inline-block; margin-top: 6px; max-width: 100%;
	border-radius: 999px; padding: 2px 8px;
	font-size: 10.4px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.04em; line-height: 1.3;
	word-break: break-word;
}
.rps-wrap .rps-bubble-note { display: block; margin-top: 4px; font-size: 12px; line-height: 1.35; opacity: 0.75; }
.rps-wrap .rps-arrow { position: absolute; top: 8px; right: 8px; width: 14px; height: 14px; opacity: 0.45; }

/* szünet sáv */
.rps-wrap .rps-gap { position: absolute; left: 4.5rem; right: 0; pointer-events: none; }
.rps-wrap .rps-gap-line { position: absolute; left: 32px; right: 32px; top: 50%; border-top: 1px dashed color-mix(in srgb, var(--rps-line) 18%, transparent); }
.rps-wrap .rps-gap-label {
	position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
	display: inline-flex; align-items: center; gap: 6px;
	background: var(--rps-legend-bg); border-radius: 999px; padding: 4px 12px;
	font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em;
	color: color-mix(in srgb, var(--rps-line) 55%, transparent);
	box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--rps-line) 12%, transparent);
}
.rps-wrap .rps-gap-dot { width: 6px; height: 6px; border-radius: 999px; background: color-mix(in srgb, var(--rps-line) 45%, transparent); }

/* egyeztetéses sor */
.rps-wrap .rps-open { display: grid; border-top: 1px solid color-mix(in srgb, var(--rps-line) 12%, transparent); }
.rps-wrap .rps-open-label { padding: 12px 8px; text-align: right; font-size: 11.5px; font-weight: 700; text-transform: uppercase; opacity: 0.5; }
.rps-wrap .rps-open-col { display: grid; gap: 8px; padding: 8px; border-left: 1px solid color-mix(in srgb, var(--rps-line) 12%, transparent); }

/* mobil lista */
.rps-wrap .rps-mobile { display: none; }
.rps-wrap .rps-mday { padding: 20px; border-top: 1px solid color-mix(in srgb, var(--rps-line) 12%, transparent); }
.rps-wrap .rps-mday-title { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 17px; font-weight: 800; text-transform: uppercase; }
.rps-wrap .rps-mday-badge {
	width: 32px; height: 32px; flex: none; border-radius: 999px;
	display: inline-flex; align-items: center; justify-content: center;
	background: var(--rps-head-bg); color: var(--rps-head-text); font-size: 13px;
}
.rps-wrap .rps-mday-list { display: grid; gap: 8px; margin-top: 12px; }

/* lábjegyzetek */
.rps-wrap .rps-notes { padding: 20px 32px; background: var(--rps-notes-bg); border-top: 1px solid color-mix(in srgb, var(--rps-line) 12%, transparent); }
.rps-wrap .rps-note { display: flex; align-items: flex-start; gap: 8px; margin: 0 0 6px; font-size: 16px; font-weight: 600; opacity: 0.85; }
.rps-wrap .rps-note:last-child { margin-bottom: 0; }
.rps-wrap .rps-note-icon { width: 16px; height: 16px; margin-top: 4px; flex: none; color: var(--rps-head-bg); }

@media (min-width: 641px) {
	.rps-wrap .rps-mday-list { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 1023px) {
	.rps-wrap .rps-grid-outer { display: none; }
	.rps-wrap .rps-mobile { display: block; }
	.rps-wrap .rps-head { padding: 20px; }
	.rps-wrap .rps-head-title { font-size: 30px; }
	.rps-wrap .rps-print { width: 52px; height: 52px; }
	.rps-wrap .rps-print svg { width: 26px; height: 26px; }
	.rps-wrap .rps-legend, .rps-wrap .rps-notes { padding: 16px 20px; }
}
@media print {
	.rps-wrap .no-print { display: none !important; }
}

/* ===== Órarend HERO + CTA (globális hero-arculat, rps-parity) ===== */
.rps-mark{ background:linear-gradient(transparent 62%, #ffbf2d 62%, #ffbf2d 92%, transparent 92%); padding:0 .06em; }

.rps-hero{ position:relative; overflow:hidden; background:#fdf6ec; padding:64px 0; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); }
.rps-hero > *{ position:relative; z-index:1; }
.rps-hero::before,.rps-hero::after{ content:""; position:absolute; border-radius:9999px; filter:blur(64px); mix-blend-mode:multiply; pointer-events:none; z-index:0; }
.rps-hero::before{ top:-40px; right:-40px; width:256px; height:256px; background:rgba(255,191,45,.20); }
.rps-hero::after{ bottom:-40px; left:33.3333%; width:288px; height:288px; background:rgba(218,56,49,.15); }
.rps-hero-inner{ max-width:760px; margin:0 auto; padding:0 20px; text-align:center; font-family:"Plus Jakarta Sans",system-ui,sans-serif; }
.rps-hero-chip{ display:inline-block; background:#feeccd; color:#004a6b; font-weight:600; font-size:12.5px; line-height:1.4; letter-spacing:.06em; text-transform:uppercase; border-radius:9999px; padding:6.4px 13.6px; margin:0 0 16px; }
.rps-hero-title{ font-family:"Fraunces",Georgia,serif; font-weight:600; color:#004a6b; font-size:clamp(38px,6vw,68px); line-height:1.05; letter-spacing:-.01em; margin:0; }
.rps-hero-lead{ font-size:18px; line-height:29px; color:rgba(5,80,120,.7); margin:16px 0 0; }

.rps-cta-wrap{ display:grid; gap:32px; max-width:1152px; margin:48px auto 0; padding:0 20px; font-family:"Plus Jakarta Sans",system-ui,sans-serif; }
/* SKOPOLVA a .rps-cta-wrap alá: az órarend CREAM CTA-doboza, hogy NE ütközzön a sections-modul .rps-section.rps-cta szekciójával (padding-bleed a főoldalon) */
.rps-cta-wrap .rps-cta{ background:#f5efe6; border-radius:32px; padding:32px 24px; text-align:left; }
@media(min-width:640px){ .rps-cta-wrap .rps-cta{ padding:40px; } }
/* Scope-olva a .rps-cta-wrap alá, hogy a fenti .rps-cta-wrap .rps-cta cream háttér (0,2,0) NE üsse felül a kék hátteret (specificitás-egyezés + későbbi sorrend nyer). */
.rps-cta-wrap .rps-cta--blue{ background:#055078; color:#fff; text-align:center; }
.rps-cta--blue .rps-cta-text{ margin-left:auto; margin-right:auto; }
.rps-cta--blue .rps-cta-btns{ justify-content:center; }
.rps-cta-title{ font-family:"Fraunces",Georgia,serif; font-weight:600; color:#004a6b; font-size:clamp(28px,4vw,48px); line-height:1.05; margin:0; }
.rps-cta--blue .rps-cta-title{ color:#fff; }
.rps-cta-text{ max-width:672px; margin:16px 0 0; font-size:18px; line-height:29px; color:rgba(5,80,120,.8); }
.rps-cta--blue .rps-cta-text{ color:rgba(255,255,255,.85); }
.rps-cta-btns{ display:flex; flex-wrap:wrap; justify-content:flex-start; gap:12px; margin-top:24px; }
.rps-btn{ display:inline-flex; align-items:center; gap:8px; text-decoration:none; font-weight:600; font-size:14px; letter-spacing:.35px; border-radius:9999px; padding:14px 24px; transition:transform .2s ease, background .2s ease, box-shadow .2s ease; }
.rps-btn-ico{ width:18px; height:18px; flex:0 0 auto; }
.rps-btn--primary{ background:#da3831; color:#fff; box-shadow:0 8px 24px rgba(218,56,49,.25); }
.rps-btn--primary:hover{ background:#c22f29; transform:translateY(-2px); }
.rps-btn--ghost{ background:#fff; color:#055078; border:1px solid rgba(5,80,120,.2); }
.rps-btn--ghost:hover{ background:rgba(5,80,120,.06); }
.rps-btn--sun{ background:#ffbf2d; color:#055078; box-shadow:0 8px 20px -8px rgba(255,191,45,.5); }
.rps-btn--sun:hover{ transform:translateY(-2px); }
.rps-btn--ghost-blue{ background:#99b7c4; color:#004a6b; }
.rps-btn--ghost-blue:hover{ background:#8cadbc; }

/* ===== Fix: rollipolli-sections .rps-card border-collision + rács-térköz + gomb-hover ===== */
.rps-wrap .rps-card{ border:0 !important; padding:0 !important; }
/* Rács TELJES SZÉLESSÉG (Lovable-parity): nincs oldal-inset, a fejléc/legend paddingja adja a belső teret. */
.rps-wrap .rps-daybar,
.rps-wrap .rps-grid{ padding-left:0 !important; padding-right:0 !important; }
.rps-wrap .rps-print{ background:rgba(255,255,255,.15) !important; border:0 !important; }
.rps-wrap .rps-print:hover{ background:rgba(255,255,255,.28) !important; }
