:root { --tdc-purple:#a10f7d; --tdc-purple-dark:#7f075f; --tdc-ink:#101827; }
body { background:#fff !important; }
.product-gallery-section,
.gallery-strip,
.gallery-preview,
.product-gallery-wrap,
.product-gallery-page,
.product-gallery-page-section,
section:has(.product-gallery-track),
section:has(.gallery-page-grid),
section:has(.product-gallery-page-grid) { background:#fff !important; background-image:none !important; }
.product-gallery-section .section-kicker,
.product-gallery-section .eyebrow,
.gallery-preview .section-kicker { color:var(--tdc-purple) !important; }
.product-gallery-viewport { overflow:hidden; width:100%; padding:14px 2px 24px; }
.product-gallery-track { display:flex !important; gap:28px !important; align-items:stretch; transition:transform .8s cubic-bezier(.22,.61,.36,1); will-change:transform; }
.product-gallery-card { flex:0 0 calc((100% - 84px) / 4); background:#fafafa !important; border:1px solid #ead2e6 !important; border-radius:4px !important; min-height:300px; padding:18px; box-shadow:0 18px 38px rgba(15,23,42,.09), 0 3px 10px rgba(161,15,125,.07); display:flex; align-items:center; justify-content:center; cursor:pointer; position:relative; overflow:hidden; }
.product-gallery-card::before,
.product-gallery-card::after,
.product-gallery-card *::before,
.product-gallery-card *::after { display:none !important; content:none !important; }
.product-gallery-card:hover { transform:translateY(-4px); box-shadow:0 22px 44px rgba(15,23,42,.12), 0 4px 14px rgba(161,15,125,.09); }
.product-gallery-card img { width:100%; height:255px; object-fit:contain; display:block; mix-blend-mode:normal; }
.product-gallery-card .gallery-title,
.product-gallery-card .gallery-caption,
.product-gallery-card .gallery-card-title,
.product-gallery-card h3,
.product-gallery-card p,
.product-gallery-card a:not(.gallery-zoom) { display:none !important; }
.gallery-zoom { position:absolute; right:16px; bottom:16px; width:auto !important; height:auto !important; background:transparent !important; color:#111 !important; border:0 !important; box-shadow:none !important; font-size:26px !important; line-height:1; font-weight:900; padding:0; display:flex; align-items:center; justify-content:center; text-decoration:none; }
.product-gallery-controls { display:flex; align-items:center; justify-content:space-between; pointer-events:none; position:absolute; inset:50% 20px auto 20px; transform:translateY(-50%); z-index:3; }
.product-gallery-controls button,
.gallery-arrow,
.gallery-nav button { pointer-events:auto; width:52px; height:52px; border-radius:999px; border:1px solid #bc3ba0; background:var(--tdc-purple) !important; color:#fff !important; box-shadow:0 14px 26px rgba(161,15,125,.24); display:inline-flex; align-items:center; justify-content:center; font-size:24px; }
.product-gallery-actions { text-align:center; margin-top:22px; }
.product-gallery-actions .btn,
.product-gallery-actions a { background:var(--tdc-purple) !important; color:#fff !important; border-color:var(--tdc-purple) !important; }
.gallery-page-grid,
.product-gallery-page-grid { display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; }
.gallery-page-grid .product-gallery-card,
.product-gallery-page-grid .product-gallery-card { flex:auto; min-height:300px; }
.tdc-lightbox { position:fixed; inset:0; background:rgba(0,0,0,.78); z-index:99999; display:none; align-items:center; justify-content:center; padding:94px 22px 28px; }
.tdc-lightbox.is-open { display:flex; }
.tdc-lightbox-panel { width:min(920px,92vw); max-height:calc(100vh - 130px); background:#fff; border:1px solid var(--tdc-purple); border-radius:8px; overflow:hidden; box-shadow:0 30px 80px rgba(0,0,0,.38); }
.tdc-lightbox-head { min-height:54px; background:#0b111d; color:#fff; display:flex; align-items:center; justify-content:flex-end; padding:10px 16px; }
.tdc-lightbox-close { background:transparent; border:0; color:#fff; font-size:34px; line-height:1; cursor:pointer; }
.tdc-lightbox-body { background:#fff; display:flex; align-items:center; justify-content:center; padding:18px; max-height:calc(100vh - 190px); overflow:auto; }
.tdc-lightbox-body img { max-width:100%; max-height:calc(100vh - 230px); object-fit:contain; display:block; }
@media (max-width:1199px){ .product-gallery-card{ flex-basis:calc((100% - 56px)/3); } .gallery-page-grid,.product-gallery-page-grid{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:767px){ .product-gallery-card{ flex-basis:calc((100% - 18px)/2); min-height:230px; padding:14px; } .product-gallery-card img{ height:190px; } .gallery-page-grid,.product-gallery-page-grid{ grid-template-columns:repeat(2,1fr); gap:16px; } }
@media (max-width:520px){ .product-gallery-card{ flex-basis:100%; } .gallery-page-grid,.product-gallery-page-grid{ grid-template-columns:1fr; } .product-gallery-controls{ inset:50% 8px auto 8px; } }
/* Solid professional gallery controls */
.tdc-gallery-arrow,
.tdc-gallery-view-all,
.gallery-arrow,
.product-gallery-actions .btn,
.product-gallery-actions a {
  color: #ffffff !important;
  border-color: #951276 !important;
  background-color: #951276 !important;
  background-image: none !important;
  box-shadow: none !important;
}
.tdc-gallery-arrow:hover,
.tdc-gallery-view-all:hover,
.gallery-arrow:hover,
.product-gallery-actions .btn:hover,
.product-gallery-actions a:hover {
  color: #ffffff !important;
  border-color: #74105d !important;
  background-color: #74105d !important;
  background-image: none !important;
  box-shadow: none !important;
}