/* Fixed columns stop existing cards moving when later gallery pages append. */
.masonry-columns{columns:unset;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px}
.masonry-column{min-width:0}
.masonry-column .art-card{width:100%;margin:0 0 30px}
.ch-buy-button{display:flex;width:100%;min-width:210px;justify-content:space-between;align-items:center;gap:30px;background:var(--navy);color:#fff;border:1px solid var(--navy);padding:14px 23px;font:14px var(--sans);cursor:pointer}
.ch-buy-button:hover{background:#314960}
/* Keep the full artwork and its alternate views together on a desktop screen. */
@media(min-width:761px){.detail-image{height:min(420px,54vh)!important}}
.detail-copy .description{margin-bottom:24px}
.prints-copy .primary-button{margin-top:18px}
@media(max-width:1100px){.masonry-columns{display:block;columns:3;column-gap:26px}.masonry-columns .masonry-column{display:contents}.masonry-columns .art-card{break-inside:avoid;display:inline-block;margin:0 0 30px}}
@media(max-width:760px){.masonry-columns{columns:2;column-gap:17px}}

/* Uses the theme palette so this can be retuned in one place with the rest of the site. */
.ch-back-to-top{position:fixed;right:clamp(16px,3vw,32px);bottom:clamp(16px,3vw,32px);z-index:40;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:11px 14px;border:1px solid var(--navy);background:var(--navy);color:var(--background);font:13px var(--sans);line-height:1;box-shadow:0 4px 14px rgba(20,37,47,.2);cursor:pointer}
.ch-back-to-top[hidden]{display:none}
.ch-back-to-top:hover{border-color:var(--blue);background:var(--blue)}
.ch-back-to-top:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
@media(max-width:760px){.ch-back-to-top{right:16px;bottom:max(16px,env(safe-area-inset-bottom));padding:13px 16px}}

/* Fluent Forms inherits the original enquiry form's typography, spacing and square controls. */
.ch-enquiry-fluent fieldset{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 20px}
.ch-enquiry-fluent .ff-el-group{margin-bottom:22px}
.ch-enquiry-fluent .ch-form-subject,.ch-enquiry-fluent .ch-form-message,.ch-enquiry-fluent .ff_submit_btn_wrapper{grid-column:1/-1}
.ch-enquiry-fluent .ff-el-input--label{margin-bottom:8px}
.ch-enquiry-fluent .ff-el-input--label label{color:var(--navy);font:14px var(--sans);font-weight:400}
.ch-enquiry-fluent .ff-el-form-control{width:100%;padding:12px;background:#fff;color:var(--navy);border:1px solid #bec9d6;border-radius:0;font:16px var(--sans);line-height:1.4;box-shadow:none}
.ch-enquiry-fluent .ff-el-form-control:focus{border-color:var(--navy);box-shadow:0 0 0 1px var(--navy);outline:0}
.ch-enquiry-fluent textarea.ff-el-form-control{min-height:150px;resize:vertical}
.ch-enquiry-fluent .ff-t-container{gap:20px}
.ch-enquiry-fluent .ff-btn-submit{display:flex;width:fit-content;min-width:210px;justify-content:space-between;align-items:center;gap:30px;margin:0;background:var(--navy)!important;color:#fff!important;border:1px solid var(--navy)!important;border-radius:0!important;padding:14px 23px!important;font:14px var(--sans)!important;line-height:1.2!important;box-shadow:none!important;cursor:pointer}
.ch-enquiry-fluent .ff-btn-submit:hover{background:#314960!important;opacity:1!important}
.ch-enquiry-fluent .ff-el-is-error .ff-el-form-control{border-color:#9b2c2c}
.ch-enquiry-fluent .error.text-danger{color:#9b2c2c;font:12px/1.5 var(--sans);margin-top:6px}
.ch-enquiry-fluent .ff-message-success{margin:0 0 22px;padding:15px;background:#e9eff6;color:var(--navy);border:0;border-radius:0;box-shadow:none;font:14px/1.6 var(--sans)}
@media(max-width:760px){.ch-enquiry-fluent fieldset{grid-template-columns:1fr}.ch-enquiry-fluent .ff-el-group{grid-column:1}}
