/*
 * AliFa visual refinements.
 * Loaded after the base theme styles so these rules stay isolated and easy to maintain.
 */

@import url("https://fonts.googleapis.com/css2?family=Tajawal:wght@400;500;600;700;800&display=swap");

:root {
  --alifa-primary: #9a5458;
  --alifa-primary-dark: #713b3f;
  --alifa-ink: #3f3031;
  --alifa-muted: #756667;
  --alifa-surface: #ffffff;
  --alifa-soft: #f8eee5;
  --alifa-border: #eadbd1;
  --alifa-shadow: 0 12px 32px rgba(88, 54, 55, 0.11);
}

html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

html[dir="rtl"] body,
html[dir="rtl"] h1,
html[dir="rtl"] h2,
html[dir="rtl"] h3,
html[dir="rtl"] h4,
html[dir="rtl"] a,
html[dir="rtl"] input,
html[dir="rtl"] button {
  font-family: "Tajawal", Tahoma, Arial, sans-serif;
}

/* Full right-to-left flow for Arabic pages and Arabic form input. */
html[dir="rtl"],
html[lang^="ar"] {
  direction: rtl;
}

html[dir="rtl"] body,
html[lang^="ar"] body,
html[dir="rtl"] .main-content,
html[dir="rtl"] .content_layout,
html[dir="rtl"] .node,
html[dir="rtl"] .field,
html[dir="rtl"] .views-field,
html[dir="rtl"] .sidebar,
html[dir="rtl"] .footer,
html[dir="rtl"] .footerwidget,
html[dir="rtl"] .bottom-widget,
html[dir="rtl"] .topwidget {
  direction: rtl;
  text-align: right;
}

html[dir="rtl"] input,
html[dir="rtl"] textarea,
html[dir="rtl"] select,
html[lang^="ar"] input,
html[lang^="ar"] textarea,
html[lang^="ar"] select {
  direction: rtl;
  text-align: right;
}

html[dir="rtl"] input[type="email"],
html[dir="rtl"] input[type="url"],
html[dir="rtl"] input[type="tel"] {
  direction: ltr;
  text-align: left;
}

html[dir="rtl"] ol,
html[dir="rtl"] ul {
  padding-right: 20px;
  padding-left: 0;
}

html[dir="rtl"] .node--view-mode-full .field--name-body,
html[dir="rtl"] .node--view-mode-full .field--name-body p,
html[dir="rtl"] .node--view-mode-full .field--name-body h2,
html[dir="rtl"] .node--view-mode-full .field--name-body h3,
html[dir="rtl"] .node--view-mode-full .field--name-body h4,
html[dir="rtl"] .node--view-mode-full .field--name-body li,
html[dir="rtl"] table th,
html[dir="rtl"] table td {
  direction: rtl;
  text-align: right;
}

/* Header and main navigation. */
.main-header nav,
.region-primary-menu,
#block-pets-zymphonies-theme-main-menu,
#main-menu {
  background: transparent !important;
}

#main-menu {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: auto;
  margin: 0;
  padding: 0;
}

#main-menu > li {
  float: none;
  width: auto;
  border: 0;
  background: transparent;
}

#main-menu > li > a {
  position: relative;
  width: auto;
  padding: 18px 13px 14px;
  border: 0;
  background: transparent !important;
  color: var(--alifa-ink) !important;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.4;
  white-space: nowrap;
  transition: color 180ms ease;
}

#main-menu > li > a::after {
  position: absolute;
  right: 50%;
  bottom: 7px;
  width: 0;
  height: 3px;
  border-radius: 99px;
  background: var(--alifa-primary);
  content: "";
  transform: translateX(50%);
  transition: width 180ms ease;
}

#main-menu > li > a:hover,
#main-menu > li > a:focus,
#main-menu > li.active > a,
#main-menu > li > a.is-active,
#main-menu > li > a[aria-current="page"] {
  color: var(--alifa-primary) !important;
  outline: 0;
}

#main-menu > li > a:hover::after,
#main-menu > li > a:focus::after,
#main-menu > li.active > a::after,
#main-menu > li > a.is-active::after,
#main-menu > li > a[aria-current="page"]::after {
  width: 58%;
}

/* Search control. */
#search-block-form {
  display: flex;
  align-items: center;
  width: 100%;
  overflow: hidden;
  border: 1px solid var(--alifa-border);
  border-radius: 24px;
  background: var(--alifa-surface);
  box-shadow: 0 5px 18px rgba(88, 54, 55, 0.08);
}

#search-block-form .form-item,
#search-block-form .form-actions {
  display: block;
  margin: 0;
}

#search-block-form .form-item {
  flex: 1 1 auto;
}

#search-block-form .form-actions {
  flex: 0 0 42px;
  width: 42px;
}

#search-block-form input.form-search {
  width: 100%;
  height: 40px;
  padding: 7px 14px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--alifa-ink);
  outline: 0;
}

#search-block-form input.form-search:focus {
  box-shadow: inset 0 0 0 2px rgba(154, 84, 88, 0.2);
}

#search-block-form input.form-submit {
  width: 42px;
  height: 40px;
  padding: 0;
  border: 0;
  border-radius: 50% 0 0 50%;
  background-color: var(--alifa-primary);
  background-position: center;
  color: transparent;
  font-size: 0;
  transition: background-color 180ms ease;
}

#search-block-form input.form-submit:hover,
#search-block-form input.form-submit:focus {
  border-color: var(--alifa-primary-dark);
  background-color: var(--alifa-primary-dark);
}

/* Full-photo slider. */
.alifa-slider {
  width: 100%;
  height: auto;
  aspect-ratio: 79 / 34;
  margin: 22px 0 46px;
  overflow: hidden;
  border: 0;
  border-radius: 22px;
  background: #eee6df;
  box-shadow: var(--alifa-shadow);
}

.alifa-slider .flex-viewport,
.alifa-slider .slides,
.alifa-slider .slides > li {
  height: 100% !important;
}

.alifa-slider .slides {
  margin: 0;
  padding: 0;
}

.alifa-slider .flex-viewport,
.alifa-slider .slides > li {
  overflow: hidden !important;
}

.alifa-slider .slides img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none;
  object-fit: contain;
  object-position: center;
}

.alifa-slider .slider-caption {
  display: none !important;
}

.alifa-slider .flex-direction-nav {
  top: 50%;
  display: block;
  margin-top: -24px;
}

.alifa-slider .flex-direction-nav a {
  width: 44px;
  height: 44px;
  margin-top: -22px;
  overflow: visible;
  opacity: 1 !important;
  border-radius: 50%;
  background: rgba(154, 84, 88, 0.94);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.28);
  text-align: center !important;
}

.alifa-slider .flex-direction-nav a::before {
  display: block;
  color: #fff;
  font-family: Arial, sans-serif !important;
  font-size: 38px;
  font-weight: 700;
  line-height: 40px;
  text-shadow: none;
}

.alifa-slider .flex-direction-nav .flex-prev {
  right: auto !important;
  left: 16px !important;
}

.alifa-slider .flex-direction-nav .flex-next {
  right: 16px !important;
  left: auto !important;
}

.alifa-slider .flex-direction-nav .flex-prev::before {
  content: "\2039" !important;
}

.alifa-slider .flex-direction-nav .flex-next::before {
  content: "\203a" !important;
}

html[dir="rtl"] .alifa-slider .flex-direction-nav .flex-prev {
  right: 16px !important;
  left: auto !important;
}

html[dir="rtl"] .alifa-slider .flex-direction-nav .flex-next {
  right: auto !important;
  left: 16px !important;
}

html[dir="rtl"] .alifa-slider .flex-direction-nav .flex-prev::before {
  content: "\203a" !important;
}

html[dir="rtl"] .alifa-slider .flex-direction-nav .flex-next::before {
  content: "\2039" !important;
}

html[dir="rtl"] .alifa-slider:hover .flex-direction-nav .flex-prev {
  right: 16px !important;
  left: auto !important;
  opacity: 1 !important;
}

html[dir="rtl"] .alifa-slider:hover .flex-direction-nav .flex-next {
  right: auto !important;
  left: 16px !important;
  opacity: 1 !important;
}

.alifa-slider .flex-direction-nav a:hover,
.alifa-slider .flex-direction-nav a:focus {
  opacity: 1 !important;
  background: var(--alifa-primary-dark);
  transform: scale(1.08);
}

.alifa-slider .flex-control-nav {
  bottom: 16px;
  z-index: 10;
}

.alifa-slider .flex-control-paging li a {
  width: 10px;
  height: 10px;
  border: 2px solid rgba(255, 255, 255, 0.95);
  background: rgba(63, 48, 49, 0.45);
  box-shadow: none;
}

.alifa-slider .flex-control-paging li a.flex-active {
  background: var(--alifa-primary);
}

/* The two large Cat and Dog Views cards in the home content area. */
.path-frontpage .main-content .block-views {
  height: 100%;
  margin-bottom: 24px;
  padding: 18px;
  overflow: hidden;
  border: 1px solid var(--alifa-border);
  border-radius: 22px;
  background: var(--alifa-surface);
  box-shadow: 0 8px 24px rgba(88, 54, 55, 0.08);
  transition: transform 220ms ease, box-shadow 220ms ease;
}

.path-frontpage .main-content .block-views:hover {
  transform: translateY(-6px);
  box-shadow: var(--alifa-shadow);
}

.path-frontpage .main-content .block-views h2,
.path-frontpage .main-content .block-views h3 {
  margin: 0 0 15px;
  color: var(--alifa-primary);
  font-size: 22px;
  font-weight: 800;
  line-height: 1.35;
  text-align: center;
}

.path-frontpage .main-content .block-views h2 a,
.path-frontpage .main-content .block-views h3 a {
  color: inherit;
  text-decoration: none;
}

.path-frontpage .main-content .block-views .alifa-article-card {
  display: flex;
  flex-direction: column;
  height: auto;
  text-align: center;
}

.path-frontpage .main-content .block-views .views-field-field-image {
  margin-bottom: 16px;
  overflow: hidden;
  border-radius: 16px;
}

.path-frontpage .main-content .block-views .views-field-field-image a,
.path-frontpage .main-content .block-views .views-field-field-image img {
  display: block;
  width: 100% !important;
}

.path-frontpage .main-content .block-views .views-field-field-image img {
  height: clamp(210px, 25vw, 300px) !important;
  max-width: none !important;
  border-radius: 16px !important;
  object-fit: cover;
  transition: transform 260ms ease;
}

.path-frontpage .main-content .block-views:hover .views-field-field-image img {
  transform: scale(1.035);
}

.path-frontpage .main-content .block-views .views-field-title {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  min-height: 54px;
  padding: 0 7px 4px;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
}

.path-frontpage .main-content .block-views .views-field-title a {
  display: -webkit-box;
  overflow: hidden;
  color: var(--alifa-ink);
  text-decoration: none;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  transition: color 180ms ease;
}

.path-frontpage .main-content .block-views .views-field-title a:hover,
.path-frontpage .main-content .block-views .views-field-title a:focus {
  color: var(--alifa-primary);
}

/* Three Views cards in the Features region. */
.features {
  padding: 55px 0;
  background: #fffaf6;
}

.features > .container > .row {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
}

.features .alifa-feature-column {
  display: flex;
  margin-bottom: 24px;
}

.features .alifa-feature-column > .region {
  width: 100%;
}

.features .alifa-feature-column .block-views {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 24px;
  overflow: hidden;
  border: 1px solid var(--alifa-border);
  border-radius: 22px;
  background: var(--alifa-surface);
  box-shadow: 0 8px 24px rgba(88, 54, 55, 0.08);
  text-align: center;
  transition: transform 220ms ease, box-shadow 220ms ease;
}

.features .alifa-feature-column .block-views:hover {
  transform: translateY(-6px);
  box-shadow: var(--alifa-shadow);
}

.features .alifa-feature-column h2,
.features .alifa-feature-column h3 {
  margin: 0 0 18px;
  color: var(--alifa-primary);
  font-size: 22px;
  font-weight: 800;
  line-height: 1.35;
  text-align: center;
}

.features .alifa-feature-column h2 a,
.features .alifa-feature-column h3 a {
  color: inherit;
  text-decoration: none;
}

.features .alifa-feature-column .views-row,
.features .alifa-feature-column .alifa-article-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  height: auto;
}

.features .alifa-feature-column .views-field-field-image {
  width: 100%;
  margin-bottom: 18px;
}

.features .alifa-feature-column .views-field-field-image a {
  display: block;
}

.features .alifa-feature-column .views-field-field-image img {
  display: block;
  width: min(100%, 245px) !important;
  height: auto !important;
  aspect-ratio: 1 / 1;
  margin: 0 auto;
  border: 5px solid var(--alifa-soft);
  border-radius: 50%;
  object-fit: cover;
  transition: transform 260ms ease, border-color 260ms ease;
}

.features .alifa-feature-column .block-views:hover .views-field-field-image img {
  border-color: #e5c8bd;
  transform: scale(1.035);
}

.features .alifa-feature-column .views-field-title {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  min-height: 54px;
  padding: 0 4px 4px;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
}

.features .alifa-feature-column .views-field-title a {
  display: -webkit-box;
  overflow: hidden;
  color: var(--alifa-ink);
  text-decoration: none;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  transition: color 180ms ease;
}

.features .alifa-feature-column .views-field-title a:hover,
.features .alifa-feature-column .views-field-title a:focus {
  color: var(--alifa-primary);
}

/* The three editorial-value cards in the Services region. */
.alifa-services {
  padding: 58px 0;
  background: var(--alifa-soft);
}

.alifa-services .region-services {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  align-items: stretch;
}

.alifa-services .region-services > .block {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: 100%;
  margin: 0;
  padding: 28px 24px 25px;
  overflow: hidden;
  border: 1px solid var(--alifa-border);
  border-radius: 22px;
  background: var(--alifa-surface);
  box-shadow: 0 8px 24px rgba(88, 54, 55, 0.08);
  text-align: center;
  transition: transform 220ms ease, box-shadow 220ms ease;
}

.alifa-services .region-services > .block::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 4px;
  background: linear-gradient(90deg, #d99a78, var(--alifa-primary), #6ca5a2);
  content: "";
}

.alifa-services .region-services > .block:hover {
  box-shadow: var(--alifa-shadow);
  transform: translateY(-5px);
}

.alifa-services .region-services > .block > h2,
.alifa-services .region-services > .block > h3 {
  margin: 4px 0 18px;
  color: var(--alifa-primary);
  font-size: 22px;
  font-weight: 800;
  line-height: 1.45;
  text-align: center;
}

.alifa-services .region-services > .block > .content {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  align-items: center;
  width: 100%;
}

.alifa-services .region-services > .block .field--name-body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  align-items: center;
  width: 100%;
}

.alifa-services .region-services > .block img {
  display: block;
  width: 190px !important;
  height: 190px !important;
  max-width: 78%;
  margin: 0 auto 20px;
  padding: 5px;
  border: 1px solid #eedfd5;
  border-radius: 50% !important;
  background: #fff;
  object-fit: cover;
  box-shadow: 0 7px 20px rgba(88, 54, 55, 0.09);
  transition: transform 240ms ease;
}

.alifa-services .region-services > .block:hover img {
  transform: scale(1.035);
}

.alifa-services .region-services > .block p {
  width: 100%;
  margin: 0;
  color: var(--alifa-muted);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.85;
  text-align: center;
}

.alifa-services .region-services > .block p + p {
  margin-top: 10px;
}

/* The four doctor/profile cards. */
.alifa-team {
  padding: 56px 0 38px;
  background: #fffaf6;
}

.alifa-team > .container > .row {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
}

.alifa-team .alifa-team-card-column {
  display: flex;
  margin-bottom: 24px;
}

.alifa-team .alifa-team-card-column > .region {
  width: 100%;
}

.alifa-team .alifa-team-card-column .block {
  height: 100%;
  margin: 0;
  padding: 14px 14px 22px;
  overflow: hidden;
  border: 1px solid var(--alifa-border);
  border-radius: 20px;
  background: var(--alifa-surface);
  box-shadow: 0 8px 22px rgba(88, 54, 55, 0.08);
  text-align: center;
  transition: transform 220ms ease, box-shadow 220ms ease;
}

.alifa-team .alifa-team-card-column .block:hover {
  box-shadow: var(--alifa-shadow);
  transform: translateY(-5px);
}

.alifa-team .alifa-team-card-column .content,
.alifa-team .alifa-team-card-column .field--name-body {
  height: 100%;
}

.alifa-team .alifa-team-card-column img {
  display: block;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1.08;
  margin: 0 auto 17px;
  border-radius: 14px 14px 10px 10px;
  object-fit: cover;
  object-position: center top;
}

.alifa-team .alifa-team-card-column h2,
.alifa-team .alifa-team-card-column h3,
.alifa-team .alifa-team-card-column a {
  color: var(--alifa-primary);
  font-size: 18px;
  font-weight: 800;
  line-height: 1.5;
  text-decoration: none;
}

.alifa-team .alifa-team-card-column p {
  margin: 0 0 8px;
  color: var(--alifa-muted);
  font-size: 15px;
  line-height: 1.75;
  text-align: center;
}

.alifa-team .alifa-team-card-column p:last-child {
  margin-bottom: 0;
}

/* Editor-in-chief introduction block in the front-page content region. */
.path-frontpage .alifa-main-content .region-content > .block-block-content {
  position: relative;
  clear: both;
  margin: 30px 0 18px;
  padding: 32px 36px 30px;
  overflow: hidden;
  border: 1px solid var(--alifa-border);
  border-right: 5px solid var(--alifa-primary);
  border-radius: 22px;
  background: linear-gradient(135deg, #ffffff 0%, #fffaf6 100%);
  box-shadow: 0 10px 28px rgba(88, 54, 55, 0.08);
}

.path-frontpage .alifa-main-content .region-content > .block-block-content::after {
  position: absolute;
  top: 15px;
  left: 25px;
  color: rgba(154, 84, 88, 0.11);
  font-family: Georgia, serif;
  font-size: 86px;
  line-height: 1;
  content: "\201C";
  pointer-events: none;
}

.path-frontpage .alifa-main-content .region-content > .block-block-content > h2 {
  position: relative;
  margin: 0 0 18px;
  padding-bottom: 13px;
  color: var(--alifa-primary);
  font-size: 27px;
  font-weight: 800;
  line-height: 1.4;
}

.path-frontpage .alifa-main-content .region-content > .block-block-content > h2::after {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 64px;
  height: 3px;
  border-radius: 10px;
  background: var(--alifa-primary);
  content: "";
}

.path-frontpage .alifa-main-content .region-content > .block-block-content p {
  max-width: 980px;
  margin: 0 0 14px;
  color: var(--alifa-ink);
  font-size: 17px;
  line-height: 2;
  text-align: right;
}

.path-frontpage .alifa-main-content .region-content > .block-block-content .more-link,
.path-frontpage .alifa-main-content .region-content > .block-block-content a.button {
  display: inline-block;
  margin-top: 8px;
  padding: 10px 24px;
  border: 2px solid var(--alifa-primary);
  border-radius: 999px;
  color: var(--alifa-primary);
  font-weight: 700;
  text-decoration: none;
}

/* Taxonomy term article teasers. */
.path-taxonomy .alifa-main-content .alifa-teaser-card {
  display: grid;
  grid-template-columns: minmax(220px, 28%) minmax(0, 1fr);
  grid-template-areas:
    "image title"
    "image details";
  column-gap: 28px;
  align-items: start;
  margin: 0 0 28px;
  padding: 22px;
  overflow: hidden;
  border: 1px solid var(--alifa-border);
  border-radius: 22px;
  background: var(--alifa-surface);
  box-shadow: 0 9px 28px rgba(88, 54, 55, 0.08);
  transition: transform 220ms ease, box-shadow 220ms ease;
}

.path-taxonomy .alifa-main-content .alifa-teaser-card:hover {
  box-shadow: var(--alifa-shadow);
  transform: translateY(-4px);
}

.path-taxonomy .alifa-main-content .alifa-teaser-card > h2 {
  grid-area: title;
  margin: 2px 0 14px;
  color: var(--alifa-primary);
  font-size: 24px;
  font-weight: 800;
  line-height: 1.5;
  text-align: right;
}

.path-taxonomy .alifa-main-content .alifa-teaser-card > h2 a {
  color: inherit;
  text-decoration: none;
  transition: color 180ms ease;
}

.path-taxonomy .alifa-main-content .alifa-teaser-card > h2 a:hover,
.path-taxonomy .alifa-main-content .alifa-teaser-card > h2 a:focus {
  color: var(--alifa-primary-dark);
}

.path-taxonomy .alifa-main-content .alifa-teaser-card > .node__content {
  display: contents;
}

.path-taxonomy .alifa-main-content .alifa-teaser-card .field--name-field-image {
  grid-area: image;
  align-self: stretch;
  margin: 0;
}

.path-taxonomy .alifa-main-content .alifa-teaser-card .field--name-field-image a,
.path-taxonomy .alifa-main-content .alifa-teaser-card .field--name-field-image img {
  display: block;
  width: 100% !important;
  height: 100% !important;
}

.path-taxonomy .alifa-main-content .alifa-teaser-card .field--name-field-image img {
  min-height: 230px;
  max-height: 285px;
  border-radius: 16px;
  object-fit: cover;
  transition: transform 260ms ease;
}

.path-taxonomy .alifa-main-content .alifa-teaser-card:hover .field--name-field-image img {
  transform: scale(1.025);
}

.path-taxonomy .alifa-main-content .alifa-teaser-card > .node__content > *:not(.field--name-field-image) {
  grid-column: 2;
}

.path-taxonomy .alifa-main-content .alifa-teaser-card .field--name-body {
  grid-area: details;
  max-height: 8.2em;
  overflow: hidden;
  color: var(--alifa-muted);
  font-size: 16px;
  line-height: 1.9;
  text-align: right;
}

.path-taxonomy .alifa-main-content .alifa-teaser-card .field--name-body p,
.path-taxonomy .alifa-main-content .alifa-teaser-card .field--name-body h2,
.path-taxonomy .alifa-main-content .alifa-teaser-card .field--name-body h3 {
  margin: 0 0 8px;
  font-size: inherit;
  line-height: inherit;
}

.path-taxonomy .alifa-main-content .alifa-teaser-card .links {
  grid-column: 2;
  margin: 18px 0 0;
  padding: 0;
  text-align: right;
}

.path-taxonomy .alifa-main-content .alifa-teaser-card .links li {
  margin: 0 0 0 8px;
  padding: 0;
}

.path-taxonomy .alifa-main-content .alifa-teaser-card .node-readmore a {
  padding: 9px 22px;
  border: 2px solid var(--alifa-primary);
  color: var(--alifa-primary);
  font-weight: 700;
}

.path-taxonomy .alifa-main-content .alifa-teaser-card .node-readmore a:hover,
.path-taxonomy .alifa-main-content .alifa-teaser-card .node-readmore a:focus {
  background: var(--alifa-primary);
  color: #fff;
}

@media (max-width: 991px) {
  .features .alifa-feature-column {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .features .alifa-feature-column .block-views {
    max-width: 620px;
    margin: 0 auto;
  }

  .alifa-services .region-services {
    gap: 18px;
  }

  .alifa-services .region-services > .block {
    padding: 24px 18px;
  }

  .alifa-services .region-services > .block img {
    width: 155px !important;
    height: 155px !important;
  }

  .alifa-team .alifa-team-card-column {
    flex: 0 0 50%;
    max-width: 50%;
  }

  .path-taxonomy .alifa-main-content .alifa-teaser-card {
    grid-template-columns: minmax(190px, 32%) minmax(0, 1fr);
    column-gap: 22px;
  }
}

@media (max-width: 766px) {
  .header {
    padding: 10px 0;
  }

  .region-primary-menu {
    margin-top: 10px;
    padding: 8px;
    border: 1px solid var(--alifa-border);
    border-radius: 14px;
    background: var(--alifa-surface) !important;
    box-shadow: var(--alifa-shadow);
  }

  #main-menu {
    display: block;
    width: 100%;
  }

  #main-menu > li > a {
    display: block;
    padding: 13px 14px;
    border-bottom: 1px solid #f1e7df;
    font-size: 16px;
    text-align: right;
  }

  #main-menu > li:last-child > a {
    border-bottom: 0;
  }

  #main-menu > li > a::after {
    display: none;
  }

  .navbar-toggle .fas {
    color: var(--alifa-primary);
  }

  .alifa-slider {
    height: auto;
    aspect-ratio: 79 / 34;
    margin: 14px 0 32px;
    border-radius: 14px;
  }

  .alifa-slider .flex-direction-nav a {
    width: 38px;
    height: 38px;
    margin-top: -19px;
  }

  .alifa-slider .flex-direction-nav a::before {
    font-size: 32px;
    line-height: 35px;
  }

  html[dir="rtl"] .alifa-slider .flex-direction-nav .flex-prev {
    right: 10px !important;
  }

  html[dir="rtl"] .alifa-slider .flex-direction-nav .flex-next {
    left: 10px !important;
  }

  .path-frontpage .main-content .block-views {
    padding: 15px;
    border-radius: 18px;
  }

  .path-frontpage .main-content .block-views h2,
  .path-frontpage .main-content .block-views h3 {
    font-size: 20px;
  }

  .path-frontpage .main-content .block-views .views-field-field-image img {
    height: 230px !important;
  }

  .path-frontpage .main-content .block-views .views-field-title {
    min-height: 0;
    font-size: 16px;
  }

  .features {
    padding: 36px 0 16px;
  }

  .features .alifa-feature-column .block-views {
    padding: 20px;
    border-radius: 18px;
  }

  .features .alifa-feature-column h2,
  .features .alifa-feature-column h3 {
    font-size: 20px;
  }

  .features .alifa-feature-column .views-field-title {
    min-height: 0;
    font-size: 16px;
  }

  .alifa-services {
    padding: 38px 0;
  }

  .alifa-services .region-services {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .alifa-services .region-services > .block {
    max-width: 520px;
    margin: 0 auto;
    padding: 24px 20px;
    border-radius: 18px;
  }

  .alifa-services .region-services > .block > h2,
  .alifa-services .region-services > .block > h3 {
    font-size: 20px;
  }

  .alifa-services .region-services > .block img {
    width: 180px !important;
    height: 180px !important;
  }

  .alifa-team {
    padding: 38px 0 22px;
  }

  .alifa-team .alifa-team-card-column {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .alifa-team .alifa-team-card-column .block {
    max-width: 430px;
    margin: 0 auto;
  }

  .path-frontpage .alifa-main-content .region-content > .block-block-content {
    padding: 25px 22px;
    border-radius: 18px;
  }

  .path-frontpage .alifa-main-content .region-content > .block-block-content > h2 {
    font-size: 23px;
  }

  .path-frontpage .alifa-main-content .region-content > .block-block-content p {
    font-size: 16px;
    line-height: 1.9;
  }

  .path-taxonomy .alifa-main-content .alifa-teaser-card {
    display: block;
    padding: 16px;
    border-radius: 18px;
  }

  .path-taxonomy .alifa-main-content .alifa-teaser-card > .node__content {
    display: block;
  }

  .path-taxonomy .alifa-main-content .alifa-teaser-card > h2 {
    margin: 14px 0 12px;
    font-size: 21px;
  }

  .path-taxonomy .alifa-main-content .alifa-teaser-card .field--name-field-image img {
    width: 100% !important;
    min-height: 0;
    max-height: none;
    aspect-ratio: 16 / 10;
  }

  .path-taxonomy .alifa-main-content .alifa-teaser-card .field--name-body {
    max-height: 7.6em;
    font-size: 15.5px;
  }

  .path-taxonomy .alifa-main-content .alifa-teaser-card .links {
    margin-top: 16px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .alifa-slider *,
  .features .alifa-feature-column *,
  .alifa-services *,
  .alifa-team *,
  .alifa-teaser-card *,
  #main-menu * {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}


/* ============================================================
 * ALIFA homepage advertising slots + dynamic lower section cards
 * ============================================================ */
.alifa-ad-slot {
  padding: 12px 0 18px;
}

.alifa-ad-slot .block,
.alifa-ad-slot .views-element-container,
.alifa-ad-slot .view,
.alifa-ad-slot .view-content,
.alifa-ad-slot .views-row {
  margin: 0;
  padding: 0;
}

.alifa-ad-slot .alifa-ad-banner-field,
.alifa-ad-slot .field-content,
.alifa-ad-slot a.alifa-ad-link {
  display: block;
  width: 100%;
}

.alifa-ad-slot img {
  display: block;
  width: 100% !important;
  height: auto !important;
  max-height: 190px;
  object-fit: contain;
  border-radius: 12px;
  box-shadow: 0 7px 22px rgba(68, 42, 27, 0.10);
}

/* Do not reserve an empty strip when there is no published ad for the slot. */
.alifa-ad-slot:has(.view-empty),
.alifa-ad-slot:has(.views-view-empty) {
  display: none;
}

/* The three lower cards are now Views showing the latest article in each section. */
.bottom-widget {
  padding: 22px 0 36px;
}

.bottom-widget .block-views {
  height: 100%;
  padding: 20px 18px;
  border: 1px solid var(--alifa-border);
  border-radius: 18px;
  background: var(--alifa-surface);
  box-shadow: var(--alifa-shadow);
  text-align: center;
  transition: transform .2s ease, box-shadow .2s ease;
}

.bottom-widget .block-views:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 28px rgba(68, 42, 27, 0.13);
}

.bottom-widget .block-views .views-field-field-image img {
  display: block;
  width: 170px !important;
  height: 170px !important;
  margin: 0 auto 14px;
  object-fit: cover;
  border-radius: 50%;
}

.bottom-widget .block-views .views-field-title {
  min-height: 3.2em;
  margin-top: 10px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;
}

.bottom-widget .block-views .views-field-title a {
  color: var(--alifa-primary);
  text-decoration: none;
}

.bottom-widget .block-views .views-field-title a:hover,
.bottom-widget .block-views .views-field-title a:focus {
  text-decoration: underline;
}

@media (max-width: 766px) {
  .alifa-ad-slot {
    padding: 8px 0 14px;
  }

  .alifa-ad-slot img {
    max-height: none;
    border-radius: 9px;
  }

  .bottom-widget .row > [class*="col-"] {
    float: none;
    width: 100%;
    max-width: 520px;
    margin: 0 auto 18px;
  }

  .bottom-widget .block-views .views-field-field-image img {
    width: 190px !important;
    height: 190px !important;
  }
}
