/* Kündigung nach § 312k BGB: Knopf am Rand und Seite „Verträge kündigen“, schlicht wie das Widerrufsformular */

#wpsg_abo_cancel_button, .wpsg_abo_cancel_page { --ab-line:rgba(127, 127, 127, 0.35); --ab-line-soft:rgba(127, 127, 127, 0.2); --ab-radius:4px; --ab-field-border:var(--wpsg-field-border, 1px solid rgba(127, 127, 127, 0.9)); }

/* Knopf am rechten Rand unter dem Widerrufsknopf; Text immer sichtbar, auch ohne Hover (Handy) */
#wpsg_abo_cancel_button { position:fixed; right:0; top:calc(25% + 3.6em); z-index:10; display:flex; align-items:center; gap:0.5em; max-width:calc(100vw - 2em); padding:0.5em 0.75em; border:1px solid var(--ab-line); border-right:0; border-radius:var(--ab-radius) 0 0 var(--ab-radius); background-color:#FFFFFF; color:#1d1d1d; font-size:0.85em; line-height:1.3; text-decoration:none; box-shadow:0 2px 10px rgba(0, 0, 0, 0.08); box-sizing:border-box; }
#wpsg_abo_cancel_button.wpsg_abo_cancel_alone { top:25%; }
#wpsg_abo_cancel_button:hover, #wpsg_abo_cancel_button:focus { background-color:#FFFFFF; color:#1d1d1d; text-decoration:underline; }
#wpsg_abo_cancel_button:focus-visible { outline:2px solid currentColor; outline-offset:2px; }
#wpsg_abo_cancel_button svg { flex:0 0 18px; width:18px; height:18px; fill:currentColor; opacity:0.8; }
#wpsg_abo_cancel_button span { white-space:nowrap; }
/* Ein Link auf die Kündigungsseite ist zu sehen (Fußzeile): Knopf ausblenden, damit er nichts verdeckt */
#wpsg_abo_cancel_button.wpsg_abo_cancel_covered { visibility:hidden; }
/* Bis 1199 px reicht der Rand nicht: unten rechts statt über Inhalt und Seitenleisten, weiter mit Text */
@media (max-width:1199px) {
	#wpsg_abo_cancel_button, #wpsg_abo_cancel_button.wpsg_abo_cancel_alone { top:auto; bottom:0.75em; padding:0.4em 0.6em; font-size:0.8em; }
}

/* Seite */
.wpsg_abo_cancel_page .wpsg_abo_cancel_form { display:flex; flex-direction:column; gap:1em; margin:0; }
.wpsg_abo_cancel_page .form_field { display:flex; flex-direction:column; gap:0.35em; margin:0; padding:0; border:0; min-width:0; }
/* Themes mit Bootstrap (ShopThemeOne) stylen „.label“ als Plakette und „legend“ als Überschrift */
.wpsg_abo_cancel_page .form_field > .label { display:block; width:auto; margin:0; padding:0; border:0; border-radius:0; background:none; font-size:inherit; font-weight:600; line-height:inherit; text-align:start; white-space:normal; }
.wpsg_abo_cancel_page .form_field > .value { display:flex; flex-direction:column; gap:0.4em; }
/* Text bricht neben dem Kästchen um, nicht darunter; nur „zum [Datum]“ darf umbrechen */
.wpsg_abo_cancel_page .form_field > .value > label { display:flex; flex-wrap:nowrap; align-items:center; gap:0.5em; font-weight:normal; }
.wpsg_abo_cancel_page .form_field > .value > label.wpsg_abo_cancel_when_date { flex-wrap:wrap; }
.wpsg_abo_cancel_page input[type="text"], .wpsg_abo_cancel_page input[type="email"], .wpsg_abo_cancel_page input[type="date"], .wpsg_abo_cancel_page textarea { width:100%; max-width:32em; padding:0.5em 0.6em; border:var(--ab-field-border); border-radius:var(--ab-radius); box-sizing:border-box; font:inherit; }
.wpsg_abo_cancel_page .wpsg_abo_cancel_when_date input[type="date"] { width:auto; }
.wpsg_abo_cancel_page .form_field > .value > label.wpsg_abo_cancel_abo { align-items:flex-start; }
.wpsg_abo_cancel_page .wpsg_abo_cancel_abo input { margin-top:0.25em; }
.wpsg_abo_cancel_page [hidden] { display:none !important; }
.wpsg_abo_cancel_page .wpsg_abo_cancel_hp { position:absolute; left:-10000px; top:auto; width:1px; height:1px; overflow:hidden; }
.wpsg_abo_cancel_page .wpsg_abo_cancel_errors { padding:0.75em 1em; border:1px solid #b32d2e; border-radius:var(--ab-radius); }
.wpsg_abo_cancel_page .wpsg_abo_cancel_errors p { margin:0.2em 0; }
.wpsg_abo_cancel_page .wpsg_abo_cancel_success { padding:0.75em 1em; border:1px solid var(--ab-line); border-radius:var(--ab-radius); font-weight:600; }
.wpsg_abo_cancel_page .wpsg_abo_cancel_declaration { padding:1em; border:1px solid var(--ab-line-soft); border-radius:var(--ab-radius); }
.wpsg_abo_cancel_page .wpsg_abo_cancel_declaration h2 { margin:0 0 0.75em 0; font-size:1.1em; line-height:1.35; }
.wpsg_abo_cancel_page .wpsg_abo_cancel_declaration p { margin:0 0 0.75em 0; }
.wpsg_abo_cancel_page .wpsg_abo_cancel_declaration p:last-child { margin-bottom:0; }

/* Knöpfe „jetzt kündigen“ und „Drucken“ wie beim Widerruf: gut lesbar, auch ohne Knopfstil im Theme (§ 312k Abs. 2) */
.wpsg_abo_cancel_page .wpsg_abo_cancel_submit button, .wpsg_abo_cancel_page .wpsg_abo_cancel_print button { display:inline-flex; align-items:center; justify-content:center; min-height:0; margin:0; padding:0.65em 1.1em; border:1px solid currentColor; border-radius:var(--ab-radius); background:none; color:inherit; font:inherit; font-weight:600; line-height:1.2; text-shadow:none; box-shadow:none; cursor:pointer; transition:background-color 0.15s ease-out; }
.wpsg_abo_cancel_page .wpsg_abo_cancel_submit button:hover, .wpsg_abo_cancel_page .wpsg_abo_cancel_print button:hover { background:rgba(127, 127, 127, 0.08); }
.wpsg_abo_cancel_page .wpsg_abo_cancel_submit button:focus-visible, .wpsg_abo_cancel_page .wpsg_abo_cancel_print button:focus-visible { outline:2px solid currentColor; outline-offset:2px; }
.wpsg_abo_cancel_page .wpsg_abo_cancel_submit, .wpsg_abo_cancel_page .wpsg_abo_cancel_print { margin:0; }

/* Druckansicht der Erklärung (§ 312k Abs. 3): nur die Erklärung, schwarz auf weiß */
@media print {
	body * { visibility:hidden !important; }
	.wpsg_abo_cancel_declaration, .wpsg_abo_cancel_declaration * { visibility:visible !important; color:#000000 !important; background:#FFFFFF !important; }
	.wpsg_abo_cancel_declaration { position:absolute; left:0; top:0; width:100%; border:0 !important; }
	#wpsg_abo_cancel_button, #wpsg_revocation_button { display:none !important; }
}

/* Pflichtangaben vor der Bestellung (§ 312j Abs. 2 BGB): eigene Zeile, gut lesbar, Farbe vom Theme */
.wpsg_abo_terms { flex:1 1 100%; box-sizing:border-box; margin:0.75em 0; padding:0.75em 1em; border:1px solid rgba(127, 127, 127, 0.45); border-radius:4px; color:inherit; font-size:0.95em; line-height:1.5; opacity:1; }
.wpsg_abo_terms p { margin:0 0 0.5em 0; color:inherit; }
.wpsg_abo_terms p:last-child { margin-bottom:0; }
.wpsg_abo_terms a { color:inherit; text-decoration:underline; }
.wpsg_abo_terms_product { margin:0; }
.wpsg_abo_terms_overview { clear:both; border-width:2px; background-color:rgba(127, 127, 127, 0.07); }

/* Kundenkonto: Folgen der Pause als Zusatz unter der Auswahl; eigene Datei, damit es auch mit einer frontend.css aus dem Theme gilt */
.wpsg_mod_kundenverwaltung_abo .wpsg_abo_pause_choice { display:flex; flex-wrap:wrap; align-items:center; gap:0.5em; }
.wpsg_mod_kundenverwaltung_abo .wpsg_abo_pause_choice label { margin:0; }
.wpsg_mod_kundenverwaltung_abo .wpsg_abo_pause_info { list-style:none; margin:0.6em 0 0; padding:0.6em 0.8em; border-left:3px solid var(--wpsg-color-line, rgba(127, 127, 127, 0.35)); border-radius:var(--wpsg-radius, 3px); background:var(--wpsg-color-surface, rgba(127, 127, 127, 0.08)); font-size:0.9em; line-height:1.5; }
.wpsg_mod_kundenverwaltung_abo .wpsg_abo_pause_info li { position:relative; list-style:none; margin:0; padding:0 0 0 1em; }
.wpsg_mod_kundenverwaltung_abo .wpsg_abo_pause_info li::before { content:'\2022'; position:absolute; left:0; opacity:0.7; }
.wpsg_mod_kundenverwaltung_abo .wpsg_abo_pause_until { font-weight:bold; }
