/*
Theme Name: UV Print Co.
Theme URI: https://uvprintco.com
Author: UV Print Co.
Description: Custom WooCommerce theme for UV Print Co. personalized gifts and UV printing.
Version: 0.9.17
Requires at least: 6.7
Tested up to: 7.0
Requires PHP: 8.1
Text Domain: uvprintco
*/

:root { --ink:#173d3a; --teal:#255e59; --mint:#d9eeea; --cream:#f7f1e8; --paper:#fffdf9; --coral:#e7775f; --gold:#dfa942; --muted:#6e7975; --font-sans:"DM Sans"; --font-serif:"Playfair Display"; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--font-sans), sans-serif; }
a { color:inherit; text-decoration:none; }
button { font:inherit; }
.announcement { background:var(--ink); color:#fff; text-align:center; font-size:12px; letter-spacing:.09em; padding:10px 16px; }
.announcement span { color:#efb989; margin:0 10px; }
.site-header { height:84px; padding:0 clamp(22px,4vw,68px); display:flex; align-items:center; gap:34px; background:rgba(255,253,249,.96); position:sticky; top:0; z-index:20; border-bottom:1px solid #e8e4dc; }
.brand { font-weight:800; letter-spacing:.13em; font-size:17px; white-space:nowrap; }
.brand span { display:inline-grid; place-items:center; height:38px; width:38px; border-radius:50%; margin-right:8px; color:white; background:var(--coral); letter-spacing:-.08em; font-size:14px; transform:rotate(-5deg); }
.logo-lockup { width:92px; height:68px; display:block; overflow:hidden; position:relative; flex:0 0 auto; }
.logo-lockup img { position:absolute; width:188px; max-width:none; height:auto; left:-48px; top:-26px; }
.desktop-nav { display:flex; justify-content:center; gap:clamp(14px,1.8vw,30px); flex:1; font-size:16px; font-weight:650; }
.desktop-nav a { padding:31px 0; border-bottom:2px solid transparent; }
.desktop-nav a:hover { color:var(--coral); border-color:var(--coral); }
.header-tools { display:flex; align-items:center; gap:7px; }
.header-tools button { border:0; background:none; color:var(--ink); cursor:pointer; padding:8px; font-weight:700; }
.header-tools button span { display:inline-grid; place-items:center; color:#fff; background:var(--coral); border-radius:50%; width:18px; height:18px; font-size:10px; }
.mobile-menu { display:none; position:relative; }
.mobile-menu summary { list-style:none; border:1px solid var(--ink); padding:8px 12px; font-weight:700; }
.mobile-menu nav { position:absolute; right:0; top:45px; width:220px; padding:15px; background:white; box-shadow:0 15px 40px #173d3a22; display:flex; flex-direction:column; }
.mobile-menu a { padding:10px; }
.hero { min-height:690px; background:linear-gradient(120deg,#e7f3ef 0 55%,#f5eee3 55%); display:grid; grid-template-columns:55% 45%; overflow:hidden; }
.hero-art { position:relative; min-height:690px; background:radial-gradient(circle at 24% 18%,#fff8 0 3px,transparent 4px), radial-gradient(circle at 70% 70%,#fff8 0 3px,transparent 4px); }
.hero-copy { align-self:center; padding:70px clamp(36px,6vw,105px) 70px clamp(36px,5vw,85px); position:relative; z-index:2; }
.eyebrow { font-size:11px; letter-spacing:.2em; font-weight:800; color:var(--coral); margin:0 0 20px; }
h1,h2,blockquote { font-family:var(--font-serif), serif; font-weight:500; letter-spacing:-.035em; }
h1 { font-size:clamp(52px,5vw,76px); line-height:.94; margin:0; }
h1 em,h2 em,blockquote em { color:var(--coral); font-weight:500; }
.hero-text { font-size:17px; line-height:1.7; max-width:470px; color:#526461; margin:30px 0; }
.button-row { display:flex; gap:12px; flex-wrap:wrap; }
.button { min-height:52px; padding:0 24px; display:inline-flex; align-items:center; justify-content:center; gap:28px; font-weight:750; font-size:13px; transition:.2s transform,.2s box-shadow; }
.button:hover { transform:translateY(-2px); box-shadow:0 8px 20px #173d3a22; }
.button-dark { background:var(--ink); color:white; }
.button-light { background:transparent; border:1px solid #9fa9a5; }
.microcopy { font-size:11px; color:#6e7975; margin-top:24px; }
.microcopy span { color:var(--gold); letter-spacing:.08em; margin-right:8px; }
.hero-photo,.product-image,.transform-image { background-position:center; background-size:cover; }
.hero-photo { position:absolute; box-shadow:0 22px 45px #173d3a30; border:10px solid white; }
.hero-photo-main { width:43%; height:58%; top:10%; left:10%; background-image:linear-gradient(0deg,#17192366,transparent 42%),url('assets/images/bride-wall-art.png'); transform:rotate(-4deg); border-width:8px; box-shadow:8px 10px 0 #c8c1b8,12px 18px 42px #2916414a; }
.photo-label { position:absolute; color:#fff; bottom:17px; left:22px; font-family:var(--font-serif); font-style:italic; font-size:24px; }
.hero-photo-small { width:22%; height:27%; right:14%; top:10%; background-image:url('https://images.unsplash.com/photo-1558788353-f76d92427f16?auto=format&fit=crop&w=700&q=90'); transform:rotate(5deg); border-radius:7px; border-width:6px; }
.hero-photo-family { width:22%; height:25%; right:5%; top:38%; background-image:url('https://images.unsplash.com/photo-1609220136736-443140cffec6?auto=format&fit=crop&w=700&q=90'); transform:rotate(-5deg); border-radius:7px; border-width:6px; }
.product-tag { position:absolute; left:50%; bottom:-27px; transform:translateX(-50%); background:#171923; color:white; padding:5px 9px; font:700 8px var(--font-sans); letter-spacing:.09em; text-transform:uppercase; white-space:nowrap; }
.hero-photo-main .product-tag { top:-22px; bottom:auto; background:linear-gradient(90deg,var(--violet),var(--coral)); }
.coaster { position:absolute; width:150px; height:150px; border-radius:50%; background:#f6dcc1; box-shadow:0 18px 35px #173d3a28; display:grid; place-items:center; text-align:center; font-family:var(--font-serif); font-size:19px; letter-spacing:.05em; line-height:1.1; border:7px solid #fff8; }
.coaster:after { content:""; position:absolute; inset:6px -5px -8px 5px; border-radius:50%; border-bottom:8px solid #9b8c7f; z-index:-1; }
.coaster-one { left:17%; bottom:5%; transform:rotate(8deg); color:#b54f43; }.coaster-one>small{position:absolute;bottom:-25px;font:700 7px var(--font-sans);color:#171923;white-space:nowrap;letter-spacing:.1em}
.coaster-two { left:39%; bottom:9%; background:#315f5b; color:white; transform:rotate(-9deg); }
.coaster-two small { font-family:var(--font-sans); font-size:8px; }
.coaster-two>b { position:absolute; bottom:-25px; color:#171923; font:700 7px var(--font-sans); letter-spacing:.1em; white-space:nowrap; }
.light-art { position:absolute; right:6%; bottom:5%; width:145px; text-align:center; transform:rotate(3deg); }.light-panel{height:125px;background:linear-gradient(145deg,#132b46cc,#5b218dcc,#d30b72bb),url('https://images.unsplash.com/photo-1541961017774-22349e4a1262?auto=format&fit=crop&w=500&q=80') center/cover;border:5px solid #ffe7bc;color:#fff;font:22px var(--font-serif);display:grid;place-content:center;box-shadow:0 0 15px #ffad24,0 0 30px #ed087688}.light-panel span{font-size:12px;font-style:italic}.light-art>small{display:inline-block;margin-top:10px;background:#171923;color:#fff;padding:5px 8px;font:700 7px var(--font-sans);letter-spacing:.1em}
.spark { position:absolute; color:var(--gold); font-size:30px; }.spark-one{top:10%;left:8%}.spark-two{right:7%;bottom:18%}
.section { padding:110px clamp(24px,7vw,110px); }
.shop-section { background:var(--paper); }
.section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:40px; margin-bottom:50px; }
.section-heading h2,.memories-title h2,.custom-intro h2,.business-copy h2,.cta-section h2 { font-size:clamp(40px,4vw,62px); line-height:1.02; margin:0; }
.section-heading>p { width:350px; color:var(--muted); line-height:1.65; }
.product-grid { display:grid; grid-template-columns:1.25fr 1fr 1fr; gap:20px; }
.product-card { min-height:345px; display:flex; flex-direction:column; background:#f0ebe3; overflow:hidden; }
.product-tall { grid-row:span 2; }.product-wide { grid-column:span 2; }
.product-image { min-height:260px; flex:1; filter:saturate(.86); transition:.4s transform; }
.product-card:hover .product-image { transform:scale(1.025); }
.product-info { background:#f3eee6; padding:20px 22px; display:flex; justify-content:space-between; align-items:center; }
.product-info h3 { margin:0 0 5px; font-family:var(--font-serif); font-size:22px; }.product-info p { margin:0; font-size:11px; color:var(--muted); }.product-info>span{font-size:22px;color:var(--coral)}
.coming-soon { margin-top:25px; padding:20px 25px; border:1px solid #ddd7ce; display:flex; align-items:center; gap:20px; font-size:13px; }
.coming-soon span { background:var(--mint); padding:7px 10px; text-transform:uppercase; font-weight:800; letter-spacing:.1em; font-size:9px; }.coming-soon p{flex:1;color:var(--muted)}.coming-soon a{font-weight:800;color:var(--coral)}
.custom-section { background:var(--ink); color:#fff; padding:110px clamp(24px,7vw,110px); display:grid; grid-template-columns:.8fr 2fr; gap:8vw; }
.custom-intro>p:last-child { color:#b9c9c6; line-height:1.7; max-width:380px; }
.custom-paths { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:#ffffff2a; }
.custom-paths article { background:var(--ink); padding:35px 28px; min-height:390px; position:relative; display:flex; flex-direction:column; }
.path-number { position:absolute; top:20px; right:22px; color:#708c88; font-size:11px; }.path-icon { color:#efb389; width:64px;height:64px;border:1px solid #ffffff38;border-radius:50%;display:grid;place-items:center;font-family:var(--font-serif);font-size:24px;margin-bottom:35px}.upload-icon{font-family:var(--font-sans)}
.custom-paths h3 { font-family:var(--font-serif); font-size:23px; margin:0 0 16px; }.custom-paths p { color:#afc1be; font-size:13px; line-height:1.7; }.custom-paths a { margin-top:auto; font-size:12px; font-weight:800; color:#efb389; }.custom-paths a span{float:right}
.custom-intro { align-self:start; position:sticky; top:115px; }
.call-card { margin-top:42px; padding:28px; border:1px solid #ffffff2b; background:#ffffff0b; }
.call-card>span,.request-heading>span { display:grid; place-items:center; width:38px; height:38px; margin-bottom:20px; border:1px solid #ffffff3b; border-radius:50%; color:#ff8fbd; font-size:11px; font-weight:800; }
.call-card h3,.request-heading h3 { margin:5px 0 12px; font-family:var(--font-serif); font-size:27px; }
.call-card div>p:last-child { color:#c4bdcf; font-size:13px; line-height:1.65; }
.call-card a { display:flex; justify-content:space-between; margin-top:24px; padding-top:18px; border-top:1px solid #ffffff24; color:#ff8fbd; font-size:12px; font-weight:800; }
.request-panel { padding:42px; background:#fff; color:var(--ink); }
.request-heading { display:grid; grid-template-columns:auto 1fr; gap:20px; padding-bottom:28px; border-bottom:1px solid #ddd7df; }
.request-heading>span { border-color:#d7c8dc; color:var(--coral); }
.request-heading p:last-child { max-width:650px; margin:0; color:var(--muted); font-size:13px; line-height:1.6; }
.project-form { display:grid; grid-template-columns:1fr 1fr; gap:19px; padding-top:30px; }
.project-form label { display:flex; flex-direction:column; gap:8px; color:#34333a; font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.project-form input,.project-form select,.project-form textarea { width:100%; box-sizing:border-box; border:1px solid #d9d4dc; background:#faf8fb; color:var(--ink); padding:13px 14px; font:13px var(--font-sans); text-transform:none; outline:none; }
.project-form textarea { resize:vertical; line-height:1.55; }
.project-form input:focus,.project-form select:focus,.project-form textarea:focus { border-color:var(--violet); box-shadow:0 0 0 3px #6928d812; }
.form-wide { grid-column:1/-1; }.upload-field { padding:18px; border:1px dashed #c9becf; background:#f9f5fa; }.upload-field input { padding:8px; background:#fff; }.upload-field small { color:var(--muted); font-weight:500; letter-spacing:0; text-transform:none; }
.form-submit { display:flex; align-items:center; gap:24px; padding-top:8px; }.form-submit button { flex:none; border:0; padding:16px 22px; background:linear-gradient(110deg,#154db9,var(--violet) 38%,var(--coral) 73%,#ff7a2d); color:#fff; font-weight:800; cursor:pointer; }.form-submit button span{margin-left:16px}.form-submit p{margin:0;color:var(--muted);font-size:11px;line-height:1.5;text-transform:none;letter-spacing:0}
.form-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.form-notice{margin-top:28px;padding:18px 20px;border-left:5px solid var(--violet);background:#f5f0fa}.form-notice strong{font-family:var(--font-serif);font-size:20px}.form-notice p{margin:6px 0 0;color:var(--muted);font-size:13px}.form-success{border-color:#15956f;background:#edf9f5}.form-error{border-color:#c94343;background:#fff1f1}
.memories-section { text-align:center; background:#f4eee5; }.memories-title{margin-bottom:50px}.transformation-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;text-align:left}.transformation{background:#fff;box-shadow:0 14px 30px #173d3a12}.transform-image{height:280px;position:relative}.before-tag{position:absolute;top:12px;left:12px;background:#fff;padding:6px 9px;text-transform:uppercase;font-size:8px;letter-spacing:.12em;font-weight:800}.transform-caption{padding:17px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;font-size:11px;color:var(--muted)}.transform-caption strong{text-align:right;color:var(--ink)}.transform-caption span{color:var(--coral)}.t-2{transform:translateY(24px)}.t-4{transform:translateY(24px)}.text-link{display:inline-block;margin-top:65px;border-bottom:1px solid var(--coral);padding:8px 0;color:var(--coral);font-weight:800;font-size:12px}.text-link span{margin-left:30px}
.process-section { padding:110px clamp(24px,7vw,110px); background:#fff; }.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid #d9d7d0}.steps li{padding:30px 20px;border-right:1px solid #e3e0da;min-height:285px}.steps li>span{font-size:10px;color:var(--coral);font-weight:800}.step-mark{font-size:28px;margin:27px 0;color:var(--teal)}.steps h3{font-family:var(--font-serif);font-size:18px;margin:0 0 12px}.steps p{font-size:11px;line-height:1.6;color:var(--muted)}
.business-section { min-height:650px; display:grid; grid-template-columns:1.1fr .9fr; background:var(--mint); }.business-image{background:linear-gradient(#193f3d28,#193f3d28),url('https://images.unsplash.com/photo-1524758631624-e2822e304c36?auto=format&fit=crop&w=1200&q=85') center/cover;position:relative}.desk-card,.desk-sign{position:absolute;background:#f6eee3;box-shadow:0 20px 40px #173d3a30;text-align:center}.desk-card{left:18%;bottom:18%;padding:20px 30px;transform:rotate(-4deg)}.desk-card span,.desk-card strong{display:block}.desk-card small{font-family:var(--font-serif);font-style:italic;color:var(--coral)}.desk-sign{right:12%;top:18%;padding:22px 34px;background:#244f4b;color:white;transform:rotate(3deg)}.desk-sign span{display:block;font-size:8px;letter-spacing:.2em}.business-copy{align-self:center;padding:70px clamp(35px,7vw,110px)}.business-copy>p:not(.eyebrow){color:#526864;line-height:1.7}.business-copy ul{list-style:none;padding:0;columns:2;margin:25px 0 35px;font-size:12px}.business-copy li{margin:12px 0}.business-copy li:before{content:'✦';color:var(--coral);margin-right:8px}
.promise-section { padding:105px 25px; text-align:center; background:#fff; }.promise-section blockquote{font-size:clamp(36px,4vw,58px);line-height:1.15;margin:25px 0 45px}.promise-points{display:flex;justify-content:center;flex-wrap:wrap;gap:0}.promise-points span{padding:0 30px;border-right:1px solid #ddd;font-size:11px;font-weight:750}.promise-points span:last-child{border:0}
.cta-section { padding:110px 25px; text-align:center; color:white; background:var(--teal); position:relative; overflow:hidden }.cta-section:before,.cta-section:after{content:'';position:absolute;border:1px solid #ffffff1c;border-radius:50%;width:420px;height:420px}.cta-section:before{left:-170px;top:-220px}.cta-section:after{right:-170px;bottom:-220px}.cta-section .eyebrow{color:#f3b895}.cta-section h2 em{color:#f3b895}.cta-section>p:not(.eyebrow){color:#c5d5d2}.centered{justify-content:center;margin-top:30px}.button-cream{background:#f7eee1;color:var(--ink)}.button-outline{border:1px solid #ffffff80;color:#fff}.cta-spark{font-size:30px;color:var(--gold);position:absolute;left:18%;top:25%}
footer{background:#102f2d;color:#fff;padding:75px clamp(24px,7vw,110px) 25px}.footer-top{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:60px;padding-bottom:60px}.brand-light span{background:#ef8a70}.footer-logo{width:150px;height:112px}.footer-logo img{width:306px;left:-79px;top:-43px}.footer-top>div>p{color:#93aaa7;font-family:var(--font-serif);line-height:1.6}.footer-top h3{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#f0b292;margin:0 0 22px}.footer-top>div:not(:first-child){display:flex;flex-direction:column;gap:12px}.footer-top a{font-size:12px;color:#bed0cd}.footer-bottom{border-top:1px solid #ffffff1a;padding-top:23px;display:flex;justify-content:space-between;gap:20px;font-size:9px;color:#7f9b97}.footer-bottom div{display:flex;gap:20px}
@media(max-width:1050px){.desktop-nav{display:none}.mobile-menu{display:block}.header-tools{margin-left:auto}.hero{grid-template-columns:1fr 1fr}.product-grid{grid-template-columns:1fr 1fr}.product-tall{grid-row:auto}.product-wide{grid-column:auto}.custom-section{grid-template-columns:1fr}.custom-intro{position:static}.transformation-grid{grid-template-columns:1fr 1fr}.steps{grid-template-columns:repeat(3,1fr)}.business-section{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.announcement{font-size:9px}.site-header{height:68px;padding:0 18px}.header-tools button:not(:last-child){display:none}.brand{font-size:14px}.brand span{width:31px;height:31px}.hero{display:flex;flex-direction:column-reverse;background:#f5eee3}.hero-copy{padding:58px 25px 42px}.hero-art{min-height:540px;background-color:#e7f3ef}.hero-photo-main{width:48%;height:55%;left:5%;top:10%}.hero-photo-small{width:28%;height:27%;right:9%;top:9%}.hero-photo-family{width:28%;height:25%;right:3%;top:39%}.coaster{width:100px;height:100px;font-size:14px}.coaster-one{left:8%;bottom:5%}.coaster-two{left:35%;bottom:7%}.light-art{width:100px;right:3%;bottom:4%}.light-panel{height:90px;font-size:15px}.section,.process-section{padding:75px 20px}.section-heading{align-items:flex-start;flex-direction:column}.section-heading>p{width:auto}.product-grid{grid-template-columns:1fr}.product-wide{grid-column:auto}.coming-soon{align-items:flex-start;flex-direction:column}.coming-soon p{margin:0}.custom-section{padding:75px 20px}.custom-paths{grid-template-columns:1fr}.custom-paths article{min-height:315px}.request-panel{padding:28px 20px}.request-heading{grid-template-columns:1fr}.project-form{grid-template-columns:1fr}.form-wide{grid-column:auto}.form-submit{align-items:stretch;flex-direction:column}.form-submit button{width:100%}.transformation-grid{grid-template-columns:1fr}.t-2,.t-4{transform:none}.steps{grid-template-columns:1fr}.steps li{min-height:auto;border-bottom:1px solid #ddd}.business-section{grid-template-columns:1fr}.business-image{min-height:430px}.business-copy{padding:70px 24px}.promise-points{flex-direction:column;gap:14px}.promise-points span{border:0}.footer-top{grid-template-columns:1fr 1fr}.footer-top>div:first-child{grid-column:span 2}.footer-bottom{flex-direction:column}.mobile-menu{display:block}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.product-image{transition:none}}
@media(max-width:720px){.logo-lockup{width:72px;height:54px}.logo-lockup img{width:148px;left:-38px;top:-21px}.footer-logo{width:135px;height:101px}.footer-logo img{width:276px;left:-71px;top:-39px}}

/* Brand palette: drawn from the official UV PRINT Co. spectrum. */
:root { --ink:#171923; --teal:#087fa9; --mint:#e4f5f8; --cream:#f5f1ed; --paper:#fbfaf8; --coral:#ed0876; --gold:#ffad24; --muted:#686a74; --violet:#6928d8; --cyan:#08c3ed; }
.announcement { background:linear-gradient(90deg,#10141d,#342047 55%,#4a272b); }
.announcement span { color:var(--gold); }
.site-header { background:rgba(245,245,244,.97); border-bottom-color:#d8d7d5; }
.logo-lockup { border-radius:5px; box-shadow:0 4px 15px #251d3422; }
.desktop-nav a:hover { color:var(--coral); border-color:var(--coral); }
.header-tools button span { background:linear-gradient(135deg,var(--violet),var(--coral),var(--gold)); }
.hero { background:linear-gradient(120deg,#dcf5f8 0 34%,#f2e8f4 55%,#fff0dc 100%); }
.hero-art { background:radial-gradient(circle at 20% 18%,#08c3ed30 0 3px,transparent 4px),radial-gradient(circle at 76% 72%,#ed087640 0 3px,transparent 4px),linear-gradient(135deg,#dff8fb,#efe4f7 58%,#ffe8c5); }
.eyebrow { color:var(--coral); background:linear-gradient(90deg,var(--cyan),var(--violet) 44%,var(--coral) 72%,var(--gold)); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; width:max-content; }
h1 em,h2 em,blockquote em { color:var(--coral); background:linear-gradient(90deg,var(--violet),var(--coral) 48%,#ff7d2e); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.button-dark { background:linear-gradient(110deg,#154db9,var(--violet) 38%,var(--coral) 73%,#ff7a2d); box-shadow:0 8px 24px #6928d82b; }
.button-light { background:#ffffff73; border-color:#9d95a4; }
.hero-photo { box-shadow:0 22px 45px #47235a35; }
.hero-photo-small span { background:linear-gradient(145deg,var(--violet),var(--coral),#ff7731); }
.coaster-one { background:#ffe5ed; color:#b70059; }.coaster-two { background:linear-gradient(145deg,#084d77,var(--violet),var(--coral)); }
.product-info { background:#f2f0f1; }.coming-soon span { background:linear-gradient(90deg,#dff8fb,#f3e2f5); }
.custom-section { background:linear-gradient(135deg,#101823 0%,#25163b 52%,#42162f 100%); }
.custom-paths article { background:linear-gradient(145deg,#111a25,#251738); }.custom-paths { background:#ffffff20; }
.path-icon,.custom-paths a { color:#ff8fbd; }.custom-paths p,.custom-intro>p:last-child { color:#c4bdcf; }
.memories-section { background:linear-gradient(135deg,#edf9fa,#f4edf5 58%,#fff3e4); }
.text-link { border-color:var(--coral); color:var(--coral); }
.business-section { background:linear-gradient(135deg,#e0f7fa,#eee8f7 60%,#ffe8d1); }
.desk-sign { background:linear-gradient(140deg,#064f75,var(--violet),var(--coral)); }
.cta-section { background:linear-gradient(120deg,#064967 0%,#39205d 48%,#7d174d 76%,#9c452a 100%); }
.cta-section .eyebrow { background:linear-gradient(90deg,var(--cyan),#ff89bf,var(--gold)); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; margin-left:auto; margin-right:auto; }
.cta-section h2 em { background:linear-gradient(90deg,#ac8cff,#ff8fbd,#ffc05a); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.button-cream { background:#fff9f1; }.cta-spark,.spark { color:var(--gold); }
footer { background:linear-gradient(135deg,#0e131d,#21152e 65%,#321522); }.footer-top h3 { color:#ff93be; }.footer-top a { color:#d5ceda; }.footer-top>div>p { color:#aaa2af; }.footer-bottom { color:#88828d; }
.footer-logo { border-radius:0; box-shadow:none; }
.footer-top>div:first-child>p { margin-top:26px; }

/* High-impact brand pass. */
.announcement { background:#080a10; border-bottom:3px solid transparent; border-image:linear-gradient(90deg,var(--cyan),var(--violet),var(--coral),var(--gold)) 1; }
.site-header { background:#171923; color:#fff; border-bottom:0; box-shadow:0 8px 25px #17192333; }
.site-header:after { content:""; position:absolute; left:0; right:0; bottom:-4px; height:4px; background:linear-gradient(90deg,var(--cyan) 0 25%,var(--violet) 42%,var(--coral) 68%,var(--gold)); }
.site-header .header-tools button { color:#fff; }.site-header .mobile-menu summary { border-color:#fff; }.site-header .mobile-menu nav { color:var(--ink); }
.logo-lockup { box-shadow:0 0 18px #08c3ed66,0 0 28px #ed087640; }
.site-header .logo-lockup { border-radius:0; box-shadow:none; }
.site-header .logo-lockup img,
.footer-logo img {
  position:static;
  width:100%;
  height:100%;
  max-width:100%;
  object-fit:contain;
}
.hero { background:linear-gradient(110deg,#c6f4fb 0%,#e5d6f8 39%,#ffd3e5 70%,#ffe0aa 100%); }
.hero-art { background:radial-gradient(circle at 20% 20%,#08c3edaa 0,transparent 30%),radial-gradient(circle at 65% 44%,#6928d888 0,transparent 30%),radial-gradient(circle at 82% 70%,#ed087677 0,transparent 32%),linear-gradient(135deg,#bdedf5,#eed7f6 58%,#ffd5a0); }
.hero-copy { background:linear-gradient(115deg,#ffffffd9,#fff7f1c7); margin:34px 34px 34px 0; border-left:5px solid var(--coral); box-shadow:0 20px 60px #4c285326; }
.button-dark { background:linear-gradient(105deg,#04aedd,var(--violet) 34%,var(--coral) 68%,#ff7b27); }
.product-card { border-top:5px solid transparent; border-image:linear-gradient(90deg,var(--cyan),var(--violet),var(--coral),var(--gold)) 1; }
.coming-soon { border:2px solid transparent; background:linear-gradient(var(--paper),var(--paper)) padding-box,linear-gradient(90deg,var(--cyan),var(--violet),var(--coral),var(--gold)) border-box; }
.custom-section { position:relative; background:radial-gradient(circle at 7% 20%,#08c3ed38,transparent 30%),radial-gradient(circle at 88% 76%,#ed08763d,transparent 32%),linear-gradient(135deg,#070b12,#24113c 52%,#451128); }
.custom-paths article { border-top:3px solid var(--violet); }.custom-paths article:nth-child(1){border-color:var(--cyan)}.custom-paths article:nth-child(3){border-color:var(--coral)}
.memories-section { background:linear-gradient(125deg,#d8f7fb 0%,#efe1fa 44%,#ffe1ec 72%,#ffe6bd 100%); }
.transformation { border-bottom:5px solid var(--coral); }.transformation:nth-child(1){border-color:var(--cyan)}.transformation:nth-child(2){border-color:var(--violet)}.transformation:nth-child(4){border-color:var(--gold)}
.process-section { background:linear-gradient(180deg,#fff,#f4f0f7); }.steps { border-top:4px solid transparent; border-image:linear-gradient(90deg,var(--cyan),var(--violet),var(--coral),var(--gold)) 1; }
.business-section { background:linear-gradient(125deg,#c8f4fa,#e7daf8 49%,#ffd9e7 75%,#ffe0b1); }
.promise-section { background:#171923; color:#fff; }.promise-section .promise-points span { border-color:#ffffff30; }.promise-section .eyebrow { margin-left:auto; margin-right:auto; }
.cta-section { border-top:6px solid transparent; border-image:linear-gradient(90deg,var(--cyan),var(--violet),var(--coral),var(--gold)) 1; }
footer { border-top:4px solid transparent; border-image:linear-gradient(90deg,var(--cyan),var(--violet),var(--coral),var(--gold)) 1; }
footer .footer-logo { background:transparent; border:0; box-shadow:none; }
@media(max-width:720px){.hero-copy{margin:0;border-left:0;border-top:5px solid var(--coral)}.site-header{background:#171923}.site-header .brand{color:#fff}}

/* Hero product scale study: magnets above, canvas centered, coasters below. */
.magnet-fan { position:absolute; z-index:6; width:330px; height:170px; top:3%; left:50%; transform:translateX(-50%); }
.magnet { position:absolute; width:116px; height:116px; border-radius:9px; border:5px solid #f8f6f2; background-position:center; background-size:cover; box-shadow:0 10px 23px #2513324d,3px 5px 0 #8d8790; }
.magnet-pet { left:10px; top:30px; transform:rotate(-13deg); background-image:url('https://images.unsplash.com/photo-1558788353-f76d92427f16?auto=format&fit=crop&w=500&q=90'); }
.magnet-family { left:106px; top:14px; width:100px; height:140px; transform:rotate(-1deg); background-image:url('https://images.unsplash.com/photo-1609220136736-443140cffec6?auto=format&fit=crop&w=500&q=90'); }
.magnet-memory { right:10px; top:30px; transform:rotate(13deg); background-image:url('https://images.unsplash.com/photo-1520854221256-17451cc331bf?auto=format&fit=crop&w=500&q=90'); }
.collection-label { position:absolute; z-index:9; left:50%; transform:translateX(-50%); top:0; background:#171923; color:white; padding:5px 10px; font:800 8px var(--font-sans); letter-spacing:.12em; white-space:nowrap; }
.hero-art .hero-photo-main { width:34%; height:43%; top:27%; left:33%; transform:rotate(-2deg); border-width:7px; background-position:center 24%; box-shadow:7px 9px 0 #b4aca3,13px 20px 38px #29164152; z-index:4; }
.hero-art .hero-photo-main .photo-label { left:50%; bottom:13px; transform:translateX(-50%); background:#ffffffdc; color:#171923; padding:5px 9px; font:800 8px var(--font-sans); font-style:normal; letter-spacing:.1em; text-transform:uppercase; white-space:nowrap; }
.coaster-row { position:absolute; z-index:7; height:170px; width:590px; max-width:95%; left:50%; bottom:1%; transform:translateX(-50%); }
.coaster-row .collection-label { top:auto; bottom:0; }
.coaster-row .coaster { top:15px; bottom:auto; left:auto; width:118px; height:118px; font-size:15px; border-width:5px; }
.coaster-row .coaster-3 { width:88px; height:88px; font-size:12px; }
.coaster-floral { left:20px!important; transform:rotate(-9deg); background:#ffe5ed!important; color:#b70059!important; }
.coaster-monogram { left:157px!important; top:45px!important; transform:rotate(7deg); background:linear-gradient(145deg,#084d77,var(--violet),var(--coral))!important; color:white!important; }
.coaster-photo { right:130px; transform:rotate(8deg); background:linear-gradient(#17192344,#17192344),url('assets/images/bride-wall-art.png') center/cover!important; color:white!important; text-shadow:0 1px 4px #000; }
.coaster-art { right:24px; top:43px!important; transform:rotate(-8deg); background:linear-gradient(145deg,#08c3ed,#6928d8 48%,#ed0876)!important; color:white!important; font-size:30px!important; }
@media(max-width:720px){.magnet-fan{width:260px;height:130px;top:2%}.magnet{width:90px;height:90px}.magnet-family{left:84px;width:78px;height:108px}.magnet-memory{right:7px}.hero-art .hero-photo-main{width:38%;height:38%;left:31%;top:27%}.coaster-row{width:360px;height:135px}.coaster-row .coaster{width:82px;height:82px;font-size:11px}.coaster-row .coaster-3{width:62px;height:62px}.coaster-floral{left:5px!important}.coaster-monogram{left:95px!important;top:38px!important}.coaster-photo{right:75px}.coaster-art{right:5px;top:36px!important}}

/* Simplified hero study: large canvas left, uniform magnet fan right. */
.hero-art .hero-photo-main { width:44%; height:66%; left:7%; top:17%; transform:rotate(-3deg); background-position:center 20%; }
.magnet-fan { width:320px; height:390px; top:18%; left:auto; right:3%; transform:none; }
.magnet { width:145px; height:200px; border-radius:10px; border-width:6px; }
.magnet-pet { left:7px; top:78px; transform:rotate(-14deg); }
.magnet-family { left:88px; top:42px; width:145px; height:200px; transform:rotate(0deg); z-index:3; }
.magnet-memory { right:0; top:78px; width:145px; height:200px; transform:rotate(14deg); }
.magnet-fan .collection-label { top:0; }
@media(max-width:720px){.hero-art .hero-photo-main{width:47%;height:62%;left:4%;top:19%}.magnet-fan{width:205px;height:300px;right:0;top:20%}.magnet{width:95px;height:132px}.magnet-pet{left:0;top:62px}.magnet-family{left:55px;top:36px;width:95px;height:132px}.magnet-memory{right:0;top:62px;width:95px;height:132px}}

.wood-plaque { position:absolute; z-index:8; right:8%; bottom:7%; width:255px; text-align:center; transform:rotate(2deg); }
.plaque-face { position:relative; height:150px; padding:23px 55px 18px 20px; color:#40291d; background:linear-gradient(90deg,#8e563217 1px,transparent 1px),linear-gradient(0deg,#d7a76f,#edc893 45%,#c98e55); background-size:9px 100%,100% 100%; border:2px solid #9b6037; border-radius:4px; box-shadow:inset 0 0 22px #71401f2e,0 18px 28px #2513323d; display:flex; flex-direction:column; justify-content:center; }
.plaque-face:before { content:""; position:absolute; inset:7px; border:1px solid #81502d66; border-radius:2px; }
.plaque-face small { font:800 9px var(--font-sans); letter-spacing:.26em; }.plaque-face strong { font:700 27px var(--font-serif); letter-spacing:.04em; }.plaque-face span { font:800 7px var(--font-sans); letter-spacing:.12em; margin-top:8px; }
.plaque-qr { position:absolute; right:17px; top:49px; width:38px; height:38px; background:repeating-linear-gradient(90deg,#40291d 0 4px,transparent 4px 8px),repeating-linear-gradient(0deg,#40291d 0 4px,transparent 4px 8px); border:4px solid #f0d09f; outline:2px solid #40291d; }
.plaque-base { width:285px; height:18px; margin:-2px 0 0 -15px; border-radius:4px 4px 9px 9px; background:linear-gradient(#8b542f,#55301e); box-shadow:0 9px 14px #25133240; }
.wood-plaque>b { display:inline-block; margin-top:12px; padding:5px 9px; background:#171923; color:#fff; font:800 8px var(--font-sans); letter-spacing:.11em; }
@media(max-width:720px){.wood-plaque{width:175px;right:2%;bottom:6%}.plaque-face{height:105px;padding:15px 40px 12px 12px}.plaque-face strong{font-size:18px}.plaque-face span{font-size:5px}.plaque-qr{width:28px;height:28px;right:10px;top:36px}.plaque-base{width:195px;height:13px;margin-left:-10px}.wood-plaque>b{font-size:6px}}

.plaque-logo-sample { position:relative; width:128px; height:72px; margin:5px auto 3px; overflow:hidden; border-radius:3px; box-shadow:0 3px 9px #38201d35; }
.plaque-logo-sample img { position:absolute; width:255px; max-width:none; height:auto; left:-65px; top:-36px; }
.plaque-face>small { color:#40291d; position:relative; z-index:2; }.plaque-face>span { color:#40291d; position:relative; z-index:2; }
@media(max-width:720px){.plaque-logo-sample{width:82px;height:47px;margin:3px auto 2px}.plaque-logo-sample img{width:165px;left:-42px;top:-23px}.plaque-face>small{font-size:6px}.plaque-face>span{font-size:4px}}

.hero-question { position:absolute; z-index:8; right:7%; bottom:7%; width:270px; padding:24px 25px 22px; color:#fff; background:linear-gradient(135deg,#171923e8,#3b1b5bea 55%,#761842e8); border-left:4px solid var(--coral); box-shadow:0 18px 38px #25133245; transform:rotate(1deg); }
.hero-question>span { position:absolute; right:18px; top:15px; color:var(--gold); font-size:18px; }
.hero-question h2 { margin:0 0 10px; font-size:30px; line-height:1; }.hero-question h2 em{font-size:27px}.hero-question p{margin:0 0 14px;color:#ddd5e2;font-size:11px;line-height:1.55}.hero-question a{font-size:10px;font-weight:800;color:#ff9ac3;border-bottom:1px solid #ff9ac3;padding-bottom:3px}
@media(max-width:720px){.hero-question{width:180px;right:2%;bottom:6%;padding:17px 16px 15px}.hero-question h2{font-size:20px}.hero-question h2 em{font-size:19px}.hero-question p{font-size:8px;margin-bottom:9px}.hero-question a{font-size:7px}}

.hero-question { width:300px; padding:0; color:var(--ink); background:none; border:0; box-shadow:none; transform:none; }
.hero-question>span { right:0; top:-13px; font-size:25px; }
.hero-question h2 { font-size:42px; line-height:.95; margin-bottom:15px; }.hero-question h2 em{font-size:39px}
.hero-question p { max-width:285px; color:#3f3a48; font-size:14px; line-height:1.55; margin-bottom:12px; }
.hero-question strong { display:block; max-width:270px; color:#6d1752; font-size:10px; line-height:1.45; letter-spacing:.04em; }
@media(max-width:720px){.hero-question{width:185px;padding:0}.hero-question h2{font-size:25px}.hero-question h2 em{font-size:23px}.hero-question p{font-size:9px;margin-bottom:7px}.hero-question strong{font-size:7px}.hero-question>span{font-size:16px}}

.hero-question { width:345px; right:4%; bottom:5%; }
.hero-question h2 { font-size:52px; line-height:.9; margin-bottom:19px; text-shadow:0 5px 12px #24122f4d; }
.hero-question h2 em { font-size:48px; filter:drop-shadow(0 3px 1px #24102f99) drop-shadow(0 8px 8px #32123870); text-shadow:none; background:linear-gradient(90deg,#5424c7 0%,#9d168f 42%,#df0878 72%,#b92455 100%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.hero-question p { max-width:330px; font-size:16px; font-weight:600; text-shadow:0 3px 7px #24122f33; }
.hero-question strong { max-width:320px; font-size:12px; text-shadow:0 3px 7px #24122f33; }
.hero-question>span { font-size:30px; text-shadow:0 4px 10px #8d452b55; }
@media(max-width:720px){.hero-question{width:205px;right:1%;bottom:4%}.hero-question h2{font-size:31px;text-shadow:0 4px 9px #24122f4d}.hero-question h2 em{font-size:28px}.hero-question p{font-size:10px}.hero-question strong{font-size:8px}}

.service-coaster-card { grid-column:span 2; }
.service-coaster-gallery { position:relative; min-height:340px; background:radial-gradient(circle at 50% 42%,#5c2d1938,transparent 48%),linear-gradient(135deg,#201611,#53351f 55%,#1a1514); overflow:hidden; }
.service-coaster-gallery img { position:absolute; width:150px; height:150px; object-fit:contain; filter:drop-shadow(0 13px 12px #0008); transition:.25s transform; }
.service-coaster-gallery img:nth-child(1){left:3%;top:8%;transform:rotate(-12deg)}.service-coaster-gallery img:nth-child(2){left:18%;top:40%;transform:rotate(8deg)}.service-coaster-gallery img:nth-child(3){left:34%;top:6%;transform:rotate(-4deg)}.service-coaster-gallery img:nth-child(4){right:32%;top:42%;transform:rotate(7deg)}.service-coaster-gallery img:nth-child(5){right:17%;top:7%;transform:rotate(5deg)}.service-coaster-gallery img:nth-child(6){right:2%;top:40%;transform:rotate(-8deg)}
.service-coaster-gallery b { position:absolute; left:20px; bottom:18px; color:#fff; background:linear-gradient(90deg,var(--violet),var(--coral),#c55a25); padding:7px 11px; font-size:8px; letter-spacing:.13em; }
.service-coaster-card:hover .service-coaster-gallery img:nth-child(odd){transform:translateY(-5px) rotate(-5deg)}.service-coaster-card:hover .service-coaster-gallery img:nth-child(even){transform:translateY(-5px) rotate(5deg)}
@media(max-width:720px){.service-coaster-card{grid-column:auto}.service-coaster-gallery{min-height:300px}.service-coaster-gallery img{width:108px;height:108px}.service-coaster-gallery img:nth-child(1){left:2%;top:7%}.service-coaster-gallery img:nth-child(2){left:17%;top:42%}.service-coaster-gallery img:nth-child(3){left:34%;top:8%}.service-coaster-gallery img:nth-child(4){right:31%;top:43%}.service-coaster-gallery img:nth-child(5){right:16%;top:8%}.service-coaster-gallery img:nth-child(6){right:1%;top:42%}}

/* WordPress and WooCommerce integration */
.site-header .custom-logo-link{display:block;width:92px;height:68px;flex:0 0 auto}
.site-header .custom-logo{width:100%;height:100%;object-fit:contain}
.desktop-nav .menu{display:flex;gap:clamp(14px,1.8vw,30px);list-style:none;margin:0;padding:0}
.desktop-nav .current-menu-item>a,.desktop-nav .current_page_item>a{color:#ff83b6;border-color:#ff83b6}
.mobile-menu nav .menu{list-style:none;margin:0;padding:0}
.header-cart{white-space:nowrap}.header-cart-count{display:inline-grid;place-items:center;color:#fff;background:var(--coral);border-radius:50%;width:18px;height:18px;font-size:10px;margin-left:4px}
.woo-main{min-height:65vh;background:#f7f2ec;padding:72px clamp(22px,7vw,110px)}
.woo-shell{max-width:1380px;margin:0 auto}.woocommerce-breadcrumb{font-size:12px;color:#747775;margin-bottom:28px}.woocommerce-products-header__title,.woocommerce div.product .product_title,.woo-shell>h1{font:500 clamp(42px,5vw,68px)/1 var(--font-serif);color:var(--ink)}
.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:36px 0!important}.woocommerce ul.products:before,.woocommerce ul.products:after{display:none}.woocommerce ul.products li.product{float:none!important;width:auto!important;margin:0!important;background:#fff;border-top:5px solid #ed0876;box-shadow:0 14px 36px #25133216;padding-bottom:24px;transition:.2s transform}.woocommerce ul.products li.product:hover{transform:translateY(-5px)}
.woocommerce ul.products li.product a img{margin:0!important;aspect-ratio:1;object-fit:cover;background:#ece7e2}.woocommerce ul.products li.product .woocommerce-loop-product__title{font:600 24px var(--font-serif);padding:22px 24px 8px!important;color:var(--ink)}.woocommerce ul.products li.product .price{padding:0 24px;color:#7b1855!important;font-weight:800}.woocommerce ul.products li.product .button{margin:18px 24px 0!important;background:linear-gradient(105deg,#04aedd,#6928d8 34%,#ed0876 68%,#ff7b27);color:#fff;border-radius:0;min-height:46px;padding:0 20px;display:inline-flex;align-items:center}
.uv-shop-intro{position:relative;overflow:hidden;margin:0 0 34px;padding:46px clamp(26px,5vw,68px);background:linear-gradient(120deg,#173d3a 0 58%,#255e59 58%);color:#fff;box-shadow:0 18px 45px #173d3a20}.uv-shop-intro:after{content:"";position:absolute;right:-80px;top:-135px;width:330px;height:330px;border:1px solid #ffffff24;border-radius:50%;box-shadow:0 0 0 55px #ffffff08,0 0 0 110px #ffffff06}.uv-shop-intro>*{position:relative;z-index:1}.uv-shop-kicker{margin:0 0 12px;color:#efb989;font-size:10px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.uv-shop-intro h1{max-width:720px;margin:0;font:500 clamp(38px,4.5vw,62px)/1.04 var(--font-serif);letter-spacing:-.035em}.uv-shop-intro>p:last-of-type{max-width:660px;margin:18px 0 0;color:#c9dcda;font-size:15px;line-height:1.7}.uv-shop-categories{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.uv-shop-categories a{display:inline-flex;align-items:center;min-height:42px;padding:0 16px;border:1px solid #ffffff55;color:#fff;font-size:11px;font-weight:750;transition:.2s background,.2s border-color}.uv-shop-categories a:hover,.uv-shop-categories .is-active{border-color:#efb989;background:#efb989;color:#173d3a}.uv-shop-toolbar{display:flex;align-items:end;justify-content:space-between;gap:24px;margin:0 0 18px;padding-bottom:16px;border-bottom:1px solid #d9d3cc}.uv-shop-toolbar h2{margin:0;font:500 clamp(28px,3vw,38px)/1 var(--font-serif)}.uv-shop-toolbar p{margin:7px 0 0;color:var(--muted);font-size:12px}.woocommerce .woocommerce-ordering{float:none!important;margin:0 0 26px auto!important;width:max-content}.woocommerce .woocommerce-ordering select{min-width:220px;background:#fff;color:var(--ink);font:600 12px var(--font-sans);cursor:pointer}.woocommerce ul.products li.product{display:flex;flex-direction:column}.woocommerce ul.products li.product .woocommerce-LoopProduct-link{display:block}.woocommerce ul.products li.product .button{align-self:flex-start;margin-top:auto!important}.woocommerce ul.products li.product .price{display:block;min-height:24px}.woocommerce nav.woocommerce-pagination{margin-top:42px}.woocommerce nav.woocommerce-pagination ul{border:0}.woocommerce nav.woocommerce-pagination ul li{border:0;margin:0 4px}.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{min-width:40px;min-height:40px;display:grid;place-items:center;background:#fff}.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--ink);color:#fff}
.uv-shop-categories span{display:inline-flex;align-items:center;min-height:42px;padding:0 16px;border:1px dashed #ffffff55;color:#b5c9c6;font-size:11px;font-weight:750;cursor:default}.uv-shop-categories span:after{content:"Soon";margin-left:8px;color:#efb989;font-size:8px;letter-spacing:.08em;text-transform:uppercase}
.woocommerce div.product{background:#fff;padding:36px;box-shadow:0 15px 40px #28182d12}.woocommerce div.product p.price,.woocommerce div.product span.price{color:#7b1855;font-weight:800}.woocommerce div.product form.cart .button,.woocommerce button.button.alt,.woocommerce a.button.alt,.woocommerce input.button.alt{background:linear-gradient(105deg,#04aedd,#6928d8 34%,#ed0876 68%,#ff7b27);border-radius:0;color:#fff}.woocommerce-message,.woocommerce-info{border-top-color:#6928d8}.woocommerce-message:before,.woocommerce-info:before{color:#6928d8}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,.woocommerce-checkout #place_order{background:linear-gradient(105deg,#04aedd,#6928d8 34%,#ed0876 68%,#ff7b27);border-radius:0}.woocommerce table.shop_table,.woocommerce form.checkout_coupon,.woocommerce form.login,.woocommerce form.register{background:#fff;border-radius:0}.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce select{padding:12px;border:1px solid #cfc8c2}
.page-content,.post-content{max-width:1100px;margin:0 auto;min-height:60vh;padding:80px 24px}.page-content h1,.post-content h1{font:500 clamp(42px,5vw,68px)/1 var(--font-serif)}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:900px){.woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}.desktop-nav .menu{display:none}.uv-shop-intro{background:var(--ink)}}
@media(max-width:620px){.woocommerce ul.products{grid-template-columns:1fr}.woo-main{padding:38px 16px}.woocommerce div.product{padding:20px}.site-header .custom-logo-link{width:72px;height:54px}.uv-shop-intro{padding:34px 22px}.uv-shop-categories{gap:8px}.uv-shop-categories a{min-height:39px;padding:0 12px;font-size:10px}.uv-shop-toolbar{align-items:flex-start;flex-direction:column}.woocommerce .woocommerce-ordering{width:100%;margin:0 0 22px!important}.woocommerce .woocommerce-ordering select{width:100%}}

.shell-magnet-card .product-image { position:relative; }
.shell-magnet-stage { min-height:430px; flex:none; overflow:hidden; background:radial-gradient(circle at 50% 42%,#fff 0 22%,#f3e6df 58%,#ddd4dc 100%); }
.shell-magnet-stage .sample-magnet { position:absolute; display:block; width:29%; height:auto; max-width:none; max-height:none; border-radius:6px; box-shadow:0 15px 25px #28182d52,0 3px 7px #28182d38; transition:.25s transform,.25s box-shadow; }
.sample-mary{left:7%;top:52px;transform:rotate(-8deg)}
.sample-shells{left:35.5%;top:27px;transform:rotate(1deg);z-index:3}
.sample-connor{right:7%;top:52px;transform:rotate(8deg)}
.shell-magnet-stage .sample-knicks{width:58%;left:21%;bottom:23px;transform:rotate(-1deg);z-index:4}
.shell-magnet-card:hover .shell-magnet-stage { transform:none; }
.shell-magnet-card:hover .sample-mary{transform:translateY(-3px) rotate(-8deg)}.shell-magnet-card:hover .sample-shells{transform:translateY(-4px) rotate(1deg)}.shell-magnet-card:hover .sample-connor{transform:translateY(-3px) rotate(8deg)}.shell-magnet-card:hover .sample-knicks{transform:translateY(-3px) rotate(-1deg)}
.shell-magnet-card .product-image:after { content:"REAL CUSTOM SAMPLE"; position:absolute; left:18px; top:18px; padding:7px 10px; color:#fff; background:linear-gradient(90deg,var(--violet),var(--coral)); font-size:8px; font-weight:800; letter-spacing:.12em; box-shadow:0 5px 14px #37133140; }
.shell-magnet-card .product-info small{display:block;max-width:240px;margin-top:8px;color:#77717c;font-size:9px;line-height:1.35;font-weight:600}
@media(max-width:720px){.shell-magnet-stage{min-height:390px}.shell-magnet-stage .sample-magnet{width:28%;top:50px}.sample-shells{left:36%!important;top:28px!important}.shell-magnet-stage .sample-knicks{width:58%;left:21%;top:auto;bottom:24px}}

.wall-art-card .product-image { position:relative; flex:none; min-height:0; aspect-ratio:552/990; background-color:#ddd8d2; background-position:center; background-repeat:no-repeat; background-size:cover; filter:saturate(.96); }
.wall-art-card .product-image:after { content:"PRINTING SYSTEM EXAMPLE"; position:absolute; left:18px; top:18px; padding:7px 10px; color:#fff; background:linear-gradient(90deg,var(--violet),var(--coral)); font-size:8px; font-weight:800; letter-spacing:.12em; box-shadow:0 5px 14px #37133140; }

.lightbox-card .product-image { position:relative; flex:none; min-height:610px; box-sizing:border-box; border:13px solid #111; background-color:#111; background-position:center; background-repeat:no-repeat; background-size:contain; box-shadow:inset 0 0 18px #0008,0 8px 20px #1a0b0738; filter:saturate(.94) contrast(1.02); }
@media(max-width:1050px){.lightbox-card{grid-column:span 2}.lightbox-card .product-image{min-height:450px}}
@media(max-width:720px){.lightbox-card{grid-column:auto}.lightbox-card .product-image{min-height:330px}}

.coin-card { grid-column:span 1; }
.coin-gallery { position:relative; min-height:610px; background:radial-gradient(circle at 50% 36%,#ffe1ad,#bb7a42 38%,#2a1711 72%); overflow:hidden; }
.coin-gallery img { position:absolute; width:142px; height:142px; object-fit:contain; filter:drop-shadow(0 14px 12px #16080499); transition:.25s filter; }
.coin-gallery img:nth-child(1){left:4%;top:22px;transform:rotate(-9deg)}.coin-gallery img:nth-child(2){right:4%;top:22px;transform:rotate(9deg)}.coin-gallery img:nth-child(3){left:50%;top:102px;width:190px;height:190px;z-index:2;transform:translateX(-50%) rotate(2deg)}.coin-gallery img:nth-child(4){left:8%;top:245px;transform:rotate(7deg)}.coin-gallery img:nth-child(5){right:8%;top:245px;transform:rotate(-7deg)}
.coin-gallery b { position:absolute; left:18px; bottom:17px; color:#fff; background:linear-gradient(90deg,var(--violet),var(--coral),#c55a25); padding:7px 10px; font-size:8px; letter-spacing:.12em; }
.coin-message { position:absolute; left:4%; right:4%; top:454px; color:#fff; text-align:center; text-shadow:0 2px 8px #000a; }
.coin-message strong { display:block; margin-bottom:10px; font-family:Georgia,serif; font-size:31px; line-height:1.05; }
.coin-message p { margin:0 auto; max-width:520px; color:#fff; font-size:19px; font-weight:600; line-height:1.38; text-align:justify; text-align-last:center; }
.coin-card:hover .coin-gallery img{filter:drop-shadow(0 17px 14px #160804bb) brightness(1.05)}
@media(max-width:720px){.coin-card{grid-column:auto}.coin-gallery{min-height:590px}.coin-gallery img{width:118px;height:118px}.coin-gallery img:nth-child(1){left:2%;top:18px}.coin-gallery img:nth-child(2){right:2%;top:18px}.coin-gallery img:nth-child(3){left:50%;top:82px;width:164px;height:164px}.coin-gallery img:nth-child(4){left:5%;top:222px}.coin-gallery img:nth-child(5){right:5%;top:222px}.coin-message{top:414px;left:5%;right:5%}.coin-message strong{font-size:25px}.coin-message p{font-size:16px;line-height:1.35}}

.service-coaster-gallery { min-height:0; aspect-ratio:3/2; background:#1c110b; }
.service-coaster-banner { position:absolute; inset:0; overflow:hidden; background:#1c110b; }
.service-coaster-gallery .service-coaster-banner img { position:absolute; inset:0!important; width:100%; height:100%; object-fit:contain; object-position:center; transform:none!important; filter:drop-shadow(0 6px 12px #0008); transition:.25s filter; }
.service-coaster-card:hover .service-coaster-gallery img { transform:none!important; filter:brightness(1.08); }
.service-coaster-gallery b { bottom:16px; left:18px; }
@media(max-width:720px){.service-coaster-gallery{min-height:0;aspect-ratio:3/2}.service-coaster-gallery .service-coaster-banner img{width:100%;height:100%}}

/* Shop refinement: balanced gutters, quieter header, and logo-color accents. */
.post-type-archive-product .woo-main{padding-left:clamp(22px,4vw,64px);padding-right:clamp(22px,4vw,64px)}
.post-type-archive-product .woo-shell{max-width:1240px;padding-left:clamp(14px,2vw,28px);padding-right:clamp(14px,2vw,28px)}
.post-type-archive-product .uv-shop-intro{margin-bottom:38px;padding:30px clamp(24px,4vw,48px);background:linear-gradient(#fffdf9,#f4f8f6);color:var(--ink);border-top:6px solid transparent;border-image:linear-gradient(90deg,#04aedd,#6928d8 35%,#ed0876 68%,#ff7b27) 1;box-shadow:0 12px 30px #173d3a12}
.post-type-archive-product .uv-shop-intro:after{right:-115px;top:-175px;border-color:#255e5924;box-shadow:0 0 0 55px #255e5908,0 0 0 110px #255e5905}
.post-type-archive-product .uv-shop-kicker{margin-bottom:8px;color:#7b1855}
.post-type-archive-product .uv-shop-intro h1{font-size:clamp(34px,3.5vw,50px)}
.post-type-archive-product .uv-shop-intro>p:last-of-type{max-width:760px;margin-top:12px;color:#526864;font-size:14px;line-height:1.6}
.post-type-archive-product .uv-shop-categories{margin-top:20px}
.post-type-archive-product .uv-shop-categories a,.post-type-archive-product .uv-shop-categories span{min-height:39px;border-color:#255e5950;color:var(--ink)}
.post-type-archive-product .uv-shop-categories a:hover,.post-type-archive-product .uv-shop-categories .is-active{border-color:transparent;background:linear-gradient(105deg,#04aedd,#6928d8 34%,#ed0876 68%,#ff7b27);color:#fff}
.post-type-archive-product .uv-shop-categories span{color:#788783;background:#f6f3ee}
.post-type-archive-product .uv-shop-categories span:after{color:#b53674}
.post-type-archive-product .uv-shop-toolbar{border-bottom:2px solid transparent;border-image:linear-gradient(90deg,#04aedd,#6928d8 34%,#ed0876 68%,#ff7b27) 1}
.post-type-archive-product .woocommerce ul.products{padding-left:clamp(8px,1vw,16px)!important;padding-right:clamp(8px,1vw,16px)!important}
@media(max-width:620px){.post-type-archive-product .woo-main{padding-left:14px;padding-right:14px}.post-type-archive-product .woo-shell{padding-left:8px;padding-right:8px}.post-type-archive-product .uv-shop-intro{padding:26px 20px}.post-type-archive-product .woocommerce ul.products{padding-left:4px!important;padding-right:4px!important}}

/* Personalized Magnets product */
.uv-personalization-fields{clear:both;margin:24px 0;padding:24px;background:#f7f3ee;border-top:4px solid transparent;border-image:linear-gradient(90deg,#04aedd,#6928d8 35%,#ed0876 68%,#ff7b27) 1}.uv-personalization-fields h3{margin:0 0 8px;font:600 25px var(--font-serif);color:var(--ink)}.uv-personalization-fields>p{margin:0 0 20px;color:var(--muted);font-size:13px;line-height:1.55}.uv-personalization-field{display:block;margin:0 0 18px;color:var(--ink);font-size:12px;font-weight:800}.uv-personalization-field span{display:block;margin-bottom:8px}.uv-personalization-field input,.uv-personalization-field textarea{width:100%;padding:13px;border:1px solid #cfc8c2;background:#fff;color:var(--ink);font:13px var(--font-sans)}.uv-personalization-field small{display:block;margin-top:7px;color:var(--muted);font-size:10px;font-weight:500;line-height:1.45}.uv-design-help{margin:4px 0 0!important;padding:15px 17px;background:#fff;border-left:4px solid #6928d8}.uv-design-help a{color:#9f1969;font-weight:800;text-decoration:underline}.single-product .product_meta{margin-top:24px}.woocommerce ul.products li.personalized-magnet-card .woocommerce-LoopProduct-link{position:relative;overflow:hidden;background:radial-gradient(circle at 50% 45%,#fff,#eee5e0)}.woocommerce ul.products li.personalized-magnet-card .woocommerce-LoopProduct-link img{width:56%!important;margin:5% auto 23%!important;transform:rotate(-4deg);border-radius:5px;box-shadow:0 10px 24px #28182d44}.woocommerce ul.products li.personalized-magnet-card .woocommerce-LoopProduct-link:before,.woocommerce ul.products li.personalized-magnet-card .woocommerce-LoopProduct-link:after{content:"";position:absolute;bottom:7%;width:35%;height:39%;z-index:2;border-radius:5px;background-position:center;background-size:cover;box-shadow:0 8px 18px #28182d44}.woocommerce ul.products li.personalized-magnet-card .woocommerce-LoopProduct-link:before{left:8%;background-image:url('assets/images/custom-seashell-magnet.png');transform:rotate(7deg)}.woocommerce ul.products li.personalized-magnet-card .woocommerce-LoopProduct-link:after{right:8%;background-image:url('assets/images/magnet-knicks.jpg');transform:rotate(-7deg)}
@media(max-width:620px){.uv-personalization-fields{padding:20px 16px}}

/* Three clear shopping paths */
.uv-shop-paths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:0 0 45px}.uv-shop-path{position:relative;display:flex;flex-direction:column;min-height:250px;padding:28px 26px;background:#fff;border:1px solid #dfdad3;box-shadow:0 12px 28px #173d3a0e;overflow:hidden}.uv-shop-path:before{content:"";position:absolute;left:0;top:0;width:100%;height:5px;background:linear-gradient(90deg,#04aedd,#6928d8 35%,#ed0876 68%,#ff7b27)}.uv-shop-path-number{color:#a31d68;font-size:10px;font-weight:800;letter-spacing:.13em}.uv-shop-path h2{margin:22px 0 10px;font:600 27px/1.1 var(--font-serif);color:var(--ink)}.uv-shop-path p{margin:0;color:var(--muted);font-size:13px;line-height:1.65}.uv-shop-path a{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:24px;color:#8d1761;font-size:12px;font-weight:800}.uv-shop-path a:after{content:"→";font-size:19px}.uv-shop-path-custom{background:var(--ink);border-color:var(--ink)}.uv-shop-path-custom h2{color:#fff}.uv-shop-path-custom p{color:#b9cbc8}.uv-shop-path-custom a,.uv-shop-path-custom .uv-shop-path-number{color:#efb989}
@media(max-width:900px){.uv-shop-paths{grid-template-columns:1fr 1fr}.uv-shop-path-custom{grid-column:1/-1;min-height:210px}}
@media(max-width:620px){.uv-shop-paths{grid-template-columns:1fr}.uv-shop-path-custom{grid-column:auto}.uv-shop-path{min-height:220px;padding:25px 22px}}

.woocommerce ul.products li.personalized-magnet-card .uv-personalized-magnet-title{padding-bottom:0!important}

/* Show the complete floral Canvas Wall Art sample on its Shop card. */
.woocommerce ul.products li.personalized-canvas-card .woocommerce-LoopProduct-link{background:#f1ece6}
.woocommerce ul.products li.personalized-canvas-card .woocommerce-LoopProduct-link img{width:100%!important;aspect-ratio:1;object-fit:contain!important;background:#f1ece6}
.woocommerce ul.products li.personalized-canvas-card .woocommerce-LoopProduct-link .woocommerce-loop-product__title,.woocommerce ul.products li.personalized-canvas-card .woocommerce-LoopProduct-link .price{background:#fff}

.woocommerce ul.products li.personalized-canvas-card .woocommerce-LoopProduct-link .price{margin-bottom:0!important;padding-bottom:7px}

.footer-bottom div a{font-size:12px;}
