/*
Theme Name: Personal Touch Printing
Theme URI: https://personaltouchprinting.com.au/
Author: PAAS Products
Author URI: https://personaltouchprinting.com.au/
Description: Custom marketing theme for Personal Touch Printing — sublimation, Bambu Lab P1S 3D printing, and commercial print &amp; branding. Teal-led design system, white sticky header, light SVG logo, five coloured TOUCH letter blocks as recurring motif. Front-page, 3D Printing, Print &amp; Branding, Contact and Designer page templates included.
Version: 1.0.0
Requires at least: 6.2
Tested up to: 6.5
Requires PHP: 7.4
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: personal-touch-printing
Tags: business, custom-colors, custom-logo, custom-menu, featured-images, full-width-template, sticky-post, theme-options, two-columns, threaded-comments, translation-ready
*/

/* ==============================================================
   PERSONAL TOUCH PRINTING — TEAL-LED WORDPRESS THEME
   Lead colour: #2DA9A0 teal · Supporting: lime, purple, red, orange
   ============================================================== */
:root{
  --lime:#C8D82E; --teal:#2DA9A0; --teal-d:#218680; --teal-l:#E8F6F4;
  --purple:#8B5DB5; --purple-d:#6F468F;
  --red:#E5325A; --red-d:#B92646;
  --orange:#F29327; --orange-d:#D97D14;
  --ink:#0A0A0A; --ink-2:#1f2230; --muted:#5b6076;
  --bg:#FFFFFF; --bg-soft:#F6F8FA; --bg-card:#FFFFFF;
  --line:#E4E7EE; --line-strong:#D2D7E0;
  --text:#101218; --text-dim:#4a5063;
  --radius:14px; --radius-lg:22px;
  --shadow-sm:0 2px 8px rgba(20,30,60,.05);
  --shadow-md:0 12px 32px rgba(20,30,60,.08);
  --shadow-lg:0 25px 60px rgba(20,30,60,.10);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--text);background:var(--bg);line-height:1.55;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
h1,h2,h3,h4,h5{font-family:'Archivo Black','Inter',sans-serif;color:var(--ink);letter-spacing:-0.01em;margin:0 0 .5em;font-weight:900}
h1{font-size:clamp(2.4rem,5.2vw,3.9rem);line-height:1.04}
h2{font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.1}
h3{font-size:1.25rem;line-height:1.2}
h4{font-size:1.05rem;line-height:1.2}
p{margin:0 0 1em;color:var(--text-dim)}
a{color:var(--teal-d);text-decoration:none;font-weight:600}
a:hover{text-decoration:underline}
.container{max-width:1180px;margin:0 auto;padding:0 24px}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;padding:14px 24px;border-radius:999px;font-weight:700;border:2px solid transparent;cursor:pointer;text-decoration:none;font-family:inherit;transition:transform .15s ease, box-shadow .15s ease, background .15s ease}
.btn:hover{transform:translateY(-1px);text-decoration:none}
.btn-primary{background:var(--teal);color:#fff;box-shadow:0 8px 20px rgba(45,169,160,.35)}
.btn-primary:hover{background:var(--teal-d);color:#fff}
.btn-orange{background:var(--orange);color:#0a0a0a;box-shadow:0 8px 20px rgba(242,147,39,.35)}
.btn-orange:hover{background:var(--orange-d);color:#fff}
.btn-purple{background:var(--purple);color:#fff;box-shadow:0 8px 20px rgba(139,93,181,.35)}
.btn-purple:hover{background:var(--purple-d);color:#fff}
.btn-ghost{background:#fff;color:var(--ink);border-color:var(--line-strong)}
.btn-ghost:hover{border-color:var(--teal);color:var(--teal-d)}

/* ===== Header (white) ===== */
header.site{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:saturate(180%) blur(10px);-webkit-backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;padding:14px 0;gap:24px}
.brand{display:flex;align-items:center;text-decoration:none}
.brand img{height:54px;width:auto;display:block}
.site-nav ul{display:flex;gap:26px;list-style:none;margin:0;padding:0}
.site-nav a{color:var(--ink-2);font-weight:600;font-size:.95rem;position:relative;padding:6px 0;display:inline-block}
.site-nav a:hover{color:var(--teal-d);text-decoration:none}
.site-nav .current-menu-item > a, .site-nav a.active{color:var(--teal-d)}
.site-nav a::after{content:'';position:absolute;left:0;right:0;bottom:-2px;height:3px;border-radius:3px;background:var(--teal);transform:scaleX(0);transform-origin:left;transition:transform .2s ease}
.site-nav a:hover::after,.site-nav .current-menu-item > a::after,.site-nav a.active::after{transform:scaleX(1)}
.nav-actions{display:flex;gap:10px;align-items:center}
.nav-toggle{display:none;background:none;border:1px solid var(--line);border-radius:10px;padding:8px 10px;cursor:pointer}
.nav-toggle span{display:block;width:22px;height:2px;background:var(--ink);margin:4px 0;border-radius:2px}
@media (max-width:980px){
  .site-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:18px 24px}
  .site-nav.open{display:block}
  .site-nav ul{flex-direction:column;gap:12px}
  .nav-toggle{display:block}
  .nav-actions .btn-ghost{display:none}
}

/* ===== HERO (light teal-led) ===== */
.hero{position:relative;overflow:hidden;background:
  radial-gradient(800px 480px at 90% -10%, rgba(45,169,160,.18), transparent 60%),
  radial-gradient(620px 420px at -10% 110%, rgba(139,93,181,.14), transparent 60%),
  linear-gradient(180deg,#FFFFFF 0%,#F6FBFA 100%);
  padding:80px 0 90px}
.hero-purple{background:
  radial-gradient(800px 480px at 90% -10%, rgba(139,93,181,.20), transparent 60%),
  radial-gradient(620px 420px at -10% 110%, rgba(45,169,160,.14), transparent 60%),
  linear-gradient(180deg,#FFFFFF 0%,#F8F6FB 100%)}
.hero-orange{background:
  radial-gradient(800px 480px at 90% -10%, rgba(242,147,39,.20), transparent 60%),
  radial-gradient(620px 420px at -10% 110%, rgba(45,169,160,.14), transparent 60%),
  linear-gradient(180deg,#FFFFFF 0%,#FFF9F1 100%)}
.hero .grid{display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:center;position:relative;z-index:1}
@media (max-width:980px){.hero .grid{grid-template-columns:1fr;gap:40px}}
.eyebrow{display:inline-flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);color:var(--ink-2);padding:8px 16px;border-radius:999px;font-size:.84rem;font-weight:700;margin-bottom:20px;box-shadow:var(--shadow-sm)}
.eyebrow .dot{width:8px;height:8px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 4px rgba(45,169,160,.18)}
.eyebrow.dot-purple .dot{background:var(--purple);box-shadow:0 0 0 4px rgba(139,93,181,.18)}
.eyebrow.dot-orange .dot{background:var(--orange);box-shadow:0 0 0 4px rgba(242,147,39,.18)}

/* TOUCH BLOCKS - RECENT BULLETPROOF FIX */
.h1-touch {
    line-height: 1.4 !important;
    display: block; 
    /* NEW: Prevent the letters from jumping to the next line separately */
    white-space: normal; 
}

/* Ensure the 'get it' and 'TOUCHed' stay together */
.h1-touch span.touch-wrapper {
    white-space: nowrap;
    display: inline-block;
    vertical-align: middle;
}

.touch-blocks {
    display: inline-block !important;
    vertical-align: middle !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 8px !important;
    white-space: nowrap;
}

.touch-blocks span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 36px !important;
    height: 36px !important;
    border-radius: 6px !important;
    font-family: 'Archivo Black', sans-serif !important;
    font-size: 20px !important;
    line-height: 1 !important;
    flex-shrink: 0 !important;
    margin-right: 4px;
}

.touch-blocks span:last-child { margin-right: 0; }

/* Forced color targeting by class */
.b-lime   { background-color: var(--lime) !important; color: #0a0a0a !important; }
.b-teal   { background-color: var(--teal) !important; color: #ffffff !important; }
.b-purple { background-color: var(--purple) !important; color: #ffffff !important; }
.b-red    { background-color: var(--red) !important; color: #ffffff !important; }
.b-orange { background-color: var(--orange) !important; color: #0a0a0a !important; }

.hero p.lede{font-size:1.12rem;color:#3b4054;max-width:560px;margin-top:18px}
.hero-cta{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap}
.hero-trust{display:flex;gap:30px;margin-top:32px;color:var(--muted);font-size:.92rem;flex-wrap:wrap}
.hero-trust b{color:var(--ink);font-family:'Archivo Black',sans-serif}
.hero-vis{position:relative;min-height:420px;border-radius:var(--radius-lg);background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-lg);padding:32px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.hero-vis::before{content:'';position:absolute;inset:auto -40px -40px auto;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,var(--teal),transparent 70%);opacity:.18}
.hero-vis::after{content:'';position:absolute;top:-30px;left:-30px;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,var(--orange),transparent 70%);opacity:.18}
.hero-vis svg{position:relative;z-index:1;width:100%;max-width:420px;height:auto}
.float{position:absolute;background:#fff;border:1px solid var(--line);border-radius:999px;padding:10px 16px;font-size:.84rem;font-weight:700;color:var(--ink);box-shadow:var(--shadow-md);z-index:2;display:inline-flex;align-items:center;gap:8px}
.float.a{top:24px;left:-10px;color:var(--teal-d)}
.float.b{bottom:24px;right:-10px;color:var(--orange-d)}
.float .pip{width:8px;height:8px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 4px rgba(45,169,160,.2)}

/* ===== Sections ===== */
section{padding:80px 0;position:relative}
section.soft{background:var(--bg-soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.section-head{text-align:center;max-width:740px;margin:0 auto 50px}
.section-head .pill{display:inline-block;background:var(--teal-l);color:var(--teal-d);padding:5px 14px;border-radius:999px;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin-bottom:14px}
.section-head .pill.purple{background:#F1EAF8;color:var(--purple-d)}
.section-head .pill.orange{background:#FFF1DD;color:var(--orange-d)}
.section-head .pill.red{background:#FCE6EB;color:var(--red-d)}
.section-head p{color:var(--text-dim);font-size:1.05rem}

/* ===== Three pillars ===== */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media (max-width:900px){.pillars{grid-template-columns:1fr}}
.pillar{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:28px;position:relative;overflow:hidden;transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease}
.pillar:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--c)}
.pillar::before{content:'';position:absolute;top:0;left:0;right:0;height:5px;background:var(--c)}
.pillar.p1{--c:var(--teal)} .pillar.p2{--c:var(--purple)} .pillar.p3{--c:var(--orange)}
.pillar .ico{width:54px;height:54px;border-radius:14px;background:color-mix(in srgb,var(--c) 12%, white);color:var(--c);display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin-bottom:14px}
.pillar h3{margin:0 0 8px;color:var(--ink)}
.pillar p{color:var(--text-dim);font-size:.96rem;margin:0 0 14px}
.pillar ul{padding:0;margin:0 0 18px;list-style:none;display:grid;gap:6px}
.pillar li{display:flex;gap:8px;font-size:.92rem;color:var(--ink-2)}
.pillar li::before{content:'›';color:var(--c);font-weight:900}
.pillar a.go{display:inline-flex;align-items:center;gap:8px;color:var(--c);font-weight:700;font-size:.95rem}
.pillar a.go:hover{text-decoration:underline}

/* ===== Showcase 4-card grid ===== */
.showcase{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media (max-width:1000px){.showcase{grid-template-columns:repeat(2,1fr)}}
.show{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;text-align:center;transition:border-color .2s ease, transform .2s ease}
.show:hover{transform:translateY(-3px);border-color:var(--c)}
.show .thumb{height:140px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:linear-gradient(180deg,#fafbfc,#eef2f7);margin-bottom:14px;position:relative;overflow:hidden}
.show.s1{--c:var(--teal)} .show.s2{--c:var(--orange)} .show.s3{--c:var(--purple)} .show.s4{--c:var(--red)}
.show.s5{--c:var(--lime)} .show.s6{--c:var(--teal)}
.show h4{font-family:'Archivo Black',sans-serif;font-size:.98rem;margin:0 0 6px;color:var(--ink)}
.show p{font-size:.86rem;color:var(--text-dim);margin:0}

/* ===== 6-card use case grid ===== */
.uc{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media (max-width:860px){.uc{grid-template-columns:1fr}}
.uc-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;transition:border-color .2s ease, transform .2s ease}
.uc-card:hover{transform:translateY(-3px);border-color:var(--c)}
.uc-card .ico{width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.4rem;margin-bottom:12px;background:color-mix(in srgb,var(--c,var(--teal)) 12%, white);color:var(--c,var(--teal))}
.uc-card:nth-child(6n+1){--c:var(--lime)} .uc-card:nth-child(6n+1) .ico{color:#7d8a14}
.uc-card:nth-child(6n+2){--c:var(--teal)}
.uc-card:nth-child(6n+3){--c:var(--purple)}
.uc-card:nth-child(6n+4){--c:var(--red)}
.uc-card:nth-child(6n+5){--c:var(--orange)}
.uc-card:nth-child(6n+6){--c:var(--teal)}
.uc-card h4{margin:0 0 6px;font-size:1.05rem;color:var(--ink)}
.uc-card p{margin:0;color:var(--text-dim);font-size:.92rem}

/* ===== Materials grid ===== */
.mats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media (max-width:860px){.mats{grid-template-columns:repeat(2,1fr)}}
@media (max-width:480px){.mats{grid-template-columns:1fr}}
.mat{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px;transition:border-color .2s ease}
.mat b{color:var(--ink);font-size:1rem;font-family:'Archivo Black',sans-serif;display:block;margin-bottom:6px}
.mat span{color:var(--text-dim);font-size:.86rem;display:block}
.mat:nth-child(4n+1):hover{border-color:var(--lime)}
.mat:nth-child(4n+2):hover{border-color:var(--teal)}
.mat:nth-child(4n+3):hover{border-color:var(--purple)}
.mat:nth-child(4n+4):hover{border-color:var(--orange)}

/* ===== Tech feature cards (2-up) ===== */
.tech-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
@media (max-width:780px){.tech-grid{grid-template-columns:1fr}}
.tech{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:30px;border-top:5px solid var(--c,var(--teal));transition:transform .2s ease, box-shadow .2s ease}
.tech:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}
.tech.fdm{--c:var(--teal)}
.tech.ams{--c:var(--purple)}
.tech h3{font-family:'Archivo Black',sans-serif;font-size:1.3rem;color:var(--ink);margin:6px 0 10px}
.tech .badge{display:inline-block;font-size:.72rem;padding:4px 10px;border-radius:999px;background:color-mix(in srgb,var(--c) 10%, white);border:1px solid var(--c);color:var(--c);font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.tech ul{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:8px}
.tech ul li{display:flex;gap:8px;color:var(--text-dim);font-size:.94rem}
.tech ul li::before{content:'›';color:var(--c);font-weight:900}
.tech .spec{margin-top:18px;padding-top:18px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:10px;font-size:.86rem;color:var(--text-dim)}
.tech .spec b{color:var(--ink);display:block;font-size:.95rem}

/* ===== Process 5-step ===== */
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;counter-reset:s}
@media (max-width:1000px){.steps{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.steps{grid-template-columns:1fr}}
.step{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;position:relative}
.step .n{counter-increment:s;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;font-family:'Archivo Black',sans-serif;color:#fff;margin-bottom:10px;font-size:.95rem}
.step .n::before{content:counter(s,decimal-leading-zero)}
.step:nth-child(1) .n{background:var(--lime);color:#0a0a0a}
.step:nth-child(2) .n{background:var(--teal)}
.step:nth-child(3) .n{background:var(--purple)}
.step:nth-child(4) .n{background:var(--red)}
.step:nth-child(5) .n{background:var(--orange);color:#0a0a0a}
.step h4{font-size:1rem;margin:0 0 4px;color:var(--ink)}
.step p{margin:0;font-size:.9rem;color:var(--text-dim)}

/* ===== Trust strip ===== */
.trust-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;text-align:center}
@media (max-width:780px){.trust-strip{grid-template-columns:repeat(2,1fr)}}
.ts{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px}
.ts .num{font-family:'Archivo Black',sans-serif;font-size:2rem;color:var(--teal-d);line-height:1}
.ts .label{font-size:.88rem;color:var(--text-dim);margin-top:6px}

/* ===== FAQ ===== */
.faq{max-width:820px;margin:0 auto}
.qa{background:#fff;border:1px solid var(--line);border-radius:var(--radius);margin-bottom:10px;overflow:hidden}
.qa[open]{border-color:var(--teal)}
.qa summary{list-style:none;cursor:pointer;padding:18px 22px;display:flex;justify-content:space-between;align-items:center;font-weight:700;color:var(--ink)}
.qa summary::-webkit-details-marker{display:none}
.qa[open] summary{border-bottom:1px solid var(--line);color:var(--teal-d)}
.qa .a{padding:16px 22px 22px;color:var(--text-dim)}
.qa .plus{color:var(--teal);font-size:1.6rem;font-weight:700;line-height:1;transition:transform .2s ease;display:inline-block}
.qa[open] .plus{transform:rotate(45deg)}

/* ===== CTA band ===== */
.cta-band{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--teal) 0%, var(--teal-d) 100%);color:#fff;border-radius:var(--radius-lg);padding:60px 40px;text-align:center;box-shadow:var(--shadow-lg)}
.cta-band::before{content:'';position:absolute;inset:auto auto -120px -80px;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,var(--orange),transparent 70%);opacity:.4}
.cta-band::after{content:'';position:absolute;top:-100px;right:-80px;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,var(--lime),transparent 70%);opacity:.3}
.cta-band > *{position:relative;z-index:1}
.cta-band h2{color:#fff;font-size:clamp(1.6rem,3vw,2.3rem);margin-bottom:14px}
.cta-band p{color:rgba(255,255,255,.92);max-width:600px;margin:0 auto 24px;font-size:1.05rem}
.cta-band.purple{background:linear-gradient(135deg,var(--purple) 0%, var(--purple-d) 100%)}
.cta-band.orange{background:linear-gradient(135deg,var(--orange) 0%, var(--orange-d) 100%);color:#0a0a0a}
.cta-band.orange h2{color:#0a0a0a} .cta-band.orange p{color:rgba(10,10,10,.85)}

/* ===== Forms ===== */
.form-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:34px;box-shadow:var(--shadow-md)}
.form-card label{display:block;font-weight:700;color:var(--ink);font-size:.92rem;margin:14px 0 6px}
.form-card input[type=text],.form-card input[type=email],.form-card input[type=tel],.form-card input[type=number],.form-card select,.form-card textarea{width:100%;padding:12px 14px;border:1px solid var(--line-strong);border-radius:10px;font-family:inherit;font-size:1rem;color:var(--ink);background:#fff;transition:border-color .15s ease, box-shadow .15s ease}
.form-card input:focus,.form-card select:focus,.form-card textarea:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 4px rgba(45,169,160,.15)}
.form-card textarea{min-height:140px;resize:vertical}
.form-card .row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:640px){.form-card .row{grid-template-columns:1fr}}
.form-card .help{color:var(--muted);font-size:.84rem;margin-top:4px}
.form-card button{margin-top:22px;width:100%}

/* ===== Side-by-side info row ===== */
.info-row{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:start}
@media (max-width:900px){.info-row{grid-template-columns:1fr}}
.info-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;margin-bottom:14px}
.info-card h3{margin:0 0 8px;font-size:1.05rem}
.info-card p{margin:0;color:var(--text-dim);font-size:.95rem}

/* ===== Print product detail (alternating bands) ===== */
.product-band{padding:60px 0;border-bottom:1px solid var(--line)}
.product-band.alt{background:var(--bg-soft)}
.product-band .grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
@media (max-width:900px){.product-band .grid{grid-template-columns:1fr;gap:30px}}
.product-band .vis{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:30px;display:flex;align-items:center;justify-content:center;min-height:300px;box-shadow:var(--shadow-sm)}
.product-band .vis svg{width:100%;max-width:340px;height:auto}
.product-band ul{list-style:none;padding:0;margin:18px 0;display:grid;gap:8px}
.product-band ul li{display:flex;gap:10px;color:var(--ink-2);font-size:.95rem}
.product-band ul li::before{content:'✓';color:var(--teal);font-weight:900}

/* ===== Designer / product configurator ===== */
.designer-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:30px;align-items:start}
@media (max-width:980px){.designer-grid{grid-template-columns:1fr}}
.preview-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:30px;text-align:center;box-shadow:var(--shadow-md);position:sticky;top:90px}
.product-pick{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}
.product-pick label{cursor:pointer;border:2px solid var(--line);border-radius:12px;padding:12px;text-align:center;font-weight:600;font-size:.9rem;color:var(--ink-2);transition:all .15s ease}
.product-pick input{display:none}
.product-pick input:checked + label, .product-pick label:hover{border-color:var(--teal);background:var(--teal-l);color:var(--teal-d)}
.swatches{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 0}
.swatch{width:32px;height:32px;border-radius:50%;border:2px solid var(--line);cursor:pointer;transition:transform .15s ease, border-color .15s ease}
.swatch:hover{transform:scale(1.1);border-color:var(--teal)}

/* ===== Footer (dark) ===== */
footer.site-foot{padding:64px 0 36px;background:var(--ink);color:#a7adbe;margin-top:80px}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px;margin-bottom:36px}
@media (max-width:860px){.foot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.foot-grid{grid-template-columns:1fr}}
footer.site-foot .brand-foot img{height:90px;background:#fff;padding:12px 16px;border-radius:10px;display:block;margin-bottom:14px;max-width:280px}
footer.site-foot h5{font-family:'Archivo Black',sans-serif;font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;color:#fff;margin:0 0 14px}
footer.site-foot a{color:#a7adbe;display:block;padding:5px 0;font-size:.93rem;font-weight:500}
footer.site-foot a:hover{color:var(--teal);text-decoration:none}
footer.site-foot p{color:#a7adbe;font-size:.93rem;margin:0 0 .8em}
.legal{display:flex;justify-content:space-between;padding-top:24px;margin-top:24px;border-top:1px solid #1f1f25;font-size:.85rem;flex-wrap:wrap;gap:12px;color:#80869a}
.legal a{display:inline;color:#a7adbe}

/* ===== Default WP page content (page.php) ===== */
.page-content{padding:60px 0 80px}
.page-content .entry{max-width:780px;margin:0 auto}
.page-content .entry h1{margin-bottom:.4em}
.page-content .entry img{border-radius:var(--radius);margin:18px 0}
.page-content .entry blockquote{border-left:4px solid var(--teal);padding:8px 18px;margin:18px 0;color:var(--ink-2);background:var(--teal-l);border-radius:0 8px 8px 0}
.page-content .entry pre{background:#0F1115;color:#E5E7EB;padding:16px;border-radius:10px;overflow:auto;font-size:.88rem}

/* ===== Utility ===== */
.text-center{text-align:center}
.mt-0{margin-top:0!important} .mt-1{margin-top:.5rem} .mt-2{margin-top:1rem} .mt-3{margin-top:1.5rem}
.mb-0{margin-bottom:0!important}
.flex-center{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}
.screen-reader-text{position:absolute;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;width:1px;overflow:hidden}

/* ===== Contact + Designer additions ===== */
.hero-lime{background:linear-gradient(135deg,#F4FCE3 0%, #FFFFFF 60%)}
.eyebrow-dot.lime{background:var(--lime)}

.contact-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:34px;align-items:start}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr}}

.contact-aside .info-card{margin-bottom:14px}
.contact-aside .info-card h4{margin:0 0 10px;font-size:1.02rem;color:var(--ink)}
.contact-aside .info-card p{margin:0 0 6px;color:var(--ink-2);font-size:.96rem;line-height:1.55}
.contact-aside .info-card a{color:var(--teal);font-weight:600}

.ptp-form .form-row{margin-bottom:14px}
.ptp-form .form-row label{display:block;font-weight:700;font-size:.9rem;margin-bottom:6px;color:var(--ink)}
.ptp-form .form-row input,.ptp-form .form-row select,.ptp-form .form-row textarea{width:100%;padding:12px 14px;border:1px solid var(--line-strong);border-radius:10px;font-family:inherit;font-size:1rem;color:var(--ink);background:#fff;transition:border-color .15s ease, box-shadow .15s ease}
.ptp-form .form-row input:focus,.ptp-form .form-row select:focus,.ptp-form .form-row textarea:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 4px rgba(45,169,160,.15)}
.ptp-form .form-row textarea{min-height:120px;resize:vertical}
.ptp-form .form-row-split{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:640px){.ptp-form .form-row-split{grid-template-columns:1fr}}
.ptp-form .form-actions{display:flex;align-items:center;gap:18px;margin-top:18px;flex-wrap:wrap}
.ptp-form .form-note{color:var(--ink-2);font-size:.88rem}

.picker-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin-top:28px}
.picker-card{display:block;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px;text-decoration:none;color:var(--ink);transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease}
.picker-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--teal)}
.picker-card svg{width:100%;height:auto;border-radius:10px;margin-bottom:12px}
.picker-card h4{margin:0 0 4px;font-size:1.05rem}
.picker-card p{margin:0;color:var(--ink-2);font-size:.92rem}

.swatch-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px;margin-top:24px}
.swatch{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:16px;text-align:center}
.swatch span{display:block;width:48px;height:48px;border-radius:50%;margin:0 auto 10px;box-shadow:0 2px 6px rgba(0,0,0,.08)}
.swatch strong{display:block;color:var(--ink);font-size:.98rem}
.swatch em{color:var(--ink-2);font-size:.84rem;font-style:normal}

.cta-band.cta-purple{background:linear-gradient(135deg,var(--purple) 0%, var(--purple-d) 100%)}
.cta-band .cta-inner{position:relative;z-index:1}
.cta-band .cta-ctas{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}
.btn-on-dark{color:#fff!important;border-color:rgba(255,255,255,.45)!important}
.btn-on-dark:hover{background:rgba(255,255,255,.1)!important}

/* ===== Sublimation catalogue (v1.1) ===== */
.cat-filter{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:18px}
.cat-chip{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:10px 18px;color:var(--ink);font-weight:600;text-decoration:none;font-size:.96rem;transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease}
.cat-chip em{font-style:normal;color:var(--ink-2);font-weight:500;font-size:.85em;background:var(--teal-l);padding:2px 8px;border-radius:999px}
.cat-chip:hover{border-color:var(--teal);transform:translateY(-1px);box-shadow:var(--shadow-sm)}

.product-section{padding:56px 0}
.product-section + .product-section{border-top:1px solid var(--line)}
.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:22px;margin-top:32px}
.product-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
.product-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--teal)}
.product-img{aspect-ratio:1;background:#F5F7F9;display:flex;align-items:center;justify-content:center;padding:18px;overflow:hidden}
.product-img img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;mix-blend-mode:multiply}
.product-meta{padding:14px 16px 18px;flex:1;display:flex;flex-direction:column;gap:6px}
.product-meta h4{margin:0;font-size:1rem;line-height:1.3;color:var(--ink)}
.product-sku{margin:0;font-size:.78rem;color:var(--ink-2);letter-spacing:.02em}
.product-cta{margin-top:auto;color:var(--teal);font-weight:700;font-size:.92rem;text-decoration:none}
.product-cta:hover{text-decoration:underline}

/* ===== Commercial print pricing tables ===== */
.price-tables{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:30px}
@media (max-width:900px){.price-tables{grid-template-columns:1fr}}
.price-table{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm)}
.price-table-head{background:var(--teal);color:#fff;padding:14px 18px}
.price-table-head h3{margin:0;color:#fff;font-size:1.1rem}
.price-table-head p{margin:4px 0 0;font-size:.82rem;color:rgba(255,255,255,.85)}
.price-table table{width:100%;border-collapse:collapse;font-size:.92rem}
.price-table th,.price-table td{padding:9px 12px;text-align:left;border-bottom:1px solid var(--line)}
.price-table th{background:#F5F7F9;font-weight:600;color:var(--ink-2);font-size:.78rem;text-transform:uppercase;letter-spacing:.05em}
.price-table td.num{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}
.price-table tr.size-a4 td:first-child,.price-table tr.size-a4 td.size-cell{color:#B45309}
.price-table tr.size-a5 td:first-child,.price-table tr.size-a5 td.size-cell{color:var(--teal-d)}
.price-table tr.size-a6 td:first-child,.price-table tr.size-a6 td.size-cell{color:#C2410C}
.price-disclaimer{margin-top:24px;padding:18px 22px;background:var(--teal-l);border-left:4px solid var(--teal);border-radius:0 12px 12px 0;font-size:.95rem;color:var(--ink-2)}

/* ===== 3D calculator ===== */
.calc-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:28px;align-items:start;margin-top:24px}
@media (max-width:900px){.calc-grid{grid-template-columns:1fr}}
.calc-form{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:28px;box-shadow:var(--shadow-md)}
.calc-form .form-row label{display:flex;justify-content:space-between;align-items:baseline}
.calc-form .form-row label span.val{color:var(--purple);font-weight:800;font-size:1.05rem;font-variant-numeric:tabular-nums}
.calc-form input[type=range]{width:100%;accent-color:var(--purple)}
.calc-form .radio-group{display:flex;flex-wrap:wrap;gap:8px}
.calc-form .radio-pill{flex:1;min-width:90px;text-align:center;cursor:pointer;padding:10px 12px;border:1px solid var(--line-strong);border-radius:999px;background:#fff;font-weight:600;font-size:.88rem;color:var(--ink-2);transition:all .15s ease}
.calc-form .radio-pill input{display:none}
.calc-form .radio-pill:has(input:checked){background:var(--purple);color:#fff;border-color:var(--purple)}
.calc-form .checkbox-row{display:flex;align-items:center;gap:10px;padding:10px 0;cursor:pointer}
.calc-form .checkbox-row input{width:18px;height:18px;accent-color:var(--purple)}

.calc-result{background:linear-gradient(135deg,var(--purple) 0%, var(--purple-d) 100%);color:#fff;border-radius:var(--radius-lg);padding:32px;text-align:center;box-shadow:var(--shadow-lg);position:sticky;top:90px}
.calc-result .label{text-transform:uppercase;font-size:.78rem;letter-spacing:.18em;color:rgba(255,255,255,.78);font-weight:700}
.calc-result .price{font-family:'Archivo Black',sans-serif;font-size:clamp(2.6rem,5vw,3.6rem);line-height:1;margin:14px 0 6px;color:#fff}
.calc-result .sub{color:rgba(255,255,255,.85);font-size:.92rem;margin:0 0 20px}
.calc-result .breakdown{background:rgba(255,255,255,.12);border-radius:12px;padding:14px 16px;text-align:left;font-size:.88rem;line-height:1.7;margin-bottom:18px}
.calc-result .breakdown span{display:flex;justify-content:space-between;color:rgba(255,255,255,.92)}
.calc-result .breakdown strong{color:#fff}
.calc-result .btn{width:100%;background:var(--orange);color:#0a0a0a;font-weight:800}
.calc-result .btn:hover{background:var(--orange-d);color:#0a0a0a}

/* ===== Curated 3D showcase ===== */
.showcase-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:22px;margin-top:32px}
.showcase-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;text-decoration:none;color:var(--ink);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
.showcase-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--purple)}
.showcase-card .icon-tile{aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;padding:24px}
.showcase-card h4{margin:14px 18px 4px;font-size:1.05rem;color:var(--ink)}
.showcase-card p{margin:0 18px 8px;color:var(--ink-2);font-size:.88rem;line-height:1.5}
.showcase-card .meta{margin:8px 18px 16px;display:flex;justify-content:space-between;color:var(--purple);font-weight:700;font-size:.88rem}
