/* High-tech DM Designs storefront theme. */
:root { --electric:#37d7ff; --violet:#8764ff; --acid:#c9ff52; --night:#070b18; --glass:rgba(20,29,53,.72); }
html { background:var(--night); }
body { color:#f6f8ff; background:radial-gradient(ellipse at 78% 4%,#182956 0,transparent 38%),var(--night); }
.announcement { background:#080c19; color:#c8d5f3; border-bottom:1px solid #202d4a; }
.site-header { background:rgba(7,11,24,.9); border-color:#25304d; backdrop-filter:blur(18px); }
.site-header nav a,.head-actions { color:#f4f7ff; }
.brand img { filter:drop-shadow(0 0 12px #36d7ff70); }
.cart-trigger { border-color:#53617f; color:#fff; border-radius:999px; }
.cart-trigger span { background:var(--electric); color:#07101c; }
.hero { min-height:690px; position:relative; isolation:isolate; color:#f6f8ff; background:radial-gradient(ellipse at 77% 50%,#163b70 0,transparent 38%),linear-gradient(122deg,#080d1d 12%,#111b39 62%,#121832); }
.hero:before { content:""; position:absolute; inset:0; z-index:-1; opacity:.16; background-image:linear-gradient(#788bb51a 1px,transparent 1px),linear-gradient(90deg,#788bb51a 1px,transparent 1px); background-size:46px 46px; mask-image:linear-gradient(to right,transparent,#000); }
.hero-copy { position:relative; z-index:2; }
.hero .eyebrow,.section .eyebrow,.custom-copy .eyebrow,.about-copy .eyebrow { color:var(--electric); }
.hero h1 { font:700 clamp(48px,6.1vw,82px)/.99 var(--sans); letter-spacing:-.065em; text-shadow:0 9px 36px #0008; }
.hero h1 em,.section h2 em,.custom-copy h2 em { color:var(--electric); font-style:normal; }
.hero-intro { color:#cfdaee; font-size:15px; }
.hero-proof { color:#c8d5ee; }
.button.dark { color:#07101c; background:linear-gradient(110deg,var(--electric),#9cecff); border:0; border-radius:999px; box-shadow:0 9px 30px #37d7ff30; font-weight:700; transition:transform .22s,box-shadow .22s; }
.button.dark:hover { background:linear-gradient(110deg,#73e7ff,#c6f7ff); transform:translateY(-3px); box-shadow:0 16px 34px #37d7ff50; }
.text-link { color:#f3f7ff; border-color:#7485a8; }
.hero-art { perspective:1100px; transform-style:preserve-3d; }
.hero-art:before { content:""; position:absolute; width:min(39vw,480px); aspect-ratio:1; border-radius:50%; background:radial-gradient(circle,#24c9ff24,transparent 68%); filter:blur(6px); }
.hero-logo { width:min(76%,410px); position:relative; z-index:2; border-radius:32px; transform:rotateY(-11deg) rotateX(5deg); filter:drop-shadow(22px 35px 28px #0009) drop-shadow(0 0 24px #3ad7ff38); animation:logo-float 6s ease-in-out infinite; }
@keyframes logo-float { 0%,100%{transform:translateY(0) rotateY(-11deg) rotateX(5deg)}50%{transform:translateY(-13px) rotateY(-7deg) rotateX(2deg)} }
.ticker { color:#d9e8ff; background:#0d1428; border-block:1px solid #243251; }
.ticker i { color:var(--acid); }
.section { color:#f6f8ff; }
.shop-section,.gallery-section,.faq-section { background:transparent; }
.section h2 { color:#f6f8ff; font-family:var(--sans); font-weight:700; letter-spacing:-.055em; }
.section-heading>p,.section-heading .text-link { color:#b9c7e3; }
.search-row input,.category-pill { color:#eff5ff; background:#111a31; border-color:#2b3859; }
.category-pill.active,.category-pill:hover { color:#06111e; background:var(--electric); border-color:var(--electric); }
.product-card,.gallery-card { color:#f4f7ff; background:linear-gradient(145deg,rgba(26,38,67,.92),rgba(12,18,35,.96)); border:1px solid #2d3b60; border-radius:20px; overflow:hidden; box-shadow:0 15px 35px #0004; transition:transform .28s,box-shadow .28s,border-color .28s; }
.product-card:hover,.gallery-card:hover { transform:translateY(-8px) rotateX(1deg); border-color:#43d5ff9c; box-shadow:0 22px 45px #0007,0 0 0 1px #39d5ff27,0 0 28px #37d7ff16; }
.product-art { background:#10182b; }
.product-card img,.gallery-card img { transition:transform .55s cubic-bezier(.2,.7,.2,1); }
.product-card:hover img,.gallery-card:hover img { transform:scale(1.045); }
.product-name,.gallery-card h3 { color:#fff; }
.product-meta,.gallery-card p { color:#c0cce2; }
.gallery-card figcaption { padding:18px 20px 22px; }
.digital-studio { display:grid; grid-template-columns:.83fr 1.17fr; gap:24px 8%; align-items:center; position:relative; overflow:hidden; background:radial-gradient(ellipse at 75% 44%,#1d3e70 0,transparent 42%),linear-gradient(130deg,#10162a,#090e1b); border-block:1px solid #273654; }
.digital-intro { max-width:470px; }
.digital-intro h2 { font:700 clamp(38px,4.4vw,58px)/1.05 var(--sans); letter-spacing:-.06em; margin:18px 0; }
.digital-intro>p:not(.eyebrow) { color:#c0cce2; line-height:1.8; max-width:440px; }
.digital-intro .button { margin-top:12px; }
.digital-showcase { min-height:370px; position:relative; perspective:1200px; }
.browser-frame { position:absolute; width:88%; left:7%; top:42px; overflow:hidden; border:1px solid #6e83ae80; border-radius:16px; background:#f4f7ff; box-shadow:22px 35px 65px #0009,0 0 42px #27cbff25; transform:rotateY(-9deg) rotateX(4deg) rotateZ(-2deg); transition:transform .4s; }
.digital-showcase:hover .browser-frame { transform:rotateY(-3deg) rotateX(1deg) rotateZ(0) translateY(-5px); }
.browser-bar { height:31px; display:flex; align-items:center; gap:6px; padding:0 12px; background:#e2e9f6; color:#586784; }
.browser-bar>span { width:7px; height:7px; border-radius:50%; background:#ff747c; }.browser-bar>span:nth-child(2){background:#ffc755}.browser-bar>span:nth-child(3){background:#61d596}.browser-bar b { margin:auto; font-size:9px; font-weight:500; }
.browser-page { min-height:270px; padding:19px 22px; color:#141d34; background:linear-gradient(130deg,#fff,#eaf5ff); }
.mini-nav { display:flex; justify-content:space-between; align-items:center; font-size:8px; color:#4e5d79; }.mini-nav strong{font-size:10px;color:#17223b;letter-spacing:.08em}
.mini-hero { min-height:185px; margin-top:17px; padding:23px 25px; display:flex; align-items:flex-start; flex-direction:column; gap:9px; border-radius:10px; color:#fff; background:radial-gradient(circle at 83% 36%,#516fff,#192e58 42%,#0c142a 75%); box-shadow:0 12px 25px #213c772c; }
.mini-hero small { font-size:7px; letter-spacing:.12em; color:#7de8ff; }.mini-hero b{font-size:26px;line-height:1.05;letter-spacing:-.04em}.mini-hero i{font-size:8px;color:#d1dcf3;font-style:normal}.mini-hero span{margin-top:3px;padding:8px 11px;border-radius:99px;color:#0d1830;background:#8ceaff;font-size:7px;font-weight:700}
.mini-cards { display:flex; gap:9px; padding-top:12px; }.mini-cards i { height:27px; flex:1; border-radius:5px; background:linear-gradient(100deg,#d6e2f6,#f7f9ff); box-shadow:0 3px 8px #263c6320; }
.floating-chip { position:absolute; z-index:2; padding:12px 16px; border:1px solid #8deaff60; border-radius:999px; color:#f5fbff; background:linear-gradient(120deg,#1d3159eF,#101a31ed); box-shadow:0 12px 27px #0008,0 0 24px #37d7ff20; font-size:11px; font-weight:700; backdrop-filter:blur(12px); animation:chip-drift 5s ease-in-out infinite; }.chip-web{top:3px;right:1%}.chip-art{bottom:39px;left:0;animation-delay:-2s}.chip-mobile{right:1%;bottom:14px;animation-delay:-3.5s}
@keyframes chip-drift { 0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)} }
.digital-services { grid-column:1/-1; display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:8px; }
.digital-services article { padding:20px 22px; border:1px solid #354569; border-radius:14px; background:linear-gradient(135deg,#182442b8,#10182db8); box-shadow:0 12px 25px #0003; }.digital-services article>span{color:var(--acid);font-size:10px;letter-spacing:.12em}.digital-services h3{color:#fff;font-size:16px;margin:13px 0 7px}.digital-services p{color:#bfcce3;font-size:12px;line-height:1.7;margin:0}
.custom-band { color:#f5f8ff; background:radial-gradient(ellipse at 20% 50%,#154a73,#0b1021 66%); border-block:1px solid #25385d; }
.custom-copy h2 { font-family:var(--sans); font-weight:700; }
.custom-copy>p:not(.eyebrow) { color:#c5d0e6; }
.custom-stamp,.custom-box { box-shadow:0 30px 60px #0008; }
.about-section { color:#f5f7ff; }
.about-section p:not(.eyebrow) { color:#c1cde4; }
.benefits { color:#f6f8ff; background:#0e1529; border-block:1px solid #243250; }
.benefits p { color:#b9c6df; }
.benefit-icon { color:var(--acid); }
.quote-section { color:#f7f8ff; background:linear-gradient(120deg,#121e3a,#0a1020); }
.quote-mark { color:var(--electric); }
.faq-section { background:#0b1020; }
.faq-list details { color:#f4f7ff; background:#111a30; border-color:#2a3857; }
.faq-list details p { color:#c3cfe4; }
footer { color:#eaf0ff; background:#070b16; border-top:1px solid #283553; }
footer p,footer small,footer a,footer .footer-bottom { color:#b9c6df; }
footer h4 { color:#fff; }
.modal,.drawer { color:#161b28; }
/* Stronger copy contrast plus soft pools of light behind text-heavy areas. */
body { color:#f8faff; }
.eyebrow,.hero .eyebrow,.section .eyebrow,.custom-copy .eyebrow,.about-copy .eyebrow { color:#83e7ff; }
.hero-intro,.hero-proof,.section-heading>p,.gallery-card p,.digital-intro>p:not(.eyebrow),.digital-services p,.custom-copy>p:not(.eyebrow),.about-section p:not(.eyebrow),.benefits p,.faq-list details p { color:#e0e8f7; }
.text-link,.product-meta,.product-price,.product-card p,.footer-main p,.footer-main a,.footer-main small,.footer-bottom { color:#e0e8f7; }
.section-heading .text-link { color:#ecf5ff; }
.product-name,.product-card h3,.gallery-card h3,.digital-services h3,.benefits h3,.faq-list summary { color:#fff; }
.product-card .price { color:#83e7ff; }
.search-row input::placeholder { color:#c4d0e6; opacity:1; }
.category-pill { color:#e9f1ff; }
.footer-contact>span,.footer-hours p { color:#e0e8f7; }
.hero-copy { isolation:isolate; }
.hero-copy:before { content:""; position:absolute; z-index:-1; inset:-48px -36px -40px -46px; border-radius:34px; background:radial-gradient(ellipse at 38% 42%,#304c842e,transparent 74%); filter:blur(12px); pointer-events:none; }
.digital-intro { position:relative; isolation:isolate; }
.digital-intro:before { content:""; position:absolute; z-index:-1; inset:-28px -40px; background:radial-gradient(ellipse at 32% 44%,#2587bc24,transparent 72%); filter:blur(10px); pointer-events:none; }
.gallery-card figcaption,.product-card .product-info,.digital-services article,.faq-list details { background-image:linear-gradient(135deg,#22385b28,transparent 70%); }
.gallery-card figcaption p,.product-card .product-meta { text-shadow:0 1px 8px #070b18; }
.benefits,.faq-section,footer { background-image:radial-gradient(ellipse at 50% 0%,#1b37612e,transparent 65%); }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; scroll-behavior:auto!important; transition-duration:.01ms!important; } }
@media(max-width:900px) { .digital-studio{gap:22px 4%}.digital-showcase{min-height:330px}.browser-frame{width:94%;left:3%}.digital-services article{padding:17px} }
@media(max-width:650px) { .site-header nav { background:#0c1325; border-color:#283553; } .site-header nav a { color:#fff; } .hero { min-height:unset; } .hero h1 { font-size:clamp(42px,12vw,58px); } .hero-art { transform:scale(.92); margin-top:18px; } .hero-logo { width:min(78%,340px); } .digital-studio{grid-template-columns:1fr;gap:10px}.digital-intro h2{font-size:40px}.digital-showcase{min-height:300px;margin:4px -10px 0}.browser-frame{top:36px;width:91%;left:4%}.browser-page{min-height:235px;padding:14px}.mini-hero{min-height:155px;padding:18px}.mini-hero b{font-size:22px}.digital-services{grid-template-columns:1fr;margin-top:12px}.digital-services article{padding:16px 18px}.chip-web{right:0}.chip-art{left:0;bottom:28px}.chip-mobile{right:0;bottom:4px} }
/* Final high-contrast pass: raise text above decorative lighting and stop
   earlier, more-specific product styles from muting the copy. */
.site-header nav,.site-header nav a,.site-header nav a:hover,.site-header nav a:focus-visible { color:#fff!important; opacity:1!important; text-shadow:0 1px 10px #39d7ff65; }
.site-header nav a { font-weight:700; }
.product-card .product-name,.product-card h3,.product-card .product-meta,.product-card .product-meta span,.product-card .product-meta b,.product-card .price { color:#f7faff!important; opacity:1!important; }
.product-card .product-meta { font-size:12px; font-weight:600; text-shadow:0 1px 7px #0008; }
.product-card .product-meta .price { color:#8eeaff!important; font-weight:800; }
.product-card .product-name { text-shadow:0 1px 8px #0008; }
.product-card p,.gallery-card figcaption,.gallery-card h3,.gallery-card p { color:#f4f7ff!important; opacity:1!important; }
.gallery-card p,.product-card p { text-shadow:0 1px 8px #0009; }
.section-heading>p,.section-heading .text-link,.hero-intro,.hero-proof,.digital-intro p,.digital-services p,.custom-copy>p,.custom-copy>small,.about-copy p,.benefits p,.faq-list details p,.footer-main p,.footer-main a,.footer-main small,.footer-bottom,.footer-contact>span,.footer-hours p { color:#edf3ff!important; opacity:1!important; }
.eyebrow,.hero .eyebrow,.section .eyebrow,.custom-copy .eyebrow,.about-copy .eyebrow { color:#91eaff!important; opacity:1!important; text-shadow:0 1px 12px #27caff38; }
.section h2,.section h2 em,.hero h1,.hero h1 em,.custom-copy h2,.custom-copy h2 em,.benefits h3,.faq-list summary,.footer-main h4 { color:#fff!important; opacity:1!important; }
.category-pill { color:#f4f8ff!important; opacity:1!important; }
.faq-list details,.digital-services article,.gallery-card,.product-card { color:#f7faff; }
.about-section { background:radial-gradient(ellipse at 22% 45%,#193765 0,transparent 55%),linear-gradient(120deg,#0d1428,#10182b); border-block:1px solid #293958; }
.about-section { color:#14223a!important; background:radial-gradient(ellipse at 82% 20%,#c5eaff 0,transparent 45%),linear-gradient(125deg,#f3f8ff,#e7f1ff 58%,#f7faff); border-color:#cbd9ec; }
.about-section .eyebrow { color:#075eb8!important; text-shadow:none; }
.about-section h2,.about-section h2 em { color:#101d34!important; text-shadow:none; }
.about-section .about-copy p:not(.eyebrow) { color:#263953!important; text-shadow:none; }
.logo-design-offer { display:grid; grid-template-columns:minmax(170px,.55fr) 1.45fr; gap:30px; align-items:center; margin-top:38px; padding:clamp(22px,4vw,42px); border:1px solid #4b6b9b; border-radius:24px; color:#f7faff; background:radial-gradient(ellipse at 12% 55%,#174777 0,transparent 45%),linear-gradient(125deg,#141f3a,#0d1426 72%); box-shadow:0 24px 55px #0005,0 0 42px #39d7ff12; overflow:hidden; }
.logo-art-card { min-height:180px; display:flex; flex-direction:column; align-items:center; justify-content:center; position:relative; border:1px solid #8eeaff60; border-radius:18px; color:#fff; background:linear-gradient(145deg,#203b6a,#0c1325 70%); box-shadow:inset 0 1px #ffffff20,0 17px 32px #0006; transform:perspective(700px) rotateY(8deg) rotateX(3deg); }
.logo-art-card:before { content:""; position:absolute; inset:14px; border:1px solid #7bdfff42; border-radius:12px; }
.logo-art-card span { position:relative; font-size:clamp(42px,5vw,64px); line-height:1; font-weight:800; letter-spacing:-.1em; color:#fff; text-shadow:3px 4px 0 #2762a4,0 0 24px #38d7ff90; }
.logo-art-card i { position:relative; margin-top:10px; color:#bfefff; font-size:8px; letter-spacing:.25em; font-style:normal; }
.logo-art-card b { position:absolute; right:24px; top:19px; color:#d6ff65; font-size:18px; }
.logo-offer-copy .eyebrow { color:#91eaff!important; }
.logo-offer-copy h3 { margin:10px 0 12px; color:#fff; font-size:clamp(25px,3vw,34px); letter-spacing:-.04em; }
.logo-offer-copy>p:not(.eyebrow) { max-width:720px; margin:0; color:#edf3ff!important; line-height:1.8; }
.logo-offer-bottom { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-top:23px; padding-top:18px; border-top:1px solid #455575; }
.logo-offer-bottom>div { display:grid; gap:4px; }
.logo-offer-bottom span { color:#c7d4ea; font-size:11px; }
.logo-offer-bottom strong { color:#c9ff68; font-size:19px; }
.logo-offer-bottom small { color:#e0e8f7; font-size:11px; }
@media(max-width:700px) { .logo-design-offer { grid-template-columns:1fr; gap:23px; margin-top:28px; padding:22px; }.logo-art-card { min-height:145px; max-width:340px; width:100%; margin:auto; }.logo-offer-bottom { align-items:flex-start; flex-direction:column; }.logo-offer-bottom .button { width:100%; justify-content:space-between; } }
@media(max-width:980px) { .site-header { height:70px; padding:0 4%; }.site-header nav { display:none; position:absolute; top:100%; left:0; right:0; padding:22px 6%; flex-direction:column; gap:18px; background:#0c1325; border-bottom:1px solid #283553; }.site-header nav.open { display:flex; }.site-header .menu-toggle { display:block; color:#fff; } }
.site-header nav a { position:relative; display:inline-block; transition:color .2s ease,transform .2s ease,text-shadow .2s ease; }
.site-header nav a:after { content:""; position:absolute; left:0; right:0; bottom:5px; height:2px; border-radius:2px; background:linear-gradient(90deg,var(--electric),var(--violet)); transform:scaleX(0); transform-origin:left; transition:transform .22s ease; box-shadow:0 0 12px #37d7ff90; }
.site-header nav a:hover,.site-header nav a:focus-visible { color:var(--electric)!important; transform:translateY(-2px); text-shadow:0 0 14px #37d7ff8a; outline:none; }
.site-header nav a:hover:after,.site-header nav a:focus-visible:after { transform:scaleX(1); }
.site-header #search-toggle,.site-header .icon-button { color:#fff!important; opacity:1; text-shadow:0 0 12px #37d7ff63; transition:color .2s ease,transform .2s ease,text-shadow .2s ease; }
.site-header .search-icon { display:block; width:22px; height:22px; color:#fff; }
.site-header #search-toggle:hover,.site-header .icon-button:hover,.site-header #search-toggle:focus-visible,.site-header .icon-button:focus-visible { color:var(--electric)!important; transform:translateY(-2px) scale(1.08); outline:2px solid #37d7ff80; outline-offset:4px; }
.logo-art-card { aspect-ratio:3/2; min-height:0; padding:0; overflow:hidden; }
.logo-art-card img { display:block; width:100%; height:100%; object-fit:contain; border-radius:inherit; }
@media(max-width:700px) { .logo-art-card { min-height:0; max-width:340px; aspect-ratio:3/2; } }
.detail-grid>.product-art:has(.sublimation-product-photo) { height:auto; aspect-ratio:3/2; background:transparent!important; }
#product-detail .sublimation-product-photo { display:block; width:100%!important; height:100%!important; padding:0!important; object-fit:contain!important; object-position:center!important; transform:none!important; filter:none!important; }
.quote-section { position:relative; overflow:hidden; background:radial-gradient(ellipse at 50% 5%,#23477a 0,transparent 58%),linear-gradient(120deg,#101a32,#080e1d); border-block:1px solid #2c4265; }
.quote-section .eyebrow { color:#9aeaff!important; font-weight:800; text-shadow:0 0 16px #32caff66; }
.quote-section blockquote { color:#fff!important; font:700 clamp(24px,3vw,38px)/1.25 var(--sans); text-shadow:0 2px 18px #6bdcff42; }
.quote-section .quote-mark { color:#a5edff!important; text-shadow:0 0 25px #36ceff80; }
.quote-section .quote-by { color:#e4f2ff!important; font-weight:700; letter-spacing:.08em; }
.footer-main .contact-icon-link svg,.footer-main .social-links svg { transform-origin:center; transition:transform .2s ease,filter .2s ease; }
.footer-main .contact-icon-link:hover svg,.footer-main .social-links a:hover svg { animation:footer-icon-bounce .55s ease both; filter:drop-shadow(0 5px 8px #35caff55); }
@keyframes footer-icon-bounce { 0%{transform:translateY(0) scale(1)}32%{transform:translateY(-6px) scale(1.16)}58%{transform:translateY(1px) scale(.97)}80%{transform:translateY(-3px) scale(1.06)}100%{transform:translateY(0) scale(1)} }

/* Keep the full custom magnet composition visible in each square card. */
.custom-magnets-thumb,.custom-magnets-photo,.custom-magnets-gallery-photo { object-fit:contain!important; object-position:center!important; background:#10182b; }
.product-card:focus-visible { outline:3px solid var(--electric); outline-offset:4px; }
#product-detail .product-art img:focus-visible,.gallery-card img:focus-visible { outline:3px solid var(--electric); outline-offset:-3px; }
