/* Encabezado y pie de página del sitio.
   Todo va dentro de .sc para que se vea igual también en las páginas
   que traen sus propios estilos (talleres de Navidad). */
@font-face {
  font-family: "LosSecretos";
  src: url("/fonts/LosSecretos-Regular.otf") format("opentype");
  font-display: swap;
}

.sc {
  --sc-mauve: #8086a2;
  --sc-mauve-deep: #5d6378;
  --sc-rose: #b67773;
  --sc-rose-deep: #9a5f5b;
  --sc-blush: #f2e5dc;
  --sc-line: #e4ddd6;
  --sc-text: #4f5566;
  --sc-script: "LosSecretos", "Brush Script MT", cursive;
  --sc-sans: "Poppins", system-ui, sans-serif;
  font-family: var(--sc-sans);
  line-height: 1.6;
  color: var(--sc-text);
  text-align: left;
}
.sc *, .sc *::before, .sc *::after { box-sizing: border-box; }
.sc .wrap { width: min(1140px, 100% - 32px); max-width: none; margin-inline: auto; padding: 0; }
.sc a { text-decoration: none; }
.sc ul { list-style: none; margin: 0; padding: 0; }
.sc h4, .sc p { margin: 0; padding: 0; }
.sc img { display: block; max-width: 100%; height: auto; }
.sc .sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.sc :focus-visible { outline: 2px solid var(--sc-rose); outline-offset: 3px; }

.sc .btn {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 46px; padding: 0 24px; margin: 0;
  background: var(--sc-rose); color: #fff;
  font: 500 15px/1.2 var(--sc-sans); letter-spacing: 0; text-transform: none;
  border: 1px solid var(--sc-rose); border-radius: 999px; cursor: pointer; box-shadow: none;
}
.sc .btn:hover { background: var(--sc-rose-deep); border-color: var(--sc-rose-deep); color: #fff; }

/* Barra superior */
.sc.topbar { background: var(--sc-mauve); color: #fff; font-size: 12.5px; font-weight: 500; }
.sc.topbar .wrap { display: flex; align-items: center; gap: 20px; min-height: 40px; }
.sc.topbar a { color: #fff; display: inline-flex; align-items: center; gap: 6px; opacity: .95; }
.sc.topbar a:hover { opacity: 1; text-decoration: underline; }
.sc.topbar .spacer { flex: 1; }
.sc .social { display: inline-flex; gap: 12px; align-items: center; }
.sc .social svg { width: 15px; height: 15px; fill: currentColor; }

/* Menú */
.sc.site-header { background: rgba(255,255,255,.96); backdrop-filter: blur(6px); position: sticky; top: 0; z-index: 40; border-bottom: 1px solid var(--sc-line); }
.sc.site-header .wrap { display: flex; align-items: center; justify-content: space-between; min-height: 72px; gap: 24px; position: relative; }
.sc .logo { font-family: var(--sc-script); font-size: 34px; line-height: 1; color: var(--sc-mauve-deep); white-space: nowrap; letter-spacing: 0; }
.sc .nav { display: flex; align-items: center; gap: 28px; }
.sc .nav a { color: var(--sc-text); font-size: 14px; font-weight: 500; padding: 6px 0; border-bottom: 1.5px solid transparent; letter-spacing: 0; }
.sc .nav a:hover { color: var(--sc-rose-deep); }
.sc .nav a[aria-current="page"] { color: var(--sc-rose-deep); border-color: var(--sc-rose); }
.sc .nav a.nav-cta { background: var(--sc-rose); color: #fff; padding: 8px 18px; border-radius: 999px; border: 0; }
.sc .nav a.nav-cta:hover { background: var(--sc-rose-deep); }
.sc .nav-toggle { display: none; background: none; border: 0; padding: 8px; cursor: pointer; color: var(--sc-mauve-deep); }
.sc .nav-toggle svg { width: 28px; height: 28px; display: block; }

@media (max-width: 1080px) { .sc .nav { gap: 18px; } .sc .nav a { font-size: 13px; } .sc .logo { font-size: 30px; } }
@media (max-width: 940px) {
  .sc.topbar .amazon-text { display: none; }
  .sc .nav-toggle { display: block; }
  .sc .nav {
    display: none; position: absolute; left: -16px; right: -16px; top: 100%;
    flex-direction: column; align-items: stretch; gap: 0;
    background: #fff; border-bottom: 1px solid var(--sc-line); padding: 8px 0 18px;
  }
  .sc .nav.open { display: flex; }
  .sc .nav a { padding: 13px 24px; font-size: 16px; border: 0; }
  .sc .nav a[aria-current="page"] { background: #f0ece8; }
  .sc .nav a.nav-cta { margin: 10px 24px 0; text-align: center; padding: 13px; }
}

/* Pie de página */
.sc.site-footer { background: var(--sc-mauve); color: #fff; padding: 64px 0 28px; font-size: 14px; }
.sc.site-footer .cols { display: grid; grid-template-columns: 1.4fr 1fr 1fr 2fr; gap: 40px; align-items: start; }
.sc.site-footer h4 { font: 600 15px/1.3 var(--sc-sans); margin-bottom: 14px; color: #fff; letter-spacing: 0; text-transform: none; }
.sc.site-footer li a { color: #fff; line-height: 2.1; opacity: .92; }
.sc.site-footer li a:hover { opacity: 1; text-decoration: underline; }
.sc.site-footer .logo-white { width: 190px; }
.sc.site-footer .brand p { margin-top: 16px; opacity: .9; max-width: 30ch; }
.sc.site-footer .social { margin-top: 14px; gap: 14px; }
.sc.site-footer .social svg { width: 18px; height: 18px; }
.sc.site-footer .social a { color: #fff; }
.sc.site-footer .join p { opacity: .9; }
.sc .signup { display: flex; gap: 8px; max-width: 520px; margin: 14px 0 0; }
.sc .signup input { flex: 1; border: 0; border-radius: 999px; padding: 0 20px; min-height: 48px; font: 400 15px var(--sc-sans); min-width: 0; background: #fff; color: var(--sc-text); }
.sc.site-footer .signup .btn { background: var(--sc-mauve-deep); border-color: var(--sc-mauve-deep); }
.sc.site-footer .signup .btn:hover { background: #474c5d; }
.sc .form-note { font-size: 14px; color: #fff; margin-top: 10px; min-height: 1.4em; }
.sc.site-footer .copy { text-align: center; margin-top: 48px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.25); font-size: 12.5px; opacity: .85; }
@media (max-width: 960px) {
  .sc.site-footer .cols { grid-template-columns: 1fr 1fr; }
  .sc.site-footer .brand, .sc.site-footer .join { grid-column: 1 / -1; }
}
@media (max-width: 520px) { .sc .signup { flex-direction: column; } }
