/* Modern Product Gallery */
.gallery-modern-hero { position:relative; overflow:hidden; padding:76px 0 88px; color:#fff; background:linear-gradient(135deg,#090d16 0%,#151321 58%,#230c20 100%); isolation:isolate; }
.gallery-modern-hero::before { position:absolute; inset:0; content:""; opacity:.14; background-image:linear-gradient(rgba(255,255,255,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.09) 1px,transparent 1px); background-size:46px 46px; mask-image:linear-gradient(to bottom,#000,transparent 88%); }
.gallery-modern-glow { position:absolute; width:620px; height:620px; right:-180px; top:-250px; border-radius:50%; background:radial-gradient(circle,rgba(184,36,145,.34),transparent 68%); filter:blur(10px); }
.gallery-breadcrumb { margin-bottom:50px; color:rgba(255,255,255,.65); }
.gallery-breadcrumb a { color:rgba(255,255,255,.76); }
.gallery-modern-kicker { display:inline-flex; align-items:center; gap:9px; margin-bottom:20px; color:#f1a8df; font-size:.78rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.gallery-modern-hero h1 { max-width:650px; margin:0 0 22px; color:#fff; font-size:clamp(3.1rem,6vw,6.4rem); font-weight:900; line-height:.94; letter-spacing:-.055em; }
.gallery-modern-hero h1 span { color:#ef4cc4; }
.gallery-modern-hero p { max-width:620px; margin:0; color:rgba(255,255,255,.72); font-size:clamp(1rem,1.3vw,1.18rem); line-height:1.8; }
.gallery-hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:24px; margin-top:32px; }
.gallery-text-link { display:inline-flex; align-items:center; gap:8px; color:#fff; font-weight:700; }
.gallery-text-link:hover { color:#ef4cc4; }
.gallery-proof-row { display:flex; align-items:stretch; flex-wrap:wrap; gap:0; margin-top:44px; }
.gallery-proof-row div { min-width:130px; padding:0 24px; border-left:1px solid rgba(255,255,255,.16); }
.gallery-proof-row div:first-child { padding-left:0; border-left:0; }
.gallery-proof-row strong,.gallery-proof-row span { display:block; }
.gallery-proof-row strong { color:#fff; font-size:1.38rem; font-weight:900; }
.gallery-proof-row span { margin-top:3px; color:rgba(255,255,255,.55); font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.07em; }
.gallery-hero-showcase { position:relative; min-height:520px; margin-left:30px; }
.gallery-showcase-main,.gallery-showcase-small { position:absolute; display:grid; place-items:center; overflow:hidden; border:1px solid rgba(255,255,255,.16); background:linear-gradient(145deg,rgba(255,255,255,.12),rgba(255,255,255,.035)); box-shadow:0 30px 70px rgba(0,0,0,.3); backdrop-filter:blur(10px); }
.gallery-showcase-main { inset:42px 80px 34px 18px; border-radius:24px; transform:rotate(-2deg); }
.gallery-showcase-small { width:180px; height:170px; right:0; border-radius:18px; }
.gallery-showcase-top { top:0; transform:rotate(4deg); }
.gallery-showcase-bottom { bottom:0; transform:rotate(3deg); }
.gallery-showcase-main img,.gallery-showcase-small img { width:100%; height:100%; padding:22px; object-fit:contain; filter:drop-shadow(0 24px 22px rgba(0,0,0,.24)); }
.gallery-showcase-main img { padding:48px; }
.gallery-showcase-badge { position:absolute; left:0; bottom:16px; display:inline-flex; align-items:center; gap:9px; padding:12px 17px; color:#fff; border:1px solid rgba(255,255,255,.16); border-radius:999px; background:rgba(9,13,22,.86); box-shadow:0 16px 32px rgba(0,0,0,.25); font-size:.78rem; font-weight:700; }
.gallery-showcase-badge i { color:#ef4cc4; }
.modern-gallery-section { padding:100px 0 112px; background:#f5f6f8; }
.modern-gallery-heading { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(320px,.65fr); align-items:end; gap:70px; margin-bottom:44px; }
.modern-gallery-heading h1 { margin:8px 0 0; color:#0f172a; font-size:clamp(2.25rem,4.3vw,4.6rem); font-weight:900; line-height:1.02; letter-spacing:-.045em; }
.modern-gallery-heading p { margin:0; color:#5b6678; font-size:1.03rem; line-height:1.8; }
.modern-gallery-toolbar { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:24px; padding:16px 20px; color:#586274; border:1px solid #dde1e7; border-radius:12px; background:#fff; font-size:.82rem; font-weight:700; }
.modern-gallery-toolbar i { margin-right:7px; color:#a10f7d; }
.modern-product-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.modern-product-card { min-width:0; }
.modern-product-card button { width:100%; height:100%; padding:0; overflow:hidden; text-align:left; border:1px solid #e0e3e8; border-radius:16px; background:#fff; box-shadow:0 14px 34px rgba(15,23,42,.08); transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease; }
.modern-product-card button:hover,.modern-product-card button:focus-visible { transform:translateY(-7px); border-color:rgba(161,15,125,.38); box-shadow:0 24px 55px rgba(15,23,42,.14),0 5px 0 rgba(161,15,125,.12); outline:none; }
.modern-product-image { position:relative; display:grid; place-items:center; aspect-ratio:1.08/1; overflow:hidden; background:radial-gradient(circle at 50% 42%,#fff 0%,#f5f2f3 72%,#ece8eb 100%); }
.modern-product-image::after { position:absolute; inset:auto 18px 16px auto; width:38px; height:3px; content:""; border-radius:4px; background:#a10f7d; opacity:.7; }
.modern-product-image img { width:100%; height:100%; padding:28px; object-fit:contain; filter:drop-shadow(0 18px 16px rgba(15,23,42,.17)); transition:transform .35s cubic-bezier(.2,.7,.2,1); }
.modern-product-card button:hover img { transform:scale(1.07) rotate(-1deg); }
.modern-product-card-meta { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:18px 19px 20px; }
.modern-product-card-meta small,.modern-product-card-meta strong { display:block; }
.modern-product-card-meta small { margin-bottom:4px; color:#a10f7d; font-size:.64rem; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }
.modern-product-card-meta strong { color:#101827; font-size:.94rem; font-weight:800; }
.modern-product-card-meta i { display:grid; flex:0 0 38px; width:38px; height:38px; place-items:center; color:#a10f7d; border:1px solid #ead4e5; border-radius:50%; background:#fbf4f9; }
.gallery-modern-cta { padding:0 0 100px; background:#f5f6f8; }
.gallery-cta-panel { display:flex; align-items:center; justify-content:space-between; gap:50px; padding:52px 56px; color:#fff; border-radius:20px; background:linear-gradient(120deg,#111827 0%,#171625 62%,#4a123d 100%); box-shadow:0 26px 70px rgba(15,23,42,.18); }
.gallery-cta-panel h2 { margin:7px 0 10px; color:#fff; font-size:clamp(2rem,3.4vw,3.5rem); font-weight:900; letter-spacing:-.035em; }
.gallery-cta-panel p { max-width:720px; margin:0; color:rgba(255,255,255,.68); }
.gallery-cta-panel .btn { flex:0 0 auto; }
.modern-gallery-modal .modal-content { overflow:hidden; border:1px solid rgba(239,76,196,.3); border-radius:18px; background:#111827; box-shadow:0 38px 100px rgba(0,0,0,.48); }
.modern-gallery-modal .modal-header { padding:17px 22px; color:#fff; border-bottom:1px solid rgba(255,255,255,.1); }
.modern-gallery-modal .modal-header span { color:#ef4cc4; font-size:.62rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.modern-gallery-modal .modal-title { margin:2px 0 0; color:#fff; }
.modern-gallery-modal .modal-body { display:grid; min-height:62vh; padding:28px; place-items:center; background:#f5f4f4; }
.modern-gallery-modal .modal-body img { display:block; max-width:100%; max-height:68vh; object-fit:contain; filter:drop-shadow(0 24px 22px rgba(15,23,42,.18)); }
@media (max-width:1199.98px){.modern-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-hero-showcase{margin-left:0}.gallery-showcase-small{width:155px;height:150px}}
@media (max-width:991.98px){.gallery-modern-hero{padding-top:58px}.gallery-breadcrumb{margin-bottom:34px}.gallery-hero-showcase{min-height:470px;max-width:680px;margin:15px auto 0}.modern-gallery-heading{grid-template-columns:1fr;gap:22px}.modern-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-cta-panel{align-items:flex-start;flex-direction:column}.gallery-proof-row{margin-bottom:8px}}
@media (max-width:575.98px){.gallery-modern-hero{padding:44px 0 62px}.gallery-modern-hero h1{font-size:clamp(2.8rem,16vw,4.4rem)}.gallery-proof-row{gap:18px}.gallery-proof-row div{min-width:auto;padding:0 16px}.gallery-hero-showcase{min-height:365px}.gallery-showcase-main{inset:36px 48px 24px 0}.gallery-showcase-small{width:120px;height:115px}.gallery-showcase-main img{padding:32px}.modern-gallery-section{padding:72px 0 80px}.modern-gallery-toolbar{align-items:flex-start;flex-direction:column}.modern-gallery-hint{display:none}.modern-product-grid{grid-template-columns:1fr;gap:18px}.modern-product-image{aspect-ratio:1.2/1}.gallery-modern-cta{padding-bottom:70px}.gallery-cta-panel{padding:34px 26px;border-radius:14px}.gallery-cta-panel .btn{width:100%}}
/* Final gallery contrast and image-only card treatment */
body.theme-light .gallery-modern-hero,
body.theme-light .gallery-modern-hero p { color: rgba(255,255,255,.78) !important; }
body.theme-light .gallery-modern-hero h1 {
  color: #ffffff !important;
  text-shadow: 0 12px 38px rgba(0,0,0,.3);
}
body.theme-light .gallery-modern-hero h1 span { color: #ef4cc4 !important; }
body.theme-light .gallery-modern-kicker { color: #ff92dc !important; }
body.theme-light .gallery-modern-hero .gallery-text-link { color: #ffffff !important; }
body.theme-light .gallery-modern-hero .gallery-text-link:hover { color: #ef4cc4 !important; }
body.theme-light .gallery-proof-row strong { color: #ffffff !important; }
body.theme-light .gallery-proof-row span { color: rgba(255,255,255,.62) !important; }
.modern-product-card button { position: relative; }
.modern-product-card button::after {
  position: absolute;
  right: 16px;
  bottom: 16px;
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  color: #ffffff;
  border-radius: 50%;
  background: rgba(161,15,125,.92);
  box-shadow: 0 10px 24px rgba(161,15,125,.25);
  content: "\2197";
  font-size: 1.15rem;
  font-weight: 800;
  opacity: 0;
  transform: translateY(7px);
  transition: opacity .24s ease, transform .24s ease;
}
.modern-product-card button:hover::after,
.modern-product-card button:focus-visible::after { opacity: 1; transform: translateY(0); }
.modern-product-image { aspect-ratio: 1.12 / 1; }
.modern-product-image::after { display: none; }
.modern-product-image img { padding: 32px; }
@media (hover:none) {
  .modern-product-card button::after { opacity: 1; transform: none; }
}