/* Scoped to booking products; ordinary WooCommerce products retain their layout. */
/* Reserve only the fixed header's height, without an extra gap below it. */
body.rg-service-page.woocommerce #primary { max-width:none; padding:var(--rg-service-header-height, 100px) 0 0; margin:0; }
body.rg-service-page .woocommerce-breadcrumb { display:none; }
body.rg-service-page .woocommerce-notices-wrapper { max-width:1440px; margin:auto; padding:0 24px; }
body.rg-service-page div.product.rg-service { --rg-ink:#060d23; --rg-muted:#4d618b; --rg-line:#dbe0e9; --rg-green:#2f7d16; position:relative; color:var(--rg-ink); background:#fff; isolation:isolate; margin:0; }
.rg-service::before { content:""; position:absolute; inset:0 0 auto; height:540px; background:linear-gradient(to bottom, transparent 35%, #fff 100%), url('../imgs/service-kitchen-background.png') center top / cover no-repeat; z-index:-1; pointer-events:none; }
.rg-service-layout { max-width:1480px; margin:auto; padding:36px 32px; display:grid; grid-template-columns:minmax(0,1.82fr) minmax(340px,1fr); grid-template-areas:"main sidebar"; column-gap:36px; align-items:start; }
/* Each desktop column flows independently; description length must not push the help card down. */
.rg-service-main, .rg-service-sidebar { display:flex; flex-direction:column; min-width:0; gap:24px; }
.rg-service-main { grid-area:main; }
.rg-service-sidebar { grid-area:sidebar; gap:18px; }
.rg-service p { line-height:1.45; margin:0; }
.rg-service .rg-service-eyebrow { font-size:16px; font-weight:700; text-transform:uppercase; letter-spacing:.17em; color:var(--rg-muted); margin-bottom:12px; }
.rg-service-hero { grid-area:hero; padding-top:8px; }
.woocommerce div.product.rg-service .product_title { font-family:inherit; font-size:clamp(40px,4vw,64px); font-weight:700; letter-spacing:-.045em; line-height:1.06; max-width:760px; margin:0 0 20px; color:var(--rg-ink); }
.rg-service-rule { display:block; width:96px; height:6px; background:var(--rg-green); margin-bottom:20px; }
.rg-service .rg-service-area { font-size:clamp(16px,2vw,24px); line-height:1.2; letter-spacing:-.04em; margin:0 0 12px; font-weight:700; }
.rg-service .rg-service-intro { color:var(--rg-muted); font-size:clamp(18px,1.5vw,24px); }
.rg-service-booking { grid-area:booking; background:rgba(255,255,255,.98); border:1px solid #edf0f5; border-radius:12px; box-shadow:0 9px 28px #1c345b09; padding:28px; min-width:0; overflow:visible; }
.rg-service .rg-service-fee .rg-service-eyebrow { margin-bottom:4px; }
.rg-service-price { font-size:clamp(42px,4.2vw,70px); font-weight:700; letter-spacing:-.065em; line-height:1.08; overflow-wrap:anywhere; }
.rg-service-price del { font-size:.45em; opacity:.6; }
.rg-service-price ins { text-decoration:none; }
.rg-service-price .woocommerce-price-suffix { font-size:14px; letter-spacing:normal; }
.rg-service .rg-service-unit { font-size:28px; font-weight:700; line-height:1.2; letter-spacing:-.03em; }
.rg-service .rg-service-fee-note { margin:14px 0 22px; padding-top:12px; border-top:1px solid var(--rg-line); font-size:19px; }
.rg-service-fee-note span { color:var(--rg-muted); font-size:18px; }
/* Match WooCommerce's #content selector so its 48% floated summary cannot narrow the form. */
body.woocommerce #content div.product.rg-service .rg-service-form.summary,
body.woocommerce div.product.rg-service .rg-service-form.summary { float:none; width:100%; max-width:none; min-width:0; margin:0; padding:0; clear:both; }
body.woocommerce div.product.rg-service form.cart { margin:0; }
body.woocommerce div.product.rg-service .mbfw-date-picker-section__wrapper { margin:0; }
body.woocommerce div.product.rg-service .mbfw-date-picker-section { display:block; width:100%; max-width:none; margin:0 0 16px; }
body.woocommerce div.product.rg-service .mbfw-date-picker-section::before { display:none; }
.rg-service .mbfw-date-picker-section label { display:block; font-size:18px; line-height:1.4; margin-bottom:5px; font-weight:600; }
.rg-service .mbfw-date-picker-section label::after { content:' *'; color:#b62525; }
body.woocommerce div.product.rg-service #wps_booking_single_calendar_form { box-sizing:border-box; width:100%; max-width:none; height:52px; margin:0; padding:10px 36px 10px 48px; border:1px solid #ced7e7; border-radius:6px; font:inherit; font-size:17px; font-weight:400; text-align:left; text-transform:none; letter-spacing:normal; color:var(--rg-muted); cursor:pointer; background:url('../imgs/calendar.svg') 15px center / 23px no-repeat, url('../imgs/chevron-up-down.svg') calc(100% - 14px) center / 14px no-repeat, #fff; }
.rg-service #wps_booking_single_calendar_form::placeholder { color:var(--rg-muted); opacity:1; font-weight:400; text-transform:none; letter-spacing:normal; }
.rg-service .rg-service-date-hint { font-size:16px; color:var(--rg-muted); margin-top:8px; font-weight:400; }
body.woocommerce div.product.rg-service form.cart .single_add_to_cart_button { float:none; display:flex; justify-content:center; align-items:center; gap:16px; width:100%; min-height:60px; padding:14px 18px; border:0; border-radius:7px; color:#fff; background:var(--rg-green); font-size:24px; font-weight:700; line-height:1.2; text-transform:uppercase; cursor:pointer; }
.rg-service .single_add_to_cart_button::after { content:'→'; font-size:30px; line-height:1; }
body.woocommerce div.product.rg-service form.cart .single_add_to_cart_button:hover { background:#256311; }
body.woocommerce div.product.rg-service form.cart .single_add_to_cart_button:is(:disabled,.disabled) { opacity:.55; cursor:not-allowed; }
.rg-service :is(a,button,input,select):focus-visible { outline:3px solid #306ec4; outline-offset:3px; }
.rg-service form.cart .quantity:has(input[type="hidden"]) { display:none; }
.rg-service .mwb-bfwp-booking-quantity__public-show, .rg-service .mwb-mbfw-total-area { display:none; }
.rg-service .rg-service-second-appliance-note { max-width:70%; margin:10px auto 0; color:#6b7280; font-size:14px; font-weight:400; line-height:1.5; text-align:center; text-wrap:balance; }
.rg-service .rg-service-secure { display:flex; gap:10px; align-items:center; justify-content:center; margin-top:14px; font-size:18px; }
.rg-service-icon { width:25px; height:25px; flex-shrink:0; display:inline-block; vertical-align:middle; }
.rg-service-secure .rg-service-icon { width:20px; height:20px; color:var(--rg-muted); }
.rg-service-benefits { grid-area:benefits; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; padding:0; margin:0; list-style:none; }
.rg-service-benefits li { display:flex; gap:12px; align-items:center; padding-right:12px; border-right:1px solid var(--rg-line); min-width:0; }
.rg-service-benefits li:last-child { border:0; padding:0; }
.rg-service-icon-disc { flex-shrink:0; display:grid; place-items:center; width:70px; height:70px; border-radius:50%; background:#c4ddf7; color:#fff; }
.rg-service-icon-disc .rg-service-icon { width:40px; height:40px; }
.rg-service-benefits h3 { font-size:17px; line-height:1.25; letter-spacing:-.035em; font-weight:700; margin:0 0 5px; }
.rg-service-benefits p { font-size:15px; color:var(--rg-muted); line-height:1.4; }
.rg-service-description { grid-area:description; min-width:0; padding:0; }
.rg-service-description-label { border-bottom:1px solid var(--rg-line); margin:0 0 18px; font-size:18px; font-weight:600; }
.rg-service-description-label span { display:inline-block; padding:0 7px 8px; border-bottom:4px solid var(--rg-green); margin-bottom:-2px; }
.rg-service-description h2 { font-size:38px; letter-spacing:-.04em; font-weight:700; margin:0 0 8px; }
.rg-service-included-copy { color:var(--rg-muted); font-size:19px; }
.rg-service-included-copy p { margin-bottom:16px; }
.rg-service-included-copy em { font-style:italic; }
.rg-service .product_meta { display:flex; flex-wrap:wrap; gap:10px 18px; margin-top:18px; font-size:15px; line-height:1.5; color:var(--rg-muted); }
.rg-service .product_meta .posted_in { font-size:inherit !important; }
.rg-service .product_meta a, .rg-service-help a:not(.rg-service-help-link) { color:#0781ff; text-decoration:underline; text-underline-offset:2px; }
.rg-service-help { grid-area:help; background:#f1f3f8; padding:22px 28px; border-radius:9px; }
.rg-service-help h2 { font-size:30px; letter-spacing:-.045em; font-weight:700; margin:0 0 14px; }
.rg-service-help ul { list-style:none; margin:0 0 14px; padding:0; }
.rg-service-help li { display:flex; gap:20px; margin:0 0 10px; font-size:17px; line-height:1.5; color:var(--rg-muted); }
.rg-service-help .rg-service-icon { color:#3d87dd; }
.rg-service-help-link { display:block; background:#c4ddf7; border-radius:6px; padding:14px; text-align:center; font-size:19px; font-weight:600; color:var(--rg-ink); }
.rg-service-help-link:hover { background:#afd0f3; }
.rg-service-trust { display:none; }
@media (max-width:1199px) and (min-width:901px) {
    .rg-service-layout { gap:24px; padding-inline:24px; grid-template-columns:minmax(0,1.5fr) minmax(320px,1fr); }
    .rg-service-benefits li { flex-direction:column; align-items:flex-start; }
    .rg-service-booking { padding:24px; }
}
@media (max-width:900px) {
    .rg-service::before { height:450px; background-position:60% top; }
    .rg-service-layout { padding:0 24px 0; grid-template-columns:minmax(0,1fr); grid-template-areas:"hero" "booking" "benefits" "description" "help" "trust"; gap:28px; }
    .rg-service-main, .rg-service-sidebar { display:contents; }
    .rg-service-hero { padding:38px 14px 12px; min-height:310px; display:flex; flex-direction:column; align-items:flex-start; }
    .woocommerce div.product.rg-service .product_title { font-size:clamp(38px,6.5vw,62px); max-width:75%; margin-bottom:22px; }
    .rg-service-rule { width:80px; height:4px; margin-bottom:18px; }
    .rg-service .rg-service-area { order:0; letter-spacing:.09em; text-transform:uppercase; margin:0 0 12px; }
    .rg-service .rg-service-intro { max-width:70%; font-size:20px; }
    .rg-service-booking { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); padding:30px; gap:30px; }
    .rg-service-fee { border-right:1px solid var(--rg-line); padding-right:28px; }
    .rg-service-price { font-size:clamp(40px,7vw,68px); }
    .rg-service .rg-service-unit { font-size:23px; }
    .rg-service .rg-service-fee-note { margin-bottom:0; font-size:17px; }
    .rg-service-fee-note span { font-size:16px; }
    .rg-service .rg-service-secure { font-size:14px; }
    .rg-service-benefits { gap:14px; padding:5px 0 16px; }
    .rg-service-benefits li { flex-direction:column; text-align:center; gap:12px; padding:0 14px 0 0; }
    .rg-service-benefits h3 { font-size:16px; text-transform:uppercase; letter-spacing:0; }
    .rg-service-benefits p { font-size:16px; }
    .rg-service-description { border-top:1px solid var(--rg-line); padding:24px 14px 0; }
    .rg-service-description-label { display:none; }
    .rg-service-description h2 { font-size:34px; margin-bottom:18px; }
    .rg-service-included-copy { font-size:18px; }
    .rg-service-help { margin:0 14px; }
    .rg-service-trust { grid-area:trust; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; background:#f4f5f7; margin:0 -24px; padding:25px 24px; list-style:none; }
    .rg-service-trust li { display:flex; align-items:center; gap:12px; padding-right:12px; border-right:1px solid var(--rg-line); font-size:13px; line-height:1.4; }
    .rg-service-trust li:last-child { border:0; padding:0; }
}
@media (max-width:540px) {
    .rg-service-layout { padding-inline:16px; gap:24px; }
    .rg-service::before { height:330px; background-position:57% top; }
    .rg-service-hero { padding:28px 4px 6px; min-height:285px; }
    .rg-service .rg-service-eyebrow { font-size:12px; }
    .woocommerce div.product.rg-service .product_title { font-size:40px; max-width:95%; text-shadow:0 1px 15px #fff; }
    .rg-service .rg-service-intro { font-size:17px; max-width:85%; }
    .rg-service .rg-service-area { letter-spacing:.055em; }
    .rg-service-booking { padding:24px 20px; grid-template-columns:minmax(0,1fr); gap:22px; }
    .rg-service-fee { border:0; padding:0; }
    .rg-service-price { font-size:60px; }
    .rg-service .rg-service-fee-note { font-size:17px; }
    .rg-service-benefits { gap:9px; }
    .rg-service-benefits li { padding-right:9px; }
    .rg-service-icon-disc { width:56px; height:56px; }
    .rg-service-icon-disc .rg-service-icon { width:32px; height:32px; }
    .rg-service-benefits h3 { font-size:12px; line-height:1.35; }
    .rg-service-benefits p { font-size:13px; }
    .rg-service-description { padding-inline:4px; }
    .rg-service-description h2 { font-size:30px; }
    .rg-service-included-copy { font-size:17px; }
    .rg-service-help { margin:0; padding:20px; }
    .rg-service-help h2 { font-size:27px; }
    .rg-service-help li { font-size:16px; gap:14px; }
    .rg-service-trust { margin-inline:-16px; padding:24px 20px; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 14px; }
    .rg-service-trust li:nth-child(2) { border:0; }
}
@media (max-width:768px) {
    body.rg-service-page.woocommerce #primary { padding-top:var(--rg-service-header-height, 60px); }
}
