/* ===================== RESET ===================== */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}

/* ===================== VARIABLES ===================== */
:root{
  --gallery-bg:#1c252e;
  --gallery-surface:#202936;
  --gallery-text:#f0ede8;
  --gallery-text-secondary:rgba(240,237,232,.6);
  --gallery-text-light:rgba(240, 237, 232, 0.678);
  --gallery-gold:#b0a18e;
  --gallery-gold-dark:#8c7d6b;
  --gallery-rule:rgba(240,237,232,.08);
  --gallery-rule-light:rgba(240,237,232,.05);
  --sidebar-bg:#22242b;
  --transition-smooth:cubic-bezier(.16,1,.3,1)
}

/* ===================== BASE ===================== */
html{scroll-behavior:smooth;scroll-padding-top:5rem}

body{
  font-family:'Montserrat',sans-serif;
  color:var(--gallery-text);
  background:var(--gallery-bg);
  line-height:1.7;
  font-weight:400;
  font-size:16px;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale
}

h1,h2,h3,h4,h5{
  font-family:'Playfair Display',serif;
  font-weight:400;
  line-height:1.3
}

img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit}

/* ===================== SKIP LINK ===================== */
.skip-link{
  position:fixed;top:-100%;left:50%;transform:translateX(-50%);
  background:var(--gallery-surface);color:var(--gallery-text);padding:1rem 2rem;z-index:1000;
  font-family:'Montserrat',sans-serif;font-size:.85rem;font-weight:500;
  letter-spacing:.05em;text-decoration:none;border:1px solid var(--gallery-gold);transition:top .3s ease
}
.skip-link:focus{top:1rem;outline:none}

/* ===================== FOCUS STATES ===================== */
a:focus,button:focus,input:focus,textarea:focus{outline:none}
a:focus-visible,button:focus-visible{outline:2px solid var(--gallery-gold);outline-offset:3px}
input:focus-visible,textarea:focus-visible{outline:none;border-color:var(--gallery-gold)!important;box-shadow:0 0 0 1px var(--gallery-gold)}

/* ===================== BODY LOCK ===================== */
body.menu-open,body.sidebar-open{overflow:hidden}

/* ===================== NAVIGATION ===================== */
.category-nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  display:flex;align-items:center;justify-content:space-between;
  padding:1.5rem 5vw;
  transition:background .4s ease,padding .4s ease,box-shadow .4s ease
}
.category-nav.scrolled{
  background:rgba(26,28,34,.97);
  padding:1.1rem 5vw;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid var(--gallery-rule);
  box-shadow:0 2px 20px rgba(0,0,0,.2)
}
.category-nav-menu-btn{
  display:flex;align-items:center;
  background:none;border:none;cursor:pointer;
  padding:.5rem 0;min-height:44px;min-width:44px
}
.category-nav-menu-icon{
  display:flex;flex-direction:column;justify-content:center;
  gap:5px;width:20px;height:20px
}
.category-nav-menu-icon span{
  display:block;width:100%;height:1px;
  background:var(--gallery-text);transition:background .3s ease
}

/* Logo — single line fix */
.category-nav-logo{
  font-family:'Tenor Sans',sans-serif;
  font-size:1.05rem;
  color:var(--gallery-text);
  letter-spacing:.1em;
  text-transform:uppercase;
  position:absolute;left:50%;transform:translateX(-50%);
  transition:color .3s ease;
  white-space:nowrap;
  display:flex;
  gap:.3em
}
.category-nav-logo-text{display:inline}
.category-nav.scrolled .category-nav-logo{color:var(--gallery-gold)}

/* Nav Enquire button */
.category-nav-link{
  font-family:'Montserrat',sans-serif;
  font-size:.75rem;font-weight:500;
  letter-spacing:.12em;text-transform:uppercase;
  color:var(--gallery-text-light);
  background:none;
  border:1px solid rgba(240,237,232,.2);
  padding:.6rem 1.4rem;
  cursor:pointer;
  transition:color .3s ease,border-color .3s ease
}
.category-nav-link:hover{
  color:var(--gallery-gold);
  border-color:var(--gallery-gold)
}

/* ===================== MENU OVERLAY ===================== */
.category-menu-overlay{
  position:fixed;inset:0;z-index:200;
  background: radial-gradient(ellipse at center, #212d38 0%, #222530 100%);
  opacity:0;visibility:hidden;
  transition:opacity .4s ease,visibility .4s ease
}
.category-menu-overlay.is-open{opacity:1;visibility:visible}
.category-menu-overlay-inner{
  height:100%;display:flex;flex-direction:column;
  align-items:center;justify-content:center;padding:4rem 2rem
}
.category-menu-close{
  position:absolute;top:2rem;right:5vw;
  width:44px;height:44px;background:none;border:none;
  cursor:pointer;display:flex;align-items:center;justify-content:center
}
.category-menu-close span{
  position:absolute;width:22px;height:1px;
  background:var(--gallery-text-secondary);transition:background .3s ease
}
.category-menu-close span:first-child{transform:rotate(45deg)}
.category-menu-close span:last-child{transform:rotate(-45deg)}
.category-menu-close:hover span{background:var(--gallery-text)}
.category-menu-nav{
  display:flex;flex-direction:column;align-items:center;gap:.5rem
}
.category-menu-link{
  font-family:'Playfair Display',serif;
  font-size:clamp(1.8rem,4vw,2.5rem);
  font-weight:400;color:var(--gallery-text);
  padding:.4rem 0;transition:color .3s ease;
  text-decoration:none;
  background:none;
  border:none;
  cursor:pointer
}
.category-menu-link:hover{color:var(--gallery-gold)}

/* Contact button in menu — styled to match other links */
.category-menu-link--contact{
  font-family:'Playfair Display',serif;
  font-size:clamp(1.8rem,4vw,2.5rem);
  font-weight:400;
  color:var(--gallery-gold);
  padding:.4rem 0;
  background:none;
  border:none;
  cursor:pointer;
  transition:color .3s ease;
  margin-top:.5rem
}
.category-menu-link--contact:hover{
  color:var(--gallery-text)
}

.category-menu-footer{
  position:absolute;bottom:3rem;text-align:center
}
.category-menu-footer a{
  font-family:'Montserrat',sans-serif;
  font-size:.85rem;color:var(--gallery-text-light);
  transition:color .3s ease
}
.category-menu-footer a:hover{color:var(--gallery-gold)}

/* ===================== CONTACT SIDEBAR ===================== */
.category-sidebar-backdrop{
  position:fixed;inset:0;z-index:250;
  background:rgba(26,28,34,.8);
  opacity:0;visibility:hidden;
  transition:opacity .4s ease,visibility .4s ease;
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px)
}
.category-sidebar-backdrop.is-open{opacity:1;visibility:visible}

.category-sidebar{
  position:fixed;top:0;right:0;bottom:0;z-index:300;
  width:100%;max-width:440px;
  background:var(--sidebar-bg);
  transform:translateX(100%);
  transition:transform .5s var(--transition-smooth);
  overflow-y:auto;
  border-left:1px solid var(--gallery-rule)
}
.category-sidebar.is-open{transform:translateX(0)}

.category-sidebar-close{
  position:absolute;top:1.5rem;right:2rem;
  width:44px;height:44px;background:none;border:none;
  cursor:pointer;display:flex;align-items:center;justify-content:center
}
.category-sidebar-close span{
  position:absolute;width:18px;height:1px;
  background:var(--gallery-text-secondary);transition:background .3s ease
}
.category-sidebar-close span:first-child{transform:rotate(45deg)}
.category-sidebar-close span:last-child{transform:rotate(-45deg)}
.category-sidebar-close:hover span{background:var(--gallery-text)}

.category-sidebar-content{padding:5rem 2.5rem 3rem}

.category-sidebar-title{
  font-family:'Playfair Display',serif;
  font-size:1.8rem;font-weight:400;
  color:var(--gallery-text);margin-bottom:1rem
}
.category-sidebar-intro{
  font-family:'Montserrat',sans-serif;
  font-size:.95rem;color:var(--gallery-text-secondary);
  line-height:1.8;margin-bottom:2.5rem
}

.category-sidebar-direct{display:flex;flex-direction:column;gap:.5rem;margin-bottom:0}
.category-sidebar-direct a{
  font-family:'Montserrat',sans-serif;
  font-size:1rem;color:var(--gallery-text);
  text-decoration:none;transition:color .3s ease
}
.category-sidebar-direct a:hover{color:var(--gallery-gold)}

.category-sidebar-divider{display:flex;align-items:center;margin:2.5rem 0}
.category-sidebar-divider::before,.category-sidebar-divider::after{content:'';flex:1;height:1px;background:var(--gallery-rule)}
.category-sidebar-divider span{
  font-family:'Montserrat',sans-serif;font-size:.68rem;
  letter-spacing:.1em;text-transform:uppercase;
  color:var(--gallery-text-light);padding:0 1.25rem
}

.category-sidebar-field{margin-bottom:1.75rem}
.category-sidebar-field label{
  display:block;font-family:'Montserrat',sans-serif;
  font-size:.68rem;font-weight:500;letter-spacing:.12em;
  text-transform:uppercase;color:var(--gallery-text-light);margin-bottom:.6rem
}
.category-sidebar-field input,.category-sidebar-field textarea{
  width:100%;background:transparent;
  border:none;border-bottom:1px solid var(--gallery-rule);
  color:var(--gallery-text);font-family:'Montserrat',sans-serif;
  font-size:.95rem;padding:.7rem 0;outline:none;
  transition:border-color .4s ease
}
.category-sidebar-field input:focus,.category-sidebar-field textarea:focus{
  border-color:var(--gallery-gold)
}
.category-sidebar-field textarea{
  border:1px solid var(--gallery-rule);
  padding:.85rem;height:100px;resize:vertical;margin-top:.25rem
}
.category-sidebar-field textarea::placeholder{
  color:var(--gallery-text-light);font-style:italic
}

.form-optional{
  font-weight:400;letter-spacing:0;text-transform:none;
  color:var(--gallery-text-light);font-size:.7rem
}

.category-sidebar-form button[type="submit"]{
  width:100%;background:transparent;
  border:1px solid rgba(240,237,232,.3);
  color:var(--gallery-text);font-family:'Montserrat',sans-serif;
  font-size:.72rem;font-weight:500;letter-spacing:.14em;
  text-transform:uppercase;padding:1.15rem 2rem;
  margin-top:.75rem;cursor:pointer;
  transition:border-color .4s ease,color .4s ease,background .4s ease
}
.category-sidebar-form button[type="submit"]:hover{
  border-color:var(--gallery-gold);color:var(--gallery-gold)
}

/* ===================== BREADCRUMB ===================== */
.category-breadcrumb{
  background: #1c2835;
  position:relative;
  padding:5.5rem 5vw 0;
  z-index:2
}
.category-breadcrumb-list{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:2.0rem;
  list-style:none;
  font-family:'Montserrat',sans-serif;
  font-size:.92rem;
  letter-spacing:.09em;
  color:var(--gallery-text-light)
}
.category-breadcrumb-list li{
  display:flex;
  align-items:center;
  gap:.5rem
}
.category-breadcrumb-list li:not(:last-child)::after{
  content:'›';
  color:var(--gallery-text-light);
  font-size:.8rem
}
.category-breadcrumb-list a{
  color:var(--gallery-text-secondary);
  transition:color .3s ease
}
.category-breadcrumb-list a:hover{
  color:var(--gallery-gold)
}
.category-breadcrumb-list [aria-current="page"]{
  color:var(--gallery-text-light)
}

/* ===================== CATEGORY HERO ===================== */
.category-hero{
  position:relative;
  width:100%;
  height:85vh;
  min-height:360px;
  max-height:900px;
  overflow:hidden;
  margin-top:0
}
.category-hero-image{
  position:absolute;inset:0
}
.category-hero-image img{
  width:100%;height:100%;object-fit:cover;
  filter:saturate(.95);
  animation:categoryHeroKenBurns 25s ease-in-out infinite alternate
}
@keyframes categoryHeroKenBurns{
  0%{transform:scale(1) translate(0,0)}
  100%{transform:scale(1.03) translate(-0.5%,-0.5%)}
}
.category-hero-overlay{
  position:absolute;inset:0;
  background:linear-gradient(
    to bottom,
    rgba(26,28,34,.3) 0%,
    rgba(26,28,34,0) 40%,
    rgba(26,28,34,0) 60%,
    rgba(26,28,34,.85) 100%
  )
}

/* ===================== CATEGORY HEADER ===================== */
.category-header{
  background: #1c2835;
  padding:4rem 5vw 5rem;
  text-align:center;
  border-bottom:1px solid var(--gallery-rule)
}
.category-header-inner{
  max-width:45rem;margin:0 auto
}
.category-header-title{
  font-family:'Playfair Display',serif;
  font-size:clamp(2.4rem,5vw,3.4rem);font-weight:400;
  color:var(--gallery-text);margin-bottom:1.75rem
}
.category-header-intro{
  font-family:'Montserrat',sans-serif;
  font-size:1rem;color:var(--gallery-text-secondary);
  line-height:2;margin-bottom:1.5rem
}
.category-header-count{
  font-family:'Montserrat',sans-serif;
  font-size:.78rem;color:var(--gallery-text-light);letter-spacing:.05em
}

/* ===================== GALLERY MASONRY ===================== */
.category-gallery{
  padding:5rem 5vw 4rem
}
.category-gallery-inner{
  max-width:2250px;margin:0 auto
}
.category-gallery-masonry{
  column-count:3;column-gap:4rem
}

/* Gallery item */
.category-gallery-item{
  display:block;break-inside:avoid;margin-bottom:2.5rem;
  text-decoration:none;
  opacity:0;transform:translateY(20px);
  transition:opacity .6s ease,transform .6s ease
}
.category-gallery-item.is-visible{
  opacity:1;transform:translateY(0)
}

/* Painting frame */
.category-gallery-painting{
  position:relative;overflow:hidden;
  border:1px solid var(--gallery-rule);
  transition:box-shadow .4s ease,transform .4s ease,border-color .4s ease
}

/* Gilded edge */
.category-gallery-painting::before{
  content:'';position:absolute;inset:0;
  border:1px solid transparent;
  transition:border-color .5s ease;
  pointer-events:none;z-index:2
}

/* Museum spotlight vignette */
.category-gallery-painting::after{
  content:'';position:absolute;inset:0;
  box-shadow:inset 0 0 60px rgba(0,0,0,0);
  transition:box-shadow .6s ease;
  pointer-events:none;z-index:1
}

.category-gallery-painting img{
  width:100%;height:auto;display:block;
  transition:transform .6s ease,filter .6s ease;
  filter:saturate(.95)
}

/* Hover states */
.category-gallery-item:hover .category-gallery-painting{
  box-shadow:0 8px 32px rgba(0,0,0,.3),0 2px 8px rgba(0,0,0,.2);
  transform:translateY(-3px);
  border-color:rgba(176,161,142,.2)
}
.category-gallery-item:hover .category-gallery-painting::before{
  border-color:rgba(176,161,142,.35)
}
.category-gallery-item:hover .category-gallery-painting::after{
  box-shadow:inset 0 0 60px rgba(0,0,0,.2)
}
.category-gallery-item:hover .category-gallery-painting img{
  transform:scale(1.02);filter:saturate(1.05) brightness(1.03)
}

/* Info */
.category-gallery-info{padding:1.2rem .2rem 0}
.category-gallery-title{
  font-family:'Playfair Display',serif;
  font-size:.95rem;font-weight:400;
  color:var(--gallery-text);margin-bottom:.3rem;
  line-height:1.4;transition:color .3s ease
}
.category-gallery-item:hover .category-gallery-title{
  color:var(--gallery-gold)
}
.category-gallery-meta{
  display:block;font-family:'Montserrat',sans-serif;
  font-size:.75rem;color:var(--gallery-text-light);margin-bottom:.2rem
}
.category-gallery-status{
  display:inline-block;font-family:'Montserrat',sans-serif;
  font-size:.7rem;letter-spacing:.06em;
  color:var(--gallery-text-light);margin-top:.3rem
}
.category-gallery-status--available{color:var(--gallery-gold)}
.category-gallery-status--sold{color:var(--gallery-text-light);font-style:italic}

/* ===================== PAGINATION ===================== */
.category-pagination{
  display:flex;align-items:center;justify-content:center;
  gap:1rem;padding:3rem 0 1rem;
  border-top:1px solid var(--gallery-rule);margin-top:2rem
}
.category-pagination-btn{
  display:flex;align-items:center;gap:.4rem;
  background:none;border:1px solid var(--gallery-rule);
  color:var(--gallery-text-secondary);
  font-family:'Montserrat',sans-serif;font-size:.72rem;
  font-weight:500;letter-spacing:.1em;text-transform:uppercase;
  padding:.7rem 1.2rem;cursor:pointer;
  transition:color .3s ease,border-color .3s ease
}
.category-pagination-btn:hover:not(:disabled){
  color:var(--gallery-gold);border-color:var(--gallery-gold)
}
.category-pagination-btn:disabled{
  opacity:.3;cursor:not-allowed
}
.category-pagination-btn svg{width:14px;height:14px}
.category-pagination-pages{display:flex;gap:.5rem}
.category-pagination-page{
  width:36px;height:36px;display:flex;align-items:center;justify-content:center;
  background:none;border:1px solid transparent;
  color:var(--gallery-text-secondary);
  font-family:'Montserrat',sans-serif;font-size:.82rem;
  cursor:pointer;transition:all .3s ease
}
.category-pagination-page:hover{
  color:var(--gallery-gold);border-color:var(--gallery-gold)
}
.category-pagination-page.is-active{
  color:var(--gallery-gold);border-color:var(--gallery-gold);
  background:rgba(176,161,142,.08)
}

/* ===================== DUAL CTA SECTION ===================== */
.category-dual-cta{
  border-top:1px solid var(--gallery-rule)
}
.category-dual-cta-inner{
  max-width:100%;margin:0 auto;
  display:grid;grid-template-columns:1fr;gap:0
}

/* Commission CTA */
.category-commission-cta{
  padding:5rem 5vw;text-align:center;
  background:var(--gallery-surface);
  border-bottom:1px solid var(--gallery-rule)
}
.category-commission-cta-content{max-width:32rem;margin:0 auto}
.category-commission-cta h2{
  font-family:'Playfair Display',serif;
  font-size:1.6rem;font-weight:400;
  color:var(--gallery-text);margin-bottom:1.5rem
}
.category-commission-cta p{
  font-family:'Montserrat',sans-serif;font-size:.95rem;
  color:var(--gallery-text-secondary);line-height:1.9;margin-bottom:2.5rem
}
.category-commission-btn{
  display:inline-block;background:transparent;
  border:1px solid rgba(240,237,232,.3);
  font-family:'Montserrat',sans-serif;font-size:.75rem;font-weight:400;
  letter-spacing:.14em;text-transform:uppercase;
  color:var(--gallery-text);padding:1.15rem 3rem;
  transition:border-color .4s ease,color .4s ease,transform .3s ease
}
.category-commission-btn:hover{
  border-color:var(--gallery-gold);color:var(--gallery-gold);
  transform:translateY(-2px)
}

/* Newsletter CTA */
.category-newsletter-cta{
  padding:5rem 5vw;text-align:center;
  background:var(--gallery-surface)
}
.category-newsletter-cta-content{max-width:32rem;margin:0 auto}
.category-newsletter-cta h2{
  font-family:'Playfair Display',serif;
  font-size:1.5rem;font-weight:400;
  color:var(--gallery-text);margin-bottom:1rem
}
.category-newsletter-cta p{
  font-family:'Montserrat',sans-serif;font-size:.92rem;
  color:var(--gallery-text-secondary);line-height:1.85;margin-bottom:2.5rem
}

/* Newsletter form */
.category-newsletter-form{max-width:100%;margin:0 auto}
.category-newsletter-fields{
  display:flex;gap:2.75rem;align-items:flex-end;flex-wrap:nowrap
}
.category-newsletter-field{
  flex:1;min-width:0;text-align:left
}
.category-newsletter-field label{
  display:block;font-family:'Montserrat',sans-serif;
  font-size:.68rem;font-weight:500;letter-spacing:.1em;
  text-transform:uppercase;color:var(--gallery-text-light);margin-bottom:.5rem
}
.category-newsletter-field input{
  width:100%;background:transparent;border:none;
  border-bottom:1px solid var(--gallery-rule);
  padding:.7rem 0;font-family:'Montserrat',sans-serif;
  font-size:.92rem;color:var(--gallery-text);
  transition:border-color .3s ease
}
.category-newsletter-field input:focus{border-color:var(--gallery-gold)}
.category-newsletter-field input::placeholder{color:var(--gallery-text-light)}
.category-newsletter-btn{
  background:none;border:1px solid rgba(240,237,232,.3);
  font-family:'Montserrat',sans-serif;font-size:.72rem;font-weight:500;
  letter-spacing:.12em;text-transform:uppercase;
  color:var(--gallery-text);padding:.85rem 2rem;
  cursor:pointer;transition:border-color .3s ease,color .3s ease;
  white-space:nowrap;min-height:44px;flex-shrink:0
}
.category-newsletter-btn:hover{
  border-color:var(--gallery-gold);color:var(--gallery-gold)
}

/* ===================== ALL CATEGORIES ===================== */
.category-all-categories{
  padding:5rem 5vw;background: var(--gallery-surface); border-top:1px solid var(--gallery-rule);text-align:center 
}
.category-all-categories-inner{
  max-width:62rem;margin:0 auto
}
.category-all-categories-title{
  font-family:'Montserrat',sans-serif;font-size:.72rem;font-weight:500;
  letter-spacing:.2em;text-transform:uppercase;
  color:var(--gallery-gold);margin-bottom:2rem
}
.category-all-categories-grid{
  display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem
}
.category-all-categories-link{
  font-family:'Montserrat',sans-serif;font-size:.85rem;
  color:var(--gallery-text-secondary);padding:.6rem 1.25rem;
  border:1px solid var(--gallery-rule);border-radius:2px;
  transition:color .3s ease,border-color .3s ease,background .3s ease
}
.category-all-categories-link:hover{
  color:var(--gallery-gold);border-color:var(--gallery-gold)
}
.category-all-categories-link.is-current{
  color:var(--gallery-gold);border-color:var(--gallery-gold);
  background:rgba(176,161,142,.08);pointer-events:none
}

/* ===================== FOOTER ===================== */
.category-footer{
  background: #0b0c13;
  padding:5rem 5vw 3rem;
  border-top:1px solid var(--gallery-rule)
}
.category-footer-inner{
  max-width:1700px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr .7fr;
  gap:3rem
}

/* Footer columns */

.category-footer-heading{
  font-family:'Montserrat',sans-serif;
  font-size:.68rem;
  font-weight:500;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:var(--gallery-gold);
  margin-bottom:1.5rem
}
.category-footer-list{
  list-style:none
}
.category-footer-list li{
  margin-bottom:.6rem
}
.category-footer-list a{
  font-family:'Montserrat',sans-serif;
  font-size:.85rem;
  color:var(--gallery-text-secondary);
  transition:color .3s ease
}
.category-footer-list a:hover{
  color:var(--gallery-gold)
}

/* Brand column */
.category-footer-brand{
  display:flex;
  flex-direction:column;
  gap:.25rem
}
.category-footer-logo{
  font-family:'Playfair Display',serif;
  font-size:1.15rem;
  color:var(--gallery-text);
  transition:color .3s ease;
  margin-bottom:.1rem
}
.category-footer-logo:hover{
  color:var(--gallery-gold)
}
.category-footer-tagline{
  font-family:'Montserrat',sans-serif;
  font-size:.78rem;
  color:var(--gallery-text-light);
  margin-bottom:1.25rem
}
.category-footer-contact{
  display:flex;
  flex-direction:column;
  gap:.4rem;
  margin-bottom:1.5rem
}
.category-footer-contact a{
  font-family:'Montserrat',sans-serif;
  font-size:.85rem;
  color:var(--gallery-text-secondary);
  transition:color .3s ease
}
.category-footer-contact a:hover{
  color:var(--gallery-gold)
}

/* Social icons */
.category-footer-social{
  display:flex;
  gap:1rem;
  margin-bottom:1.75rem
}
.category-footer-social a{
  color:var(--gallery-text-secondary);
  transition:color .3s ease
}
.category-footer-social a:hover{
  color:var(--gallery-gold)
}
.category-footer-social svg{
  display:block
}

/* Copyright */
.category-footer-copyright{
  font-family:'Montserrat',sans-serif;
  font-size:.72rem;
  color:var(--gallery-text-light);
  margin-top:auto
}

/* ===================== BACK TO TOP ===================== */
.back-to-top{
  position:fixed;bottom:2rem;right:2rem;z-index:50;
  width:44px;height:44px;
  background:var(--gallery-surface);
  border:1px solid var(--gallery-rule);
  color:var(--gallery-text-secondary);
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;
  transition:opacity .3s ease,transform .3s ease,color .3s ease,border-color .3s ease;
  opacity:0;transform:translateY(10px)
}
.back-to-top[hidden]{display:flex;pointer-events:none}
.back-to-top:not([hidden]){opacity:1;transform:translateY(0);pointer-events:auto}
.back-to-top:hover{
  color:var(--gallery-gold);border-color:var(--gallery-gold)
}

/* ===================== UTILITIES ===================== */
.form-honeypot{
  position:absolute;left:-9999px;height:0;
  overflow:hidden;opacity:0;pointer-events:none
}


/* ===================== RESPONSIVE — DESKTOP LARGE ===================== */
@media (min-width: 1200px) {
  /* Dual CTA side by side */
  .category-dual-cta-inner{
    grid-template-columns:1fr 1fr;
    gap:0
  }
  .category-commission-cta{
    border-bottom:none;
    border-right:1px solid var(--gallery-rule);
    display:flex;align-items:center;justify-content:center
  }
  .category-newsletter-cta{
    display:flex;align-items:center;justify-content:center
  }
  .category-commission-cta-content,
  .category-newsletter-cta-content{
    max-width:38rem
  }
}

/* ===================== RESPONSIVE — TABLET ===================== */
@media (max-width: 1024px) {
  .category-hero{height:45vh;min-height:300px}
  .category-header{padding:3rem 5vw 4rem}
  .category-gallery{padding:3rem 3vw 4rem}
  .category-gallery-masonry{column-count:2;column-gap:1.75rem}
  .category-gallery-item{margin-bottom:2rem}
}

/* CENTRE FOOTER ON TABLET  */
@media (min-width:769px) and (max-width:1024px){
  .category-footer-inner{
    grid-template-columns:1fr 1fr;
    gap:3rem 2rem
  }
  .category-footer-brand{
    grid-column:1 / -1;
    align-items:center;
    text-align:center;
    padding-bottom:2rem;
    border-bottom:1px solid var(--gallery-rule)
  }
  .category-footer-contact{align-items:center}
  .category-footer-social{justify-content:center}
}

/* ===================== RESPONSIVE — MOBILE ===================== */
@media (max-width: 768px) {
  /* Nav */
  .category-nav-logo{font-size:clamp(.72rem,3.2vw,.88rem)}
  .category-nav-link{display:none}

  /* Breadcrumb */
  .category-breadcrumb{
    padding:5rem 6vw 0
  }
  .category-breadcrumb-list{
    font-size:.68rem
  }

  /* Hero */
  .category-hero{height:40vh;min-height:250px;max-height:400px;margin-top:-3rem}
  
  /* Header */
  .category-header{padding:2.5rem 6vw 3.5rem}
  .category-header-title{font-size:clamp(1.8rem,7vw,2.4rem)}
  .category-header-intro{font-size:.92rem}
  
  /* Gallery — single column */
  .category-gallery{padding:2.5rem 5vw 3rem}
  .category-gallery-masonry{column-count:1}
  .category-gallery-item{margin-bottom:2.5rem}
  
  /* Pagination */
  .category-pagination{gap:.5rem;padding:2rem 0 1rem}
  .category-pagination-btn span{display:none}
  .category-pagination-btn{padding:.6rem .8rem}
  
  /* Dual CTA */
  .category-commission-cta{padding:4rem 6vw}
  .category-commission-cta h2{font-size:1.4rem}
  .category-commission-cta p{font-size:.9rem}
  .category-commission-btn{padding:1rem 2.5rem}
  .category-newsletter-cta{padding:4rem 6vw}
  .category-newsletter-cta h2{font-size:1.3rem}
  .category-newsletter-fields{flex-direction:column;gap:1.25rem;align-items:stretch}
  .category-newsletter-field{min-width:100%}
  .category-newsletter-btn{width:100%;margin-top:.5rem}
  
  /* All categories */
  .category-all-categories{padding:3.5rem 6vw}
  .category-all-categories-grid{gap:.5rem}
  .category-all-categories-link{font-size:.8rem;padding:.5rem 1rem}
  
  /* Footer */
  .category-footer{padding:3.5rem 6vw 2rem}
  .category-footer-inner{
    grid-template-columns:1fr;
    gap:2.5rem
  }
  .category-footer-brand{
    padding-bottom:2rem;
    border-bottom:1px solid var(--gallery-rule)
  }
  
  /* Sidebar */
  .category-sidebar{max-width:100%}
  .category-sidebar-content{padding:4rem 1.5rem 2rem}
  
  /* Animation — ensure visible on mobile */
  .category-gallery-item{opacity:1;transform:translateY(0)}
}

/* ===================== RESPONSIVE — SMALL MOBILE ===================== */
@media (max-width: 480px) {
  .category-nav-logo{font-size:.68rem;letter-spacing:.06em}s
  .category-breadcrumb{
    padding:4.5rem 5vw 0
  }
  .category-header{padding:2rem 5vw 3rem}
  .category-hero{height:35vh;min-height:220px;max-height:320px}
  .category-header-title{font-size:clamp(1.6rem,6.5vw,2rem)}
  .category-header-intro{font-size:.88rem}
  .category-gallery{padding:2rem 4vw 3rem}
  .category-gallery-item{margin-bottom:2rem}
  .category-gallery-title{font-size:.9rem}
  .category-commission-cta{padding:3rem 5vw}
  .category-newsletter-cta{padding:3rem 5vw}
  .category-all-categories{padding:3rem 5vw}
  .category-footer{padding:3rem 5vw 1.5rem}
}

/* ===================== PRINT ===================== */
@media print{
  .category-nav,.category-menu-overlay,.category-sidebar,.category-sidebar-backdrop,
  .back-to-top,.category-pagination,.skip-link{display:none!important}
  .category-gallery-item{opacity:1!important;transform:none!important;break-inside:avoid}
  .category-hero{height:auto;max-height:300px}
  body{background:#fff;color:#000}
}