/* Casa Gelsomino – Stornobedingungen (Staffel-Übersicht). Farben über Theme-Variablen mit Fallbacks. */
.cg-cxp, .cg-cxhome {
	--x-ink: var(--cg-ink, #1C2B36);
	--x-lake: var(--cg-lake, #1F4E6B);
	--x-sky: var(--cg-sky, #EAF1F5);
	--x-line: var(--cg-line, #DCD6CC);
	--x-muted: var(--cg-muted, #5E6B74);
	--x-ok: #2F6B45;
	--x-r: var(--cg-radius, 6px);
}
.cg-cxp { margin: 28px 0 36px; }
.cg-cxp__tiers { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; counter-reset: none; }
.cg-cxp__tier { position: relative; display: flex; gap: 14px; align-items: flex-start; background: #fff; border: 1px solid var(--x-line); border-radius: var(--x-r); padding: 18px 18px 16px; margin: 0; min-width: 0; }
.cg-cxp__tier::before { content: ""; position: absolute; left: 0; top: 0; right: 0; height: 4px; border-radius: var(--x-r) var(--x-r) 0 0; background: var(--x-line); }
.cg-cxp__tier--free::before { background: var(--x-ok); }
.cg-cxp__tier--mid::before { background: #C9A86A; }
.cg-cxp__tier--late::before { background: var(--cg-stone, #B9AC9A); }
.cg-cxp__step { flex: 0 0 30px; width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; background: var(--x-sky); color: var(--x-lake); font-weight: 600; font-size: .9rem; }
.cg-cxp__tier--free .cg-cxp__step { background: #E8F1EA; color: var(--x-ok); }
.cg-cxp__tier p { margin: 0; }
.cg-cxp__when { font-size: .74rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--x-muted); line-height: 1.35; }
.cg-cxp__what { font-family: var(--cg-serif, Georgia, serif); font-size: 1.45rem; font-weight: 600; line-height: 1.15; color: var(--x-ink); margin: 6px 0 6px !important; }
.cg-cxp__tier--free .cg-cxp__what { color: var(--x-ok); }
.cg-cxp__text { font-size: .93rem; line-height: 1.5; color: var(--x-ink); }
.cg-cxp__always { list-style: none; margin: 18px 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 28px; }
@media (max-width: 700px) { .cg-cxp__always { grid-template-columns: minmax(0, 1fr); } }
.cg-cxp__always li { position: relative; padding-left: 26px; font-size: .95rem; line-height: 1.5; margin: 0; }
.cg-cxp__always li::before { content: ""; position: absolute; left: 2px; top: .3em; width: 16px; height: 16px; background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%232F6B45' d='M9.5 16.2 5.3 12l-1.4 1.4 5.6 5.6L20.1 8.4 18.7 7z'/%3E%3C/svg%3E"); }
.cg-cxp__more { margin: 18px 0 0; font-weight: 500; }
.cg-cxp__more a { color: var(--x-lake); }

/* Block auf der Startseite (Abschnitt Preise) */
.cg-cxhome { max-width: 1040px; margin: 48px auto 36px; background: #fff; border: 1px solid var(--x-line); border-radius: calc(var(--x-r) + 4px); padding: clamp(22px, 3.5vw, 36px); }
.cg-cxhome h3 { margin: 0 0 8px; font-size: clamp(1.5rem, 2.4vw, 1.9rem); }
.cg-cxhome > p { margin: 0; color: var(--x-muted); max-width: 720px; }
.cg-cxhome .cg-cxp { margin: 22px 0 0; }
.cg-cxhome .cg-cxp__tier { background: var(--cg-bg, #FBFAF7); }

.cg-small { font-size: .88rem; color: var(--cg-muted, #5E6B74); margin-top: 32px; }
@media (max-width: 600px) {
	.cg-cxp__tier { padding: 16px 14px 14px; }
	.cg-cxp__what { font-size: 1.3rem; }
}
