/* WhatsApp chooser popup — card above the floating button on desktop, bottom sheet on phones. */
.crn-wa { position: fixed; inset: 0; z-index: 100000; font-family: "DM Sans", sans-serif; }
.crn-wa[hidden] { display: none; }
.crn-wa__backdrop { position: absolute; inset: 0; background: rgba(15, 27, 51, .28); opacity: 0; transition: opacity .2s ease; }
.crn-wa__panel {
	position: absolute; right: 24px; bottom: 92px; width: 360px; max-width: calc(100vw - 32px);
	background: #fff; border-radius: 18px; box-shadow: 0 24px 60px rgba(15, 27, 51, .22); overflow: hidden; outline: none;
	opacity: 0; transform: translateY(12px) scale(.97); transform-origin: bottom right; transition: opacity .2s ease, transform .22s cubic-bezier(.2, .8, .2, 1);
}
.crn-wa.is-open .crn-wa__backdrop { opacity: 1; }
.crn-wa.is-open .crn-wa__panel { opacity: 1; transform: none; }

.crn-wa__head { display: flex; align-items: center; gap: 12px; padding: 18px 18px 16px; background: #1F3765; color: #fff; }
.crn-wa__head-icon { flex: 0 0 40px; height: 40px; border-radius: 50%; background: #00C1B2; display: grid; place-items: center; }
.crn-wa__head-icon svg { width: 22px; height: 22px; color: #fff; }
.crn-wa__head-text { flex: 1; min-width: 0; }
.crn-wa__title { margin: 0; font-size: 16px; font-weight: 700; line-height: 1.3; color: #fff; }
.crn-wa__subtitle { margin: 2px 0 0; font-size: 13px; line-height: 1.4; color: rgba(255, 255, 255, .78); }
/* Scoped twice so the theme's generic [type=button] styles (pink border/background) never apply. */
.crn-wa .crn-wa__close { flex: 0 0 32px; width: 32px; height: 32px; min-height: 0; padding: 0; margin: -6px -6px 0 0; align-self: flex-start; border: 0; border-radius: 50%; background: transparent; box-shadow: none; color: #fff; cursor: pointer; display: grid; place-items: center; transition: background .15s; }
.crn-wa .crn-wa__close:hover, .crn-wa .crn-wa__close:focus, .crn-wa .crn-wa__close:focus-visible { background: rgba(255, 255, 255, .14); color: #fff; border: 0; outline: none; }
.crn-wa .crn-wa__close:focus-visible { box-shadow: 0 0 0 2px #00C1B2; }
.crn-wa__close svg { width: 18px; height: 18px; }

.crn-wa__list { list-style: none; margin: 0; padding: 12px; display: grid; gap: 8px; }
.crn-wa__list li { margin: 0; }
.crn-wa__item { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border: 1px solid #E4EAF3; border-radius: 12px; background: #fff; color: #191919; text-decoration: none; transition: border-color .15s, background .15s, transform .15s; }
.crn-wa__item:hover, .crn-wa__item:focus-visible { border-color: #00C1B2; background: #F2FBFA; color: #191919; transform: translateY(-1px); outline: none; }
.crn-wa__item-icon { flex: 0 0 40px; height: 40px; border-radius: 50%; background: #E6F8F6; color: #00A396; display: grid; place-items: center; }
.crn-wa__item-icon svg { width: 22px; height: 22px; }
.crn-wa__item-text { flex: 1; min-width: 0; display: grid; gap: 2px; }
.crn-wa__item-label { font-size: 15px; font-weight: 700; line-height: 1.3; color: #1F3765; }
.crn-wa__item-number { font-size: 14px; line-height: 1.3; color: #5B6475; letter-spacing: .2px; }
.crn-wa__item-arrow { flex: 0 0 auto; color: #00A396; display: grid; place-items: center; transition: transform .15s; }
.crn-wa__item-arrow svg { width: 18px; height: 18px; }
.crn-wa__item:hover .crn-wa__item-arrow { transform: translateX(3px); }

@media (max-width: 767px) {
	.crn-wa__panel { left: 0; right: 0; bottom: 0; width: auto; max-width: none; border-radius: 20px 20px 0 0; transform: translateY(100%); transform-origin: bottom center; padding-bottom: env(safe-area-inset-bottom); }
	.crn-wa.is-open .crn-wa__panel { transform: none; }
	.crn-wa__list { padding: 14px 16px; }
	.crn-wa-open, .crn-wa-open body { overflow: hidden; }
}
@media (prefers-reduced-motion: reduce) {
	.crn-wa__backdrop, .crn-wa__panel, .crn-wa__item, .crn-wa__item-arrow { transition: none; }
}
