/*
 * APORS 2027 — tema de la plataforma de gestión.
 * Misma identidad que el sitio público ("Océano Índico / Perth"):
 *   navy #0B1F33 / petróleo #0F3B4C · coral #E8603C · ámbar #F2A65A · arena #F7F1E8 · teal #1F8A8A
 *   tipografía: Fraunces (títulos) + Inter (texto).
 *
 * Criterio: el "chrome" (cabeceras, menús, pie, botón principal) va en océano con acentos
 * coral/ámbar; el contenido (formularios, tablas, pantallas de revisión) queda claro y legible.
 * Foto de cabecera de evento: /brand/perth-header.jpg (CC BY-SA, crédito en el pie y en la web).
 */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,600;9..144,700&family=Inter:wght@400;500;600;700&display=swap');

:root {
  --apors-ink: #071624;
  --apors-navy: #0B1F33;
  --apors-ocean: #0F3B4C;
  --apors-ocean-2: #1B4259;
  --apors-coral: #E8603C;
  --apors-coral-deep: #A83A1D;
  --apors-amber: #F2A65A;
  --apors-sand: #F7F1E8;
  --apors-sand-2: #EDE3D3;
  --apors-sand-line: #DCCFB9;
  --apors-teal: #1F8A8A;
  --apors-teal-deep: #125A5C;
  --apors-text: #0B1F33;
  --apors-text-soft: #B9CFDA;
  --apors-text-muted: #8FB0C1;
  --apors-line: rgba(255, 255, 255, 0.14);
  --apors-display: Fraunces, Georgia, 'Times New Roman', serif;
}

body,
input,
button,
select,
textarea {
  font-family: Inter, 'Segoe UI', Arial, sans-serif;
}

body {
  background: var(--apors-sand);
  color: var(--apors-text);
}

a {
  color: var(--apors-teal-deep);
}
a:hover {
  color: var(--apors-coral-deep);
}

:focus-visible {
  outline: 2px solid var(--apors-coral) !important;
  outline-offset: 2px;
}

::selection {
  background: var(--apors-amber);
  color: var(--apors-ink);
}

/* ---------------------------------------------------------------- Barra de sesión */
.session-bar,
.session-bar .toolbar,
.session-bar .i-button {
  background: transparent !important;
  border-color: var(--apors-line) !important;
  color: var(--apors-text-soft) !important;
  text-shadow: none !important;
}
.session-bar .i-button:hover {
  color: #fff !important;
  background: rgba(255, 255, 255, 0.1) !important;
}

/* ---------------------------------------------------------------- Cabecera global */
.page-header,
.page-header-dark,
div.header,
.main > .header {
  background: linear-gradient(100deg, var(--apors-ink) 0%, var(--apors-navy) 55%, var(--apors-ocean) 100%) !important;
  border-bottom: 3px solid var(--apors-coral) !important;
}
.header-logo {
  max-height: 46px;
}

.global-menu,
.global-menu.toolbar {
  background: rgba(7, 22, 36, 0.55) !important;
  border-bottom: 1px solid var(--apors-line) !important;
}
.global-menu a,
.global-menu button,
.global-menu > a,
.global-menu > li > a {
  color: var(--apors-text-soft) !important;
  text-shadow: none !important;
  font-weight: 500;
}
.global-menu menu > li,
.global-menu menu > li > a,
.global-menu ind-menu > button,
.global-menu .i-button {
  background: transparent !important;
  color: var(--apors-text-soft) !important;
  border-radius: 999px !important;
}
.global-menu a:hover,
.global-menu button:hover,
.global-menu a.open {
  color: #fff !important;
  background: rgba(242, 166, 90, 0.16) !important;
}

/* Barra de acciones de evento (casa, categoría, tema, gestión…) */
.event-page-header .main-action-bar,
.page-header .main-action-bar {
  color: var(--apors-text-soft);
}
.event-page-header .i-button.subtle,
.page-header .i-button.subtle {
  color: var(--apors-text-soft) !important;
}
.event-page-header .i-button.subtle:hover,
.page-header .i-button.subtle:hover {
  color: #fff !important;
  background: rgba(255, 255, 255, 0.1) !important;
}

/* Menús desplegables (claros y legibles) */
ind-menu > menu,
.i-dropdown {
  background: #fff !important;
  border: 1px solid var(--apors-sand-line) !important;
  border-radius: 10px !important;
  box-shadow: 0 18px 40px -16px rgba(7, 22, 36, 0.35) !important;
}
ind-menu > menu a,
.i-dropdown a,
.i-dropdown li {
  color: var(--apors-text) !important;
}
ind-menu > menu a:hover,
.i-dropdown li:hover,
.i-dropdown a:hover {
  background: var(--apors-sand) !important;
  color: var(--apors-coral-deep) !important;
}

/* ---------------------------------------------------------------- Títulos */
.category-title,
.category-header h1,
.page-content h1,
.page-content h2,
h2.page-title,
.confTitle,
.conference-title-link {
  font-family: var(--apors-display) !important;
  letter-spacing: -0.01em;
}
.category-title,
.category-header h1 {
  color: var(--apors-navy) !important;
  font-weight: 600;
}

/* Cabecera de categoría / portada */
.category-header {
  border-bottom: 1px solid var(--apors-sand-line);
  padding-bottom: 14px;
}
html,
.wrapper,
.main,
.category-container,
.category-content-wrapper,
.category-content {
  background-color: var(--apors-sand) !important;
}
.category-header {
  background: #fff !important;
  border-bottom: 3px solid var(--apors-sand-2) !important;
}
.category-list a,
.category-container a {
  color: var(--apors-teal-deep);
}
.category-description {
  color: #2C546B;
}
.event-list .name a,
.category-list .name a {
  color: var(--apors-navy) !important;
  font-family: var(--apors-display);
  font-weight: 600;
}
.event-list .name a:hover,
.category-list .name a:hover {
  color: var(--apors-coral-deep) !important;
}

/* ---------------------------------------------------------------- Página de evento (conferencia) */
.confheader .confTitleBox,
.confTitleBox {
  background:
    linear-gradient(95deg, rgba(7, 22, 36, 0.94) 0%, rgba(11, 31, 51, 0.78) 55%, rgba(11, 31, 51, 0.35) 100%),
    url('/brand/perth-header.jpg') center 40% / cover no-repeat,
    var(--apors-navy) !important;
  border: none !important;
  padding-top: 34px !important;
  padding-bottom: 34px !important;
}
.confTitle,
.confTitle a,
.conference-title-link,
.conference-title-link span {
  color: #fff !important;
  font-weight: 600 !important;
  font-size: clamp(1.8rem, 3.2vw, 2.6rem);
  line-height: 1.1;
  text-shadow: none !important;
}
.confSubTitleBox {
  background: var(--apors-ink) !important;
  border-bottom: 3px solid var(--apors-coral) !important;
}
.confSubTitle,
.confSubTitle .datePlace,
.confSubTitle .timezone,
.confSubTitle a,
.confSubTitle .infoline {
  color: var(--apors-text-soft) !important;
}
.confSubTitle .date,
.confSubTitle .infoline.date {
  color: #fff !important;
  font-weight: 600;
}
.confSubTitle .icon {
  color: var(--apors-amber) !important;
}

/* Menú lateral del evento */
#outer {
  border: none !important;
  background: transparent !important;
}
.conf_leftMenu {
  background: transparent !important;
}
#outer li a,
.menuConfTitle a {
  color: var(--apors-navy) !important;
  font-weight: 500;
  border-radius: 0 8px 8px 0;
}
.menuConfTitle,
#outer li {
  border: none !important;
}
.menuConfTitle {
  border-left: 3px solid transparent !important;
}
.menuConfSelected,
.menuConfSelected a,
#outer li.selected > a {
  background: #fff !important;
  color: var(--apors-coral-deep) !important;
  font-weight: 600;
}
.menuConfTitle.menuConfSelected {
  border-left-color: var(--apors-coral) !important;
  box-shadow: 0 6px 16px -10px rgba(7, 22, 36, 0.3);
}
#outer li a:hover,
.menuConfTitle a:hover {
  background: var(--apors-sand-2) !important;
  color: var(--apors-coral-deep) !important;
}
.event-menu-heading {
  color: var(--apors-ocean-2) !important;
  letter-spacing: 0.08em;
}

/* Contenido de evento: claro sobre arena */
.confBodyBox,
.conf,
.mainContent,
.page-content {
  background: transparent;
}
.conf .page-content,
.confBodyBox .mainContent {
  color: var(--apors-text);
}

/* ---------------------------------------------------------------- Botones */
.i-button {
  border-radius: 999px;
  font-weight: 600;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.page-content .i-button:not(.highlight):not(.accept):not(.subtle):not(.danger):not(.text-color),
.confBodyBox .i-button:not(.highlight):not(.accept):not(.subtle):not(.danger):not(.text-color) {
  background: #fff;
  border: 1px solid var(--apors-sand-line);
  color: var(--apors-navy);
}
.page-content .i-button:not(.highlight):not(.accept):not(.subtle):not(.danger):not(.text-color):hover,
.confBodyBox .i-button:not(.highlight):not(.accept):not(.subtle):not(.danger):not(.text-color):hover {
  background: var(--apors-sand-2);
  border-color: var(--apors-navy);
}
.i-button.highlight,
.i-button.accept,
.ui.primary.button,
.ui.blue.button,
button.highlight {
  background: var(--apors-coral) !important;
  border-color: var(--apors-coral) !important;
  color: var(--apors-ink) !important;
  font-weight: 700 !important;
  text-shadow: none !important;
  box-shadow: 0 8px 18px -8px rgba(232, 96, 60, 0.7) !important;
}
.i-button.highlight:hover,
.i-button.accept:hover,
.ui.primary.button:hover,
.ui.blue.button:hover,
button.highlight:hover {
  background: var(--apors-amber) !important;
  border-color: var(--apors-amber) !important;
}

/* ---------------------------------------------------------------- Formularios */
input[type='text'],
input[type='password'],
input[type='email'],
input[type='number'],
input[type='search'],
input[type='url'],
input[type='tel'],
input[type='date'],
select,
textarea {
  border: 1px solid var(--apors-sand-line) !important;
  border-radius: 8px !important;
  background: #fff;
  color: var(--apors-text);
  box-shadow: none !important;
}
input:focus,
select:focus,
textarea:focus {
  border-color: var(--apors-teal) !important;
  box-shadow: 0 0 0 3px rgba(31, 138, 138, 0.2) !important;
  outline: none !important;
}
.form-group .form-label,
.form-field label,
label {
  color: var(--apors-navy);
}
.form-group .form-field-description,
.form-field .description,
.form-field-description {
  color: #3F6A82;
}
.form-group .error,
.field-error,
.has-error input {
  color: #A12B12;
}
fieldset legend,
.form-group > .form-label {
  font-family: var(--apors-display);
}

/* ---------------------------------------------------------------- Tablas */
.i-table-widget table,
table.i-table,
.page-content table.i-table {
  border-collapse: separate;
  border-spacing: 0;
}
.i-table-widget thead th,
table.i-table thead th,
.i-table thead th {
  background: var(--apors-sand-2) !important;
  color: var(--apors-navy) !important;
  border-bottom: 2px solid var(--apors-navy) !important;
  font-weight: 600;
}
.i-table tbody tr,
table.i-table tbody tr {
  background: #fff;
}
.i-table tbody tr:hover,
table.i-table tbody tr:hover {
  background: #FBF8F2 !important;
}
.i-table td,
.i-table th {
  border-color: var(--apors-sand-line) !important;
}

/* ---------------------------------------------------------------- Mensajes (flash y avisos) */
.flashed-messages .message-box,
.message-box {
  border-radius: 10px !important;
  border: 1px solid var(--apors-sand-line);
  border-left-width: 4px;
  background: #fff;
  color: var(--apors-text);
}
.message-box.message-box-info,
.message-box.info {
  border-left-color: var(--apors-teal);
  background: #EAF5F4;
}
.message-box.message-box-success,
.message-box.success {
  border-left-color: #2E8B57;
  background: #EAF6EE;
}
.message-box.message-box-warning,
.message-box.warning {
  border-left-color: var(--apors-amber);
  background: #FDF3E4;
}
.message-box.message-box-error,
.message-box.error,
.message-box.message-box-danger {
  border-left-color: #C0392B;
  background: #FBEAE7;
}
.message-box .message-text,
.message-box .message-box-content {
  color: var(--apors-text);
}

/* Títulos de página de evento y cajas de acción (p. ej. "The call for abstracts is closed") */
.conf .page-content h2,
.conf h2.page-title,
.conf .page-content > h2,
#main-content {
  color: var(--apors-navy) !important;
  font-family: var(--apors-display) !important;
  font-weight: 600 !important;
  border-bottom: 1px solid var(--apors-sand-line) !important;
}
.action-box,
.action-box.highlight {
  background: #fff !important;
  border: 1px solid var(--apors-sand-line) !important;
  border-left: 4px solid var(--apors-teal) !important;
  border-radius: 10px !important;
  box-shadow: none !important;
}
.action-box .label,
.action-box .text,
.action-box.highlight .label {
  color: var(--apors-navy) !important;
}
.action-box .i-button {
  margin-left: 8px;
}

/* ---------------------------------------------------------------- Login / registro */
.layout-wrapper.login-page {
  min-height: 100vh;
  background:
    linear-gradient(160deg, rgba(7, 22, 36, 0.92) 0%, rgba(11, 31, 51, 0.82) 60%, rgba(15, 59, 76, 0.7) 100%),
    url('/brand/perth-header.jpg') center / cover no-repeat,
    var(--apors-navy) !important;
  color: var(--apors-text-soft);
}
.login-page .header-logo {
  max-height: 64px;
  margin-bottom: 8px;
}
.login-page .login-container {
  background: rgba(11, 31, 51, 0.92);
  border: 1px solid var(--apors-line);
  border-top: 3px solid var(--apors-coral);
  border-radius: 18px;
  padding: 32px 36px;
  box-shadow: 0 30px 60px -20px rgba(0, 0, 0, 0.6);
}
.login-page input[type='text'],
.login-page input[type='password'],
.login-page input[type='email'] {
  background: #fff !important;
  border-radius: 10px !important;
}
.login-page .login-form-button {
  background: var(--apors-coral) !important;
  border-color: var(--apors-coral) !important;
  color: var(--apors-ink) !important;
  font-weight: 700 !important;
  border-radius: 999px !important;
  text-shadow: none !important;
}
.login-page .login-form-button:hover {
  background: var(--apors-amber) !important;
  border-color: var(--apors-amber) !important;
}
.login-page a,
.login-page .link {
  color: var(--apors-amber) !important;
}
.login-page .register,
.login-page .middle {
  color: var(--apors-text-soft) !important;
}
.login-page .footer {
  background: transparent !important;
  border-top: none !important;
}
.login-page .footer .flexrow {
  flex-direction: column;
  align-items: center;
  gap: 10px;
  text-align: center;
}
.login-page .footer .footer-links {
  margin-left: 0;
  justify-content: center;
}

/* ---------------------------------------------------------------- Pie de página */
.footer,
.footer.apors-footer {
  background: var(--apors-ink) !important;
  color: var(--apors-text-muted) !important;
  border-top: 3px solid var(--apors-coral) !important;
  padding: 18px 28px !important;
}
.footer strong {
  color: #fff;
  font-family: var(--apors-display);
  font-weight: 600;
  margin-right: 0.6em;
}
.footer .apors-footer-sub {
  color: var(--apors-text-muted);
}
.footer .footer-logo {
  border-radius: 50%;
}
.footer .footer-links a,
.footer a {
  color: var(--apors-amber) !important;
}
.footer .footer-links a:hover,
.footer a:hover {
  color: #fff !important;
}

/* Ocultar el botón flotante de compartir en redes de la plataforma */
ind-share-widget,
.social-site-share,
#social-sharing-button {
  display: none !important;
}

/* Enlaces del pie en una fila; "Admin guide" destacado (solo lo ven administradores) */
.footer .footer-links {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5em;
  list-style: none;
  padding: 0;
  margin-left: 2em;
}
.footer a.apors-admin-guide {
  border: 1px solid rgba(242, 166, 90, 0.5);
  border-radius: 999px;
  padding: 3px 12px;
}

@media (prefers-reduced-motion: reduce) {
  * {
    transition: none !important;
    animation: none !important;
  }
}
