/* Single product (booking) pages — consistent sizing and spacing; the booking form is visible on short laptop screens (owner design review, 5 Oct 2026). */
/* 1. Remove the empty Astra sidebar spacing and stray left border above the product. */
.single-product #secondary{display:none!important}
.single-product #primary{margin-top:0!important;margin-bottom:40px!important;padding-top:18px!important;padding-left:0!important;border-left:0!important}

/* 2. One type scale for the booking panel. */
.single-product .product_title{margin:0 0 6px!important;font-size:clamp(1.75rem,2.5vw,2.4rem)!important;line-height:1.1!important}
.single-product .summary .price{margin:0 0 12px!important;font-size:clamp(1.35rem,1.8vw,1.6rem)!important;line-height:1.2!important}
.single-product .woocommerce-product-details__short-description{margin:0 0 4px!important;color:var(--qc-commerce-muted,#61726d);font-size:.95rem;line-height:1.55}
.single-product .woocommerce-product-details__short-description p{margin:0 0 6px!important}

/* 3. Booking intro: readable left-aligned block whose background covers its text. */
.single-product .qc-product-booking-intro{box-sizing:border-box;width:100%;margin:12px 0 0!important;padding:14px 16px!important;border-top:0!important;border-radius:0 10px 10px 0;background:#f6f4ee}
.single-product .qc-product-booking-intro .qc-booking-eyebrow{margin:0 0 4px!important;font-size:max(11px,.72rem)!important;letter-spacing:.08em}
.single-product .qc-product-booking-intro h2{margin:0 0 6px!important;font-size:1.12rem!important;line-height:1.3!important}
.single-product .qc-product-booking-intro p:not(.qc-booking-eyebrow){font-size:.92rem!important;line-height:1.55!important}

/* 4. Quantity + button on one balanced row. */
.single-product form.cart{box-sizing:border-box;display:flex!important;flex-wrap:wrap;align-items:flex-end;gap:12px 14px;margin:14px 0 0!important;padding:16px 18px!important}
.single-product form.cart .quantity{display:flex;flex-direction:column;gap:6px;margin:0!important}
.single-product form.cart input.qty{box-sizing:border-box;width:84px!important;height:48px!important;padding:0 8px!important;font-size:1rem!important;text-align:center}
.single-product form.cart .single_add_to_cart_button{min-height:48px!important;margin:0!important;padding:0 26px!important;font-size:.95rem!important;white-space:nowrap}
.single-product .qc-product-support{display:inline-block;margin:12px 0 0!important;font-size:.92rem}
.single-product .product_meta{margin-top:8px!important;padding-top:8px!important;font-size:.85rem}

/* 5. Description: wider readable column, less dead space above it. */
.single-product .woocommerce-tabs{margin-top:36px!important;padding:26px clamp(18px,3vw,40px)!important}
.single-product .woocommerce-tabs .panel{max-width:80ch!important;margin:0!important}

/* 6. Related products: same card system as the category pages (no empty first grid cell, uncropped images). */
.single-product .related.products ul.products::before,.single-product .related.products ul.products::after{content:none!important;display:none!important}
.single-product .related.products{margin-top:40px!important;padding-top:28px!important}
.single-product .related.products .astra-shop-thumbnail-wrap{position:relative!important;display:block!important;aspect-ratio:2/1!important}
.single-product .related.products .astra-shop-thumbnail-wrap>a{position:absolute!important;inset:0;display:flex!important;align-items:center;justify-content:center}
.single-product .related.products .astra-shop-thumbnail-wrap img{width:auto!important;height:100%!important;max-width:100%!important;object-fit:contain!important}
.single-product .related.products .astra-shop-summary-wrap{padding:12px 16px 4px!important}
.single-product .related.products ul.products li.product .price{margin:4px 0 8px!important;font-size:1.15rem!important}
.single-product .related.products ul.products li.product>.qc-catalogue-cta{margin:0 16px 14px!important;text-align:center!important}

/* 7. Names dialog: two columns of name fields on wider screens when there are several names. */
@media(min-width:768px){
.qc-modal__card{width:min(760px,calc(100vw - 48px))!important;max-width:760px!important}
#qc-name-fields:has(> :nth-child(3)){display:grid!important;grid-template-columns:1fr 1fr;column-gap:16px}
}

/* 8. Phones. */
@media(max-width:544px){
.single-product #primary{padding:12px 14px 0!important}
.single-product div.product .summary{padding:18px 16px!important}
.single-product .product_title{font-size:1.6rem!important}
.single-product form.cart{padding:14px!important}
.single-product form.cart .single_add_to_cart_button{flex:1 1 auto;padding:0 12px!important;font-size:max(13px,.85rem)!important;letter-spacing:.02em!important}
.single-product .woocommerce-tabs{padding:20px 16px!important}
}

/* 9. Balance inside the product frame (owner feedback, 5 Oct 2026): equal breathing room under the terracotta top line and on both sides; a smaller middle gap so the image and booking cards sit centred. */
.single-product #primary{padding-top:10px!important}
.single-product div.product{box-sizing:border-box;padding:clamp(14px,1.9vw,26px)!important;column-gap:clamp(20px,2.4vw,30px)!important;row-gap:clamp(18px,2.2vw,28px)!important;align-items:start}
.single-product div.product .woocommerce-product-gallery,.single-product div.product .summary{margin:0!important}
@media(max-width:544px){
.single-product #primary{padding:8px 8px 0!important}
.single-product div.product{padding:10px!important;row-gap:14px!important;grid-template-columns:minmax(0,1fr)!important}
.single-product div.product>*{min-width:0;max-width:100%}
.single-product div.product .summary{padding:16px 14px!important}
.single-product form.cart{padding:12px!important;gap:10px!important}
.single-product form.cart input.qty{width:68px!important}
.single-product form.cart{flex-wrap:wrap!important}
.single-product form.cart .quantity{flex:0 0 78px;max-width:78px;margin:0!important;padding:0!important}
.single-product form.cart{padding:10px 10px 10px 12px!important}
.single-product form.cart input.qty{width:64px!important}
.single-product form.cart .single_add_to_cart_button{flex:1 1 150px;min-width:150px;padding:0 8px!important;font-size:12.5px!important;letter-spacing:0!important;white-space:nowrap}
.single-product form.cart .quantity label{white-space:normal!important;line-height:1.25;font-size:.8rem!important}
}

/* 10. Booking first: the short description (some are long, e.g. Iftaar) moves below the booking form and help link so the button stays near the top; DOM order and content are unchanged. */
.single-product div.product .summary{display:flex!important;flex-direction:column}
.single-product div.product .summary>.woocommerce-product-details__short-description{order:1;margin:16px 0 0!important;padding-top:14px;border-top:1px solid var(--qc-commerce-line,#d9e1db)}
.single-product div.product .summary>.product_meta{order:2}
.single-product div.product .summary>.qc-product-support{align-self:flex-start}
/* Long product names make a long quantity label; cap its width so the button stays beside the quantity box. */
@media(min-width:545px){.single-product form.cart{flex-wrap:nowrap!important}.single-product form.cart .quantity{flex:0 1 auto;max-width:190px}.single-product form.cart .quantity label{white-space:normal!important;line-height:1.3}}
@media(min-width:545px){.single-product .product_title{font-size:clamp(1.6rem,2.25vw,2.4rem)!important}}
