:root {
    --hamer-navy: #112c43;
    --hamer-navy-dark: #0b2032;
    --hamer-gold: #a98548;
    --hamer-muted: #64717d;
    --hamer-paper: #f7f7f3;
    --hamer-border: #e2e5e5;
}
/* Tabler/Bootstrap "primary" follows the HAMER palette, so no default blue appears in this theme. */
:root,
[data-bs-theme] {
    --tblr-primary: #112c43;
    --tblr-primary-rgb: 17, 44, 67;
    --tblr-primary-fg: #fff;
    --tblr-primary-darken: #0b2032;
    --tblr-primary-lt: #e8ebee;
    --tblr-primary-lt-rgb: 232, 235, 238;
    --tblr-link-color: #112c43;
    --tblr-link-color-rgb: 17, 44, 67;
    --tblr-link-hover-color: #806130;
    --tblr-link-hover-color-rgb: 128, 97, 48;
}
.hamer-site .form-control:focus,
.hamer-site .form-select:focus {
    border-color: var(--hamer-gold);
    box-shadow: 0 0 0 .2rem rgba(169, 133, 72, .25);
}
body.hamer-site {
    margin: 0;
    background: white;
    color: var(--hamer-navy);
    font-family: 'Segoe UI', Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
}
.hamer-site a {
    text-decoration: none;
}
.hamer-site .container {
    max-width: 1320px;
    /* Side padding matches the widest row gutter (g-4), so rows never push the page sideways on phones. */
    --tblr-gutter-x: 1.5rem;
}
/* Safety net: nothing inside the content may create a horizontal scroll (touch scrolling stays vertical). */
#main-content {
    overflow-x: clip;
}
.hamer-topbar {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 1.5rem;
    padding: .6rem max(1.5rem, calc((100% - 1290px) / 2));
    background: var(--hamer-navy-dark);
    font-size: .75rem;
}
.hamer-topbar a {
    color: #e8edf1;
}
.hamer-topbar a:first-child {
    margin-right: auto;
}
.hamer-header {
    padding: 1.5rem 0;
    background: #fff;
}
.hamer-brand-row, .hamer-brand-link {
    display: flex;
    align-items: center;
    gap: 1.5rem;
}
.hamer-brand-row {
    justify-content: space-between;
}
.hamer-brand {
    width: 230px;
    height: 74px;
    max-width: 100%;
    object-fit: contain;
}
.hamer-brand-text {
    display: grid;
    gap: .25rem;
    padding-left: 1.5rem;
    border-left: 1px solid var(--hamer-border);
}
.hamer-brand-text strong {
    color: var(--hamer-navy);
    font-size: 1.2rem;
}
.hamer-brand-text span {
    color: var(--hamer-muted);
    font-size: .8rem;
}
.hamer-brand-motto {
    max-width: 180px;
    margin: 0;
    text-align: right;
    color: var(--hamer-gold);
    font: italic 1rem/1.6 Georgia, serif;
}
.hamer-navigation {
    position: sticky;
    top: 0;
    z-index: 1030;
    padding: 0;
    background: var(--hamer-navy);
    box-shadow: 0 4px 16px #112c4312;
}
.hamer-menu-toggle {
    display: none;
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    margin-left: auto;
    padding: 0;
    border: 1px solid var(--hamer-border);
    border-radius: .5rem;
    background: white;
    color: var(--hamer-navy);
    font-size: 1.5rem;
}
.hamer-menu-toggle:hover {
    background: var(--hamer-paper);
}
.hamer-menu {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 0;
    margin: 0;
    list-style: none;
}
.hamer-menu li {
    position: relative;
    list-style: none;
}
.hamer-menu a, .hamer-menu summary {
    display: block;
    padding: 1rem .85rem;
    color: white;
    font-size: .8rem;
    font-weight: 600;
    cursor: pointer;
    list-style: none;
}
.hamer-menu summary::-webkit-details-marker {
    display: none;
}
.hamer-menu a:hover, .hamer-menu summary:hover, .hamer-menu .active {
    background: #ffffff14;
}
.hamer-menu details > ul {
    position: absolute;
    left: 0;
    top: 100%;
    z-index: 1040;
    min-width: 260px;
    max-width: min(360px, 90vw);
    padding: .5rem;
    margin: 0;
    background: white;
    border: 1px solid var(--hamer-border);
    border-top: 3px solid var(--hamer-gold);
    border-radius: 0 0 8px 8px;
    box-shadow: 0 16px 40px #10294426;
}
.hamer-menu > li:last-child details > ul {
    right: 0;
    left: auto;
}
.hamer-menu ul a, .hamer-menu ul summary {
    padding: .8rem;
    color: var(--hamer-navy);
}
.hamer-menu ul a:hover, .hamer-menu ul summary:hover {
    background: var(--hamer-paper);
}
.hamer-menu ul details > ul {
    position: static;
    border: 0;
    box-shadow: none;
    padding-left: .75rem;
}
.hamer-home {
    padding-top: 1.25rem;
    padding-bottom: 3.5rem;
}
.hamer-eyebrow {
    display: block;
    margin-bottom: .85rem;
    color: #876a36;
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.hamer-text-link {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    color: var(--hamer-navy);
    font-size: .8rem;
    font-weight: 700;
}
.hamer-text-link:hover {
    color: #806130;
}
.hamer-headline {
    margin-bottom: 2rem;
}
.hamer-swiper {
    min-width: 0;
    max-width: 100%;
    border-radius: 14px;
    background: var(--hamer-navy);
    --swiper-theme-color: #d1ad70;
}
.hamer-swiper .swiper-slide {
    height: auto;
}
.hamer-swiper:not(.swiper-initialized) .swiper-slide:not(:first-child) {
    display: none;
}
.hamer-slide {
    position: relative;
}
.hamer-headline-hero .hamer-slide > :is(img, .hamer-slide-image) {
    display: block;
    width: 100%;
    height: clamp(390px, 38vw, 510px);
    max-height: none;
    object-fit: cover;
}
.hamer-headline-hero .hamer-slide::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, #081c30e8, #081c3030 85%), linear-gradient(0deg, #081c30b3, transparent 70%);
    pointer-events: none;
}
.hamer-slide-caption {
    position: relative;
    z-index: 1;
    color: white;
}
.hamer-headline-hero .hamer-slide-caption {
    position: absolute;
    bottom: 80px;
    left: 3rem;
    max-width: min(760px, 78%);
}
.hamer-slide-caption .hamer-eyebrow {
    color: #e2c596;
}
.hamer-slide-caption h2 {
    margin: 0 0 1.5rem;
    color: white;
    font: 500 clamp(1.6rem, 2.6vw, 2.6rem)/1.22 Georgia, serif;
    letter-spacing: -.02em;
}
.hamer-slide-caption h2 a, .hamer-slide-link {
    color: white;
}
.hamer-slide-link {
    display: inline-flex;
    align-items: center;
    gap: .75rem;
    font-size: .8rem;
    border-bottom: 1px solid #ffffff60;
    padding-bottom: .4rem;
}
.hamer-slider-controls {
    position: absolute;
    right: 1.5rem;
    bottom: 1.2rem;
    left: 1.5rem;
    z-index: 5;
    display: flex;
    align-items: center;
    gap: .7rem;
    color: white;
}
.hamer-slider-counter {
    font-size: .72rem;
    font-variant-numeric: tabular-nums;
    min-width: 3rem;
}
.hamer-slider-pagination.swiper-pagination-progressbar {
    position: relative;
    width: min(130px, 25%);
    height: 2px;
    margin-right: auto;
    background: #ffffff40;
}
.hamer-slider-controls button {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border: 1px solid #ffffff70;
    border-radius: 50%;
    color: white;
    background: #102b4350;
}
.hamer-slider-controls button:hover {
    background: white;
    color: var(--hamer-navy);
}
.hamer-slider-controls button:disabled {
    opacity: .35;
    cursor: default;
}
.hamer-headline-standard .hamer-slide {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(240px, 1fr);
    align-items: center;
    min-height: 380px;
}
.hamer-headline-standard .hamer-slide > :is(img, .hamer-slide-image) {
    width: 100%;
    height: 380px;
    max-height: none;
    object-fit: contain;
    background: #edf0f2;
}
.hamer-headline-standard .hamer-slide-caption {
    padding: 2.5rem 2.5rem 5rem;
}
.hamer-headline-standard .hamer-slide-caption h2 {
    font-size: 1.8rem;
}
.hamer-headline-standard .hamer-slider-controls {
    left: calc(60% + 2.5rem);
}
.content-region-side .hamer-slide {
    display: block;
    min-height: 0;
}
.content-region-side .hamer-slide > :is(img, .hamer-slide-image) {
    height: 200px;
}
.content-region-side .hamer-slide-caption {
    padding: 1rem 1rem 4.5rem;
}
.content-region-side .hamer-slide-caption h2 {
    font-size: 1.15rem;
}
.content-region-side .hamer-slider-controls {
    left: 1rem;
    right: 1rem;
}
.hamer-quick-links {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-bottom: 4rem;
    border: 1px solid var(--hamer-border);
    border-radius: 12px;
    background: white;
}
.hamer-quick-links a {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.6rem;
    color: var(--hamer-navy);
    font-weight: 600;
    font-size: .9rem;
}
.hamer-quick-links a + a {
    border-left: 1px solid var(--hamer-border);
}
.hamer-quick-links a > i:first-child {
    font-size: 1.8rem;
    color: var(--hamer-gold);
}
.hamer-quick-links a > i:last-child {
    margin-left: auto;
    color: var(--hamer-muted);
}
.hamer-quick-links a:hover {
    background: #f0f3f5;
}
.hamer-editorial-grid {
    display: grid;
    grid-template-columns: 2fr 1fr;
    align-items: start;
    gap: 2.5rem;
    margin-bottom: 4rem;
}
.hamer-section-heading {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.5rem;
}
.hamer-section-heading h2, .hamer-announcements h2, .hamer-publications h2 {
    margin: 0;
    color: var(--hamer-navy);
    font: 500 2rem/1.2 Georgia, serif;
}
.hamer-news-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.5rem;
}
.hamer-news-card {
    overflow: hidden;
    border: 1px solid var(--hamer-border);
    border-radius: 12px;
    background: white;
    transition: box-shadow .2s, transform .2s;
}
.hamer-news-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 28px #112c4310;
}
.hamer-news-image {
    display: grid;
    place-items: center;
    height: 190px;
    overflow: hidden;
    background: #e6ecef;
    color: var(--hamer-muted);
    font-size: 2.5rem;
}
.hamer-news-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.hamer-news-body {
    padding: 1.35rem;
}
.hamer-news-body time {
    display: block;
    color: var(--hamer-muted);
    font-size: .72rem;
    margin-bottom: .7rem;
}
.hamer-news-body h3 {
    margin: 0;
    font-size: 1rem;
    line-height: 1.55;
}
.hamer-news-body h3 a {
    color: var(--hamer-navy);
}
.hamer-news-body p {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    color: var(--hamer-muted);
    font-size: .85rem;
    line-height: 1.6;
    margin: .7rem 0 0;
}
.hamer-announcements {
    border-top: 3px solid var(--hamer-gold);
    border-radius: 0 0 12px 12px;
    padding: 1.5rem;
    background: #eeefe9;
}
.hamer-announcements .hamer-eyebrow {
    font-size: .6rem;
}
.hamer-announcements h2 {
    margin-bottom: 1rem;
}
.hamer-announcement {
    display: flex;
    align-items: start;
    gap: .9rem;
    padding: 1.2rem 0;
    border-bottom: 1px solid #d9ddd9;
    color: var(--hamer-navy);
    font-size: .85rem;
    font-weight: 600;
    line-height: 1.65;
}
.hamer-announcement > i {
    margin-left: auto;
    padding-top: .6rem;
}
.hamer-date {
    display: grid;
    justify-items: center;
    min-width: 42px;
    color: #876a36;
    line-height: 1.3;
}
.hamer-date strong {
    font: 500 1.9rem Georgia, serif;
}
.hamer-date span {
    font-size: .7rem;
    text-transform: uppercase;
}
.hamer-announcements > .hamer-text-link {
    margin-top: 1.3rem;
}
.hamer-empty {
    padding: 1.5rem 0;
    color: var(--hamer-muted);
}
.hamer-lower-headlines {
    margin-bottom: 4rem;
}
.hamer-publications {
    display: grid;
    grid-template-columns: 1fr 3fr;
    gap: 2.5rem;
    border-top: 1px solid var(--hamer-border);
    padding-top: 3rem;
}
.hamer-publications-intro > i {
    display: block;
    margin-top: 2rem;
    color: var(--hamer-gold);
    font-size: 3rem;
}
.hamer-publication-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.5rem;
}
.hamer-publication-grid a {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 1rem;
    padding: 1.25rem;
    color: var(--hamer-navy);
    background: white;
    border: 1px solid var(--hamer-border);
    border-radius: 10px;
    font-size: .8rem;
    font-weight: 600;
}
.hamer-publication-grid img {
    grid-column: 1 / -1;
    justify-self: center;
    width: 100%;
    height: 200px;
    object-fit: contain;
}
.hamer-footer {
    display: flex;
    justify-content: space-between;
    gap: 2rem;
    padding: 3rem max(1.5rem, calc((100% - 1290px) / 2));
    background: var(--hamer-navy-dark);
    color: #c4d0d8;
}
.hamer-footer h2 {
    color: white;
    font: 500 1.5rem Georgia, serif;
}
.hamer-footer a {
    color: #d5e1e8;
}
.hamer-footer p {
    font-size: .85rem;
    line-height: 1.8;
}
.hamer-footer .ti {
    margin-right: 1rem;
    font-size: 1.3rem;
}
.hamer-footer-right {
    text-align: right;
}
.hamer-area {
    padding: 1.5rem;
    background: white;
    border: 1px solid var(--hamer-border);
    border-radius: 12px;
    margin-bottom: 2rem;
}
.hamer-area h2 {
    font: 500 1.5rem Georgia, serif;
}
.hamer-area h3 {
    font-size: 1rem;
}

/* Widget blocks drawn as cards or as a list (Appearance > Widgets > Görünüm); sliders use the headline slider. */
.hamer-area-title {
    margin-bottom: 1rem;
    font: 500 1.5rem Georgia, serif;
    color: var(--hamer-navy);
}
.hamer-area-cards {
    margin-bottom: 2rem;
}
.hamer-area-card {
    border-color: var(--hamer-border);
    border-radius: 12px;
    overflow: hidden;
    transition: border-color .2s, box-shadow .2s;
}
.hamer-area-card:hover,
.hamer-area-card:focus-within {
    border-color: var(--hamer-gold);
    box-shadow: 0 .5rem 1.5rem rgba(17, 44, 67, .08);
}
.content-area .hamer-area-card .card-img-top {
    height: auto;
    aspect-ratio: 16 / 9;
    object-fit: cover;
}
.hamer-area-card .card-title {
    font-size: 1.05rem;
    line-height: 1.4;
}
.hamer-area-card .card-title a {
    color: var(--hamer-navy);
    text-decoration: none;
}
/* Summaries stay short in cards and lists: at most three lines. */
.hamer-area-summary {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: .9rem;
}
.hamer-area-list {
    display: grid;
    gap: 1rem;
}
.hamer-area-list-item {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--hamer-border);
}
.hamer-area-list-item:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}
.content-area .hamer-area-list-media {
    flex: 0 0 160px;
    width: 160px;
    height: 100px;
    object-fit: cover;
    border-radius: 8px;
}
.hamer-area-list-item h3 {
    margin-bottom: .35rem;
}
@media (max-width: 575.98px) {
    .content-area .hamer-area-list-media {
        flex-basis: 96px;
        width: 96px;
        height: 64px;
    }
}
.article-body {
    font-size: 1.05rem;
    line-height: 1.9;
    overflow-wrap: anywhere;
}
.article-body img {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 1.5rem auto;
    border-radius: 8px;
}
.article-body table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
}
.article-body iframe {
    max-width: 100%;
}
.source-note {
    margin-top: 2rem;
    padding-top: 1rem;
    border-top: 1px solid var(--hamer-border);
    font-size: .8rem;
}
.hamer-site .display-5 {
    font: 500 clamp(2rem, 3.5vw, 3rem)/1.2 Georgia, serif;
}
.hamer-site .text-warning {
    color: #806130 !important;
}
.hamer-site .card {
    border-radius: 12px;
}
.hamer-site .list-group-item.active {
    background: var(--hamer-navy);
}
.listing-search {
    width: min(360px, 50%);
}
.hover-lift {
    transition: transform .2s, box-shadow .2s;
}
.hover-lift:hover {
    transform: translateY(-3px);
}
.hover-primary:hover {
    color: #806130 !important;
}
.skip-link {
    position: fixed;
    top: -100px;
    left: 1rem;
    z-index: 2000;
    padding: 1rem;
    background: white;
}
.skip-link:focus {
    top: 1rem;
}
.hamer-site a:focus-visible, .hamer-site summary:focus-visible, .hamer-site button:focus-visible, .hamer-swiper:focus-visible {
    outline: 3px solid #c6a66a;
    outline-offset: 4px;
}
@media (max-width: 991.98px) {
    /* The menu trigger lives in the header; a collapsed nav needs no row height. */
    .hamer-navigation,
    .hamer-navigation > .container {
        min-height: 0;
    }
    .hamer-brand-row {
        flex-wrap: nowrap;
        gap: 1rem;
    }
    .hamer-brand-link {
        min-width: 0;
    }
    .hamer-menu-toggle {
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }
    .hamer-brand-motto {
        display: none;
    }
    .hamer-menu {
        display: block;
        padding: .5rem 0;
    }
    .hamer-menu details > ul {
        position: static;
        min-width: 0;
        max-width: none;
    }
    .hamer-editorial-grid {
        gap: 1.5rem;
        grid-template-columns: 1.6fr 1fr;
    }
    .hamer-quick-links a {
        padding: 1rem;
        gap: .6rem;
        font-size: .8rem;
    }
    .hamer-publications {
        grid-template-columns: 1fr;
    }
    .hamer-publications-intro > i {
        display: none;
    }
    .hamer-headline-standard .hamer-slide {
        grid-template-columns: 1fr 1fr;
    }
    .hamer-headline-standard .hamer-slider-controls {
        left: calc(50% + 1.5rem);
    }
    .hamer-headline-standard .hamer-slide-caption {
        padding: 1.5rem 1.5rem 5rem;
    }
}
@media (max-width: 767px) {
    .hamer-topbar {
        gap: .75rem;
        justify-content: center;
        font-size: .65rem;
    }
    .hamer-topbar a:first-child {
        margin-right: 0;
    }
    .hamer-brand-link {
        gap: .75rem;
    }
    .hamer-brand {
        width: 150px;
        height: 58px;
    }
    .hamer-brand-text {
        padding-left: .75rem;
    }
    .hamer-brand-text strong {
        font-size: .95rem;
    }
    .hamer-brand-text span {
        font-size: .65rem;
    }
    .hamer-home {
        padding-top: 1.75rem;
    }


    .hamer-headline-hero .hamer-slide > :is(img, .hamer-slide-image) {
        height: 450px;
    }
    .hamer-headline-hero .hamer-slide-caption {
        left: 1.5rem;
        right: 1.5rem;
        bottom: 90px;
        max-width: none;
    }
    .hamer-slide-caption h2 {
        font-size: 1.75rem;
    }
    .hamer-quick-links {
        grid-template-columns: 1fr;
        margin-bottom: 2.5rem;
    }
    .hamer-quick-links a + a {
        border-left: 0;
        border-top: 1px solid var(--hamer-border);
    }
    .hamer-editorial-grid {
        grid-template-columns: 1fr;
        margin-bottom: 2.5rem;
    }
    .hamer-headline-standard .hamer-slide {
        display: block;
    }
    .hamer-headline-standard .hamer-slide > :is(img, .hamer-slide-image) {
        height: 280px;
    }
    .hamer-headline-standard .hamer-slider-controls {
        left: 1.5rem;
    }
    .hamer-publication-grid {
        gap: .6rem;
    }
    .hamer-publication-grid a {
        padding: .65rem;
        font-size: .7rem;
    }
    .hamer-publication-grid img {
        height: 150px;
    }
    .hamer-footer {
        flex-direction: column;
    }
    .hamer-footer-right {
        text-align: left;
    }
    .listing-toolbar {
        flex-direction: column;
        align-items: stretch !important;
        gap: 1rem;
    }
    .listing-search {
        width: 100%;
    }
}
@media (max-width: 420px) {
    .hamer-news-grid {
        grid-template-columns: 1fr;
    }
    .hamer-publication-grid {
        grid-template-columns: 1fr;
    }
    .hamer-publication-grid img {
        height: 220px;
    }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        scroll-behavior: auto !important;
        transition: none !important;
        animation: none !important;
    }
}
/* Reference layout: split institutional hero and responsive lower headlines. */
.hamer-navigation {
    background: white;
    border-top: 1px solid var(--hamer-border);
    border-bottom: 3px solid var(--hamer-gold);
    box-shadow: none;
}
.hamer-navigation .navbar-toggler,
.hamer-menu a,
.hamer-menu summary {
    color: var(--hamer-navy);
}
.hamer-menu {
    justify-content: flex-start;
    gap: 1.5rem;
}
.hamer-menu a:hover,
.hamer-menu summary:hover {
    background: var(--hamer-paper);
}
.hamer-brand-text {
    display: none;
}
.hamer-home {
    padding-top: 0;
}
.hamer-reference-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    background: var(--hamer-navy);
    color: white;
    box-shadow: 0 0 0 100vmax var(--hamer-navy);
    clip-path: inset(0 -100vmax);
}
.hamer-reference-intro {
    padding: 4rem 3.5rem 3rem 0;
}
.hamer-reference-intro .hamer-eyebrow {
    color: #d1b77b;
}
.hamer-reference-intro h1 {
    margin: 1.5rem 0;
    color: #e4cf9d;
    font: 500 clamp(2rem, 3vw, 3.3rem)/1.15 Georgia, serif;
    max-width: 480px;
}
.hamer-reference-intro p {
    max-width: 460px;
    color: #d5e0e7;
    line-height: 1.9;
}
.hamer-about-button {
    display: inline-flex;
    align-items: center;
    gap: 2rem;
    margin-top: 1rem;
    padding: 1rem 1.5rem;
    border-radius: 3px;
    background: #c6ad75;
    color: #173044;
    font-weight: 600;
}
.hamer-hero-signature {
    margin-top: 2.5rem;
    color: #b6c8d4;
    font-size: .75rem;
    line-height: 1.8;
}
.hamer-reference-feature {
    min-width: 0;
}
.hamer-reference-feature .hamer-headline {
    margin: 0;
}
.hamer-reference-feature .hamer-swiper {
    border-radius: 0;
}
.hamer-reference-feature .hamer-slide > :is(img, .hamer-slide-image) {
    height: 500px;
}
.hamer-reference-feature .hamer-slide::after {
    background: linear-gradient(0deg, #102a3cef, transparent 75%);
}
.hamer-reference-feature .hamer-slide-caption {
    left: 2rem;
    right: 2rem;
    max-width: none;
    bottom: 75px;
}
.hamer-reference-feature .hamer-slide-caption h2 {
    font: 600 1.5rem/1.35 'Segoe UI', Arial, sans-serif;
    margin-bottom: 1rem;
}
.hamer-quick-links {
    border: 0;
    border-bottom: 1px solid var(--hamer-border);
    border-radius: 0;
    margin-bottom: 4rem;
    padding: 1.5rem 0;
}
.hamer-quick-links a {
    padding: .75rem 1.5rem;
}
.hamer-quick-links a > i:first-child {
    background: #f5f2eb;
    border-radius: 50%;
    padding: .8rem;
}
.hamer-news-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.25rem;
}
.hamer-news-card {
    border-radius: 4px;
}
.hamer-news-body p {
    display: none;
}
.hamer-section-heading h2,
.hamer-announcements h2,
.hamer-publications h2 {
    font-family: 'Segoe UI', Arial, sans-serif;
    font-size: 1.7rem;
}
.hamer-news-image {
    height: 200px;
}
.hamer-announcements {
    border-radius: 2px;
    background: #f7f7f7;
}
.hamer-lower-headlines {
    background: #f5f6f3;
    box-shadow: 0 0 0 100vmax #f5f6f3;
    clip-path: inset(0 -100vmax);
    padding: 3.5rem 0;
    margin-bottom: 3.5rem;
}
.hamer-lower-headlines .hamer-swiper {
    background: transparent;
    border-radius: 0;
    padding-bottom: 64px;
}
.hamer-lower-headlines .hamer-slide {
    display: block;
    min-height: 0;
    background: white;
    border: 1px solid var(--hamer-border);
    border-radius: 4px;
    overflow: hidden;
}
.hamer-lower-headlines .hamer-slide > :is(img, .hamer-slide-image) {
    height: 260px;
    background: white;
    object-fit: contain;
}
.hamer-lower-headlines .hamer-slide-caption {
    padding: 1.5rem;
    color: var(--hamer-navy);
}
.hamer-lower-headlines .hamer-slide-caption h2 {
    font: 600 1.2rem/1.5 'Segoe UI', Arial, sans-serif;
    color: var(--hamer-navy);
}
.hamer-lower-headlines .hamer-slide-caption a {
    color: var(--hamer-navy);
}
.hamer-lower-headlines .hamer-slider-controls {
    left: 0;
    right: 0;
    bottom: 0;
    color: var(--hamer-navy);
}
.hamer-lower-headlines .hamer-slider-controls button {
    color: var(--hamer-navy);
    border-color: var(--hamer-border);
    background: white;
}
@media (max-width: 991px) {
    .hamer-news-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .hamer-reference-intro {
        padding: 2rem 2rem 2rem 0;
    }
}
@media (max-width: 767px) {
    .hamer-reference-hero {
        grid-template-columns: 1fr;
    }
    .hamer-reference-intro {
        padding: 2rem 0;
    }
    .hamer-reference-feature .hamer-slide > :is(img, .hamer-slide-image) {
        height: 380px;
    }
    .hamer-reference-feature .hamer-slide-caption {
        left: 1.25rem;
        right: 1.25rem;
    }
    .hamer-news-grid {
        grid-template-columns: 1fr;
    }
    .hamer-menu {
        gap: 0;
    }
}

/* Editorial headline: selected content at left, its own image at right. */
.hamer-footer {
    display: grid;
    grid-template-columns: 1.3fr .8fr 1.2fr;
    gap: 4rem;
    align-items: start;
}
.hamer-footer h3 { font-size: 1rem; color: white; margin-bottom: 1.25rem; }
.hamer-footer-links { display: flex; flex-direction: column; gap: .85rem; }
.hamer-footer-links a { margin: 0; }
.hamer-footer .hamer-eyebrow { color: var(--hamer-gold); margin-bottom: 1rem; }
@media (max-width: 767px) { .hamer-footer { grid-template-columns: 1fr; gap: 2rem; } }
.hamer-reference-feature .hamer-headline-hero .hamer-slide {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    background: var(--hamer-navy);
    height: 470px;
    min-height: 0;
}
.hamer-reference-feature .hamer-headline-hero .hamer-slide::after { display: none; }
.hamer-reference-feature .hamer-headline-hero .hamer-slide > :is(img, .hamer-slide-image) {
    grid-column: 2;
    grid-row: 1;
    width: 100%;
    height: 100%;
    min-height: 0;
    object-fit: cover;
}
.hamer-reference-feature .hamer-headline-hero .hamer-slide-caption {
    position: static;
    grid-column: 1;
    grid-row: 1;
    align-self: center;
    padding: 2rem 2rem 3.5rem;
    max-width: none;
}
.hamer-reference-feature .hamer-headline-hero .hamer-slide-caption h2 {
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(1.5rem, 2.4vw, 2.1rem);
    line-height: 1.2;
    margin: .75rem 0;
    color: white;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.hamer-slide-summary {
    color: #d7e1e8;
    line-height: 1.5;
    margin-bottom: 1rem;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.hamer-article > img,
.hamer-article p > img {
    max-height: 560px;
    object-fit: contain;
}
.hamer-page-cover {
    display: block;
    width: 100%;
    height: auto;
}
.hamer-reference-feature .hamer-headline-hero .hamer-slide-link {
    display: inline-flex;
    padding: .85rem 1.25rem;
    gap: 2rem;
    background: var(--hamer-gold);
    color: var(--hamer-navy);
    border-radius: 3px;
    border: 0;
}
@media (max-width: 767px) {
    .hamer-reference-feature .hamer-headline-hero .hamer-slide {
        grid-template-columns: 1fr;
        height: auto;
    }
    .hamer-reference-feature .hamer-headline-hero .hamer-slide > :is(img, .hamer-slide-image) {
        grid-column: 1; grid-row: 1; min-height: 0; height: 240px;
    }
    .hamer-reference-feature .hamer-headline-hero .hamer-slide-caption {
        grid-column: 1; grid-row: 2; padding: 1.5rem 1.5rem 4rem;
    }
}

/* Legacy introduction styles retained for other templates. */
.hamer-intro-below {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: center;
    gap: 3rem;
    padding: 2.5rem 0;
    border-bottom: 1px solid var(--hamer-border);
}
.hamer-intro-below h1 {
    max-width: none;
    margin: .75rem 0 0;
    color: var(--hamer-navy);
    font-size: clamp(1.8rem, 2.5vw, 2.6rem);
}
.hamer-intro-below p {
    max-width: none;
    color: var(--hamer-muted);
    margin: 0;
}
.hamer-intro-below .hamer-eyebrow {
    color: var(--hamer-gold);
}
.hamer-intro-below .hamer-about-button {
    padding: .75rem 1.25rem;
}
@media (max-width: 767px) {
    .hamer-intro-below {
        grid-template-columns: 1fr;
        gap: 1rem;
        padding: 2rem 0;
    }
}

.hamer-slide-image {
    display: block;
    position: relative;
    z-index: 1;
}
.hamer-slide-image img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: inherit;
}

/* Content pages: readable headings and contained navigation. */
/* Slim breadcrumb line under the header; the page title sits right above the content. */
.hamer-page-head {
    margin-top: 1rem;
}
.hamer-breadcrumb .breadcrumb {
    margin: 0;
    font-size: .85rem;
}
.hamer-breadcrumb .breadcrumb-item,
.hamer-breadcrumb .breadcrumb-item a {
    color: var(--hamer-muted);
}
.hamer-breadcrumb .breadcrumb-item a:hover {
    color: var(--hamer-gold);
}
.hamer-breadcrumb .breadcrumb-item.active {
    color: var(--hamer-navy);
    font-weight: 600;
}
.hamer-page-title {
    color: var(--hamer-gold);
    font: 600 clamp(1.5rem, 2.6vw, 2.1rem)/1.25 Georgia, serif;
    margin: 0 0 1.25rem;
    overflow-wrap: anywhere;
}
/* The page's role (its sub-category, e.g. "Merkez Müdürü") written just above the title. Scoped to the article
   so the article paragraph margin (.hamer-article p) never overrides it. */
.hamer-page-eyebrow,
.hamer-article .hamer-page-eyebrow {
    margin: 0 0 .7rem;
    color: var(--hamer-navy);
    font-size: .9rem;
    font-weight: 700;
    letter-spacing: .12em;
    line-height: 1.4;
    text-transform: uppercase;
}
.hamer-article { padding: clamp(1.25rem, 3vw, 2rem); font-size: 1rem; line-height: 1.8; }
.hamer-article p { margin-bottom: 1.25rem; }
.hamer-article h2, .hamer-article h3 { font-size: 1.3rem; margin: 1.75rem 0 1rem; }
.hamer-article .cms-gallery img { margin: 0; height: 100%; object-fit: cover; }

/* Content page sidebar: latest section items and "HAMER'i Kesfedin" (FrontendPage/_HamerExplore). */
.hamer-side-card {
    margin-bottom: 1.5rem;
    padding: 1.5rem 1.5rem 1.25rem;
    background: #fff;
    border: 1px solid var(--hamer-border);
    border-top: 3px solid var(--hamer-gold);
    border-radius: 6px;
}
.hamer-side-eyebrow {
    margin: 0 0 .25rem;
    color: var(--hamer-gold);
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.hamer-side-title {
    margin: 0 0 1rem;
    color: var(--hamer-navy);
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 1.35rem;
    font-weight: 700;
}

/* Latest news / announcements */
.hamer-side-posts {
    margin: 0;
    padding: 0;
    list-style: none;
}
.hamer-side-posts li + li {
    border-top: 1px solid var(--hamer-border);
}
.hamer-side-posts a {
    display: flex;
    gap: .85rem;
    align-items: flex-start;
    padding: .75rem 0;
    color: var(--hamer-navy);
}
.hamer-side-posts img,
.hamer-side-post-icon {
    flex: 0 0 64px;
    width: 64px;
    height: 48px;
    border-radius: 4px;
    object-fit: cover;
}
.hamer-side-post-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--hamer-paper);
    color: var(--hamer-muted);
}
.hamer-side-post-text {
    display: flex;
    flex-direction: column;
    gap: .2rem;
    min-width: 0;
}
.hamer-side-post-title {
    display: -webkit-box;
    overflow: hidden;
    font-size: .9rem;
    font-weight: 600;
    line-height: 1.35;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}
.hamer-side-posts time {
    color: var(--hamer-muted);
    font-size: .78rem;
}
.hamer-side-posts a:hover .hamer-side-post-title,
.hamer-side-posts a:focus-visible .hamer-side-post-title {
    color: var(--hamer-gold);
}
.hamer-side-more {
    display: inline-flex;
    gap: .35rem;
    align-items: center;
    margin-top: .5rem;
    color: var(--hamer-navy);
    font-size: .85rem;
    font-weight: 700;
}
.hamer-side-more:hover,
.hamer-side-more:focus-visible {
    color: var(--hamer-gold);
}

/* Grouped site navigation */
.hamer-explore-group + .hamer-explore-group {
    margin-top: 1.1rem;
    padding-top: 1.1rem;
    border-top: 1px solid var(--hamer-border);
}
.hamer-explore-group h3 {
    margin: 0 0 .5rem;
    color: var(--hamer-muted);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.hamer-explore-group.is-current h3 {
    color: var(--hamer-gold);
}
.hamer-explore ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
.hamer-explore a,
.hamer-explore-label {
    display: block;
    padding: .45rem .75rem;
    border-left: 2px solid transparent;
    color: var(--hamer-navy);
    font-size: .93rem;
    line-height: 1.4;
}
.hamer-explore-label {
    padding-bottom: .2rem;
    color: var(--hamer-muted);
    font-size: .8rem;
    font-weight: 600;
}
.hamer-explore-sub a {
    padding-left: 1.5rem;
    font-size: .88rem;
}
.hamer-explore a:hover,
.hamer-explore a:focus-visible {
    background: var(--hamer-paper);
    border-left-color: var(--hamer-border);
}
.hamer-explore a.active {
    background: var(--hamer-paper);
    border-left-color: var(--hamer-gold);
    font-weight: 700;
}
/* Menu titles may be written in capitals; quick links read as sentences (lang="tr" keeps I/i right). */
.hamer-explore-quick a {
    text-transform: lowercase;
}
.hamer-explore-quick a::first-letter {
    text-transform: uppercase;
}

/* Section listing pager (FrontendPage/Default listing mode). */
.hamer-pager {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    align-items: center;
    justify-content: center;
    margin-top: 2rem;
}
.hamer-pager ol {
    display: flex;
    gap: .35rem;
    margin: 0;
    padding: 0;
    list-style: none;
}
.hamer-pager ol a,
.hamer-pager-step {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.4rem;
    height: 2.4rem;
    border: 1px solid var(--hamer-border);
    border-radius: 4px;
    color: var(--hamer-navy);
    font-weight: 600;
}
.hamer-pager ol a:hover,
.hamer-pager ol a:focus-visible,
.hamer-pager-step:hover,
.hamer-pager-step:focus-visible {
    border-color: var(--hamer-gold);
}
.hamer-pager-step {
    gap: .35rem;
    padding: 0 .9rem;
}
.hamer-pager ol a.active {
    background: var(--hamer-navy);
    border-color: var(--hamer-navy);
    color: #fff;
}

/* Images inside page text never exceed the column; gallery thumbnails keep their own rule. */
.hamer-article img:not(.cms-gallery img) {
    display: block;
    max-width: 100%;
    max-height: 520px;
    width: auto;
    height: auto;
    margin: 1rem auto;
    border-radius: 4px;
}
.hamer-article a > img:not(.cms-gallery img) {
    display: inline-block;
    max-height: 120px;
    margin: .5rem 1rem;
}
/* The cover picture above the text always fills the card width; its height follows the picture. */
.hamer-article img.hamer-page-cover:not(.cms-gallery img) {
    width: 100%;
    max-height: none;
    margin: 0 0 1.5rem;
}

/* Staff cards (imported staff blocks: photo, name, role). */
.hamer-article .hamer-people {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 1.25rem;
}
.hamer-article .hamer-person {
    display: flex;
    flex-direction: column;
    gap: .35rem;
    align-items: center;
    padding: 1.5rem 1rem;
    border: 1px solid var(--hamer-border);
    border-radius: 6px;
    color: var(--hamer-navy);
    text-align: center;
}
.hamer-article a.hamer-person:hover,
.hamer-article a.hamer-person:focus-visible {
    border-color: var(--hamer-gold);
    box-shadow: 0 6px 18px rgba(17, 44, 67, .08);
}
/* Person photo ([alt-sayfalar gorunum=kisi]): the page cover, cropped to a circle; a silhouette when empty. */
.hamer-article .hamer-person img,
.hamer-article .hamer-person-placeholder {
    width: 112px;
    height: 112px;
    max-height: none;
    margin: 0 0 .5rem;
    border: 1px solid var(--hamer-border);
    border-radius: 50%;
    object-fit: cover;
    background: var(--hamer-paper);
}
.hamer-article .hamer-person-placeholder {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--hamer-muted);
    font-size: 3rem;
}
.hamer-article .hamer-person-name {
    font-weight: 700;
    line-height: 1.3;
}
.hamer-article .hamer-person-role {
    color: var(--hamer-muted);
    font-size: .88rem;
}

/* [alt-sayfalar] image cards (Shared/Shortcodes/_ChildPages, gorunum=kart). */
.hamer-article .hamer-child-cards {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 1.25rem;
    margin: 1.5rem 0;
}
.hamer-article .hamer-child-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid var(--hamer-border);
    border-radius: 6px;
    color: var(--hamer-navy);
}
.hamer-article .hamer-child-card:hover,
.hamer-article .hamer-child-card:focus-visible {
    border-color: var(--hamer-gold);
    box-shadow: 0 6px 18px rgba(17, 44, 67, .08);
}
.hamer-article .hamer-child-card img {
    width: 100%;
    height: 160px;
    max-height: none;
    margin: 0;
    border-radius: 0;
    object-fit: cover;
}
.hamer-child-card-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: .5rem;
    padding: 1.1rem 1.25rem 1.25rem;
    line-height: 1.5;
}
.hamer-child-card-title {
    font-weight: 700;
}
.hamer-child-card-field {
    color: #806130;
    font-size: .85rem;
    font-weight: 600;
}
.hamer-child-card-text {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    color: var(--hamer-muted);
    font-size: .9rem;
}
.hamer-child-card-more {
    margin-top: auto;
    color: #806130;
    font-size: .9rem;
    font-weight: 700;
}

/* Managed link lists: [menu anahtar=...] and [alt-sayfalar gorunum=liste]. */
.hamer-article .hamer-link-list {
    margin: 1rem 0 1.5rem;
    padding: 0;
    list-style: none;
    border-top: 1px solid var(--hamer-border);
}
.hamer-article .hamer-link-list .hamer-link-list {
    margin: 0 0 0 1.5rem;
    border-top: 0;
}
.hamer-article .hamer-link-list li {
    border-bottom: 1px solid var(--hamer-border);
}
.hamer-article .hamer-link-list a,
.hamer-link-list-text {
    display: flex;
    gap: .6rem;
    align-items: center;
    padding: .8rem .25rem;
    color: var(--hamer-navy);
    font-weight: 600;
    line-height: 1.45;
}
.hamer-article .hamer-link-list a:hover,
.hamer-article .hamer-link-list a:focus-visible {
    color: #806130;
}
.hamer-article .hamer-link-list .ti-chevron-right {
    flex: none;
    color: var(--hamer-gold);
}
.hamer-link-list-external {
    margin-left: auto;
    color: var(--hamer-muted);
    font-size: .9rem;
}

/* [alt-sayfalar gorunum=liste]: rows with title, summary and labelled custom fields (e.g. programmes). */
.hamer-article .hamer-rich-list {
    margin: 0 0 1.5rem;
    padding: 0;
    list-style: none;
}
.hamer-article .hamer-rich-list li + li {
    margin-top: .85rem;
}
.hamer-article .hamer-rich-list a {
    display: flex;
    gap: 1.25rem;
    align-items: center;
    padding: 1.25rem 1.5rem;
    border: 1px solid var(--hamer-border);
    border-left: 4px solid var(--hamer-gold);
    border-radius: 6px;
    background: #fff;
    color: var(--hamer-navy);
    transition: box-shadow .2s, border-color .2s;
}
.hamer-article .hamer-rich-list a:hover,
.hamer-article .hamer-rich-list a:focus-visible {
    border-color: var(--hamer-gold);
    box-shadow: 0 8px 22px rgba(17, 44, 67, .08);
}
.hamer-rich-list-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: .45rem;
    min-width: 0;
}
.hamer-rich-list-title {
    font: 600 1.15rem/1.35 Georgia, serif;
}
.hamer-rich-list-text {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    color: var(--hamer-muted);
    font-size: .92rem;
    line-height: 1.55;
}
.hamer-rich-list-meta {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    margin-top: .2rem;
}
.hamer-rich-list-field {
    display: inline-flex;
    gap: .4rem;
    align-items: baseline;
    padding: .3rem .7rem;
    border-radius: 6px;
    background: var(--hamer-paper);
    font-size: .85rem;
    font-weight: 600;
}
.hamer-rich-list-label {
    color: #806130;
    font-weight: 700;
    white-space: nowrap;
}
.hamer-rich-list-arrow {
    flex: none;
    color: var(--hamer-gold);
    font-size: 1.25rem;
}
@media (max-width: 575.98px) {
    .hamer-article .hamer-rich-list a {
        padding: 1rem 1.1rem;
    }
    .hamer-rich-list-arrow {
        display: none;
    }
}
.hamer-child-card-date {
    color: var(--hamer-muted);
    font-size: .8rem;
    font-weight: 600;
}

/* Header: logo with the motto under it, search box and highlighted button on the right (theme settings). */
.hamer-brand-group {
    display: flex;
    flex-direction: column;
    gap: .35rem;
    min-width: 0;
}
.hamer-brand-group .hamer-brand-motto {
    max-width: none;
    text-align: left;
    font-size: .92rem;
    line-height: 1.3;
}
.hamer-header-tools {
    display: flex;
    gap: .75rem;
    align-items: center;
}
.hamer-header-search {
    width: 320px;
}
.hamer-header-cta {
    display: inline-flex;
    gap: .5rem;
    align-items: center;
    padding: .7rem 1.15rem;
    border-radius: 6px;
    background: var(--hamer-gold);
    color: #fff;
    font-weight: 700;
    white-space: nowrap;
}
.hamer-header-cta:hover,
.hamer-header-cta:focus-visible {
    background: #806130;
    color: #fff;
}
.hamer-nav-search {
    display: none;
}
@media (max-width: 991.98px) {
    .hamer-header-tools {
        display: none;
    }
    .hamer-nav-search {
        display: block;
        padding: .75rem 0 .25rem;
    }
}

/* Home hero on wide screens: the slider reaches the right edge of the window (the photo fills it), the text
   column stays aligned with the logo and the menu. */
@media (min-width: 992px) {
    .hamer-reference-feature {
        margin-right: calc(50% - 50vw);
    }
    .hamer-reference-feature .hamer-headline-hero .hamer-slide {
        grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    }
    .hamer-reference-feature .hamer-headline-hero .hamer-slide-caption {
        padding: 2rem 3rem 3.5rem 0;
    }
    .hamer-reference-feature .hamer-headline-hero .hamer-slider-controls {
        left: 0;
    }
}

/* Quick links: a full-width light band with separate white cards. */
.hamer-quick-links {
    gap: 1rem;
    margin-bottom: 3.5rem;
    padding: 1.75rem 0;
    border: 0;
    background: var(--hamer-paper);
    box-shadow: 0 0 0 100vmax var(--hamer-paper);
    clip-path: inset(0 -100vmax);
}
.hamer-quick-links a {
    padding: 1rem 1.25rem;
    border: 1px solid var(--hamer-border);
    border-radius: 8px;
    background: #fff;
    font-size: .95rem;
    transition: border-color .2s, box-shadow .2s, transform .2s;
}
.hamer-quick-links a + a {
    border-left: 1px solid var(--hamer-border);
    border-top: 1px solid var(--hamer-border);
}
.hamer-quick-links a:hover,
.hamer-quick-links a:focus-visible {
    border-color: var(--hamer-gold);
    background: #fff;
    box-shadow: 0 8px 22px rgba(17, 44, 67, .08);
    transform: translateY(-2px);
}
.hamer-quick-links a:hover > i:last-child {
    color: var(--hamer-gold);
}
@media (prefers-reduced-motion: reduce) {
    .hamer-quick-links a:hover {
        transform: none;
    }
}

/* Home news: six compact cards (two rows) that end level with the announcements box beside them. */
.hamer-news-grid {
    gap: 1rem;
}
.hamer-news .hamer-news-image {
    height: 115px;
}
.hamer-news .hamer-news-body {
    display: flex;
    flex-direction: column;
    gap: .5rem;
    padding: .85rem 1rem 1rem;
}
.hamer-news .hamer-news-body h3 {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    font-size: .9rem;
    line-height: 1.45;
}
.hamer-news .hamer-news-body .hamer-text-link {
    margin-top: auto;
    color: var(--hamer-gold);
    font-size: .8rem;
}
.hamer-news .hamer-news-body .hamer-text-link:hover,
.hamer-news .hamer-news-body .hamer-text-link:focus-visible {
    color: #806130;
}
.hamer-news-card {
    display: flex;
    flex-direction: column;
}
.hamer-news .hamer-news-body {
    flex: 1;
}

/* "Ekler" section at the end of a page (Shared/_PageAttachments). */
.page-attachments {
    margin-top: 2rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--hamer-border);
}
.page-attachments-title {
    display: flex;
    gap: .5rem;
    align-items: center;
    margin: 0 0 1rem;
    font-size: 1.15rem;
}
.page-attachments-title .ti {
    color: var(--hamer-gold);
}
.page-attachments-list {
    display: grid;
    gap: .6rem;
    margin: 0;
    padding: 0;
    list-style: none;
}
.page-attachments-list a {
    display: flex;
    gap: .85rem;
    align-items: center;
    padding: .85rem 1rem;
    border: 1px solid var(--hamer-border);
    border-radius: 8px;
    background: var(--hamer-paper);
    color: var(--hamer-navy);
    text-decoration: none;
    transition: border-color .2s, box-shadow .2s;
}
.page-attachments-list a:hover,
.page-attachments-list a:focus-visible {
    border-color: var(--hamer-gold);
    box-shadow: 0 6px 18px rgba(17, 44, 67, .08);
}
.page-attachments-icon {
    flex: none;
    color: var(--hamer-gold);
    font-size: 1.6rem;
}
.page-attachments-name {
    flex: 1;
    min-width: 0;
    font-weight: 600;
    overflow-wrap: anywhere;
}
.page-attachments-meta {
    flex: none;
    color: var(--hamer-muted);
    font-size: .8rem;
    font-weight: 600;
}
.page-attachments-download {
    flex: none;
    color: var(--hamer-muted);
}
.page-attachments-list a:hover .page-attachments-download {
    color: var(--hamer-gold);
}

/* Dynamic form page ({culture}/form/{code}): heading band, form card, "how to apply" box. */
.hamer-form-page {
    margin-bottom: 2rem;
}
.hamer-form-hero {
    position: relative;
    display: flex;
    align-items: center;
    gap: 1.25rem;
    margin-bottom: 1.5rem;
    padding: 2rem 2.25rem;
    overflow: hidden;
    color: #fff;
    background: linear-gradient(120deg, var(--hamer-navy-dark) 0%, var(--hamer-navy) 65%, #1d4566 100%);
    border-bottom: 4px solid var(--hamer-gold);
    border-radius: 10px;
}
.hamer-form-hero::after {
    content: "";
    position: absolute;
    right: -60px;
    top: -60px;
    width: 220px;
    height: 220px;
    border: 28px solid rgba(169, 133, 72, .18);
    border-radius: 50%;
    pointer-events: none;
}
.hamer-form-hero-icon {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    font-size: 2rem;
    color: var(--hamer-gold);
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(169, 133, 72, .55);
    border-radius: 50%;
}
.hamer-form-eyebrow {
    margin: 0 0 .35rem;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--hamer-gold);
}
.hamer-form-title {
    margin: 0;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(1.45rem, 2.6vw, 2.1rem);
    line-height: 1.25;
}
.hamer-form-hero .hamer-form-title {
    color: #fff;
}

.hamer-form-card {
    border: 1px solid var(--hamer-border);
    border-radius: 10px;
    box-shadow: 0 10px 30px rgba(17, 44, 67, .06);
}
.hamer-form-card > .card-body {
    padding: 2rem;
}

/* Fields of the form (also used by forms placed in page text). */
.hamer-site .dynamic-form-description {
    margin-bottom: 1.75rem;
    padding: 1rem 1.25rem;
    color: #44515c;
    line-height: 1.7;
    background: var(--hamer-paper);
    border-left: 3px solid var(--hamer-gold);
    border-radius: 0 6px 6px 0;
}
.hamer-site .dynamic-form-description p:last-child {
    margin-bottom: 0 !important;
}
.hamer-site .dynamic-form .form-label,
.hamer-site .dynamic-form legend.form-label {
    font-weight: 600;
    color: var(--hamer-navy);
}
.hamer-site .dynamic-form .form-control,
.hamer-site .dynamic-form .form-select {
    min-height: 48px;
    background-color: #fbfbf9;
    border-color: #d9dde0;
    border-radius: 8px;
    transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
}
.hamer-site .dynamic-form textarea.form-control {
    min-height: 120px;
}
.hamer-site .dynamic-form .form-control:focus,
.hamer-site .dynamic-form .form-select:focus {
    background-color: #fff;
    border-color: var(--hamer-gold);
    box-shadow: 0 0 0 .2rem rgba(169, 133, 72, .18);
}
.hamer-site .dynamic-form .input-icon-addon {
    top: 0;
    bottom: 0;
    height: 100%;
    color: var(--hamer-muted);
}
.hamer-site .dynamic-form .form-check-input:checked {
    background-color: var(--hamer-navy);
    border-color: var(--hamer-navy);
}
.hamer-site .dynamic-form-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem;
    margin-top: 1.75rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--hamer-border);
}
.hamer-site .dynamic-form-actions .btn-lg {
    padding-inline: 2rem;
    border-radius: 8px;
}

/* "How to apply" box beside the form. */
.hamer-form-steps {
    position: sticky;
    top: 1.5rem;
    padding: 1.75rem;
    background: var(--hamer-paper);
    border: 1px solid var(--hamer-border);
    border-top: 3px solid var(--hamer-gold);
    border-radius: 10px;
}
.hamer-form-steps-title {
    margin-bottom: 1.25rem;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 1.25rem;
    color: var(--hamer-navy);
}
.hamer-form-steps ol {
    margin: 0;
    padding: 0;
    list-style: none;
    counter-reset: hamer-step;
}
.hamer-form-steps li {
    position: relative;
    min-height: 2.25rem;
    margin-bottom: 1rem;
    padding-left: 3rem;
    line-height: 1.5;
    color: #44515c;
    counter-increment: hamer-step;
}
.hamer-form-steps li::before {
    content: counter(hamer-step);
    position: absolute;
    left: 0;
    top: -.1rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.1rem;
    height: 2.1rem;
    font-weight: 700;
    color: #fff;
    background: var(--hamer-navy);
    border-radius: 50%;
}
.hamer-form-steps-note {
    margin: 1.25rem 0 0;
    padding-top: 1rem;
    font-size: .875rem;
    color: var(--hamer-muted);
    border-top: 1px solid var(--hamer-border);
}

/* Confirmation after sending. */
.hamer-form-done > .card-body {
    padding: 3rem 2rem;
    text-align: center;
}
.hamer-form-done-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 84px;
    height: 84px;
    margin-bottom: 1.25rem;
    font-size: 2.75rem;
    color: #2f7d4f;
    background: #e8f4ec;
    border-radius: 50%;
}
.hamer-form-done .hamer-form-title {
    color: var(--hamer-navy);
}
.hamer-form-done-message {
    margin: 1rem auto 0;
    max-width: 34rem;
    color: #44515c;
    line-height: 1.7;
}
.hamer-form-reference {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: center;
    gap: .5rem;
    margin-top: 1.25rem;
    padding: .9rem 1.5rem;
    color: var(--hamer-navy);
    background: var(--hamer-paper);
    border: 1px dashed var(--hamer-gold);
    border-radius: 8px;
}
.hamer-form-reference strong {
    font-size: 1.5rem;
    letter-spacing: .04em;
}
.hamer-form-done-hint {
    margin: .75rem 0 0;
    font-size: .875rem;
    color: var(--hamer-muted);
}

@media (max-width: 575.98px) {
    .hamer-form-hero {
        padding: 1.5rem 1.25rem;
    }
    .hamer-form-hero-icon {
        width: 48px;
        height: 48px;
        font-size: 1.5rem;
    }
    .hamer-form-card > .card-body {
        padding: 1.25rem;
    }
    .hamer-site .dynamic-form-actions .btn-lg {
        width: 100%;
    }
}

/* [form code=... gorunum=buton]: button to the form's page inside page text (layout from Bootstrap utilities). */
.hamer-article .dynamic-form-button .btn {
    padding-inline: 1.75rem;
    color: #fff;
    text-decoration: none;
    border-radius: 8px;
}

/* Phones: one news card per row; the image box follows the picture's ratio (600x380) instead of a fixed
   desktop height, so the picture is not cut in half. */
@media (max-width: 767px) {
    .hamer-news-image,
    .hamer-news .hamer-news-image {
        height: auto;
        aspect-ratio: 600 / 380;
    }
}

/* ---- Named helpers used by views instead of inline style attributes ---- */

/* Card pictures cut to the same 16:10 shape (gallery and category lists). */
.card-img-cover {
    aspect-ratio: 16 / 10;
    object-fit: cover;
}

/* Error page technical detail box. */
.error-detail {
    max-height: 400px;
    font-size: 12px;
}

.text-truncate-wide {
    max-width: 32rem;
}

/* Product picture preview on the cafeteria form. */
.product-image-preview {
    max-height: 220px;
    object-fit: contain;
}

/* Narrow message box of the payment result page. */
.result-alert {
    max-width: 400px;
}

/* Text typed by people keeps its line breaks. */
.text-pre-wrap {
    white-space: pre-wrap;
}

.select-wide {
    min-width: 300px;
}

.input-narrow {
    max-width: 200px;
}

/* Table columns of amounts and of the price row. */
.col-amount {
    width: 150px;
}

.col-40 {
    width: 40%;
}


/* AJAX progress bar: fixed at the very top, above everything, without blocking the page. */
.ajax-progress {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 2000;
    pointer-events: none;
}

.ajax-progress[hidden] {
    display: none;
}

.ajax-progress .progress {
    height: 3px;
    border-radius: 0;
    background: transparent;
}

/* Light blue, so it shows on the dark header and on white pages alike. */
.ajax-progress .progress-bar {
    background-color: var(--tblr-azure);
}

/* Cover of a slide whose content has no picture: theme colours and a document icon. Kept last and specific so
   the slider variants (hero, standard, side, lower) keep their size but not their picture background. */
.hamer-swiper .hamer-slide > .hamer-slide-image.hamer-slide-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--hamer-navy), var(--hamer-navy-dark));
    color: var(--hamer-gold);
    font-size: 4rem;
    text-decoration: none;
}

/* Lets a flex child shrink below its content, so long text truncates instead of pushing the row wider. */
.min-w-0 {
    min-width: 0;
}
