/* Calendario Chiesa Gospel - "Salva nel calendario" and subscribe box. Reuses theme tokens with fallbacks. */
.cgev-save, .cgev-subscribe {
	--cgev-ink: var(--cg-ink, #101010);
	--cgev-blue: var(--cg-blue, #0038ff);
	--cgev-ice: var(--cg-ice, #dbe7ff);
	--cgev-sans: var(--cg-sans, "Archivo", system-ui, -apple-system, "Segoe UI", sans-serif);
	--cgev-ease: var(--cg-ease, cubic-bezier(.22, .7, .2, 1));
	box-sizing: border-box; color: var(--cgev-ink); font-family: var(--cgev-sans); font-size: 1rem; line-height: 1.5;
}
.cgev-save *, .cgev-subscribe * { box-sizing: border-box; }
.cgev-save .screen-reader-text, .cgev-subscribe .screen-reader-text {
	position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0;
	overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.cgev-save :where(p, ul) , .cgev-subscribe :where(p, h2) { margin: 0; padding: 0; }
.cgev-save ul { list-style: none; margin: 0; padding: 0; }
.cgev-save :focus-visible, .cgev-subscribe :focus-visible { outline: 3px solid var(--cgev-blue); outline-offset: 3px; border-radius: 6px; }

/* Buttons (same pill look as the event page and the calendar). */
.cgev-save .cgev-btn, .cgev-subscribe .cgev-btn {
	display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 22px;
	border: 2px solid var(--cgev-ink); border-radius: 999px; background: #fff; color: var(--cgev-ink);
	font: 700 .875rem/1.2 var(--cgev-sans); letter-spacing: .06em; text-transform: uppercase; text-decoration: none; text-align: center; cursor: pointer;
	transition: background .25s var(--cgev-ease), color .25s var(--cgev-ease), transform .25s var(--cgev-ease);
}
.cgev-save .cgev-btn:hover, .cgev-subscribe .cgev-btn:hover { background: var(--cgev-ink); color: #fff; }
.cgev-save .cgev-btn:active, .cgev-subscribe .cgev-btn:active { transform: scale(.97); }
.cgev-save .cgev-btn--primary, .cgev-subscribe .cgev-btn--primary { background: var(--cgev-blue); border-color: var(--cgev-blue); color: #fff; }
.cgev-save .cgev-btn--primary:hover, .cgev-subscribe .cgev-btn--primary:hover { background: var(--cgev-ink); border-color: var(--cgev-ink); }
.cgev-subscribe .cgev-btn[hidden] { display: none; }

/* Save panel (native details/summary). */
.cgev-save { flex: 1 1 100%; }
.cgev-save__toggle { list-style: none; width: fit-content; }
.cgev-save__toggle::-webkit-details-marker { display: none; }
.cgev-save__toggle::after { content: "+"; margin-left: 10px; font-size: 1.25rem; line-height: 1; }
.cgev-save__box[open] > .cgev-save__toggle::after { content: "\2212"; }
.cgev-save__panel { margin-top: 12px; padding: 18px 20px; border: 3px solid var(--cgev-ink); border-radius: 24px; background: var(--cgev-ice); max-width: 560px; }
.cgev-save__note { font-weight: 700; margin-bottom: 14px !important; }
.cgev-save__list { display: grid; gap: 16px; }
.cgev-save__list .cgev-btn { width: 100%; }
.cgev-save__help { margin-top: 6px !important; font-size: .95rem; }
.cgev-save__link { color: var(--cgev-blue); font-weight: 700; text-underline-offset: 3px; display: inline-block; padding-block: 8px; }

/* Subscribe box. */
.cgev-subscribe { margin-top: 40px; padding: 22px; border: 3px solid var(--cgev-ink); border-radius: 24px; background: var(--cgev-ice); max-width: 800px; flex: 1 1 100%; }
.cgev-subscribe__title { font-size: 1.25rem; font-weight: 800; }
/* The theme gives headings a large top margin: inside the box the title hugs the border. */
.cgev-subscribe h2.cgev-subscribe__title { margin: 0 0 8px !important; line-height: 1.1; }
.cgev-subscribe__text { margin-bottom: 16px !important; }
.cgev-subscribe__buttons { display: flex; flex-wrap: wrap; gap: 10px; }
.cgev-subscribe__addr { margin-top: 16px !important; display: grid; gap: 4px; }
.cgev-subscribe__addr label { font-weight: 700; font-size: .95rem; }
.cgev-subscribe__addr input { width: 100%; min-height: 44px; padding: 0 14px; border: 2px solid var(--cgev-ink); border-radius: 12px; background: #fff; color: var(--cgev-ink); font: 1rem var(--cgev-sans); }
.cgev-subscribe--single { margin-top: 24px; }

@media (max-width: 520px) {
	.cgev-subscribe__buttons .cgev-btn { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
	.cgev-save .cgev-btn, .cgev-subscribe .cgev-btn { transition: none; }
	.cgev-save .cgev-btn:active, .cgev-subscribe .cgev-btn:active { transform: none; }
}
.cgev-subscribe__status { margin-top: 8px; font-size: .9rem; font-weight: 600; }
.cgev-subscribe__status:empty { display: none; }
/* "Usi un altro calendario?": secondary, tucked away. */
.cgev-subscribe__more { margin-top: 16px; }
.cgev-subscribe__more > summary { cursor: pointer; width: fit-content; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.cgev-subscribe__help { margin-top: 8px; font-size: .9rem; }
.cgev-subscribe__more .cgev-subscribe__copy { margin-top: 8px; }
/* Same protection against the theme's blue hover background on links in page text. */
.cgev-save a:not(.cgev-btn):hover, .cgev-subscribe a:not(.cgev-btn):hover { background: transparent !important; }
