/*
Theme Name: La Docta
Theme URI: https://apoyoladocta.com.ar/
Author: La Docta
Description: Tema de apoyo universitario. Maqueta visual basada en el proyecto example, con páginas institucionales y doce carreras.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: ladocta
*/

:root {
  --font-dm-sans: "DM Sans", "DM Sans Fallback", sans-serif;
  --font-fraunces: "Fraunces", "Fraunces Fallback", Georgia, serif;
}
[hidden] { display: none !important; }
button, summary { -webkit-tap-highlight-color: transparent; }
button:not(:disabled) { cursor: pointer; }
.skip-link { position: fixed; left: 1rem; top: -6rem; z-index: 99999; padding: .75rem 1rem; background: white; color: var(--primary); border-radius: .5rem; }
.skip-link:focus { top: 1rem; }
nav[aria-label="Principal"] a[aria-current="page"],
nav[aria-label="Principal móvil"] a[aria-current="page"] { background: var(--secondary); color: var(--primary); }
.ladocta-menu { list-style: none; margin: 0; padding: 0; }
.ladocta-menu--desktop { display: flex; align-items: center; gap: .25rem; }
.ladocta-menu--desktop li { position: relative; }
.ladocta-menu--desktop .sub-menu { display: none; position: absolute; top: 100%; left: 0; min-width: 14rem; padding: .5rem; border: 1px solid var(--border); border-radius: .875rem; background: var(--background); box-shadow: 0 8px 24px #0001; }
.ladocta-menu--desktop .sub-menu .sub-menu { top: 0; left: 100%; }
.ladocta-menu--desktop li:hover > .sub-menu,
.ladocta-menu--desktop li:focus-within > .sub-menu { display: block; }
.ladocta-menu--mobile { display: flex; flex-direction: column; }
.ladocta-menu--mobile .sub-menu { padding-left: 1rem; }
.ladocta-menu--footer { display: flex; flex-direction: column; gap: .5rem; margin-top: 1rem; }
.ladocta-menu--footer .sub-menu { padding-left: 1rem; }
.ladocta-menu--desktop .current-menu-ancestor > a,
.ladocta-menu--desktop .current-page-ancestor > a,
.ladocta-menu--mobile .current-menu-ancestor > a,
.ladocta-menu--mobile .current-page-ancestor > a { background: var(--secondary); color: var(--primary); }
[data-course-filter][aria-pressed="true"] { border-color: var(--primary); background: var(--primary); color: var(--primary-foreground); }
[data-course-filter][aria-pressed="false"] { border-color: var(--border); background: var(--card); color: var(--foreground); }
.mock-form-notice { border-radius: .75rem; padding: 1rem; background: var(--secondary); color: var(--secondary-foreground); }
.admin-bar header.sticky { top: 32px; }
.theme-content { max-width: 72rem; margin: auto; padding: 4rem 1.5rem; }
.theme-content h1 { font-size: 2.5rem; margin-bottom: 1.5rem; }
.theme-content p { margin-block: 1rem; }
.ld-course-description > * + * { margin-top: .75rem; }
.ld-course-description a { text-decoration: underline; text-underline-offset: 3px; }
.ld-course-description ul { list-style: disc; padding-left: 1.25rem; }
.ld-course-description ol { list-style: decimal; padding-left: 1.25rem; }
@media (max-width: 782px) { .admin-bar header.sticky { top: 46px; } }
@media (max-width: 600px) { .admin-bar header.sticky { top: 0; } }

/* The WordPress custom logo is shared by the header and footer. */
.ladocta-header-logo .custom-logo-link,
.ladocta-footer-logo .custom-logo-link { display: inline-flex; align-items: center; }
.ladocta-header-logo .custom-logo { display: block; height: 2.25rem; width: auto; }
.ladocta-footer-logo .custom-logo { display: block; height: 2.5rem; width: auto; }

/* Compact, scannable course catalogue on phones. */
@media (max-width: 639px) {
  [data-course-catalog] { padding-top: 1.75rem; padding-bottom: 2.5rem; }
  [data-course-catalog] [aria-label="Filtrar cursos"] { gap: .5rem; }
  [data-course-catalog] [data-course-filter] { min-height: 2.75rem; height: auto; padding: .5rem .875rem; }
  [data-course-catalog] input[type="search"] { height: 2.75rem; font-size: 1rem; }
  [data-course-catalog] [data-course-count] { margin-top: 1.25rem; }
  [data-course-catalog] [data-course-list] { gap: .75rem; margin-top: .75rem; }
  [data-course-catalog] .ld-course-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 2.25rem;
    align-items: center;
    gap: .75rem;
    padding: 1rem;
    border-width: 1px;
    border-radius: 1rem;
  }
  [data-course-catalog] .ld-course-card-area { font-size: .625rem; line-height: 1.4; letter-spacing: .09em; }
  [data-course-catalog] .ld-course-card-title { margin-top: .25rem; font-size: 1.375rem; line-height: 1.2; overflow-wrap: anywhere; }
  [data-course-catalog] .ld-course-card-universities { font-size: .8125rem; line-height: 1.5; }
  [data-course-catalog] .ld-course-card-preparations { margin-top: .625rem; gap: .375rem; }
  [data-course-catalog] .ld-course-card-preparations:empty { display: none; }
  [data-course-catalog] .ld-course-card-preparations li { padding: .25rem .625rem; font-size: .6875rem; line-height: 1.35; }
  [data-course-catalog] .ld-course-card-action { width: 2.25rem; height: 2.25rem; justify-content: center; border-radius: 50%; background: var(--secondary); }
  [data-course-catalog] .ld-course-card-action-label { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  [data-course-catalog] .ld-course-card:active { background: var(--secondary); border-color: var(--primary); }
}
