{"product_id":"trucker-cap","title":"Trucker Cap","description":"\u003cstyle\u003e\n  :root{\n    --cream:#F3EEE1;\n    --ink:#2A241C;\n    --denim:#3E5C74;\n    --clay:#D97A45;\n    --dust-blue:#8FA6B8;\n    --sherbet:#F0A868;\n    --line: rgba(42,36,28,0.14);\n  }\n  *{ box-sizing: border-box; }\n  html,body{ margin:0; padding:0; }\n  body{\n    background: var(--cream);\n    color: var(--ink);\n    font-family: 'Source Serif 4', Georgia, serif;\n    line-height: 1.55;\n    -webkit-font-smoothing: antialiased;\n  }\n  .display{\n    font-family: 'Oswald', sans-serif;\n    text-transform: none;\n    letter-spacing: 0.01em;\n  }\n\n  .wrap{\n    max-width: 1120px;\n    margin: 0 auto;\n    padding: 48px 28px 96px;\n  }\n\n  \/* ---- top strip ---- *\/\n  .topbar{\n    display:flex;\n    justify-content: space-between;\n    align-items:center;\n    padding-bottom: 22px;\n    margin-bottom: 40px;\n    border-bottom: 1px solid var(--line);\n    font-family:'Oswald', sans-serif;\n    font-size: 13px;\n    color: var(--denim);\n  }\n  .topbar .mark{\n    font-weight:700;\n    font-size:16px;\n    color: var(--ink);\n  }\n\n  \/* ---- product layout ---- *\/\n  .pdp{\n    display:grid;\n    grid-template-columns: 1.05fr 1fr;\n    gap: 56px;\n    align-items:start;\n  }\n  @media (max-width: 820px){\n    .pdp{ grid-template-columns: 1fr; }\n  }\n\n  \/* ---- visual: stitched cap patch mockup ---- *\/\n  .visual{\n    position:relative;\n    border-radius: 4px;\n  }\n  .patch{\n    aspect-ratio: 4\/3.1;\n    border-radius: 6px;\n    position:relative;\n    background:\n      radial-gradient(ellipse at 30% 20%, rgba(255,255,255,0.35), transparent 55%),\n      linear-gradient(155deg, var(--dust-blue) 0%, var(--denim) 55%, #2f4859 100%);\n    overflow:hidden;\n    box-shadow: 0 18px 40px -18px rgba(42,36,28,0.45);\n  }\n  .patch::before{\n    \/* mesh texture, back panel *\/\n    content:\"\";\n    position:absolute;\n    right:0; top:0; bottom:0;\n    width:42%;\n    background-image: repeating-linear-gradient(45deg, rgba(255,255,255,0.16) 0 2px, transparent 2px 8px),\n                       repeating-linear-gradient(-45deg, rgba(255,255,255,0.16) 0 2px, transparent 2px 8px);\n    opacity:0.55;\n  }\n  .patch::after{\n    \/* distress grain *\/\n    content:\"\";\n    position:absolute; inset:0;\n    background-image:\n      radial-gradient(rgba(42,36,28,0.14) 1px, transparent 1.4px),\n      radial-gradient(rgba(255,255,255,0.10) 1px, transparent 1.4px);\n    background-size: 5px 5px, 7px 7px;\n    background-position: 0 0, 2px 3px;\n    mix-blend-mode: multiply;\n  }\n  .stitch-seam{\n    position:absolute;\n    left:58%;\n    top:0; bottom:0;\n    width:0;\n    border-left: 2px dashed rgba(255,255,255,0.55);\n  }\n  .brim{\n    position:absolute;\n    left:6%; right:38%;\n    bottom:-6%;\n    height:26%;\n    background: linear-gradient(180deg, #2f4859, #23384750);\n    border-radius: 0 0 60px 8px;\n    box-shadow: 0 10px 18px -10px rgba(0,0,0,0.4);\n  }\n  .patch-label{\n    position:absolute;\n    left: 9%;\n    top: 32%;\n    font-family:'Oswald', sans-serif;\n    color: #F3EEE1;\n    font-weight:700;\n    font-size: clamp(20px, 3.2vw, 30px);\n    line-height:1.05;\n    letter-spacing: 0.01em;\n    text-shadow: 0 2px 0 rgba(0,0,0,0.18);\n  }\n  .patch-label span{\n    display:block;\n    font-family:'Source Serif 4', serif;\n    font-weight:400;\n    font-style: italic;\n    font-size: 14px;\n    color: rgba(243,238,225,0.85);\n    margin-top:6px;\n  }\n  .badge{\n    position:absolute;\n    top: 18px; left: 18px;\n    background: var(--clay);\n    color: var(--cream);\n    font-family:'Oswald', sans-serif;\n    font-size: 12px;\n    font-weight:600;\n    padding: 6px 12px;\n    border-radius: 3px;\n  }\n\n  .swatches{\n    display:flex;\n    gap:12px;\n    margin-top: 20px;\n  }\n  .swatch{\n    width:38px; height:38px;\n    border-radius:50%;\n    border: 2px solid transparent;\n    box-shadow: inset 0 0 0 1px rgba(42,36,28,0.18);\n    cursor:pointer;\n    display:flex; align-items:flex-end; justify-content:center;\n  }\n  .swatch.active{ border-color: var(--ink); }\n  .sw-lightblue{ background:#A9C4D6; }\n  .sw-dustyblue{ background:#7C93A8; }\n  .sw-sherbet{ background:#F0A868; }\n  .sw-pastelyellow{ background:#E9D998; }\n  .swatch-caption{\n    font-family:'Oswald', sans-serif;\n    font-size: 12px;\n    color: var(--denim);\n    margin-top: 10px;\n  }\n\n  \/* ---- info column ---- *\/\n  .info .eyebrow{\n    font-family:'Oswald', sans-serif;\n    font-size: 13px;\n    color: var(--clay);\n    font-weight:600;\n    margin-bottom: 10px;\n  }\n  h1.title{\n    font-family:'Oswald', sans-serif;\n    font-size: clamp(30px, 4vw, 42px);\n    font-weight:600;\n    margin: 0 0 10px;\n    line-height:1.08;\n    color: var(--ink);\n  }\n  .price-row{\n    display:flex;\n    align-items:baseline;\n    gap: 12px;\n    margin-bottom: 22px;\n  }\n  .price{\n    font-family:'Oswald', sans-serif;\n    font-size: 24px;\n    font-weight:600;\n    color: var(--ink);\n  }\n  .price-note{\n    font-size: 14px;\n    color: var(--denim);\n  }\n\n  .intro{\n    font-size: 17px;\n    color: var(--ink);\n    margin-bottom: 26px;\n  }\n\n  .benefits{\n    list-style:none;\n    margin: 0 0 30px;\n    padding:0;\n    display:grid;\n    gap: 14px;\n  }\n  .benefits li{\n    display:grid;\n    grid-template-columns: 22px 1fr;\n    gap: 12px;\n    align-items:start;\n    padding-bottom: 14px;\n    border-bottom: 1px solid var(--line);\n    font-size: 15.5px;\n  }\n  .benefits li:last-child{ border-bottom:none; padding-bottom:0; }\n  .benefits li .mark{\n    font-family:'Oswald', sans-serif;\n    color: var(--clay);\n    font-weight:700;\n    font-size: 15px;\n    line-height: 1.6;\n  }\n  .benefits strong{ color: var(--ink); }\n\n  .who{\n    font-size: 15.5px;\n    color: var(--ink);\n    background: rgba(143,166,184,0.14);\n    border-left: 3px solid var(--denim);\n    padding: 18px 20px;\n    margin-bottom: 30px;\n  }\n  .who .who-label{\n    font-family:'Oswald', sans-serif;\n    font-size:12px;\n    font-weight:600;\n    color: var(--denim);\n    display:block;\n    margin-bottom: 8px;\n  }\n\n  .cta-row{\n    display:flex;\n    gap: 14px;\n    margin-bottom: 18px;\n  }\n  .btn{\n    font-family:'Oswald', sans-serif;\n    font-size: 15px;\n    font-weight:600;\n    padding: 15px 22px;\n    border-radius: 3px;\n    border: none;\n    cursor:pointer;\n    flex:1;\n    text-align:center;\n  }\n  .btn-primary{\n    background: var(--ink);\n    color: var(--cream);\n  }\n  .btn-secondary{\n    background: transparent;\n    color: var(--ink);\n    border: 1.5px solid var(--ink);\n  }\n  .microcopy{\n    font-family:'Oswald', sans-serif;\n    font-size: 12.5px;\n    color: var(--denim);\n  }\n\n  \/* ---- spec strip ---- *\/\n  .specs{\n    margin-top: 70px;\n    padding-top: 34px;\n    border-top: 1px solid var(--line);\n    display:grid;\n    grid-template-columns: repeat(4, 1fr);\n    gap: 26px;\n  }\n  @media (max-width: 720px){\n    .specs{ grid-template-columns: repeat(2, 1fr); }\n  }\n  .spec-label{\n    font-family:'Oswald', sans-serif;\n    font-size: 12px;\n    color: var(--clay);\n    font-weight:600;\n    margin-bottom: 6px;\n  }\n  .spec-value{\n    font-size: 15px;\n  }\n\n  footer.note{\n    margin-top: 60px;\n    font-family:'Oswald', sans-serif;\n    font-size: 12px;\n    color: var(--denim);\n    text-align:center;\n  }\n\u003c\/style\u003e\n\u003cdiv class=\"wrap\"\u003e\n\u003cdiv class=\"pdp\"\u003e\n\u003cdiv class=\"info\"\u003e\n\u003ch1 class=\"title\"\u003eDistressed Adjustable Trucker Cap\u003c\/h1\u003e\n\u003cdiv class=\"price-row\"\u003e\n\u003cspan class=\"price\"\u003e$17.74\u003c\/span\u003e \u003cspan class=\"price-note\"\u003eOne size · fits 22.04–22.40 in\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cp class=\"intro\"\u003eMeet your new go-to accessory. This distressed trucker-style cap delivers that effortlessly cool, lived-in look without any of the effort  pull it on and you're instantly put together, whether you're grabbing coffee, hitting the trail, or just having one of \u003cem\u003ethose\u003c\/em\u003e hair days. Made from soft, breathable 100% cotton and finished with a vintage distressed wash, it's the kind of hat that looks like it already has a story  and it's about to become part of yours.\u003c\/p\u003e\n\u003cul class=\"benefits\"\u003e\n\u003cli\u003e\n\u003cspan class=\"mark\"\u003e—\u003c\/span\u003e\u003cspan\u003e\u003cstrong\u003eSoft, breathable cotton you can wear all day.\u003c\/strong\u003e 100% cotton construction keeps it lightweight and comfortable, whether you're running errands or out in the sun for hours.\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"mark\"\u003e—\u003c\/span\u003e\u003cspan\u003e\u003cstrong\u003eInstant vintage-cool style, zero breaking-in required.\u003c\/strong\u003e The distressed, lived-in finish gives you that perfectly worn trucker hat look right out of the box.\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"mark\"\u003e—\u003c\/span\u003e\u003cspan\u003e\u003cstrong\u003eOne size, zero guesswork.\u003c\/strong\u003e The adjustable back strap fits a 22.04–22.40 in circumference, so it fits comfortably no matter your head shape or size.\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"mark\"\u003e—\u003c\/span\u003e\u003cspan\u003e\u003cstrong\u003eBuilt-in sun protection that still looks good.\u003c\/strong\u003e The curved brim shields your eyes and face from the sun while keeping a flattering, classic silhouette.\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"mark\"\u003e—\u003c\/span\u003e\u003cspan\u003e\u003cstrong\u003eFour shades to match your vibe.\u003c\/strong\u003e Available in Light Blue, Dusty Blue, Sherbet, and Pastel Yellow, so you can pick the one that fits your everyday rotation (or grab a few).\u003c\/span\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cdiv class=\"who\"\u003e\n\u003cspan class=\"who-label\"\u003eWho it's for \u0026amp; how to wear it\u003c\/span\u003e Whether you're a laid-back, casual-cool dresser, an outdoor enthusiast who needs practical sun coverage without sacrificing style, or you're just chasing that trending vintage dad-hat look, this cap was made for you. Wear it on coffee runs, weekend outings, hikes, beach days, road trips, or garden afternoons — or reach for it on a bad hair day for an instant style save. Layer it with an oversized tee and jeans or your favorite athleisure set for that effortlessly cute look everyone's after. It's also a genuinely easy win as a gift — perfect for the friend who's always on the go and always looking good doing it.\u003c\/div\u003e\n\u003cdiv class=\"cta-row\"\u003e\n\u003cbutton class=\"btn btn-primary\"\u003eAdd to cart\u003c\/button\u003e \u003cbutton class=\"btn btn-secondary\"\u003eAdd personalized design\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"microcopy\"\u003eGrab yours today before your favorite shade sells out.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"specs\"\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"spec-label\"\u003eMaterial\u003c\/div\u003e\n\u003cdiv class=\"spec-value\"\u003e100% cotton\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"spec-label\"\u003eFit\u003c\/div\u003e\n\u003cdiv class=\"spec-value\"\u003eAdjustable, one size\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"spec-label\"\u003eBrim\u003c\/div\u003e\n\u003cdiv class=\"spec-value\"\u003eCurved, sun-shielding\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"spec-label\"\u003eFinish\u003c\/div\u003e\n\u003cdiv class=\"spec-value\"\u003eDistressed, lived-in wash\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cfooter class=\"note\"\u003eLayout preview only — final Shopify listing will use real product photography.\u003c\/footer\u003e\n\u003c\/div\u003e","brand":"Sassy Classy Boutique","offers":[{"title":"Black \/ Charcoal","offer_id":60267809112145,"sku":"2693333_16711","price":34.5,"currency_code":"USD","in_stock":true},{"title":"Heather Grey \/ Black","offer_id":60267809144913,"sku":"2693333_11421","price":34.5,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1057\/8850\/6193\/files\/trucker_hat_new_era.jpg?v=1788358329","url":"https:\/\/sassyclassyboutique.com\/products\/trucker-cap","provider":"Sassy Classy Boutique","version":"1.0","type":"link"}