/* ===================================================================
   Bali Pro Services — WooCommerce (My Account + Checkout)
   Checkout = booking-style flow ported from PHK (direct checkout,
   no cart page). No product archive.
   =================================================================== */

/* ===================================================================
   WooCommerce — Shared Tables Skin
   Used by My Account orders table
   =================================================================== */

.woocommerce table.shop_table,
.woocommerce-page table.shop_table { background:#000 !important; border:2px solid #EEE !important; border-radius:5px !important; overflow:hidden !important; border-collapse:separate !important; border-spacing:0 !important; }

.woocommerce table.shop_table thead th,
.woocommerce-page table.shop_table thead th { text-transform:uppercase !important; font-weight:700 !important; font-family:"Montserrat",sans-serif !important; color:#EEE !important; background:transparent !important; border-bottom:2px solid #EEE !important; text-align:left !important; }

.woocommerce table.shop_table th.product-total,
.woocommerce table.shop_table td.product-total,
.woocommerce table.shop_table td.product-subtotal,
.woocommerce table.shop_table tfoot td { text-align:right !important; }

.woocommerce table.shop_table td,
.woocommerce table.shop_table th { border-left:none !important; border-right:none !important; border-color:#333 !important; }

.woocommerce table.shop_table tr { border-bottom:1px solid #333 !important; }

.woocommerce table.shop_table thead th { border-bottom:2px solid #EEE !important; }

/* ===================================================================
   My Account — Login Intro Section
   =================================================================== */

.pc-login-intro { display:flex; align-items:center; justify-content:space-between; gap:40px; margin-bottom:60px; width:100%; max-width:var(--pc-wrap); margin-left:auto; margin-right:auto; padding-left:var(--pc-gutter); padding-right:var(--pc-gutter); box-sizing:border-box; }

.pc-login-content { flex:1 1 60%; color:#fff; font-family:"Montserrat",sans-serif; }

.pc-login-lead { font-size:16px; margin-bottom:20px; line-height:1.5; }

ul.pc-login-list { list-style:none; padding:0; margin:0; }

ul.pc-login-list li { position:relative; padding-left:15px; margin-bottom:12px; font-size:15px; line-height:1.5; color:#e3e3e3; }

ul.pc-login-list li::before { content:"•"; position:absolute; left:0; color:#fff; font-weight:bold; }

.pc-login-image { flex:1 1 40%; display:flex; justify-content:center; align-items:center; }

.pc-login-image img { max-width:100%; height:auto; display:block; filter:drop-shadow(0 0 10px rgba(0,0,0,0.5)); }

@media (max-width:768px){
  .pc-login-intro { flex-direction:column; gap:30px; margin-bottom:40px; }
  .pc-login-content,
  .pc-login-image { flex:1 1 100%; width:100%; text-align:left; }
  .pc-login-image img { max-width:200px; margin:0 auto; }
}

/* ===================================================================
   My Account — Fix "Show Password" Button (SVG Version)
   =================================================================== */

.woocommerce-account form .show-password-input { width:30px !important; height:30px !important; min-height:0 !important; padding:0 !important; position:absolute !important; top:50% !important; transform:translateY(-50%) !important; right:6px !important; display:inline-flex !important; align-items:center !important; justify-content:center !important; background-color:#87CEEB !important; border:2px solid #FFF !important; border-radius:5px !important; z-index:10; box-shadow:none !important; transition:all 0.2s ease !important; }

.woocommerce-account form .show-password-input:hover,
.woocommerce-account form .show-password-input:focus { background-color:#000 !important; border-color:#FFF !important; }

.woocommerce form .show-password-input::before,
.woocommerce-page form .show-password-input::before { content:"" !important; display:block !important; width:20px !important; height:20px !important; margin:0 !important; background-size:contain !important; background-repeat:no-repeat !important; background-position:center !important; background-image:url('data:image/svg+xml,<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M17.3 3.3C16.9 2.9 16.2 2.9 15.7 3.3L13.3 5.7C12.2437 5.3079 11.1267 5.1048 10 5.1C6.2 5.2 2.8 7.2 1 10.5C1.2 10.9 1.5 11.3 1.8 11.7C2.6 12.8 3.6 13.7 4.7 14.4L3 16.1C2.6 16.5 2.5 17.2 3 17.7C3.4 18.1 4.1 18.2 4.6 17.7L17.3 4.9C17.7 4.4 17.7 3.7 17.3 3.3ZM6.7 12.3L5.4 13.6C4.2 12.9 3.1 11.9 2.3 10.7C3.5 9 5.1 7.8 7 7.2C5.7 8.6 5.6 10.8 6.7 12.3ZM10.1 9C9.6 8.5 9.7 7.7 10.2 7.2C10.7 6.8 11.4 6.8 11.9 7.2L10.1 9ZM18.3 9.5C17.8 8.8 17.2 8.1 16.5 7.6L15.5 8.6C16.3 9.2 17 9.9 17.6 10.8C15.9 13.4 13 15 9.9 15H9.1L8.1 16C8.8 15.9 9.4 16 10 16C13.3 16 16.4 14.4 18.3 11.7C18.6 11.3 18.8 10.9 19.1 10.5C18.8 10.2 18.6 9.8 18.3 9.5ZM14 10L10 14C12.2 14 14 12.2 14 10Z" fill="%23111111"/></svg>') !important; }

.woocommerce-account form .show-password-input:hover::before,
.woocommerce-account form .show-password-input:focus::before { background-image:url('data:image/svg+xml,<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M17.3 3.3C16.9 2.9 16.2 2.9 15.7 3.3L13.3 5.7C12.2437 5.3079 11.1267 5.1048 10 5.1C6.2 5.2 2.8 7.2 1 10.5C1.2 10.9 1.5 11.3 1.8 11.7C2.6 12.8 3.6 13.7 4.7 14.4L3 16.1C2.6 16.5 2.5 17.2 3 17.7C3.4 18.1 4.1 18.2 4.6 17.7L17.3 4.9C17.7 4.4 17.7 3.7 17.3 3.3ZM6.7 12.3L5.4 13.6C4.2 12.9 3.1 11.9 2.3 10.7C3.5 9 5.1 7.8 7 7.2C5.7 8.6 5.6 10.8 6.7 12.3ZM10.1 9C9.6 8.5 9.7 7.7 10.2 7.2C10.7 6.8 11.4 6.8 11.9 7.2L10.1 9ZM18.3 9.5C17.8 8.8 17.2 8.1 16.5 7.6L15.5 8.6C16.3 9.2 17 9.9 17.6 10.8C15.9 13.4 13 15 9.9 15H9.1L8.1 16C8.8 15.9 9.4 16 10 16C13.3 16 16.4 14.4 18.3 11.7C18.6 11.3 18.8 10.9 19.1 10.5C18.8 10.2 18.6 9.8 18.3 9.5ZM14 10L10 14C12.2 14 14 12.2 14 10Z" fill="%23FFFFFF"/></svg>') !important; }

.woocommerce-account form .woocommerce-Input.input-text { padding-right:45px !important; }

/* ===================================================================
   My Account — Navigation as Stacked Buttons
   =================================================================== */

.woocommerce-account .woocommerce-MyAccount-navigation { width:100%; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style:none !important; list-style-type:none !important; padding:0 !important; margin:0 !important; display:flex; flex-direction:column; gap:12px !important; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li { list-style:none !important; list-style-type:none !important; margin:0 !important; padding:0 !important; background:none !important; border:none !important; width:100% !important; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li::before { display:none !important; content:none !important; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li::marker { display:none !important; content:none !important; }

.woocommerce-account .woocommerce-MyAccount-navigation ul li a { display:flex !important; align-items:center !important; justify-content:flex-start !important; gap:12px !important; width:100% !important; height:50px !important; padding:0 18px !important; box-sizing:border-box !important; background:#000 !important; color:#FFF !important; border:1px solid #EEE !important; border-radius:6px !important; font-family:"Montserrat",sans-serif !important; font-weight:900 !important; text-transform:uppercase !important; font-size:13px !important; letter-spacing:0.02em !important; line-height:1 !important; text-decoration:none !important; transition:all 0.2s ease !important; }

.woocommerce-account .woocommerce-MyAccount-navigation ul li a::before { content:"" !important; display:block !important; width:18px !important; height:18px !important; flex:0 0 18px !important; background-color:currentColor !important; -webkit-mask-repeat:no-repeat !important; mask-repeat:no-repeat !important; -webkit-mask-position:center !important; mask-position:center !important; -webkit-mask-size:contain !important; mask-size:contain !important; position:relative !important; top:-1px !important; }

.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--dashboard a::before { -webkit-mask-image:url('/wp-content/uploads/brand/icons/shop-icon-all.svg') !important; mask-image:url('/wp-content/uploads/brand/icons/shop-icon-all.svg') !important; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--orders a::before { -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 4h18v2H3V4zm0 7h18v2H3v-2zm0 7h18v2H3v-2z'/%3E%3C/svg%3E") !important; mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 4h18v2H3V4zm0 7h18v2H3v-2zm0 7h18v2H3v-2z'/%3E%3C/svg%3E") !important; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--downloads a::before { -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 16l-5-5h3V4h4v7h3l-5 5zm-5 4h10v2H7v-2z'/%3E%3C/svg%3E") !important; mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 16l-5-5h3V4h4v7h3l-5 5zm-5 4h10v2H7v-2z'/%3E%3C/svg%3E") !important; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--edit-address a::before { -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z'/%3E%3C/svg%3E") !important; mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z'/%3E%3C/svg%3E") !important; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--payment-methods a::before { -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 4H4c-1.11 0-1.99.89-1.99 2L2 18c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V6c0-1.11-.89-2-2-2zm0 14H4v-6h16v6zm0-10H4V6h16v2z'/%3E%3C/svg%3E") !important; mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 4H4c-1.11 0-1.99.89-1.99 2L2 18c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V6c0-1.11-.89-2-2-2zm0 14H4v-6h16v6zm0-10H4V6h16v2z'/%3E%3C/svg%3E") !important; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--edit-account a::before { -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z'/%3E%3C/svg%3E") !important; mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z'/%3E%3C/svg%3E") !important; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a::before { -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10.09 15.59L11.5 17l5-5-5-5-1.41 1.41L12.67 11H3v2h9.67l-2.58 2.59zM19 3H5c-1.11 0-2 .9-2 2v4h2V5h14v14H5v-4H3v4c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z'/%3E%3C/svg%3E") !important; mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10.09 15.59L11.5 17l5-5-5-5-1.41 1.41L12.67 11H3v2h9.67l-2.58 2.59zM19 3H5c-1.11 0-2 .9-2 2v4h2V5h14v14H5v-4H3v4c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z'/%3E%3C/svg%3E") !important; }

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a { background:#87CEEB !important; color:#000 !important; border-color:#EEE !important; box-shadow:0 0 0 3px rgba(135,206,235,0.25) !important; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover { background:#87CEEB !important; color:#000 !important; border-color:#87CEEB !important; box-shadow:0 0 0 3px rgba(135,206,235,0.45) !important; }

.woocommerce-account .woocommerce-MyAccount-navigation a br { display:none !important; }

/* ===================================================================
   My Account — Logged Out: equal-height Login / Register columns
   =================================================================== */

body.woocommerce-account:not(.logged-in) #customer_login { display:flex !important; gap:40px; align-items:stretch; }

body.woocommerce-account:not(.logged-in) #customer_login .u-column1,
body.woocommerce-account:not(.logged-in) #customer_login .u-column2 { flex:1 1 0; float:none !important; width:auto !important; }

body.woocommerce-account:not(.logged-in) #customer_login .u-column1,
body.woocommerce-account:not(.logged-in) #customer_login .u-column2 { display:flex; flex-direction:column; }

body.woocommerce-account:not(.logged-in) #customer_login .u-column1 form,
body.woocommerce-account:not(.logged-in) #customer_login .u-column2 form { display:flex; flex-direction:column; height:100%; }

body.woocommerce-account:not(.logged-in) #customer_login .u-column1 form > :last-child,
body.woocommerce-account:not(.logged-in) #customer_login .u-column2 form > :last-child { margin-top:auto; }

@media (max-width:980px){
  body.woocommerce-account:not(.logged-in) #customer_login { flex-direction:column; gap:24px; }
}

/* ===================================================================
   My Account — Logged Out wrapper
   =================================================================== */

body.woocommerce-account:not(.logged-in) .woocommerce { width:100%; max-width:1200px; margin:0 auto; }
body.woocommerce-account:not(.logged-in) .woocommerce::after { content:""; display:block; clear:both; }
body.woocommerce-account:not(.logged-in) .woocommerce .pc-login-intro { margin-bottom:30px; }

/* ===================================================================
   My Account — Logged In (layout columns)
   =================================================================== */

body.woocommerce-account.logged-in .woocommerce { width:100%; max-width:1200px; margin:0 auto; }
body.woocommerce-account.logged-in .woocommerce::after { content:""; display:block; clear:both; }

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation { float:left; width:280px; margin:0 30px 30px 0; }
body.woocommerce-account.logged-in .woocommerce-MyAccount-content { float:left; width:calc(100% - 310px); min-width:0; }

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation,
body.woocommerce-account.logged-in .woocommerce-MyAccount-content { display:block; }

@media (max-width:980px){
  body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation,
  body.woocommerce-account.logged-in .woocommerce-MyAccount-content { float:none; width:100%; margin-right:0; }
}

/* ===================================================================
   My Account — PATCH (place last)
   =================================================================== */

/* Logged-out: force 2 columns */
body.woocommerce-account:not(.logged-in) #customer_login { display:flex !important; flex-direction:row !important; flex-wrap:nowrap !important; align-items:stretch !important; gap:40px !important; width:100% !important; }
body.woocommerce-account:not(.logged-in) #customer_login .u-column1,
body.woocommerce-account:not(.logged-in) #customer_login .u-column2 { float:none !important; width:auto !important; flex:1 1 0 !important; display:flex !important; flex-direction:column !important; }
body.woocommerce-account:not(.logged-in) #customer_login .u-column1 form,
body.woocommerce-account:not(.logged-in) #customer_login .u-column2 form { display:flex !important; flex-direction:column !important; height:100% !important; }
body.woocommerce-account:not(.logged-in) #customer_login .u-column1 form > :last-child,
body.woocommerce-account:not(.logged-in) #customer_login .u-column2 form > :last-child { margin-top:auto !important; }

@media (max-width:980px){
  body.woocommerce-account:not(.logged-in) #customer_login { flex-direction:column !important; gap:24px !important; }
}

/* Logged-in: stable 2-column layout */
body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation { float:left !important; width:280px !important; margin:0 30px 30px 0 !important; }
body.woocommerce-account.logged-in .woocommerce-MyAccount-content { float:left !important; width:calc(100% - 310px) !important; min-width:0 !important; }
@media (max-width:980px){
  body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation,
  body.woocommerce-account.logged-in .woocommerce-MyAccount-content { float:none !important; width:100% !important; margin-right:0 !important; }
}

/* Navigation buttons: vertical alignment fix */
.woocommerce-account .woocommerce-MyAccount-navigation ul li a { height:50px !important; padding:0 18px !important; align-items:center !important; line-height:1 !important; position:static !important; transform:none !important; top:0 !important; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li a::before { top:0 !important; transform:translateY(0) !important; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li a br { display:none !important; }

/* ===================================================================
   My Account: tighten top spacing (matches PHK)
   =================================================================== */
body.woocommerce-account .site-content { padding-top: clamp(20px, 3vh, 36px) !important; }
body.woocommerce-account h1.entry-title { margin-top: 0 !important; margin-bottom: 16px !important; }

/* ===================================================================
   Checkout — Header + Subtitle
   =================================================================== */

body.woocommerce-checkout .entry-title { display:none !important; }

.pc-checkout-header { display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; margin:0 0 10px; }
.pc-checkout-title { margin:0; }
.pc-checkout-subtitle { color:#e3e3e3; margin:0 0 26px; font-size:15px; }
.pc-continue-shopping { white-space:nowrap; }

/* ===================================================================
   Checkout — Headings & Fields
   =================================================================== */

.woocommerce-checkout h2 { font-size:2.5em; font-weight:800; text-transform:uppercase; margin:40px 0 30px; }

#order_review h2,
#customer_details h2 { margin-top:0; }

#payment h3.payment-title { margin-bottom:1.5em; }

.pc-step-title { font-size:2rem; font-weight:900; text-transform:uppercase; margin:0 0 26px; color:#fff; }

.woocommerce-checkout .form-row .input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .select2-container .select2-selection--single { border-radius:5px !important; }

.woocommerce-checkout .form-row select,
.woocommerce-checkout .select2-container .select2-selection__rendered { font-family:"Montserrat",sans-serif !important; }

#billing_country_field,
.woocommerce-checkout .woocommerce-privacy-policy-text { display:none !important; }

#billing_address_1_field { margin-bottom:30px !important; }

/* Force the Google Map (autocomplete plugin canvas) 30px below the address input */
#FMEAACOC_map_canvas { margin-top:30px !important; border-radius:5px; overflow:hidden; }

#billing_phone_field .woocommerce-input-wrapper { display:flex !important; align-items:center !important; gap:12px; padding:0 !important; }

#billing_phone_field .woocommerce-input-wrapper input[type="tel"]#billing_phone { flex:1 1 auto !important; height:56px; }

#billing_country_code { width:auto !important; flex:0 0 280px; max-width:40%; height:56px; border-radius:5px; border:1px solid rgba(238,238,238,0.85) !important; background:#000; color:#fff; }

/* ===================================================================
   Checkout — Review Table & Totals
   =================================================================== */

.woocommerce-checkout-review-order-table tfoot .order-total th,
.woocommerce-checkout-review-order-table tfoot .order-total td { font-size:18px !important; }

.woocommerce-checkout-review-order-table tfoot .order-total td strong .woocommerce-Price-amount bdi { color:#87CEEB !important; font-weight:700 !important; font-family:"Montserrat",sans-serif !important; font-size:18px !important; }

.woocommerce-checkout .product-name { font-weight:700 !important; color:#fff !important; }
.woocommerce-checkout .product-name a { font-weight:700 !important; color:#fff !important; text-decoration:none !important; }
.woocommerce-checkout .product-name a:hover { color:#87CEEB !important; text-decoration:underline; }

/* ===================================================================
   Checkout — Notes & Payment Block
   =================================================================== */

#custom-order-notes-section { display:block; width:100%; margin-top:30px; clear:both; }
#custom-order-notes-section .form-row { margin:0; }
#custom-order-notes-section textarea { width:100%; max-width:100%; }

#payment,
.woocommerce-checkout .woocommerce-checkout-payment { float:none !important; clear:both !important; width:100% !important; max-width:100% !important; margin-top:32px !important; }

#payment.woocommerce-checkout-payment { background:#000; color:#fff; border:2px solid #EEE; border-radius:5px; padding:20px; overflow:hidden; }

#payment .wc_payment_method { background:transparent !important; border:none !important; padding:10px 0; }
#payment .wc_payment_method label { color:#fff; font-weight:600; }
#payment .wc_payment_method label small { color:#fff !important; font-weight:400; opacity:0.85; }
#payment .payment_box { background:#0b0b0b !important; border:1px solid #EEE !important; border-radius:5px !important; padding:14px !important; margin-top:10px !important; color:#fff; }
#payment .input-radio { accent-color:#87CEEB; }

/* ===================================================================
   Checkout — Step Wizard Layout
   =================================================================== */

/* Never make the form itself a grid */
.woocommerce-checkout form.checkout { display:block !important; grid-template-columns:none !important; }

/* Review wrapper = single column (BPS has no booking calendar beside it) */
#order_review.woocommerce-checkout-review-order { display:block !important; grid-template-columns:none !important; gap:0 !important; width:100% !important; }

/* Step 1 (details) — full width */
#step-details[aria-hidden="false"] #customer_details,
#step-details[aria-hidden="false"] #customer_details .col2-set,
#step-details[aria-hidden="false"] #customer_details .col-1,
#step-details[aria-hidden="false"] #customer_details .col-2 { display:block !important; width:100% !important; max-width:100% !important; float:none !important; margin:0 !important; }

/* Step 3 (payment) — full width, no grid */
#step-payment[aria-hidden="false"] .pc-step-body,
#step-payment[aria-hidden="false"] #payment,
#step-payment[aria-hidden="false"] #payment.woocommerce-checkout-payment { display:block !important; grid-template-columns:none !important; width:100% !important; max-width:100% !important; float:none !important; clear:both !important; margin-left:auto !important; margin-right:auto !important; }

/* Step nav buttons */
.pc-step-nav { display:flex !important; gap:12px !important; flex-wrap:wrap; margin-top:20px; }
.pc-step-nav .button { margin:0 !important; }
#step-order .pc-step-nav { justify-content:space-between !important; }

/* ===================================================================
   Checkout — Mobile
   =================================================================== */

@media (max-width:768px){
  #order_review.woocommerce-checkout-review-order { grid-template-columns:1fr !important; gap:20px !important; }
  #order_review,
  #order_review .shop_table.woocommerce-checkout-review-order-table { position:relative !important; z-index:1 !important; }
  .pc-checkout-header { flex-direction:column; align-items:flex-start; gap:12px; }
}

@media (max-width:600px){
  #billing_phone_field .woocommerce-input-wrapper { flex-direction:column; align-items:stretch; }
  #billing_country_code { flex:1 1 auto; max-width:100%; }
}
