
/* Printablez brand identity — blue / deep navy / white */
:root{--ink:#13445b;--muted:#506e7c;--purple:#13445b;--purple2:#08a9df;--gold:#08a9df;--cream:#f4fbfe;--line:#dceaf0;--white:#fff}body{background:#f4fbfe;color:#173b4e}a:hover{color:#08a9df}.notice{background:#13445b}.intro{background:linear-gradient(120deg,#13445b 0%,#0879a9 65%,#08a9df 100%)}.intro:after{content:"Z"}.eyebrow{color:#b7edff}.intro>p:last-child{color:#ecfaff}.brand-logo{height:88px;width:auto;max-width:250px;object-fit:contain}header{height:112px}.round,.button,button{background:#08a9df;color:white}.round:hover,.button:hover,button:hover{background:#0879a9;color:white}.secondary{background:#e3f5fc;color:#13445b}.filters a.active{background:#13445b;border-color:#13445b}.card{border-color:#dceaf0;box-shadow:0 10px 30px #13445b10}.photo,.product-image{background:linear-gradient(140deg,#e3f5fc,#fff)}.category,.product .price{color:#0879a9}.adminbar>a{color:#13445b}.adminbar>a:hover,.adminbar>a:focus-visible{background:#08a9df;color:#fff}footer{background:#13445b}input:focus,select:focus,textarea:focus{border-color:#08a9df;outline:3px solid #08a9df33}.invoice-button{background:#08a9df;color:white}@media(max-width:760px){header{height:96px}.brand-logo{height:72px;max-width:190px}}@media(max-width:460px){.brand-logo{height:60px;max-width:150px}}

/* v1.4: banner layout and category navigation */
.printablez-header{display:flex;justify-content:space-between;align-items:center;gap:16px}
.printablez-header .header-spacer{flex:1;min-width:0}
.printablez-header .header-right{margin-left:auto;display:flex;align-items:center;justify-content:flex-end;gap:24px}
.printablez-header .brand{flex-shrink:0}
.printablez-header .header-basket{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;font-weight:700;color:#13445b}
.printablez-header .header-basket:hover{color:#0879a9}
.printablez-header .header-basket .badge{color:#fff;background:#08a9df;margin-left:2px}
.filters a:not(.active){background:#e9edf0;color:#13445b;border-color:#d4dce1}
.filters a:not(.active):hover{background:#dce6eb;border-color:#b6cbd6}
@media(max-width:760px){.printablez-header .header-right{gap:12px}.printablez-header .header-basket{font-size:.9rem}}
@media(max-width:460px){.printablez-header .header-right{gap:8px}.printablez-header .header-basket{font-size:.82rem}.printablez-header .brand-logo{max-width:125px;height:54px}}

/* v1.5: top navy banner */
.printablez-topbar{background:#13445b;color:#fff;width:100%}
.printablez-topbar-inner{min-height:78px;padding:7px 26px;display:grid;grid-template-columns:minmax(110px,1fr) minmax(0,2fr) minmax(110px,1fr);align-items:center;gap:12px}
.topbar-logo{justify-self:start;display:flex;align-items:center;background:#fff;border-radius:5px;padding:3px}
.topbar-logo img{height:62px;width:auto;max-width:110px;object-fit:contain;display:block}
.topbar-message{text-align:center;font-size:.88rem;font-weight:700;color:#fff}
.topbar-basket{justify-self:end;display:inline-flex;align-items:center;gap:7px;white-space:nowrap;color:#fff;font-weight:700}
.topbar-basket:hover{color:#b7edff}.topbar-basket .badge{background:#08a9df;color:#fff;margin-left:2px}
@media(max-width:600px){.printablez-topbar-inner{padding:6px 12px;grid-template-columns:auto 1fr auto;gap:8px;min-height:65px}.topbar-logo img{height:44px;max-width:75px}.topbar-message{font-size:.69rem;line-height:1.2}.topbar-basket{font-size:.78rem;gap:3px}.topbar-basket .badge{padding:1px 6px}}

/* v1.6: unified typography matching the Good evening! banner */
:root{--printablez-font:Arial,Helvetica,sans-serif}
html,body,button,input,select,textarea,option,table,th,td,nav,header,footer,dialog,summary{font-family:var(--printablez-font)}
body :is(h1,h2,h3,h4,h5,h6,p,span,strong,small,label,a,li,dt,dd,blockquote,legend){font-family:var(--printablez-font)}
button,input,select,textarea{font-family:inherit}

/* v1.7 homepage spacing, compact topbar logo, four-across products, footer */
body:not(:has(.adminbar)) main > .intro:first-child { margin-top:10px; }
.topbar-logo img {height:31px;max-width:60px;}
.topbar-logo {padding:2px;}
.printablez-topbar-inner {min-height:50px;padding-top:5px;padding-bottom:5px;}
body:not(:has(.adminbar)) main > .grid {grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;}
body:not(:has(.adminbar)) main > .grid .card {min-width:0;padding:10px;}
body:not(:has(.adminbar)) main > .grid .card h2 {font-size:1.05rem;}
body:not(:has(.adminbar)) main > .grid .card .category {font-size:.7rem;}
body:not(:has(.adminbar)) main > .grid .card .card-bottom {margin-top:12px;}
footer {align-items:center;gap:20px;}
footer strong {white-space:nowrap;font-size:.9rem;}
footer p {margin:0;font-size:.85rem;}
@media(max-width:850px){body:not(:has(.adminbar)) main > .grid{grid-template-columns:repeat(2,minmax(0,1fr));}footer strong{white-space:normal;}}
@media(max-width:480px){body:not(:has(.adminbar)) main > .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;}body:not(:has(.adminbar)) main > .grid .card{display:block;padding:8px;}body:not(:has(.adminbar)) main > .grid .card .photo{aspect-ratio:1;}body:not(:has(.adminbar)) main > .grid .card .category{margin-top:8px;}body:not(:has(.adminbar)) main > .grid .card .card-bottom{margin:10px 2px 2px;}body:not(:has(.adminbar)) main > .grid .card .round{padding:6px 10px;font-size:.75rem;}.topbar-logo img{height:26px;max-width:50px;}}

/* v1.8: product navigation and clickable logo affordance */
.topbar-logo{cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.topbar-logo:focus-visible{outline:3px solid #08a9df;outline-offset:2px}
.product-category-nav{margin-top:18px;margin-bottom:24px;flex-wrap:wrap}

/* v1.9: tighten product detail spacing and reduce item heading */
.product-category-nav{margin-top:0;margin-bottom:0;padding-top:10px;padding-bottom:10px;}
.product{padding-top:10px;padding-bottom:24px;align-items:start;gap:clamp(18px,4vw,58px);}
.product h1{font-size:clamp(2rem,3.6vw,3.45rem);line-height:1.08;margin:0 0 14px;}
.product-gallery{margin:0;padding:0;align-self:start;}
@media(max-width:760px){.product{padding-top:8px;gap:20px}.product h1{font-size:clamp(1.85rem,6vw,2.6rem)}}

/* v2.0: sticky footer and compact product purchasing controls */
html{min-height:100%;}body{min-height:100vh;display:flex;flex-direction:column;}body>main{flex:1 0 auto;width:100%;}body>footer{margin-top:auto;flex-shrink:0;}footer>div:first-child span{font-weight:400;font-size:.9rem;white-space:nowrap;}
.product .description{color:#000;max-width:680px;line-height:1.65;}
.product-purchase-summary{margin-top:22px;margin-bottom:8px;}.product-purchase-summary .price{margin:0 0 8px;}.product-purchase-summary .product-stock-message{margin:5px 0 10px;}
.product .buy{grid-template-columns:minmax(0,1fr);justify-items:start;gap:10px;margin-top:8px;}.product .buy label:has(#product-quantity){width:20%;min-width:80px;max-width:160px;}.product .buy #product-quantity{width:100%;}.product .buy #add-to-basket-button{grid-column:auto;width:20%;min-width:125px;max-width:190px;color:#000;white-space:nowrap;padding:11px 6px;}
.product .gallery-thumbs img{object-fit:contain!important;}.product .gallery-thumbs .gallery-thumb{background:#fff;}.product .product-image img{object-fit:contain!important;}
.category-special-section{padding:18px;border:1px solid #dceaf0;border-radius:16px;background:#fff;margin-bottom:24px;}.category-special-form{display:grid;grid-template-columns:2fr 1fr 1fr auto;align-items:end;gap:12px;margin:16px 0;}.category-special-form button{white-space:nowrap;}
@media(max-width:800px){.category-special-form{grid-template-columns:1fr 1fr;}.product .buy label:has(#product-quantity){width:90px;}.product .buy #add-to-basket-button{width:150px;}footer>div:first-child span{white-space:normal;}}

/* v1.11: category descriptions and category offer messaging */
.category-add {display:flex;flex-wrap:wrap;align-items:end;gap:12px}
.category-add .category-description-field {flex-basis:100%;width:100%}
.category-description-field textarea,.category-existing-description {width:100%;box-sizing:border-box;resize:vertical;font:inherit}
.category-existing-description {display:block;margin-top:8px;min-height:56px}
.category-description {margin:8px 0 12px;color:#142f3e;font-size:1rem;line-height:1.6;white-space:normal}
.category-offer-banner {margin:8px 0 18px;padding:13px 17px;background:#e0f5fc;border:1px solid #08a9df;border-radius:12px;color:#13445b;display:flex;align-items:center;flex-wrap:wrap;gap:8px 18px;font-family:Arial,Helvetica,sans-serif}
.category-offer-banner>strong {font-size:1rem}
.category-offer-banner>span {font-size:1rem}
.category-offer-banner small {flex-basis:100%;font-size:.8rem;color:#315b6b}
.category-offer-banner.compact {margin:6px 0 12px}
@media(max-width:700px){.category-offer-banner{display:block}.category-offer-banner>span{display:block;margin-top:6px}.category-add .category-description-field{flex-basis:100%}}

/* v1.12: price and stock on one line; black quantity input border */
.product-price-stock-row{display:flex;align-items:center;flex-wrap:wrap;column-gap:42px;row-gap:8px;margin-bottom:10px}.product-price-stock-row .price,.product-price-stock-row .product-stock-message{margin:0}.product .buy #product-quantity{border:2px solid #000;border-radius:9px;box-sizing:border-box}.product .buy #product-quantity:focus{border-color:#000;outline:2px solid #08a9df;outline-offset:1px}@media(max-width:480px){.product-price-stock-row{column-gap:24px}}

/* v1.13: reliably keep stock and price together; prevent admin settings stretch */
.product-purchase-summary .product-price-stock-row{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;flex-wrap:nowrap!important;gap:clamp(28px,5vw,80px)!important;width:100%;}
.product-purchase-summary .product-price-stock-row>.price,.product-purchase-summary .product-price-stock-row>.product-stock-message{display:inline-block!important;flex:0 0 auto!important;width:auto!important;margin:0!important;padding:0!important;white-space:nowrap!important;line-height:1.3!important;}
body:has(.category-manager) .admin-grid{align-items:start!important;}
body:has(.category-manager) .admin-grid>.editor:first-child{align-self:start!important;height:auto!important;min-height:0!important;}
.product-image-delete-panel{margin:10px 0 20px;padding:12px 16px;border:1px solid #b4233e;border-radius:10px;background:#fff;max-width:550px;}
.product-image-delete-panel summary{cursor:pointer;color:#a31e36;font-weight:700;}
.product-image-delete-panel form{display:grid;gap:10px;max-width:400px;}
.product-image-delete-panel button{background:#b4233e;color:#fff;}

/* v1.14: full, uncropped product images on shop/category listing cards.
   Override the base stylesheet's fixed-height cover rules. */
section.grid .card > a.photo {
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  aspect-ratio:1 / 1!important;
  height:auto!important;
  min-height:0!important;
  overflow:hidden!important;
  background:#fff!important;
}
section.grid .card > a.photo > img {
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  transform:none!important;
}
section.grid .card > a.photo:hover > img {transform:none!important;}

/* v1.15 basket, storefront, checkout */
body:not(:has(.adminbar)) main .filters, body:not(:has(.adminbar)) main .product-category-nav {display:flex;flex-wrap:wrap;gap:9px;margin:14px 0 18px;align-items:center;}
body:not(:has(.adminbar)) main .filters a, body:not(:has(.adminbar)) main .product-category-nav a {display:inline-flex;align-items:center;justify-content:center;padding:11px 16px;font-family:Arial,Helvetica,sans-serif;font-size:1rem;font-weight:500;line-height:1.15;border-radius:999px;min-height:42px;box-sizing:border-box;}
body:not(:has(.adminbar)) main .filters a.active {font-weight:700;}
section.grid .card > .category {display:none!important;}
section.grid .card .round {padding:8px 13px!important;font-size:.82rem!important;min-height:0!important;line-height:1.15!important;white-space:nowrap;}
.basket-row input[type=number] {border:2px solid #000!important;border-radius:9px;box-sizing:border-box;}
.basket-remove-x {color:#bd1831!important;font-weight:800!important;font-size:1.35rem!important;line-height:1!important;min-width:30px!important;padding:5px 8px!important;background:transparent!important;border:0!important;cursor:pointer;}
.basket-remove-x:hover {color:#850d22!important;background:#fff0f3!important;}
body:not(:has(.adminbar)) main h1, body:not(:has(.adminbar)) main h2 {font-family:Arial,Helvetica,sans-serif;}
.product .buy #add-to-basket-button {color:#fff!important;}
.footer-terms-link {color:#fff!important;margin-left:18px;text-decoration:underline;text-underline-offset:3px;font-weight:400;}
.footer-terms-link:hover {color:#b7edff!important;}
.checkout-terms {margin:20px 0 14px;}
.checkout-terms label {display:flex;align-items:flex-start;gap:11px;font-size:.95rem;line-height:1.5;font-weight:400;}
.checkout-terms input[type=checkbox] {width:20px;height:20px;min-width:20px;margin-top:2px;accent-color:#0879a9;}
.checkout-terms a {color:#006f9d;text-decoration:underline;font-weight:700;}
.checkout-pay-button {font-weight:800!important;font-size:1.06rem!important;padding:15px 24px!important;min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:10px;}
.checkout-pay-button .pay-lock {font-size:1.12rem;}
.checkout-pay-button:disabled {opacity:.55;cursor:not-allowed;}
.terms-page {padding-top:25px;padding-bottom:35px;}
@media(max-width:650px){.footer-terms-link{display:inline-block;margin-left:0;margin-top:6px;}body:not(:has(.adminbar)) main .filters a{padding:9px 12px;font-size:.88rem;min-height:38px;}}

/* v1.16: card spacing, basket remove, checkout agreement */
section.grid .card > a.photo {margin-bottom:13px!important;}
section.grid .card > h2 {margin-top:7px!important;}
.basket-remove-text {background:transparent!important;border:0!important;color:#bb2238!important;font-size:.78rem!important;font-weight:500!important;padding:3px 0!important;cursor:pointer;text-align:left;}
.basket-remove-text:hover {text-decoration:underline!important;}
.checkout-terms.terms-error {border:2px solid #c52340;background:#fff1f3;border-radius:9px;padding:12px;}
.terms-validation-message {color:#a61933;font-weight:700;font-size:.88rem;margin:9px 0 0 31px;}
.checkout-terms input[type=checkbox]:focus-visible {outline:3px solid #c52340;outline-offset:3px;}
footer>div:first-child span {font-weight:400!important;}

/* v1.18 featured ordering and order-table action spacing */
.product-editor .featured-order-row{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.product-editor .featured-order-field{max-width:175px;gap:5px}
.orders-table tr.order-export-row td{padding-top:24px!important;padding-bottom:18px!important}
.orders-table tr.order-export-row .order-export-actions{gap:24px!important;display:flex;align-items:center;flex-wrap:wrap}
.delete-all-orders-form{margin-top:14px!important;margin-bottom:12px!important}

/* v1.19: checkout shipping heading and admin password visibility */
.shipping-address-heading{font-family:inherit;font-size:1.25rem;font-weight:700;margin:0 0 16px;color:#153e52}
.password-reveal-wrap{position:relative;display:block}
.password-reveal-wrap input{padding-right:54px!important;width:100%;box-sizing:border-box}
.password-reveal-wrap .password-reveal-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:40px;height:38px;padding:0;border:0;border-radius:8px;background:transparent;color:#153e52;cursor:pointer;font-size:20px;box-shadow:none}
.password-reveal-wrap .password-reveal-toggle:hover{background:#e4f3f8}
