/* DPC shop: WooCommerce in the home page system (Bob 2026-10-17).
   Raleway 18px body, Georgia headings, Caveat accent, squared teal buttons, white cards with a soft shadow, square product images. */
@font-face{font-family:'Caveat';font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/caveat.woff2) format('woff2')}
body.dpc-store{--w-teal:#46a3b6;--w-teal-deep:#238397;--w-teal-soft:#d4e7ee;--w-lav-soft:#dce9e3;--w-blush:#fab7ba;--w-blush-soft:#fbe4e5;--w-sky:#d4e7ee;--w-sky-soft:#e4f0f5;--w-paper:#ffffff;--w-ink:#2f3338;--w-ink-soft:#2f3338;--w-line:#d4d4d4;--w-shadow:0 8px 24px rgba(47,51,56,.08);--w-display:Georgia,'Times New Roman',serif;--w-body:'Raleway',Arial,Helvetica,sans-serif;--w-hand:'Caveat','Comic Sans MS',cursive}
html body.dpc-store,html body.dpc-store .dpc-main{background:var(--w-paper)}

/* page shell */
html body .dpc-woo{white-space:normal!important;max-width:1140px;margin:0 auto;padding:56px 20px 80px;font-family:var(--w-body);font-size:18px;line-height:1.5;color:var(--w-ink);box-sizing:border-box}
html body .dpc-woo :is(h1,h2,h3){font-family:var(--w-display);color:var(--w-ink);font-weight:700;letter-spacing:0}
html body .dpc-woo .woocommerce-breadcrumb{font-size:14px;color:var(--w-ink-soft);margin:0 0 18px}
html body .dpc-woo .woocommerce-breadcrumb a{color:var(--w-ink-soft);text-decoration:none}
html body .dpc-woo .woocommerce-breadcrumb a:hover{color:var(--w-teal)}

/* shop / category head */
html body .dpc-woo-archive .woocommerce-products-header{text-align:center;margin:0 0 36px}
html body .dpc-woo-archive .woocommerce-products-header__title{font-size:46px;line-height:1.2;margin:0}
html body .dpc-woo-archive .term-description{color:var(--w-ink-soft);max-width:60ch;margin:10px auto 0}
html body .dpc-woo .woocommerce-result-count{font-size:15px;color:var(--w-ink-soft);margin:0 0 24px;float:left;line-height:44px}
html body .dpc-woo .woocommerce-ordering{float:right;margin:0 0 24px}
html body .dpc-woo .woocommerce-ordering select{font:400 16px var(--w-body);padding:10px 36px 10px 14px;border:1px solid var(--w-line);border-radius:4px;background-color:#fff;color:var(--w-ink)}

/* product grid: home page tiles */
html body .dpc-woo ul.products{clear:both;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin:0!important;padding:0;list-style:none}
html body .dpc-woo ul.products::before,html body .dpc-woo ul.products::after{display:none!important}
html body .dpc-woo ul.products li.product{float:none!important;width:auto!important;margin:0!important;padding:14px 14px 20px!important;background:#fff;box-shadow:var(--w-shadow);display:flex;flex-direction:column;text-align:center;transition:transform .2s}
html body .dpc-woo ul.products li.product:hover{transform:rotate(-1deg)}
html body .dpc-woo ul.products li.product a.woocommerce-LoopProduct-link{color:inherit;text-decoration:none;display:flex;flex-direction:column;flex:1}
html body .dpc-woo ul.products li.product img{width:100%!important;aspect-ratio:1/1;object-fit:cover;margin:0 0 16px!important;background:var(--w-sky-soft)}
html body .dpc-woo ul.products li.product .woocommerce-loop-product__title{font-family:var(--w-display)!important;font-size:22px!important;line-height:1.3!important;font-weight:600;padding:0!important;margin:0 0 6px!important;color:var(--w-ink)}
html body .dpc-woo ul.products li.product .price{display:block;font:700 18px var(--w-body)!important;color:var(--w-ink)!important;margin:0 0 4px!important}
html body .dpc-woo ul.products li.product .price del{color:var(--w-ink-soft);font-weight:400;margin-right:6px}
html body .dpc-woo ul.products li.product .price ins{text-decoration:none}
html body .dpc-woo .dpc-woo-tag{display:block;font-size:14px;color:var(--w-ink-soft);margin:0 0 14px}
html body .dpc-woo ul.products li.product .button{margin-top:auto!important;align-self:center}
html body .dpc-woo ul.products li.product .added_to_cart{display:block;margin-top:10px;font-size:15px;color:var(--w-teal-deep)}
html body .dpc-woo span.onsale,html body .dpc-woo ul.products li.product .onsale{position:absolute;top:22px;left:22px;margin:0;min-width:0;min-height:0;padding:2px 12px;border-radius:0;background:var(--w-blush);color:var(--w-ink);font:600 1.3rem/1.5 var(--w-hand);transform:rotate(-2deg)}
html body .dpc-woo ul.products li.product{position:relative}

/* buttons everywhere in the shop: squared teal */
html body.dpc-store :is(.dpc-woo,.entry-content) :is(.button,button.button,a.button,input.button,.wc-block-components-button,.wc-block-cart__submit-button,.wc-block-components-checkout-place-order-button,.woocommerce-Button){display:inline-block;padding:13px 26px!important;border-radius:4px!important;border:2px solid transparent!important;background:var(--w-teal)!important;color:#fff!important;font:600 16px/1.5 var(--w-body)!important;letter-spacing:.04em;text-transform:uppercase;text-decoration:none!important;box-shadow:none!important;cursor:pointer;transition:transform .15s}
html body.dpc-store :is(.dpc-woo,.entry-content) :is(.button,.wc-block-components-button,.woocommerce-Button):hover{transform:translateY(-1px);background:var(--w-teal-deep)!important}
html body.dpc-store .dpc-woo .single_add_to_cart_button{display:inline-block;padding:13px 30px!important;border-radius:4px!important;border:0!important;background:var(--w-teal)!important;color:#fff!important;font:600 16px/1.5 var(--w-body)!important;letter-spacing:.04em;text-transform:uppercase}

/* pagination */
html body .dpc-woo .woocommerce-pagination{margin:44px 0 0;text-align:center}
html body .dpc-woo .woocommerce-pagination ul{display:inline-flex!important;gap:8px;border:0!important;margin:0}
html body .dpc-woo .woocommerce-pagination ul li{border:0!important;float:none}
html body .dpc-woo .woocommerce-pagination ul li :is(a,span){display:inline-block;min-width:44px;padding:10px 14px!important;border:1px solid var(--w-teal)!important;border-radius:4px;font:600 16px var(--w-body);color:var(--w-ink)!important;background:#fff!important}
html body .dpc-woo .woocommerce-pagination ul li span.current{background:var(--w-teal)!important;color:#fff!important}

/* single product */
html body .dpc-woo-single div.product{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:56px;align-items:start;position:relative}
html body .dpc-woo-single div.product>:is(.woocommerce-product-gallery,.summary){float:none!important;width:auto!important;margin:0!important}
html body .dpc-woo-single div.product>:not(.woocommerce-product-gallery):not(.summary):not(.onsale){grid-column:1/-1}
html body .dpc-woo-single .woocommerce-product-gallery{background:#fff;box-shadow:var(--w-shadow);padding:14px}
html body .dpc-woo-single .woocommerce-product-gallery img{width:100%;height:auto;display:block}
html body .dpc-woo-single .woocommerce-product-gallery .flex-control-thumbs{display:grid!important;grid-template-columns:repeat(5,1fr);gap:10px;margin:12px 0 0!important;padding:0}
html body .dpc-woo-single .woocommerce-product-gallery .flex-control-thumbs li{width:auto!important;float:none!important;margin:0!important}
html body .dpc-woo-single .woocommerce-product-gallery .flex-control-thumbs img{aspect-ratio:1/1;object-fit:cover;opacity:.6;cursor:pointer}
html body .dpc-woo-single .woocommerce-product-gallery .flex-control-thumbs img.flex-active{opacity:1}
html body .dpc-woo-single .summary .product_title{font-size:46px;line-height:1.15;margin:0 0 12px}
html body .dpc-woo-single .summary .price{font:700 26px var(--w-body)!important;color:var(--w-ink)!important;margin:0 0 8px}
html body .dpc-woo-single .dpc-woo-delivery{font-family:var(--w-hand);font-size:1.6rem;line-height:1.25;color:var(--w-teal-deep);margin:0 0 20px}
html body .dpc-woo-single .woocommerce-product-details__short-description{color:var(--w-ink);margin:0 0 26px}
html body .dpc-woo-single .woocommerce-product-details__short-description p{margin:0 0 12px}
html body .dpc-woo-single form.cart{display:flex;gap:12px;align-items:center;margin:0 0 28px!important}
html body .dpc-woo-single form.cart .quantity{display:none}
html body .dpc-woo-single .product_meta{font-size:15px;color:var(--w-ink-soft);border-top:1px solid var(--w-line);padding-top:16px}
html body .dpc-woo-single .product_meta>span{display:block;margin:0 0 4px}
html body .dpc-woo-single .product_meta a{color:var(--w-teal-deep)}
/* description tabs */
html body .dpc-woo-single .woocommerce-tabs{margin-top:64px}
html body .dpc-woo-single .woocommerce-tabs ul.tabs{display:flex;gap:6px;padding:0!important;margin:0 0 -1px!important;border:0!important;list-style:none}
html body .dpc-woo-single .woocommerce-tabs ul.tabs::before,html body .dpc-woo-single .woocommerce-tabs ul.tabs li::before,html body .dpc-woo-single .woocommerce-tabs ul.tabs li::after{display:none!important}
html body .dpc-woo-single .woocommerce-tabs ul.tabs li{margin:0!important;padding:0!important;border:1px solid var(--w-line)!important;border-radius:0!important;background:var(--w-paper)!important}
html body .dpc-woo-single .woocommerce-tabs ul.tabs li a{display:block;padding:12px 22px!important;font:600 15px var(--w-body);letter-spacing:.06em;text-transform:uppercase;color:var(--w-ink-soft)!important}
html body .dpc-woo-single .woocommerce-tabs ul.tabs li.active{background:#fff!important;border-bottom-color:#fff!important}
html body .dpc-woo-single .woocommerce-tabs ul.tabs li.active a{color:var(--w-ink)!important}
html body .dpc-woo-single .woocommerce-tabs .panel{background:#fff;border:1px solid var(--w-line);padding:36px!important;margin:0!important}
html body .dpc-woo-single .woocommerce-tabs .panel>h2:first-child{display:none}
html body .dpc-woo-single .related{margin-top:72px}
html body .dpc-woo-single .related>h2{text-align:center;font-size:38px;margin:0 0 32px}

/* notices */
html body.dpc-store :is(.woocommerce-message,.woocommerce-info,.woocommerce-error){border:0!important;border-left:0!important;background:var(--w-sky-soft)!important;color:var(--w-ink)!important;padding:16px 20px!important;margin:0 0 24px!important;font-size:16px;list-style:none}
html body.dpc-store :is(.woocommerce-message,.woocommerce-info,.woocommerce-error)::before{display:none!important}
html body.dpc-store .woocommerce-error{background:var(--w-blush-soft)!important}
html body.dpc-store :is(.woocommerce-message,.woocommerce-info) .button{float:right;padding:8px 16px!important;font-size:14px!important}

/* cart and checkout blocks */
html body.dpc-store .entry-content :is(.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout){font-family:var(--w-body);color:var(--w-ink);max-width:1140px!important;margin:0 auto!important}
html body.dpc-store .entry-content .wc-block-components-sidebar-layout{gap:40px}
html body.dpc-store .entry-content :is(.wc-block-cart__sidebar,.wc-block-checkout__sidebar){background:#fff;box-shadow:var(--w-shadow);padding:24px!important}
html body.dpc-store .entry-content :is(.wc-block-components-title,.wc-block-components-checkout-step__title,.wc-block-cart__totals-title){font-family:var(--w-display)!important;font-size:24px!important;text-transform:none!important;letter-spacing:0!important;color:var(--w-ink)!important;font-weight:700!important}
html body.dpc-store .entry-content .wc-block-components-product-name{font-family:var(--w-display);font-size:20px;color:var(--w-ink)!important;text-decoration:none}
html body.dpc-store .entry-content .wc-block-cart-item__image img{aspect-ratio:1/1;object-fit:cover}
html body.dpc-store .entry-content :is(.wc-block-components-text-input input,.wc-block-components-combobox input,.wc-blocks-components-select select,.wc-block-components-textarea){border-radius:4px!important;border-color:var(--w-line)!important;font-family:var(--w-body)!important}
html body.dpc-store .entry-content :is(.wc-block-components-text-input input,.wc-block-components-combobox input):focus{border-color:var(--w-teal)!important;box-shadow:0 0 0 1px var(--w-teal)!important}
html body.dpc-store .entry-content .wc-block-components-totals-footer-item{font-size:20px}
html body.dpc-store .entry-content .wc-block-cart__empty-cart__title{font-family:var(--w-display)}
html body.dpc-store .entry-content :is(.wc-block-components-checkout-step__description,.wc-block-checkout__terms){color:var(--w-ink-soft);font-size:15px}
html body.dpc-store .entry-content .wc-block-checkout__terms a,html body.dpc-store .entry-content .wc-block-components-checkout-return-to-cart-button{color:var(--w-teal-deep)}
html body.dpc-store .entry-content .wc-block-components-checkout-return-to-cart-button{text-decoration:none}

/* order received */
html body.dpc-store .woocommerce-order :is(.woocommerce-order-overview,.wc-block-order-confirmation-summary){display:flex;flex-wrap:wrap;gap:12px 32px;padding:20px 24px!important;margin:0 0 32px!important;background:var(--w-sky-soft);list-style:none}
html body.dpc-store .woocommerce-order .woocommerce-order-overview li{border:0!important;margin:0!important;padding:0!important;font-size:14px;text-transform:uppercase;letter-spacing:.06em;color:var(--w-ink-soft)}
html body.dpc-store .woocommerce-order .woocommerce-order-overview li strong{display:block;font-size:18px;text-transform:none;letter-spacing:0;color:var(--w-ink);margin-top:2px}
html body.dpc-store :is(.woocommerce-order-downloads,.wc-block-order-confirmation-downloads){background:#fff;box-shadow:var(--w-shadow);padding:28px;margin:0 0 32px}

/* tables: order details, downloads, account orders */
html body.dpc-store :is(.dpc-woo,.entry-content) table.shop_table{width:100%;border-collapse:collapse!important;border:0!important;border-radius:0!important;background:#fff;font-size:16px}
html body.dpc-store :is(.dpc-woo,.entry-content) table.shop_table :is(th,td){padding:14px 16px!important;border:0!important;border-bottom:1px solid var(--w-line)!important;text-align:left}
html body.dpc-store :is(.dpc-woo,.entry-content) table.shop_table th{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--w-ink-soft)}
html body.dpc-store :is(.dpc-woo,.entry-content) table.shop_table a:not(.button){color:var(--w-teal-deep)}
html body.dpc-store :is(.dpc-woo,.entry-content) table.shop_table .button{padding:8px 16px!important;font-size:14px!important}

/* my account */
html body.dpc-store .entry-content .woocommerce:has(.woocommerce-MyAccount-navigation){display:grid;grid-template-columns:240px minmax(0,1fr);gap:40px;align-items:start}
html body.dpc-store .entry-content :is(.woocommerce-MyAccount-navigation,.woocommerce-MyAccount-content){float:none!important;width:auto!important}
html body.dpc-store .entry-content .woocommerce-MyAccount-navigation{background:#fff;box-shadow:var(--w-shadow);padding:10px 0}
html body.dpc-store .entry-content .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0}
html body.dpc-store .entry-content .woocommerce-MyAccount-navigation li a{display:block;padding:12px 22px;font-size:16px;color:var(--w-ink);text-decoration:none;border-left:3px solid transparent}
html body.dpc-store .entry-content .woocommerce-MyAccount-navigation li.is-active a{border-left-color:var(--w-teal);background:var(--w-sky-soft);font-weight:600}
html body.dpc-store .entry-content .woocommerce-MyAccount-navigation li a:hover{color:var(--w-teal-deep)}
html body.dpc-store .entry-content .woocommerce-MyAccount-content>p:first-child{font-size:18px}
html body.dpc-store .entry-content .woocommerce-MyAccount-content a:not(.button){color:var(--w-teal-deep)}
/* login / register */
html body.dpc-store .entry-content :is(.woocommerce-form-login,.woocommerce-form-register,.woocommerce-ResetPassword,.woocommerce-EditAccountForm){background:#fff;box-shadow:var(--w-shadow);padding:32px!important;border:0!important;border-radius:0!important;margin:0 0 32px!important}
html body.dpc-store .entry-content #customer_login{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
html body.dpc-store .entry-content #customer_login>div{float:none!important;width:auto!important}
html body.dpc-store .entry-content :is(.woocommerce-form-row,.form-row) label{font-size:15px;font-weight:600;display:block;margin:0 0 6px}
html body.dpc-store .entry-content :is(.woocommerce-Input,.input-text,input[type=email],input[type=password],input[type=text]){width:100%;box-sizing:border-box;padding:12px 14px;font:400 17px var(--w-body);border:1px solid var(--w-line);border-radius:4px;background:#fff}
html body.dpc-store .entry-content :is(.woocommerce-Input,.input-text):focus{outline:2px solid var(--w-teal);outline-offset:1px}

@media(max-width:900px){
 html body .dpc-woo ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}
 html body .dpc-woo-single div.product{grid-template-columns:1fr;gap:32px}
 html body .dpc-woo-single .summary .product_title{font-size:36px}
 html body.dpc-store .entry-content .woocommerce:has(.woocommerce-MyAccount-navigation),html body.dpc-store .entry-content #customer_login{grid-template-columns:1fr}
}
@media(max-width:520px){
 html body .dpc-woo{padding-top:36px}
 html body .dpc-woo ul.products{grid-template-columns:1fr}
 html body .dpc-woo-archive .woocommerce-products-header__title{font-size:34px}
 html body .dpc-woo :is(.woocommerce-result-count,.woocommerce-ordering){float:none;text-align:center}
}

/* checkout summary: compact item rows */
html body.dpc-store .entry-content .wc-block-checkout__sidebar{padding:0!important;box-shadow:none;background:transparent}
html body.dpc-store .entry-content .wp-block-woocommerce-checkout-order-summary-block{background:#fff;box-shadow:var(--w-shadow);border:0!important}
html body.dpc-store .entry-content .wc-block-components-order-summary-item .wc-block-components-product-name{font-size:17px!important;line-height:1.35}
html body.dpc-store .entry-content :is(.wc-block-components-order-summary-item,.wc-block-cart-item__product) .wc-block-components-product-metadata__description{display:none}
html body.dpc-store .entry-content .wc-block-components-order-summary-item__description{padding-right:12px}

/* login on its own: centered card */
html body.dpc-store .entry-content .woocommerce>h2:first-of-type:has(+ .woocommerce-form-login){text-align:center}
html body.dpc-store .entry-content .woocommerce>:is(h2,.woocommerce-form-login):not(#customer_login *){max-width:560px;margin-left:auto!important;margin-right:auto!important}
