/* =========================================================
PawSpace — Single Product Page Enhancement
Scoped entirely to single product pages. Safe additive CSS,
no JS, no changes to cart/AJAX behaviour.
========================================================= */

:root{
--pw-accent: #4E7FFF;
--pw-accent-dark: #3868E6;
--pw-ink: #1F2937;
--pw-muted: #6B7280;
--pw-bg-soft: #FFF6F3;
--pw-border: #EFE4E0;
}

/* ---------- Overall product wrapper ---------- */
.single-product div.product{
padding: 8px 0 24px;
}

/* ---------- Gallery ---------- */
.single-product .woocommerce-product-gallery{
border-radius: 16px;
overflow: hidden;
background: #fff;
}
.single-product .woocommerce-product-gallery img{
border-radius: 16px;
}
.single-product .flex-control-thumbs li img{
border-radius: 8px;
opacity: .65;
transition: opacity .15s ease, transform .15s ease;
}
.single-product .flex-control-thumbs li img:hover,
.single-product .flex-control-thumbs li img.flex-active{
opacity: 1;
transform: translateY(-2px);
}

/* ---------- Title & rating ---------- */
.single-product .product_title{
font-size: clamp(24px, 3vw, 34px);
font-weight: 700;
color: var(--pw-ink);
line-height: 1.2;
margin-bottom: 8px;
}
.single-product .woocommerce-product-rating{
margin-bottom: 14px;
}
.single-product .star-rating span::before,
.single-product .star-rating::before{
color: var(--pw-accent);
}
.single-product .woocommerce-review-link{
color: var(--pw-muted);
text-decoration: underline;
}

/* ---------- Price ---------- */
.single-product p.price,
.single-product p.price .woocommerce-Price-amount{
font-size: 26px;
font-weight: 700;
color: var(--pw-ink);
}
.single-product p.price del .woocommerce-Price-amount{
font-size: 17px;
font-weight: 400;
color: var(--pw-muted);
opacity: .8;
}
.single-product p.price ins{
text-decoration: none;
}
.single-product span.onsale{
background: var(--pw-accent);
color: #fff;
font-weight: 700;
font-size: 12px;
letter-spacing: .04em;
border-radius: 999px;
padding: 4px 12px;
min-height: unset;
min-width: unset;
line-height: 1.6;
position: relative;
top: 0; left: 0;
display: inline-block;
margin-bottom: 10px;
}

/* ---------- Short description ---------- */
.single-product .woocommerce-product-details__short-description{
color: var(--pw-ink);
font-size: 15.5px;
line-height: 1.6;
margin: 14px 0 18px;
}
.single-product .woocommerce-product-details__short-description ul{
padding-left: 1.1em;
}
.single-product .woocommerce-product-details__short-description li{
margin-bottom: 6px;
}

/* ---------- Variations / swatches ---------- */
.single-product table.variations{
margin-bottom: 14px;
}
.single-product table.variations label{
font-weight: 600;
color: var(--pw-ink);
}

/* ---------- Quantity + Add to cart ---------- */
.single-product form.cart{
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 12px;
margin-top: 6px;
}
.single-product .quantity{
margin: 0;
}
.single-product .quantity .qty{
height: 52px;
width: 70px;
border-radius: 10px;
border: 1px solid var(--pw-border);
text-align: center;
font-size: 16px;
}
.single-product .single_add_to_cart_button{
background: var(--pw-accent) !important;
color: #fff !important;
border: none !important;
border-radius: 999px !important;
padding: 15px 34px !important;
font-size: 16px !important;
font-weight: 700 !important;
letter-spacing: .01em;
min-height: 52px;
flex: 1 1 auto;
min-width: 180px;
transition: background .15s ease, transform .1s ease;
box-shadow: 0 6px 16px rgba(255,107,74,.28);
}
.single-product .single_add_to_cart_button:hover{
background: var(--pw-accent-dark) !important;
transform: translateY(-1px);
}
.single-product .single_add_to_cart_button.disabled{
background: #D1D5DB !important;
box-shadow: none;
}

/* ---------- Trust badge strip: injected right under Buy Box ---------- */
.single-product form.cart::after{
content: "🚚  Free UK Shipping   ·   ↩  30-Day Returns   ·   🔒  Secure Checkout";
display: block;
width: 100%;
margin-top: 16px;
padding: 13px 16px;
background: var(--pw-bg-soft);
border: 1px solid var(--pw-border);
border-radius: 10px;
font-size: 13px;
font-weight: 600;
color: var(--pw-ink);
text-align: center;
}
@media (max-width: 480px){
.single-product form.cart::after{
font-size: 12px;
line-height: 1.7;
}
}

/* ---------- Sticky buy box on desktop while scrolling description ---------- */
@media (min-width: 992px){
.single-product div.product .summary.entry-summary{
position: sticky;
top: 96px;
align-self: start;
}
}

/* ---------- Tabs ---------- */
.single-product .woocommerce-tabs ul.tabs{
border-bottom: 1px solid var(--pw-border);
padding-left: 0;
display: flex;
gap: 6px;
flex-wrap: wrap;
}
.single-product .woocommerce-tabs ul.tabs li{
margin: 0;
}
.single-product .woocommerce-tabs ul.tabs li a{
display: inline-block;
padding: 10px 18px;
font-weight: 600;
color: var(--pw-muted);
border-bottom: 2px solid transparent;
}
.single-product .woocommerce-tabs ul.tabs li.active a{
color: var(--pw-ink);
border-bottom-color: var(--pw-accent);
}
.single-product .woocommerce-tabs .panel{
padding-top: 20px;
color: var(--pw-ink);
line-height: 1.7;
}

/* ---------- Related / upsell products ---------- */
.single-product .related.products,
.single-product .upsells.products{
margin-top: 48px;
padding-top: 32px;
border-top: 1px solid var(--pw-border);
}
.single-product .related.products > h2,
.single-product .upsells.products > h2{
font-size: 22px;
font-weight: 700;
color: var(--pw-ink);
margin-bottom: 18px;
}
.single-product .related.products ul.products li.product,
.single-product .upsells.products ul.products li.product{
border: 1px solid var(--pw-border);
border-radius: 14px;
padding: 14px;
transition: transform .15s ease, box-shadow .15s ease;
}
.single-product .related.products ul.products li.product:hover,
.single-product .upsells.products ul.products li.product:hover{
transform: translateY(-3px);
box-shadow: 0 10px 24px rgba(0,0,0,.08);
}
.single-product .related.products ul.products li.product img,
.single-product .upsells.products ul.products li.product img{
border-radius: 10px;
}

/* ---------- FAQ / guarantee block (added via Single Product template) ---------- */
.pw-faq-section{
max-width: 800px;
margin: 40px auto 0;
padding: 0 16px;
}
.pw-faq-section h2{
font-size: 22px;
font-weight: 700;
color: var(--pw-ink);
margin-bottom: 16px;
}
.pw-faq-section details{
border: 1px solid var(--pw-border);
border-radius: 10px;
padding: 14px 16px;
margin-bottom: 10px;
background: #fff;
}
.pw-faq-section summary{
font-weight: 600;
color: var(--pw-ink);
cursor: pointer;
}
.pw-faq-section details p{
margin-top: 10px;
color: var(--pw-muted);
line-height: 1.6;
font-size: 14.5px;
}

.pw-guarantee-strip{
display: flex;
flex-wrap: wrap;
gap: 12px;
justify-content: center;
max-width: 900px;
margin: 36px auto 0;
padding: 0 16px 8px;
}
.pw-guarantee-strip .pw-badge{
flex: 1 1 200px;
text-align: center;
padding: 18px 14px;
border: 1px solid var(--pw-border);
border-radius: 12px;
background: var(--pw-bg-soft);
}
.pw-guarantee-strip .pw-badge .pw-icon{
font-size: 22px;
display: block;
margin-bottom: 6px;
}
.pw-guarantee-strip .pw-badge strong{
display: block;
color: var(--pw-ink);
font-size: 14px;
}
.pw-guarantee-strip .pw-badge span{
color: var(--pw-muted);
font-size: 12.5px;
}

/* ---------- Mobile spacing ---------- */
@media (max-width: 767px){
.single-product div.product{
padding: 4px 0 20px;
}
.single-product .single_add_to_cart_button{
width: 100%;
}
}

/* =========================================================
PawSpace — Cart & Checkout: responsive layout + brand-consistent styling
Fixes: order summary sidebar not collapsing on mobile (caused horizontal
cut-off), summary panel inheriting the theme's dark global background,
unreadable payment/place-order buttons. Same look on phone and desktop.
========================================================= */

.wp-block-woocommerce-checkout,
.wp-block-woocommerce-cart,
.wp-block-woocommerce-filled-cart-block{
box-sizing: border-box;
max-width: 100%;
}
.wp-block-woocommerce-checkout *,
.wp-block-woocommerce-cart *{
box-sizing: border-box;
}
body.woocommerce-checkout,
body.woocommerce-cart{
overflow-x: hidden;
}

/* ---- Desktop: two balanced columns ---- */
@media (min-width: 900px){
.wp-block-woocommerce-checkout{
display: grid !important;
grid-template-columns: minmax(0, 1fr) 380px !important;
gap: 48px !important;
align-items: start !important;
width: 100% !important;
max-width: 100% !important;
overflow: hidden;
}
.wp-block-woocommerce-checkout > .wp-block-woocommerce-checkout-fields-block{
grid-column: 1 !important;
min-width: 0 !important;
width: auto !important;
max-width: 100% !important;
}
.wp-block-woocommerce-checkout > .wp-block-woocommerce-checkout-totals-block{
grid-column: 2 !important;
min-width: 0 !important;
width: auto !important;
max-width: 380px !important;
position: sticky !important;
top: 24px !important;
}
.wp-block-woocommerce-filled-cart-block{
display: grid !important;
grid-template-columns: minmax(0, 1fr) 380px !important;
gap: 48px !important;
align-items: start !important;
width: 100% !important;
max-width: 100% !important;
overflow: hidden;
}
.wp-block-woocommerce-filled-cart-block > .wp-block-woocommerce-cart-items-block{
min-width: 0 !important;
width: auto !important;
max-width: 100% !important;
}
.wp-block-woocommerce-filled-cart-block > .wp-block-woocommerce-cart-totals-block{
min-width: 0 !important;
width: auto !important;
max-width: 380px !important;
position: sticky !important;
top: 24px !important;
}
}

/* ---- Mobile/tablet: single column, summary first, full width, nothing cut off ---- */
@media (max-width: 899px){
.wp-block-woocommerce-checkout,
.wp-block-woocommerce-filled-cart-block{
display: flex !important;
flex-direction: column !important;
gap: 24px;
}
.wp-block-woocommerce-checkout > .wp-block-woocommerce-checkout-totals-block,
.wp-block-woocommerce-filled-cart-block > .wp-block-woocommerce-cart-totals-block{
order: -1;
width: 100% !important;
flex: 0 0 auto !important;
}
.wp-block-woocommerce-checkout > .wp-block-woocommerce-checkout-fields-block,
.wp-block-woocommerce-filled-cart-block > .wp-block-woocommerce-cart-items-block{
width: 100% !important;
flex: 0 0 auto !important;
}
}

/* ---- Order summary / totals panel: light neutral surface, not the site's dark global background ---- */
.wp-block-woocommerce-checkout-totals-block,
.wp-block-woocommerce-cart-totals-block{
background: #F7F7F5 !important;
color: #151515 !important;
border: 1px solid #E7E7E2;
border-radius: 14px;
padding: 20px;
}
.wp-block-woocommerce-checkout-totals-block *,
.wp-block-woocommerce-cart-totals-block *{
color: inherit;
}

/* ---- Checkout form fields ---- */
.wc-block-components-text-input input,
.wc-block-components-textarea textarea,
.wc-block-checkout select,
.wc-block-components-country-input input,
.wc-block-components-state-input input{
border: 1px solid #D8D8D2 !important;
border-radius: 8px !important;
background: #fff !important;
color: #151515 !important;
}

/* ---- Primary buttons: Place order / Proceed to checkout — brand blue pill, always shows its label ---- */
.wc-block-components-checkout-place-order-button,
.wc-block-cart__submit-button,
.wp-block-woocommerce-proceed-to-checkout-block a,
.wp-block-woocommerce-checkout-actions-block button{
background: #4E7FFF !important;
color: #fff !important;
border: none !important;
border-radius: 999px !important;
font-weight: 700 !important;
font-size: 16px !important;
padding: 16px 28px !important;
width: 100%;
text-align: center;
min-height: 52px;
opacity: 1 !important;
}
.wc-block-components-checkout-place-order-button:hover,
.wc-block-cart__submit-button:hover,
.wp-block-woocommerce-proceed-to-checkout-block a:hover{
background: #3868E6 !important;
}

/* ---- Payment method rows ---- */
.wc-block-components-radio-control__option{
border: 1px solid #E7E7E2;
border-radius: 10px;
padding: 12px 14px;
background: #fff;
}
.wc-block-components-radio-control__option-checked{
border-color: #4E7FFF;
}