/*
Theme Name: PhotonResins3D
Theme URI: https://photonresins3d.co.za/
Author: PhotonResins3D
Description: The PhotonResins3D storefront: navy and blue material studio look (refreshed in 1.1.0) with a working WooCommerce shop (collection cards with colour choice, cart, checkout, orders), an "orders open" switch, a contact form and a one-click opening-collection setup.
Version: 1.3.3
Requires at least: 6.5
Tested up to: 7.1
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: photonresins3d
*/

/* ---- Design: carried over from PR3D-website-test (5).html ---- */
:root{--navy:#081c39;--blue:#006edc;--cyan:#00bef1;--muted:#546579;--line:#dbe5ee;--pale:#f2f7fc;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'Segoe UI',Arial,sans-serif;font-size:16px;color:var(--navy);background:#fff;line-height:1.55}a{color:inherit;text-decoration:none}button,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,select:focus-visible{outline:3px solid #d500b7;outline-offset:5px}.skip{position:absolute;left:15px;top:-80px;background:white;padding:12px;z-index:20}.skip:focus{top:10px}.wrap{width:min(1320px,calc(100% - 88px));margin:auto}.notice{background:var(--navy);color:#d5e7ff;text-align:center;padding:8px 16px;font-size:13px;letter-spacing:.08em}.notice strong{color:#fff}.header{border-bottom:1px solid var(--line);background:white;position:relative;z-index:10}.header-inner{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;gap:13px;align-items:center;flex-shrink:0}.brand b{font-size:36px;letter-spacing:-2px;line-height:1;color:var(--navy)}.brand b span{color:var(--blue)}.brand small{font-size:12px;line-height:1.3;border-left:1px solid var(--line);padding-left:13px;letter-spacing:.08em;font-weight:600}.nav{display:flex;gap:30px;align-items:center}.nav a{font-weight:600;font-size:15px;padding:30px 0;position:relative}.nav a[aria-current=page]{color:var(--blue)}.nav a[aria-current=page]:after{position:absolute;bottom:20px;left:0;right:0;height:3px;background:var(--cyan);content:''}.button{border:1px solid var(--blue);background:var(--blue);color:white;border-radius:6px;padding:13px 23px;display:inline-flex;align-items:center;justify-content:center;font-weight:650;font-size:15px;transition:background .2s,transform .2s}.button:hover{background:#005bb8;transform:translateY(-2px)}.button.secondary{background:transparent;color:var(--navy);border-color:#b4c6d9}.button.secondary:hover{background:#eaf3fc}.menu{display:none;background:white;border:1px solid var(--line);padding:8px 14px;border-radius:5px}.eyebrow{font-size:12px;letter-spacing:.16em;font-weight:700;text-transform:uppercase;color:var(--blue);margin-bottom:20px}.hero{display:grid;grid-template-columns:.85fr 1.2fr;gap:36px;align-items:center;padding-top:55px;padding-bottom:55px;min-height:610px}.hero h1{font-size:clamp(42px,4.6vw,70px);line-height:1.03;letter-spacing:-.055em;margin:0 0 25px;font-weight:750}.hero h1 span{color:var(--blue)}.hero p{font-size:18px;line-height:1.7;max-width:420px;color:var(--muted);margin:0 0 30px}.actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.hero-note{font-size:12px;color:#64738a;margin-top:23px;letter-spacing:.035em}.hero-art{margin:0;position:relative;background:white;border:1px solid #d8e8f4;border-radius:12px;overflow:hidden;box-shadow:0 20px 45px #0c396617}.hero-art img{display:block;width:100%;height:auto}.hero-art figcaption{padding:10px 18px;display:flex;justify-content:space-between;font-size:12px;font-weight:600;letter-spacing:.1em;background:var(--navy);color:#dbeaff;gap:10px}.spectrum{height:5px;background:linear-gradient(90deg,#0082e9 0%,#00c9ee 28%,#9335e8 52%,#ef00a4 67%,#ff8e00 84%,#ffe000)}.ticker{background:var(--pale);border-block:1px solid var(--line)}.ticker .wrap{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-block:20px}.ticker span{font-weight:750;letter-spacing:.08em;font-size:18px}.ticker i{width:5px;height:5px;background:var(--cyan);border-radius:50%}.section{padding-block:75px}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:32px}h2{font-size:clamp(30px,3vw,43px);line-height:1.13;letter-spacing:-.035em;margin:0}h3{line-height:1.2;letter-spacing:-.02em}.section-head p{max-width:380px;margin:0;color:var(--muted)}.section-head .eyebrow{margin-bottom:14px}.materials-grid{display:grid;grid-template-columns:1fr 1fr .7fr;gap:22px}.material{border:1px solid var(--line);border-radius:9px;overflow:hidden;background:#fff;display:flex;flex-direction:column;transition:box-shadow .2s,transform .2s}.material:hover{transform:translateY(-4px);box-shadow:0 12px 30px #0b2e5512}.material img{display:block;width:100%;height:auto}.material-body{padding:24px}.material h3{font-size:27px;margin:0 0 10px}.material p{color:var(--muted);font-size:15px;margin:0}.material .type{display:block;font-size:12px;letter-spacing:.12em;color:var(--blue);font-weight:700;margin-bottom:12px}.material .link-label{display:block;margin-top:20px;color:var(--blue);font-weight:650;font-size:14px}.engineering{color:white;background:var(--navy);border:0;padding:30px;justify-content:space-between;position:relative}.engineering .type{color:#66d8ff}.engineering p{color:#bbcee5}.engineering h3{font-size:36px}.engineering .link-label{color:#6edbff}.engineering-types{margin:40px 0;display:flex;flex-direction:column;gap:12px}.engineering-types span{font-size:55px;font-weight:750;line-height:1.1;padding:15px 0;border-bottom:1px solid #ffffff25;letter-spacing:-.05em}.closing{background:var(--navy);color:white;border-radius:10px;padding:42px 44px;display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:65px;position:relative;overflow:hidden}.closing:before{position:absolute;top:0;left:0;right:0;height:4px;content:'';background:linear-gradient(90deg,var(--cyan),#196cfa,#df00bd,#ffa900)}.closing .eyebrow{color:#79d7fa;margin-bottom:14px}.closing h2{font-size:34px}.closing p{color:#b5c9e1;margin:12px 0 0}.closing .button{background:var(--cyan);color:var(--navy);border-color:var(--cyan);flex-shrink:0}.footer{padding:35px 0;background:var(--pale);border-top:1px solid var(--line)}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:28px}.footer nav{display:flex;gap:22px;font-size:14px}.footer small{font-size:12px;color:var(--muted)}.preview{background:#eaf2fa;color:#52657d;text-align:center;padding:9px 20px;font-size:12px}.page-title{padding:50px 0 30px;border-bottom:1px solid var(--line)}.page-title h1{font-size:clamp(38px,5vw,62px);letter-spacing:-.045em;line-height:1.1;margin:0 0 16px}.page-title p{color:var(--muted);max-width:690px}.page-title .eyebrow{margin-bottom:15px}.filters{display:flex;gap:9px;flex-wrap:wrap}.filter{background:white;color:var(--navy);border:1px solid #c7d5e3;padding:10px 19px;border-radius:5px;font-size:14px;font-weight:600}.filter[aria-pressed=true]{background:var(--navy);color:white;border-color:var(--navy)}.filter-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:27px;gap:20px}.filter-row small{color:var(--muted);font-size:14px}.products{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.products>.product{padding:24px;border:1px solid var(--line);border-radius:8px;border-top:4px solid var(--accent);background:white}.products>.product .eyebrow{font-size:11px;color:var(--muted);letter-spacing:.1em;margin-bottom:20px}.products>.product h3{font-size:23px;min-height:56px;margin:0 0 18px}.products>.product .price{font-size:29px;font-weight:700;letter-spacing:-.04em;margin-bottom:24px}.products>.product .price small{font-size:12px;color:var(--muted);font-weight:400;letter-spacing:0}.products>.product label{font-size:12px;font-weight:650;display:block;margin-bottom:8px;color:var(--muted)}select{width:100%;padding:11px 10px;border:1px solid #bdcede;border-radius:5px;background:var(--pale);color:var(--navy);font-size:14px}.colour-state{display:flex;gap:8px;align-items:center;font-size:12px;color:var(--muted);margin-top:12px;min-height:22px}.chip{display:inline-block;width:15px;height:15px;border:1px solid #a4b1c4;border-radius:50%}.status{font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:650;color:var(--blue);border-top:1px solid var(--line);padding-top:18px;margin-top:20px}.fineprint{font-size:13px;color:var(--muted);margin:25px 0 0}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.two-col p{color:var(--muted);line-height:1.85}.two-col img{width:100%;display:block;border:1px solid var(--line);border-radius:9px}.two-col h2{margin-bottom:25px}.info{background:var(--pale);border-left:3px solid var(--cyan);padding:24px;margin:25px 0}.info h3{margin:0 0 10px;font-size:20px}.info p{margin:0}.contact-email{font-size:clamp(17px,2vw,25px);font-weight:650;color:var(--blue);overflow-wrap:anywhere}.shop-panel{max-width:840px;margin:60px auto 85px;text-align:center}.shop-panel h2{font-size:45px}.shop-panel p{color:var(--muted);margin:22px auto 30px;max-width:550px}.shop-panel img{width:100%;margin-top:35px;border:1px solid var(--line);border-radius:10px}main{min-height:60vh}.page[hidden]{display:none}button:disabled{cursor:default}.hero-art button{display:block;padding:0;border:0;background:transparent;width:100%;cursor:zoom-in}.image-button{padding:0;background:transparent;border:0;width:100%;cursor:zoom-in}dialog{width:min(940px,94vw);max-height:94vh;border:0;border-radius:9px;padding:45px 10px 10px;background:white}dialog::backdrop{background:#00152cce}dialog img{display:block;width:100%;height:auto}dialog .close{position:sticky;top:0;float:right;margin-top:-36px;border:0;border-radius:5px;background:var(--navy);color:white;padding:5px 14px}.dialog-note{font-size:12px;text-align:center;margin:8px;color:var(--muted)}
@media(min-width:1500px){.hero{min-height:650px}}@media(max-width:1050px){.wrap{width:calc(100% - 48px)}.brand small{display:none}.nav{gap:20px}.hero{gap:26px;min-height:auto}.hero h1{font-size:50px}.hero p{font-size:16px}.materials-grid{grid-template-columns:1fr 1fr}.engineering{grid-column:1/-1;flex-direction:row;align-items:center;gap:30px}.engineering-types{margin:0;flex-direction:row}.engineering-types span{font-size:40px;padding:15px}.products{grid-template-columns:repeat(2,1fr)}.footer-inner{flex-wrap:wrap}.two-col{gap:30px}}@media(max-width:720px){.wrap{width:calc(100% - 36px)}.notice{font-size:11px;letter-spacing:.04em}.header-inner{min-height:76px;gap:12px;flex-wrap:wrap}.brand b{font-size:32px}.header-inner>.button{margin-left:auto;padding:9px 13px;font-size:13px}.menu{display:block;font-size:13px}.nav{display:none;order:4;width:100%;padding-bottom:15px;gap:0;justify-content:space-between}.nav.open{display:flex}.nav a{padding:10px 0;font-size:14px}.nav a[aria-current=page]:after{bottom:2px}.hero{grid-template-columns:1fr;padding-block:35px;gap:30px}.hero h1{font-size:52px;max-width:420px}.hero p{max-width:100%}.hero .eyebrow{font-size:11px}.hero-note{margin-top:18px}.hero-art figcaption{font-size:10px;padding:10px}.ticker .wrap{gap:10px;padding-block:16px}.ticker span{font-size:13px}.ticker i{width:3px;height:3px}.section{padding-block:42px}.section-head{display:block}.section-head p{margin-top:20px}.materials-grid{gap:17px}.material-body{padding:18px}.material h3{font-size:22px}.material .type{font-size:10px}.material p{font-size:14px}.engineering{padding:23px}.engineering h3{font-size:26px}.engineering-types{gap:10px}.engineering-types span{font-size:28px;padding:7px}.engineering p{display:none}.closing{display:block;padding:30px 25px;margin-bottom:40px}.closing h2{font-size:30px}.closing .button{margin-top:25px}.footer-inner{display:block}.footer nav{margin:25px 0;flex-wrap:wrap}.page-title{padding-top:35px}.filter-row{align-items:flex-start;flex-direction:column}.filter{padding:9px 12px;font-size:13px}.products{gap:13px}.products>.product{padding:18px}.products>.product h3{font-size:20px;min-height:50px}.products>.product .eyebrow{font-size:10px}.products>.product .price{font-size:26px}.products>.product .price small{display:block;font-size:11px}.two-col{grid-template-columns:1fr;gap:30px}.shop-panel{margin-block:40px}.shop-panel h2{font-size:34px}}@media(max-width:400px){.products{grid-template-columns:1fr}.products>.product h3{min-height:0}.materials-grid{grid-template-columns:1fr}.engineering{grid-column:auto;flex-direction:column;align-items:flex-start}.hero h1{font-size:44px}.header-inner>.button{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Immersive homepage and clear catalogue photography */
.hero{position:relative;isolation:isolate;display:flex;min-height:650px;width:100%;max-width:none;padding:76px max(44px,calc((100vw - 1320px)/2));background:#06172f;color:white;overflow:hidden}
.hero>div{position:relative;z-index:2;max-width:530px;pointer-events:none}.hero>div a{pointer-events:auto}
.hero h1{font-size:clamp(48px,4.9vw,76px)}.hero h1 span{color:#36ccff}.hero .eyebrow{color:#7ddfff}.hero p{color:#d2deee;max-width:425px}.hero .hero-note{color:#a9c1de}
.hero .button{background:#00bdf0;color:#051b37;border-color:#00bdf0}.hero .button.secondary{color:white;background:#091f3a85;border-color:#a3bbd2}.hero .button:hover{background:#6edfff;color:#081c39}
.hero-art{position:absolute;inset:0;z-index:0;border:0;border-radius:0;box-shadow:none;background:#06172f;pointer-events:none}.hero-art button,.hero-art img{width:100%;height:100%;display:block;object-fit:contain;object-position:right center}.hero-art:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#04152bf5 0%,#06172fde 27%,#06172f75 47%,transparent 70%)}.hero-art figcaption{display:none}
.product-photo{display:block;width:calc(100% + 48px);max-width:none;margin:-24px -24px 20px;height:210px;object-fit:contain;background:white;border-bottom:1px solid var(--line);border-radius:5px 5px 0 0}
.product-kind{display:inline-block;background:#e6f4ff;color:#005aaa;padding:4px 9px;border-radius:3px;letter-spacing:.08em;font-size:11px;font-weight:750;margin-bottom:12px}.product-kind.spool{background:#e4f5f5;color:#006974}.products>.product h3{margin-bottom:12px}.products>.product .eyebrow{margin-bottom:10px}
@media(max-width:1050px){.hero{padding-inline:24px;min-height:580px}.hero>div{max-width:450px}.hero h1{font-size:57px}}
@media(max-width:720px){.hero{min-height:840px;padding:38px 22px 360px;align-items:flex-start}.hero>div{max-width:100%}.hero h1{font-size:52px}.hero p{max-width:450px}.hero-art img{position:absolute;bottom:0;height:440px;width:100%;object-fit:cover;object-position:right bottom}.hero-art:after{background:linear-gradient(180deg,#06172f 0%,#06172f 40%,#06172fc7 51%,transparent 70%)}.product-photo{width:calc(100% + 36px);margin:-18px -18px 17px;height:185px}}
@media(max-width:400px){.hero h1{font-size:44px}.hero{padding-bottom:325px;min-height:800px}.product-photo{height:240px}}

.materials-grid .material:not(.engineering){background:#f4f8fc;border-color:#ccdce9}.materials-grid .material img{height:285px;object-fit:contain;background:white;padding:20px}.materials-grid .material-body{border-top:3px solid #00aee7}.photo-note{font-size:11px;line-height:1.4;color:#52657b;margin:-9px 0 14px}.spectrum{background:linear-gradient(90deg,#0078d8,#00c5ed,#194ba0)}
@media(max-width:720px){.materials-grid .material img{height:210px;padding:10px}}@media(max-width:400px){.materials-grid .material img{height:260px}}

.product-image-button{display:block;width:calc(100% + 48px);margin:-24px -24px 20px;padding:0;border:0;background:white;cursor:zoom-in;border-radius:5px}.product-image-button .product-photo{width:100%;margin:0}.product-image-button:hover{box-shadow:inset 0 0 0 2px #00aee7}
@media(max-width:720px){.product-image-button{width:calc(100% + 36px);margin:-18px -18px 17px}}

/* Full company wordmark */
.brand{flex-direction:column;align-items:flex-start;gap:7px}.brand b{font-size:28px;letter-spacing:-1.2px;white-space:nowrap}.brand b .resins-word{color:var(--navy);font-weight:450}.brand small{display:block;border:0;padding:0;font-size:11px;letter-spacing:.025em;line-height:1.3;color:var(--muted)}
@media(max-width:1050px){.brand b{font-size:23px}.nav{gap:17px}.header-inner{gap:20px}}
@media(max-width:720px){.brand b{font-size:23px}.brand small{font-size:10px}.header-inner{gap:10px}.header-inner>.button{padding:9px 10px}.menu{padding:8px 10px}}

/* ---- WordPress + WooCommerce: the working shop ---- */
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.cart-button .count{display:inline-grid;place-items:center;min-width:22px;height:22px;margin-left:9px;padding:0 6px;border-radius:11px;background:#fff;color:var(--blue);font-size:12px;font-weight:750;line-height:1}
.hero-art img{pointer-events:none}

/* Collection cards */
.products>.product{display:flex;flex-direction:column}
.products>.product h3 a:hover{color:var(--blue)}
.product-image-link{display:block;width:calc(100% + 48px);margin:-24px -24px 20px;border-radius:5px 5px 0 0;overflow:hidden;background:white}
.product-image-link .product-photo{width:100%;margin:0;border-radius:0;transition:transform .25s}
.product-image-link:hover .product-photo{transform:scale(1.03)}
.products>.product .price .woocommerce-Price-amount{font-weight:700}
.products>.product .price del{font-size:18px;color:var(--muted);margin-right:6px}.products>.product .price ins{text-decoration:none}
.products>.product form{margin-top:auto}
.buy-row{display:flex;gap:10px;margin-top:18px}
.buy-row .button{flex:1;padding-inline:12px}
.qty-field{width:72px;padding:11px 6px;border:1px solid #bdcede;border-radius:5px;background:white;color:var(--navy);text-align:center;font-size:15px}
.products>.product .details-link{display:inline-block;margin-top:14px;font-size:13px;font-weight:650;color:var(--blue)}
.products>.product .status{margin-top:auto}
.products>.product .colour-state + .status{margin-top:20px}
@media(max-width:720px){.product-image-link{width:calc(100% + 36px);margin:-18px -18px 17px}.buy-row{flex-wrap:wrap}.buy-row .button{min-width:120px}}

/* Shop messages (added to cart, errors) */
.woocommerce-notices-wrapper:empty{display:none}
.woocommerce-message,.woocommerce-info,.woocommerce-error,.wc-block-components-notice-banner{border-radius:6px}
.woocommerce-message,.woocommerce-info,.notice-box{border-top:3px solid var(--cyan);background:var(--pale);color:var(--navy)}
.woocommerce-message::before,.woocommerce-info::before{color:var(--blue)}
.woocommerce-message .button,.woocommerce-info .button,.woocommerce-message a.button{background:var(--blue);color:white;border-radius:6px}
.notices{margin:25px 0 0}
.notice-box{padding:16px 20px;margin:0 0 20px;border-radius:6px}
.notice-box.ok{border-top-color:#1f9d55}.notice-box.bad{border-top-color:#d63638}

/* Ordinary pages: cart, checkout, account, policies */
.page-body{padding:40px 0 80px}
.entry-content{max-width:860px}
.entry-content.wide,.woocommerce-cart .entry-content,.woocommerce-checkout .entry-content,.woocommerce-account .entry-content{max-width:none}
.entry-content h2{font-size:clamp(24px,2.4vw,32px);margin:40px 0 14px}.entry-content h3{font-size:21px;margin:30px 0 10px}
.entry-content p,.entry-content li{color:#35475c;line-height:1.75}
.entry-content a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.entry-content .wc-block-components-button,.entry-content .button{text-decoration:none}
.entry-content table{border-collapse:collapse;width:100%}.entry-content td,.entry-content th{border:1px solid var(--line);padding:10px;text-align:left}

/* WooCommerce buttons, fields and the product page in the PR3D look */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt{background:var(--blue);color:white;border-radius:6px;padding:13px 23px;font-weight:650;border:1px solid var(--blue)}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover{background:#005bb8;color:white}
.woocommerce button.button.alt.disabled,.woocommerce button.button.alt:disabled{background:#7aa7d6;border-color:#7aa7d6}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce .quantity .qty{border:1px solid #bdcede;border-radius:5px;padding:11px 10px;background:white}
.woocommerce .quantity .qty{width:72px}
.wc-block-components-button:not(.is-link){background:var(--blue)!important;color:white!important;border-radius:6px!important}
.wc-block-components-button:not(.is-link):hover{background:#005bb8!important}
.wc-block-components-title,.wp-block-woocommerce-checkout h2{letter-spacing:-.01em}
.wc-wrap{padding:30px 0 80px}
.back-link{display:inline-block;margin-bottom:28px;font-size:14px;font-weight:650;color:var(--blue)}
.woocommerce div.product .product_title{font-size:clamp(32px,3.6vw,48px);letter-spacing:-.035em;line-height:1.1;margin-bottom:12px}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--navy);font-size:30px;font-weight:700;letter-spacing:-.03em}
.woocommerce div.product .woocommerce-product-details__short-description{color:var(--muted)}
.woocommerce div.product form.cart{margin-top:24px}
.woocommerce div.product form.cart .variations{margin-bottom:10px}
.woocommerce div.product form.cart .variations th.label{padding-right:14px;font-size:13px;color:var(--muted)}
.woocommerce div.product form.cart .variations select{min-width:220px;margin:0}
.woocommerce div.product form.cart .reset_variations{font-size:13px;margin-left:8px}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:var(--pale);border-color:var(--line)}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:white}
.woocommerce div.product .woocommerce-product-gallery{border:1px solid var(--line);border-radius:9px;overflow:hidden;background:white}
.woocommerce-product-gallery .photo-note{margin:10px 14px}
.product_meta{font-size:13px;color:var(--muted)}.product_meta>span{display:block;margin-top:4px}
.arriving-box{margin:26px 0;padding:20px 22px;background:var(--pale);border-left:3px solid var(--cyan);border-radius:0 6px 6px 0}
.arriving-box strong{display:block;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--blue);margin-bottom:6px}
.arriving-box p{margin:0;color:var(--muted)}

/* Contact form */
.contact-form{display:grid;gap:16px;margin-top:30px;max-width:520px}
.contact-form label{display:block;font-size:13px;font-weight:650;margin-bottom:6px;color:var(--navy)}
.contact-form input,.contact-form textarea{width:100%;padding:12px;border:1px solid #bdcede;border-radius:5px;font:inherit;color:var(--navy);background:white}
.contact-form textarea{min-height:140px;resize:vertical}
.contact-form .hp{position:absolute;left:-5000px}
.contact-form .button{justify-self:start}
.contact-phone{margin-top:10px;font-weight:650}

/* Footer policy links */
.footer-legal{border-top:1px solid var(--line);margin-top:25px;padding-top:18px;display:flex;flex-wrap:wrap;gap:8px 22px;font-size:13px;color:var(--muted)}
.footer-legal a:hover,.footer nav a:hover{color:var(--blue)}
.contact-email{display:block;margin:6px 0 4px}
.filter{display:inline-block}.filter[aria-current=true]{background:var(--navy);color:white;border-color:var(--navy)}

/* ---- 1.1.0 refresh: our own take on the design (softer shapes, how-it-works, material guide, dark footer) ---- */
.button,.woocommerce a.button,.woocommerce button.button,.woocommerce a.button.alt,.woocommerce button.button.alt{border-radius:999px}
.wc-block-components-button:not(.is-link){border-radius:999px!important}
.eyebrow{display:flex;align-items:center;gap:10px}.eyebrow:before{content:'';width:8px;height:8px;border-radius:50%;background:var(--cyan);flex-shrink:0}
.products>.product .eyebrow{display:block}.products>.product .eyebrow:before{display:none}
.page-title{position:relative}.page-title:after{content:'';position:absolute;left:0;bottom:-1px;width:140px;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--blue),var(--cyan))}

/* Hero facts */
.hero-facts{list-style:none;margin:28px 0 0;padding:20px 0 0;display:flex;flex-wrap:wrap;gap:12px 28px;border-top:1px solid #ffffff26;color:#b9cbe2;font-size:14px;pointer-events:none}
.hero-facts strong{color:white;font-size:17px;margin-right:4px}

/* How it works */
.steps-band{background:var(--pale);border-bottom:1px solid var(--line)}
.steps{list-style:none;margin:auto;padding:34px 0;display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.steps li{display:flex;gap:16px;align-items:flex-start}
.steps h3{margin:2px 0 6px;font-size:19px}.steps p{margin:0;color:var(--muted);font-size:15px;line-height:1.6}
.step-no{flex-shrink:0;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-weight:750;color:white;background:linear-gradient(135deg,var(--blue),var(--cyan));box-shadow:0 6px 16px #006edc33}

/* Softer cards */
.material,.products>.product,.two-col img,.closing,.info{border-radius:14px}
.info{border-radius:0 14px 14px 0}
.material{box-shadow:0 1px 0 #0b2e5508}
.engineering{background:linear-gradient(160deg,#0b2a55 0%,var(--navy) 60%)}
.products>.product{transition:box-shadow .2s,transform .2s}.products>.product:hover{box-shadow:0 14px 32px #0b2e5514;transform:translateY(-3px)}
.product-image-link,.product-photo{border-radius:9px 9px 0 0}
.closing{border-radius:16px}

/* Material guide */
.guide{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.guide-item{display:block;padding:22px 22px 24px;border:1px solid var(--line);border-top:4px solid var(--accent);border-radius:12px;background:white;transition:box-shadow .2s,transform .2s}
.guide-item:hover{box-shadow:0 12px 28px #0b2e5512;transform:translateY(-3px)}
.guide-kind{font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:750;color:var(--accent)}
.guide-item h3{margin:8px 0 8px;font-size:20px}.guide-item p{margin:0;color:var(--muted);font-size:15px;line-height:1.6}
.guide-section{padding-top:0}.guide-section .section-head a{color:var(--blue);font-weight:650;text-decoration:underline;text-underline-offset:3px}

/* About ticks */
.ticks{list-style:none;padding:0;margin:0 0 26px;display:grid;gap:10px}
.ticks li{position:relative;padding-left:30px;color:var(--navy);font-weight:600;line-height:1.5}
.ticks li:before{content:'';position:absolute;left:0;top:3px;width:18px;height:18px;border-radius:50%;background:var(--cyan) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%23081c39' stroke-width='2'/%3E%3C/svg%3E") center/12px no-repeat}

/* Dark footer */
.footer{background:var(--navy);color:#c8d7ea;border-top:0;padding:52px 0 26px;position:relative}
.footer:before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--blue),var(--cyan))}
.footer .brand b{color:white}.footer .brand b .resins-word{color:#dfeaf7}.footer .brand b span{color:var(--cyan)}.footer .brand small{color:#9fb4cf}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:36px}
.footer-brand p{margin:16px 0 0;max-width:300px;font-size:14px;line-height:1.6;color:#9fb4cf}
.footer-col{display:flex;flex-direction:column;align-items:flex-start;font-size:14px}
.footer-col h2{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#7ddfff;margin:0 0 6px}
.footer-col a{display:inline-flex;align-items:center;min-height:40px;color:#dbe7f5;overflow-wrap:anywhere}.footer-col a:hover{color:white;text-decoration:underline;text-underline-offset:3px}
.footer-col span{margin-top:8px;color:#9fb4cf;font-size:13px;line-height:1.5}
.footer-legal{border-top:1px solid #ffffff1f;margin-top:34px;padding-top:18px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 22px;color:#9fb4cf}
.footer-legal small{font-size:12px;color:#9fb4cf}
.footer a:focus-visible{outline-color:var(--cyan)}

/* Bigger tap targets */
.menu{min-height:44px}
.back-link{display:inline-flex;align-items:center;min-height:44px}
.products>.product h3 a{display:inline-block;padding:4px 0}
.products>.product .details-link{display:inline-flex;align-items:center;min-height:40px}

@media(max-width:1050px){.steps{grid-template-columns:1fr;gap:18px;padding:26px 0}.guide{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}
@media(max-width:720px){.hero{min-height:900px}.hero-facts{gap:8px 18px;font-size:13px}.hero-facts strong{font-size:15px}.guide{grid-template-columns:1fr}.footer{padding-top:40px}.footer-grid{gap:22px 18px}}
@media(max-width:400px){.footer-grid{grid-template-columns:1fr}.hero{min-height:880px}}
.footer nav.footer-col,.footer .footer-col{gap:0;margin:0;flex-wrap:nowrap}
.footer-col a{min-height:36px}
.two-col img{height:auto;aspect-ratio:3/2;object-fit:cover;object-position:right center}
.material .type{text-transform:uppercase}

/* ---- 1.2.0: dimensional light, precise motion and clearer making cues ---- */
:root{--shadow-soft:0 18px 48px #08234414;--shadow-lift:0 26px 60px #08234420}
::selection{background:#b8efff;color:var(--navy)}
.header{box-shadow:0 4px 20px #08234408}
.brand b{font-size:clamp(30px,2.6vw,38px)}
.hero{position:relative;isolation:isolate}
.hero:before{position:absolute;content:'';z-index:-1;width:42vw;height:42vw;max-width:590px;max-height:590px;right:6%;top:4%;border-radius:50%;background:radial-gradient(circle,#e8f8ff 0, #f5fbff 42%,transparent 72%);pointer-events:none}
.hero-art{box-shadow:var(--shadow-soft);border-color:#d4e7f6;transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s}
.hero-art:hover{transform:translateY(-5px) rotate(.15deg);box-shadow:var(--shadow-lift)}
.hero-art:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(120deg,#fff2,transparent 35%,transparent 70%,#006edc0a)}
.hero h1{max-width:620px}
.hero h1 span{background:linear-gradient(105deg,var(--blue),#009be9 60%,#00bfe5);background-clip:text;-webkit-background-clip:text;color:transparent}
.actions .button{min-height:48px;padding-inline:26px}
.material,.products>.product,.guide-item{box-shadow:0 2px 8px #08234408;transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s,border-color .3s}
.material:hover,.products>.product:hover,.guide-item:hover{transform:translateY(-5px);box-shadow:var(--shadow-soft);border-color:#b8d9ef}
.step-no{width:44px;height:44px;box-shadow:0 8px 22px #006edc38}
.closing{position:relative;overflow:hidden;box-shadow:0 22px 52px #081c3920}
.closing:after{content:'';position:absolute;width:280px;height:280px;right:8%;top:-65%;border:1px solid #ffffff22;border-radius:50%;box-shadow:0 0 0 24px #ffffff08,0 0 0 50px #ffffff06;pointer-events:none}
.button:focus-visible,.filter:focus-visible,.menu:focus-visible,.woocommerce a:focus-visible,.woocommerce button:focus-visible{outline:3px solid #d500b7;outline-offset:4px}
.filter{min-height:44px;padding-inline:20px;transition:background .2s,color .2s,border-color .2s}
.products>.product{overflow:hidden}
.products>.product .product-image-link img{transition:transform .5s cubic-bezier(.2,.7,.2,1),filter .35s}
.products>.product:hover .product-image-link img{transform:scale(1.045);filter:saturate(1.04)}
.footer{background:linear-gradient(145deg,#081c39,#0b2a52)}
@keyframes pr3d-rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference){.hero>div{animation:pr3d-rise .7s both}.hero-art{animation:pr3d-rise .8s .08s both}.steps li{animation:pr3d-rise .6s both}.steps li:nth-child(2){animation-delay:.08s}.steps li:nth-child(3){animation-delay:.16s}}
@media(max-width:720px){.hero:before{width:110vw;height:110vw;right:-55%;top:26%}.hero-art:hover,.material:hover,.products>.product:hover,.guide-item:hover{transform:none}.hero-art{box-shadow:0 14px 32px #08234418}.closing:after{right:-20%;top:-24%}}
@media(prefers-reduced-motion:reduce){.hero-art,.material,.products>.product,.guide-item,.products>.product .product-image-link img{transition:none!important;animation:none!important}}

/* The hero shows concept packaging and printed examples; label them plainly. */
.hero-art figcaption.hero-photo-note{display:block;position:absolute;z-index:2;right:18px;bottom:16px;margin:0;padding:6px 11px;border:1px solid #ffffff55;border-radius:999px;background:#06172fe8;color:#fff;font-size:12px;font-weight:700;letter-spacing:.025em;line-height:1.3}
@media(max-width:720px){.hero-art figcaption.hero-photo-note{right:12px;bottom:12px;font-size:11px}}

/* 1.3.0 Symmetric cards: every card has the same 4:3 picture box (real photos fill it, packaging mockups sit inside it on
   white), the label and photo note sit on the picture, and titles keep two lines, so name, price and status line up. */
.products>.product .card-media{position:relative;width:calc(100% + 48px);margin:-24px -24px 20px;border-bottom:1px solid var(--line);border-radius:9px 9px 0 0;overflow:hidden;background:#fff}
.products>.product .card-media .product-image-link{width:100%;margin:0;border-radius:0}
.products>.product .card-media .product-photo{display:block;width:100%;height:auto;aspect-ratio:4/3;margin:0;border:0;border-radius:0;object-fit:contain;background:#fff}
.products>.product .card-media .product-photo.is-fill{object-fit:cover}
.products>.product .card-media .product-kind{position:absolute;top:12px;left:12px;margin:0;box-shadow:0 1px 3px #0823441a}
.products>.product .card-media .photo-note{position:absolute;left:12px;bottom:10px;margin:0;padding:2px 8px;border-radius:4px;background:#ffffffe6}
.products>.product .eyebrow{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.products>.product h3{min-height:2.4em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.products>.product h3 a{display:inline}
@media(max-width:720px){.products>.product .card-media{width:calc(100% + 36px);margin:-18px -18px 17px}.products>.product .card-media .product-kind{top:8px;left:8px;font-size:10px}.products>.product .card-media .photo-note{left:8px;bottom:6px;font-size:10px}}
@media(max-width:400px){.products>.product h3{min-height:0}}
.filter-row small{white-space:nowrap;flex-shrink:0}

/* 1.3.1 Audit fixes (31 Oct 2026) */
/* Phone header: logo, cart and menu on one row (the 1.2.0 logo size had pushed Menu onto a line of its own). */
.cart-button .cart-icon{flex-shrink:0;margin-right:8px}
/* WooCommerce pages style every a.button (it showed the header button on small phones there); the header keeps its own. */
.header .header-inner>.button{display:inline-flex;align-items:center;margin:0 0 0 auto;font-size:15px;line-height:1.2}
@media(max-width:720px){.brand b{font-size:25px}.header-inner{column-gap:8px}.header .header-inner>.button{padding:9px 13px;font-size:13px}.header-inner>.button,.menu{min-height:44px}}
@media(max-width:420px){.brand b{font-size:21px;letter-spacing:-.8px}.brand small{font-size:9px;letter-spacing:0}.header .header-inner>.button:not(.cart-button){display:none}.header .header-inner>.cart-button{padding:9px 11px}.cart-button .cart-word{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}.cart-button .cart-icon{margin-right:6px}.cart-button .count{margin-left:0}}
/* Every card in the grid the same height, so buttons and links line up across rows too (one column on small phones). */
@media(min-width:401px){.products{grid-auto-rows:1fr}}
/* A product without a price yet: "Price on request" and an Ask button where Add to cart would be. */
.products>.product .price .price-ask{font-size:20px;letter-spacing:-.02em}
.products>.product .ask-button{margin-top:auto;width:100%}
.products>.product .ask-button + .details-link{margin-top:14px}
.single-product .arriving-box .button{margin-top:12px}
/* Readable labels on the Materials guide (the accent colour moves to a dot). */
.guide-kind{color:var(--navy)}
.guide-kind:before{content:'';display:inline-block;width:8px;height:8px;margin-right:7px;border-radius:50%;background:var(--accent);vertical-align:1px}
/* Empty cart: WooCommerce's "New in store" buttons were blue on navy. */
.entry-content .wp-block-button__link,.entry-content .wc-block-grid__product .wp-block-button__link{background:var(--blue);color:#fff;text-decoration:none;border-radius:6px}
.entry-content .wp-block-button__link:hover{background:#005bb8}
/* Product page tabs on phones: one even row. */
@media(max-width:720px){.woocommerce div.product .woocommerce-tabs ul.tabs{display:flex;gap:6px;padding:0;margin-bottom:24px}.woocommerce div.product .woocommerce-tabs ul.tabs:before{display:none}.woocommerce div.product .woocommerce-tabs ul.tabs li{flex:1;margin:0;padding:0;text-align:center;border-radius:6px}.woocommerce div.product .woocommerce-tabs ul.tabs li:before,.woocommerce div.product .woocommerce-tabs ul.tabs li:after{display:none}.woocommerce div.product .woocommerce-tabs ul.tabs li a{display:block;padding:11px 4px;font-size:14px}}
.entry-content a.button{color:#fff;text-decoration:none}
.pr3d-empty-more{text-align:center;margin:28px 0 0}
