/* Approved home components from app-staging/ui/assets/app.css, scoped to the
 * new body only. Load after legacy CSS; no navbar/footer selectors are added. */
#ic-home-approved {
  --ink: #0b2431;
  --ink-2: #123746;
  --ink-3: #1b4f63;
  --paper: #f4f8f8;
  --white: #ffffff;
  --muted: #536b76;
  --line: #d7e3e7;
  --orange: #ff9800;
  --orange-dark: #d96f00;
  --cyan: #31c0b3;
  --red: #ff3145;
  --purple: #9b3cc1;
  --green: #0aab72;
  --whatsapp: #25d366;
  --whatsapp-dark: #128c7e;
  --yellow: #ffd740;
  --shadow: 0 18px 55px rgba(6, 35, 48, .12);
  --radius: 22px;
  --radius-sm: 14px;
  --content: 1180px;
  color-scheme: light;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-size: 16px;
  line-height: 1.55;
  font-weight: 400;
  -webkit-font-smoothing: auto;
}
#ic-home-approved, #ic-home-approved *, #ic-home-approved *::before, #ic-home-approved *::after { box-sizing: border-box; }

/* Restore the approved defaults that Bootstrap/kidz would otherwise change. */
#ic-home-approved h1, #ic-home-approved h2, #ic-home-approved h3 { color: inherit; font-family: inherit; font-weight: bold; }
#ic-home-approved p { color: inherit; font-size: inherit; font-weight: inherit; line-height: inherit; }
#ic-home-approved .lead { font-weight: 400; }
#ic-home-approved .container { max-width: none; padding: 0; }
#ic-home-approved a, #ic-home-approved a:where(:hover) { color: inherit; text-decoration: none; }
#ic-home-approved img { display: block; max-width: 100%; }
#ic-home-approved button { font: inherit; }

/* Approved base layout. */
#ic-home-approved .container { width: min(var(--content), calc(100% - 2rem)); margin-inline: auto; }
#ic-home-approved .section { padding: 4.5rem 0; }
#ic-home-approved .section.compact { padding: 2.75rem 0; }
#ic-home-approved .section-dark { background: var(--ink); color: var(--white); }
#ic-home-approved .section-white { background: var(--white); }
#ic-home-approved .eyebrow { margin: 0 0 .65rem; color: #a95000; font-weight: 850; text-transform: uppercase; letter-spacing: .12em; font-size: .77rem; }
#ic-home-approved .eyebrow.cyan { color: #087b72; }
#ic-home-approved .eyebrow.purple { color: #78309a; }
#ic-home-approved .section-dark .eyebrow, #ic-home-approved .feature-panel .eyebrow, #ic-home-approved .info-card.dark .eyebrow { color: #ffb13b; }
#ic-home-approved .section-dark .eyebrow.cyan { color: #62ddd2; }
#ic-home-approved .section-dark .eyebrow.purple { color: #e4a0f5; }
#ic-home-approved h1, #ic-home-approved h2, #ic-home-approved h3 { margin: 0; line-height: 1.08; letter-spacing: -.035em; }
#ic-home-approved h1 { font-size: clamp(2.2rem, 8vw, 4.65rem); }
#ic-home-approved h2 { font-size: clamp(1.75rem, 5vw, 3rem); }
#ic-home-approved h3 { font-size: clamp(1.15rem, 3vw, 1.55rem); }
#ic-home-approved p { margin: .75rem 0 0; }
#ic-home-approved .lead { max-width: 760px; font-size: clamp(1.05rem, 2.2vw, 1.32rem); color: #d9e8ed; }
#ic-home-approved .muted { color: var(--muted); }
#ic-home-approved .section-dark .muted { color: #c9dbe1; }
#ic-home-approved .section-head { display: flex; flex-direction: column; gap: 1rem; margin-bottom: 1.65rem; }
#ic-home-approved .section-head p { max-width: 720px; }

#ic-home-approved .button { cursor: pointer; min-height: 46px; display: inline-flex; align-items: center; justify-content: center; gap: .5rem; border: 1px solid transparent; border-radius: 13px; padding: .75rem 1rem; font-weight: 850; transition: transform .18s ease, background .18s ease, border-color .18s ease; }
#ic-home-approved .button:hover { transform: translateY(-1px); }
#ic-home-approved .button-primary { background: var(--orange); color: #0a202b; }
#ic-home-approved .button-primary:hover { background: #ffad2c; }
#ic-home-approved .button-dark { background: var(--ink); color: var(--white); }
#ic-home-approved .button-light { background: var(--white); color: var(--ink); }
#ic-home-approved .button-outline { border-color: #b7cad1; background: transparent; color: inherit; }
#ic-home-approved .button-small { min-height: 38px; padding: .48rem .75rem; font-size: .9rem; }
#ic-home-approved .button:focus-visible { box-shadow: 0 0 0 4px rgba(49,192,179,.2); }

#ic-home-approved .hero { position: relative; min-height: 620px; display: grid; align-items: end; overflow: hidden; background: var(--ink); color: var(--white); }
#ic-home-approved .hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(5,25,34,.94) 0%, rgba(8,34,45,.77) 52%, rgba(8,34,45,.28) 100%), url("https://www.erasmusnapoli.com/assets/img/napoli_1.jpg") center/cover no-repeat; transform: scale(1.01); }
#ic-home-approved .hero::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 8px; background: linear-gradient(90deg, var(--orange) 0 25%, var(--cyan) 25% 50%, var(--red) 50% 75%, var(--purple) 75%); }
#ic-home-approved .hero-inner { position: relative; padding: 5.5rem 0 4.5rem; }
#ic-home-approved .hero-copy { max-width: 790px; }
#ic-home-approved .hero .eyebrow { color: #ffb13b; }
#ic-home-approved .hero-actions { display: flex; gap: .75rem; flex-wrap: wrap; margin-top: 1.6rem; }

#ic-home-approved .quick-grid { display: grid; gap: .85rem; margin-top: -2rem; position: relative; z-index: 3; }
#ic-home-approved .quick-card { min-height: 140px; display: grid; grid-template-columns: minmax(0,1fr) 42px; align-items: center; gap: 1rem; padding: 1.35rem; border-radius: var(--radius-sm); color: var(--white); box-shadow: var(--shadow); overflow: hidden; position: relative; isolation: isolate; transition: transform .18s ease, box-shadow .18s ease; }
#ic-home-approved .quick-card::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(135deg, rgba(11,36,49,.12), transparent 55%); }
#ic-home-approved .quick-card::after { content: "→"; width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.48); border-radius: 50%; font-size: 1.05rem; transition: transform .18s ease, background-color .18s ease; }
#ic-home-approved .quick-card:hover { transform: translateY(-3px); box-shadow: 0 22px 48px rgba(6,35,48,.18); }
#ic-home-approved .quick-card:hover::after { transform: translateX(3px); background: rgba(255,255,255,.13); }
#ic-home-approved .quick-card:focus-visible { outline: 3px solid var(--white); outline-offset: 2px; box-shadow: 0 0 0 6px var(--ink), var(--shadow); }
#ic-home-approved .quick-card:nth-child(1) { background: #b62539; }
#ic-home-approved .quick-card:nth-child(2) { background: #a95300; }
#ic-home-approved .quick-card:nth-child(3) { background: #08776f; }
#ic-home-approved .quick-card:nth-child(4) { background: #713091; }
#ic-home-approved .quick-card:nth-child(5) { background: #075e54; }
#ic-home-approved .quick-card.quick-card-whatsapp { background: #075e54; color: var(--white); }
#ic-home-approved .quick-card.quick-card-whatsapp .whatsapp-icon { color: var(--whatsapp); }
#ic-home-approved .quick-card > span { display: flex; min-width: 0; flex-direction: column; justify-content: center; gap: .38rem; margin: 0; }
#ic-home-approved .quick-card strong { display: block; font-size: 1.18rem; line-height: 1.18; }
#ic-home-approved .quick-card span { display: block; margin: 0; opacity: 1; font-size: .9rem; line-height: 1.42; }
#ic-home-approved .quick-card > span > span:not(.quick-card-title) { color: var(--white); }
#ic-home-approved .quick-card .quick-card-title { display: flex; align-items: center; gap: .5rem; margin: 0; }
#ic-home-approved .quick-card .quick-card-title strong { display: inline; }
#ic-home-approved .whatsapp-icon { flex: 0 0 auto; width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
#ic-home-approved .button-whatsapp { border-color: var(--whatsapp); background: var(--whatsapp); color: #062b1a; }
#ic-home-approved .button-whatsapp:hover { border-color: #20c861; background: #20c861; }

#ic-home-approved .event-grid { display: grid; gap: 1rem; }
#ic-home-approved .event-card { background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; box-shadow: 0 10px 32px rgba(6,35,48,.07); }
#ic-home-approved .event-card { display: block; color: inherit; cursor: pointer; transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
#ic-home-approved .event-card:hover { transform: translateY(-3px); box-shadow: 0 16px 32px rgba(5,24,32,.14); border-color: #8fb4c3; }
#ic-home-approved .event-card:focus-visible { outline: 3px solid var(--orange); outline-offset: 4px; }
#ic-home-approved .event-card:hover .event-actions .button, #ic-home-approved .event-card:focus-visible .event-actions .button { background: var(--ink); border-color: var(--ink); color: var(--white); }
#ic-home-approved .event-cover { aspect-ratio: 16/10; background: #214b5c center/cover no-repeat; position: relative; }
#ic-home-approved .event-cover::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 45%, rgba(7,30,39,.26)); }
#ic-home-approved .event-body { padding: 1.1rem; }
#ic-home-approved .event-meta { display: grid; grid-template-columns: 64px 1fr; gap: .95rem; align-items: start; }
#ic-home-approved .date-box { min-height: 68px; border-radius: 14px; background: #edf4f5; display: grid; place-items: center; align-content: center; color: var(--ink); line-height: 1; }
#ic-home-approved .date-box strong { font-size: 1.65rem; }
#ic-home-approved .date-box span { margin-top: .35rem; font-size: .7rem; font-weight: 900; text-transform: uppercase; }
#ic-home-approved .event-card.orange .date-box { background: #fff0d8; color: #8a4800; }
#ic-home-approved .event-card.purple .date-box { background: #f4e6fa; color: #6f258e; }
#ic-home-approved .event-card.cyan .date-box { background: #dff7f4; color: #08796f; }
#ic-home-approved .event-kicker { color: var(--muted); font-size: .75rem; font-weight: 850; text-transform: uppercase; letter-spacing: .09em; }
#ic-home-approved .event-title { margin-top: .35rem; }
#ic-home-approved .event-location { margin-top: .55rem; color: var(--muted); font-size: .93rem; }
#ic-home-approved .event-actions { margin-top: 1rem; display: flex; justify-content: space-between; align-items: center; gap: .8rem; }
#ic-home-approved .price { font-weight: 900; font-size: 1.08rem; }
#ic-home-approved .price-group { display: grid; }
#ic-home-approved .price-group small { color: var(--muted); font-size: .76rem; }

#ic-home-approved .split { display: grid; gap: 1.25rem; }
#ic-home-approved .feature-photo { min-height: 330px; border-radius: var(--radius); background: var(--ink-2) center/cover no-repeat; box-shadow: var(--shadow); }
#ic-home-approved .feature-panel { padding: 1.6rem; background: var(--ink); color: var(--white); border-radius: var(--radius); }
#ic-home-approved .feature-panel p { color: #c7d9df; }
#ic-home-approved .feature-list { list-style: none; margin: 1.25rem 0; padding: 0; display: grid; gap: .75rem; }
#ic-home-approved .feature-list li { display: grid; grid-template-columns: 22px 1fr; gap: .5rem; }
#ic-home-approved .feature-list li::before { content: "✓"; color: var(--orange); font-weight: 900; }
#ic-home-approved .duo-grid { display: grid; gap: 1rem; }
#ic-home-approved .info-card { padding: 1.5rem; border-radius: var(--radius); background: var(--white); border: 1px solid var(--line); }
#ic-home-approved .info-card.dark { background: var(--ink); color: var(--white); border-color: var(--ink); }
#ic-home-approved .info-card.cyan { border-top: 6px solid var(--cyan); }
#ic-home-approved .info-card.red { border-top: 6px solid var(--red); }
#ic-home-approved .info-card.purple { border-top: 6px solid var(--purple); }
#ic-home-approved .info-card p { color: var(--muted); }
#ic-home-approved .info-card.dark p { color: #c6d7dd; }
#ic-home-approved .link-arrow { display: inline-flex; gap: .45rem; margin-top: 1.2rem; font-weight: 850; }
#ic-home-approved .whatsapp { background: #0d9f71; color: var(--white); border-radius: var(--radius); padding: 1.7rem; display: grid; gap: 1.2rem; align-items: center; }
#ic-home-approved .whatsapp p { color: #e3fff5; }
#ic-home-approved a:focus-visible { outline: 3px solid rgba(49,192,179,.34); outline-offset: 2px; }
#ic-home-approved .form-actions { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 1.25rem; }
#ic-home-approved .empty { text-align: center; padding: 2rem; color: var(--muted); }

/* Public legacy content retained inside the approved card vocabulary. */
#ic-home-approved .event-description { color: var(--muted); font-size: .93rem; }
#ic-home-approved .association-copy > p:not(.eyebrow) { max-width: 960px; }
#ic-home-approved .service-grid { display: grid; gap: 1rem; }
#ic-home-approved .service-links { list-style: none; padding: 0; margin: 1.2rem 0 0; display: grid; gap: .65rem; }
#ic-home-approved .service-links a { color: #075f75; font-weight: 850; text-decoration: underline; text-underline-offset: 3px; }
#ic-home-approved .community-links { grid-template-columns: repeat(2, minmax(0,1fr)); }
#ic-home-approved .section[id] { scroll-margin-top: 130px; }
#ic-home-approved .event-grid > .empty { grid-column: 1 / -1; }

@media (max-width: 699px) {
  #ic-home-approved .section { padding: 3rem 0; }
}
@media (max-width: 899px) {
  #ic-home-approved .button-small { min-height: 44px; }
}
@media (min-width: 620px) {
  #ic-home-approved .quick-grid { grid-template-columns: repeat(2, 1fr); }
  #ic-home-approved .event-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  #ic-home-approved .whatsapp { grid-template-columns: 1fr auto; }
}
@media (min-width: 900px) {
  #ic-home-approved .quick-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
  #ic-home-approved .quick-card { min-height: 150px; }
  #ic-home-approved .event-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
  #ic-home-approved .split { grid-template-columns: 1.05fr .95fr; align-items: stretch; }
  #ic-home-approved .feature-panel { padding: 2.3rem; }
  #ic-home-approved .duo-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  #ic-home-approved .service-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
}
@media (min-width: 1180px) {
  #ic-home-approved .quick-grid { grid-template-columns: repeat(5, minmax(0,1fr)); }
}
@media (max-width: 480px) {
  #ic-home-approved .container { width: min(var(--content), calc(100% - 1.25rem)); }
  #ic-home-approved .hero { min-height: 560px; }
  #ic-home-approved .hero-actions, #ic-home-approved .form-actions { display: grid; grid-template-columns: 1fr; }
  #ic-home-approved .hero-actions .button, #ic-home-approved .form-actions .button { width: 100%; }
  #ic-home-approved .event-actions { align-items: stretch; flex-direction: column; }
  #ic-home-approved .event-actions .button { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  #ic-home-approved, #ic-home-approved *, #ic-home-approved *::before, #ic-home-approved *::after { scroll-behavior: auto !important; transition: none !important; }
}
