/* PA Contractor Connection — Print Store v2 (staging).
   Base rules are the LIVE site design system, copied verbatim from print-store.html;
   store components are appended at the end. */
@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@400;500;600;700;800&family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&display=swap');
    :root {
      color-scheme: light dark;
      --ink:#0d2732; --ink-2:#183d49; --paper:#f5f4ef; --paper-2:#fff; --muted:#51626a;
      --line:#c9c9bf; --gold:#c99425; --gold-dark:#9a6b0d; --gold-soft:#f2e3bd;
      --success:#246b48; --danger:#a2362c; --shadow:0 18px 45px rgba(13,39,50,.12);
      --serif:"Libre Baskerville",Georgia,serif; --sans:"Archivo",sans-serif;
    }
    @media (prefers-color-scheme:dark) {
      :root { --ink:#eaf3f5; --ink-2:#b9d7de; --paper:#08171d; --paper-2:#10272f; --muted:#b3c3c8; --line:#34505a; --gold:#e5b751; --gold-dark:#f2ce7a; --gold-soft:#3f351d; --success:#80c9a3; --danger:#ff9f95; --shadow:0 18px 45px rgba(0,0,0,.35); }
    }
    *{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.55;overflow-x:hidden} img{display:block;width:100%} a{color:inherit} button,input,textarea,select{font:inherit} button,a{-webkit-tap-highlight-color:transparent}.wrap{width:min(1180px,calc(100% - 40px));margin-inline:auto}
    .utility{background:#071f29;color:#fff;border-bottom:3px solid var(--gold)}.utility .wrap{min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:18px;font-size:.83rem;font-weight:700}.utility strong{color:#f2c866}.utility-links{display:flex;gap:18px;align-items:center}.utility a{text-decoration:none}
    .site-nav{background:var(--paper-2);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.nav-wrap{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:66px}.nav-call{font-family:var(--serif);font-weight:700;text-decoration:none;white-space:nowrap}.nav-links{display:flex;align-items:center;justify-content:flex-end;gap:4px;flex-wrap:wrap}.nav-link{padding:9px 11px;text-decoration:none;font-size:.85rem;font-weight:700;border-bottom:3px solid transparent}.nav-link:hover,.nav-link[aria-current="page"]{color:var(--gold-dark);border-bottom-color:var(--gold)}
    .page-intro{padding:76px 0 54px;background:#0b2731;color:#fff}.page-intro .eyebrow{margin-bottom:12px}.page-intro h1{max-width:900px;margin:0 0 16px;font-family:var(--serif);font-size:clamp(2.35rem,5vw,4.65rem);line-height:1.05;letter-spacing:-.045em}.page-intro p:last-child{max-width:720px;margin:0;color:#d7e2e4;font-size:1.08rem}
    .eyebrow{display:inline-flex;align-items:center;gap:10px;margin:0 0 18px;color:#f1c55f;font-weight:800;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}.eyebrow::before{content:"";width:42px;height:3px;background:currentColor}
    h1,h2,h3,p{margin-top:0}
    .actions{display:flex;flex-wrap:wrap;gap:12px}.btn{min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 20px;border:2px solid transparent;border-radius:4px;background:var(--gold);color:#071f29;font-weight:800;text-decoration:none;cursor:pointer}.btn:hover{background:#efc761}.btn.dark{background:var(--ink);color:var(--paper-2)}.btn.dark:hover{background:var(--ink-2)}
    section.content-section{padding:82px 0}
    .section-head{max-width:760px;margin-bottom:34px}.section-head h2{font-family:var(--serif);font-size:clamp(1.9rem,4vw,3.2rem);letter-spacing:-.035em;margin-bottom:10px}.section-head p{color:var(--muted)}
    form.builder{padding:34px;background:var(--paper-2);border-top:5px solid var(--gold);box-shadow:var(--shadow)}
    .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}label{font-size:.82rem;font-weight:800}input,textarea,select{width:100%;min-height:50px;border:1px solid var(--line);border-radius:2px;padding:12px 13px;background:var(--paper);color:var(--ink);outline:none}textarea{min-height:140px;resize:vertical}input:focus,textarea:focus,select:focus{border-color:var(--gold-dark);box-shadow:0 0 0 3px color-mix(in srgb,var(--gold) 25%,transparent)}
    .form-note{margin:18px 0;color:var(--muted);font-size:.8rem}.form-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.file-hint{display:block;margin-top:6px;font-size:.8rem;color:var(--muted)}
    .radio-rows{display:flex;flex-direction:column;gap:10px}
    .radio-row{display:flex;gap:12px;align-items:flex-start;background:var(--paper);border:2px solid var(--line);padding:14px 16px;cursor:pointer}
    .radio-row input{width:auto;min-height:0;margin-top:4px;accent-color:var(--gold-dark)}
    .radio-row.selected{border-color:var(--gold);outline:3px solid color-mix(in srgb,var(--gold) 45%,transparent)}
    .radio-row strong{display:block;font-size:.95rem}.radio-row span{color:var(--muted);font-size:.85rem}
    .chips{display:flex;flex-wrap:wrap;gap:10px}
    .chip{display:inline-flex;cursor:pointer}
    .chip input{position:absolute;opacity:0;pointer-events:none}
    .chip .chip-body{border:2px solid var(--line);background:var(--paper);border-radius:999px;padding:10px 18px;font-weight:700;font-size:.9rem;display:inline-flex;gap:8px;align-items:center}
    .chip .chip-body small{font-weight:600;color:var(--muted)}
    .chip.selected .chip-body{border-color:var(--gold);background:var(--gold-soft);outline:2px solid color-mix(in srgb,var(--gold) 45%,transparent)}
    .chip.selected .chip-body::before{content:"✓";color:var(--success);font-weight:800}
    .pick-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px}
    .pick-card{display:block;background:var(--paper);border:2px solid var(--line);padding:14px;cursor:pointer;box-shadow:var(--shadow)}
    .pick-card input{position:absolute;opacity:0;pointer-events:none}
    .pick-card .pick-name{font-family:var(--serif);font-size:1.05rem;margin:12px 0 2px}
    .pick-card .pick-desc{color:var(--muted);font-size:.85rem;margin:0}
    .pick-card.selected{border-color:var(--gold);outline:3px solid color-mix(in srgb,var(--gold) 45%,transparent)}
    .mock{border:1px solid #c9c9bf;border-radius:6px;overflow:hidden;background:#fff;min-height:104px}
    .ph{background:linear-gradient(135deg,#8a9a5b,#5b7038)}.ph2{background:linear-gradient(135deg,#b08954,#7d5c33)}.ph3{background:linear-gradient(135deg,#5b7a99,#38506b)}.ph4{background:linear-gradient(135deg,#a3624a,#74402c)}
    .lay-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:8px}.lay-grid div{height:26px;border-radius:3px}
    .lay-hero{padding:8px}.lay-hero .big{height:52px;border-radius:3px}.lay-hero .row{display:flex;gap:4px;margin-top:4px}.lay-hero .row div{flex:1;height:22px;border-radius:3px}
    .lay-ba{display:flex;gap:4px;padding:8px}.lay-ba div{flex:1;height:80px;border-radius:3px;position:relative}.lay-ba span{position:absolute;left:6px;bottom:5px;font-size:9px;font-weight:800;color:#fff;background:rgba(0,0,0,.45);padding:2px 6px;border-radius:8px}
    .lay-mag{display:flex;gap:8px;padding:8px}.lay-mag .big{flex:1.4;height:80px;border-radius:3px}.lay-mag .txt{flex:1}.m-line{height:7px;border-radius:4px;background:#cfd4d6;margin:5px 0}.m-line.short{width:55%}
    .lay-reel{padding:8px}.lay-reel .stage{height:64px;border-radius:3px;position:relative;background:linear-gradient(135deg,#38506b,#101d29)}.lay-reel .play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.92);color:#101d29;font-size:13px;display:flex;align-items:center;justify-content:center}.lay-reel .dots{text-align:center;color:#9aa;font-size:12px;letter-spacing:3px}
    .lay-masonry{display:flex;gap:4px;padding:8px}.lay-masonry .col{flex:1;display:flex;flex-direction:column;gap:4px}.lay-masonry .col div{border-radius:3px}
    .lay-custom{display:flex;align-items:center;justify-content:center;min-height:104px;border:2px dashed #b9b9ad;background:#fafaf6;color:#51626a;font-weight:800;font-size:.85rem;text-align:center;padding:10px}
    .swatches{display:flex;gap:16px;flex-wrap:wrap}
    .swatch{display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;font-size:.75rem;font-weight:700;color:var(--muted)}
    .swatch input{position:absolute;opacity:0;pointer-events:none}
    .swatch .dot{width:52px;height:52px;border-radius:50%;border:3px solid var(--paper-2);box-shadow:0 0 0 1px var(--line);display:block}
    .swatch.selected .dot{box-shadow:0 0 0 3px var(--gold-dark)}
    footer{padding:34px 0 42px;border-top:1px solid var(--line);color:var(--muted);font-size:.83rem}footer .wrap{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}.footer-nav,.footer-towns{display:flex;gap:12px;flex-wrap:wrap}.footer-nav a,.footer-towns a{text-decoration:none}.footer-nav a:hover,.footer-towns a:hover{text-decoration:underline}.footer-area{width:100%;padding-top:18px;border-top:1px solid var(--line)}.footer-area strong{display:block;margin-bottom:7px;color:var(--ink)}
    @media(max-width:560px){.wrap{width:min(100% - 28px,1180px)}.utility-links{width:100%;justify-content:space-between;gap:8px}.site-nav{position:static}.nav-call{width:100%}.nav-links{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px}.nav-link{padding:10px 6px}.page-intro{padding:56px 0 42px}section.content-section{padding:62px 0}form.builder{padding:24px 18px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.form-actions{align-items:stretch;flex-direction:column}.form-actions .btn{width:100%}footer .wrap{flex-direction:column;gap:18px}}
    @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
  
    .catalog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
    .service-card{background:var(--paper-2);border:1px solid var(--line);border-top:4px solid var(--gold);padding:20px;box-shadow:var(--shadow)}
    .service-card h3{font-family:var(--serif);font-size:1.12rem;margin:0 0 8px}
    .service-card .card-desc{color:var(--muted);font-size:.9rem;margin:0 0 10px}
    .service-card .card-options{font-size:.83rem;margin:0 0 10px}
    .service-card .card-options strong{font-weight:800}
    .service-card .price-line{font-weight:800;color:var(--gold-dark);font-size:.95rem;margin:0}
    .service-card .price-line + .price-line{margin-top:4px}
    section.catalog-section{padding:48px 0}
    .finish-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px}
    .finish-card{background:var(--paper-2);border:1px solid var(--line);padding:20px}
    .finish-card h3{font-family:var(--serif);font-size:1.05rem;margin:0 0 8px}
    .finish-card p,.finish-card li{color:var(--muted);font-size:.9rem}
    .finish-card ul{margin:0;padding-left:18px}
    .band{background:#0b2731;color:#fff;padding:64px 0}
    .band h2{font-family:var(--serif);font-size:clamp(1.9rem,4vw,3rem);letter-spacing:-.03em;margin-bottom:10px}
    .band p{color:#d7e2e4;max-width:760px}
    .kit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px;margin-top:26px}
    .kit-card{background:var(--paper-2);color:var(--ink);border-top:4px solid var(--gold);padding:22px}
    .kit-card h3{font-family:var(--serif);margin:0 0 6px}
    .kit-card .kit-price{font-weight:800;color:var(--gold-dark);font-size:1.25rem;margin:0 0 8px}
    .kit-card p{color:var(--muted);font-size:.9rem}
    .group-head{font-family:var(--serif);font-size:1.15rem;margin:30px 0 10px;color:var(--ink)}
    .group-head:first-of-type{margin-top:6px}
    .summary-line{margin:20px 0 4px;padding:14px 16px;background:var(--gold-soft);border-left:4px solid var(--gold);font-weight:800}
    .summary-line span{color:var(--gold-dark)}

/* ================= STORE v2 components (added for the expanded print store) ================= */
.cart-link{position:relative}
.cart-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 5px;border-radius:999px;background:var(--gold);color:#071f29;font-size:.75rem;font-weight:800;margin-left:6px;vertical-align:2px}
.cart-count[hidden]{display:none}
.store-search{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 26px}
.store-search input{flex:1 1 260px}
.tax-note{display:flex;gap:10px;align-items:flex-start;background:var(--gold-soft);border-left:4px solid var(--gold);padding:14px 16px;font-weight:700;margin:0 0 26px}
.tax-note span{font-weight:600;color:var(--ink-2)}
.p-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}
.p-card{background:var(--paper-2);border:1px solid var(--line);border-top:4px solid var(--gold);box-shadow:var(--shadow);display:flex;flex-direction:column;text-decoration:none;overflow:hidden}
.p-card:hover{outline:2px solid var(--gold)}
.p-card img{aspect-ratio:4/3;object-fit:cover;background:#0b2731}
.p-card .p-body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:7px;flex:1}
.p-card h3{font-family:var(--serif);font-size:1.08rem;margin:0}
.p-card .p-desc{color:var(--muted);font-size:.87rem;margin:0;flex:1}
.p-card .p-price{font-weight:800;color:var(--gold-dark);font-size:1rem;margin:0}
.p-card .p-price small{color:var(--muted);font-weight:600}
.p-badge{align-self:flex-start;background:#071f29;color:#f2c866;font-size:.72rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:4px 9px;border-radius:999px}
.p-badge.quote{background:var(--paper);color:var(--ink-2);border:1.5px solid var(--line)}
.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:20px}
.cat-card{background:var(--paper-2);border:1px solid var(--line);box-shadow:var(--shadow);text-decoration:none;overflow:hidden;display:flex;flex-direction:column}
.cat-card:hover{outline:2px solid var(--gold)}
.cat-card img{aspect-ratio:8/5;object-fit:cover;background:#0b2731}
.cat-card .p-body{padding:16px 18px 18px}
.cat-card h3{font-family:var(--serif);font-size:1.12rem;margin:0 0 6px}
.cat-card p{color:var(--muted);font-size:.88rem;margin:0}
.cat-card .p-count{margin-top:10px;font-weight:800;color:var(--gold-dark);font-size:.85rem}
.crumb{font-size:.85rem;font-weight:700;color:var(--muted);margin:0 0 18px}
.crumb a{text-decoration:none}.crumb a:hover{text-decoration:underline}
.config-wrap{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:34px;align-items:start}
.config-photo{position:sticky;top:92px}
.config-photo img{border:1px solid var(--line);box-shadow:var(--shadow)}
.config-photo .tax-note{margin-top:16px}
.opt-group{margin:0 0 24px}
.opt-group>h3{font-size:.85rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;margin:0 0 10px}
.opt-group .chips{gap:8px}
.qty-input-row{display:flex;gap:12px;align-items:end;flex-wrap:wrap}
.qty-input-row .field{flex:1 1 180px}
.unit-price-hint{font-weight:800;color:var(--gold-dark);padding-bottom:14px}
.price-table{width:100%;border-collapse:collapse;font-size:.9rem;margin:6px 0 4px}
.price-table th,.price-table td{border:1px solid var(--line);padding:9px 11px;text-align:left}
.price-table th{background:var(--paper);font-size:.78rem;text-transform:uppercase;letter-spacing:.05em}
.price-table tr.active td{background:var(--gold-soft);font-weight:800}
.price-table tr{cursor:pointer}
.price-panel{position:sticky;bottom:0;background:var(--paper-2);border-top:5px solid var(--gold);box-shadow:var(--shadow);padding:18px 20px;margin-top:8px;z-index:5}
.price-panel .pp-row{display:flex;justify-content:space-between;gap:14px;align-items:baseline;flex-wrap:wrap}
.price-panel .pp-total{font-family:var(--serif);font-size:1.7rem;font-weight:700}
.price-panel .pp-detail{color:var(--muted);font-size:.85rem}
.price-panel .pp-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:12px}
.check-line{display:flex;gap:12px;align-items:flex-start;background:var(--paper);border:2px solid var(--line);padding:14px 16px;cursor:pointer}
.check-line input{width:auto;min-height:0;margin-top:4px;accent-color:var(--gold-dark)}
.check-line strong{display:block;font-size:.95rem}
.check-line span{color:var(--muted);font-size:.85rem}
.cart-table{width:100%;border-collapse:collapse;background:var(--paper-2);box-shadow:var(--shadow)}
.cart-table th,.cart-table td{border-bottom:1px solid var(--line);padding:14px 16px;text-align:left;vertical-align:top}
.cart-table th{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;background:var(--paper)}
.cart-item-name{font-family:var(--serif);font-size:1.02rem}
.cart-item-opts{color:var(--muted);font-size:.85rem;margin:4px 0 0}
.cart-item-art{font-size:.82rem;margin-top:4px}
.cart-remove{background:none;border:none;color:var(--danger);font-weight:800;cursor:pointer;padding:4px 0;text-decoration:underline}
.cart-edit{font-weight:700;font-size:.85rem}
.cart-total-row td{font-weight:800;font-size:1.08rem;border-bottom:none}
.tax-included-line{color:var(--success);font-weight:800;font-size:.9rem}
.empty-note{padding:26px;background:var(--paper-2);border:1px dashed var(--line);text-align:center;color:var(--muted)}
.toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%) translateY(20px);background:#071f29;color:#fff;padding:13px 20px;border-radius:6px;font-weight:700;box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:all .25s ease;z-index:60;max-width:calc(100% - 32px);text-align:center}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.toast a{color:#f2c866}
.steps-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}
.step-card{background:var(--paper-2);border:1px solid var(--line);border-top:4px solid var(--gold);padding:20px}
.step-card .step-num{font-family:var(--serif);font-size:1.6rem;color:var(--gold-dark);font-weight:700}
.step-card h3{font-family:var(--serif);font-size:1.05rem;margin:6px 0 6px}
.step-card p{color:var(--muted);font-size:.9rem;margin:0}
.kit-band-card .p-price{font-size:1.2rem}
.file-name{font-size:.85rem;color:var(--ink-2);font-weight:700;margin-top:6px}
@media(max-width:820px){.config-wrap{grid-template-columns:1fr}.config-photo{position:static}.cart-table th:nth-child(3),.cart-table td:nth-child(3){display:none}}
@media(max-width:560px){.p-grid,.cat-grid{grid-template-columns:1fr 1fr;gap:12px}.p-card .p-body{padding:12px}.p-card h3{font-size:.95rem}.p-card .p-desc{display:none}.price-panel .pp-actions .btn{flex:1}}
