/* Gallant Treasury Collector Gallery | intentional product-first redesign */
:root{
  --cg-ink:#11100e;
  --cg-gallery:#191815;
  --cg-frame:#9b8563;
  --cg-gold:#d8bd87;
  --cg-ivory:#eee8dc;
  --cg-muted:#d2c8b7;
  --cg-wine:#4b242b;
}
/* The artwork stays visible around the galleries, not as text noise over merchandise. */
html.castle-page body[data-vault] .site-header {
  border-bottom:1px solid rgba(205,171,110,.48)!important;
}
html.castle-page body[data-vault] .minimal-room-hero{
  padding:14px 16px 10px!important;
}
html.castle-page body[data-vault] .minimal-room-title {
  font:400 clamp(31px,3.7vw,49px)/1.17 "Cinzel",Georgia,serif!important;
  letter-spacing:.075em!important;
  padding:7px clamp(17px,2.5vw,33px)!important;
  background:rgba(12,11,10,.86)!important;
  border:1px solid rgba(197,166,112,.46)!important;
  color:#e7c88b!important;
}
html.castle-page body[data-vault] section.catalogue {
  padding:7px clamp(14px,3.25vw,52px) 75px!important;
  width:100%!important;
  max-width:1900px!important;margin:0 auto!important;
}
html.castle-page body[data-vault] .object-grid {
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:clamp(22px,2.35vw,42px) clamp(14px,1.7vw,27px)!important;
  align-items:stretch!important;
}
html.castle-page body[data-vault] .object-card {
  width:100%!important;max-width:none!important;min-width:0!important;
  display:flex!important;flex-direction:column!important;
  overflow:hidden!important;position:relative!important;
  background:var(--cg-ink)!important;
  border:1px solid rgba(173,148,105,.65)!important;
  box-shadow:0 9px 31px rgba(0,0,0,.32)!important;
  border-radius:0!important;
  transition:box-shadow .2s ease,border-color .2s ease!important;
}
html.castle-page body[data-vault] .object-card:hover {
  box-shadow:0 12px 38px rgba(0,0,0,.45)!important;
  border-color:rgba(236,204,149,.88)!important;
}
html.castle-page body[data-vault] .object-card > .obj-photo {
  display:grid!important;place-items:center!important;
  width:100%!important;height:auto!important;
  aspect-ratio:1.08!important;
  min-height:0!important;max-height:none!important;
  padding:clamp(12px,1.5vw,25px)!important;
  margin:0!important;overflow:hidden!important;
  background:radial-gradient(ellipse at 50% 46%,#34302b 0%,#22211f 54%,#151410 100%)!important;
  border:0!important;border-bottom:1px solid rgba(174,147,104,.29)!important;
  cursor:zoom-in!important;
}
html.castle-page body[data-vault] .object-card > .obj-photo > img {
  display:block!important;position:relative!important;
  width:100%!important;height:100%!important;
  max-width:100%!important;max-height:100%!important;
  padding:0!important;margin:0!important;
  object-fit:contain!important;object-position:center!important;
  filter:none!important;transform:none!important;
  border-radius:0!important;
  transition:transform .35s ease!important;
}
html.castle-page body[data-vault] .object-card > .obj-photo:hover > img{
  transform:scale(1.025)!important;
}
/* Old Masters remain uncropped — including frames and edges. */
html.castle-page body[data-vault="paintings"] .object-card > .obj-photo {
  padding:clamp(6px,.7vw,13px)!important;
  background:radial-gradient(ellipse,#38332c,#161512 83%)!important;
  aspect-ratio:1.02!important;
}
html.castle-page body[data-vault="paintings"] .object-card > .obj-photo > img {
  object-fit:contain!important;
}
/* One coherent, discreet control strip, with one deliberately stronger enquiry. */
html.castle-page body[data-vault] #objectGrid .object-card > .watch-oncard-actions,
html.castle-page body[data-vault] #objectGrid .object-card > .painting-product-actions {
  display:grid!important;
  grid-template-columns:minmax(0,.7fr) minmax(0,.9fr) minmax(0,1.05fr) minmax(0,1.65fr)!important;
  width:100%!important;
  gap:1px!important;margin:0!important;
  padding:0!important;background:#4e4537!important;
  border:0!important;border-block:1px solid rgba(162,137,96,.62)!important;
  position:relative!important;z-index:1!important;
}
html.castle-page body[data-vault] #objectGrid .object-card > .watch-oncard-actions > button,
html.castle-page body[data-vault] #objectGrid .object-card > .painting-product-actions > button {
  width:100%!important;min-width:0!important;
  min-height:44px!important;
  padding:9px 3px!important;
  border:0!important;background:#181613!important;
  color:#e7ddcb!important;outline-offset:-3px!important;
  border-radius:0!important;
  font:600 clamp(8px,.68vw,10px)/1.26 "Cinzel",Georgia,serif!important;
  letter-spacing:.025em!important;
  overflow-wrap:anywhere!important;
  white-space:normal!important;
}
html.castle-page body[data-vault] #objectGrid .object-card > .watch-oncard-actions > button:last-child,
html.castle-page body[data-vault] #objectGrid .object-card > .painting-product-actions > button:last-child {
  color:#ffedd1!important;
  background:#4b282a!important;
  border-left:1px solid rgba(225,192,132,.52)!important;
}
html.castle-page body[data-vault] #objectGrid .object-card > .watch-oncard-actions > button:hover,
html.castle-page body[data-vault] #objectGrid .object-card > .painting-product-actions > button:hover{
  background:#6a3837!important;color:white!important;
}
html.castle-page body[data-vault] #objectGrid .object-card > .obj-info {
  display:block!important;
  flex:1 0 auto!important;
  padding:clamp(17px,1.9vw,26px)!important;
  margin:0!important;min-height:146px!important;
  background:#11100e!important;
  box-sizing:border-box!important;
  color:var(--cg-ivory)!important;
  overflow:visible!important;
  border:0!important;
}
html.castle-page body[data-vault] #objectGrid .object-card .obj-info h3 {
  font:400 clamp(19px,1.8vw,28px)/1.23 Georgia,"Times New Roman",serif!important;
  letter-spacing:.005em!important;
  color:var(--cg-ivory)!important;
  margin:0 0 10px!important;
  overflow-wrap:break-word!important;
  text-transform:none!important;
}
html.castle-page body[data-vault] #objectGrid .object-card .obj-info h3 a {
  color:inherit!important;
  text-decoration:none!important;
  border-bottom:1px solid transparent;
}
html.castle-page body[data-vault] #objectGrid .object-card .obj-info h3 a:hover,
html.castle-page body[data-vault] #objectGrid .object-card .obj-info h3 a:focus-visible {
  border-bottom-color:#d5b577!important;
  color:#f8e0b4!important;
}
html.castle-page body[data-vault] #objectGrid .object-card .obj-info p {
  font:400 clamp(11px,.86vw,13px)/1.5 Arial,sans-serif!important;
  color:#c9c0b0!important;margin:0!important;
}
html.castle-page body[data-vault] #objectGrid .object-card .obj-info .obj-price {
  font:500 clamp(12px,1.05vw,15px)/1.5 Arial,sans-serif!important;
  margin:12px 0 0!important;
  color:var(--cg-gold)!important;
  min-height:1.6em!important;
}
/* Private-jewelry section uses the same grid and polished gallery setting. */
html.castle-page body[data-vault="jewelry"] section.catalogue {
  background:transparent!important;
}
html.castle-page body[data-vault="jewelry"] #objectGrid.unified-jewel-grid,
html.castle-page body[data-vault="jewelry"] #ringGrid.unified-jewel-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:clamp(22px,2.35vw,42px) clamp(14px,1.7vw,27px)!important;
  width:100%!important;max-width:1900px!important;
  margin:0 auto!important;
}
html.castle-page body[data-vault="jewelry"] .unified-jewel-card {
  min-width:0!important;
  background:var(--cg-ink)!important;
}
html.castle-page body[data-vault="jewelry"] .unified-jewel-media,
html.castle-page body[data-vault="jewelry"] .yellow-suite-switcher{
  width:100%!important;
  height:auto!important;min-height:0!important;
  aspect-ratio:1.08!important;
  background:radial-gradient(ellipse at center,#302c25 0%,#171613 75%)!important;
  overflow:hidden!important;
  border-bottom:1px solid rgba(174,147,104,.42)!important;
}
html.castle-page body[data-vault="jewelry"] .unified-jewel-media > img,
html.castle-page body[data-vault="jewelry"] .unified-jewel-media > video {
  height:100%!important;max-height:100%!important;
  width:100%!important;object-fit:contain!important;padding:15px!important;
  background:transparent!important;
}
html.castle-page body[data-vault="jewelry"] .unified-jewel-body {
  padding:clamp(17px,1.9vw,26px)!important;
  background:#11100e!important;
  min-height:175px!important;
  gap:9px!important;
}
html.castle-page body[data-vault="jewelry"] .unified-jewel-body h3 {
  font:400 clamp(20px,1.8vw,28px)/1.25 Georgia,serif!important;
  margin:0!important;background:transparent!important;
}
html.castle-page body[data-vault="jewelry"] .unified-jewel-body p {
  font:400 12px/1.48 Arial,sans-serif!important;
  background:transparent!important;
}
html.castle-page body[data-vault="jewelry"] .unified-jewel-price {
  font:500 clamp(16px,1.5vw,21px)/1.3 Arial,sans-serif!important;
  background:transparent!important;color:var(--cg-gold)!important;
}
html.castle-page body[data-vault="jewelry"] .unified-jewel-enquire {
  min-height:44px!important;
  width:100%!important;
  font:600 11px/1.3 "Cinzel",Georgia,serif!important;
  margin:12px 0 0!important;
  border:1px solid #8c7554!important;
  background:#4b282a!important;
}
/* Gallery headers and forms should occupy no more attention than the objects. */
html.castle-page body[data-vault] .inquiries {
  background:transparent!important;
  padding:42px clamp(14px,3.25vw,52px) 80px!important;
}
html.castle-page body[data-vault] .inquiries-head h2 {
  font:400 clamp(24px,3.6vw,40px)/1.24 "Cinzel",Georgia,serif!important;
  color:var(--cg-gold)!important;
}
html.castle-page body[data-vault] #inquiryForm {
  max-width:940px!important;
  margin:0 auto!important;
  padding:clamp(18px,3vw,42px)!important;
  background:rgba(11,10,9,.96)!important;
  border:1px solid rgba(176,148,104,.52)!important;
  box-shadow:0 14px 38px rgba(0,0,0,.30)!important;
  color:var(--cg-ivory)!important;
}
html.castle-page body[data-vault] #inquiryForm label {
  color:#e8ddcc!important;
}
html.castle-page body[data-vault] #inquiryForm input,
html.castle-page body[data-vault] #inquiryForm select,
html.castle-page body[data-vault] #inquiryForm textarea {
  color:var(--cg-ivory)!important;
  background:#191714!important;
  padding:10px!important;
  border:1px solid #857052!important;
  border-radius:0!important;
}
html.castle-page body[data-vault] #inquiryForm .hidden-trap {
  position:absolute!important;left:-9999px!important;
}
html.castle-page body[data-vault] .empty-state {
  background:rgba(12,11,9,.93)!important;
  padding:35px 25px!important;border:1px solid rgba(185,149,93,.5)!important;
}
@media(max-width:1060px){
  html.castle-page body[data-vault] .object-grid,
  html.castle-page body[data-vault="jewelry"] #objectGrid.unified-jewel-grid,
  html.castle-page body[data-vault="jewelry"] #ringGrid.unified-jewel-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:640px){
  html.castle-page body[data-vault] .object-grid,
  html.castle-page body[data-vault="jewelry"] #objectGrid.unified-jewel-grid,
  html.castle-page body[data-vault="jewelry"] #ringGrid.unified-jewel-grid {
    grid-template-columns:minmax(0,1fr)!important;
    gap:16px!important;
  }
  html.castle-page body[data-vault] section.catalogue{
    padding:6px 3.3vw 48px!important;
  }
  html.castle-page body[data-vault] .object-card > .obj-photo,
  html.castle-page body[data-vault="paintings"] .object-card > .obj-photo {
    aspect-ratio:1.13!important;
  }
  html.castle-page body[data-vault] #objectGrid .object-card > .obj-info {
    min-height:0!important;
    padding:20px!important;
  }
  html.castle-page body[data-vault] #objectGrid .object-card .obj-info h3 {
    font-size:23px!important;
  }
  html.castle-page body[data-vault] #objectGrid .object-card > .watch-oncard-actions > button,
  html.castle-page body[data-vault] #objectGrid .object-card > .painting-product-actions > button {
    min-height:46px!important;font-size:9px!important;
  }
  html.castle-page body[data-vault="jewelry"] .unified-jewel-card {
    max-width:none!important;
  }
  html.castle-page body[data-vault] #inquiryForm {padding:19px!important;}
}
@media(prefers-reduced-motion:reduce){
 html.castle-page body[data-vault] .obj-photo img{transition:none!important}
}

/* Final visual pass: product information is one uninterrupted matte surface. */
html.castle-page body[data-vault] #objectGrid .object-card .obj-info > div,
html.castle-page body[data-vault] #objectGrid .object-card .obj-info h3,
html.castle-page body[data-vault] #objectGrid .object-card .obj-info p,
html.castle-page body[data-vault] #objectGrid .object-card .obj-info .obj-price,
html.castle-page body[data-vault] #objectGrid .object-card .obj-info h3 a,
html.castle-page body[data-vault="jewelry"] .unified-jewel-body > h3,
html.castle-page body[data-vault="jewelry"] .unified-jewel-body > p,
html.castle-page body[data-vault="jewelry"] .unified-jewel-body > strong,
html.castle-page body[data-vault="jewelry"] .unified-jewel-body > div {
 background:transparent!important;
 background-image:none!important;
 border:0!important;
 box-shadow:none!important;
 text-shadow:none!important;
}
html.castle-page body[data-vault] #objectGrid .object-card .obj-info h3 a {
 border-bottom:1px solid transparent!important;
}
html.castle-page body[data-vault] #objectGrid .object-card .obj-info h3 a:hover {
 border-bottom-color:#d5b577!important;
}
html.castle-page body[data-vault] #objectGrid .object-card .obj-info h3,
html.castle-page body[data-vault] #objectGrid .object-card .obj-info p,
html.castle-page body[data-vault] #objectGrid .object-card .obj-info .obj-price {
 width:auto!important;
 padding:0!important;
}
