/* Atelier joyeux — accessible turquoise, coral and playful pastel accents. */
@font-face {
	font-family: "Nunito Sans";
	font-style: normal;
	font-weight: 400 800;
	font-display: swap;
	src: url("../fonts/nunito-sans-latin-variable.woff2") format("woff2");
}
:root {
	--magia-color-background: #fffcf6;
	--magia-color-text: #243d62;
	--magia-color-muted: #59667c;
	--magia-color-primary: #cf4855;
	--magia-color-primary-dark: #b83b50;
	--magia-color-primary-deep: #922942;
	--magia-color-primary-soft: #ffeaeb;
	--magia-color-secondary: #087d87;
	--magia-color-secondary-soft: #e5f7f5;
	--magia-color-border: #dce8ef;
	--magia-color-border-strong: #8098af;
	--magia-font-body: "Nunito Sans", sans-serif;
	--magia-font-heading: "Nunito Sans", sans-serif;
	--magia-radius-large: 1rem;
	--magia-shadow-card: 0 12px 32px rgb(36 57 43 / 0.06);
}
body { background: var(--magia-color-background); color: var(--magia-color-text); }
h1, h2, h3 { font-family: var(--magia-font-heading); font-weight: 600; }
h2 { font-size: clamp(1.8rem, 3.6vw, 2.85rem); letter-spacing: -0.025em; }
.site-shell { width: min(100% - clamp(2rem, 7vw, 7rem), 1280px); }
.site-header { background: #fffcf6; border-bottom: 1px solid #dce8ef; }
.site-header__inner { min-height: 6rem; }
.site-brand__name { font-size: 1.25rem; letter-spacing: -0.035em; }
.site-header .site-brand__name { color: #243d62; }
.site-brand__tagline { font-size: 0.7rem; margin-top: 0.25rem; }
.site-navigation a { color: #176879; font-size: 0.86rem; letter-spacing: 0; text-transform: none; font-weight: 600; border-radius: 0; }
.site-navigation a:hover { color: #b83b50; background: transparent; text-decoration: underline; text-underline-offset: 0.5em; }
.primary-navigation li:last-child a { border: 1px solid #bddfe5; border-radius: 999px; padding-inline: 1.2rem; margin-left: 0.7rem; }
.magia-eyebrow { color: #7255a2; font-size: 0.69rem; letter-spacing: 0.17em; font-weight: 700; }
.magia-button, .wp-element-button, .wp-block-button__link { background: #087d87; border-radius: 0.8rem; min-height: 3.1rem; padding: 0.85rem 1.3rem; font-size: 0.88rem; font-weight: 600; }
.magia-button:hover, .wp-element-button:hover, .wp-block-button__link:hover { background: #06616e; box-shadow: 0 5px 15px #243d6214; }
.magia-button--secondary { color: #176879; background: transparent; border-color: #a9d8df; }
.magia-button--secondary:hover { color: #243d62; background: #e5f7f5; }
.home-hero { background: #fffcf6; }
.home-hero__grid { grid-template-columns: 1.05fr 1fr; gap: 1.5rem; padding-block: clamp(2.5rem, 5vw, 5rem) 2rem; }
.home-hero__content { order: 0; max-width: 37rem; }
.home-hero__content h1 { color: #243d62; max-width: 12ch; font-size: clamp(2.8rem, 5.1vw, 4.6rem); line-height: 1.06; letter-spacing: -0.03em; }
.home-hero__content h1 span { display: block; color: #cf4855; }
.home-hero__intro { max-width: 29rem; font-size: 1rem; line-height: 1.8; }
.home-hero__actions { gap: 0.7rem; margin-top: 1.65rem; }
.atelier-preview { order: 1; border: 0; border-radius: 0; padding: 0; background: none; box-shadow: none; width: 100%; max-width: 36rem; justify-self: end; }
.atelier-preview__art { width: 100%; height: auto; }
.atelier-preview__caption { display: flex; align-items: center; justify-content: center; gap: 1.5rem; margin-top: -1rem; color: #53638a; font-size: 0.75rem; letter-spacing: 0.12em; text-transform: uppercase; }
.atelier-preview__caption span:last-child { color: #cf4855; font-size: 1.6rem; }
.atelier-details { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; border-block: 1px solid #d4e7ed; padding-block: 1.15rem; font-size: 0.76rem; letter-spacing: 0.03em; }
.atelier-details span { display: flex; align-items: center; gap: 0.65rem; }
.atelier-details span::before { content: ""; width: 0.4rem; height: 0.4rem; background: #f4bd42; border-radius: 50%; }
#categorias.home-section { padding-top: clamp(3.5rem, 7vw, 6rem); }
.section-heading { align-items: end; }
.section-heading > p { font-size: 0.95rem; line-height: 1.8; color: #59667c; }
.home-search { border: 0; background: #eef8fc; padding: 1.1rem 1.5rem; border-radius: 0.6rem; }
.home-search input { background: #ffffff; border-color: #bcd5e3; }
.home-search button { background: #087d87; color: #fff; border: 0; border-radius: 0.4rem; min-width: 5.5rem; min-height: 2.875rem; }
.home-search button:hover { background: #06616e; }
.hub-grid { gap: 1.5rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 22rem)); }
.home-main .collection-preview-grid, .hub-main .collection-preview-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 23rem)); gap: 1.5rem; }
.home-main .collection-preview-card, .hub-main .collection-preview-card { --hub-accent: #087d87; overflow: hidden; }
.hub-editorial { max-width: 50rem; margin-block: 3rem; }
.hub-card { position: relative; padding: 1.25rem; border: 1px solid #d7e5ee; border-radius: 1.2rem; background: #ffffff; box-shadow: none; }
.hub-card:hover { box-shadow: var(--magia-shadow-card); }
.hub-card__art { position: relative; overflow: hidden; display: grid; place-items: center; aspect-ratio: 4 / 3; margin: 0 0 1.3rem; border-radius: 0.85rem; background: #d8f5ef; }
.hub-card:nth-child(2) .hub-card__art { background: #fff0bc; }
.hub-card:nth-child(3) .hub-card__art { background: #dcefff; }
.hub-card:nth-child(4) .hub-card__art { background: #eee3ff; }
.hub-card__marker { position: relative; z-index: 1; display: grid; place-items: center; width: 5.5rem; height: 5.5rem; border: 1px solid currentColor; border-radius: 50%; font: 600 3.8rem/1 "Nunito Sans", sans-serif; color: #176879; background: #fffaf066; }
.hub-card__doodle { position: absolute; width: 7rem; height: 7rem; border: 1px solid #17687933; border-radius: 50%; }
.hub-card__doodle--one { left: -2rem; bottom: -1.5rem; }
.hub-card__doodle--two { right: -2rem; top: -2.5rem; width: 10rem; height: 10rem; }
.hub-card__art { border: 0; }
.hub-card__art > img { display: block; width: 100%; height: 100%; object-fit: contain; }
.hub-card__doodle--one { top: auto; right: auto; }
.hub-card__doodle--two { bottom: auto; left: auto; }
.hub-card h3 { margin: 0 0 0.8rem; padding: 0; border: 0; background: none; font-size: 1.45rem; color: #243d62; text-align: left; }
.hub-card__status, .hub-card__pending, .hub-card__link { text-align: left; }
.hub-card__status { color: #7255a2; font-size: 0.65rem; letter-spacing: 0.1em; }
.hub-card__pending { font-size: 0.8rem; color: #59667c; }
.home-section--surface { background: #f0edff; border: 0; }
.level-list li { border-color: #dcd7ed; background: transparent; border-radius: 0; box-shadow: none; }
.level-list li:first-child, .level-list li:nth-child(3) { border-color: #dcd7ed; background: transparent; }
.level-list li:nth-child(3) .level-list__number { background: #e8dfff; }
.home-search label { color: #243d62; font-size: 1rem; }
.home-search__field { gap: 0.5rem; }
.home-search input { border: 1px solid #bcd5e3; border-radius: 0.4rem; }
.section-heading h2, .guide-layout h2 { color: #243d62; }
.level-list__number { color: #b83b50; font-family: "Nunito Sans", sans-serif; }
.quality-panel { border: 1px solid #d4e8ed; background: #edfaf7; border-radius: 0.6rem; box-shadow: none; }
.site-footer { background: #23436c; color: #eef5ff; position: relative; }
.site-footer::before { content: ""; display: block; height: 5px; background: linear-gradient(90deg,#f2757e 0 25%,#ffd166 25% 50%,#41c6bf 50% 75%,#ada0eb 75%); }
.site-footer .site-brand__tagline { color: #e0eaf8; }
.hub-hero { padding-top: 1rem; border-color: #d6e6f0; }
.hub-hero h1 { color: #243d62; }
.preview-notice { background: #e5f7f5; border-color: #31b7b0; box-shadow: none; }
.collection-preview-card { border: 1px solid #d7e5ee; background: #ffffff; border-radius: 0.5rem; box-shadow: var(--magia-shadow-card); overflow: hidden; }
.collection-preview-card h3 { color: #243d62; }
.collection-preview-card > p:not(.collection-preview-card__status):not(.magia-meta) { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; font-size: 0.9rem; }
.collection-preview-card__image { background: #edf7fc; padding: 0.5rem; }
.collection-main { padding-top: 1.6rem; }
.magia-collection { background: #fffcf6; }
.magia-breadcrumbs { font-size: 0.75rem; margin-bottom: 1.8rem; line-height: 1.8; }
.collection-hero { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: clamp(2rem, 5vw, 5rem); border: 0; border-radius: 0; box-shadow: none; padding: 1.5rem 0 3rem; background: none; overflow: visible; }
.collection-hero::before, .collection-hero::after { display: none; }
.collection-hero:not(:has(.collection-cover)) { grid-template-columns: 1fr; }
.collection-hero:not(:has(.collection-cover)) .collection-header { max-width: 60rem; }
.collection-hero:not(:has(.collection-cover)) h1 { max-width: 22ch; }
.collection-header { color: #243d62; }
.collection-header h1 { font-family: var(--magia-font-heading); color: #243d62; font-weight: 600; font-size: clamp(2.4rem, 4.5vw, 4.1rem); line-height: 1.08; max-width: 17ch; }
.collection-header .magia-eyebrow { color: #7255a2; letter-spacing: 0.15em; }
.collection-intro { color: #59667c; font-size: 0.96rem; line-height: 1.85; }
.collection-cover { border: 0.65rem solid #fff; border-radius: 0.25rem; transform: rotate(1deg); box-shadow: 0 16px 35px #243d6214; }
.collection-cover::before { background: #ffdf8b; border: 1px solid #d6e6f0; inset: 0.4rem -1rem -0.9rem 0.4rem; border-radius: 0.2rem; transform: rotate(-3deg); }
.collection-cover img { border-radius: 0; }
.collection-summary { margin-bottom: 3.5rem; border-block: 1px solid #d2e9ed; border-inline: 0; border-radius: 0; background: transparent; box-shadow: none; padding-block: 1.25rem; }
.collection-summary li { border-right: 1px solid #d8e7ee; }
.collection-summary strong { color: #087d87; font-size: 1.6rem; }
.collection-summary span { font-size: 0.76rem; }
.collection-section { border-top: 1px solid #d8e7ee; padding-block: clamp(2.8rem, 5vw, 4.5rem); }
.collection-gallery-section { border: 0; padding-top: 0; }
.collection-section__heading h2 { font-family: var(--magia-font-heading); color: #243d62; font-weight: 600; }
.collection-gallery { gap: 1.7rem 1.25rem; counter-reset: atelier-drawing; }
.collection-card { position: relative; counter-increment: atelier-drawing; border: 1px solid #d9e7ef; border-radius: 0.35rem; box-shadow: 0 3px 10px #243d6206; background: #ffffff; }
.collection-card:hover { transform: translateY(-3px); border-color: #2bb8b2; box-shadow: 0 12px 25px #243d6210; }
.collection-card__image { border-bottom: 1px solid #e4edf3; padding: 0.35rem; background: #fff; }
.collection-card__body { padding: 1rem; background: #ffffff; }
.collection-card .magia-meta { color: #12646e; background: #e5f7f5; font-size: 0.66rem; letter-spacing: 0.04em; border-radius: 2px; }
.collection-card h3 { color: #243d62; font-family: var(--magia-font-body); font-size: 1rem; font-weight: 600; line-height: 1.5; }
.collection-card__actions { gap: 0.45rem; }
.collection-card__actions .magia-button { font-size: 0.76rem; padding-inline: 0.35rem; border-radius: 0.25rem; }
.collection-card__actions .magia-button:not(.magia-button--secondary) { background: #087d87; }
.collection-card__actions .magia-button:not(.magia-button--secondary):hover { background: #06616e; }
.collection-card__actions .magia-button--secondary { color: #176879; border-color: #a9d8df; }
.collection-steps li { border: 1px solid #cce6ef; box-shadow: none; border-radius: 0.4rem; background: #eef9fd; }
.collection-steps li::before { color: #b83b50; font-size: 1.3rem; }
.collection-editorial__content { font-size: 1rem; line-height: 1.85; }
.collection-editorial__content :is(h2,h3) { font-size: 1.65rem; }
.collection-activity-list li, .collection-related-list li { border: 1px solid #e5daf6; background: #f5efff; box-shadow: none; border-radius: 0.4rem; }
.collection-faq summary { color: #243d62; min-height: 3rem; }
summary:focus-visible { outline: 3px solid #b83b50; outline-offset: 4px; }
.collection-license { background: #275b87; box-shadow: none; border-radius: 0.6rem; }
.collection-traceability dl > div { background: #e5f7f5; border-color: #2bb8b2; }

/* Bright accents stay outside the white printable sheets. */
.site-header { border-top: 5px solid transparent; border-image: linear-gradient(90deg, #2bb8b2 0 30%, #f2757e 30% 55%, #ffd166 55% 78%, #ada0eb 78%) 1; }
.home-hero { background: radial-gradient(ellipse at 92% 35%, #e2f8fa 0, transparent 56%), #fffcf6; }
.home-hero__content h1 { max-width: 15ch; }
.home-hero__content h1 span { margin-top: 0.12em; }
.site-navigation a:hover { background: #e5f7f5; border-radius: 0.7rem; }
.atelier-details { border: 0; border-radius: 1rem; padding: 1.25rem 1.4rem; background: #e5f7f5; }
.atelier-details span:nth-child(2)::before { background: #f2757e; }
.atelier-details span:nth-child(3)::before { background: #9583d5; }
.atelier-details span:nth-child(4)::before { background: #2bb8b2; }
.hub-card__marker { border: 2px solid currentColor; background: #ffffff8c; }
.hub-card:nth-child(2) .hub-card__marker { color: #916217; }
.hub-card:nth-child(3) .hub-card__marker { color: #2d6394; }
.hub-card:nth-child(4) .hub-card__marker { color: #7551a3; }
.level-list li, .level-list li:first-child, .level-list li:nth-child(3) { background: #fff; border-radius: 1rem; border: 1px solid #dedbf0; }
.collection-summary { background: #edf9fb; border: 1px solid #cfe9ee; border-radius: 1.1rem; padding-inline: 0.5rem; }
.collection-summary li:nth-child(2) strong { color: #b83b50; }
.collection-summary li:nth-child(3) strong { color: #8c6417; }
.collection-summary li:nth-child(4) strong { color: #7551a3; }
.collection-summary li:nth-child(5) strong { color: #2d6394; }
.collection-card { border-top: 4px solid var(--card-accent, #2bb8b2); }
.collection-card:nth-child(4n + 1) { --card-accent: #2bb8b2; }
.collection-card:nth-child(4n + 2) { --card-accent: #f2757e; }
.collection-card:nth-child(4n + 3) { --card-accent: #ffd166; }
.collection-card:nth-child(4n) { --card-accent: #ada0eb; }
.collection-card:nth-child(4n + 2) .magia-meta { color: #a63149; background: #ffeaee; }
.collection-card:nth-child(4n + 3) .magia-meta { color: #7e5a13; background: #fff3cf; }
.collection-card:nth-child(4n) .magia-meta { color: #684591; background: #f0e8ff; }
.collection-cover { border-radius: 1rem; }
.collection-cover img, .collection-cover::before { border-radius: 0.6rem; }
.collection-preview-card { border-radius: 1rem; }
.collection-steps li:nth-child(2) { background: #fff5d9; border-color: #efdda5; }
.collection-steps li:nth-child(3) { background: #fff0f1; border-color: #f1d4d8; }

@media (max-width: 62rem) {
	.home-hero__grid { grid-template-columns: 1.05fr 0.95fr; gap: 1rem; }
	.home-hero__content h1 { font-size: clamp(2.8rem, 5.6vw, 4rem); }
	.collection-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 56rem) {
	.home-hero__grid { grid-template-columns: 1fr; padding-top: 2.5rem; }
	.home-hero__content { max-width: 38rem; }
	.home-hero__content h1 { max-width: 16ch; }
	.atelier-preview { max-width: 28rem; justify-self: center; }
	.atelier-details { justify-content: flex-start; gap: 0.8rem 1.5rem; }
	.primary-navigation li:last-child a { margin-left: 0; border: 0; padding-inline: 0.8rem; }
	.collection-hero { grid-template-columns: 1fr; padding-top: 0.5rem; }
	.collection-header { max-width: 42rem; }
	.collection-cover { max-width: 36rem; transform: none; }
	.collection-summary li:nth-child(n+4) { border-color: #d8e7ee; }
}
@media (max-width: 36rem) {
	.site-shell { width: calc(100% - 2rem); }
	.site-header__inner { gap: 0.75rem; min-height: 5rem; }
	.site-brand__name { font-size: 1rem; }
	.site-brand { gap: 0.4rem; }
	.home-hero__content h1 { font-size: clamp(2.65rem, 10.6vw, 3.5rem); }
	.home-hero__actions { display: flex; }
	.home-hero__actions .magia-button { width: auto; }
	.home-hero__actions .magia-button--secondary { border: 0; padding-left: 0; }
	.atelier-details { display: grid; grid-template-columns: 1fr 1fr; font-size: 0.65rem; }
	.home-search { padding: 1rem; }
	.collection-gallery { grid-template-columns: 1fr; }
	.collection-header h1 { font-size: 2.6rem; }
	.collection-summary ul { grid-template-columns: repeat(2, minmax(0,1fr)); }
	.collection-summary li, .collection-summary li:nth-child(3) { margin: 0; padding: 0.7rem 0.3rem; border: 0; }
	.collection-summary li:last-child { grid-column: 1 / -1; }
	.collection-summary { padding-block: 0.45rem; margin-bottom: 1.8rem; }
	.collection-summary li, .collection-summary li:nth-child(n+4) { display: flex; flex-direction: row; align-items: baseline; justify-content: center; gap: 0.4rem; margin: 0; padding: 0.45rem 0.2rem; border: 0; }
	.collection-summary strong { font-size: 1.25rem; }
	.collection-card__actions .magia-button { font-size: 0.87rem; }
}
.collection-jump { margin-block: 1rem; }
#collection-gallery-title { scroll-margin-top: 6rem; }
.magia-search-form { margin-block: 1.5rem 2rem; }
.magia-search-form label { display: block; margin-bottom: 0.5rem; font-weight: 700; }
.magia-search-form__controls { display: flex; gap: 0.5rem; flex-wrap: wrap; }
.magia-search-form input { flex: 1 1 12rem; min-width: 0; min-height: 3rem; border: 1px solid #61758d; border-radius: 0.5rem; padding: 0.6rem; font: inherit; }
.search-result { border-top: 1px solid #cfe0e6; padding-block: 1.5rem; }
@media print {
	.site-header, .site-footer, .home-hero__actions { display: none; }
	body, .magia-collection { background: #fff; }
	.collection-card { break-inside: avoid; box-shadow: none; }
}
