@charset "utf-8";
@import url(https://fonts.googleapis.com/css?family=Josefin+Sans:400,300);

/* =========================================================
   ART & TRADITION — FULL WEBSITE STYLESHEET / 2026-09-03 REVISION 5
   ========================================================= */
:root {
    --at-charcoal: #2f2f2d;
    --at-charcoal-dark: #171716;
    --at-bronze: #887765;
    --at-soft-gray: #d8d3cd;
    --at-warm-white: #f6f4f1;
    --at-text: #333331;
    --at-muted: #6f6d69;
    --at-border: #d5d2cd;
}

* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    position: relative;
    margin: 0;
    background: #f5f5f4;
    color: var(--at-text);
    font-family: "Josefin Sans", Arial, sans-serif;
    font-weight: 300;
    line-height: 1.4;
}
a { color: var(--at-charcoal); text-decoration: none; }
a:hover { color: var(--at-bronze); }
img { border: 0; }
ul, li { list-style: none; }
.clear { clear: both; }
.clear:after, .clear:before { content: ""; display: table; clear: both; }

/* Main 920px legacy shell retained. */
.content {
    position: relative;
    width: 100%;
    margin: 0 auto;
    background: #fff;
    text-align: center;
    overflow: visible;
}
@media screen and (min-width: 920px) {
    .content { width: 920px; padding: 0; text-align: left; }
}

/* =========================================================
   HEADER / NAV
   ========================================================= */
header {
    position: relative;
    z-index: 400;
    background: #fff;
}
.logo { display: block; }
#logoAT { width: 225px; max-width: 68vw; height: auto; display: block; }
#nav-icon { display: block; float: right; margin: 25px 20px; }
nav.hidden-nav { display: none; }
nav#main-nav,
nav {
    clear: both;
    display: none;
    background: var(--at-charcoal);
    font-size: 0;
}
.nav_category { position: relative; font-size: 13px; text-align: left; }
.nav_category > a {
    display: block;
    padding: 15px 16px;
    color: #fff !important;
    font-family: Arial, Helvetica, sans-serif;
    font-weight: 500;
    letter-spacing: .35px;
}
.nav_category:hover,
#linkNav_selected { background: var(--at-charcoal-dark); }
#linkNav_selected { box-shadow: inset 0 -3px 0 var(--at-bronze); }
.child-menu {
    position: absolute;
    right: 8px;
    top: 9px;
    width: 28px;
    height: 28px;
}
.child-menu:after {
    content: "+";
    color: #fff;
    font-family: Arial, sans-serif;
    font-size: 24px;
    line-height: 28px;
}
.sub_menu { display: none; width: 100%; background: #282827; }
.sub_menu li { background: #282827; }
.sub_menu li a {
    display: block;
    padding: 10px 16px;
    color: #fff !important;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    font-weight: 400;
    text-align: left;
}
.sub_menu li a:hover,
.sub_menu #linkSubNav_selected { background: #46433f; color: #fff !important; }
.white_link, .grey_link { color: #fff !important; }

@media screen and (min-width: 920px) {
    header {
        position: fixed;
        top: 0;
        left: 50%;
        width: 920px;
        height: 84px;
        margin-left: -460px;
        padding: 0;
        display: flex;
        align-items: center;
        gap: 8px;
        border-bottom: 0;
        box-shadow: none;
        overflow: visible;
    }
    .logo {
        flex: 0 0 245px;
        width: 245px;
        margin: 0;
        padding: 0;
        display: flex;
        align-items: center;
    }
    #logoAT { width: 238px; max-width: 238px; }
    #nav-icon, .child-menu { display: none; }
    nav#main-nav,
    nav {
        display: block;
        flex: 1 1 auto;
        min-width: 0;
        margin: 0;
        clear: none;
        white-space: nowrap;
        background: var(--at-charcoal);
    }
    .nav_category {
        display: inline-block;
        vertical-align: top;
        text-align: center;
        font-size: 12px;
    }
    .nav_category > a {
        padding: 17px 7px 15px;
        font-size: 11.5px;
        line-height: 16px;
        letter-spacing: .25px;
        white-space: nowrap;
    }
    .sub_menu {
        position: absolute;
        left: 0;
        top: 48px;
        width: 205px;
        z-index: 430;
        box-shadow: 0 6px 14px rgba(0,0,0,.18);
    }
    .nav_category:hover .sub_menu { display: block; }
}

/* =========================================================
   SEARCH + SAVED CONTROLS
   ========================================================= */
.button_header { margin-top: 10px; font-family: Arial, Helvetica, sans-serif; }
.button_header input { border: 1px solid #8e8c88; border-radius: 0; }
.search { width: 150px; padding-left: 6px; }
.search_send { background: var(--at-charcoal); color: #fff; cursor: pointer; }
#savedList-button {
    width: 135px;
    margin: 10px auto 0;
    border: 1px solid #8e8c88;
    background: #fff;
}
#savedList-button a { display: block; padding: 6px 8px; font-family: Arial, Helvetica, sans-serif; font-size: 10px; text-align: center; text-transform: uppercase; letter-spacing: .5px; }
#savedList-button:hover { background: var(--at-charcoal); }
#savedList-button:hover a { color: #fff !important; }
@media screen and (min-width: 920px) {
    .button_header {
        float: right;
        margin: 46px 0 0;
        display: flex;
        flex-direction: column;
        align-items: flex-end;
        gap: 6px;
    }
    .button_header .search { width: 158px; height: 28px; }
    .button_header .search_send { width: 30px; height: 28px; }
    #savedList-button { margin: 0; width: 128px; }
}

/* =========================================================
   CATEGORY / COLLECTION
   ========================================================= */
.category_header {
    width: 100%;
    min-height: 88px;
    padding: 18px 18px 0;
    background: #fff;
}
.category_header h1 {
    color: #20201f;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 22px;
    font-weight: 500;
    letter-spacing: 1.3px;
    text-transform: uppercase;
    text-align: center;
}
@media screen and (min-width: 920px) {
    .category_header {
        width: 920px;
        height: 98px;
        margin-top: 84px;
        padding: 0;
    }
    .category_header h1 { float: left; padding-top: 62px; font-size: 23px; }
}

#category_navPageCat {
    width: 100%;
    background: #fff;
    border-bottom: 1px solid var(--at-border);
    text-align: center;
}
.category_nav ul { display: flex; flex-wrap: wrap; justify-content: center; }
.category_nav li { display: inline-block; padding: 7px 10px; }
.category_nav a {
    color: #55534f !important;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: .3px;
}
.category_nav a:hover { color: var(--at-bronze) !important; }
#category_navPageCat #linkSubNav_selected {
    color: #171716 !important;
    font-weight: 600;
    border-bottom: 2px solid var(--at-bronze);
    padding-bottom: 5px;
}
@media screen and (min-width: 920px) {
    #category_navPageCat {
        position: sticky;
        top: 84px;
        z-index: 150;
        width: 920px;
        margin: 0;
        padding: 7px 0;
    }
}

.collection-heading { text-align: center; margin: 20px 0 6px; }
.collection-heading h2 {
    font-family: Arial, Helvetica, sans-serif;
    color: #45433f;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: .8px;
    text-transform: uppercase;
}

#menuHover { margin: 15px 12px 18px; padding: 13px 0 12px; border-top: 1px solid #e3e0dc; border-bottom: 1px solid #e3e0dc; }
.filter-row {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 5px 0;
    font-family: Arial, Helvetica, sans-serif;
}
.filter-heading {
    flex: 0 0 72px;
    padding-top: 5px;
    color: #77736e;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .8px;
    text-transform: uppercase;
    text-align: left;
}
.filter-options { flex: 1; display: flex; flex-wrap: wrap; gap: 3px 0; }
.filter-option { position: relative; display: inline-flex; align-items: center; }
.checkbox {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: 0;
    opacity: 0;
    pointer-events: none;
}
.filter-option label {
    display: inline-flex;
    align-items: center;
    margin: 0;
    padding: 4px 10px;
    border-right: 1px solid #d7d4d0;
    color: #45433f;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 11px;
    font-weight: 400;
    line-height: 17px;
    cursor: pointer;
}
.filter-option:last-child label { border-right: 0; }
.checkbox + label:before {
    content: "";
    display: block;
    flex: 0 0 10px;
    width: 10px;
    height: 10px;
    margin-right: 7px;
    border: 1px solid #9a9690;
    box-sizing: border-box;
    background: #fff;
}
.checkbox:checked + label:before { background: var(--at-bronze); box-shadow: inset 0 0 0 2px #fff; }
.checkbox:focus + label:before { outline: 1px solid var(--at-bronze); outline-offset: 2px; }
.filter-option label:hover { color: var(--at-bronze); }
#deselectBt {
    margin: 8px 0 0 88px;
    padding: 6px 10px;
    border: 1px solid #aaa6a0;
    background: #fff;
    color: #696661;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 10px;
    letter-spacing: .5px;
    text-transform: uppercase;
    cursor: pointer;
}
#deselectBt:hover { border-color: var(--at-bronze); color: var(--at-bronze); }

#container { width: 100%; min-height: 20px; text-align: center; }
.category_product {
    position: relative;
    display: inline-block;
    width: 150px;
    height: 150px;
    margin: 0 5px 15px;
    overflow: hidden;
    vertical-align: top;
    text-align: center;
    background: #fff;
}
.category_product > a { display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; background: #fff !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; }
.category_product .photoProduct { display: block; max-width: 100%; max-height: 100%; width: auto; height: auto; background: #fff !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; margin: 0 auto; }
@media screen and (min-width: 920px) {
    .category_product { width: 210px; height: 210px; margin: 0 5px 20px; }
}
.product_hover { position: absolute; right: 5px; bottom: 5px; z-index: 4; }
.add_product, #add_productSaved, .productSaved1 {
    width: 30px;
    height: 30px;
    overflow: hidden;
    background: var(--at-charcoal) url(../../img/add_product.png) center center no-repeat;
    opacity: 0;
    transition: opacity .2s ease;
}
#add_productSaved, .productSaved1 { background-image: url(../../img/saved_product.png); opacity: 1; }
.category_product:hover .add_product { opacity: 1; }
.add_product:hover { background-image: url(../../img/saved_product.png); }
.addPanier { display: block; width: 30px; height: 30px; }
#loading { width: 100%; height: 44px; clear: both; text-align: center; }
#loading img { height: 28px; width: auto; margin-top: 7px; }
#browseStatus {
    text-align: center;
    margin: 18px 0 8px;
    color: #55524e !important;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: .15px;
}
input.loadp { display: none !important; }

#back-top { display: none; position: fixed; right: 3%; bottom: 24px; z-index: 300; }
#back-top img { width: 28px; height: auto; opacity: .7; }

/* Pagination */
.collection-pagination { clear: both; width: 100%; margin: 13px auto 42px; text-align: center; font-family: Arial, Helvetica, sans-serif; }
.collection-pagination-inner { display: inline-flex; align-items: center; justify-content: center; gap: 5px; flex-wrap: wrap; }
.collection-page-link, .collection-page-ellipsis {
    display: inline-block;
    min-width: 30px;
    padding: 7px 8px;
    color: #595650 !important;
    font-size: 11px;
    line-height: 16px;
    border-bottom: 1px solid transparent;
}
.collection-page-link:hover { color: var(--at-bronze) !important; border-bottom-color: var(--at-bronze); }
.collection-page-link.is-current { color: #111 !important; font-weight: 600; border-bottom: 2px solid var(--at-bronze); cursor: default; }
.collection-page-prev, .collection-page-next { min-width: 80px; }
.collection-page-ellipsis { min-width: 18px; color: #999 !important; }

/* =========================================================
   QUICK VIEW PRODUCT / FANCYBOX
   ========================================================= */
.product { display: none; background: #fff; }
#product_blocLeft {
    width: 100%;
    max-width: 500px;
    min-height: 300px;
    text-align: center;
    overflow: hidden;
}
#product_blocLeft img { max-width: 100%; max-height: 530px; width: auto; height: auto; }
#product_blocLeft .imgWidth { width: 100%; }
#product_blocRight { padding: 10px; }
#product_text { padding: 10px 16px; border: 1px solid #d2cfca; background: #fff; }
#product_text p { padding: 12px 0; border-top: 1px solid #e0ddd8; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 1.55; }
#product_text p:first-child { border-top: 0; }
#product_text span { color: #595650; font-weight: 600; font-style: normal; text-transform: uppercase; font-size: 10px; letter-spacing: .7px; }
.product_button { margin: 10px 0; text-align: center; }
.product_button a {
    display: inline-block;
    padding: 8px 10px;
    border: 1px solid #918d87;
    color: #5b5853 !important;
    background: #fff;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 10px;
    letter-spacing: .4px;
}
.product_button a:hover, #product_saved a, .productSaved2 a { background: var(--at-charcoal); color: #fff !important; }
/* The catalog uses .addPanier as a 30x30 save icon on thumbnails.
   Inside the quick view it must behave like a normal action button. */
.product_button .addPanier {
    display: inline-block;
    width: auto;
    min-width: 156px;
    height: auto;
    box-sizing: border-box;
    text-align: center;
    white-space: nowrap;
}
#product_tel { text-align: center; font-family: Arial, Helvetica, sans-serif; font-size: 11px; color: #77736e; }
@media screen and (min-width: 920px) {
    .product { min-width: 860px; }
    #product_blocLeft { float: left; width: 500px; height: 530px; padding-right: 20px; }
    #product_blocRight { float: right; width: 350px; padding: 0; }
    .product_button, #product_tel { text-align: right; }
}

/* Product-image zoom overlay */
#photoProduit { cursor: zoom-in; }
.product-image-zoom-overlay {
    position: fixed;
    inset: 0;
    z-index: 1000000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 36px;
    box-sizing: border-box;
    background: rgba(18,18,18,.92);
}
.product-image-zoom-overlay img {
    display: block;
    max-width: calc(100vw - 72px);
    max-height: calc(100vh - 72px);
    width: auto;
    height: auto;
    object-fit: contain;
    box-shadow: 0 10px 38px rgba(0,0,0,.32);
}
.product-image-zoom-close {
    position: fixed;
    top: 16px;
    right: 20px;
    z-index: 1000001;
    width: 34px;
    height: 34px;
    border: 1px solid rgba(255,255,255,.65);
    border-radius: 50%;
    background: transparent;
    color: #fff;
    font: 300 24px/30px Arial, Helvetica, sans-serif;
    text-align: center;
    cursor: pointer;
}
.product-image-zoom-close:hover { background: rgba(255,255,255,.12); }
body.product-zoom-open { overflow: hidden; }

/* =========================================================
   HOME PAGE
   ========================================================= */
#bodyHome {
    min-height: 100vh;
    background: #f5f5f4;
}
#bodyHome #logoHome, #bodyHome #logoATHome { display: none !important; }
.home-header-shell { padding-top: 0 !important; background: transparent; }
.home-hero {
    position: relative;
    width: 100%;
    height: min(72vh, 720px);
    min-height: 520px;
    margin-top: 84px;
    overflow: hidden;
    background: #d8d1c8;
}
.home-hero-slides {
    position: absolute;
    inset: 0;
}
.home-hero-image {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    opacity: 0;
    transition: opacity .9s ease;
}
.home-hero-image.is-active { opacity: 1; }
.home-main { width: min(920px, 100%); margin: 0 auto 55px; background: #fff; }
.home-intro { max-width: 660px; margin: 0 auto; padding: 58px 28px 40px; text-align: center; }
.home-kicker { margin: 0 0 8px; color: var(--at-bronze); font-family: Arial, Helvetica, sans-serif; font-size: 10px; font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase; }
.home-intro h2, .home-section-heading h2, .home-custom-teaser h2 {
    margin: 0 0 15px;
    color: #252523;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 23px;
    font-weight: 500;
    letter-spacing: .9px;
    text-transform: uppercase;
}
.home-intro > p:last-child { color: #64615d; font-family: Arial, Helvetica, sans-serif; font-size: 13px; line-height: 1.75; }
.home-category-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; padding: 0 24px 60px; }
.home-category-card { display: block; color: var(--at-charcoal) !important; text-align: center; }
.home-category-image { display: flex; width: 100%; aspect-ratio: 1 / 1.08; align-items: center; justify-content: center; overflow: hidden; background: var(--at-warm-white); }
.home-category-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease; }
.home-category-card:hover img { transform: scale(1.015); }
.home-category-label { display: block; margin-top: 12px; color: var(--at-charcoal); font-family: Arial, Helvetica, sans-serif; font-size: 11px; font-weight: 600; letter-spacing: 1.05px; }
.home-category-card:hover .home-category-label { color: var(--at-bronze); }
.home-glimpse { padding: 48px 24px 58px; border-top: 1px solid #e1ded9; background: #faf9f7; }
.home-section-heading { text-align: center; margin-bottom: 28px; }
.home-glimpse-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.home-glimpse-product { display: block; color: #555 !important; }
.home-glimpse-image { display: flex; width: 100%; aspect-ratio: 1/1; align-items: center; justify-content: center; overflow: hidden; background: #fff; }
.home-glimpse-image img { max-width: 100%; max-height: 100%; width: auto; height: auto; transition: transform .2s ease; }
.home-glimpse-product:hover img { transform: scale(1.02); }
.home-glimpse-ref { display: block; margin-top: 8px; font-family: Arial, Helvetica, sans-serif; font-size: 10px; letter-spacing: .45px; text-align: center; }
.home-glimpse-product:hover .home-glimpse-ref { color: var(--at-bronze); }
.home-custom-teaser { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; margin: 0 24px; padding: 52px 0; border-bottom: 1px solid #e1ded9; }
.home-custom-teaser > div { max-width: 560px; }
.home-custom-teaser p:not(.home-kicker) { color: #66625e; font-family: Arial, Helvetica, sans-serif; font-size: 13px; line-height: 1.7; }
.home-text-link { flex: 0 0 auto; padding-bottom: 3px; border-bottom: 1px solid var(--at-bronze); color: var(--at-bronze) !important; font-family: Arial, Helvetica, sans-serif; font-size: 11px; font-weight: 600; letter-spacing: .4px; }
.home-contact-teaser { padding: 38px 24px 44px; text-align: center; font-family: Arial, Helvetica, sans-serif; }
.home-contact-teaser p { margin-bottom: 6px; color: #77736e; font-size: 11px; text-transform: uppercase; letter-spacing: .8px; }
.home-contact-teaser a { color: #292927 !important; font-size: 14px; border-bottom: 1px solid var(--at-bronze); }

/* =========================================================
   EXACT PRODUCT PAGE
   ========================================================= */
.at-product-page { width: 100%; max-width: 920px; margin: 105px auto 60px; padding: 25px 0 0; }
.at-product-page-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr); gap: 48px; align-items: start; }
.at-product-page-image { display: flex; justify-content: center; background: var(--at-warm-white); min-height: 430px; }
.at-product-page-image img { display: block; max-width: 100%; max-height: 680px; width: auto; height: auto; object-fit: contain; }
.at-product-page-info { padding-top: 8px; font-family: Arial, Helvetica, sans-serif; }
.at-product-kicker, .custom-projects-kicker { margin: 0 0 10px; color: var(--at-bronze); font-family: Arial, Helvetica, sans-serif; font-size: 10px; font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase; }
.at-product-page-info h1 { margin: 0 0 22px; color: #202020; font-size: 22px; font-weight: 500; letter-spacing: .7px; }
.at-product-description { color: #585550; font-size: 13px; line-height: 1.7; }
.at-product-specs { margin: 28px 0; }
.at-product-specs div { display: grid; grid-template-columns: 95px 1fr; gap: 14px; padding: 9px 0; border-top: 1px solid #e1ded9; }
.at-product-specs dt { color: #77736e; font-size: 11px; }
.at-product-specs dd { margin: 0; color: #333; font-size: 12px; }
.at-product-actions a { display: inline-block; padding: 11px 15px; border: 1px solid var(--at-charcoal); color: var(--at-charcoal) !important; font-size: 10px; letter-spacing: .8px; text-transform: uppercase; }
.at-product-actions a:hover { background: var(--at-charcoal); color: #fff !important; }
.at-product-not-found { padding: 70px 20px; text-align: center; font-family: Arial, Helvetica, sans-serif; }

/* =========================================================
   CUSTOM PROJECTS
   ========================================================= */
.custom-projects-page { width: 100%; max-width: 920px; margin: 105px auto 70px; padding: 30px 0 0; }
.custom-projects-intro { max-width: 680px; margin: 0 auto; text-align: center; }
.custom-projects-intro h1 { margin: 0; color: #202020; font-family: Arial, Helvetica, sans-serif; font-size: 29px; font-weight: 500; letter-spacing: 1.4px; text-transform: uppercase; }
.custom-projects-subtitle { margin: 10px 0 24px; color: var(--at-bronze); font-family: Arial, Helvetica, sans-serif; font-size: 13px; letter-spacing: .4px; }
.custom-projects-copy { margin: 0; color: #585550; font-family: Arial, Helvetica, sans-serif; font-size: 13px; line-height: 1.75; }
.custom-projects-process { display: grid; grid-template-columns: repeat(4,1fr); margin: 55px 0 0; border-top: 1px solid var(--at-soft-gray); border-bottom: 1px solid var(--at-soft-gray); }
.custom-projects-process article { padding: 28px 20px 30px; border-right: 1px solid var(--at-soft-gray); }
.custom-projects-process article:last-child { border-right: 0; }
.custom-projects-process span { color: var(--at-bronze); font-family: Arial, Helvetica, sans-serif; font-size: 9px; letter-spacing: 1px; }
.custom-projects-process h2 { margin: 10px 0 12px; color: var(--at-charcoal); font-family: Arial, Helvetica, sans-serif; font-size: 12px; font-weight: 600; letter-spacing: .6px; text-transform: uppercase; }
.custom-projects-process p { color: #66625e; font-family: Arial, Helvetica, sans-serif; font-size: 11px; line-height: 1.65; }
.custom-projects-contact { margin-top: 34px; text-align: center; color: #66625e; font-family: Arial, Helvetica, sans-serif; font-size: 11px; }
.custom-projects-contact a { color: var(--at-bronze) !important; border-bottom: 1px solid var(--at-bronze); }
.custom-projects-note { max-width: 680px; margin: 42px auto 0; padding: 22px 0; border-top: 1px solid #e3e0dc; text-align: center; color: #77736e; font-family: Arial, Helvetica, sans-serif; font-size: 11px; line-height: 1.6; }

/* =========================================================
   CONTACT
   ========================================================= */
.contact-page { width: 100%; max-width: 920px; margin: 105px auto 55px; padding: 28px 0 0; }
.contact-page-title { margin-bottom: 28px; text-align: center; }
.contact-page-title h1 { color: #202020; font-family: Arial, Helvetica, sans-serif; font-size: 25px; font-weight: 500; letter-spacing: 1.3px; text-transform: uppercase; }
.contact-modern-grid { display: grid; grid-template-columns: 300px 1fr; gap: 44px; align-items: start; }
.contact-modern-info, .contact-modern-form { border-top: 2px solid var(--at-charcoal); padding-top: 22px; text-align: left; font-family: Arial, Helvetica, sans-serif; }
.contact-modern-info h2, .contact-modern-form h2 { margin: 0 0 14px; color: #222; font-size: 13px; font-weight: 600; letter-spacing: 1.1px; text-transform: uppercase; }
.contact-modern-info p { margin: 0 0 18px; color: #444; font-size: 13px; line-height: 1.65; }
.contact-modern-info a { color: #222 !important; border-bottom: 1px solid #aaa; }
.contact-modern-info a:hover { color: var(--at-bronze) !important; border-bottom-color: var(--at-bronze); }
.contact-modern-image { display: block; width: 100%; height: auto; margin-top: 24px; border: 0; }
.contact-intro { margin: 0 0 20px; color: #555; font-size: 12px; line-height: 1.65; }
.contact-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.contact-field { margin-bottom: 14px; }
.contact-field label { display: block; margin: 0 0 6px; color: #555; font-size: 9px; font-weight: 600; letter-spacing: .8px; text-transform: uppercase; }
.contact-field input, .contact-field select, .contact-field textarea { display: block; width: 100%; border: 1px solid #b9b6b1; background: #fff; color: #222; font-family: Arial, Helvetica, sans-serif; font-size: 12px; border-radius: 0; outline: none; }
.contact-field input, .contact-field select { height: 38px; padding: 8px 10px; }
.contact-field textarea { min-height: 150px; padding: 10px; resize: vertical; line-height: 1.5; }
.contact-field input:focus, .contact-field select:focus, .contact-field textarea:focus { border-color: var(--at-bronze); }
.contact-submit { display: block; min-width: 160px; height: 40px; margin-left: auto; padding: 0 20px; border: 1px solid var(--at-charcoal); background: var(--at-charcoal); color: #fff; font-family: Arial, Helvetica, sans-serif; font-size: 10px; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; cursor: pointer; }
.contact-submit:hover { background: var(--at-bronze); border-color: var(--at-bronze); }
.contact-form-note { margin-top: 14px; color: #444; font-size: 13px; line-height: 1.65; }
.contact-form-note a { color: #222 !important; border-bottom: 1px solid #aaa; text-decoration: none; }
.contact-form-note a:hover { color: var(--at-bronze) !important; border-bottom-color: var(--at-bronze); }
.contact-alert { margin: 0 0 18px; padding: 11px 13px; border: 1px solid #9d6c6c; background: #fffafa; color: #703d3d; font-size: 11px; line-height: 1.5; }
.contact-success-panel { margin: 0 0 18px; padding: 12px 13px; border: 1px solid #a7ab9b; background: #fbfcf8; color: #4f5743; font-size: 11px; line-height: 1.5; }
.contact-hp { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }

/* =========================================================
   LEGACY SAVED LIST / ABOUT / SEARCH SUPPORT
   ========================================================= */
/* Modern About page — approved editorial image/text treatment. */
.about-page { width: 100%; max-width: 920px; margin: 105px auto 65px; padding-top: 28px; }
.about-page-title { margin-bottom: 28px; text-align: center; }
.about-page-title h1 { color: #202020; font-family: Arial, Helvetica, sans-serif; font-size: 25px; font-weight: 500; letter-spacing: 1.3px; text-transform: uppercase; }
.about-modern-section { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); gap: 42px; align-items: center; padding: 0 0 48px; margin-bottom: 48px; border-bottom: 1px solid #e1ded9; }
.about-modern-section:last-child { margin-bottom: 0; border-bottom: 0; }
.about-modern-section-reverse .about-modern-image { order: 2; }
.about-modern-section-reverse .about-modern-copy { order: 1; }
.about-modern-image img { display: block; width: 100%; height: auto; border: 0; }
.about-modern-copy { padding: 10px 8px; font-family: Arial, Helvetica, sans-serif; }
.about-kicker { margin: 0 0 9px; color: var(--at-bronze); font-size: 10px; font-weight: 600; letter-spacing: 1.4px; text-transform: uppercase; }
.about-modern-copy h2 { margin: 0 0 18px; color: #252523; font-size: 19px; font-weight: 500; letter-spacing: .65px; text-transform: uppercase; }
.about-modern-copy p:not(.about-kicker) { margin: 0 0 15px; color: #5d5a56; font-size: 13px; line-height: 1.75; text-align: left; }

.saved-item { padding: 20px 0; border-bottom: 1px solid #d4d1cc; text-align: center; }
.saved-list_info { padding-top: 20px; }
.blocSaved-listImage img { max-width: 100%; height: auto; }
.saved-list_buttons-bottom { clear: both; margin-top: 20px; }
@media screen and (min-width: 920px) {
    .blocSaved-listImage { float: left; width: 245px; height: 245px; overflow: hidden; }
    .blocSaved-listImage img { height: 245px; width: auto; }
    .saved-list_info { float: left; width: 360px; height: 225px; padding: 0 0 0 30px; border-right: 1px solid #d4d1cc; text-align: left; }
    .saved-list_buttons { float: right; }
}
.about-us_bloc { margin-bottom: 20px; border: 1px solid #d4d1cc; text-align: center; }
.about-us_bloc img { max-width: 100%; height: auto; }
.about-us_text { padding: 28px; text-align: justify; }
.about-us_text h2 { text-align: center; font-size: 19px; }
@media screen and (min-width: 920px) {
    .about-us_bloc { width: 920px; }
    .about-us_bloc img { float: left; }
    .about-us_text { float: left; width: 440px; }
}
.search-result-heading { margin-top: 110px; }

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media screen and (max-width: 919px) {
    body { background: #fff; }
    header { min-height: 78px; }
    .logo { float: left; padding: 15px 16px; }
    nav#main-nav, nav { width: 100%; }
    .nav_category { width: 100%; }
    .nav_category:hover .sub_menu { display: block; }
    .category_header { padding-top: 22px; }
    #category_navPageCat { position: static; }
    .filter-row { display: block; padding: 8px 2px; }
    .filter-heading { display: block; padding: 0 8px 5px; }
    .filter-options { display: block; text-align: left; }
    .filter-option label { border-right: 0; padding: 5px 8px; }
    #deselectBt { margin-left: 8px; }
    .home-hero { height: 56vw; min-height: 320px; max-height: 600px; margin-top: 0; }
    .home-category-grid, .home-glimpse-grid { grid-template-columns: 1fr 1fr; }
    .home-custom-teaser { display: block; }
    .home-text-link { display: inline-block; margin-top: 22px; }
    .at-product-page, .custom-projects-page, .contact-page, .about-page { margin-top: 20px; padding-left: 18px; padding-right: 18px; }
    .at-product-page-grid, .contact-modern-grid, .about-modern-section { grid-template-columns: 1fr; gap: 28px; }
    .about-modern-section-reverse .about-modern-image, .about-modern-section-reverse .about-modern-copy { order: initial; }
    .custom-projects-process { grid-template-columns: 1fr 1fr; }
    .custom-projects-process article:nth-child(2) { border-right: 0; }
    .custom-projects-process article:nth-child(-n+2) { border-bottom: 1px solid var(--at-soft-gray); }
    .contact-field-row { grid-template-columns: 1fr; gap: 0; }
}
@media screen and (max-width: 520px) {
    .category_product { width: calc(50% - 12px); height: auto; aspect-ratio: 1/1; margin: 0 4px 10px; }
    .home-category-grid, .home-glimpse-grid { grid-template-columns: 1fr; gap: 24px; }
    .home-category-grid, .home-glimpse, .home-intro { padding-left: 18px; padding-right: 18px; }
    .custom-projects-process { grid-template-columns: 1fr; }
    .custom-projects-process article { border-right: 0; border-bottom: 1px solid var(--at-soft-gray); }
    .custom-projects-process article:last-child { border-bottom: 0; }
    .collection-page-prev, .collection-page-next { min-width: auto; }
}


/* =========================================================
   ART & TRADITION — REVISION 4 FINAL ALIGNMENT
   Restores the balanced desktop header, centers collection
   titles, and gives Search / My Save List breathing room.
   ========================================================= */
@media screen and (min-width: 920px) {
    /* Header: logo block + a full-width, evenly distributed menu.
       This restores the balanced relationship from the approved
       pre-replacement header instead of visually bunching the menu right. */
    header {
        gap: 0 !important;
        padding: 0 !important;
    }

    header .logo {
        flex: 0 0 250px !important;
        width: 250px !important;
        max-width: 250px !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
    }

    header #logoAT {
        width: 246px !important;
        max-width: 246px !important;
        height: auto !important;
    }

    header nav#main-nav {
        flex: 0 0 670px !important;
        width: 670px !important;
        max-width: 670px !important;
        min-width: 670px !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
    }

    header nav#main-nav > ul {
        display: flex !important;
        width: 100% !important;
        height: 48px !important;
        margin: 0 !important;
        padding: 0 !important;
        align-items: stretch !important;
        justify-content: stretch !important;
    }

    header nav#main-nav > ul > .nav_category {
        display: flex !important;
        flex: 1 1 0 !important;
        min-width: 0 !important;
        align-items: stretch !important;
        justify-content: center !important;
        text-align: center !important;
    }

    header nav#main-nav > ul > .nav_category > a {
        width: 100% !important;
        min-width: 0 !important;
        padding: 16px 5px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        box-sizing: border-box !important;
        font-size: 11.5px !important;
        line-height: 16px !important;
        white-space: nowrap !important;
    }

    /* Dropdowns remain left-aligned and title case, matching Lighting. */
    header nav#main-nav .sub_menu {
        top: 48px !important;
        left: 0 !important;
        width: 205px !important;
    }

    header nav#main-nav .sub_menu li,
    header nav#main-nav .sub_menu li a {
        display: block !important;
        width: 100% !important;
        text-align: left !important;
        text-transform: none !important;
    }

    /* Collection title follows the centered visual language of the site. */
    .category_header {
        position: relative !important;
        width: 920px !important;
        height: 104px !important;
        margin-top: 84px !important;
        padding: 0 !important;
    }

    .category_header h1 {
        float: none !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 59px 0 0 0 !important;
        text-align: center !important;
        font-size: 23px !important;
        line-height: 28px !important;
    }

    /* Keep utilities comfortably inside the 920px page edge. */
    .category_header .button_header {
        position: absolute !important;
        top: 27px !important;
        right: 24px !important;
        float: none !important;
        margin: 0 !important;
        z-index: 5 !important;
    }

    .category_header .button_header form,
    .category_header .button_header .header-search {
        margin: 0 !important;
    }

    .category_header #savedList-button {
        margin-right: 0 !important;
    }

    /* The on-page Surfaces submenu follows Lighting's title-case labels. */
    #category_navPageCat a {
        text-transform: none !important;
    }
}


/* =========================================================
   ART & TRADITION — REVISION 5 SPACING / ALIGNMENT
   Returns the site to the more natural approved rhythm:
   left-aligned page hierarchy, comfortable 28px inner gutters,
   a visible logo/menu gap, and a restrained homepage hero.
   ========================================================= */
@media screen and (min-width: 920px) {
    /* Header: logo first, a visible breathing space, then a naturally
       left-flowing navigation. Menu items are no longer stretched. */
    header {
        width: 920px !important;
        height: 84px !important;
        gap: 0 !important;
        padding: 0 !important;
        align-items: center !important;
    }
    header .logo {
        flex: 0 0 250px !important;
        width: 250px !important;
        max-width: 250px !important;
        padding: 0 !important;
        justify-content: flex-start !important;
    }
    header #logoAT {
        width: 234px !important;
        max-width: 234px !important;
        height: auto !important;
    }
    header nav#main-nav {
        flex: 0 0 670px !important;
        width: 670px !important;
        max-width: 670px !important;
        min-width: 670px !important;
        margin: 0 !important;
    }
    header nav#main-nav > ul {
        display: flex !important;
        width: 100% !important;
        height: 48px !important;
        align-items: stretch !important;
        justify-content: flex-start !important;
    }
    header nav#main-nav > ul > .nav_category {
        display: block !important;
        flex: 0 0 auto !important;
        width: auto !important;
        min-width: 0 !important;
        text-align: left !important;
    }
    header nav#main-nav > ul > .nav_category > a {
        display: flex !important;
        width: auto !important;
        height: 48px !important;
        padding: 16px 14px !important;
        align-items: center !important;
        justify-content: flex-start !important;
        font-size: 11.5px !important;
        line-height: 16px !important;
    }

    /* Category title / utilities: consistent 28px page inset. */
    .category_header {
        width: 920px !important;
        height: 104px !important;
        margin-top: 84px !important;
        padding: 0 28px !important;
    }
    .category_header h1 {
        float: none !important;
        width: auto !important;
        margin: 0 !important;
        padding: 59px 0 0 !important;
        text-align: left !important;
        font-size: 22px !important;
        line-height: 28px !important;
    }
    .category_header .button_header {
        top: 27px !important;
        right: 28px !important;
    }

    /* Secondary category navigation begins on the same left grid. */
    #category_navPageCat {
        padding: 7px 18px !important;
        text-align: left !important;
    }
    #category_navPageCat .category_nav ul,
    .category_nav ul {
        justify-content: flex-start !important;
        text-align: left !important;
    }

    .collection-heading {
        margin: 20px 28px 6px !important;
        text-align: left !important;
    }

    /* Filters and product grid share the same 28px inset. */
    #menuHover {
        margin: 15px 28px 18px !important;
    }
    #container {
        width: 100% !important;
        padding: 0 28px !important;
        text-align: left !important;
        font-size: 0 !important;
    }
    .category_product {
        width: 202px !important;
        height: 202px !important;
        margin: 0 4px 20px !important;
        font-size: 13px !important;
    }

    /* Editorial pages use the same inner page gutter rather than touching
       the 920px shell edges. */
    .about-page,
    .contact-page,
    .custom-projects-page,
    .at-product-page {
        width: calc(100% - 56px) !important;
        max-width: 864px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
    .about-page-title,
    .contact-page-title {
        text-align: left !important;
    }

    /* Homepage hero aligns with the editorial inner grid and is deliberately
       shorter than the previous full-width treatment. */
    .home-hero {
        width: 864px !important;
        max-width: 864px !important;
        height: 460px !important;
        min-height: 0 !important;
        max-height: none !important;
        margin: 104px auto 0 !important;
        background: #d8d1c8 !important;
    }
    .home-hero-image {
        object-fit: cover !important;
    }
}

/* Hero navigation — understated dashes, restored for manual rotation. */
.home-hero-nav {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 18px;
    z-index: 8;
    display: flex;
    justify-content: center;
    gap: 8px;
    pointer-events: auto;
}
.home-hero-dot {
    display: block;
    width: 28px;
    height: 12px;
    padding: 5px 0;
    border: 0;
    background: transparent;
    cursor: pointer;
}
.home-hero-dot:before {
    content: "";
    display: block;
    width: 28px;
    height: 2px;
    background: rgba(47,47,45,.35);
    transition: background .2s ease;
}
.home-hero-dot:hover:before,
.home-hero-dot.is-active:before {
    background: rgba(47,47,45,.88);
}

@media screen and (max-width: 919px) {
    .home-hero {
        width: calc(100% - 36px);
        margin-left: auto;
        margin-right: auto;
    }
    .about-page-title,
    .contact-page-title {
        text-align: left;
    }
}

/* =========================================================
   ART & TRADITION — REVISION 6 HEADER MENU BALANCE
   Centers the navigation group as a whole inside the black band
   while preserving natural label widths and spacing.
   ========================================================= */
@media screen and (min-width: 920px) {
    header nav#main-nav > ul {
        justify-content: center !important;
    }

    header nav#main-nav > ul > .nav_category {
        flex: 0 0 auto !important;
        width: auto !important;
    }

    header nav#main-nav > ul > .nav_category > a {
        width: auto !important;
        padding-left: 12px !important;
        padding-right: 12px !important;
        justify-content: center !important;
    }
}

/* =========================================================
   ART & TRADITION — REVISION 7 TRUE FLEX MENU
   Uses most of the black band without forcing equal-width tabs.
   The six natural-width labels are distributed with balanced gaps.
   ========================================================= */
@media screen and (min-width: 920px) {
    header nav#main-nav {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    /* Main navigation list only — do not affect dropdown lists. */
    header nav#main-nav > ul {
        float: none !important;
        display: flex !important;
        flex: 0 0 94% !important;
        width: 94% !important;
        max-width: 94% !important;
        height: 48px !important;
        margin: 0 auto !important;
        padding: 0 !important;
        align-items: stretch !important;
        justify-content: space-between !important;
        gap: 0 !important;
        white-space: nowrap !important;
    }

    header nav#main-nav > ul > li.nav_category {
        float: none !important;
        display: flex !important;
        flex: 0 0 auto !important;
        width: auto !important;
        min-width: 0 !important;
        height: 48px !important;
        margin: 0 !important;
        padding: 0 !important;
        align-items: stretch !important;
        position: relative !important;
    }

    header nav#main-nav > ul > li.nav_category > a {
        float: none !important;
        display: flex !important;
        width: auto !important;
        height: 48px !important;
        margin: 0 !important;
        padding: 16px 5px !important;
        align-items: center !important;
        justify-content: center !important;
        box-sizing: border-box !important;
        font-size: 11.5px !important;
        line-height: 16px !important;
        white-space: nowrap !important;
    }

    /* Keep each dropdown attached to its own natural-width menu item. */
    header nav#main-nav > ul > li.nav_category > ul.sub_menu {
        position: absolute !important;
        top: 48px !important;
        left: 0 !important;
        width: 205px !important;
        margin: 0 !important;
        padding: 0 !important;
    }
}

/* =========================================================
   ART & TRADITION — REVISION 8 SHORT NAVIGATION BAND
   The black navigation band now hugs the actual menu content
   instead of filling the entire remaining header width.
   ========================================================= */
@media screen and (min-width: 920px) {
    header {
        justify-content: flex-start !important;
        gap: 0 !important;
    }

    /* Slightly tighter logo block creates a more intentional relationship
       between the mark and navigation while preserving white breathing room. */
    header .logo {
        flex: 0 0 222px !important;
        width: 222px !important;
        max-width: 222px !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    header #logoAT {
        width: 214px !important;
        max-width: 214px !important;
        height: auto !important;
    }

    /* Black band is content-sized, with a deliberate 14px white gap
       after the logo and restrained padding at both ends. */
    header nav#main-nav {
        display: block !important;
        flex: 0 0 auto !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        height: 48px !important;
        margin: 0 0 0 14px !important;
        padding: 0 !important;
        background: var(--at-charcoal) !important;
    }

    header nav#main-nav > ul {
        float: none !important;
        display: flex !important;
        flex: 0 0 auto !important;
        width: auto !important;
        max-width: none !important;
        height: 48px !important;
        margin: 0 !important;
        padding: 0 18px !important;
        align-items: stretch !important;
        justify-content: flex-start !important;
        gap: 0 !important;
        white-space: nowrap !important;
    }

    header nav#main-nav > ul > li.nav_category {
        float: none !important;
        display: flex !important;
        flex: 0 0 auto !important;
        width: auto !important;
        min-width: 0 !important;
        height: 48px !important;
        margin: 0 !important;
        padding: 0 !important;
        position: relative !important;
    }

    header nav#main-nav > ul > li.nav_category > a {
        float: none !important;
        display: flex !important;
        width: auto !important;
        height: 48px !important;
        margin: 0 !important;
        padding: 16px 11px !important;
        align-items: center !important;
        justify-content: flex-start !important;
        font-size: 11.5px !important;
        line-height: 16px !important;
        white-space: nowrap !important;
    }
}

/* =========================================================
   ART & TRADITION — REVISION 9 FULL BAND / BALANCED WORD SPACING
   Restores the full black navigation band while keeping each label
   at its natural width. Remaining space is distributed between labels,
   not turned into equal-width tabs.
   ========================================================= */
@media screen and (min-width: 920px) {
    header {
        width: 920px !important;
        height: 84px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 0 !important;
        padding: 0 !important;
    }

    /* Preserve the comfortable white breathing room between the logo artwork
       and the beginning of the black band. */
    header .logo {
        flex: 0 0 250px !important;
        width: 250px !important;
        max-width: 250px !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
    }

    header #logoAT {
        width: 234px !important;
        max-width: 234px !important;
        height: auto !important;
    }

    /* Full remaining header width = black band. */
    header nav#main-nav {
        display: block !important;
        flex: 0 0 670px !important;
        width: 670px !important;
        min-width: 670px !important;
        max-width: 670px !important;
        height: 48px !important;
        margin: 0 !important;
        padding: 0 !important;
        background: var(--at-charcoal) !important;
        overflow: visible !important;
    }

    /* Natural-width labels; spare width becomes breathing room BETWEEN words. */
    header nav#main-nav > ul {
        float: none !important;
        display: flex !important;
        width: 100% !important;
        height: 48px !important;
        margin: 0 !important;
        padding: 0 14px !important;
        box-sizing: border-box !important;
        align-items: stretch !important;
        justify-content: space-between !important;
        gap: 0 !important;
        white-space: nowrap !important;
    }

    header nav#main-nav > ul > li.nav_category {
        float: none !important;
        display: flex !important;
        flex: 0 0 auto !important;
        width: auto !important;
        min-width: 0 !important;
        height: 48px !important;
        margin: 0 !important;
        padding: 0 !important;
        position: relative !important;
        text-align: left !important;
    }

    header nav#main-nav > ul > li.nav_category > a {
        float: none !important;
        display: flex !important;
        width: auto !important;
        height: 48px !important;
        margin: 0 !important;
        padding: 16px 10px !important;
        box-sizing: border-box !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 11.5px !important;
        line-height: 16px !important;
        letter-spacing: .20px !important;
        white-space: nowrap !important;
    }

    /* Dropdowns remain anchored to the corresponding label. */
    header nav#main-nav > ul > li.nav_category > ul.sub_menu {
        position: absolute !important;
        top: 48px !important;
        left: 0 !important;
        width: 205px !important;
        margin: 0 !important;
        padding: 0 !important;
    }
}

/* =========================================================
   ART & TRADITION — REVISION 10 HEADER UTILITIES
   Full black band retained. Primary navigation sits naturally on the left;
   Search and My Saved List make purposeful use of the right side.
   ========================================================= */
@media screen and (min-width: 920px) {
    header {
        width: 920px !important;
        height: 84px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 0 !important;
        padding: 0 !important;
    }

    header .logo {
        flex: 0 0 250px !important;
        width: 250px !important;
        max-width: 250px !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
    }

    header #logoAT {
        width: 234px !important;
        max-width: 234px !important;
        height: auto !important;
    }

    header nav#main-nav {
        flex: 0 0 670px !important;
        width: 670px !important;
        min-width: 670px !important;
        max-width: 670px !important;
        height: 48px !important;
        margin: 0 !important;
        padding: 0 !important;
        background: var(--at-charcoal) !important;
        overflow: visible !important;
    }

    header nav#main-nav > ul {
        float: none !important;
        display: flex !important;
        align-items: stretch !important;
        justify-content: flex-start !important;
        width: 100% !important;
        height: 48px !important;
        margin: 0 !important;
        padding: 0 12px !important;
        box-sizing: border-box !important;
        gap: 0 !important;
        white-space: nowrap !important;
    }

    header nav#main-nav > ul > li.nav_category {
        float: none !important;
        display: flex !important;
        flex: 0 0 auto !important;
        width: auto !important;
        min-width: 0 !important;
        height: 48px !important;
        margin: 0 !important;
        padding: 0 !important;
        position: relative !important;
    }

    header nav#main-nav > ul > li.nav_category > a {
        float: none !important;
        display: flex !important;
        width: auto !important;
        height: 48px !important;
        margin: 0 !important;
        padding: 16px 7px !important;
        box-sizing: border-box !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 10.8px !important;
        line-height: 16px !important;
        letter-spacing: .12px !important;
        white-space: nowrap !important;
    }

    /* Push the utility group to the far right rather than stretching category words. */
    header nav#main-nav > ul > li.nav_utility {
        float: none !important;
        display: flex !important;
        flex: 0 0 auto !important;
        height: 48px !important;
        margin: 0 !important;
        padding: 0 !important;
        align-items: center !important;
        position: relative !important;
    }

    header nav#main-nav > ul > li.nav_utility-search {
        margin-left: auto !important;
        padding-left: 11px !important;
        border-left: 1px solid rgba(255,255,255,.22) !important;
    }

    header nav#main-nav > ul > li.nav_utility-saved {
        margin-left: 1px !important;
    }

    header nav#main-nav > ul > li.nav_utility > a {
        display: flex !important;
        height: 48px !important;
        padding: 16px 6px !important;
        box-sizing: border-box !important;
        align-items: center !important;
        color: #d9d7d3 !important;
        font-family: Arial, Helvetica, sans-serif !important;
        font-size: 9px !important;
        line-height: 16px !important;
        font-weight: 500 !important;
        letter-spacing: .42px !important;
        text-transform: uppercase !important;
        text-decoration: none !important;
        white-space: nowrap !important;
    }

    header nav#main-nav > ul > li.nav_utility > a:hover {
        color: #fff !important;
    }

    header nav#main-nav > ul > li.nav_category > ul.sub_menu {
        position: absolute !important;
        top: 48px !important;
        left: 0 !important;
        width: 205px !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Search / Saved List now live in the black header band on desktop.
       Keep the legacy block available on smaller screens only. */
    .category_header .button_header,
    .button_header {
        display: none !important;
    }
}

/* Utility links behave like ordinary menu options on mobile/tablet. */
@media screen and (max-width: 919px) {
    #main-nav .nav_utility {
        display: block;
    }
    #main-nav .nav_utility a {
        display: block;
        padding: 10px 16px;
        color: #fff;
    }
}

/* Search page introduced with the REV10 header utilities. */
.search-page {
    width: calc(100% - 36px);
    max-width: 864px;
    margin: 0 auto;
    padding: 34px 0 60px;
}
.search-page-heading h1 {
    margin: 0 0 24px;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 23px;
    line-height: 30px;
    font-weight: 400;
    letter-spacing: 1.2px;
}
.search-page-form {
    display: flex;
    width: 100%;
    max-width: 520px;
    margin-bottom: 34px;
}
.search-page-form input {
    flex: 1 1 auto;
    height: 36px;
    padding: 7px 10px;
    border: 1px solid #aaa7a2;
    border-right: 0;
    border-radius: 0;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    box-sizing: border-box;
}
.search-page-form button {
    flex: 0 0 auto;
    height: 36px;
    padding: 0 16px;
    border: 1px solid var(--at-charcoal);
    border-radius: 0;
    background: var(--at-charcoal);
    color: #fff;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 9.5px;
    font-weight: 600;
    letter-spacing: .6px;
    cursor: pointer;
}
.search-page-form button:hover { background: #111; }
.search-page-results .category_nav { margin-top: 0; }


/* =========================================================
   ART & TRADITION — REVISION 11 HEADER UTILITY FIX
   Utilities are a separate, absolutely positioned group inside
   the black band so legacy list behavior cannot suppress them.
   ========================================================= */
@media screen and (min-width: 920px) {
    header nav#main-nav {
        position: relative !important;
        overflow: visible !important;
    }

    /* Leave a guaranteed utility zone on the right. */
    header nav#main-nav > ul {
        display: flex !important;
        align-items: stretch !important;
        justify-content: flex-start !important;
        width: auto !important;
        height: 48px !important;
        margin: 0 !important;
        padding: 0 178px 0 10px !important;
        box-sizing: border-box !important;
        white-space: nowrap !important;
    }

    header nav#main-nav > ul > li.nav_category {
        flex: 0 0 auto !important;
        float: none !important;
    }

    header nav#main-nav > ul > li.nav_category > a {
        padding-left: 6px !important;
        padding-right: 6px !important;
        font-size: 10.5px !important;
        letter-spacing: .08px !important;
    }

    header nav#main-nav .nav-utilities {
        position: absolute !important;
        top: 0 !important;
        right: 12px !important;
        height: 48px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 8px !important;
        z-index: 500 !important;
        font-family: Arial, Helvetica, sans-serif !important;
        white-space: nowrap !important;
    }

    header nav#main-nav .nav-utility-link {
        display: inline-flex !important;
        align-items: center !important;
        height: 48px !important;
        padding: 0 !important;
        color: #ddd9d4 !important;
        font-family: Arial, Helvetica, sans-serif !important;
        font-size: 8.8px !important;
        line-height: 48px !important;
        font-weight: 500 !important;
        letter-spacing: .35px !important;
        text-transform: uppercase !important;
        text-decoration: none !important;
    }

    header nav#main-nav .nav-utility-link:hover {
        color: #fff !important;
    }

    header nav#main-nav .nav-utility-divider {
        color: rgba(255,255,255,.34) !important;
        font-family: Arial, Helvetica, sans-serif !important;
        font-size: 10px !important;
        line-height: 48px !important;
    }

    /* Legacy search/saved block stays hidden on desktop. */
    .category_header .button_header,
    .button_header {
        display: none !important;
    }
}

@media screen and (max-width: 919px) {
    #main-nav .nav-utilities {
        display: block;
        padding: 6px 16px 12px;
        background: var(--at-charcoal);
    }
    #main-nav .nav-utility-link {
        display: block;
        padding: 8px 0;
        color: #fff !important;
        font-family: Arial, Helvetica, sans-serif;
        font-size: 12px;
    }
    #main-nav .nav-utility-divider { display: none; }
}



/* =========================================================
   ART & TRADITION — REVISION 13 FLOATING SEARCH POPOVER
   Compact overlay anchored beneath SEARCH. It never changes
   page height or interrupts the hero / catalogue composition.
   ========================================================= */
.nav-inline-search {
    display: none;
}

@media screen and (min-width: 920px) {
    header nav#main-nav .nav-inline-search {
        position: absolute !important;
        top: 52px !important;
        z-index: 900 !important;
        width: 292px !important;
        height: 42px !important;
        box-sizing: border-box !important;
        padding: 5px !important;
        background: rgba(255,255,255,.985) !important;
        border: 1px solid #d2cec8 !important;
        box-shadow: 0 7px 20px rgba(0,0,0,.13) !important;
    }

    header nav#main-nav .nav-inline-search.is-open {
        display: block !important;
    }

    header nav#main-nav .nav-inline-search:before {
        content: "" !important;
        position: absolute !important;
        top: -6px !important;
        right: 39px !important;
        width: 10px !important;
        height: 10px !important;
        background: #fff !important;
        border-left: 1px solid #d2cec8 !important;
        border-top: 1px solid #d2cec8 !important;
        transform: rotate(45deg) !important;
    }

    header nav#main-nav .nav-inline-search-form {
        position: relative !important;
        display: block !important;
        width: 100% !important;
        height: 30px !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    header nav#main-nav .nav-search-label {
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        padding: 0 !important;
        margin: -1px !important;
        overflow: hidden !important;
        clip: rect(0,0,0,0) !important;
        white-space: nowrap !important;
        border: 0 !important;
    }

    header nav#main-nav .nav-inline-search-input {
        width: 100% !important;
        height: 30px !important;
        margin: 0 !important;
        padding: 5px 34px 5px 9px !important;
        border: 0 !important;
        border-radius: 0 !important;
        outline: none !important;
        background: transparent !important;
        color: #2f2f2d !important;
        font-family: Arial, Helvetica, sans-serif !important;
        font-size: 11.5px !important;
        line-height: 20px !important;
        box-sizing: border-box !important;
    }

    header nav#main-nav .nav-inline-search-input::placeholder {
        color: #8b8782 !important;
        opacity: 1 !important;
    }

    header nav#main-nav .nav-inline-search-close {
        position: absolute !important;
        top: 0 !important;
        right: 0 !important;
        width: 29px !important;
        height: 30px !important;
        margin: 0 !important;
        padding: 0 1px 2px 0 !important;
        border: 0 !important;
        background: transparent !important;
        color: #8b8782 !important;
        font-family: Arial, Helvetica, sans-serif !important;
        font-size: 18px !important;
        line-height: 29px !important;
        font-weight: 300 !important;
        cursor: pointer !important;
    }

    header nav#main-nav .nav-inline-search-close:hover {
        color: #2f2f2d !important;
    }

    header nav#main-nav .nav-search-link[aria-expanded="true"] {
        color: #fff !important;
    }
}

/* Mobile keeps a simple in-menu search field; the desktop popover
   treatment is intentionally not forced onto the compact menu. */
@media screen and (max-width: 919px) {
    #main-nav .nav-inline-search {
        display: none;
        padding: 8px 16px 14px;
        background: #2f2f2d;
    }
    #main-nav .nav-inline-search.is-open { display: block; }
    #main-nav .nav-inline-search-form { position: relative; display: block; width: 100%; }
    #main-nav .nav-search-label { display: none; }
    #main-nav .nav-inline-search-input {
        width: 100%; height: 34px; padding: 6px 36px 6px 8px;
        border: 1px solid #aaa7a2; border-radius: 0; box-sizing: border-box;
    }
    #main-nav .nav-inline-search-close {
        position: absolute; top: 0; right: 0; width: 34px; height: 34px;
        border: 0; background: transparent; color: #777; font-size: 20px; cursor: pointer;
    }
}


/* =========================================================
   ART & TRADITION — REVISION 14 SEARCH POPOVER CORRECTION
   Hidden by default. Smaller overlay that sits in the white
   breathing space below SEARCH without covering the hero.
   ========================================================= */
.nav-inline-search[hidden] {
    display: none !important;
}

@media screen and (min-width: 920px) {
    header nav#main-nav .nav-inline-search {
        display: none !important;
        position: absolute !important;
        top: 49px !important;
        z-index: 900 !important;
        width: 224px !important;
        height: 34px !important;
        box-sizing: border-box !important;
        padding: 2px !important;
        background: rgba(255,255,255,.99) !important;
        border: 1px solid #d8d4ce !important;
        box-shadow: 0 4px 12px rgba(0,0,0,.10) !important;
    }

    header nav#main-nav .nav-inline-search.is-open:not([hidden]) {
        display: block !important;
    }

    header nav#main-nav .nav-inline-search:before {
        top: -5px !important;
        right: 25px !important;
        width: 8px !important;
        height: 8px !important;
        border-color: #d8d4ce !important;
    }

    header nav#main-nav .nav-inline-search-form {
        height: 28px !important;
    }

    header nav#main-nav .nav-inline-search-input {
        height: 28px !important;
        padding: 4px 28px 4px 8px !important;
        font-size: 10.5px !important;
        line-height: 18px !important;
    }

    header nav#main-nav .nav-inline-search-close {
        width: 25px !important;
        height: 28px !important;
        padding: 0 !important;
        font-size: 16px !important;
        line-height: 27px !important;
    }
}


/* =========================================================
   ART & TRADITION — PRODUCT GALLERY + UNIVERSAL QUICK VIEW
   REV19 — 2026-09-04
   ========================================================= */
.product-gallery-stage {
    width: 100%;
    min-height: 300px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: #fff;
}
#product_blocLeft.has-product-gallery .product-gallery-stage {
    height: 445px;
    min-height: 445px;
}
.product-gallery-main,
.at-product-page-main-image {
    cursor: zoom-in;
    display: block;
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
}
.product-gallery-thumbs {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 66px;
    margin: 9px 0 0;
    padding: 0 4px;
    box-sizing: border-box;
    overflow-x: auto;
    overflow-y: hidden;
}
.product-gallery-thumb {
    flex: 0 0 66px;
    width: 66px;
    height: 56px;
    padding: 2px;
    border: 1px solid #d8d4ce;
    background: #fff;
    cursor: pointer;
    opacity: .72;
    box-sizing: border-box;
}
.product-gallery-thumb:hover { opacity: 1; border-color: #8b7a68; }
.product-gallery-thumb.is-active {
    opacity: 1;
    border-color: #5f554b;
    box-shadow: inset 0 0 0 1px #5f554b;
}
.product-gallery-thumb img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: cover;
}

/* One consistent black-box quick view from collection, search, Glimpse and saved list. */
.at-quickview-overlay {
    position: fixed;
    inset: 0;
    z-index: 990000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 34px;
    box-sizing: border-box;
    background: rgba(17,17,17,.93);
}
.at-quickview-dialog {
    position: relative;
    width: min(920px, calc(100vw - 68px));
    max-height: calc(100vh - 68px);
    overflow: auto;
    background: #fff;
    box-shadow: 0 16px 50px rgba(0,0,0,.36);
}
.at-quickview-content { padding: 16px; box-sizing: border-box; }
.at-quickview-content .product { display: block !important; width: 100%; box-sizing: border-box; }
.at-quickview-content #product_blocLeft { box-sizing: border-box; }
.at-quickview-content .product::after { content: ''; display: block; clear: both; }
.at-quickview-close {
    position: fixed;
    top: 17px;
    right: 20px;
    z-index: 990010;
    width: 34px;
    height: 34px;
    padding: 0;
    border: 2px solid #fff;
    border-radius: 50%;
    background: #333;
    color: #fff;
    box-shadow: 0 1px 3px rgba(0,0,0,.35);
    font: 300 24px/28px Arial, Helvetica, sans-serif;
    cursor: pointer;
}
.at-quickview-close:hover { background: #555; }
.at-quickview-loading {
    min-height: 220px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    letter-spacing: .4px;
    color: #777;
}
body.at-quickview-open { overflow: hidden; }
.js-saved-product-quickview, .blocSaved-listImage { cursor: pointer; }

.at-product-page-gallery-stage {
    min-height: 460px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.at-product-page-image.has-product-gallery .product-gallery-thumbs { margin-top: 12px; }

@media screen and (min-width: 920px) {
    .at-quickview-content #product_blocLeft.has-product-gallery {
        height: 530px;
        overflow: hidden;
    }
}
@media screen and (max-width: 919px) {
    .at-quickview-overlay { padding: 18px; align-items: flex-start; }
    .at-quickview-dialog { width: calc(100vw - 36px); max-height: calc(100vh - 36px); margin-top: 18px; }
    .at-quickview-content { padding: 12px; }
    #product_blocLeft.has-product-gallery .product-gallery-stage { height: 360px; min-height: 360px; }
    .product-gallery-thumb { flex-basis: 58px; width: 58px; height: 50px; }
    .at-product-page-gallery-stage { min-height: 360px; }
}


/* =========================================================
   ART & TRADITION — REV20 SEARCH FOCUS HARMONIZATION
   Replace browser-blue focus/selection with the site bronze.
   ========================================================= */
header nav#main-nav .nav-inline-search:focus-within {
    border-color: var(--at-bronze) !important;
    box-shadow: 0 4px 12px rgba(0,0,0,.10), inset 0 0 0 1px var(--at-bronze) !important;
}
header nav#main-nav .nav-inline-search-input:focus,
.search-page-form input:focus {
    outline: none !important;
    border-color: var(--at-bronze) !important;
    box-shadow: inset 0 0 0 1px var(--at-bronze) !important;
    caret-color: var(--at-bronze) !important;
}
header nav#main-nav .nav-inline-search-input::selection,
.search-page-form input::selection {
    background: var(--at-bronze);
    color: #fff;
}
header nav#main-nav .nav-inline-search-input::-moz-selection,
.search-page-form input::-moz-selection {
    background: var(--at-bronze);
    color: #fff;
}


/* =========================================================
   REV21 — reversible saved-list controls
   ========================================================= */
.product_hover .savedToggle { display:block; width:30px; height:30px; }
.product_button .savedToggle { display:inline-block; width:auto; min-width:156px; height:auto; box-sizing:border-box; text-align:center; white-space:nowrap; cursor:pointer; }
.product_button.productSaved2 .savedToggle { background:var(--at-charcoal); color:#fff !important; }
.product_button.productSaved2 .savedToggle:hover { background:#fff; color:#5b5853 !important; }

/* =========================================================
   ART & TRADITION — REV22 SEARCH PAGINATION + QUICK-VIEW NAV
   ========================================================= */
.search-results-footer {
    clear: both;
    width: 100%;
    padding-top: 10px;
}
.search-results-status {
    clear: both;
    margin: 8px 0 0;
    text-align: center;
    color: #77736e;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 10px;
    letter-spacing: .35px;
}
.search-pagination { margin-top: 12px; }

/* Restore the neighboring-product navigation that was lost when the site
   moved from the old popup to the universal quick view. */
.at-quickview-nav {
    position: sticky;
    bottom: 0;
    z-index: 8;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: stretch;
    min-height: 48px;
    background: #1f1f1f;
    border-top: 1px solid rgba(255,255,255,.08);
    color: #fff;
    box-shadow: 0 -5px 16px rgba(0,0,0,.10);
}
.at-quickview-nav[hidden] { display: none !important; }
.at-quickview-nav-button {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    padding: 8px 15px;
    border: 0;
    background: transparent;
    color: #fff;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 9px;
    letter-spacing: .8px;
    cursor: pointer;
}
.at-quickview-nav-prev { justify-content: flex-start; text-align: left; }
.at-quickview-nav-next { justify-content: flex-end; text-align: right; }
.at-quickview-nav-button:hover:not(:disabled) { color: var(--at-bronze); background: rgba(255,255,255,.035); }
.at-quickview-nav-button:disabled,
.at-quickview-nav-button.is-disabled { opacity: .24; cursor: default; }
.at-quickview-nav-direction { white-space: nowrap; font-weight: 600; }
.at-quickview-nav-ref { color: #c8c1b9; white-space: nowrap; font-size: 9px; letter-spacing: .5px; }
.at-quickview-nav-counter {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 58px;
    padding: 0 8px;
    color: #aaa39b;
    border-left: 1px solid rgba(255,255,255,.08);
    border-right: 1px solid rgba(255,255,255,.08);
    font-family: Arial, Helvetica, sans-serif;
    font-size: 9px;
    letter-spacing: .6px;
}
@media screen and (max-width: 600px) {
    .at-quickview-nav { min-height: 44px; }
    .at-quickview-nav-button { padding: 7px 10px; gap: 5px; }
    .at-quickview-nav-ref { display: none; }
    .at-quickview-nav-counter { min-width: 44px; padding: 0 5px; }
}


/* =========================================================
   ART & TRADITION — REV23 SEARCH PAGINATION + NAV THUMBNAILS
   ========================================================= */
/* Search pagination uses the same quiet treatment as collection pagination. */
.search-pagination {
    display: block !important;
    background: transparent !important;
    font-size: inherit !important;
    white-space: normal !important;
}
.at-quickview-nav-thumb {
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.20);
    background: #fff;
    box-sizing: border-box;
}
.at-quickview-nav-thumb[hidden] { display: none !important; }
.at-quickview-nav-thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
@media screen and (max-width: 600px) {
    .at-quickview-nav-thumb { flex-basis: 30px; width: 30px; height: 30px; }
}


/* =========================================================
   ART & TRADITION — REV25 SAVED-LIST ROW FIX
   The legacy saved-list columns are floated. Contain those floats
   inside each item so subsequent saved products cannot overlap.
   ========================================================= */
.saved-item {
    display: flow-root;
    clear: both;
    width: 100%;
    box-sizing: border-box;
}
@media screen and (min-width: 920px) {
    .saved-item { min-height: 286px; }
    .saved-item::after { content: ''; display: table; clear: both; }
}

/* =========================================================
   ART & TRADITION — REV26 SAVED-LIST CONTENT INSET
   Keep the legacy My Saved List empty-state copy aligned with
   the site's 28px editorial content grid instead of the shell edge.
   ========================================================= */
body.at-page-saved-list .content > h1,
body.at-page-saved-list .content > h2,
body.at-page-saved-list .content > p {
    margin-left: 28px;
    margin-right: 28px;
}
@media screen and (max-width: 600px) {
    body.at-page-saved-list .content > h1,
    body.at-page-saved-list .content > h2,
    body.at-page-saved-list .content > p {
        margin-left: 18px;
        margin-right: 18px;
    }
}


/* =========================================================
   ART & TRADITION — REV27 SAVED-LIST COUNT ALIGNMENT
   Keep the legacy item count on the same editorial inset as
   MY SAVED LIST and the empty-state message.
   ========================================================= */
body.at-page-saved-list .at-saved-list-count {
    margin-left: 28px !important;
    margin-right: 28px !important;
}
@media screen and (max-width: 600px) {
    body.at-page-saved-list .at-saved-list-count {
        margin-left: 18px !important;
        margin-right: 18px !important;
    }
}

/* =========================================================
   ART & TRADITION — REV28 MY SAVED LIST REFINEMENT
   Compact editorial layout, consistent side insets, no phantom
   trailing divider, and no legacy floated-column spacing.
   ========================================================= */
body.at-page-saved-list .saved-list-modern-page {
    width: calc(100% - 56px);
    max-width: 864px;
    margin: 0 auto 64px;
    padding-top: 42px;
    box-sizing: border-box;
}
body.at-page-saved-list .saved-list-modern-heading {
    margin: 0 0 18px;
    padding: 0;
}
body.at-page-saved-list .saved-list-modern-heading h1 {
    margin: 0 0 12px;
    color: #222;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 24px;
    font-weight: 400;
    letter-spacing: 1.5px;
    line-height: 1.2;
    text-transform: uppercase;
}
body.at-page-saved-list .saved-list-modern-heading .at-saved-list-count {
    margin: 0 0 8px !important;
    color: #777;
    font-size: 11px;
    line-height: 1.4;
}
body.at-page-saved-list .saved-list-back {
    display: inline-block;
    margin: 0;
    color: #706d68 !important;
    font-size: 11px;
    line-height: 1.4;
}
body.at-page-saved-list .saved-list-back:hover { color: var(--at-bronze) !important; }
body.at-page-saved-list .saved-list-empty {
    margin: 0;
    padding: 0;
    border-top: 1px solid #e5e2dd;
}
body.at-page-saved-list .saved-list-empty p {
    margin: 18px 0 0;
    color: #777;
    font-size: 12px;
    line-height: 1.6;
}
body.at-page-saved-list .saved-list-modern-items {
    width: 100%;
    margin: 0;
    padding: 0;
    border-top: 1px solid #dedbd6;
}
body.at-page-saved-list .saved-item.saved-list-modern-item {
    display: grid !important;
    grid-template-columns: 180px minmax(0, 1fr) 188px;
    gap: 24px;
    align-items: center;
    clear: both;
    width: 100% !important;
    min-height: 0 !important;
    margin: 0;
    padding: 20px 0;
    border: 0;
    border-bottom: 1px solid #dedbd6;
    box-sizing: border-box;
    text-align: left;
}
body.at-page-saved-list .saved-item.saved-list-modern-item:last-child {
    border-bottom: 0;
}
body.at-page-saved-list .saved-item.saved-list-modern-item::after { display: none !important; }
body.at-page-saved-list .saved-list-modern-image,
body.at-page-saved-list .blocSaved-listImage.saved-list-modern-image {
    float: none !important;
    display: flex;
    width: 180px !important;
    height: 180px !important;
    margin: 0;
    padding: 0;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: #fff;
    cursor: pointer;
}
body.at-page-saved-list .saved-list-modern-image img,
body.at-page-saved-list .blocSaved-listImage.saved-list-modern-image img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-width: 100%;
    object-fit: contain;
    border: 0;
}
body.at-page-saved-list .saved-list_info.saved-list-modern-info {
    float: none !important;
    width: auto !important;
    height: auto !important;
    min-height: 0;
    margin: 0;
    padding: 0 !important;
    border: 0 !important;
    text-align: left;
}
body.at-page-saved-list .saved-list-details {
    margin: 0;
    padding: 0;
}
body.at-page-saved-list .saved-list-details > div {
    margin: 0 0 13px;
}
body.at-page-saved-list .saved-list-details > div:last-child { margin-bottom: 0; }
body.at-page-saved-list .saved-list-details dt {
    margin: 0 0 4px;
    color: #777;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 9px;
    font-weight: 600;
    letter-spacing: .8px;
    line-height: 1.35;
    text-transform: uppercase;
}
body.at-page-saved-list .saved-list-details dd {
    margin: 0;
    color: #4f4c48;
    font-size: 11px;
    line-height: 1.55;
}
body.at-page-saved-list .saved-list_buttons.saved-list-modern-actions {
    float: none !important;
    display: flex;
    width: auto !important;
    margin: 0;
    padding: 0;
    flex-direction: column;
    gap: 9px;
    align-items: stretch;
}
body.at-page-saved-list .saved-list-action {
    display: block;
    width: 100%;
    padding: 9px 10px;
    border: 1px solid #aaa7a1;
    box-sizing: border-box;
    background: #fff;
    color: #5b5853 !important;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 9px;
    font-weight: 500;
    letter-spacing: .35px;
    line-height: 1.25;
    text-align: center;
    text-transform: uppercase;
}
body.at-page-saved-list .saved-list-action:hover {
    border-color: var(--at-charcoal);
    background: var(--at-charcoal);
    color: #fff !important;
}
body.at-page-saved-list .saved-list-remove:hover {
    border-color: var(--at-bronze);
    background: var(--at-bronze);
}

@media screen and (max-width: 800px) {
    body.at-page-saved-list .saved-list-modern-page {
        width: calc(100% - 36px);
        padding-top: 26px;
    }
    body.at-page-saved-list .saved-item.saved-list-modern-item {
        grid-template-columns: 150px minmax(0, 1fr);
        gap: 18px;
        padding: 18px 0;
    }
    body.at-page-saved-list .saved-list-modern-image,
    body.at-page-saved-list .blocSaved-listImage.saved-list-modern-image {
        width: 150px !important;
        height: 150px !important;
    }
    body.at-page-saved-list .saved-list_buttons.saved-list-modern-actions {
        grid-column: 1 / -1;
        flex-direction: row;
    }
    body.at-page-saved-list .saved-list-action { flex: 1 1 0; }
}

@media screen and (max-width: 520px) {
    body.at-page-saved-list .saved-list-modern-page { width: calc(100% - 36px); }
    body.at-page-saved-list .saved-list-modern-heading h1 { font-size: 21px; }
    body.at-page-saved-list .saved-item.saved-list-modern-item {
        grid-template-columns: 1fr;
        gap: 14px;
    }
    body.at-page-saved-list .saved-list-modern-image,
    body.at-page-saved-list .blocSaved-listImage.saved-list-modern-image {
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 1 / 1;
    }
    body.at-page-saved-list .saved-list_buttons.saved-list-modern-actions {
        grid-column: auto;
        flex-direction: column;
    }
}

/* =========================================================
   ART & TRADITION — REV29 SAVED-LIST HEADER + READABILITY
   Keep the compact REV28 layout, but clear the fixed desktop header
   and give saved-product information proper contrast and type size.
   ========================================================= */
@media screen and (min-width: 920px) {
    body.at-page-saved-list .saved-list-modern-page {
        position: relative;
        clear: both;
        padding-top: 118px;
    }
}

body.at-page-saved-list .saved-list-modern-heading h1 {
    color: #242321;
}

body.at-page-saved-list .saved-list-modern-heading .at-saved-list-count,
body.at-page-saved-list .saved-list-back,
body.at-page-saved-list .saved-list-empty p {
    color: #55524e !important;
    font-family: Arial, Helvetica, sans-serif;
    font-weight: 400;
}

body.at-page-saved-list .saved-list-modern-heading .at-saved-list-count,
body.at-page-saved-list .saved-list-back {
    font-size: 12px;
}

body.at-page-saved-list .saved-list-empty p {
    font-size: 13px;
}

body.at-page-saved-list .saved-list_info.saved-list-modern-info,
body.at-page-saved-list .saved-list-details {
    font-family: Arial, Helvetica, sans-serif;
}

body.at-page-saved-list .saved-list-details dt {
    margin-bottom: 5px;
    color: #4e4b47;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .75px;
    line-height: 1.35;
}

body.at-page-saved-list .saved-list-details dd {
    color: #343230;
    font-size: 12.5px;
    font-weight: 400;
    line-height: 1.5;
}

body.at-page-saved-list .saved-list-action {
    border-color: #92908b;
    color: #3f3d39 !important;
    font-size: 9.5px;
    font-weight: 600;
}

@media screen and (max-width: 919px) {
    body.at-page-saved-list .saved-list-modern-page {
        padding-top: 26px;
    }
}

/* =========================================================
   ART & TRADITION — REV30 SAVED-LIST HEADER + TYPOGRAPHY
   Robustly clear the fixed desktop header and simplify the
   information hierarchy for easier scanning.
   ========================================================= */
@media screen and (min-width: 920px) {
    body.at-page-saved-list .content {
        padding-top: 84px !important;
    }
    body.at-page-saved-list .saved-list-modern-page {
        padding-top: 34px !important;
    }
}

body.at-page-saved-list .saved-list-modern-heading {
    display: block !important;
    float: none !important;
    clear: both !important;
    width: 100%;
    margin: 0 0 22px !important;
}
body.at-page-saved-list .saved-list-modern-heading h1,
body.at-page-saved-list .saved-list-modern-heading .at-saved-list-count,
body.at-page-saved-list .saved-list-back {
    float: none !important;
    clear: both !important;
}
body.at-page-saved-list .saved-list-modern-heading h1 {
    display: block !important;
    margin: 0 0 10px !important;
}
body.at-page-saved-list .saved-list-modern-heading .at-saved-list-count {
    display: block !important;
    margin: 0 0 6px !important;
    color: #595652 !important;
    font-size: 12px !important;
}
body.at-page-saved-list .saved-list-back {
    display: inline-block !important;
    margin: 0 !important;
    color: #595652 !important;
    font-size: 12px !important;
}

body.at-page-saved-list .saved-list-details > div {
    margin-bottom: 14px !important;
}
body.at-page-saved-list .saved-list-details dt {
    margin-bottom: 4px !important;
    color: #696661 !important;
    font-size: 9.5px !important;
    font-weight: 600 !important;
    letter-spacing: .55px !important;
    line-height: 1.3 !important;
}
body.at-page-saved-list .saved-list-details dd {
    color: #262523 !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 13.5px !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    line-height: 1.48 !important;
}
body.at-page-saved-list .saved-list-modern-info {
    align-self: center;
}
body.at-page-saved-list .saved-list-action {
    color: #34322f !important;
}

@media screen and (max-width: 919px) {
    body.at-page-saved-list .content {
        padding-top: 0 !important;
    }
}


/* =========================================================
   ART & TRADITION — REV31 SAVED-LIST HEADER + HIERARCHY
   Keep the fixed site header completely separate from page content,
   and create a clearer distinction between labels and product values.
   ========================================================= */
@media screen and (min-width: 920px) {
    body.at-page-saved-list {
        padding-top: 84px !important;
    }
    body.at-page-saved-list .content {
        padding-top: 0 !important;
    }
    body.at-page-saved-list .saved-list-modern-page {
        padding-top: 36px !important;
    }
}

body.at-page-saved-list .saved-list-modern-heading {
    position: relative !important;
    z-index: 1 !important;
}

body.at-page-saved-list .saved-list-details dt {
    margin: 0 0 5px !important;
    color: #887765 !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 9px !important;
    font-weight: 600 !important;
    letter-spacing: 1.05px !important;
    line-height: 1.25 !important;
    text-transform: uppercase !important;
}
body.at-page-saved-list .saved-list-details dd {
    color: #242321 !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.45 !important;
}
body.at-page-saved-list .saved-list-details > div {
    margin-bottom: 16px !important;
}
body.at-page-saved-list .saved-list-details > div:last-child {
    margin-bottom: 0 !important;
}


/* =========================================================
   ART & TRADITION — REV32 SAVED-LIST FINAL HEADER/HOVER FIX
   The page heading is no longer a semantic <header>, so it cannot
   inherit the site's fixed desktop header rule. Keep all Saved List
   action hovers on the same bronze/taupe accent for consistency.
   ========================================================= */
body.at-page-saved-list .saved-list-action:hover,
body.at-page-saved-list .saved-list-remove:hover {
    border-color: var(--at-bronze) !important;
    background: var(--at-bronze) !important;
    color: #fff !important;
}

/* =========================================================
   ART & TRADITION — REV33 DROPDOWN HOVER ACCENT
   Keep dropdown panels charcoal; use the site's bronze/taupe
   accent for hovered and selected submenu items.
   ========================================================= */
.sub_menu li a:hover,
.sub_menu #linkSubNav_selected {
    background: var(--at-bronze) !important;
    color: #fff !important;
}


/* ======================================================================
   REV34 — Homepage image-only Glimpse + resilient category imagery
   ====================================================================== */

/* The Glimpse is deliberately image-only: no reference, name or legend.
   The photograph is the invitation to click and discover the piece. */
.home-glimpse-product {
    display: block;
    position: relative;
    overflow: hidden;
    background: #fff;
    text-decoration: none !important;
}
.home-glimpse-image {
    display: flex;
    width: 100%;
    aspect-ratio: 1 / 1;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: #fff;
}
.home-glimpse-image img {
    display: block;
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    transition: transform .28s ease, opacity .28s ease;
}
.home-glimpse-product:hover .home-glimpse-image img,
.home-glimpse-product:focus .home-glimpse-image img {
    transform: scale(1.035);
    opacity: .93;
}
.home-glimpse-ref {
    display: none !important;
}

/* Keep the collection-category photographs quiet and photographic; labels
   remain beneath them because they are navigation, not product captions. */
.home-category-image img {
    display: block;
}

/* ======================================================================
   REV38 — Glimpse: uniform tile/image height
   ====================================================================== */
.home-glimpse-image {
    aspect-ratio: 1 / 1;
    height: auto;
    background: #f1efec;
}
.home-glimpse-image img {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: contain;
    object-position: center center;
    background: #f1efec;
}

/* ======================================================================
   REV39 — Glimpse: equal visual height without visible image frames
   ====================================================================== */
.home-glimpse-product,
.home-glimpse-image {
    background: transparent !important;
}
.home-glimpse-image img {
    background: transparent !important;
    object-fit: contain;
}

/* ======================================================================
   REV40 — Homepage hero uses the full uploaded pool.
   - Server-side random selection: exactly 2 lighting + 1 furniture.
   - Final order shuffles on each load/reload.
   - Navigation dashes sit beneath the hero, centered, with softer taupe
     inactive state and deeper taupe active state.
   ====================================================================== */
.home-hero {
    width: min(864px, calc(100% - 56px)) !important;
    max-width: 864px !important;
    margin: 104px auto 0 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    background: transparent !important;
}
.home-hero-slides {
    position: relative !important;
    inset: auto !important;
    width: 100%;
    height: 460px;
    overflow: hidden;
    background: #ddd5cb;
}
.home-hero-image {
    object-fit: contain !important;
    object-position: center center !important;
    padding: 30px 34px;
    box-sizing: border-box;
    background: transparent !important;
}
.home-hero-nav {
    position: static !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    margin: 14px auto 0 !important;
    gap: 10px;
}
.home-hero-dot {
    width: 30px;
    height: 12px;
    padding: 4px 0;
}
.home-hero-dot:before {
    width: 30px;
    height: 3px;
    border-radius: 3px;
    background: rgba(159, 141, 128, .38) !important;
}
.home-hero-dot:hover:before,
.home-hero-dot.is-active:before {
    background: rgba(86, 71, 63, .92) !important;
}

@media screen and (max-width: 919px) {
    .home-hero {
        width: calc(100% - 36px) !important;
    }
    .home-hero-slides {
        height: clamp(280px, 54vw, 420px);
    }
    .home-hero-image {
        padding: 22px;
    }
}

/* ======================================================================
   REV41 — Hero image fills the available hero area without the artificial
   inner matte/frame introduced in REV40. Keep contain to protect product
   edges, but remove padding and use a very light neutral blend behind it.
   ====================================================================== */
.home-hero-slides {
    background: #f3f1ee !important;
}
.home-hero-image {
    padding: 0 !important;
    object-fit: contain !important;
    background: transparent !important;
}

/* ======================================================================
   REV42 — Hero side gutters blend into the white homepage.
   Portrait hero images remain uncropped via contain, but any unused
   horizontal space is now white/transparent rather than a grey matte.
   ====================================================================== */
.home-hero,
.home-hero-slides {
    background: #fff !important;
}
.home-hero-image {
    background: transparent !important;
}

/* ======================================================================
   REV43 — Final approved hero assets
   All hero files are already 1672 × 941 wide compositions, so display
   them edge-to-edge without contain bars, artificial padding or frames.
   ====================================================================== */
.home-hero-slides {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1672 / 941 !important;
    overflow: hidden !important;
    background: transparent !important;
}
.home-hero-image {
    width: 100% !important;
    height: 100% !important;
    padding: 0 !important;
    object-fit: cover !important;
    object-position: center center !important;
    background: transparent !important;
}


/* ======================================================================
   REV45 — Homepage category images: show complete artwork without cropping
   ====================================================================== */
.home-category-image {
    aspect-ratio: 4 / 3 !important;
    background: transparent !important;
}
.home-category-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
    background: transparent !important;
}

/* ======================================================================
   REV46 — Expanded five-slide hero rotation
   All new hero assets are prepared to 16:9; the four previously approved
   hero assets are already effectively the same ratio. Keep the carousel
   edge-to-edge with no artificial matte or frame.
   ====================================================================== */
.home-hero-slides {
    aspect-ratio: 16 / 9 !important;
}

/* ======================================================================
   REV50 — Homepage Custom Projects workshop gallery
   Four workshop photographs are selected on each page load. The gallery
   keeps each supplied image at its natural proportions: no forced crop,
   no frame and no artificial matte. Two columns create an editorial,
   workshop-documentary feel while accommodating both landscape and portrait
   photographs cleanly.
   ====================================================================== */
.home-custom-teaser.home-custom-story {
    display: block;
    margin: 0 24px;
    padding: 54px 0 58px;
    border-bottom: 1px solid #e1ded9;
}
.home-custom-story-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 40px;
    margin-bottom: 28px;
}
.home-custom-story-heading > div {
    max-width: 585px;
}
.home-custom-story-heading p:not(.home-kicker) {
    margin: 0;
    color: #66625e;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 13px;
    line-height: 1.7;
}
.home-workshop-gallery {
    column-count: 2;
    column-gap: 14px;
}
.home-workshop-photo {
    display: inline-block;
    width: 100%;
    margin: 0 0 14px;
    break-inside: avoid;
    -webkit-column-break-inside: avoid;
    page-break-inside: avoid;
    overflow: hidden;
    vertical-align: top;
}
.home-workshop-photo img {
    display: block;
    width: 100%;
    height: auto;
    border: 0;
    box-shadow: none;
    transition: transform .35s ease;
}
.home-workshop-photo:hover img {
    transform: scale(1.01);
}

@media screen and (max-width: 919px) {
    .home-custom-teaser.home-custom-story {
        margin-left: 18px;
        margin-right: 18px;
    }
    .home-custom-story-heading {
        display: block;
    }
    .home-custom-story-heading .home-text-link {
        display: inline-block;
        margin-top: 20px;
    }
}

@media screen and (max-width: 560px) {
    .home-workshop-gallery {
        column-count: 1;
    }
}


/* ======================================================================
   REV51 — Custom Projects teaser: centered heading + dependable 2 x 2 grid
   Keeps the four randomly selected workshop images visible as four distinct
   photographs on desktop, without cropping, frames, captions, or mattes.
   ====================================================================== */
.home-custom-story-heading {
    display: block !important;
    margin-bottom: 30px !important;
    text-align: center !important;
}
.home-custom-story-heading > div {
    max-width: 650px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
}
.home-custom-story-heading p:not(.home-kicker) {
    text-align: center !important;
}
.home-custom-story-heading .home-text-link {
    display: inline-block !important;
    margin-top: 16px !important;
}
.home-workshop-gallery {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 20px !important;
    row-gap: 18px !important;
    column-count: initial !important;
    column-gap: initial !important;
    align-items: start !important;
}
.home-workshop-photo {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    break-inside: auto !important;
    overflow: hidden !important;
}
.home-workshop-photo img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    border: 0 !important;
    box-shadow: none !important;
}
@media screen and (max-width: 560px) {
    .home-workshop-gallery {
        grid-template-columns: 1fr !important;
    }
}


/* ======================================================================
   REV52 — Custom Projects workshop gallery: one-line desktop presentation
   Matches the homepage's horizontal visual language: four workshop images
   in one clean row. Each tile uses the same 4:3 window so the row aligns
   perfectly; object-fit keeps the emphasis on the custom piece while the
   workshop context remains visible. No captions, borders, or artificial matte.
   ====================================================================== */
@media screen and (min-width: 920px) {
    .home-workshop-gallery {
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 14px !important;
        width: 100% !important;
        margin: 0 auto !important;
        align-items: stretch !important;
    }
    .home-workshop-photo {
        display: block !important;
        width: 100% !important;
        aspect-ratio: 4 / 3 !important;
        margin: 0 !important;
        overflow: hidden !important;
    }
    .home-workshop-photo img {
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        object-position: center center !important;
        border: 0 !important;
        box-shadow: none !important;
    }
}

@media screen and (min-width: 561px) and (max-width: 919px) {
    .home-workshop-gallery {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
    .home-workshop-photo {
        aspect-ratio: 4 / 3 !important;
    }
    .home-workshop-photo img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        object-position: center center !important;
    }
}

/* ======================================================================
   REV53 — Custom Projects teaser: full-width centered four-image row
   REV52 was still inheriting the older .home-custom-teaser > div
   max-width:560px rule. That capped both the heading wrapper and the gallery,
   making the four workshop images too small and the composition appear left
   weighted. Remove that inherited cap for this section only.
   ====================================================================== */
.home-custom-teaser.home-custom-story > .home-custom-story-heading {
    width: 100% !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
}
.home-custom-teaser.home-custom-story > .home-workshop-gallery {
    width: 100% !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

@media screen and (min-width: 920px) {
    .home-custom-teaser.home-custom-story > .home-workshop-gallery {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 12px !important;
    }
}

/* ======================================================================
   REV54 — Workshop row: show every custom piece in full
   Keep the approved four-column tile size from REV53, but stop cropping
   the photographs. The previous object-fit:cover filled every 4:3 tile by
   trimming the source image whenever its proportions differed. contain
   preserves the complete photograph inside the same tile footprint.
   No border, padding, shadow or artificial matte is added.
   ====================================================================== */
@media screen and (min-width: 561px) {
    .home-custom-teaser.home-custom-story .home-workshop-photo {
        background: transparent !important;
    }
    .home-custom-teaser.home-custom-story .home-workshop-photo img {
        width: 100% !important;
        height: 100% !important;
        object-fit: contain !important;
        object-position: center center !important;
        border: 0 !important;
        padding: 0 !important;
        box-shadow: none !important;
    }
    .home-custom-teaser.home-custom-story .home-workshop-photo:hover img {
        transform: none !important;
    }
}


/* ======================================================================
   REV55 — Workshop row: equal-width rhythm + protected custom crops
   Restore the approved four equal 4:3 windows from REV53. All landscape
   workshop sources are already 4:3, so they display without trimming.
   The two portrait workshop photographs use hand-tuned focal positions so
   the custom piece remains fully legible while preserving the strong,
   consistent one-line presentation. No border, matte, padding or shadow.
   ====================================================================== */
@media screen and (min-width: 561px) {
    .home-custom-teaser.home-custom-story .home-workshop-photo {
        width: 100% !important;
        aspect-ratio: 4 / 3 !important;
        overflow: hidden !important;
        background: transparent !important;
    }
    .home-custom-teaser.home-custom-story .home-workshop-photo img {
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        object-position: 50% 50% !important;
        border: 0 !important;
        padding: 0 !important;
        box-shadow: none !important;
        transform: none !important;
    }

    /* Portrait workshop views: protect the fixture rather than centering
       the source mechanically. */
    .home-custom-teaser.home-custom-story .home-workshop-photo[data-family="opal-pendant"] img {
        object-position: 50% 58% !important;
    }
    .home-custom-teaser.home-custom-story .home-workshop-photo[data-family="pink-glass-chandelier"] img {
        object-position: 50% 45% !important;
    }
}

/* ======================================================================
   REV58 — Custom Projects portfolio
   Keep the existing four-step chronology and follow it with a clean,
   consistent gallery of selected custom work.
   ====================================================================== */
.custom-projects-portfolio {
    margin: 72px 0 0;
    padding: 0;
}
.custom-projects-portfolio-heading {
    max-width: 650px;
    margin: 0 auto 30px;
    text-align: center;
}
.custom-projects-portfolio-heading h2 {
    margin: 0;
    color: #202020;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 22px;
    font-weight: 500;
    letter-spacing: 1.2px;
    text-transform: uppercase;
}
.custom-projects-portfolio-heading > p:not(.custom-projects-kicker) {
    margin: 13px auto 0;
    color: #66625e;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    line-height: 1.7;
}
.custom-projects-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    width: 100%;
}
.custom-projects-grid figure {
    margin: 0;
    width: 100%;
    overflow: hidden;
    background: #f3f1ee;
}
.custom-projects-grid img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border: 0;
    box-shadow: none;
}
.custom-projects-page .custom-projects-contact {
    margin-top: 58px;
    padding-top: 28px;
    border-top: 1px solid var(--at-soft-gray);
}

@media screen and (max-width: 700px) {
    .custom-projects-portfolio { margin-top: 54px; }
    .custom-projects-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
}

@media screen and (max-width: 470px) {
    .custom-projects-grid { grid-template-columns: 1fr; }
}

/* REV60 — Custom Projects portfolio image zoom */
.custom-projects-grid .custom-project-zoom-image {
    cursor: zoom-in;
}

/* ======================================================================
   REV65 — About Us: Press & Publications mini-section
   A restrained cover-only press archive. Covers are deliberately not linked
   to interior/article pages, protecting client privacy while showing the
   breadth and longevity of Art & Tradition's editorial presence.
   ====================================================================== */
.about-press-section {
    padding: 6px 0 12px;
    margin-top: 2px;
    text-align: center;
}
.about-press-heading {
    max-width: 650px;
    margin: 0 auto 34px;
    padding: 0 18px;
}
.about-press-heading h2 {
    margin: 0 0 12px;
    color: #252523;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 19px;
    font-weight: 500;
    letter-spacing: .75px;
    text-transform: uppercase;
}
.about-press-heading > p:not(.about-kicker) {
    margin: 0;
    color: #68645f;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 13px;
    line-height: 1.7;
}
.about-press-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    column-gap: 24px;
    row-gap: 34px;
    align-items: start;
}
.about-press-item {
    margin: 0;
    min-width: 0;
    text-align: center;
}
.about-press-cover {
    height: 232px;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    margin-bottom: 13px;
}
.about-press-cover img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 232px;
    border: 0;
    box-shadow: 0 5px 16px rgba(20, 18, 15, .12);
}
.about-press-item figcaption {
    min-height: 42px;
    font-family: Arial, Helvetica, sans-serif;
    line-height: 1.35;
}
.about-press-item figcaption span {
    display: block;
    color: #34312e;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: .25px;
}
.about-press-item figcaption small {
    display: block;
    margin-top: 4px;
    color: #8b8279;
    font-size: 10px;
    font-weight: 400;
    letter-spacing: .2px;
}

@media screen and (max-width: 919px) {
    .about-press-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        column-gap: 22px;
        row-gap: 32px;
    }
    .about-press-cover {
        height: 250px;
    }
    .about-press-cover img {
        max-height: 250px;
    }
}

@media screen and (max-width: 620px) {
    .about-press-heading {
        margin-bottom: 28px;
        padding: 0 8px;
    }
    .about-press-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 16px;
        row-gap: 28px;
    }
    .about-press-cover {
        height: 210px;
    }
    .about-press-cover img {
        max-height: 210px;
    }
}


/* ======================================================================
   REV66 — Press & Publications expanded cover library
   13 covers: center the final incomplete row on desktop and keep the
   responsive rhythm balanced on tablet/mobile.
   ====================================================================== */
@media screen and (min-width: 920px) {
    .about-press-grid .about-press-item:nth-child(11) {
        grid-column: 2;
    }
}

@media screen and (min-width: 621px) and (max-width: 919px) {
    .about-press-grid .about-press-item:nth-child(11) {
        grid-column: auto;
    }
    .about-press-grid .about-press-item:nth-child(13) {
        grid-column: 2;
    }
}

@media screen and (max-width: 620px) {
    .about-press-grid .about-press-item:nth-child(11) {
        grid-column: auto;
    }
    .about-press-grid .about-press-item:last-child {
        grid-column: 1 / -1;
        width: calc(50% - 8px);
        justify-self: center;
    }
}

/* ======================================================================
   REV68 — Press & Publications: uniform visual tiles
   Match the clean, disciplined homepage grid language: every cover occupies
   the exact same 4:5 visual rectangle. Source artwork keeps its proportions
   and is center-cropped only as needed to fill the shared frame.
   ====================================================================== */
.about-press-cover {
    width: 100%;
    height: auto !important;
    aspect-ratio: 4 / 5;
    display: block;
    overflow: hidden;
    margin-bottom: 13px;
    background: #fff;
    box-shadow: 0 5px 16px rgba(20, 18, 15, .12);
}
.about-press-cover img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: cover;
    object-position: center center;
    border: 0;
    box-shadow: none;
}

/* ======================================================================
   REV70 — Press & Publications: identical outer tiles with full-cover fit
   Keep the neat, uniform 4:5 tile footprint, but do not crop publication
   mastheads or cover edges. Each cover is fully visible inside the shared
   frame, centered on a white background.
   ====================================================================== */
.about-press-cover {
    width: 100%;
    height: auto !important;
    aspect-ratio: 4 / 5;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    margin-bottom: 13px;
    background: #fff;
    box-shadow: 0 5px 16px rgba(20, 18, 15, .12);
}
.about-press-cover img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: contain;
    object-position: center center;
    border: 0;
    box-shadow: none;
    background: #fff;
}

/* ======================================================================
   REV71 — Press & Publications: caption punctuation + targeted cover tuning
   - Replace em-dash feeling in visible titles with normal hyphens in markup.
   - Give the three book covers a slight visual lift so they do not read
     smaller than the magazines inside the same uniform tile system.
   - Pull the January 2016 AD cover back a touch so the masthead breathes.
   ====================================================================== */
.about-press-grid .about-press-item:nth-child(4) .about-press-cover img {
    transform: scale(1.08);
    transform-origin: center center;
}
.about-press-grid .about-press-item:nth-child(6) .about-press-cover img {
    transform: scale(1.06);
    transform-origin: center center;
}
.about-press-grid .about-press-item:nth-child(10) .about-press-cover img {
    transform: scale(1.06);
    transform-origin: center center;
}
.about-press-grid .about-press-item:nth-child(9) .about-press-cover img {
    width: 96% !important;
    height: 96% !important;
}

/* ======================================================================
   REV72 — Main navigation hover/active treatment
   Match the refined bronze highlight already used by dropdown items.
   Desktop only: category hover and current section use the same bronze
   block with white type; remove the older dark hover + bottom rule.
   ====================================================================== */
@media screen and (min-width: 920px) {
    header nav#main-nav > ul > li.nav_category:hover,
    header nav#main-nav > ul > li.nav_category#linkNav_selected,
    header nav#main-nav > ul > li.nav_category > a#linkNav_selected {
        background: var(--at-bronze) !important;
        box-shadow: none !important;
    }

    header nav#main-nav > ul > li.nav_category:hover > a,
    header nav#main-nav > ul > li.nav_category#linkNav_selected > a,
    header nav#main-nav > ul > li.nav_category > a#linkNav_selected {
        color: #fff !important;
    }
}

/* ======================================================================
   REV73 — Main navigation: direct link-level bronze hover / active state
   Apply the dropdown's classy bronze treatment directly to the clickable
   top-level category link, so the change is unmistakable on desktop.
   ====================================================================== */
@media screen and (min-width: 920px) {
    header nav#main-nav > ul > li.nav_category {
        background: transparent !important;
        box-shadow: none !important;
    }

    header nav#main-nav > ul > li.nav_category > a {
        background: transparent !important;
        color: #fff !important;
        box-shadow: none !important;
        transition: background-color .18s ease, color .18s ease !important;
    }

    header nav#main-nav > ul > li.nav_category:hover > a,
    header nav#main-nav > ul > li.nav_category > a:hover,
    header nav#main-nav > ul > li.nav_category#linkNav_selected > a,
    header nav#main-nav > ul > li.nav_category > a#linkNav_selected,
    header nav#main-nav > ul > li#linkNav_selected > a {
        background: var(--at-bronze) !important;
        color: #fff !important;
        box-shadow: none !important;
    }

    /* Ensure the legacy selected-state underline/block cannot show through. */
    header nav#main-nav > ul > #linkNav_selected,
    header nav#main-nav > ul > li.nav_category#linkNav_selected {
        background: transparent !important;
        box-shadow: none !important;
    }
}

/* ======================================================================
   REV74 — Final menu highlight + Saved List controls

   MAIN NAV
   Use the exact established REV33 dropdown accent language on the top-level
   links: same bronze/taupe background (#887765) and white type. Keep menu
   geometry, spacing, typography and dropdown positioning untouched.

   SAVED LIST
   Restore SEND THIS LIST as a clearly visible action and add CLEAR SAVED LIST
   beside it. Both use the same restrained button family already established
   for Saved List actions; hover uses the established bronze/taupe accent.
   ====================================================================== */

/* Exact dropdown-equivalent treatment for top-level navigation. */
@media screen and (min-width: 920px) {
    nav#main-nav > ul > li.nav_category,
    nav#main-nav > ul > li.nav_category#linkNav_selected {
        background: transparent !important;
        box-shadow: none !important;
    }

    nav#main-nav > ul > li.nav_category > a.white_link,
    nav#main-nav > ul > li.nav_category > a.grey_link {
        background-color: transparent !important;
        color: #fff !important;
        box-shadow: none !important;
        transition: none !important;
    }

    nav#main-nav > ul > li.nav_category:hover > a.white_link,
    nav#main-nav > ul > li.nav_category:hover > a.grey_link,
    nav#main-nav > ul > li.nav_category#linkNav_selected > a.white_link,
    nav#main-nav > ul > li.nav_category#linkNav_selected > a.grey_link {
        background-color: #887765 !important;
        color: #fff !important;
        box-shadow: none !important;
    }
}

/* Saved List share / clear controls. */
body.at-page-saved-list .saved-list-share-row {
    display: flex;
    width: 100%;
    justify-content: flex-end;
}

body.at-page-saved-list .saved-list-share-row-top {
    margin: 0 0 18px;
}

body.at-page-saved-list .saved-list-share-row-bottom {
    margin: 22px 0 0;
}

body.at-page-saved-list .saved-list-top-actions,
body.at-page-saved-list .saved-list-bottom-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
}

body.at-page-saved-list .saved-list-clear-form {
    display: inline-block;
    margin: 0;
    padding: 0;
}

body.at-page-saved-list .saved-list-send,
body.at-page-saved-list .saved-list-clear {
    display: inline-flex;
    min-height: 34px;
    padding: 9px 14px;
    align-items: center;
    justify-content: center;
    border: 1px solid #92908b !important;
    border-radius: 0 !important;
    box-sizing: border-box;
    background: #fff !important;
    color: #34322f !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 9.5px !important;
    font-weight: 600 !important;
    letter-spacing: .35px !important;
    line-height: 1.25 !important;
    text-align: center;
    text-transform: uppercase;
    text-decoration: none !important;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
}

body.at-page-saved-list .saved-list-send:hover,
body.at-page-saved-list .saved-list-send:focus,
body.at-page-saved-list .saved-list-clear:hover,
body.at-page-saved-list .saved-list-clear:focus {
    border-color: #887765 !important;
    background: #887765 !important;
    color: #fff !important;
    outline: none;
}

@media screen and (max-width: 520px) {
    body.at-page-saved-list .saved-list-top-actions,
    body.at-page-saved-list .saved-list-bottom-actions {
        width: 100%;
        flex-direction: column;
        align-items: stretch;
    }

    body.at-page-saved-list .saved-list-clear-form,
    body.at-page-saved-list .saved-list-send,
    body.at-page-saved-list .saved-list-clear {
        width: 100%;
    }
}

/* ======================================================================
   REV75 — Homepage cache refresh + workshop image lightbox

   MAIN NAV
   The current homepage was still requesting the REV55 stylesheet URL,
   which allowed browsers to keep showing the pre-hover CSS even after the
   stylesheet itself had been updated. index.php now requests REV75.
   Keep the top-level hover identical to the established REV33 dropdown:
   bronze/taupe background with white type, no geometry changes.

   HOME CUSTOM WORKSHOP
   Workshop thumbnails are clickable and use the site's existing
   product-image-zoom-overlay / close-button treatment — no new modal style.
   ====================================================================== */
@media screen and (min-width: 920px) {
    header nav#main-nav > ul > li.nav_category:hover,
    header nav#main-nav > ul > li.nav_category#linkNav_selected {
        background: var(--at-bronze) !important;
        box-shadow: none !important;
    }

    header nav#main-nav > ul > li.nav_category:hover > a.white_link,
    header nav#main-nav > ul > li.nav_category:hover > a.grey_link,
    header nav#main-nav > ul > li.nav_category#linkNav_selected > a.white_link,
    header nav#main-nav > ul > li.nav_category#linkNav_selected > a.grey_link {
        background: var(--at-bronze) !important;
        color: #fff !important;
        box-shadow: none !important;
    }
}

.home-workshop-photo.js-workshop-image-zoom {
    cursor: zoom-in;
}
.home-workshop-photo.js-workshop-image-zoom:focus {
    outline: 1px solid var(--at-bronze);
    outline-offset: 3px;
}

/* ======================================================================
   REV76 — Definitive main-nav hover + homepage workshop cursor

   MAIN NAV
   The dropdown itself proves that li.nav_category:hover is firing reliably.
   Instead of depending on the anchor's background paint, fill the 48px
   top-level category cell at the parent hover state. This uses the same
   bronze/taupe accent as REV33 dropdown hover and keeps the dropdown above it.

   HOME CUSTOM WORKSHOP
   Workshop photos behave like the other clickable homepage images: standard
   pointer cursor, while retaining the existing black image lightbox.
   ====================================================================== */
@media screen and (min-width: 920px) {
    #main-nav > ul > li.nav_category:hover,
    #main-nav > ul > li.nav_category#linkNav_selected {
        background-color: #887765 !important;
        box-shadow: inset 0 0 0 100px #887765 !important;
    }

    #main-nav > ul > li.nav_category:hover > a.white_link,
    #main-nav > ul > li.nav_category:hover > a.grey_link,
    #main-nav > ul > li.nav_category#linkNav_selected > a.white_link,
    #main-nav > ul > li.nav_category#linkNav_selected > a.grey_link {
        position: relative !important;
        z-index: 2 !important;
        background: transparent !important;
        color: #fff !important;
        box-shadow: none !important;
    }

    #main-nav > ul > li.nav_category > ul.sub_menu {
        z-index: 430 !important;
    }
}

.home-workshop-photo.js-workshop-image-zoom {
    cursor: pointer !important;
}

/* ======================================================================
   REV77 — Main navigation hover: guaranteed dropdown-equivalent overlay

   The dropdown hover is visually correct, but repeated background changes on
   the top-level <li>/<a> were not painting visibly in the live desktop nav.
   Use a dedicated, non-interactive overlay on the category cell itself.
   This is tied to the same li.nav_category:hover state that opens the submenu,
   so the hovered top-level category now receives the exact REV33 bronze/taupe
   accent (#887765) while the submenu remains above it.
   ====================================================================== */
@media screen and (min-width: 920px) {
    #main-nav > ul > li.nav_category {
        position: relative !important;
        isolation: isolate;
        background: transparent !important;
        box-shadow: none !important;
    }

    #main-nav > ul > li.nav_category::before {
        content: "";
        position: absolute;
        inset: 0;
        z-index: 0;
        background: transparent;
        pointer-events: none;
    }

    #main-nav > ul > li.nav_category:hover::before {
        background: #887765 !important;
    }

    #main-nav > ul > li.nav_category > a.white_link,
    #main-nav > ul > li.nav_category > a.grey_link {
        position: relative !important;
        z-index: 2 !important;
        background: transparent !important;
        color: #fff !important;
        box-shadow: none !important;
    }

    #main-nav > ul > li.nav_category > ul.sub_menu {
        z-index: 430 !important;
    }
}

/* ======================================================================
   REV78 — Main navigation hover: target the real menu classes directly

   Earlier REV72–77 experiments scoped the hover through nav#main-nav.
   The navigation generator itself guarantees the stable hooks we need:
   li.nav_category with a direct .white_link / .grey_link child. Target
   those classes directly so the effect cannot depend on the nav element ID.

   Match the established REV33 dropdown behavior exactly:
   hovered/selected item = bronze/taupe (#887765) + white type.
   No spacing, sizing, typography, or dropdown geometry is changed.
   ====================================================================== */
@media screen and (min-width: 920px) {
    header .nav_category:hover,
    header .nav_category#linkNav_selected {
        background: #887765 !important;
        box-shadow: none !important;
    }

    header .nav_category:hover > a.white_link,
    header .nav_category:hover > a.grey_link,
    header .nav_category#linkNav_selected > a.white_link,
    header .nav_category#linkNav_selected > a.grey_link {
        background: #887765 !important;
        color: #fff !important;
        box-shadow: none !important;
    }

    /* Neutralize the old overlay experiment so the direct background above
       is the single visual source of truth in REV78. */
    header .nav_category::before,
    header .nav_category:hover::before {
        background: transparent !important;
        box-shadow: none !important;
    }
}

/* ======================================================================
   REV79 — About Us navigation: direct Press & Publications access
   The ABOUT US dropdown is generated in fonctions.php using the existing
   .sub_menu system. This offset keeps #press comfortably below the fixed
   desktop header when arriving from the navigation.
   ====================================================================== */
#press {
    scroll-margin-top: 112px;
}

@media screen and (max-width: 919px) {
    #press {
        scroll-margin-top: 24px;
    }
}

/* ======================================================================
   REV91 — Canonical header row + collection filter recovery

   The database/category refactor must not change header geometry. The new
   .nav-main-row wrapper deliberately bypasses the older experimental
   direct-child rules (nav#main-nav > ul), then defines one stable desktop
   row: primary navigation followed immediately by Search / My Saved List.
   ====================================================================== */
@media screen and (min-width: 920px) {
    header nav#main-nav {
        position: relative !important;
        display: block !important;
        flex: 0 0 670px !important;
        width: 670px !important;
        min-width: 670px !important;
        max-width: 670px !important;
        height: 48px !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        background: var(--at-charcoal) !important;
    }

    header nav#main-nav .nav-main-row {
        display: flex !important;
        width: 100% !important;
        height: 48px !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
        align-items: stretch !important;
        justify-content: flex-start !important;
        white-space: nowrap !important;
    }

    header nav#main-nav .nav-primary {
        display: flex !important;
        flex: 0 0 auto !important;
        min-width: 0 !important;
        height: 48px !important;
        margin: 0 !important;
        padding: 0 !important;
        align-items: stretch !important;
        justify-content: flex-start !important;
        gap: 0 !important;
        white-space: nowrap !important;
    }

    header nav#main-nav .nav-primary > li.nav_category {
        float: none !important;
        display: flex !important;
        flex: 0 0 auto !important;
        width: auto !important;
        min-width: 0 !important;
        height: 48px !important;
        margin: 0 !important;
        padding: 0 !important;
        align-items: stretch !important;
        position: relative !important;
    }

    header nav#main-nav .nav-primary > li.nav_category > a {
        float: none !important;
        display: flex !important;
        width: auto !important;
        height: 48px !important;
        margin: 0 !important;
        padding: 16px 7px !important;
        box-sizing: border-box !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 10.5px !important;
        line-height: 16px !important;
        letter-spacing: .08px !important;
        white-space: nowrap !important;
    }

    header nav#main-nav .nav-primary > li.nav_category > ul.sub_menu {
        position: absolute !important;
        top: 48px !important;
        left: 0 !important;
        width: 205px !important;
        margin: 0 !important;
        padding: 0 !important;
        z-index: 430 !important;
    }

    header nav#main-nav .nav-utilities {
        position: static !important;
        flex: 0 0 auto !important;
        height: 48px !important;
        margin: 0 0 0 5px !important;
        padding: 0 0 0 7px !important;
        border-left: 1px solid rgba(255,255,255,.20) !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 6px !important;
        z-index: 500 !important;
        font-family: Arial, Helvetica, sans-serif !important;
        white-space: nowrap !important;
    }

    header nav#main-nav .nav-utility-link {
        display: inline-flex !important;
        align-items: center !important;
        height: 48px !important;
        padding: 0 !important;
        color: #f2eee9 !important;
        font-family: Arial, Helvetica, sans-serif !important;
        font-size: 9.6px !important;
        line-height: 48px !important;
        font-weight: 600 !important;
        letter-spacing: .30px !important;
        text-transform: uppercase !important;
        text-decoration: none !important;
        white-space: nowrap !important;
        cursor: pointer !important;
    }

    header nav#main-nav .nav-utility-link:hover,
    header nav#main-nav .nav-utility-link:focus {
        color: #fff !important;
    }

    header nav#main-nav .nav-utility-divider {
        color: rgba(255,255,255,.34) !important;
        font-family: Arial, Helvetica, sans-serif !important;
        font-size: 10px !important;
        line-height: 48px !important;
    }

    header nav#main-nav .nav-inline-search {
        top: 49px !important;
        right: auto !important;
    }
}

@media screen and (max-width: 919px) {
    #main-nav .nav-main-row {
        display: block !important;
        width: 100% !important;
    }
    #main-nav .nav-primary {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    #main-nav .nav-utilities {
        position: static !important;
        display: block !important;
        margin: 0 !important;
        padding: 6px 16px 12px !important;
        border: 0 !important;
        background: var(--at-charcoal) !important;
    }
}


/* ======================================================================
   REV92 — Header utility spacing + thumbnail save badge alignment

   HEADER
   Keep the REV91 architecture and functionality. Remove only the residual
   spacer between CONTACT and the SEARCH / MY SAVED LIST utility group.

   COLLECTION THUMBNAILS
   Return the save / saved badge to the exact lower-right corner of the
   thumbnail tile instead of leaving the 5px inset.
   ====================================================================== */
@media screen and (min-width: 920px) {
    header nav#main-nav .nav-utilities {
        margin-left: 0 !important;
        padding-left: 0 !important;
        border-left: 0 !important;
    }
}

.category_product .product_hover {
    right: 0 !important;
    bottom: 0 !important;
    margin: 0 !important;
}
.category_product .product_hover .add_product,
.category_product .product_hover #add_productSaved,
.category_product .product_hover .productSaved1 {
    margin: 0 !important;
}

/* ======================================================================
   REV94 — Header utility balance + material-led Surfaces

   HEADER
   Keep the utility area centered in the remaining right-hand zone, but make
   the divider part of the utility group itself. This gives CONTACT / divider /
   SEARCH balanced breathing room instead of pinning the line to CONTACT.

   PRODUCT QUICK VIEW
   The visual black-box treatment already lives above; the restored global
   product-quickview.js now uses it consistently across the site.
   ====================================================================== */
@media screen and (min-width: 920px) {
    header nav#main-nav .nav-utilities {
        flex: 1 1 auto !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        padding-left: 0 !important;
        border-left: 0 !important;
        justify-content: center !important;
        gap: 6px !important;
    }

    header nav#main-nav .nav-utilities::before {
        content: "" !important;
        display: block !important;
        flex: 0 0 1px !important;
        width: 1px !important;
        height: 20px !important;
        margin: 0 9px 0 0 !important;
        background: rgba(255,255,255,.24) !important;
    }
}

/* ======================================================================
   REV101 — Conditional search filters + long-page Back to Top support
   Search filters appear only when the unfiltered query returns 16+ products.
   They reuse the collection-page visual language without changing catalogue
   filtering, navigation, quick view, or Saved List behavior.
   ====================================================================== */
.search-results-summary {
    margin: 0 0 18px;
    color: #55524e;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    line-height: 1.5;
}
.search-filter-panel {
    margin: 0 0 26px;
    padding: 12px 0 11px;
    border-top: 1px solid #e3e0dc;
    border-bottom: 1px solid #e3e0dc;
}
.search-filter-row {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 5px 0;
    font-family: Arial, Helvetica, sans-serif;
}
.search-filter-heading {
    flex: 0 0 72px;
    padding-top: 5px;
    color: #77736e;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .8px;
    text-transform: uppercase;
    text-align: left;
}
.search-filter-options {
    flex: 1 1 auto;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}
.search-filter-option {
    display: inline-flex;
    align-items: center;
    padding: 4px 10px;
    border-right: 1px solid #d7d4d0;
    color: #45433f !important;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 11px;
    font-weight: 400;
    line-height: 17px;
    text-decoration: none !important;
}
.search-filter-option:last-child { border-right: 0; }
.search-filter-option:before {
    content: "";
    display: inline-block;
    width: 9px;
    height: 9px;
    margin-right: 6px;
    border: 1px solid #9a9690;
    box-sizing: border-box;
    background: #fff;
}
.search-filter-option.is-active:before {
    background: var(--at-bronze);
    box-shadow: inset 0 0 0 2px #fff;
}
.search-filter-option:hover,
.search-filter-option.is-active {
    color: var(--at-bronze) !important;
}
.search-results-grid {
    width: 100%;
    margin: 0;
    padding: 0;
    text-align: left;
    font-size: 0;
}
.search-results-grid .category_product {
    font-size: 13px;
}
.search-pagination {
    margin-top: 18px;
}

@media screen and (min-width: 920px) {
    .at-page-search .search-page {
        padding-top: 118px;
    }
}

@media screen and (max-width: 700px) {
    .search-filter-row {
        display: block;
        padding: 8px 0;
    }
    .search-filter-heading {
        display: block;
        padding: 0 8px 5px 0;
    }
    .search-filter-options {
        display: block;
    }
    .search-filter-option {
        border-right: 0;
        padding-left: 0;
    }
}

/* ======================================================================
   REV102 — Homepage hero white backdrop only
   Keep every original hero photograph untouched. The hero artwork remains
   at the approved 864px presentation width; the surrounding homepage canvas
   is white so the narrower hero blends cleanly into the 920px page band.
   ====================================================================== */
#bodyHome {
    background: #fff !important;
}

.home-hero,
.home-hero-slides {
    background: #fff !important;
}

@media screen and (min-width: 920px) {
    .home-hero {
        /* 920px site shell - 864px hero = 56px, i.e. 28px each side. */
        box-shadow: 0 0 0 28px #fff !important;
    }
}

/* ======================================================================
   REV111 — Consistency restoration only
   - Homepage final CTA heading matches the established section hierarchy.
   - Custom gallery uses the same black Previous / counter / Next bar as
     product quick view, without changing collection/product image behavior.
   ====================================================================== */
.home-contact-teaser h2 {
    margin: 0 0 12px;
    color: #252523;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 23px;
    font-weight: 500;
    letter-spacing: .9px;
    text-transform: uppercase;
}

.custom-gallery-overlay {
    align-items: center !important;
    justify-content: center !important;
}
.custom-gallery-dialog {
    position: relative;
    display: flex;
    width: min(920px, calc(100vw - 72px));
    max-height: calc(100vh - 72px);
    flex-direction: column;
    align-items: stretch;
    justify-content: center;
}
.product-image-zoom-overlay .custom-gallery-dialog .custom-gallery-main-image {
    display: block;
    max-width: 100% !important;
    max-height: calc(100vh - 136px) !important;
    width: auto !important;
    height: auto !important;
    margin: 0 auto;
    object-fit: contain;
    box-shadow: 0 10px 38px rgba(0,0,0,.32);
}
.custom-gallery-dialog .at-quickview-nav {
    position: static !important;
    flex: 0 0 auto;
    width: 100%;
    margin-top: 12px;
}
.custom-projects-grid .custom-project-zoom-image,
.home-workshop-photo.js-workshop-image-zoom {
    cursor: zoom-in;
}

@media screen and (max-width: 700px) {
    .custom-gallery-dialog {
        width: calc(100vw - 36px);
        max-height: calc(100vh - 36px);
    }
    .product-image-zoom-overlay .custom-gallery-dialog .custom-gallery-main-image {
        max-height: calc(100vh - 106px) !important;
    }
}

/* ======================================================================
   REV111B — Custom Projects closing CTA + interaction consistency
   Give the closing project invitation proper visual presence and use the
   standard hand/pointer cursor on clickable gallery images.
   ====================================================================== */
.custom-projects-page .custom-projects-contact p {
    margin: 0;
    color: #4f4c48;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 15px !important;
    line-height: 1.6;
}
.custom-projects-page .custom-projects-contact a {
    font-size: 15px !important;
    font-weight: 500;
}
.custom-projects-grid .custom-project-zoom-image {
    cursor: pointer !important;
}

/* ======================================================================
   REV111C — Search focus color consistency
   Remove remaining browser-blue focus rings from Search controls and use
   the site's bronze/taupe accent for trigger, field, close, and submit.
   ====================================================================== */
header nav#main-nav .nav-search-link:focus,
header nav#main-nav .nav-search-link:focus-visible,
header nav#main-nav .nav-search-link[aria-expanded="true"]:focus {
    outline: none !important;
    background: var(--at-bronze) !important;
    color: #fff !important;
    box-shadow: none !important;
}

header nav#main-nav .nav-inline-search-input:focus,
header nav#main-nav .nav-inline-search-input:focus-visible,
.search-page-form input:focus,
.search-page-form input:focus-visible {
    outline: none !important;
    border-color: var(--at-bronze) !important;
    box-shadow: inset 0 0 0 1px var(--at-bronze) !important;
    caret-color: var(--at-bronze) !important;
}

header nav#main-nav .nav-inline-search-close:focus,
header nav#main-nav .nav-inline-search-close:focus-visible,
.search-page-form button:focus,
.search-page-form button:focus-visible {
    outline: 1px solid var(--at-bronze) !important;
    outline-offset: 2px !important;
    border-color: var(--at-bronze) !important;
    box-shadow: none !important;
}

.search-page-form button:focus,
.search-page-form button:focus-visible {
    background: var(--at-bronze) !important;
    color: #fff !important;
}


/* ======================================================================
   REV114 — Custom work uses the same natural-proportion philosophy as the
   REV110 product collections. No fixed 4:3 frame and no object-fit:cover.
   JavaScript places each complete photograph into the shortest column.
   ====================================================================== */
.home-workshop-gallery,
.custom-projects-grid {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: auto;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 0 !important;
    column-count: initial !important;
    column-gap: initial !important;
    grid-template-columns: none !important;
}
.home-workshop-gallery.at-custom-natural-masonry,
.custom-projects-grid.at-custom-natural-masonry {
    position: relative !important;
}
.home-workshop-gallery .home-workshop-photo,
.custom-projects-grid figure {
    display: block !important;
    position: relative;
    width: 100%;
    height: auto !important;
    aspect-ratio: auto !important;
    margin: 0 !important;
    overflow: visible !important;
    background: transparent !important;
    break-inside: auto !important;
}
.home-workshop-gallery.at-custom-natural-masonry .home-workshop-photo,
.custom-projects-grid.at-custom-natural-masonry figure {
    position: absolute !important;
}
.home-workshop-gallery .home-workshop-photo img,
.custom-projects-grid figure img,
.custom-projects-grid .custom-project-zoom-image {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-width: none !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    object-position: center center !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
    transform: none !important;
    cursor: pointer !important;
}
.home-workshop-photo:hover img {
    transform: none !important;
}


/* ======================================================================
   REV115 — Split Custom image treatment
   HOMEPAGE: preserve the clean one-line four-image composition, but never
   crop a workshop photograph. Each image is contained inside an equal 4:3
   presentation area and centered against the white page.
   CUSTOM PROJECTS PAGE: retain REV114 natural-proportion masonry.
   ====================================================================== */
.home-custom-teaser.home-custom-story .home-workshop-gallery {
    position: static !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 12px !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 auto !important;
    padding: 0 !important;
}
.home-custom-teaser.home-custom-story .home-workshop-gallery.at-custom-natural-masonry {
    position: static !important;
}
.home-custom-teaser.home-custom-story .home-workshop-photo,
.home-custom-teaser.home-custom-story .home-workshop-gallery.at-custom-natural-masonry .home-workshop-photo {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    display: flex !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 4 / 3 !important;
    margin: 0 !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    background: #fff !important;
}
.home-custom-teaser.home-custom-story .home-workshop-photo img,
.home-custom-teaser.home-custom-story .home-workshop-gallery.at-custom-natural-masonry .home-workshop-photo img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    object-position: center center !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
    transform: none !important;
}

@media screen and (min-width: 561px) and (max-width: 919px) {
    .home-custom-teaser.home-custom-story .home-workshop-gallery {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}
@media screen and (max-width: 560px) {
    .home-custom-teaser.home-custom-story .home-workshop-gallery {
        grid-template-columns: 1fr !important;
    }
}


/* ======================================================================
   REV117 — Homepage Custom Projects restore only
   Restore the earlier approved single-row four-tile homepage presentation.
   The full Custom Projects page keeps its REV114/115 natural masonry system.
   No image assets are changed in this revision.
   ====================================================================== */
@media screen and (min-width: 920px) {
    .home-custom-teaser.home-custom-story .home-workshop-gallery {
        position: static !important;
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 12px !important;
        width: 100% !important;
        height: auto !important;
        margin: 0 auto !important;
        padding: 0 !important;
    }
    .home-custom-teaser.home-custom-story .home-workshop-photo,
    .home-custom-teaser.home-custom-story .home-workshop-gallery.at-custom-natural-masonry .home-workshop-photo {
        position: relative !important;
        left: auto !important;
        top: auto !important;
        display: block !important;
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 4 / 3 !important;
        margin: 0 !important;
        overflow: hidden !important;
        background: transparent !important;
    }
    .home-custom-teaser.home-custom-story .home-workshop-photo img,
    .home-custom-teaser.home-custom-story .home-workshop-gallery.at-custom-natural-masonry .home-workshop-photo img {
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        max-width: none !important;
        max-height: none !important;
        aspect-ratio: auto !important;
        object-fit: cover !important;
        object-position: 50% 50% !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        box-shadow: none !important;
        transform: none !important;
    }
    .home-custom-teaser.home-custom-story .home-workshop-photo[data-family="opal-pendant"] img {
        object-position: 50% 58% !important;
    }
    .home-custom-teaser.home-custom-story .home-workshop-photo[data-family="pink-glass-chandelier"] img {
        object-position: 50% 45% !important;
    }
}


/* ======================================================================
   REV118 — Full Custom Projects: justified natural-proportion gallery.
   Overrides REV114/115 masonry on this page only. Every source photograph
   remains complete; JS balances widths so each row closes cleanly.
   Homepage REV117 four-tile presentation remains unchanged.
   ====================================================================== */
.custom-projects-page .custom-projects-grid,
.custom-projects-page .custom-projects-grid.at-custom-natural-masonry,
.custom-projects-page .custom-projects-grid.at-custom-justified-gallery {
    position: static !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 14px !important;
    width: 100% !important;
    height: auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 0 !important;
    grid-template-columns: none !important;
    column-count: initial !important;
    column-gap: initial !important;
}
.custom-projects-page .custom-projects-grid figure,
.custom-projects-page .custom-projects-grid.at-custom-natural-masonry figure,
.custom-projects-page .custom-projects-grid.at-custom-justified-gallery figure {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    display: block !important;
    height: auto !important;
    aspect-ratio: auto !important;
    margin: 0 !important;
    overflow: visible !important;
    background: transparent !important;
}
.custom-projects-page .custom-projects-grid img,
.custom-projects-page .custom-projects-grid .custom-project-zoom-image {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-width: none !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    object-position: center center !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
    cursor: pointer !important;
}
@media screen and (max-width: 599px) {
    .custom-projects-page .custom-projects-grid,
    .custom-projects-page .custom-projects-grid.at-custom-justified-gallery {
        column-gap: 12px !important;
        row-gap: 12px !important;
    }
}


/* ======================================================================
   REV118C — Custom justified gallery: real visible gutters.
   Keep JS row math and CSS spacing in sync so images do not visually touch.
   ====================================================================== */
.custom-projects-page .custom-projects-grid,
.custom-projects-page .custom-projects-grid.at-custom-natural-masonry,
.custom-projects-page .custom-projects-grid.at-custom-justified-gallery {
    column-gap: 24px !important;
    row-gap: 22px !important;
    gap: 22px 24px !important;
}

@media screen and (max-width: 599px) {
    .custom-projects-page .custom-projects-grid,
    .custom-projects-page .custom-projects-grid.at-custom-justified-gallery {
        column-gap: 14px !important;
        row-gap: 14px !important;
        gap: 14px !important;
    }
}

/* AT_MOBILE_QUICKVIEW_FIXED_NAV_V2 */
@media screen and (max-width:919px){
 body.at-quickview-open .at-quickview-nav{position:fixed!important;left:0!important;right:0!important;bottom:0!important;width:100%!important;max-width:none!important;z-index:990050!important;min-height:50px!important;margin:0!important;box-sizing:border-box!important;padding-bottom:env(safe-area-inset-bottom)!important;background:#1f1f1f!important;box-shadow:0 -4px 16px rgba(0,0,0,.26)!important;}
 body.at-quickview-open .at-quickview-nav-button{min-height:50px!important;padding-top:9px!important;padding-bottom:9px!important;touch-action:manipulation!important;-webkit-tap-highlight-color:transparent!important;}
 body.at-quickview-open .at-quickview-content{padding-bottom:74px!important;}
}

/* ======================================================================
   AT_IPHONE_FALSE_DISABLED_VISUAL_FIX_V5
   Some iPhone taps leave the quick-view nav with .is-disabled styling
   even though the button is still clickable. Only the actual HTML
   disabled attribute should look disabled on mobile.
   ====================================================================== */
@media screen and (max-width: 919px) {
    body.at-quickview-open .at-quickview-nav-button.is-disabled:not(:disabled) {
        opacity: 1 !important;
        cursor: pointer !important;
        color: #fff !important;
        background: transparent !important;
    }

    body.at-quickview-open .at-quickview-nav-button.is-disabled:not(:disabled):hover,
    body.at-quickview-open .at-quickview-nav-button.is-disabled:not(:disabled):focus,
    body.at-quickview-open .at-quickview-nav-button.is-disabled:not(:disabled):active {
        opacity: 1 !important;
        color: #fff !important;
        background: transparent !important;
        outline: none !important;
    }

    body.at-quickview-open .at-quickview-nav-button {
        -webkit-tap-highlight-color: transparent !important;
    }

    body.at-quickview-open .at-quickview-nav-button:disabled {
        opacity: .24 !important;
        cursor: default !important;
    }
}


/* ======================================================================
   AT_IPHONE_FALSE_GREY_FINAL_V6
   A clickable quick-view nav button should not remain dim after an iPhone tap.
   Only the native :disabled state is allowed to look disabled.
   ====================================================================== */
@media screen and (max-width: 919px) {
    body.at-quickview-open .at-quickview-nav-button:not(:disabled),
    body.at-quickview-open .at-quickview-nav-button.is-disabled:not(:disabled),
    body.at-quickview-open .at-quickview-nav-button:not(:disabled):hover,
    body.at-quickview-open .at-quickview-nav-button:not(:disabled):focus,
    body.at-quickview-open .at-quickview-nav-button:not(:disabled):active {
        opacity: 1 !important;
        color: #fff !important;
        background: transparent !important;
        outline: none !important;
        cursor: pointer !important;
        -webkit-tap-highlight-color: transparent !important;
    }

    body.at-quickview-open .at-quickview-nav-button:disabled {
        opacity: .24 !important;
        cursor: default !important;
    }
}

/* =========================================================
   AT_LOADING_SPINNER_20261103
   CSS-only collection loader; replaces legacy img/loading.gif.
   ========================================================= */
#loading .at-loading-spinner {
    display: inline-block;
    width: 24px;
    height: 24px;
    margin-top: 10px;
    box-sizing: border-box;
    border: 2px solid #d8d4ce;
    border-top-color: #5f554b;
    border-radius: 50%;
    animation: atLoadingSpin .75s linear infinite;
    vertical-align: middle;
}
@keyframes atLoadingSpin {
    to { transform: rotate(360deg); }
}
@media (prefers-reduced-motion: reduce) {
    #loading .at-loading-spinner {
        animation-duration: 1.5s;
    }
}
