/* The Print Centre product page layout: large gallery left, configurator right.
   All selectors are scoped to single product pages; native WooCommerce forms remain intact. */
.single-product .shop-content{width:min(1200px,calc(100% - 40px));padding-top:28px;color:#555}
.single-product .woocommerce-breadcrumb{font-size:14px;font-weight:400;color:#888;margin:0 0 28px;line-height:1.5}
.single-product .woocommerce-breadcrumb a{color:var(--brand)}
.single-product div.product.type-product{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,1fr);column-gap:32px;row-gap:40px;align-items:start;position:relative}
.single-product div.product.type-product::before,.single-product div.product.type-product::after{content:none}
.single-product .tpc-product-media{grid-column:1;grid-row:1;min-width:0}
.single-product div.product .tpc-product-media div.images{float:none;width:100%;margin:0 0 24px}
.single-product div.product .tpc-product-media .woocommerce-product-gallery__image img:not(.zoomImg){width:100%;height:auto;max-height:640px;object-fit:contain}
.single-product div.product .tpc-product-media .flex-control-thumbs{display:flex;gap:8px;margin-top:14px;overflow-x:auto}
.single-product div.product .tpc-product-media .flex-control-thumbs li{float:none;flex:0 0 88px;width:88px}
.single-product div.product .tpc-product-media .flex-control-thumbs img{border:1px solid #ddd;padding:3px}
.single-product div.product .tpc-product-media .woocommerce-tabs{clear:none;width:100%;margin:0}
.single-product div.product .tpc-product-media .woocommerce-tabs ul.tabs{display:flex;flex-wrap:wrap;gap:0;padding:0;margin:0;border-bottom:1px solid #ddd}
.single-product div.product .tpc-product-media .woocommerce-tabs ul.tabs::before,.single-product div.product .tpc-product-media .woocommerce-tabs ul.tabs li::before,.single-product div.product .tpc-product-media .woocommerce-tabs ul.tabs li::after{content:none}
.single-product div.product .tpc-product-media .woocommerce-tabs ul.tabs li{border:1px solid #ddd;border-bottom:0;background:#f7f7f7;border-radius:0;margin:0 0 0 -1px;padding:0 14px;font-size:14px;font-weight:400}
.single-product div.product .tpc-product-media .woocommerce-tabs ul.tabs li:first-child{margin-left:0}
.single-product div.product .tpc-product-media .woocommerce-tabs ul.tabs li a{padding:12px 0;font-weight:400;color:#555}
.single-product div.product .tpc-product-media .woocommerce-tabs ul.tabs li.active{background:#fff;border-top:2px solid var(--brand)}
.single-product div.product .tpc-product-media .woocommerce-tabs .panel{padding:20px;border:1px solid #ddd;border-top:0;font-size:15px;line-height:1.75;margin:0}
.single-product .tpc-product-media .panel h2{font-size:18px;margin:0 0 16px}
.single-product div.product.type-product>.summary{grid-column:2;grid-row:1;float:none;width:auto;margin:0;min-width:0}
.single-product div.product .summary .product_title{font-size:25px;font-weight:800;line-height:1.2;letter-spacing:0;text-transform:uppercase;color:#505050;margin:0 0 14px}
.single-product div.product .summary p.price,.single-product div.product .summary span.price{font-size:21px;font-weight:400;color:#555;margin:0 0 20px;line-height:1.5}
.single-product div.product .summary form.cart{margin:0 0 22px}
.single-product div.product .summary form.cart table.variations{display:block;width:100%;border:0;margin:0 0 18px}
.single-product div.product .summary table.variations tbody{display:block;width:100%}
.single-product div.product .summary table.variations tr{display:block;width:100%;padding:0;margin:0 0 14px;border:1px solid #ddd;border-radius:1px;box-shadow:0 2px 4px #00000014;background:white}
.single-product div.product .summary table.variations th.label{display:block;width:auto;text-align:left;padding:5px 11px 0;margin:0;border:0;line-height:1.25}
.single-product div.product .summary table.variations th.label label{font-size:11px;font-weight:400;color:#777;line-height:1.25}
.single-product div.product .summary table.variations td.value{display:block;width:auto;padding:0 10px 5px;border:0;line-height:1.25}
.single-product div.product .summary form.cart .variations select{display:block;width:100%;min-width:0;max-width:100%;height:30px;padding:0 2px;margin:0;background:white;color:#555;border:0;border-radius:0;font:inherit;font-size:15px;box-shadow:none}
.single-product div.product .summary table.variations td.value .reset_variations{display:block;margin-top:7px;font-size:12px;color:var(--brand);text-align:right}
.single-product div.product .summary .single_add_to_cart_button,.single-product div.product .summary .wpd-open-designer{width:100%;min-height:50px;border-radius:2px;text-transform:uppercase;letter-spacing:.02em;font-size:15px;font-weight:700;padding:14px 20px;margin:0 0 12px}
.single-product div.product .summary .wpd-open-designer{background:var(--brand);border-color:var(--brand);box-shadow:none;color:#fff}
.single-product div.product .summary .single_add_to_cart_button:disabled{opacity:.55;cursor:not-allowed}
.single-product .summary .product_meta{border-top:1px solid #e5e5e5;padding-top:18px;font-size:12px;color:#888}
.single-product .summary .product_meta>span{display:block;margin-bottom:5px}
.single-product div.product.type-product>.related,.single-product div.product.type-product>.upsells{grid-column:1/-1;clear:both;width:100%;margin-top:10px}
.single-product .related>h2,.single-product .upsells>h2{font-size:21px;text-transform:uppercase;letter-spacing:0;margin:0 0 24px;color:#555}
.single-product .summary select:focus-visible{outline:2px solid var(--brand);outline-offset:3px}
@media(max-width:700px){
 .single-product .shop-content{width:calc(100% - 40px);padding-top:20px}
 .single-product .woocommerce-breadcrumb{font-size:12px;margin-bottom:20px}
 .single-product div.product.type-product{display:block}
 .single-product .tpc-product-media{margin:0 0 28px}
 .single-product div.product .tpc-product-media div.images{margin-bottom:18px}
 .single-product div.product .tpc-product-media .woocommerce-product-gallery__image img:not(.zoomImg){max-height:none}
 .single-product div.product.type-product>.summary{width:100%;margin-bottom:35px}
 .single-product div.product .summary .product_title{font-size:24px;margin-bottom:12px}
 .single-product div.product .summary form.cart .variations select{font-size:16px;height:34px}
 .single-product div.product .tpc-product-media .woocommerce-tabs .panel{padding:16px;font-size:14px}
 .single-product div.product .tpc-product-media .woocommerce-tabs ul.tabs li{padding:0 10px;font-size:12px}
 .single-product .related ul.products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .single-product .related ul.products::before,.single-product .related ul.products::after{content:none}
 .single-product .related ul.products li.product{width:auto!important;float:none;margin:0!important}
}
.single-product div.product .summary form.cart button.wpd-open-designer{background:var(--brand);border-color:var(--brand);box-shadow:none}
/* Override WooCommerce's older #content float rules inside the new composition. */
.single-product #content div.product.type-product>.summary{float:none;width:auto;max-width:none}
.single-product #content div.product .tpc-product-media div.images{float:none;width:100%;max-width:none}
@media(max-width:700px){.single-product #content div.product.type-product>.summary{width:100%}}

/* ===== v2.9.0: title, starting price, reassurance panel, related products ===== */
.single-product div.product .summary .product_title{text-transform:none;color:#202b40;font-size:28px;letter-spacing:-.02em;line-height:1.2;margin-bottom:10px}
.tpc-from-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 8px;margin:0 0 22px;color:#69758a}
.tpc-from-price .tpc-from-label{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.tpc-from-price strong,.tpc-from-price strong .amount{font-size:26px;font-weight:800;color:#202b40;letter-spacing:-.02em}
.tpc-from-price .tpc-from-note{flex-basis:100%;font-size:13px;color:#69758a}

.tpc-assurance{margin:6px 0 22px;padding:16px 18px;border:1px solid #dfe5ef;border-radius:12px;background:#f7f9fd}
.tpc-assurance ul{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:9px}
.tpc-assurance li{display:flex;align-items:center;gap:10px;font-size:13.5px;font-weight:600;color:#263247;line-height:1.35}
.tpc-assurance li::before{content:"";flex:0 0 auto;width:28px;height:28px;border-radius:50%;background:#fff center/15px no-repeat;border:1px solid #dfe5ef}
.tpc-assurance .is-turn::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230f6f7d' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='8.5'/%3E%3Cpath d='M12 7.5V12l3 2'/%3E%3C/svg%3E")}
.tpc-assurance .is-proof::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b71970' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 12s3.5-6.5 9.5-6.5S21.5 12 21.5 12 18 18.5 12 18.5 2.5 12 2.5 12z'/%3E%3Ccircle cx='12' cy='12' r='2.8'/%3E%3C/svg%3E")}
.tpc-assurance .is-local::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23202b40' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5a7 7 0 0 1 14 0C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E")}
.tpc-assurance-help{margin:0;padding-top:12px;border-top:1px solid #e3e8f1;font-size:13px;color:#586477}
.tpc-assurance-help a{font-weight:700;color:#b71970;text-decoration:none}
.tpc-assurance-help a:hover{text-decoration:underline}

/* Related products: same cards as the category pages */
.single-product div.product.type-product>.related{margin-top:24px;padding-top:36px;border-top:1px solid #e3e8f1}
.single-product .related>h2{font-size:28px;font-weight:800;letter-spacing:-.025em;text-transform:none;color:#202b40;margin:0 0 22px}
.single-product .related ul.products,.single-product .upsells ul.products{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin:0!important;padding:0;list-style:none}
.single-product .related ul.products::before,.single-product .related ul.products::after,.single-product .upsells ul.products::before,.single-product .upsells ul.products::after{content:none!important;display:none!important}
.single-product .related ul.products li.product,.single-product .upsells ul.products li.product{float:none!important;width:auto!important;margin:0!important;padding:16px!important;border:1px solid #e0e6ef;border-radius:12px;background:#fff;display:flex;flex-direction:column;min-width:0;transition:box-shadow .18s,border-color .18s}
.single-product .related ul.products li.product:hover{border-color:#c6cfe0;box-shadow:0 10px 26px #2632470d}
.single-product .related ul.products li.product a img{width:100%;height:190px;object-fit:contain;margin:0 0 16px!important;border-radius:8px;background:#fff;transition:transform .35s ease}
.single-product .related ul.products li.product:hover a img{transform:scale(1.04)}
.single-product .related ul.products li.product .woocommerce-loop-product__title{font-size:16px!important;line-height:1.35!important;font-weight:700;color:#263247;padding:0!important;margin:0 0 10px!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.single-product .related .tpc-card-meta{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-wrap:wrap;gap:6px;align-self:stretch}
.single-product .related .tpc-card-meta li{display:block;position:relative;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:5px 9px 5px 26px;border-radius:6px;background:#e8f8fb;color:#0f6f7d;font-size:11.5px;font-weight:600;line-height:1.3}
.single-product .related .tpc-card-meta .is-stock{display:none}
.single-product .related .tpc-card-meta li::before{content:"";position:absolute;left:8px;top:50%;margin-top:-6px;width:12px;height:12px;background:currentColor;opacity:.75;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='8.5'/%3E%3Cpath d='M12 7.5V12l3 2'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='8.5'/%3E%3Cpath d='M12 7.5V12l3 2'/%3E%3C/svg%3E") center/contain no-repeat}
.single-product .related ul.products li.product .price{display:block;font-size:13px!important;color:#69758a!important;font-weight:600!important;margin:0 0 14px!important}
.single-product .related ul.products li.product .price .tpc-price-from{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-right:2px}
.single-product .related ul.products li.product .price .amount{font-size:19px;font-weight:800;color:#202b40;letter-spacing:-.02em}
.single-product .related ul.products li.product .button{display:block;text-align:center;margin-top:auto!important;background:#fff!important;color:#202b40!important;border:1.5px solid #202b40!important;border-radius:6px;padding:12px;font-size:13px;font-weight:700;line-height:1.4;white-space:normal;transition:background-color .2s ease,border-color .2s ease,color .2s ease}
.single-product .related ul.products li.product .button:hover,.single-product .related ul.products li.product .button:focus-visible{background:#e52988!important;border-color:#e52988!important;color:#fff!important}
.tpc-related-all{grid-column:1/-1;margin:22px 0 0;text-align:center}
.tpc-related-all a{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;border-radius:999px;border:1px solid #d6deea;background:#fff;color:#202b40;font-size:14px;font-weight:700;text-decoration:none;transition:border-color .2s ease,background-color .2s ease,color .2s ease}
.tpc-related-all a:hover{border-color:#f3b3d2;background:#fdebf4;color:#b71970}

@media(max-width:900px){.single-product .related ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){
	.single-product div.product .summary .product_title{font-size:23px}
	.tpc-from-price strong,.tpc-from-price strong .amount{font-size:22px}
	.single-product .related>h2{font-size:23px}
	.single-product .related ul.products{gap:12px}
	.single-product .related ul.products li.product{padding:12px!important;border-radius:10px}
	.single-product .related ul.products li.product a img{height:140px;margin-bottom:12px!important}
	.single-product .related ul.products li.product .woocommerce-loop-product__title{font-size:14px!important}
	.single-product .related .tpc-card-meta li{font-size:10.5px}
	.single-product .related ul.products li.product .price .amount{font-size:16px}
	.single-product .related ul.products li.product .button{font-size:12px;padding:10px 6px}
}
@media(prefers-reduced-motion:reduce){.single-product .related ul.products li.product a img{transition:none;transform:none!important}}
@media(min-width:701px){.single-product .tpc-product-media{position:sticky;top:24px;align-self:start}}
.single-product .related .tpc-card-meta{width:100%;justify-content:flex-start}
.tpc-assurance-help{display:grid;gap:7px}
.tpc-assurance-help p{margin:0}
.tpc-assurance-help .tpc-help-email,.tpc-assurance-help .tpc-help-phone{display:flex;align-items:center;gap:8px;font-size:13.5px}
.tpc-assurance-help .tpc-help-email::before,.tpc-assurance-help .tpc-help-phone::before{content:"";width:16px;height:16px;flex:0 0 auto;background:center/contain no-repeat}
.tpc-assurance-help .tpc-help-email::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b71970' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2.5'/%3E%3Cpath d='m4 7 8 6 8-6'/%3E%3C/svg%3E")}
.tpc-assurance-help .tpc-help-phone::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b71970' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2'/%3E%3C/svg%3E")}
.tpc-assurance-help .tpc-help-phone small{font-size:12.5px;color:#69758a;font-weight:500}
.tpc-assurance-help .tpc-help-phone small a{font-weight:700}
.tpc-product-more{clear:both;margin-top:48px;padding-top:36px;border-top:1px solid #e3e8f1}
.tpc-product-more .related,.tpc-product-more .upsells{margin:0 0 8px}
@media(max-width:700px){.tpc-product-more{margin-top:24px;padding-top:28px}.tpc-product-more .related ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}}
