/* Cookie consent banner + preferences dialog (see inc/consent.php) */
.ssc-consent[hidden], .ssc-consent-modal[hidden] { display: none; }
.ssc-consent { position: fixed; left: 20px; bottom: 20px; z-index: 9000; width: min(440px, calc(100vw - 40px)); font-family: var(--wp--preset--font-family--poppins); }
.ssc-consent__card { padding: 22px 22px 18px; background: #fff; color: #333; border: 1px solid #dfe6e4; border-top: 4px solid var(--wp--preset--color--gold); border-radius: 10px; box-shadow: 0 14px 44px rgba(0, 0, 0, .22); }
.ssc-consent__title { margin: 0 0 8px; font-family: var(--wp--preset--font-family--pt-serif); font-size: 20px; line-height: 1.25; color: var(--wp--preset--color--green); }
.ssc-consent__text { margin: 0 0 16px; font-size: 13.5px; line-height: 21px; color: #444; }
.ssc-consent__text a { color: var(--wp--preset--color--green); text-underline-offset: 3px; white-space: nowrap; }
.ssc-consent__actions, .ssc-consent-modal__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.ssc-consent__btn { height: 44px; padding: 0 20px; border-radius: 6px; font-family: var(--wp--preset--font-family--poppins); font-size: 14px; font-weight: 600; line-height: 1; cursor: pointer; border: 1.5px solid transparent; transition: background .15s ease, color .15s ease, border-color .15s ease; }
.ssc-consent__btn--primary { background: var(--wp--preset--color--gold); color: var(--wp--preset--color--ink); border-color: var(--wp--preset--color--gold); }
.ssc-consent__btn--primary:hover { background: var(--wp--preset--color--gold-hover); border-color: var(--wp--preset--color--gold-hover); }
.ssc-consent__btn--ghost { background: #fff; color: var(--wp--preset--color--green); border-color: var(--wp--preset--color--green); }
.ssc-consent__btn--ghost:hover { background: #f1f6f5; }
.ssc-consent__btn--link { background: none; color: var(--wp--preset--color--green); text-decoration: underline; text-underline-offset: 3px; padding: 0 6px; font-weight: 500; }
.ssc-consent__btn:focus-visible, .ssc-switch input:focus-visible + .ssc-switch__ui { outline: 3px solid rgba(32, 79, 75, .45); outline-offset: 2px; }

/* preferences dialog */
.ssc-consent-modal { position: fixed; inset: 0; z-index: 9100; display: flex; align-items: center; justify-content: center; padding: 16px; font-family: var(--wp--preset--font-family--poppins); }
.ssc-consent-modal__overlay { position: absolute; inset: 0; background: rgba(0, 5, 7, .6); }
.ssc-consent-modal__dialog { position: relative; width: min(520px, 100%); max-height: calc(100vh - 32px); overflow-y: auto; padding: 28px; background: #fff; color: #333; border-top: 4px solid var(--wp--preset--color--gold); border-radius: 12px; box-shadow: 0 20px 60px rgba(0, 0, 0, .35); }
.ssc-consent-modal__title { margin: 0 0 8px; font-family: var(--wp--preset--font-family--pt-serif); font-size: 26px; line-height: 1.2; font-weight: 400; text-transform: none; letter-spacing: 0; color: var(--wp--preset--color--green); }
.ssc-consent-modal__intro { margin: 0 0 18px; font-size: 13.5px; line-height: 21px; color: #555; }
.ssc-consent-row { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 14px 0; border-top: 1px solid #e6eceb; }
.ssc-consent-row__text { display: flex; flex-direction: column; gap: 3px; font-size: 13px; line-height: 20px; color: #555; }
.ssc-consent-row__text strong { font-size: 14.5px; color: #222; }
.ssc-consent-modal__actions { margin-top: 18px; padding-top: 18px; border-top: 1px solid #e6eceb; }
.ssc-switch { position: relative; flex: 0 0 auto; width: 46px; height: 26px; cursor: pointer; }
.ssc-switch input { position: absolute; opacity: 0; inset: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.ssc-switch__ui { position: absolute; inset: 0; border-radius: 99px; background: #c9d3d1; transition: background .15s ease; pointer-events: none; }
.ssc-switch__ui::after { content: ""; position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0, 0, 0, .3); transition: transform .15s ease; }
.ssc-switch input:checked + .ssc-switch__ui { background: var(--wp--preset--color--green); }
.ssc-switch input:checked + .ssc-switch__ui::after { transform: translateX(20px); }
.ssc-switch input:disabled + .ssc-switch__ui { opacity: .55; }
html.ssc-consent-open { overflow: hidden; }

@media (max-width: 600px) {
	.ssc-consent { left: 0; right: 0; bottom: 0; width: auto; }
	.ssc-consent__card { border-radius: 14px 14px 0 0; padding: 18px 16px calc(16px + env(safe-area-inset-bottom)); }
	.ssc-consent__btn { flex: 1 1 auto; }
	.ssc-consent__btn--link { flex: 0 0 100%; height: 36px; }
	.ssc-consent-modal { align-items: flex-end; padding: 0; }
	.ssc-consent-modal__dialog { width: 100%; border-radius: 14px 14px 0 0; max-height: 92vh; padding: 22px 18px calc(18px + env(safe-area-inset-bottom)); }
}
