/* ==========================================================================
   The Model, Sligo - 2026 Front-End Revamp v2.0
   Removes Manrope/terracotta from v1. Restores Replica + Serifa typography.
   Loaded AFTER the theme stylesheet + Bootstrap.
   ========================================================================== */

/* ---------- Cache-bust marker: v2.8.0 - 2026-07-24 ---------------------- */


/* ---------- 1. Typography: Replica + Serifa (no Manrope) --------------- */

/* Remove any Manrope anywhere - stop it at the source */
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap') screen;

/* Body / copy text */
body, p, blockquote, li, dd, dt,
.content p, .content li {
    font-family: "serifastd-light", Georgia, "Times New Roman", serif !important;
    font-size: 16px !important;
    line-height: 1.6 !important;
    color: #0a0a0a !important;
    letter-spacing: 0 !important;
}

/* All headings: Replica Bold, no uppercase, no letter-spacing (except H4) */
h1, h2, h3, h4, h5, h6,
.sow-headline,
.widgettitle,
.grid-item-title,
.grid-item-header h4,
.featured-block .caption-cell,
.post-title,
.entry-title,
.single .title {
    font-family: "replicaprobold", "replicabold", Arial, sans-serif !important;
    font-weight: 400 !important;
    color: #000 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    line-height: 1.15 !important;
}

/* Headline sizes (no clamp - fixed sizes as specified) */
h1, .sow-headline, h1.sow-headline {
    font-size: 30px !important;
    margin: 0 0 1.5rem !important;
}
h2 {
    font-size: 22px !important;
    margin: 0 0 1rem !important;
}
h3 {
    font-size: 16px !important;
    margin: 0 0 0.75rem !important;
}
h4 {
    font-size: 18px !important;
    letter-spacing: 1px !important;
    margin: 0 0 0.5rem !important;
}

/* Paragraphs under content */
.content > p { margin: 0 0 1rem !important; }

/* Headline left-align override (theme forces centre on sow-headline) */
.sow-headline-container,
.sow-headline {
    text-align: left !important;
}

/* Sub-headlines (lead/intro text) */
.sow-sub-headline {
    font-family: "serifastd-light", Georgia, "Times New Roman", serif !important;
    font-size: 18px !important;
    color: #0a0a0a !important;
    letter-spacing: 0 !important;
    text-align: left !important;
}

/* Footer widget titles */
.site-footer .footer-widget h4.widgettitle,
.site-footer .footer-widget > div > .widgettitle,
.site-footer .footer-widget .so-widget-sow-editor > h4.widgettitle {
    font-family: "replicaprobold", "replicabold", Arial, sans-serif !important;
    font-weight: 400 !important;
    font-size: 18px !important;
    letter-spacing: 1px !important;
    color: #000 !important;
    text-transform: none !important;
    border-bottom: 1px solid #000 !important;
    padding-bottom: 0.5rem !important;
    margin: 0 0 1rem !important;
}

/* Footer body text */
.site-footer .footer-widget p,
.site-footer .footer-widget li,
.site-footer .footer-widget a,
.site-footer .footer-widget .textwidget,
.site-footer .footer-widget div.textwidget p {
    font-family: "serifastd-light", Georgia, "Times New Roman", serif !important;
    font-size: 16px !important;
    line-height: 22px !important;
    color: #0a0a0a !important;
    text-align: left !important;
}
.site-footer .footer-widget .textwidget { text-align: left !important; }
.site-footer .footer-widget a {
    text-decoration: none !important;
    border-bottom: none !important;
}
.site-footer .footer-widget a:hover {
    color: #000 !important;
    text-decoration: underline !important;
}

/* Grid-item headlines (carousel cards) */
.grid-item h4, .grid-item h3,
.grid-item .grid-item-title,
.grid-item .grid-item-header h4 {
    font-family: "replicaprobold", "replicabold", Arial, sans-serif !important;
    font-weight: 400 !important;
    font-size: 18px !important;
    color: #000 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

/* Grid-item meta / copy text */
.grid-item .meta-data,
.grid-item .event-date,
.grid-item .grid-item-meta,
.grid-item p {
    font-family: "serifastd-light", Georgia, "Times New Roman", serif !important;
    font-size: 16px !important;
    color: #0a0a0a !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

/* Buttons: specific spec from Dave */
.btn-default,
a.btn-default,
button.btn-default {
    font-family: "replicaprobold", "replicabold", Arial, sans-serif !important;
    font-weight: 400 !important;
    font-size: 22px !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    color: #000 !important;
    border: 1px solid #000 !important;
    border-radius: 0px !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    line-height: 1.66857143 !important;
    text-shadow: none !important;
    box-shadow: none !important;
    background: transparent !important;
}
.btn-default:hover,
a.btn-default:hover,
button.btn-default:hover {
    background: #eee !important;
    color: #000 !important;
    border-color: #000 !important;
    text-decoration: none !important;
}

/* Primary button */
.btn-primary,
a.btn-primary,
button.btn-primary {
    font-family: "replicaprobold", "replicabold", Arial, sans-serif !important;
    font-weight: 400 !important;
    font-size: 22px !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    color: #000 !important;
    border: 1px solid #000 !important;
    border-radius: 0px !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    line-height: 1.66857143 !important;
    text-shadow: none !important;
    box-shadow: none !important;
    background: transparent !important;
}
.btn-primary:hover,
a.btn-primary:hover,
button.btn-primary:hover {
    background: #eee !important;
    color: #000 !important;
    border-color: #000 !important;
}

/* Newsletter submit (MailChimp) */
.widget_mc4wp_form_widget .mc4wp-form input[type="submit"],
.mc4wp-form input[type="submit"] {
    font-family: "replicaprobold", "replicabold", Arial, sans-serif !important;
    font-weight: 400 !important;
    font-size: 22px !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    color: #000 !important;
    border: 1px solid #000 !important;
    border-radius: 0px !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    line-height: 1.66857143 !important;
    background: transparent !important;
}
.widget_mc4wp_form_widget .mc4wp-form input[type="submit"]:hover,
.mc4wp-form input[type="submit"]:hover {
    background: #eee !important;
    color: #000 !important;
    border-color: #000 !important;
}

/* Links */
a {
    color: #000 !important;
    text-decoration: none !important;
}
a:hover {
    color: #000 !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
}


/* ---------- 2. Topbar: hide if possible -------------------------------- */

/* Try to hide the topbar entirely */
.topbar {
    display: none !important;
}


/* ---------- 3. Header / Navigation ------------------------------------- */

.site-header {
    background: #fff !important;
}

.site-header-wrapper,
.site-header {
    border-bottom: 0 !important;
    box-shadow: none !important;
}

/* Navigation: font-size 19px, no uppercase, no letter-spacing, #000, line-height 85px */
.site-header .main-navigation > ul > li > a,
.main-navigation > ul > li > a,
.header-style2 .search-module-trigger,
.header-style2 .cart-module-trigger {
    font-family: "replicaprobold", "replicabold", Arial, sans-serif !important;
    font-weight: 600 !important;
    font-size: 19px !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    color: #000 !important;
    line-height: 85px !important;
    padding: 0 8px !important;
    white-space: nowrap !important;
    background: transparent !important;
    text-decoration: none !important;
}

.main-navigation > ul > li > a:hover,
.header-style2 .main-navigation > ul > li > a:hover,
.header-style1 .main-navigation > ul > li > a:hover,
.header-style3 .main-navigation > ul > li > a:hover,
.main-navigation > ul > li.current-menu-item > a,
.main-navigation > ul > li.current-menu-parent > a {
    color: #000 !important;
    background: transparent !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
}

/* Search icon: bigger, optically same weight as font */
.search-module-trigger,
.header-style2 .search-module-trigger {
    font-size: 22px !important;
    color: #000 !important;
    padding: 10px !important;
}
.search-module-trigger:hover {
    color: #000 !important;
}

/* Dropdown menus: #eee on hover, no maroon, no beige */
.main-navigation > ul > li ul,
.header-style1 .main-navigation > ul > li ul,
.header-style2 .main-navigation > ul > li ul,
.header-style3 .main-navigation > ul > li ul {
    background: #fff !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
}

.main-navigation > ul > li ul li a,
.header-style1 .main-navigation > ul > li ul li a,
.header-style2 .main-navigation > ul > li ul li a,
.header-style3 .main-navigation > ul > li ul li a {
    font-family: "replicaprobold", "replicabold", Arial, sans-serif !important;
    font-weight: 600 !important;
    font-size: 19px !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    color: #000 !important;
    padding: 10px 16px !important;
    line-height: 1.3 !important;
    background: transparent !important;
    text-decoration: none !important;
}

.main-navigation > ul > li ul li a:hover,
.header-style1 .main-navigation > ul > li ul li a:hover,
.header-style2 .main-navigation > ul > li ul li a:hover,
.header-style3 .main-navigation > ul > li ul li a:hover {
    background: #eee !important;
    color: #000 !important;
    text-decoration: none !important;
}


/* ---------- 4. Search dropdown: fixed top bar, full-width ---------------- */

/* Dropdown: fixed to top of viewport, full width, above everything */
/* Search overlay: drops below the 85px header so nav stays visible.
   display is controlled by revamp.js - do NOT add display:flex here.
   Bootstrap classes (input-group-sm, btn-lg) are stripped by revamp.js
   so our sizing rules below work without fighting Bootstrap. */
.search-module-opened {
    position: fixed !important;
    top: 85px !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    z-index: 9997 !important;
    background: #fff !important;
    border-bottom: 2px solid #000 !important;
    box-shadow: 0 4px 16px rgba(0,0,0,0.12) !important;
    padding: 16px 24px !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 12px !important;
    box-sizing: border-box !important;
}

/* Form: centred, max 640px */
.search-module-opened #searchform {
    display: flex !important;
    width: 100% !important;
    max-width: 640px !important;
    margin: 0 auto !important;
}

/* Input group: flex row, stretch children to same height */
.search-module-opened .input-group {
    display: flex !important;
    flex: 1 !important;
    align-items: stretch !important;
    width: 100% !important;
}

/* Text input */
.search-module-opened input[type="text"],
.search-module-opened input[name="s"],
.search-module-opened input.form-control {
    flex: 1 1 auto !important;
    width: 0 !important;          /* flex will size it */
    border: 1px solid #000 !important;
    border-right: none !important;
    background: #fff !important;
    font-family: "serifastd-light", Georgia, "Times New Roman", serif !important;
    font-size: 18px !important;
    color: #000 !important;
    padding: 10px 16px !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    outline: none !important;
    height: 100% !important;
    min-height: 47px !important;
    align-self: stretch !important;
    line-height: 1.5 !important;
    box-sizing: border-box !important;
    -webkit-appearance: none !important;
}

/* Button wrapper span */
.search-module-opened .input-group-btn {
    display: flex !important;
    flex: 0 0 auto !important;
    align-items: stretch !important;
}

/* Submit button - ms-search-btn class added by JS after Bootstrap classes stripped */
.search-module-opened .ms-search-btn,
.search-module-opened button[type="submit"] {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;
    font-family: "replicaprobold", "replicabold", Arial, sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    color: #000 !important;
    border: 1px solid #000 !important;
    border-left: none !important;
    border-radius: 0 !important;
    background: #fff !important;
    padding: 10px 24px !important;
    line-height: 1.5 !important;
    height: 100% !important;
    min-height: 47px !important;
    align-self: stretch !important;

    text-shadow: none !important;
    box-shadow: none !important;
    cursor: pointer !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
    -webkit-appearance: none !important;
}
.search-module-opened .ms-search-btn:hover,
.search-module-opened button[type="submit"]:hover {
    background: #eee !important;
    color: #000 !important;
    border-color: #000 !important;
}
.search-module-opened .ms-search-btn i,
.search-module-opened button[type="submit"] i {
    font-size: 28px !important;
    line-height: 1 !important;
    margin: 0 !important;
    pointer-events: none !important;
}

/* (X) close button added by revamp.js */
.ms-search-close {
    flex: 0 0 auto !important;
    margin-left: 8px !important;
}

/* ---------- 5. Featured blocks: no gradient, no hover transition ----- */

.featured-block {
    background: #fff !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
}
.featured-block:hover {
    transform: none !important;
    box-shadow: none !important;
}

/* Kill the gradient overlay */
.featured-block .caption,
.featured-block .caption-table,
.featured-block .caption-cell {
    background: transparent !important;
    color: #000 !important;
    padding: 0 !important;
    font-family: "replicaprobold", "replicabold", Arial, sans-serif !important;
    font-weight: 400 !important;
    font-size: 16px !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    text-align: left !important;
}

.featured-block figure {
    position: relative !important;
}

/* Full-width transparent black under caption - spans figure width */
.featured-block .caption {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    top: auto !important;
    width: 100% !important;
    background: rgba(0,0,0,0.4) !important;
    padding: 1rem 1.25rem !important;
}

/* No image hover scale */
.featured-block.hover-effect figure img,
.featured-block:hover figure img {
    transform: none !important;
    transition: none !important;
}


/* ---------- 6. Carousel: no border, no dotted line, Replica headlines -- */

.owl-carousel .owl-item img,
.carousel-fw .owl-item img,
.owl-carousel .owl-item .grid-item img,
.grid-item img {
    border-bottom: 0 !important;
    box-shadow: none !important;
}

/* Remove dotted line under image in grid items */
.grid-item .media-box,
.grid-item .media-box .zoom {
    border-bottom: 0 !important;
    box-shadow: none !important;
}
.grid-item .media-box::after {
    display: none !important;
}

/* Grid items: no border */
.grid-item {
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: #fff !important;
}
.grid-item:hover {
    box-shadow: none !important;
}

/* Remove browser-default dotted underline from <abbr> elements (used in carousel cards) */
abbr { text-decoration: none !important; border-bottom: none !important; cursor: default !important; }


/* Carousel wrapper - relative so arrow buttons position inside it */
.carousel-wrapper {
    position: relative !important;
    overflow: visible !important;
}
.owl-carousel {
    overflow: visible !important;
}
.owl-controls,
.owl-buttons {
    position: static !important;
}

/* Arrow buttons: black square, positioned on carousel edges */
.owl-theme .owl-buttons div,
.owl-buttons .owl-prev,
.owl-buttons .owl-next {
    position: absolute !important;
    top: 175px !important;
    transform: translateY(-50%) !important;
    width: 44px !important;
    height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #000 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    z-index: 10 !important;
    opacity: 1 !important;
    font-size: 0 !important;
    overflow: visible !important;
}
.owl-buttons .owl-prev { left: 0 !important; right: auto !important; }
.owl-buttons .owl-next { right: 0 !important; left: auto !important; }

/* Arrow characters via ::before - no JS needed, no timing issues */
.owl-buttons .owl-prev::before {
    content: "←";
    font-size: 22px !important;
    color: #fff !important;
    font-family: Arial, sans-serif !important;
    font-weight: bold !important;
    line-height: 1 !important;
    display: block !important;
}
.owl-buttons .owl-next::before {
    content: "→";
    font-size: 22px !important;
    color: #fff !important;
    font-family: Arial, sans-serif !important;
    font-weight: bold !important;
    line-height: 1 !important;
    display: block !important;
}

/* Hover */
.owl-theme .owl-buttons div:hover,
.owl-buttons .owl-prev:hover,
.owl-buttons .owl-next:hover {
    background: #333 !important;
    opacity: 1 !important;
}


/* ---------- 7. Footer: 4 columns, boxed, white bg -------------------- */

/* Force footer to a 4-column flex row */
.site-footer .container > .row {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    gap: 0 !important;
}

.site-footer {
    background: #fff !important;
    border-top: 1px solid #eee !important;
    padding: 3rem 0 !important;
    margin-top: 0 !important;
}

.site-footer-bottom {
    background: #fff !important;
    border-top: 1px solid #eee !important;
    margin-top: 0 !important;
    padding: 2rem 0 !important;
}

/* Footer widgets: boxed (each widget in its own padded box) */
.site-footer .footer-widget {
    background: #fff !important;
    border: 1px solid #eee !important;
    padding: 1.25rem !important;
    margin: 0 2px !important; /* 2px gap between boxes */
    box-sizing: border-box !important;
    flex: 1 1 22% !important; /* equal flex columns, collapse together */
    min-width: 0 !important; /* allow flex children to shrink */
    float: none !important; /* override Bootstrap float */
}

/* Footer copyright: centre */
.site-footer-bottom .copyrights-left {
    float: none !important;
    margin: 0 auto !important;
    text-align: center !important;
    width: 100% !important;
    max-width: 100% !important;
}


/* ---------- 8. Instagram section: white bg, consistent button ---------- */

.ms-instagram-row::before {
    background: #fff !important;
}

.ms-ig-cta {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 1rem 1rem 1.5rem !important;
    text-align: center !important;
    max-width: 600px !important;
    margin: 0 auto !important;
}

/* Hide the redundant @handle paragraph - heading already shows it */
.ms-ig-handle {
    display: none !important;
}

.ms-ig-icon {
    display: block !important;
    margin: 0 auto 1rem !important;
    color: #000 !important;
}

.ms-ig-btn {
    display: inline-block !important;
    font-family: "replicaprobold", "replicabold", Arial, sans-serif !important;
    font-weight: 400 !important;
    font-size: 16px !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    color: #000 !important;
    border: 1px solid #000 !important;
    border-radius: 0 !important;
    padding: 10px 24px !important;
    line-height: 1.5 !important;
    background: transparent !important;
    text-shadow: none !important;
    box-shadow: none !important;
    text-decoration: none !important;
    margin-top: 1rem !important;
}
.ms-ig-btn:hover {
    background: #eee !important;
    color: #000 !important;
    border-color: #000 !important;
    transform: none !important;
}


/* ---------- 9. Newsletter section (blue band) + footer newsletter ------- */

/* --- All mc4wp forms: force full-width stacked inputs ------------------- */
.mc4wp-form input[type="text"],
.mc4wp-form input[type="email"] {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
    margin-bottom: 8px !important;
    border-radius: 0 !important;
    font-family: "serifastd-light", Georgia, "Times New Roman", serif !important;
    font-size: 16px !important;
    padding: 10px 14px !important;
    outline: none !important;
}
.mc4wp-form input[type="submit"] {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
    margin-top: 4px !important;
    font-family: "replicaprobold", "replicabold", Arial, sans-serif !important;
    font-weight: 400 !important;
    font-size: 16px !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    border-radius: 0 !important;
    padding: 10px 24px !important;
    cursor: pointer !important;
}
.mc4wp-form .mc4wp-form-fields { width: 100% !important; }
.mc4wp-form div[align] { text-align: left !important; }

/* --- Homepage newsletter row (blue bg) --------------------------------- */
.ms-newsletter-row .mc4wp-form {
    max-width: 400px !important;
    margin: 0 auto !important;
}
.ms-newsletter-row .mc4wp-form input[type="text"],
.ms-newsletter-row .mc4wp-form input[type="email"] {
    background: rgba(255,255,255,0.15) !important;
    border: 1px solid rgba(255,255,255,0.6) !important;
    color: #fff !important;
}
.ms-newsletter-row .mc4wp-form input[type="text"]::placeholder,
.ms-newsletter-row .mc4wp-form input[type="email"]::placeholder { color: rgba(255,255,255,0.7) !important; }
.ms-newsletter-row .mc4wp-form input[type="submit"] {
    background: #fff !important;
    color: #000 !important;
    border: 1px solid #fff !important;
}
.ms-newsletter-row .mc4wp-form input[type="submit"]:hover {
    background: #eee !important;
    border-color: #eee !important;
}
/* Hide checkbox + old <font> tags on the main newsletter row */
.ms-newsletter-row .mc4wp-form input[type="checkbox"] { display: none !important; }
.ms-newsletter-row .mc4wp-form p:has(input[type="checkbox"]) { display: none !important; }
.ms-newsletter-row .mc4wp-form font { font-size: 12px !important; color: rgba(255,255,255,0.75) !important; }
.ms-newsletter-row .mc4wp-form font a { color: rgba(255,255,255,0.9) !important; text-decoration: underline !important; }

/* --- Footer newsletter (white bg column) ------------------------------- */
.site-footer .mc4wp-form input[type="text"],
.site-footer .mc4wp-form input[type="email"] {
    background: #fff !important;
    border: 1px solid #000 !important;
    color: #000 !important;
}
.site-footer .mc4wp-form input[type="text"]::placeholder,
.site-footer .mc4wp-form input[type="email"]::placeholder { color: #999 !important; }
.site-footer .mc4wp-form input[type="submit"] {
    background: transparent !important;
    color: #000 !important;
    border: 1px solid #000 !important;
}
.site-footer .mc4wp-form input[type="submit"]:hover {
    background: #eee !important;
    border-color: #000 !important;
}


/* ---------- 10. Section headlines: left-align, specific sizes ----------- */

/* Override any centred headlines from JS or theme defaults */
.sow-headline-container {
    text-align: left !important;
}
.sow-headline-container .sow-headline,
.sow-headline-container h1.sow-headline {
    text-align: left !important;
    font-size: 30px !important;
    max-width: 100% !important;
}
.sow-headline-container h2.sow-headline {
    text-align: left !important;
    font-size: 22px !important;
    max-width: 100% !important;
}

/* Centre-only overrides for newsletter + IG headings (keep centred) */
.sow-headline-container.ms-center {
    text-align: center !important;
}
.sow-headline-container.ms-center .sow-headline {
    text-align: center !important;
    font-size: 30px !important;
}
.sow-headline-container.ms-center .sow-sub-headline {
    text-align: center !important;
}


/* ---------- 11. Hero slideshow: fix full-width ------------------------- */

.siteorigin-panels-stretch[data-stretch-type="full-width-stretch"] rs-module-wrap,
.siteorigin-panels-stretch[data-stretch-type="full-width-stretch"] [id^="rev_slider_"][id$="_wrapper"] {
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: none !important;
}
.siteorigin-panels-stretch[data-stretch-type="full-width-stretch"] rs-fullwidth-wrap,
.siteorigin-panels-stretch[data-stretch-type="full-width-stretch"] [id^="rev_slider_"][id$="_forcefullwidth"] {
    width: 100% !important;
    max-width: none !important;
}
.siteorigin-panels-stretch[data-stretch-type="full-width-stretch"] [id^="rev_slider_"][id$="_wrapper"] rs-module,
.siteorigin-panels-stretch[data-stretch-type="full-width-stretch"] [id^="rev_slider_"][id$="_wrapper"] rs-slides,
.siteorigin-panels-stretch[data-stretch-type="full-width-stretch"] [id^="rev_slider_"][id$="_wrapper"] rs-slide {
    width: 100% !important;
    max-width: none !important;
}
rs-progress-bar, rs-progress {
    display: none !important;
}


/* ---------- 12. Search result images: fix stretch ---------------------- */

/* Search results: constrain all thumbnail images to 16:9 */
.search-results .col-md-4 img,
.search-results .col-md-4 .img-thumbnail,
.search-results .col-md-4 .wp-post-image,
.search-results .list-item img,
.search-results .img-thumbnail img {
    width: 100% !important;
    aspect-ratio: 16 / 9 !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
    height: 100% !important;
    min-height: 47px !important;
    align-self: stretch !important; /* needed alongside aspect-ratio */
}

/* Artwork / venues carousel: consistent square crop (art can be portrait or landscape) */
/* .media-box is an <a> tag - must force display:block for aspect-ratio to apply */
.venues-grid .media-box,
.venues-grid a.media-box,
.venues-grid .grid-featured-img {
    display: block !important;
    overflow: hidden !important;
    background: #f0f0f0 !important;
    aspect-ratio: 1 / 1 !important;
    position: relative !important;
}
.venues-grid .media-box img,
.venues-grid a.media-box img,
.venues-grid .grid-featured-img img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important; /* show full artwork, no crop */
    object-position: center center !important;
    display: block !important;
    position: absolute !important;
    top: 0 !important; left: 0 !important;
}


/* ---------- 13. All cards: no borders, no shadows ---------------------- */

.featured-block,
.grid-item,
.carousel-wrapper .grid-item,
.venues-grid .grid-item {
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
.featured-block:hover,
.grid-item:hover,
.carousel-wrapper .grid-item:hover,
.venues-grid .grid-item:hover {
    box-shadow: none !important;
    transform: none !important;
}


/* ---------- 14. Single posts / artworks -------------------------------- */

.single .post,
.single .type-artwork,
.single .type-event,
.single .type-exhibition,
article.hentry {
    background: #fff !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 2rem !important;
    margin-bottom: 2rem !important;
}

.single .post-title,
.single .entry-title,
.single h1.title {
    font-family: "replicaprobold", "replicabold", Arial, sans-serif !important;
    font-weight: 400 !important;
    font-size: 30px !important;
    color: #000 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    text-align: left !important;
}

.entry-meta, .post-meta {
    font-family: "serifastd-light", Georgia, "Times New Roman", serif !important;
    font-size: 16px !important;
    color: #0a0a0a !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

blockquote {
    border-left: 3px solid #000 !important;
    padding: 0.25rem 0 0.25rem 1.25rem !important;
    margin: 1.5rem 0 !important;
    color: #0a0a0a !important;
    font-family: "serifastd-light", Georgia, "Times New Roman", serif !important;
    font-size: 18px !important;
    font-style: italic !important;
    text-align: left !important;
}


/* ---------- 15. Page header ------------------------------------------- */

.page-header, .page-banner {
    background: #fff !important;
    border-bottom: 1px solid #eee !important;
    padding: 3rem 0 !important;
}
.page-header h1 {
    font-family: "replicaprobold", "replicabold", Arial, sans-serif !important;
    font-weight: 400 !important;
    font-size: 30px !important;
    color: #000 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    text-align: left !important;
    margin: 0 !important;
}


/* ---------- 16. SVG social icons (from revamp.js) --------------------- */

.ms-social-svg {
    width: 20px;
    height: 20px;
    display: block;
    transition: transform .15s;
}
.topbar .ms-social-svg { width: 16px; height: 16px; }

/* Footer social icon links: flex container so SVG centres cleanly */
.site-footer-bottom .social-icons-colored li a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    height: 100% !important;
    min-height: 47px !important;
    align-self: stretch !important;
    padding: 4px !important;
    color: #000 !important;
    background: none !important;
    line-height: 1 !important;
}
.site-footer-bottom .ms-social-svg {
    width: 20px !important;
    height: 20px !important;
    display: block !important;
}
.site-footer-bottom .social-icons-colored li a:hover .ms-social-svg {
    transform: scale(1.15);
}
.social-icons-colored li a:hover .ms-social-svg { transform: scale(1.08); }

/* Space between icons */
.site-footer-bottom .social-icons-colored li {
    display: inline-flex !important;
    margin: 0 6px !important;
}


/* ---------- 17. Instagram placeholder (revamp.js fallback) ------------- */

.ms-instagram-placeholder {
    max-width: 780px;
    margin: 0 auto;
    padding: 0 1rem;
    position: relative;
    text-align: center;
}
.ms-ig-handle {
    font-family: "replicaprobold", "replicabold", Arial, sans-serif !important;
    font-weight: 400 !important;
    font-size: 18px !important;
    color: #000 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    margin: 0 0 .5rem !important;
}
.ms-ig-lede {
    font-family: "serifastd-light", Georgia, "Times New Roman", serif !important;
    font-size: 16px !important;
    color: #0a0a0a !important;
    line-height: 1.6 !important;
    margin: 0 auto 1.25rem !important;
    max-width: 360px !important;
}
.ms-instagram-heading .sow-headline {
    color: #000 !important;
    font-size: 30px !important;
}


/* ---------- 18. Skip link --------------------------------------------- */

.ms-skip-link {
    position: absolute;
    top: -100px;
    left: 0;
    background: #000;
    color: #fff;
    padding: .75rem 1rem;
    z-index: 10000;
    font-family: "replicaprobold", "replicabold", Arial, sans-serif !important;
    font-size: 16px !important;
    text-decoration: none;
}
.ms-skip-link:focus { top: 0; color: #fff; }


/* ---------- 19. Reduce motion ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {
    * {
        animation-duration: .01ms !important;
        transition-duration: .01ms !important;
    }
    .featured-block.hover-effect:hover figure img { transform: none !important; }
    .featured-block:hover { transform: none !important; }
}


/* ---------- 20. Newsletter row (blue background from theme) ------------- */

.sow-headline-container.ms-center.ms-on-blue .sow-headline,
.sow-headline-container.ms-center.ms-on-blue .sow-sub-headline {
    color: #fff !important;
}


/* ---------- 21. Container width --------------------------------------- */

@media (min-width: 1200px) {
    .container { max-width: 1200px; }
}





/* ---------- 22. Homepage headings centred via JS class --------------- */
/* NOTE: class is added TO the element, so use .element.class not .parent .element */
.sow-headline-container.ms-headline-centred,
.sow-headline.ms-headline-centred {
    text-align: center !important;
}

/* ---------- 3b. Header: 1-row layout (logo + nav + search) -------------
   Desktop only (>= 993px). Uses flex so logo is left, search is right,
   nav sits between them in one row.
*/

@media (min-width: 993px) {

    /* Header: defined height, white bg */
    .header-style2 .site-header {
        background: #ffffff !important;
        border-bottom: 1px solid #eee !important;
        box-shadow: 0 1px 3px rgba(0,0,0,0.08) !important;
        position: relative !important;
        z-index: 9998 !important;
        height: 85px !important;
        overflow: visible !important;
    }

    /* Flex container: one row */
    .header-style2 .site-header .container.sp-cont {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        flex-wrap: nowrap !important;
        height: 85px !important;
        overflow: visible !important;
    }

    /* Logo: left-anchored, no float */
    .header-style2 .site-logo {
        flex: 0 0 auto !important;
        float: none !important;
        order: 1 !important;
        align-self: center !important;
        position: static !important;
    }

    /* Nav: MUST be visible, sits in the centre */
    .header-style2 .main-navigation {
        display: block !important;      /* explicit - never hidden */
        flex: 1 0 auto !important;      /* grow to fill space */
        float: none !important;
        order: 2 !important;
        align-self: center !important;
        margin: 0 !important;
        padding: 0 !important;
        border-top: none !important;
        overflow: visible !important;
    }

    /* Search: right-anchored via margin-left:auto */
    .header-style2 .search-module {
        flex: 0 0 auto !important;
        float: none !important;
        order: 3 !important;
        margin-left: auto !important;
        position: relative !important;
        z-index: 9999 !important;
        align-self: center !important;
    }
    .header-style2 .search-module-trigger {
        float: none !important;
        margin-left: 0 !important;
        line-height: 85px !important;
        padding: 0 8px !important;
        cursor: pointer !important;
        display: inline-flex !important;
        align-items: center !important;
        color: #000 !important;
    }

    /* Nav ul: horizontal, no wrap, centred */
    .header-style2 .main-navigation > ul {
        display: flex !important;
        flex-wrap: nowrap !important;
        justify-content: center !important;
        align-items: center !important;
        list-style: none !important;
        margin: 0 !important;
        padding: 0 !important;
        height: 85px !important;
    }

    /* Nav li: inline flex items */
    .header-style2 .main-navigation > ul > li {
        float: none !important;
        display: list-item !important;
        margin: 0 !important;
        flex: 0 0 auto !important;
    }

    /* Nav links: correct height, black, no transform */
    .header-style2 .main-navigation > ul > li > a {
        display: block !important;
        line-height: 85px !important;
        padding: 0 10px !important;
        white-space: nowrap !important;
        color: #000 !important;
        font-size: 19px !important;
        font-family: "replicaprobold", "replicabold", Arial, sans-serif !important;
        font-weight: 400 !important;
        text-transform: none !important;
        letter-spacing: 0 !important;
        text-decoration: none !important;
        background: transparent !important;
    }
    .header-style2 .main-navigation > ul > li > a:hover {
        color: #000 !important;
        text-decoration: underline !important;
        text-underline-offset: 3px !important;
        background: transparent !important;
    }
}

/* ---------- 4. Search dropdown: fixed top bar, full-width ---------------- */

/* Dropdown: fixed to top of viewport, full width, above everything */
/* Search overlay: drops down BELOW the header (top: 85px), not over it.
   display is controlled by revamp.js - do NOT add display:flex here. */
.search-module-opened {
    position: fixed !important;
    top: 85px !important;           /* below the 85px header - nav stays visible */
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    z-index: 9997 !important;       /* below header (9998) but above page content */
    background: #fff !important;
    border-bottom: 2px solid #000 !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.12) !important;
    padding: 18px 32px !important;
    align-items: center !important;
    gap: 16px !important;
    /* display is controlled by revamp.js - do NOT force flex here */
}

/* Input: full-width flex, clean styling */
.search-module-opened .input-group {
    display: flex !important;
    flex: 1 !important;
    align-items: center !important;
    gap: 0 !important;
}

.search-module-opened input.form-control {
    flex: 1 !important;
    border: 1px solid #000 !important;
    border-right: 0 !important;
    background: #fff !important;
    font-family: "serifastd-light", Georgia, "Times New Roman", serif !important;
    font-size: 20px !important;
    color: #000 !important;
    padding: 12px 18px !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    height: 100% !important;
    min-height: 47px !important;
    align-self: stretch !important;
    outline: none !important;
    width: auto !important;
}

/* Submit button: black border, no background, matching style */
.search-module-opened .btn,
.search-module-opened button.btn-primary,
.search-module-opened button.btn,
.search-module-opened input[type="submit"] {
    font-family: "replicaprobold", "replicabold", Arial, sans-serif !important;
    font-weight: 400 !important;
    font-size: 16px !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    color: #000 !important;
    border: 1px solid #000 !important;
    border-left: 0 !important;
    border-radius: 0 !important;
    background: #fff !important;
    padding: 10px 24px !important;
    line-height: 1.4 !important;
    text-shadow: none !important;
    box-shadow: none !important;
    cursor: pointer !important;
    white-space: nowrap !important;
}
.search-module-opened .btn:hover,
.search-module-opened button.btn:hover,
.search-module-opened input[type="submit"]:hover {
    background: #eee !important;
    color: #000 !important;
}

/* Close (X) button on the right */
.search-module-opened::after {
    /* CSS-only close via the theme's JS toggle - no extra content needed */
    content: '' !important;
}

/* ---------- 5. Featured blocks: no gradient, no hover transition ----- */

.featured-block {
    background: #fff !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
}
.featured-block:hover {
    transform: none !important;
    box-shadow: none !important;
}

/* Kill the gradient overlay */
.featured-block .caption,
.featured-block .caption-table,
.featured-block .caption-cell {
    background: transparent !important;
    color: #000 !important;
    padding: 0 !important;
    font-family: "replicaprobold", "replicabold", Arial, sans-serif !important;
    font-weight: 400 !important;
    font-size: 16px !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    text-align: left !important;
}

.featured-block figure {
    position: relative !important;
}

/* Full-width transparent black under caption - spans figure width */
.featured-block .caption {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    top: auto !important;
    width: 100% !important;
    background: rgba(0,0,0,0.4) !important;
    padding: 1rem 1.25rem !important;
}

/* No image hover scale */
.featured-block.hover-effect figure img,
.featured-block:hover figure img {
    transform: none !important;
    transition: none !important;
}


/* ---------- 6. Carousel: no border, no dotted line, Replica headlines -- */

.owl-carousel .owl-item img,
.carousel-fw .owl-item img,
.owl-carousel .owl-item .grid-item img,
.grid-item img {
    border-bottom: 0 !important;
    box-shadow: none !important;
}

/* Remove dotted line under image in grid items */
.grid-item .media-box,
.grid-item .media-box .zoom {
    border-bottom: 0 !important;
    box-shadow: none !important;
}
.grid-item .media-box::after {
    display: none !important;
}

/* Grid items: no border */
.grid-item {
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: #fff !important;
}
.grid-item:hover {
    box-shadow: none !important;
}

/* Remove browser-default dotted underline from <abbr> elements (used in carousel cards) */
abbr { text-decoration: none !important; border-bottom: none !important; cursor: default !important; }


/* Carousel wrapper must be relative for arrow positioning */
.carousel-wrapper { position: relative !important; overflow: visible !important; }

/* Carousel navigation: black square buttons overlaid on carousel sides */
.owl-carousel .owl-nav,
.owl-buttons {
    display: block !important;
    position: static !important;
}

/* Arrow buttons - black square, white arrow, absolutely positioned on sides */
.owl-theme .owl-buttons div,
.owl-carousel .owl-nav button.owl-prev,
.owl-carousel .owl-nav button.owl-next,
.owl-buttons .owl-prev,
.owl-buttons .owl-next {
    position: absolute !important;
    top: 155px !important;
    transform: translateY(-50%) !important;
    width: 44px !important;
    height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #000 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    z-index: 10 !important;
    opacity: 1 !important;
    font-size: 0 !important;
    line-height: 1 !important;
}

/* Hide FA icons - replaced by CSS pseudo-element arrows */
.owl-theme .owl-buttons div i,
.owl-buttons .owl-prev i,
.owl-buttons .owl-next i {
    display: none !important;
}

/* Left arrow */
.owl-theme .owl-buttons div.owl-prev::after,
.owl-buttons .owl-prev::after,
.owl-carousel .owl-nav button.owl-prev::after {
    content: 90;
    font-size: 22px;
    color: #fff;
    font-family: Arial, sans-serif;
    font-weight: bold;
    line-height: 1;
}

/* Right arrow */
.owl-theme .owl-buttons div.owl-next::after,
.owl-buttons .owl-next::after,
.owl-carousel .owl-nav button.owl-next::after {
    content: 92;
    font-size: 22px;
    color: #fff;
    font-family: Arial, sans-serif;
    font-weight: bold;
    line-height: 1;
}

/* Positioning */
.owl-buttons .owl-prev,
.owl-carousel .owl-nav button.owl-prev { left: 4px !important; right: auto !important; }
.owl-buttons .owl-next,
.owl-carousel .owl-nav button.owl-next { right: 4px !important; left: auto !important; }

/* Hover */
.owl-theme .owl-buttons div:hover,
.owl-carousel .owl-nav button:hover,
.owl-buttons .owl-prev:hover,
.owl-buttons .owl-next:hover {
    background: #333 !important;
    opacity: 1 !important;
}


/* ---------- 7. Footer: 4 columns, boxed, white bg -------------------- */

/* Force footer to a 4-column flex row */
.site-footer .container > .row {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    gap: 0 !important;
}

.site-footer {
    background: #fff !important;
    border-top: 1px solid #eee !important;
    padding: 3rem 0 !important;
    margin-top: 0 !important;
}

.site-footer-bottom {
    background: #fff !important;
    border-top: 1px solid #eee !important;
    margin-top: 0 !important;
    padding: 2rem 0 !important;
}

/* Footer widgets: boxed (each widget in its own padded box) */
.site-footer .footer-widget {
    background: #fff !important;
    border: 1px solid #eee !important;
    padding: 1.25rem !important;
    margin: 0 2px !important; /* 2px gap between boxes */
    box-sizing: border-box !important;
    flex: 1 1 22% !important; /* equal flex columns, collapse together */
    min-width: 0 !important; /* allow flex children to shrink */
    float: none !important; /* override Bootstrap float */
}

/* Footer copyright: centre */
.site-footer-bottom .copyrights-left {
    float: none !important;
    margin: 0 auto !important;
    text-align: center !important;
    width: 100% !important;
    max-width: 100% !important;
}


/* ---------- 8. Instagram section: white bg, consistent button ---------- */

.ms-instagram-row::before {
    background: #fff !important;
}

.ms-ig-cta {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 1rem 1rem 1.5rem !important;
    text-align: center !important;
    max-width: 600px !important;
    margin: 0 auto !important;
}

/* Hide the redundant @handle paragraph - heading already shows it */
.ms-ig-handle {
    display: none !important;
}

.ms-ig-icon {
    display: block !important;
    margin: 0 auto 1rem !important;
    color: #000 !important;
}

.ms-ig-btn {
    display: inline-block !important;
    font-family: "replicaprobold", "replicabold", Arial, sans-serif !important;
    font-weight: 400 !important;
    font-size: 16px !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    color: #000 !important;
    border: 1px solid #000 !important;
    border-radius: 0 !important;
    padding: 10px 24px !important;
    line-height: 1.5 !important;
    background: transparent !important;
    text-shadow: none !important;
    box-shadow: none !important;
    text-decoration: none !important;
    margin-top: 1rem !important;
}
.ms-ig-btn:hover {
    background: #eee !important;
    color: #000 !important;
    border-color: #000 !important;
    transform: none !important;
}


/* ---------- 9. Newsletter section (blue band) + footer newsletter ------- */

/* --- All mc4wp forms: force full-width stacked inputs ------------------- */
.mc4wp-form input[type="text"],
.mc4wp-form input[type="email"] {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
    margin-bottom: 8px !important;
    border-radius: 0 !important;
    font-family: "serifastd-light", Georgia, "Times New Roman", serif !important;
    font-size: 16px !important;
    padding: 10px 14px !important;
    outline: none !important;
}
.mc4wp-form input[type="submit"] {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
    margin-top: 4px !important;
    font-family: "replicaprobold", "replicabold", Arial, sans-serif !important;
    font-weight: 400 !important;
    font-size: 16px !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    border-radius: 0 !important;
    padding: 10px 24px !important;
    cursor: pointer !important;
}
.mc4wp-form .mc4wp-form-fields { width: 100% !important; }
.mc4wp-form div[align] { text-align: left !important; }

/* --- Homepage newsletter row (blue bg) --------------------------------- */
.ms-newsletter-row .mc4wp-form {
    max-width: 400px !important;
    margin: 0 auto !important;
}
.ms-newsletter-row .mc4wp-form input[type="text"],
.ms-newsletter-row .mc4wp-form input[type="email"] {
    background: rgba(255,255,255,0.15) !important;
    border: 1px solid rgba(255,255,255,0.6) !important;
    color: #fff !important;
}
.ms-newsletter-row .mc4wp-form input[type="text"]::placeholder,
.ms-newsletter-row .mc4wp-form input[type="email"]::placeholder { color: rgba(255,255,255,0.7) !important; }
.ms-newsletter-row .mc4wp-form input[type="submit"] {
    background: #fff !important;
    color: #000 !important;
    border: 1px solid #fff !important;
}
.ms-newsletter-row .mc4wp-form input[type="submit"]:hover {
    background: #eee !important;
    border-color: #eee !important;
}
/* Hide checkbox + old <font> tags on the main newsletter row */
.ms-newsletter-row .mc4wp-form input[type="checkbox"] { display: none !important; }
.ms-newsletter-row .mc4wp-form p:has(input[type="checkbox"]) { display: none !important; }
.ms-newsletter-row .mc4wp-form font { font-size: 12px !important; color: rgba(255,255,255,0.75) !important; }
.ms-newsletter-row .mc4wp-form font a { color: rgba(255,255,255,0.9) !important; text-decoration: underline !important; }

/* --- Footer newsletter (white bg column) ------------------------------- */
.site-footer .mc4wp-form input[type="text"],
.site-footer .mc4wp-form input[type="email"] {
    background: #fff !important;
    border: 1px solid #000 !important;
    color: #000 !important;
}
.site-footer .mc4wp-form input[type="text"]::placeholder,
.site-footer .mc4wp-form input[type="email"]::placeholder { color: #999 !important; }
.site-footer .mc4wp-form input[type="submit"] {
    background: transparent !important;
    color: #000 !important;
    border: 1px solid #000 !important;
}
.site-footer .mc4wp-form input[type="submit"]:hover {
    background: #eee !important;
    border-color: #000 !important;
}


/* ---------- 10. Section headlines: left-align, specific sizes ----------- */

/* Override any centred headlines from JS or theme defaults */
.sow-headline-container {
    text-align: left !important;
}
.sow-headline-container .sow-headline,
.sow-headline-container h1.sow-headline {
    text-align: left !important;
    font-size: 30px !important;
    max-width: 100% !important;
}
.sow-headline-container h2.sow-headline {
    text-align: left !important;
    font-size: 22px !important;
    max-width: 100% !important;
}

/* Centre-only overrides for newsletter + IG headings (keep centred) */
.sow-headline-container.ms-center {
    text-align: center !important;
}
.sow-headline-container.ms-center .sow-headline {
    text-align: center !important;
    font-size: 30px !important;
}
.sow-headline-container.ms-center .sow-sub-headline {
    text-align: center !important;
}


/* ---------- 11. Hero slideshow: fix full-width ------------------------- */

.siteorigin-panels-stretch[data-stretch-type="full-width-stretch"] rs-module-wrap,
.siteorigin-panels-stretch[data-stretch-type="full-width-stretch"] [id^="rev_slider_"][id$="_wrapper"] {
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: none !important;
}
.siteorigin-panels-stretch[data-stretch-type="full-width-stretch"] rs-fullwidth-wrap,
.siteorigin-panels-stretch[data-stretch-type="full-width-stretch"] [id^="rev_slider_"][id$="_forcefullwidth"] {
    width: 100% !important;
    max-width: none !important;
}
.siteorigin-panels-stretch[data-stretch-type="full-width-stretch"] [id^="rev_slider_"][id$="_wrapper"] rs-module,
.siteorigin-panels-stretch[data-stretch-type="full-width-stretch"] [id^="rev_slider_"][id$="_wrapper"] rs-slides,
.siteorigin-panels-stretch[data-stretch-type="full-width-stretch"] [id^="rev_slider_"][id$="_wrapper"] rs-slide {
    width: 100% !important;
    max-width: none !important;
}
rs-progress-bar, rs-progress {
    display: none !important;
}


/* ---------- 12. Search result images: fix stretch ---------------------- */

/* Search results: constrain all thumbnail images to 16:9 */
.search-results .col-md-4 img,
.search-results .col-md-4 .img-thumbnail,
.search-results .col-md-4 .wp-post-image,
.search-results .list-item img,
.search-results .img-thumbnail img {
    width: 100% !important;
    aspect-ratio: 16 / 9 !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
    height: 100% !important;
    min-height: 47px !important;
    align-self: stretch !important; /* needed alongside aspect-ratio */
}

/* Artwork / venues carousel: consistent square crop (art can be portrait or landscape) */
/* .media-box is an <a> tag - must force display:block for aspect-ratio to apply */
.venues-grid .media-box,
.venues-grid a.media-box,
.venues-grid .grid-featured-img {
    display: block !important;
    overflow: hidden !important;
    background: #f0f0f0 !important;
    aspect-ratio: 1 / 1 !important;
    position: relative !important;
}
.venues-grid .media-box img,
.venues-grid a.media-box img,
.venues-grid .grid-featured-img img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important; /* show full artwork, no crop */
    object-position: center center !important;
    display: block !important;
    position: absolute !important;
    top: 0 !important; left: 0 !important;
}


/* ---------- 13. All cards: no borders, no shadows ---------------------- */

.featured-block,
.grid-item,
.carousel-wrapper .grid-item,
.venues-grid .grid-item {
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
.featured-block:hover,
.grid-item:hover,
.carousel-wrapper .grid-item:hover,
.venues-grid .grid-item:hover {
    box-shadow: none !important;
    transform: none !important;
}


/* ---------- 14. Single posts / artworks -------------------------------- */

.single .post,
.single .type-artwork,
.single .type-event,
.single .type-exhibition,
article.hentry {
    background: #fff !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 2rem !important;
    margin-bottom: 2rem !important;
}

.single .post-title,
.single .entry-title,
.single h1.title {
    font-family: "replicaprobold", "replicabold", Arial, sans-serif !important;
    font-weight: 400 !important;
    font-size: 30px !important;
    color: #000 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    text-align: left !important;
}

.entry-meta, .post-meta {
    font-family: "serifastd-light", Georgia, "Times New Roman", serif !important;
    font-size: 16px !important;
    color: #0a0a0a !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

blockquote {
    border-left: 3px solid #000 !important;
    padding: 0.25rem 0 0.25rem 1.25rem !important;
    margin: 1.5rem 0 !important;
    color: #0a0a0a !important;
    font-family: "serifastd-light", Georgia, "Times New Roman", serif !important;
    font-size: 18px !important;
    font-style: italic !important;
    text-align: left !important;
}


/* ---------- 15. Page header ------------------------------------------- */

.page-header, .page-banner {
    background: #fff !important;
    border-bottom: 1px solid #eee !important;
    padding: 3rem 0 !important;
}
.page-header h1 {
    font-family: "replicaprobold", "replicabold", Arial, sans-serif !important;
    font-weight: 400 !important;
    font-size: 30px !important;
    color: #000 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    text-align: left !important;
    margin: 0 !important;
}


/* ---------- 16. SVG social icons (from revamp.js) --------------------- */

.ms-social-svg {
    width: 20px;
    height: 20px;
    display: block;
    transition: transform .15s;
}
.topbar .ms-social-svg { width: 16px; height: 16px; }

/* Footer social icon links: flex container so SVG centres cleanly */
.site-footer-bottom .social-icons-colored li a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    height: 100% !important;
    min-height: 47px !important;
    align-self: stretch !important;
    padding: 4px !important;
    color: #000 !important;
    background: none !important;
    line-height: 1 !important;
}
.site-footer-bottom .ms-social-svg {
    width: 20px !important;
    height: 20px !important;
    display: block !important;
}
.site-footer-bottom .social-icons-colored li a:hover .ms-social-svg {
    transform: scale(1.15);
}
.social-icons-colored li a:hover .ms-social-svg { transform: scale(1.08); }

/* Space between icons */
.site-footer-bottom .social-icons-colored li {
    display: inline-flex !important;
    margin: 0 6px !important;
}


/* ---------- 17. Instagram placeholder (revamp.js fallback) ------------- */

.ms-instagram-placeholder {
    max-width: 780px;
    margin: 0 auto;
    padding: 0 1rem;
    position: relative;
    text-align: center;
}
.ms-ig-handle {
    font-family: "replicaprobold", "replicabold", Arial, sans-serif !important;
    font-weight: 400 !important;
    font-size: 18px !important;
    color: #000 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    margin: 0 0 .5rem !important;
}
.ms-ig-lede {
    font-family: "serifastd-light", Georgia, "Times New Roman", serif !important;
    font-size: 16px !important;
    color: #0a0a0a !important;
    line-height: 1.6 !important;
    margin: 0 auto 1.25rem !important;
    max-width: 360px !important;
}
.ms-instagram-heading .sow-headline {
    color: #000 !important;
    font-size: 30px !important;
}


/* ---------- 18. Skip link --------------------------------------------- */

.ms-skip-link {
    position: absolute;
    top: -100px;
    left: 0;
    background: #000;
    color: #fff;
    padding: .75rem 1rem;
    z-index: 10000;
    font-family: "replicaprobold", "replicabold", Arial, sans-serif !important;
    font-size: 16px !important;
    text-decoration: none;
}
.ms-skip-link:focus { top: 0; color: #fff; }


/* ---------- 19. Reduce motion ----------------------------------------- */

@media (prefers-reduced-motion: reduce) {
    * {
        animation-duration: .01ms !important;
        transition-duration: .01ms !important;
    }
    .featured-block.hover-effect:hover figure img { transform: none !important; }
    .featured-block:hover { transform: none !important; }
}


/* ---------- 20. Newsletter row (blue background from theme) ------------- */

.sow-headline-container.ms-center.ms-on-blue .sow-headline,
.sow-headline-container.ms-center.ms-on-blue .sow-sub-headline {
    color: #fff !important;
}


/* ---------- 21. Container width --------------------------------------- */

@media (min-width: 1200px) {
    .container { max-width: 1200px; }
}



/* ---------- 3b. Header: 1-row layout (logo + nav + search) -------------
   Everything on ONE horizontal line.
   Logo left | nav centered | search right.
   Desktop only (>= 993px) — mobile keeps existing toggle-menu behaviour.
*/

@media (min-width: 993px) {

    /* Header: white bg, defined height, sits above hero, full z-layering */
    .header-style2 .site-header {
        background: #ffffff !important;
        border-bottom: 1px solid #eee !important;
        box-shadow: 0 1px 3px rgba(0,0,0,0.08) !important;
        position: relative !important;
        z-index: 9998 !important;
        height: 85px !important;
        overflow: visible !important;
    }

    /* White bar: logo | search (row 1, full width) */
    .header-style2 .site-header .container.sp-cont {
        display: flex !important;
        align-items: center !important;
        flex-wrap: nowrap !important;
        overflow: visible !important;
        height: 85px !important;
    }

    /* Logo: natural width, left-anchored */
    .header-style2 .site-logo {
        float: none !important;
        flex: 0 0 auto !important;
        order: 1 !important;
        position: static !important;
        box-shadow: none !important;
        background: none !important;
        border-radius: 0 !important;
        align-self: center !important;
    }

    /* Search: right-anchored via order:3 + margin-left:auto */
    .header-style2 .search-module {
        float: none !important;
        flex: 0 0 auto !important;
        order: 3 !important;
        margin-left: auto !important;
        position: relative !important;
        z-index: 9999 !important;
        align-self: center !important;
    }
    .header-style2 .search-module-trigger {
        float: none !important;
        margin-left: 0 !important;
        line-height: 85px !important;
        padding: 0 8px !important;
        cursor: pointer !important;
        display: flex !important;
        align-items: center !important;
        color: #000 !important;
    }

    /* Nav: order:2 (sits between logo and search) */
    .header-style2 .main-navigation {
        float: none !important;
        flex: 0 1 auto !important;
        order: 2 !important;
        width: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        border-top: none !important;
        align-self: center !important;
    }

    /* Nav ul: horizontal flex, compact, centred, no wrap */
    .header-style2 .main-navigation > ul {
        display: flex !important;
        flex-wrap: nowrap !important;
        justify-content: center !important;
        align-items: center !important;
        list-style: none !important;
        margin: 0 auto !important;
        padding: 0 !important;
        white-space: nowrap !important;
    }

    /* Nav li */
    .header-style2 .main-navigation > ul > li {
        float: none !important;
        display: flex !important;
        align-items: center !important;
        margin: 0 !important;
        flex: 0 0 auto !important;
    }

    /* Nav links: 85px line-height, compact horizontal padding */
    .header-style2 .main-navigation > ul > li > a {
        line-height: 85px !important;
        padding: 0 10px !important;
        display: flex !important;
        align-items: center !important;
        white-space: nowrap !important;
        color: #000 !important;
        font-size: 19px !important;
    }
}

/* ---------- 23. Hide social icons from footer-bottom bar -------------- */

.site-footer-bottom .copyrights-right {
    display: none !important;
}

