/* =========================================================
   AIHS content images
   ========================================================= */

.aihs-image {
  margin: 1.5rem auto;
}

.aihs-image > br {
  display: none;
}

.aihs-image__img {
  display: block;
  max-width: 100%;
  height: auto;
}

.aihs-image figcaption {
  margin-top: 0.4rem;
  font-size: 0.85rem;
  line-height: 1.35;
  text-align: center;
  opacity: 0.8;
}

/* Portrait floated beside text. */
figure.aihs-image.aihs-image--portrait {
  display: table;
  float: right;
  width: 220px;
  max-width: 40%;
  margin: 0.25rem 0 1.25rem 1.5rem;
}

figure.aihs-image.aihs-image--portrait .aihs-image__img {
  display: block;
  width: 100%;
  max-width: 220px;
  height: auto;
}

figure.aihs-image.aihs-image--portrait figcaption {
  display: table-caption;
  caption-side: bottom;
  width: 100%;
  padding-top: 0.4rem;
  text-align: center;
}

/* Document or landscape image. */
figure.aihs-image.aihs-image--document {
  clear: both;
  width: 520px;
  max-width: 100%;
  margin: 1.75rem auto;
}

/* Centered profile portrait. */
figure.aihs-image.aihs-image--profile {
  display: table;
  width: 220px;
  max-width: 100%;
  margin: 1.5rem auto;
}

/* Paired photographs. */
figure.aihs-image.aihs-image--pair {
  display: inline-block;
  vertical-align: top;
  width: 47%;
  max-width: 47%;
  margin: 1.5%;
}

figure.aihs-image.aihs-image--pair .aihs-image__img {
  width: 100%;
  height: auto;
}

@media (max-width: 640px) {
  figure.aihs-image.aihs-image--portrait {
    float: none;
    width: 220px;
    max-width: 80%;
    margin: 1.25rem auto;
  }

  figure.aihs-image.aihs-image--pair {
    display: block;
    width: 100%;
    max-width: 100%;
    margin: 1.25rem auto;
  }
}


/* =========================================================
   AIHS image galleries
   ========================================================= */

/*
 * Views "unformatted" output places the rows inside
 * .views-view-unformatted. This is the actual grid container.
 */
.view-id-images .views-view-unformatted {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.25rem;
  align-items: start;
}

.view-id-images .views-view-unformatted > .views-row {
  width: auto;
  min-width: 0;
  margin: 0;
  padding: 0.55rem;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: #fff;
}

/* Compact thumbnail area, preserving the complete image. */
.view-id-images .views-field-field-image {
  height: 125px;
  margin: 0 0 0.45rem 0;
  overflow: hidden;
  background: var(--light);
}

.view-id-images .views-field-field-image .field-content,
.view-id-images .views-field-field-image a {
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
}

.view-id-images .views-field-field-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* Image title. */
.view-id-images .views-field-title {
  margin: 0.2rem 0 0;
  font-size: 0.78rem;
  line-height: 1.25;
  font-weight: 600;
}

/* "Displayed on / Affichée sur" secondary information. */
.view-id-images .views-field-field-displayed-on {
  margin-top: 0.35rem;
  padding-top: 0.3rem;
  border-top: 1px solid var(--border);
  font-size: 0.62rem;
  line-height: 1.25;
}

.view-id-images .views-label-field-displayed-on,
.view-id-images .views-field-field-displayed-on a,
.view-id-images .views-field-field-displayed-on li {
  font-size: 0.62rem;
  line-height: 1.25;
}

.view-id-images .views-label-field-displayed-on {
  display: block;
  margin-bottom: 0.1rem;
  font-weight: 600;
}

.view-id-images .aihs-displayed-on-links {
  margin: 0;
  padding: 0;
  list-style: none;
}

.view-id-images .aihs-displayed-on-links li {
  margin: 0;
  padding: 0;
}


/* Responsive gallery. */
@media (max-width: 1050px) {
  .view-id-images .views-view-unformatted {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .view-id-images .views-view-unformatted {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 480px) {
  .view-id-images .views-view-unformatted {
    grid-template-columns: 1fr;
  }

  .view-id-images .views-field-field-image {
    height: 160px;
  }
}

/* =========================================================
   AIHS — new visual identity
   ========================================================= */

:root {
  --aihs-navy: #0d2d4a;
  --aihs-navy-dark: #09243b;
  --aihs-gold: #b68a43;
  --aihs-ivory: #faf8f3;
  --aihs-stone: #e9e4da;
  --aihs-verdigris: #789d93;
  --aihs-text: #26333d;
}


/* ---------------------------------------------------------
   General
   --------------------------------------------------------- */

body {
  color: var(--aihs-text);
  background: var(--aihs-ivory);
}

h1,
h2,
h3,
h4 {
  color: var(--aihs-navy);
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 400;
}

a {
  color: var(--aihs-navy);
}

a:hover {
  color: var(--aihs-gold);
}


/* ---------------------------------------------------------
   Header
   --------------------------------------------------------- */

.header,
.header-main,
.region-header,
.region-primary-menu {
  background: var(--aihs-ivory);
}

.header {
  border-bottom: 1px solid rgba(182, 138, 67, 0.25);
}


/* ---------------------------------------------------------
   AIHS branding
   --------------------------------------------------------- */

.aihs-brand {
  display: flex;
  align-items: center;
}

.aihs-brand__home {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  text-decoration: none;
}

.aihs-brand__house {
  display: block;
  width: auto;
  height: 82px;
  object-fit: contain;
}

.aihs-brand__initials {
  display: flex;
  flex-direction: column;
  color: var(--aihs-navy);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.75rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.045em;
}

.aihs-brand__initials span {
  display: block;
}

.aihs-brand__initials span:first-child {
  padding-bottom: 0.18rem;
  margin-bottom: 0.18rem;
  border-bottom: 1px solid var(--aihs-gold);
}


/* ---------------------------------------------------------
   Main menu
   Académie + | Actualités | Publications + | Prix | Contact
   --------------------------------------------------------- */

.region-primary-menu ul.menu {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0;
}

.region-primary-menu ul.menu > li {
  position: relative;
  margin: 0;
  padding: 0;
}

.region-primary-menu ul.menu > li > a {
  display: block;
  padding: 1rem 1.2rem;

  color: var(--aihs-navy);

  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.05rem;
  font-weight: 400;

  text-decoration: none;
}

/* Fine gold separators between menu items. */
.region-primary-menu ul.menu > li + li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 32%;

  width: 1px;
  height: 36%;

  background: rgba(182, 138, 67, 0.55);
}

.region-primary-menu ul.menu > li > a:hover,
.region-primary-menu ul.menu > li > a.is-active {
  color: var(--aihs-gold);
}


/* ---------------------------------------------------------
   Submenus
   --------------------------------------------------------- */

.region-primary-menu ul.menu ul {
  background: var(--aihs-ivory);
  border: 1px solid var(--aihs-stone);
  box-shadow: 0 5px 18px rgba(9, 36, 59, 0.12);
}

.region-primary-menu ul.menu ul a {
  color: var(--aihs-navy);
  background: var(--aihs-ivory);
}

.region-primary-menu ul.menu ul a:hover {
  color: var(--aihs-gold);
  background: #fff;
}


/* ---------------------------------------------------------
   Page header / breadcrumbs
   --------------------------------------------------------- */

.page-header,
.region-page-header {
  background: var(--aihs-ivory);
}

.breadcrumb {
  color: #68737b;
}

.breadcrumb a {
  color: var(--aihs-navy);
}


/* ---------------------------------------------------------
   Buttons
   --------------------------------------------------------- */

.button,
.button--primary,
input[type="submit"] {
  background: var(--aihs-navy);
  border-color: var(--aihs-navy);
  color: #fff;
}

.button:hover,
.button--primary:hover,
input[type="submit"]:hover {
  background: var(--aihs-gold);
  border-color: var(--aihs-gold);
  color: #fff;
}


/* ---------------------------------------------------------
   Responsive
   --------------------------------------------------------- */

@media (max-width: 760px) {

  .aihs-brand__house {
    height: 60px;
  }

  .aihs-brand__initials {
    font-size: 1.4rem;
  }

  .region-primary-menu ul.menu > li > a {
    padding: 0.8rem 0.75rem;
    font-size: 0.95rem;
  }

}


/* =========================================================
   AIHS branding — Hôtel de Nevers + AIHS / IAHS
   ========================================================= */

.aihs-brand {
  display: flex;
  align-items: center;
}

.aihs-brand__home {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  text-decoration: none !important;
}

.aihs-brand__house {
  display: block;
  width: auto;
  height: 84px;
  object-fit: contain;
}

.aihs-brand__initials {
  display: flex;
  flex-direction: column;

  color: var(--aihs-navy);

  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.75rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.045em;
}

.aihs-brand__initials span {
  display: block;
}

/* Both acronyms remain exactly the same size. */
.aihs-brand__initials span:first-child {
  padding-bottom: 0.2rem;
  margin-bottom: 0.2rem;
  border-bottom: 1px solid var(--aihs-gold);
}

.aihs-brand__home:hover .aihs-brand__initials {
  color: var(--aihs-navy);
}

/* Mobile */
@media (max-width: 760px) {

  .aihs-brand__house {
    height: 62px;
  }

  .aihs-brand__initials {
    font-size: 1.35rem;
  }

}


/* =========================================================
   AIHS typography
   ========================================================= */

:root {
  --aihs-font-title:
    Georgia,
    "Times New Roman",
    serif;

  --aihs-font-text:
    "Palatino Linotype",
    "Book Antiqua",
    Palatino,
    "URW Palladio L",
    Georgia,
    serif;

  --aihs-font-ui:
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Arial,
    sans-serif;
}


/* General Drupal interface */
body {
  font-family: var(--aihs-font-ui);
  font-size: 16px;
  line-height: 1.55;
}


/* ---------------------------------------------------------
   Editorial content
   --------------------------------------------------------- */

.node__content .field--name-body,
.node__content .field--name-body p,
.node__content .field--name-body li {
  font-family: var(--aihs-font-text);
  font-size: 1.08rem;
  line-height: 1.72;
  color: var(--aihs-text);
}

.node__content .field--name-body p {
  margin-bottom: 1.15em;
}


/* ---------------------------------------------------------
   Titles
   --------------------------------------------------------- */

h1,
h2,
h3,
h4,
h5,
h6,
.page-title {
  font-family: var(--aihs-font-title);
  color: var(--aihs-navy);
  font-weight: 400;
}

h1,
.page-title {
  font-size: 2.45rem;
  line-height: 1.15;
  letter-spacing: -0.015em;
}

h2 {
  font-size: 1.8rem;
  line-height: 1.25;
}

h3 {
  font-size: 1.4rem;
}


/* ---------------------------------------------------------
   Main navigation
   --------------------------------------------------------- */

.region-primary-menu ul.menu > li > a {
  font-family: var(--aihs-font-title);
  font-size: 1.05rem;
}


/* ---------------------------------------------------------
   Breadcrumbs
   Keep these lighter and more functional
   --------------------------------------------------------- */

.breadcrumb,
.breadcrumb a {
  font-family: var(--aihs-font-ui);
  font-size: 0.92rem;
}


/* ---------------------------------------------------------
   Sidebar
   --------------------------------------------------------- */

.region-sidebar-first,
.region-sidebar-second {
  font-family: var(--aihs-font-ui);
}

.region-sidebar-first h2,
.region-sidebar-second h2 {
  font-family: var(--aihs-font-title);
}


/* ---------------------------------------------------------
   Drupal local tasks:
   Voir / Modifier / Supprimer / Versions / Traduire
   --------------------------------------------------------- */

.tabs,
.tabs a,
ul.tabs,
ul.tabs a {
  font-family: var(--aihs-font-ui);
}


/* ---------------------------------------------------------
   Captions and secondary text
   --------------------------------------------------------- */

figcaption,
.aihs-image figcaption {
  font-family: var(--aihs-font-ui);
}


/* =========================================================
   AIHS — editorial typography, stronger XARA override
   ========================================================= */

/*
 * Editorial body text.
 * Georgia is deliberately first: reliable, elegant and readable.
 */
.region-content,
.region-content article,
.region-content .node,
.region-content .node-content,
.region-content .node__content,
.region-content .field--name-body,
.region-content .field--name-body p,
.region-content .field--name-body li,
.region-content .field--name-body td,
.region-content .field--name-body th {
  font-family:
    Georgia,
    "Times New Roman",
    serif !important;
}

/* Main prose */
.region-content .field--name-body,
.region-content .field--name-body p,
.region-content .field--name-body li {
  font-size: 1.06rem;
  line-height: 1.72;
  color: var(--aihs-text);
}

/* Paragraph rhythm */
.region-content .field--name-body p {
  margin-top: 0;
  margin-bottom: 1.15em;
}

/* Lists */
.region-content .field--name-body ul,
.region-content .field--name-body ol {
  margin-bottom: 1.2em;
}

.region-content .field--name-body li {
  margin-bottom: 0.3em;
}

/* Strong text should not become visually too heavy. */
.region-content .field--name-body strong,
.region-content .field--name-body b {
  font-weight: 600;
}

/* Links inside editorial content */
.region-content .field--name-body a {
  color: var(--aihs-navy);
  text-decoration-color: rgba(182, 138, 67, 0.65);
  text-underline-offset: 0.16em;
}

.region-content .field--name-body a:hover {
  color: var(--aihs-gold);
}


/* ---------------------------------------------------------
   Headings: same visual family, slightly more formal
   --------------------------------------------------------- */

.region-content h1,
.region-content h2,
.region-content h3,
.region-content h4,
.page-title {
  font-family:
    Georgia,
    "Times New Roman",
    serif !important;

  color: var(--aihs-navy);
  font-weight: 400;
}


/* ---------------------------------------------------------
   Keep Drupal/interface elements sans-serif
   --------------------------------------------------------- */

.region-content .tabs,
.region-content .tabs *,
.region-content .local-tasks,
.region-content .local-tasks *,
.region-content form,
.region-content form *,
.messages,
.messages *,
.button,
input,
select,
textarea,
.admin-context,
.contextual,
.contextual * {
  font-family:
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Arial,
    sans-serif !important;
}


/* ---------------------------------------------------------
   Metadata and captions
   --------------------------------------------------------- */

.node__meta,
.node__submitted,
.field--type-datetime,
figcaption,
.aihs-image figcaption {
  font-family:
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Arial,
    sans-serif !important;

  font-size: 0.88rem;
}


/* =========================================================
   AIHS — dropdown / submenu redesign
   ========================================================= */

/* Dropdown box */
.region-primary-menu ul.menu ul,
.region-primary-menu .submenu,
.region-primary-menu .dropdown-menu,
.primary-menu ul.menu ul {
  min-width: 230px;

  padding: 0.35rem 0;
  margin: 0;

  background: var(--aihs-ivory) !important;

  border: 1px solid var(--aihs-stone) !important;
  border-top: 2px solid var(--aihs-gold) !important;
  border-radius: 0 !important;

  box-shadow:
    0 8px 22px rgba(9, 36, 59, 0.12) !important;
}


/* Individual submenu entries */
.region-primary-menu ul.menu ul li,
.region-primary-menu .submenu li,
.region-primary-menu .dropdown-menu li,
.primary-menu ul.menu ul li {
  margin: 0 !important;
  padding: 0 !important;

  background: transparent !important;

  border: 0 !important;
  border-bottom: 1px solid rgba(182, 138, 67, 0.16) !important;
}

.region-primary-menu ul.menu ul li:last-child,
.region-primary-menu .submenu li:last-child,
.region-primary-menu .dropdown-menu li:last-child {
  border-bottom: 0 !important;
}


/* Submenu links */
.region-primary-menu ul.menu ul li > a,
.region-primary-menu .submenu li > a,
.region-primary-menu .dropdown-menu li > a,
.primary-menu ul.menu ul li > a {
  display: block;

  padding: 0.7rem 1rem !important;

  color: var(--aihs-navy) !important;
  background: transparent !important;

  font-family:
    Georgia,
    "Times New Roman",
    serif !important;

  font-size: 0.94rem !important;
  font-weight: 400 !important;
  line-height: 1.3;

  text-decoration: none !important;
  text-transform: none !important;
  letter-spacing: 0 !important;

  white-space: normal;
}


/* Hover / keyboard focus */
.region-primary-menu ul.menu ul li > a:hover,
.region-primary-menu ul.menu ul li > a:focus,
.region-primary-menu .submenu li > a:hover,
.region-primary-menu .submenu li > a:focus,
.region-primary-menu .dropdown-menu li > a:hover,
.region-primary-menu .dropdown-menu li > a:focus {
  color: var(--aihs-navy-dark) !important;

  background:
    rgba(182, 138, 67, 0.10) !important;

  padding-left: 1.15rem !important;
}


/* Active submenu item */
.region-primary-menu ul.menu ul li > a.is-active,
.region-primary-menu .submenu li > a.is-active,
.region-primary-menu .dropdown-menu li > a.is-active {
  color: var(--aihs-gold) !important;
  background: transparent !important;
}


/* Nested submenu */
.region-primary-menu ul.menu ul ul {
  border-top-color: var(--aihs-verdigris) !important;
}


/* Remove decorative XARA effects */
.region-primary-menu ul.menu ul a::before,
.region-primary-menu ul.menu ul a::after,
.region-primary-menu .submenu a::before,
.region-primary-menu .submenu a::after {
  box-shadow: none !important;
}


/* =========================================================
   AIHS — page header
   ========================================================= */

/*
 * Replace the large XARA coloured/diagonal page header
 * with a compact academic banner.
 */
.page-header,
.page-header-container,
.region-page-header,
.page-title-wrap,
.page-title-section {
  background: var(--aihs-navy) !important;
  background-image: none !important;
}

/* Remove decorative wedges / shapes from XARA. */
.page-header::before,
.page-header::after,
.page-header-container::before,
.page-header-container::after,
.page-title-wrap::before,
.page-title-wrap::after,
.page-title-section::before,
.page-title-section::after {
  content: none !important;
  display: none !important;
  background: none !important;
  clip-path: none !important;
}

/*
 * The XARA page-header region currently contains a pale box.
 * Make it transparent so the navy banner remains visible.
 */
.region-page-header {
  padding-top: 1.65rem !important;
  padding-bottom: 1.45rem !important;
}

.region-page-header > *,
.region-page-header .block,
.region-page-header .block-system,
.region-page-header .block-page-title-block {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}


/* Page title */
.region-page-header h1,
.region-page-header .page-title,
.page-header h1,
.page-title-wrap h1 {
  margin: 0 !important;

  color: #fff !important;

  font-family:
    Georgia,
    "Times New Roman",
    serif !important;

  font-size: 2.25rem !important;
  font-weight: 400 !important;
  line-height: 1.15;

  text-align: center;
}


/* Small gold accent under title */
.region-page-header .block-page-title-block::after {
  content: "";
  display: block;

  width: 42px;
  height: 2px;

  margin: 0.7rem auto 0;

  background: var(--aihs-gold);
}


/* Breadcrumb */
.region-page-header .breadcrumb,
.region-page-header .breadcrumb ol,
.region-page-header .breadcrumb li {
  background: transparent !important;
}

.region-page-header .breadcrumb {
  margin-top: 0.65rem !important;
  margin-bottom: 0 !important;

  color: rgba(255, 255, 255, 0.72) !important;

  text-align: center;
}

.region-page-header .breadcrumb a {
  color: rgba(255, 255, 255, 0.88) !important;
  text-decoration: none;
}

.region-page-header .breadcrumb a:hover {
  color: #fff !important;
}

.region-page-header .breadcrumb li::before,
.region-page-header .breadcrumb li::after {
  color: var(--aihs-gold) !important;
}


/* =========================================================
   AIHS — main content area
   ========================================================= */

main,
.main-container,
.main-content {
  background: #fff;
}

.region-content {
  color: var(--aihs-text);
}


/* =========================================================
   AIHS — sidebar blocks
   ========================================================= */

.region-sidebar-first .block,
.region-sidebar-second .block {
  margin-bottom: 1.35rem;

  padding: 1.05rem 1.15rem;

  background: var(--aihs-ivory) !important;

  border: 1px solid var(--aihs-stone) !important;
  border-top: 2px solid var(--aihs-gold) !important;

  border-radius: 0 !important;

  box-shadow:
    0 3px 12px rgba(9, 36, 59, 0.06) !important;
}


/* Sidebar headings */
.region-sidebar-first .block h2,
.region-sidebar-second .block h2 {
  margin-top: 0;
  margin-bottom: 0.7rem;

  color: var(--aihs-navy);

  font-family:
    Georgia,
    "Times New Roman",
    serif !important;

  font-size: 1.15rem;
  font-weight: 400;
}


/* Sidebar lists */
.region-sidebar-first ul,
.region-sidebar-second ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.region-sidebar-first li,
.region-sidebar-second li {
  padding: 0.42rem 0;

  border-bottom:
    1px solid rgba(182, 138, 67, 0.18);
}

.region-sidebar-first li:last-child,
.region-sidebar-second li:last-child {
  border-bottom: 0;
}

.region-sidebar-first a,
.region-sidebar-second a {
  color: var(--aihs-navy);
  text-decoration: none;
}

.region-sidebar-first a:hover,
.region-sidebar-second a:hover {
  color: var(--aihs-gold);
}


/* =========================================================
   Mobile page header
   ========================================================= */

@media (max-width: 760px) {

  .region-page-header {
    padding-top: 1.25rem !important;
    padding-bottom: 1.1rem !important;
  }

  .region-page-header h1,
  .region-page-header .page-title {
    font-size: 1.8rem !important;
  }

}


/* =========================================================
   AIHS — definitive header cleanup
   ========================================================= */

/* Top site header: ivory instead of XARA mint/green. */
.header,
.header-top,
.header-main,
.region-header,
.region-primary-menu {
  background: var(--aihs-ivory) !important;
  background-color: var(--aihs-ivory) !important;
  background-image: none !important;
}

/* Keep the whole header visually continuous. */
.header-main {
  padding-top: 0.7rem !important;
  padding-bottom: 0.7rem !important;
  border-bottom: 1px solid rgba(182, 138, 67, 0.22);
}


/* ---------------------------------------------------------
   Page title banner
   --------------------------------------------------------- */

.page-header {
  position: relative;
  background: var(--aihs-navy) !important;
  background-color: var(--aihs-navy) !important;
  background-image: none !important;

  padding: 2.1rem 0 1.8rem !important;

  overflow: visible !important;

  -webkit-clip-path: none !important;
  clip-path: none !important;

  transform: none !important;
}

/* Completely remove XARA's decorative diagonal layer. */
.page-header::before,
.page-header::after {
  content: none !important;
  display: none !important;

  width: 0 !important;
  height: 0 !important;

  background: none !important;

  -webkit-clip-path: none !important;
  clip-path: none !important;

  transform: none !important;
}


/* Any internal XARA wrappers must also remain rectangular. */
.page-header-container,
.page-title-wrap,
.page-title-section,
.region-page-header {
  background: transparent !important;
  background-image: none !important;

  -webkit-clip-path: none !important;
  clip-path: none !important;

  transform: none !important;
}


/* No pseudo-element may recreate a wedge. */
.page-header-container::before,
.page-header-container::after,
.page-title-wrap::before,
.page-title-wrap::after,
.page-title-section::before,
.page-title-section::after,
.region-page-header::before,
.region-page-header::after {
  content: none !important;
  display: none !important;

  -webkit-clip-path: none !important;
  clip-path: none !important;

  transform: none !important;
}


/* Compact the contents of the banner. */
.region-page-header {
  padding: 0 !important;
}

.region-page-header h1,
.region-page-header .page-title {
  margin: 0 !important;
  font-size: 2.15rem !important;
  line-height: 1.15;
  color: #fff !important;
}


/* Breadcrumb closer to the title. */
.region-page-header .breadcrumb {
  margin-top: 0.55rem !important;
  margin-bottom: 0 !important;
}


/* ---------------------------------------------------------
   Prevent XARA responsive rules from restoring diagonals
   --------------------------------------------------------- */

@media (max-width: 1200px) {
  .page-header,
  .page-header::before,
  .page-header::after {
    -webkit-clip-path: none !important;
    clip-path: none !important;
    transform: none !important;
  }
}

@media (max-width: 760px) {
  .page-header {
    padding: 1.55rem 0 1.35rem !important;
  }

  .page-header,
  .page-header::before,
  .page-header::after {
    -webkit-clip-path: none !important;
    clip-path: none !important;
  }
}


/* =========================================================
   AIHS — Drupal status messages
   ========================================================= */

/* General message box */
.messages {
  margin: 1.2rem 0 !important;
  padding: 0.9rem 1.1rem !important;

  border-radius: 0 !important;
  box-shadow: none !important;

  font-family:
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Arial,
    sans-serif !important;

  font-size: 0.95rem;
  line-height: 1.4;
}

/* Status / maintenance */
.messages--status,
.messages.status {
  color: var(--aihs-navy-dark) !important;

  background:
    rgba(120, 157, 147, 0.14) !important;

  border: 1px solid rgba(120, 157, 147, 0.38) !important;
  border-left: 4px solid var(--aihs-verdigris) !important;
}

/* Links inside status messages */
.messages--status a,
.messages.status a {
  color: var(--aihs-navy) !important;
  font-weight: 600;
  text-decoration-color: var(--aihs-gold);
}

.messages--status a:hover,
.messages.status a:hover {
  color: var(--aihs-gold) !important;
}


/* Warning */
.messages--warning,
.messages.warning {
  color: #62491e !important;
  background: #fbf5e8 !important;

  border: 1px solid #dfc68c !important;
  border-left: 4px solid var(--aihs-gold) !important;
}


/* Error */
.messages--error,
.messages.error {
  color: #6a2424 !important;
  background: #fbefed !important;

  border: 1px solid #dfb5ae !important;
  border-left: 4px solid #a34a42 !important;
}


/* =========================================================
   AIHS — local Drupal tabs
   Voir / Modifier / Supprimer / Versions / Traduire
   ========================================================= */

.region-content .tabs,
.region-content nav.tabs {
  margin: 0 0 1.15rem 0 !important;
  padding: 0 !important;

  border: 0 !important;
  border-bottom: 1px solid var(--aihs-stone) !important;

  background: transparent !important;
}


/* Horizontal list */
.region-content .tabs ul,
.region-content ul.tabs,
.region-content .tabs.primary {
  display: flex;
  flex-wrap: wrap;

  margin: 0 !important;
  padding: 0 !important;

  list-style: none;
  background: transparent !important;
}


/* Individual tab */
.region-content .tabs li,
.region-content ul.tabs li {
  margin: 0 !important;
  padding: 0 !important;

  border: 0 !important;
  background: transparent !important;
}


/* Tab link */
.region-content .tabs li a,
.region-content ul.tabs li a {
  display: block;

  padding: 0.58rem 0.9rem !important;

  color: var(--aihs-navy) !important;
  background: var(--aihs-ivory) !important;

  border: 1px solid var(--aihs-stone) !important;
  border-bottom: 0 !important;

  border-radius: 0 !important;

  font-family:
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Arial,
    sans-serif !important;

  font-size: 0.88rem !important;
  font-weight: 500 !important;

  text-decoration: none !important;
  text-shadow: none !important;
}


/* Avoid double borders */
.region-content .tabs li + li a,
.region-content ul.tabs li + li a {
  border-left: 0 !important;
}


/* Hover */
.region-content .tabs li a:hover,
.region-content ul.tabs li a:hover {
  color: var(--aihs-navy-dark) !important;
  background: rgba(182, 138, 67, 0.10) !important;
}


/* Current tab */
.region-content .tabs li.is-active a,
.region-content .tabs li.active a,
.region-content ul.tabs li.is-active a,
.region-content ul.tabs li.active a,
.region-content .tabs a.is-active {
  color: #fff !important;
  background: var(--aihs-navy) !important;

  border-color: var(--aihs-navy) !important;
}


/* Secondary tabs if Drupal displays them */
.region-content .tabs.secondary li a {
  padding: 0.4rem 0.7rem !important;

  color: var(--aihs-text) !important;
  background: transparent !important;

  border: 0 !important;
  border-bottom: 2px solid transparent !important;
}

.region-content .tabs.secondary li a:hover,
.region-content .tabs.secondary li a.is-active {
  color: var(--aihs-navy) !important;
  border-bottom-color: var(--aihs-gold) !important;
}


/* =========================================================
   Small screens
   ========================================================= */

@media (max-width: 640px) {

  .region-content .tabs ul,
  .region-content ul.tabs {
    display: block;
  }

  .region-content .tabs li a,
  .region-content ul.tabs li a {
    border: 1px solid var(--aihs-stone) !important;
    border-bottom: 0 !important;
  }

  .region-content .tabs li:last-child a,
  .region-content ul.tabs li:last-child a {
    border-bottom: 1px solid var(--aihs-stone) !important;
  }

}


/* =========================================================
   AIHS — Drupal system messages
   Override THEX .message classes
   ========================================================= */

.message {
  position: relative;
  margin: 1.2rem 0 !important;
  padding: 0.9rem 1.1rem 0.9rem 4rem !important;

  color: var(--aihs-navy-dark) !important;
  background: var(--aihs-ivory) !important;

  border: 1px solid var(--aihs-stone) !important;
  border-radius: 0 !important;

  box-shadow: none !important;

  font-family:
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Arial,
    sans-serif !important;

  font-size: 0.94rem;
  line-height: 1.4;
}

.message a,
.message a:visited {
  color: var(--aihs-navy) !important;
  font-weight: 600;
  text-decoration-color: var(--aihs-gold) !important;
}

.message a:hover {
  color: var(--aihs-gold) !important;
}


/* Status / maintenance */
.message-status {
  background:
    rgba(120, 157, 147, 0.12) !important;

  border-color:
    rgba(120, 157, 147, 0.35) !important;
}

.message-status::before {
  background: var(--aihs-verdigris) !important;
}


/* Warning */
.message-warning {
  color: #62491e !important;
  background: #fbf5e8 !important;
  border-color: #dfc68c !important;
}

.message-warning::before {
  background: var(--aihs-gold) !important;
}


/* Error */
.message-error {
  color: #6a2424 !important;
  background: #fbefed !important;
  border-color: #dfb5ae !important;
}

.message-error::before {
  background: #9a5149 !important;
}


/* =========================================================
   AIHS — Drupal local tasks
   View / Edit / Delete / Revisions / Translate
   Stable9 + compatible modern markup
   ========================================================= */

/* The local-task container */
.region-content .block-local-tasks-block {
  margin: 0 0 1.25rem 0;
}


/* ---------------------------------------------------------
   Stable9-style markup:
   ul.tabs.primary / ul.tabs.secondary
   --------------------------------------------------------- */

.region-content ul.tabs {
  display: flex !important;
  flex-wrap: wrap;

  margin: 0 !important;
  padding: 0 !important;

  list-style: none !important;

  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--aihs-stone) !important;
}

.region-content ul.tabs > li {
  display: block !important;

  margin: 0 !important;
  padding: 0 !important;

  background: transparent !important;
  border: 0 !important;
}

.region-content ul.tabs > li > a {
  display: block !important;

  margin: 0 !important;
  padding: 0.55rem 0.9rem !important;

  color: var(--aihs-navy) !important;
  background: var(--aihs-ivory) !important;

  border: 1px solid var(--aihs-stone) !important;
  border-bottom: 0 !important;
  border-radius: 0 !important;

  font-family:
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Arial,
    sans-serif !important;

  font-size: 0.86rem !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;

  text-decoration: none !important;
  text-shadow: none !important;

  box-shadow: none !important;
}


/* Adjacent tabs share a single separator. */
.region-content ul.tabs > li + li > a {
  border-left: 0 !important;
}


/* Hover */
.region-content ul.tabs > li > a:hover,
.region-content ul.tabs > li > a:focus {
  color: var(--aihs-navy-dark) !important;
  background: rgba(182, 138, 67, 0.11) !important;

  box-shadow: inset 0 -2px 0 var(--aihs-gold) !important;
}


/* Active tab */
.region-content ul.tabs > li.active > a,
.region-content ul.tabs > li.is-active > a,
.region-content ul.tabs > li > a.is-active {
  color: #fff !important;
  background: var(--aihs-navy) !important;

  border-color: var(--aihs-navy) !important;

  box-shadow: none !important;
}


/* ---------------------------------------------------------
   Modern Drupal-compatible classes too
   --------------------------------------------------------- */

.region-content .tabs__tab {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

.region-content .tabs__link {
  color: var(--aihs-navy) !important;
  background: var(--aihs-ivory) !important;

  border-radius: 0 !important;

  font-family:
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Arial,
    sans-serif !important;

  text-decoration: none !important;
}

.region-content .tabs__link:hover,
.region-content .tabs__link:focus {
  color: var(--aihs-navy-dark) !important;
  background: rgba(182, 138, 67, 0.11) !important;
}

.region-content .tabs__tab.is-active .tabs__link,
.region-content .tabs__link.is-active {
  color: #fff !important;
  background: var(--aihs-navy) !important;
}


/* ---------------------------------------------------------
   Secondary tabs
   --------------------------------------------------------- */

.region-content ul.tabs.secondary,
.region-content .tabs--secondary {
  margin-top: 0.45rem !important;
  border-bottom: 0 !important;
}

.region-content ul.tabs.secondary > li > a,
.region-content .tabs--secondary .tabs__link {
  padding: 0.35rem 0.65rem !important;

  color: var(--aihs-text) !important;
  background: transparent !important;

  border: 0 !important;
  border-bottom: 2px solid transparent !important;

  font-size: 0.82rem !important;
}

.region-content ul.tabs.secondary > li > a:hover,
.region-content ul.tabs.secondary > li > a.is-active,
.region-content .tabs--secondary .tabs__link:hover,
.region-content .tabs--secondary .tabs__link.is-active {
  color: var(--aihs-navy) !important;
  background: transparent !important;

  border-bottom-color: var(--aihs-gold) !important;
}


/* ---------------------------------------------------------
   Mobile
   --------------------------------------------------------- */

@media (max-width: 640px) {

  .region-content ul.tabs {
    display: block !important;
    border-bottom: 0 !important;
  }

  .region-content ul.tabs > li > a {
    border: 1px solid var(--aihs-stone) !important;
    border-bottom: 0 !important;
  }

  .region-content ul.tabs > li:last-child > a {
    border-bottom: 1px solid var(--aihs-stone) !important;
  }

}


/* =========================================================
   AIHS — editorial reading layout
   ========================================================= */

/* Comfortable reading measure for article content. */
.region-content .node__content .field--name-body {
  max-width: 72ch;
}

/* Main prose */
.region-content .field--name-body p {
  margin-top: 0;
  margin-bottom: 1.15em;

  font-size: 1.06rem;
  line-height: 1.72;
}

/* Section titles inside articles */
.region-content .field--name-body h2 {
  margin-top: 1.8em;
  margin-bottom: 0.65em;

  font-size: 1.65rem;
  line-height: 1.25;
}

.region-content .field--name-body h3 {
  margin-top: 1.55em;
  margin-bottom: 0.55em;

  font-size: 1.3rem;
  line-height: 1.3;
}

/* Lists */
.region-content .field--name-body ul,
.region-content .field--name-body ol {
  margin-top: 0.6em;
  margin-bottom: 1.2em;
  padding-left: 1.5em;
}

.region-content .field--name-body li {
  margin-bottom: 0.35em;
}

/* Quotes */
.region-content .field--name-body blockquote {
  margin: 1.6rem 0;
  padding: 0.8rem 1.2rem;

  color: #4c565d;
  background: var(--aihs-ivory);

  border-left: 3px solid var(--aihs-gold);
  box-shadow: none;
}

/* Tables remain usable even with the narrower text measure. */
.region-content .field--name-body table {
  width: 100%;
  max-width: 100%;
  margin: 1.4rem 0;
}

/* Slightly more space between Drupal controls and article text. */
.region-content .block-local-tasks-block + .block-system-main-block {
  margin-top: 0.4rem;
}


/* Mobile */
@media (max-width: 760px) {

  .region-content .node__content .field--name-body {
    max-width: 100%;
  }

  .region-content .field--name-body p,
  .region-content .field--name-body li {
    font-size: 1rem;
    line-height: 1.65;
  }

}


/* =========================================================
   AIHS — photographic page banner
   ========================================================= */

.page-header {
  min-height: 310px !important;

  display: flex;
  align-items: center;

  padding: 2.5rem 0 !important;

  background-image:
    linear-gradient(
      90deg,
      rgba(9, 36, 59, 0.88) 0%,
      rgba(13, 45, 74, 0.76) 28%,
      rgba(13, 45, 74, 0.52) 52%,
      rgba(13, 45, 74, 0.18) 78%,
      rgba(13, 45, 74, 0.08) 100%
    ),
    url("../images/aihs-banner.png") !important;

  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;

  -webkit-clip-path: none !important;
  clip-path: none !important;
}


/* Keep Drupal title and breadcrumb above the photograph. */
.region-page-header {
  position: relative;
  z-index: 2;

  width: 100%;

  padding: 0 !important;

  background: transparent !important;
}


/* Main page title */
.region-page-header h1,
.region-page-header .page-title {
  color: #fff !important;

  font-family:
    Georgia,
    "Times New Roman",
    serif !important;

  font-size: 2.6rem !important;
  font-weight: 400 !important;

  text-shadow:
    0 2px 10px rgba(0, 0, 0, 0.32);
}


/* Gold accent */
.region-page-header .block-page-title-block::after {
  width: 54px;
  height: 2px;

  margin: 0.8rem auto 0;

  background: var(--aihs-gold) !important;
}


/* Breadcrumb */
.region-page-header .breadcrumb,
.region-page-header .breadcrumb a {
  color: rgba(255, 255, 255, 0.88) !important;

  text-shadow:
    0 1px 5px rgba(0, 0, 0, 0.4);
}

.region-page-header .breadcrumb a:hover {
  color: #fff !important;
}


/* Smaller hero on tablets/mobile. */
@media (max-width: 760px) {

  .page-header {
    min-height: 230px !important;
    padding: 1.8rem 0 !important;

    background-position: 58% center !important;
  }

  .region-page-header h1,
  .region-page-header .page-title {
    font-size: 2rem !important;
  }

}


/* =========================================================
   AIHS — internal page header
   Homepage hero is handled separately.
   ========================================================= */

.page-header {
  min-height: 0 !important;

  display: block;

  padding: 2rem 0 1.65rem !important;

  background:
    var(--aihs-navy) !important;

  background-image: none !important;

  -webkit-clip-path: none !important;
  clip-path: none !important;
}

/* Remove photographic overlay used during hero testing. */
.page-header::after {
  content: none !important;
  display: none !important;
}

/* Dynamic page title */
.region-page-header h1,
.region-page-header .page-title {
  font-size: 2.2rem !important;
  color: #fff !important;
}

/* Breadcrumb */
.region-page-header .breadcrumb {
  margin-top: 0.55rem !important;
}

/* The homepage has no page-title header. */
body.path-frontpage .page-header {
  display: none !important;
}


/* =========================================================
   AIHS — final internal page header
   The photographic hero will exist ONLY on the homepage.
   ========================================================= */

/* Normal internal pages */
.page-header {
  min-height: 0 !important;
  display: block !important;

  padding: 2rem 0 1.65rem !important;

  background: var(--aihs-navy) !important;
  background-image: none !important;

  -webkit-clip-path: none !important;
  clip-path: none !important;

  overflow: visible !important;
}

/* Remove all experimental photographic overlays. */
.page-header::before,
.page-header::after {
  content: none !important;
  display: none !important;

  background: none !important;

  -webkit-clip-path: none !important;
  clip-path: none !important;
}

/* Dynamic page title */
.region-page-header h1,
.region-page-header .page-title {
  margin: 0 !important;

  color: #fff !important;

  font-family:
    Georgia,
    "Times New Roman",
    serif !important;

  font-size: 2.2rem !important;
  font-weight: 400 !important;
  line-height: 1.15;

  text-align: center;
}

/* Breadcrumb */
.region-page-header .breadcrumb {
  margin-top: 0.55rem !important;
  margin-bottom: 0 !important;

  text-align: center;
}

.region-page-header .breadcrumb,
.region-page-header .breadcrumb a {
  color: rgba(255,255,255,0.88) !important;
}

/* Homepage: no dynamic page title / breadcrumb banner. */
body.path-frontpage .page-header {
  display: none !important;
}


/* =========================================================
   AIHS — homepage institutional hero
   ========================================================= */

.aihs-home-hero {
  position: relative;

  width: 100%;
  min-height: 390px;

  background-image:
    linear-gradient(
      90deg,
      rgba(9, 36, 59, 0.82) 0%,
      rgba(13, 45, 74, 0.62) 28%,
      rgba(13, 45, 74, 0.27) 56%,
      rgba(13, 45, 74, 0.06) 82%
    ),
    url("../images/aihs-banner.png");

  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;

  border-bottom: 3px solid var(--aihs-gold);
}

/*
 * Slight blue veil across the whole image:
 * enough to integrate it with the site palette,
 * without hiding the warm books/instruments.
 */
.aihs-home-hero::after {
  content: "";
  position: absolute;
  inset: 0;

  background:
    linear-gradient(
      180deg,
      rgba(9, 36, 59, 0.05) 0%,
      rgba(9, 36, 59, 0.12) 100%
    );

  pointer-events: none;
}


/* Homepage content starts directly beneath the hero. */
.aihs-home {
  background: #fff;
}

.aihs-home .front-content {
  width: 100%;
}


/* No page-title banner or breadcrumb on homepage. */
body.path-frontpage .page-header,
body.path-frontpage .region-page-header {
  display: none !important;
}


/* Tablet */
@media (max-width: 900px) {
  .aihs-home-hero {
    min-height: 310px;
    background-position: 58% center;
  }
}


/* Mobile */
@media (max-width: 600px) {
  .aihs-home-hero {
    min-height: 235px;

    background-position: 62% center;

    background-image:
      linear-gradient(
        90deg,
        rgba(9, 36, 59, 0.68),
        rgba(13, 45, 74, 0.18)
      ),
      url("../images/aihs-banner.png");
  }
}

