/* ==========================================================================
   UAStudies block styles — used on the site and in the block editor.
   Colors are literal (the editor does not see the theme's :root variables).
   ========================================================================== */

/* ---------- Landing template: wide content area ---------- */
.uas-landing { padding-block: 64px 112px; }
.uas-landing.uas-prose { max-width: none; }
.uas-landing > h1, .uas-landing > h2, .uas-landing > h3, .uas-landing > p, .uas-landing > ul, .uas-landing > ol { max-width: 860px; }
.uas-landing > .wp-block-group, .uas-landing > .wp-block-columns { margin-top: 96px; }
.uas-landing > :first-child { margin-top: 0; }
@media (max-width: 720px) { .uas-landing { padding-block: 40px 72px; } .uas-landing > .wp-block-group, .uas-landing > .wp-block-columns { margin-top: 64px; } }

/* Headings inside sections */
.uas-landing h2 { font-size: clamp(26px, 3vw, 42px); line-height: 1.12; letter-spacing: -.03em; margin: 0 0 .6em; }
.uas-landing h3 { font-size: clamp(20px, 1.8vw, 24px); margin: 0 0 .6em; }

/* ---------- Paragraph styles ---------- */
.is-style-uas-lead { font-size: clamp(19px, 1.7vw, 23px) !important; line-height: 1.6; color: #15171A; }
.is-style-uas-note { font-size: 15px !important; line-height: 1.6; color: #5B6370; }

/* ---------- Heading: small label with three dots ---------- */
h1.is-style-uas-eyebrow, h2.is-style-uas-eyebrow, h3.is-style-uas-eyebrow, h4.is-style-uas-eyebrow, h5.is-style-uas-eyebrow, h6.is-style-uas-eyebrow {
	display: inline-flex; align-items: center; gap: 10px; width: auto; margin: 0 0 18px !important;
	padding: 8px 16px 8px 12px; border-radius: 999px; background: #F3F6FA;
	font-family: Manrope, system-ui, sans-serif !important; font-size: 14px !important; font-weight: 600 !important;
	letter-spacing: 0 !important; line-height: 1.3 !important; color: #3A414C;
}
.is-style-uas-eyebrow::before {
	content: ""; flex: 0 0 auto; width: 8px; height: 8px; border-radius: 50%;
	background: #F8B040; box-shadow: 12px 0 0 #0870B8, 24px 0 0 #E81820; margin-right: 26px;
}

/* ---------- Heading: big number (e.g. age group) ---------- */
.is-style-uas-big { font-size: clamp(34px, 3.6vw, 52px) !important; line-height: 1 !important; letter-spacing: -.04em !important; margin: 0 0 14px !important; color: #15171A; }

/* ---------- Heading with an icon bubble above it ---------- */
[class*="is-style-uas-ic-"] { margin-top: 0 !important; }
[class*="is-style-uas-ic-"]::before { content: ""; display: block; width: 56px; height: 56px; border-radius: 50%; margin-bottom: 22px; }
.is-style-uas-ic-palette::before { background: #FDF0D9 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239A6A12' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3c5 0 9 3.6 9 8 0 2.5-2 4-4.2 4H15a2 2 0 0 0-1.5 3.3c.6.8.1 2.7-1.5 2.7-5 0-9-4-9-9s4-9 9-9z'/%3E%3Ccircle cx='7.5' cy='11' r='1'/%3E%3Ccircle cx='11' cy='7' r='1'/%3E%3Ccircle cx='16' cy='8.5' r='1'/%3E%3C/svg%3E") center / 26px no-repeat; }
.is-style-uas-ic-theatre::before { background: #FCE7E7 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B5121A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h16v6a8 8 0 0 1-16 0z'/%3E%3Cpath d='M8.5 9h.01M15.5 9h.01'/%3E%3Cpath d='M9 13.5c1.6 1.4 4.4 1.4 6 0'/%3E%3C/svg%3E") center / 26px no-repeat; }
.is-style-uas-ic-dance::before { background: #E7F0F8 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230870B8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18V5l11-2v13'/%3E%3Ccircle cx='6.5' cy='18' r='2.5'/%3E%3Ccircle cx='17.5' cy='16' r='2.5'/%3E%3C/svg%3E") center / 26px no-repeat; }
.is-style-uas-ic-people::before { background: #E4F2EA url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231F6B45' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3.5'/%3E%3Cpath d='M2.5 20c.8-3.5 3.4-5.5 6.5-5.5s5.7 2 6.5 5.5'/%3E%3Ccircle cx='17' cy='9' r='2.5'/%3E%3Cpath d='M17 14.5c2.3 0 4 1.5 4.5 4'/%3E%3C/svg%3E") center / 26px no-repeat; }
.is-style-uas-ic-book::before { background: #EEF0F3 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2315171A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h10a4 4 0 0 1 4 4v12H8a4 4 0 0 1-4-4z'/%3E%3Cpath d='M8 9h6M8 13h6'/%3E%3C/svg%3E") center / 26px no-repeat; }
.is-style-uas-ic-education::before { background: #FCE7E7 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B5121A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 9l10-5 10 5-10 5z'/%3E%3Cpath d='M6 11v5c0 1.5 3 3 6 3s6-1.5 6-3v-5'/%3E%3C/svg%3E") center / 26px no-repeat; }
.is-style-uas-ic-clock::before { background: #FDF0D9 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239A6A12' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E") center / 26px no-repeat; }
.is-style-uas-ic-star::before { background: #E7F0F8 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230870B8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l2.7 5.6 6.1.9-4.4 4.3 1 6.1L12 17l-5.4 2.9 1-6.1-4.4-4.3 6.1-.9z'/%3E%3C/svg%3E") center / 26px no-repeat; }
.is-style-uas-ic-heart::before { background: #FCE7E7 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B5121A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20s-8-4.6-8-10.2A4.5 4.5 0 0 1 12 7a4.5 4.5 0 0 1 8 2.8C20 15.4 12 20 12 20z'/%3E%3C/svg%3E") center / 26px no-repeat; }
.is-style-uas-ic-globe::before { background: #E4F2EA url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231F6B45' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M3 12h18M12 3c2.5 2.5 3.8 5.5 3.8 9s-1.3 6.5-3.8 9c-2.5-2.5-3.8-5.5-3.8-9S9.5 5.5 12 3z'/%3E%3C/svg%3E") center / 26px no-repeat; }
.is-style-uas-ic-calendar::before { background: #E7F0F8 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230870B8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='4'/%3E%3Cpath d='M8 3v4M16 3v4M3 11h18'/%3E%3C/svg%3E") center / 26px no-repeat; }
.is-style-uas-ic-pin::before { background: #EEF0F3 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2315171A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5a7 7 0 0 1 14 0C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E") center / 26px no-repeat; }

/* ---------- Cards and panels (Group) ---------- */
.wp-block-group.is-style-uas-card, .wp-block-group.is-style-uas-card-soft {
	display: flex; flex-direction: column; height: 100%; margin: 0; padding: 32px; border-radius: 32px; background: #fff; color: #15171A;
}
.wp-block-group.is-style-uas-card-soft { background: #F7F8FA; }
.is-style-uas-card > *, .is-style-uas-card-soft > * { margin-block: 0 14px !important; }
.is-style-uas-card > :last-child, .is-style-uas-card-soft > :last-child { margin-bottom: 0 !important; }
.is-style-uas-card p, .is-style-uas-card-soft p, .is-style-uas-card li, .is-style-uas-card-soft li { font-size: 16px; line-height: 1.65; color: #4A515C; }
.is-style-uas-card h3, .is-style-uas-card-soft h3 { font-size: 22px; letter-spacing: -.01em; }

.wp-block-group.is-style-uas-soft { padding: 72px 64px; border-radius: 56px; background: #F7F8FA; }
.wp-block-group.is-style-uas-dark { position: relative; overflow: hidden; padding: 64px; border-radius: 48px; background: #15171A; color: #fff; }
.is-style-uas-soft > *, .is-style-uas-dark > * { max-width: 100%; }
.is-style-uas-soft > :first-child, .is-style-uas-dark > :first-child { margin-top: 0; }
.is-style-uas-soft > :last-child, .is-style-uas-dark > :last-child { margin-bottom: 0; }
.is-style-uas-soft > p, .is-style-uas-soft > h2, .is-style-uas-dark > p, .is-style-uas-dark > h2 { max-width: 860px; }
.is-style-uas-dark h2, .is-style-uas-dark h3 { color: #fff; }
.is-style-uas-dark p, .is-style-uas-dark li { color: #C9CED6; }
.is-style-uas-dark a:not(.wp-block-button__link) { color: #fff; }
.is-style-uas-dark .is-style-uas-eyebrow { background: rgba(255, 255, 255, .12); color: #fff; }
.is-style-uas-dark .is-style-uas-eyebrow::before { box-shadow: 12px 0 0 #4FA3E0, 24px 0 0 #E81820; }
@media (max-width: 720px) {
	.wp-block-group.is-style-uas-soft { padding: 40px 22px; border-radius: 32px; }
	.wp-block-group.is-style-uas-dark { padding: 36px 22px; border-radius: 32px; }
	.wp-block-group.is-style-uas-card, .wp-block-group.is-style-uas-card-soft { padding: 26px; border-radius: 26px; }
}

/* ---------- Columns: a row of equal cards ---------- */
.wp-block-columns.is-style-uas-grid { gap: 20px !important; margin-block: 32px 0 !important; align-items: stretch !important; }
.wp-block-columns.is-style-uas-grid > .wp-block-column { display: flex; flex-direction: column; }
.wp-block-columns.is-style-uas-grid > .wp-block-column > * { flex: 1 1 auto; }
.wp-block-columns.is-style-uas-grid + * { margin-top: 32px; }

/* ---------- "Read more" (Details block) inside cards ---------- */
.uas-landing details.wp-block-details, .editor-styles-wrapper details.wp-block-details { margin-top: auto !important; padding-top: 6px; border-top: 1px solid #E6E8EC; }
details.wp-block-details summary {
	display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 0 2px;
	cursor: pointer; list-style: none; font-size: 14px; font-weight: 700; color: #15171A;
}
details.wp-block-details summary::-webkit-details-marker { display: none; }
details.wp-block-details summary::after {
	content: ""; flex: 0 0 36px; height: 36px; border-radius: 50%; border: 1.5px solid #D9DDE3;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2315171A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center / 18px no-repeat;
	transition: transform .35s cubic-bezier(.2, .7, .2, 1), background-color .3s, border-color .3s;
}
details.wp-block-details summary:hover::after { border-color: #15171A; }
details.wp-block-details[open] summary::after { transform: rotate(180deg); }
details.wp-block-details > :not(summary) { margin: 12px 0 0 !important; }

/* ---------- Lists ---------- */
ul.is-style-uas-dots { list-style: none; padding-left: 0 !important; }
ul.is-style-uas-dots li { position: relative; padding-left: 26px; margin-bottom: .7em; }
ul.is-style-uas-dots li::before { content: ""; position: absolute; left: 2px; top: .62em; width: 10px; height: 10px; border-radius: 50%; background: #F8B040; }
ul.is-style-uas-dots li:nth-child(3n+2)::before { background: #0870B8; }
ul.is-style-uas-dots li:nth-child(3n)::before { background: #E81820; }

ul.is-style-uas-tiles { list-style: none; padding: 0 !important; margin-block: 32px !important; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
ul.is-style-uas-tiles li { margin: 0; padding: 26px 26px 26px 26px; border-radius: 28px; background: #F7F8FA; font-size: 15px; line-height: 1.6; color: #4A515C; }
ul.is-style-uas-tiles li strong { display: block; margin-bottom: 8px; font-family: Unbounded, Manrope, sans-serif; font-size: 18px; font-weight: 500; line-height: 1.25; letter-spacing: -.01em; color: #15171A; }
ul.is-style-uas-tiles li strong::before { content: ""; display: block; width: 10px; height: 10px; border-radius: 50%; margin-bottom: 16px; background: #F8B040; }
ul.is-style-uas-tiles li:nth-child(3n+2) strong::before { background: #0870B8; }
ul.is-style-uas-tiles li:nth-child(3n) strong::before { background: #E81820; }
.is-style-uas-soft ul.is-style-uas-tiles li { background: #fff; }
@media (max-width: 1080px) { ul.is-style-uas-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { ul.is-style-uas-tiles { grid-template-columns: minmax(0, 1fr); } }

ul.is-style-uas-times { list-style: none; padding: 0 !important; margin: 0 !important; display: grid; gap: 12px; }
ul.is-style-uas-times li { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin: 0; padding: 20px 24px; border-radius: 22px; background: #fff; font-family: Unbounded, Manrope, sans-serif; font-size: clamp(20px, 2vw, 26px); letter-spacing: -.02em; color: #15171A; }
ul.is-style-uas-times li strong { font-family: Manrope, system-ui, sans-serif; font-size: 15px; font-weight: 600; letter-spacing: 0; color: #5B6370; }
.is-style-uas-dark ul.is-style-uas-times li { background: rgba(255, 255, 255, .08); color: #fff; }
.is-style-uas-dark ul.is-style-uas-times li strong { color: #C9CED6; }

/* ---------- Buttons ---------- */
.wp-block-buttons { gap: 12px; margin-top: 28px !important; }
.wp-block-button .wp-block-button__link { display: inline-flex; align-items: center; min-height: 52px; border-radius: 999px !important; padding: 14px 28px !important; font-weight: 600; text-decoration: none !important; }
.wp-block-button.is-style-uas-light .wp-block-button__link { background: #fff !important; color: #15171A !important; }
.wp-block-button.is-style-uas-light .wp-block-button__link:hover { background: #E7F0F8 !important; }
.wp-block-button.is-style-uas-line .wp-block-button__link { background: transparent !important; color: #15171A !important; border: 1.5px solid #D9DDE3; }
.wp-block-button.is-style-uas-line .wp-block-button__link:hover { border-color: #15171A; }
.is-style-uas-dark .wp-block-button.is-style-uas-line .wp-block-button__link { color: #fff !important; border-color: rgba(255, 255, 255, .35); }
.is-style-uas-dark .wp-block-button.is-style-uas-line .wp-block-button__link:hover { border-color: #fff; }

/* While a card is expanded, the neighbouring cards keep their own height */
.wp-block-columns.is-style-uas-grid:has(details[open]) { align-items: flex-start !important; }
.is-style-uas-soft .is-style-uas-eyebrow { background: #fff; }
.is-style-uas-soft > h3, .is-style-uas-dark > h3, .uas-landing > .wp-block-group > h3 { margin-top: 40px !important; }
.uas-landing > .wp-block-group > p, .uas-landing > .wp-block-group > h2 { max-width: 860px; }
