/* Public navigation refresh: intentionally isolated from the admin stylesheet. */
.site-header .public-navigation { display:flex; flex-wrap:wrap; gap:8px; }
.public-navigation a { display:inline-flex; align-items:center; justify-content:center; gap:7px; padding:11px 13px; min-height:44px; border:1px solid var(--line); border-radius:12px; background:var(--paper); font-size:.875rem; font-weight:650; }
.public-navigation svg { width:19px; height:19px; flex-shrink:0; }
.public-navigation a:hover { background:#e4eee8; border-color:#a6bcae; }
.learning-path-section { width:min(1180px,calc(100% - 48px)); margin:0 auto; padding:28px 0 12px; scroll-margin-top:24px; }
.path-section-heading { margin-bottom:26px; }
.path-section-heading h2 { font-size:clamp(1.8rem,3.3vw,2.7rem); line-height:1.2; margin:8px 0 12px; }
.path-section-heading > p:last-child { color:#586157; font-size:1rem; line-height:1.6; }
.learning-paths { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.learning-path { --path-color:#174f3a; --path-tint:#e5f0e9; display:flex; flex-direction:column; align-items:flex-start; gap:22px; min-width:0; padding:26px; border:1px solid #ccd8cf; border-top:4px solid var(--path-color); border-radius:20px; background:var(--paper); color:var(--ink); box-shadow:0 6px 20px #1f271e06; transition:transform .18s,box-shadow .18s; }
.path-situazioni { --path-color:#9c382b; --path-tint:#f9e7e2; border-color:#e5cec8; }
.path-letture { --path-color:#354ea0; --path-tint:#e9edfb; border-color:#cfd7ef; }
.path-icon { display:flex; align-items:center; justify-content:center; flex:0 0 auto; width:56px; height:56px; background:var(--path-tint); color:var(--path-color); border-radius:16px; }
.path-icon svg { width:30px; height:30px; }
.path-content { display:flex; flex-direction:column; flex:1; width:100%; min-width:0; }
.path-content > strong { display:block; font:750 1.35rem/1.3 system-ui,sans-serif; margin-bottom:12px; }
.path-description { display:block; color:#566057; font-size:1rem; line-height:1.65; margin-bottom:24px; }
.path-action { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:auto; min-height:48px; padding:12px 16px; background:var(--path-tint); color:var(--path-color); border-radius:12px; font-size:1rem; font-weight:700; }
.path-action > span { font-size:1.35rem; }
.learning-path:hover { transform:translateY(-3px); box-shadow:0 12px 26px #1f271e12; }
.learning-path:hover .path-action,.learning-path.is-current .path-action { background:var(--path-color); color:#fff; }
.learning-path.is-current { outline:2px solid var(--path-color); outline-offset:2px; }
.reading-catalog-content > .learning-paths { margin-bottom:36px; }
.primary-button,.dark-button,.series-button { border-radius:14px; min-height:52px; font-size:1rem; gap:12px; }
.series-button { background:var(--paper); border-color:#bfc9bf; }
.login-link { border-radius:12px; min-height:44px; display:inline-flex; align-items:center; justify-content:center; }
.catalog-tabs { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.catalog-tabs button { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:12px; min-height:108px; padding:18px; border-radius:16px; font-size:1rem; line-height:1.4; font-weight:650; text-align:left; background:var(--paper); color:var(--ink); }
.catalog-tabs button::before { display:flex; align-items:center; justify-content:center; width:36px; height:36px; border-radius:10px; background:#edf1eb; font-size:1.2rem; content:'▦'; }
.catalog-tabs button[data-series="espressioni"]::before { content:'Aa'; color:#174f3a; background:#e5f0e9; }
.catalog-tabs button[data-series="situazioni"]::before { content:'↔'; color:#9c382b; background:#f9e7e2; }
.catalog-tabs button[data-series="letture"]::before { content:'▤'; color:#354ea0; background:#e9edfb; }
.catalog-tabs button.active { box-shadow:0 4px 12px #174f3a18; }
.catalog-tabs button.active[data-series="situazioni"] { background:#9c382b; border-color:#9c382b; }
.catalog-tabs button.active[data-series="letture"] { background:#354ea0; border-color:#354ea0; }
.catalog-tabs button:hover:not(.active) { border-color:#738573; background:#f0f4ef; }
.public-navigation a:focus-visible,.learning-path:focus-visible,.primary-button:focus-visible,.dark-button:focus-visible,.series-button:focus-visible,.catalog-tabs button:focus-visible,.login-link:focus-visible { outline:3px solid #216ec2; outline-offset:4px; }
@media(max-width:1050px) {
  .site-header { height:auto; min-height:90px; flex-wrap:wrap; gap:14px; padding:18px 0; }
  .site-header .public-navigation { order:3; width:100%; }
  .site-header .login-link { margin-left:auto; }
  .learning-path { padding:20px; }
}
@media(max-width:700px) {
  .learning-paths { grid-template-columns:minmax(0,1fr); gap:14px; }
  .learning-path { flex-direction:row; gap:16px; border-top-width:1px; border-left:4px solid var(--path-color); }
  .path-description { margin-bottom:16px; }
  .catalog-tabs { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .catalog-tabs button { min-height:100px; padding:14px; }
}
@media(max-width:560px) {
  .learning-path-section { width:calc(100% - 32px); padding-top:18px; }
  .site-header .public-navigation { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .public-navigation a { padding:10px 7px; }
  .home-hero { padding-bottom:30px; }
  .hero-actions { align-items:stretch; gap:12px; }
  .hero-actions a { width:100%; }
  .learning-path { padding:18px 14px; gap:12px; }
  .path-icon { width:42px; height:42px; border-radius:12px; }
  .path-icon svg { width:26px; height:26px; }
  .path-content > strong { font-size:1.2rem; }
  .path-action { padding:10px 12px; }
}
@media(prefers-reduced-motion:reduce) { .learning-path { transition:none; } .learning-path:hover { transform:none; } }

/* Mediterranean palette 4.1. Loaded on public pages only; admin is unchanged. */
:root {
  --cream:#f0f8fc;
  --paper:#fffefa;
  --ink:#243747;
  --green:#086ba9; /* Legacy token: now Mediterranean blue. */
  --red:#bc452b;
  --line:rgba(29,83,115,.18);
  --sea:#086ba9;
  --sea-light:#e5f5ff;
  --lemon:#ffda4b;
  --terracotta:#bc452b;
}
.site-header { display:flex; justify-content:space-between; gap:18px; }
.brand strong,.hero h1 { color:#243747; }
.hero h1 span { color:var(--sea); }
.hero-text,.trust-row,.path-section-heading > p:last-child,.random-heading-side > p { color:#506575; }
.public-navigation a { background:#fff; border-color:#c7e0ed; color:#245575; }
.public-navigation a:hover { background:#e5f5ff; border-color:#7db9d6; }
.primary-button { background:var(--sea); color:#fff; }
.primary-button:hover { background:#055787; }
.hero-actions .primary-button { box-shadow:0 10px 24px #086ba926; }
.series-button { background:#fff5c9; border-color:#e3c354; color:#5e4709; }
.series-button:hover { background:var(--lemon); color:#433208; }
.login-link { color:var(--sea); border-color:#82b6d2; background:#fff; }
.login-link:hover { background:var(--sea); color:#fff; }
.learning-path { --path-color:#086ba9; --path-tint:#e5f5ff; background:#fff; border-color:#a9d4ec; }
.path-situazioni { --path-color:#bc452b; --path-tint:#fff0e8; border-color:#efc4b3; }
.path-letture { --path-color:#70500b; --path-tint:#fff0a5; border-color:#e3c354; }
.path-letture .path-icon,.path-letture .path-action { background:var(--lemon); color:#47350a; }
.path-letture:hover .path-action,.path-letture.is-current .path-action { background:#f6cb27; color:#47350a; }
.path-description { color:#506575; }
.learning-path { border-top-color:var(--path-color); }
.path-letture { border-top-color:#e5b91b; }
.catalog-tabs button { background:#fff; border-color:#bdd9e9; color:#284354; }
.catalog-tabs button::before,.catalog-tabs button[data-series="espressioni"]::before { background:#e5f5ff; color:var(--sea); }
.catalog-tabs button[data-series="situazioni"]::before { background:#fff0e8; color:var(--terracotta); }
.catalog-tabs button[data-series="letture"]::before { background:var(--lemon); color:#47350a; }
.catalog-tabs button.active { background:var(--sea); border-color:var(--sea); color:#fff; box-shadow:0 4px 12px #086ba91a; }
.catalog-tabs button.active[data-series="situazioni"] { background:var(--terracotta); border-color:var(--terracotta); }
.catalog-tabs button.active[data-series="letture"] { background:var(--lemon); border-color:#c9a21c; color:#47350a; }
.catalog-tabs button:hover:not(.active) { border-color:#79b7d5; background:#edf8ff; }
.catalog-hero { background:#086ba9; }
.reading-catalog-hero { background:#0b7394; }
.catalog-hero .kicker,.catalog-hero h1 em { color:#ffe586; }
.catalog-hero > p:last-child { color:#fff; }
.cards-promo { background:#e3f5ff; color:#243747; border-top:1px solid #badfed; border-bottom:1px solid #badfed; }
.cards-promo .kicker { color:#a53e25; }
.cards-promo p:not(.kicker) { color:#3e6075; }
.dark-button { background:var(--sea); color:#fff; }
.dark-button:hover { background:#055787; }
.flashcard { background:#fff9df; color:#243747; box-shadow:0 20px 45px #086ba925; }
.flashcard-back { background:var(--terracotta); color:#fff; }
.flashcard-back small { color:#fff2e9; }
.featured-lesson,.home-lesson-card { background:#086ba9; }
.featured-fallback,.home-lesson-fallback { background:linear-gradient(145deg,#67cfdf,#087cac 60%,#086ba9); }
.home-lesson-number { background:#075982e6; }
.home-lesson-slider .home-lesson-card > img { background:#e8f5fb; }
.home-lesson-card:hover > img { transform:none; }
.phrase-block { background:#e3f5ff; color:#243747; }
.phrase-block .kicker { color:#a53e25; }
.phrase-block .block-heading > p:last-child,.phrase-intro { color:#3e6075; }
.phrase-row { background:#fff; border-color:#badced; box-shadow:0 8px 24px #086ba90a; }
.phrase-row:hover { background:#fff; border-color:#70b5d8; }
.phrase-row::after { color:#086ba909; }
.phrase-number { background:#ffed9a; color:#624609; border-color:#e6c65e; }
.phrase-language { color:#a53e25; }
.phrase-translation small { color:#43657a; }
.phrase-translation span { color:#40596c; }
.phrase-row .save-card-button { background:#e8f5ff; border-color:#96c6e1; color:#075b8d; }
.phrase-row .save-card-button:hover { background:#d5eeff; border-color:#086ba9; }
.lesson-page .phrase-block .pronunciation-text { color:#4c6679; }
.pronunciation-toolbar button { background:#fff; border-color:#91c4df; color:#086ba9; }
.pronunciation-toolbar button:hover { background:#e5f5ff; }
.pronunciation-toolbar button[aria-pressed="true"] { background:#086ba9; border-color:#086ba9; color:#fff; }
.pronunciation-toolbar summary,.lesson-page .pronunciation-text,.lesson-page .item-example .pronunciation-text { color:#476579; }
.reading-audio-player { background:#eaf8ff; border-color:#afd6e9; }
.reading-audio-heading strong { color:#086ba9; }
.reading-audio-heading span,.reading-audio-player p { color:#456477; }
.reading-block { background:#fffefa; }
.reading-toolbar { background:#edf8ff; border-color:#badced; }
.reading-book-icon { background:#fff0a5; border-color:#e3c354; }
.reading-content { border-color:#bedbe9; background:#fff; }
.reading-ru small { color:#476579; }
.reading-block[data-mode="alternating"] .reading-ru { background:#edf8ff; border-color:#4098c4; }
.reading-block[data-mode="alternating"] .reading-it { background:#fff7d7; border-color:#e3bd37; }
.item-example,.language-note { background:#fff8dc; border-color:#e3bd37; }
.save-card-button.is-saved { background:#e5f5ff; border-color:#8dbed9; color:#086ba9; }
.saved-card.flipped .card-face { background:#086ba9; }
.flipped .card-face small { color:#ffe586; }
.flipped .card-face span { color:#fff; }
.analytics-consent { background:#fff; border-color:#b8d9eb; }
@media(max-width:700px) {
  .learning-path { border-left-color:var(--path-color); border-top-color:#bdd9e9; }
  .path-situazioni { border-top-color:#efc4b3; }
  .path-letture { border-left-color:#e5b91b; border-top-color:#e3c354; }
}

/* 4.2: complete covers; all editorial text stays outside the image. */
.featured-lesson {
  display:flex; flex-direction:column; height:auto; min-height:0;
  background:#fff; color:var(--ink); align-self:center;
}
.featured-lesson > img,
.catalog-card > img,
.lesson-card > img,
.lesson-hero > img {
  display:block; width:100%; height:auto; max-height:none;
  object-fit:contain; object-position:center; padding:10px;
  background:#fff; flex:none; transform:none; border-radius:0;
}
.featured-lesson:hover img,.lesson-card:hover img { transform:none; }
.featured-shade,.home-lesson-shade { display:none; }
.featured-topline { position:static; display:block; padding:18px 24px 0; color:#476579; }
.featured-copy { position:static; padding:16px 24px 24px; color:var(--ink); min-width:0; }
.featured-copy .pill { color:#a53e25; border-color:#efc4b3; background:#fff0e8; backdrop-filter:none; }
.featured-copy h2 { font-size:clamp(1.8rem,3vw,2.5rem); overflow-wrap:anywhere; }
.featured-copy p { color:#476579; }
.featured-open { color:#fff; background:var(--sea); border:0; border-radius:12px; backdrop-filter:none; }
.featured-fallback { height:240px; flex:none; }
.home-lesson-card {
  display:flex; flex-direction:column; height:auto; min-height:0; aspect-ratio:auto;
  background:#fff; color:var(--ink); border:1px solid var(--line);
}
.home-lesson-card > img,
.home-lesson-slider .home-lesson-card > img {
  display:block; width:100%; height:auto; aspect-ratio:4 / 5; flex:none;
  object-fit:contain; object-position:center; padding:10px; background:#fff;
  transform:none; border-radius:0;
}
.home-lesson-card:hover > img { transform:none; }
.home-lesson-fallback { height:auto; aspect-ratio:4 / 5; flex:none; }
.home-lesson-number { position:static; display:block; align-self:flex-start; margin:18px 22px 0; padding:7px 11px; background:#e5f5ff; color:#075b8d; border:1px solid #b8d9eb; backdrop-filter:none; }
.home-lesson-copy { position:static; display:flex; flex:1; padding:16px 22px 22px; min-width:0; }
.home-lesson-copy small { color:#a53e25; font-size:.875rem; }
.home-lesson-copy strong { font-size:clamp(1.7rem,2.6vw,2.3rem); line-height:1.15; overflow-wrap:anywhere; }
.home-lesson-copy em { color:#476579; margin-bottom:18px; }
.home-lesson-copy b { margin-top:auto; border-color:#c7dfeb; color:#476579; }
.home-lesson-copy i { background:var(--sea); color:#fff; }
.catalog-card { grid-template-columns:minmax(0,1fr); grid-template-rows:auto 1fr; align-content:start; min-width:0; }
.catalog-card > div:last-child { min-width:0; min-height:0; padding:24px; }
.catalog-card h2 { font-size:clamp(1.8rem,3vw,2.4rem); overflow-wrap:anywhere; }
.catalog-card > div > strong,.catalog-card > div > span { overflow-wrap:anywhere; }
.catalog-card > div > span { padding-top:18px; }
.lesson-hero > img { border-radius:14px; }
@media(max-width:560px) {
  .featured-lesson { height:auto; }
  .home-lesson-card { min-height:0; aspect-ratio:auto; }
  .catalog-card > img { height:auto; }
  .featured-copy,.catalog-card > div:last-child { padding:18px; }
  .featured-topline { padding-left:18px; padding-right:18px; }
  .home-lesson-copy { padding:16px 18px 20px; }
  .home-lesson-number { margin-left:18px; }
}
