/**
Theme Name: Astra Child
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
Template: astra
*/

/* Header */
div#ast-desktop-header{ position: fixed !important; width: 100% !important; }
span.ast-header-account-text { background-color: #2664eb; color: #ffffff; padding: 8px 20px 8px 20px; border-radius: 30px; font-weight: 600; }

/* Body */
main#main.site-main{ margin-top: 85px !important; }

.vendor-book-count-only, .vendor-sales-amount-only, .vendor-new-customers-only, .vendor-monthly-reservations, .vendor-this-month-sales, .vendor-total-customers  {  margin-top: -5px; margin-left: 10px;  font-weight: 500; margin-top: 15px; font-size: 25px; }
.vendor-today-bookings-table { width: 100% !important; max-width: 1060px !important; margin: -30px 30px 15px 30px !important; border-collapse: collapse !important; }

.elementor-1290 .elementor-element.elementor-element-5a25c2f .elementor-heading-title { margin-left: 30px; }

.elementor-element.elementor-element-4897dcf.elementor-widget.elementor-widget-heading,
.elementor-element.elementor-element-cdd6854.elementor-widget.elementor-widget-heading,
.elementor-element.elementor-element-761f5be.elementor-widget.elementor-widget-heading,
.elementor-element.elementor-element-bf66f69.elementor-widget.elementor-widget-heading,
.elementor-element.elementor-element-18d4987.elementor-widget.elementor-widget-heading,
.elementor-element.elementor-element-37da199.elementor-widget.elementor-widget-heading { margin-left: 10px; margin-top: 20px; }

.elementor-element.elementor-element-5a25c2f.elementor-widget.elementor-widget-heading { margin-left: 0 !important; margin-top: 10px !important; }


/* Hide Native Subtotal */
/* .cart-subtotal { display: none; }
.product-total { display: none; }
 */

/* Table on Vendor's Admin */

.vendor-today-bookings-wrap { width: 100%; max-width: 1060px; margin: 0 auto 20px;  padding: 0 16px; box-sizing: border-box; overflow-x: auto; }
.vendor-today-bookings-table { width: 100%; border-collapse: collapse; background: #fff; box-shadow: none; }
.vendor-today-bookings-table th, .vendor-today-bookings-table td { text-align: left; padding: 12px 16px; border-bottom: 1px solid #e5e7eb; color: #374151; white-space: normal; box-sizing: border-box; vertical-align: middle; }
.vendor-today-bookings-table th { text-transform: capitalize; color: #4b5563; font-weight: 600; font-size: 15px; }
.vendor-today-bookings-table td strong { font-weight: 700; color: #111827; }
.vendor-today-bookings-table .booking-status { background: #e0edff; color: #1d4ed8; font-weight: 600; padding: 4px 10px; border-radius: 9999px; font-size: 13px; text-transform: lowercase; }
.vendor-today-bookings-table .booking-status.completed { background: #dcfce7; color: #166534;
}

.vendor-today-bookings-table .booking-status.processing { background: #fef9c3; color: #854d0e; }
.vendor-today-bookings-table .booking-status.on-hold { background: #f3e8ff; color: #6b21a8; }
.vendor-today-bookings-table .booking-status.confirmed { background: #dbeafe; color: #1e3a8a; }
.vendor-today-bookings-table tr.empty-row td { text-align: center; color: #6b7280; padding: 18px 16px; }

/* Profile Picture */
.profile-picture { width: 100px !important; height: 100px !important; border-radius:50%; object-fit:cover; display:block; margin-bottom:10px; }
.profile-picture-label { display:inline-flex; align-items:center; gap:6px; }

/* Login */
.sb-login-wrapper { display: flex !important; justify-content: center !important; align-items: center !important; flex-direction: column !important; background: #f6f7fb !important; padding: 2rem 1rem !important; min-height: auto !important; margin: 0 auto 8% auto !important; }

@media (max-width: 768px) {
    .sb-login-wrapper { padding: 1.5rem 1rem !important; margin: 0 auto 15% auto !important; }
    .sb-login-box { width: 100% !important; max-width: 90% !important; padding: 1.5rem !important; }
	p.price > span.woocommerce-Price-amount.amount > bdi { margin-left: -115px !important; }
	div.woocommerce-product-gallery__wrapper { margin-top: -50px !important; }
	
}

@media (min-width: 769px) and (max-width: 1024px) {
    .sb-login-wrapper { padding: 2rem 2rem !important; margin: 0 auto 10% auto !important; }
    .sb-login-box { max-width: 420px !important; }
	p.price > span.woocommerce-Price-amount.amount > bdi { margin-left: 2px !important; }
}

@media (min-width: 1025px) {
    .sb-login-wrapper { padding: 3rem !important; margin: 0 auto 8% auto !important; }
    .sb-login-box { max-width: 400px !important;}
	p.price { margin-left: 0px !important; }
}
    .woocommerce-form__label.woocommerce-form__label-for-checkbox.woocommerce-form-login__rememberme { text-align: left !important; }
	.woocommerce-form.woocommerce-form-register.register { margin-left: 0 !important }
    .sb-login-box { background: #fff; padding: 2.5rem; border-radius: 1.25rem !important; box-shadow: 0 6px 20px rgba(0,0,0,0.08) !important; width: 100% !important; max-width: 400px !important; text-align: center !important; }
    .sb-login-box h2 { font-size: 1.6rem !important; font-weight: 700 !important; margin-bottom: 1rem !important; }
    .sb-tabs { display: flex !important; justify-content: space-around !important; border-bottom: 1px solid #e5e7eb !important; margin-bottom: 1.5rem !important; font-size: 13px !important; }
    .sb-tabs a { flex: 1 !important; padding: .5rem 0 !important; font-weight: 600 !important; color: #6b7280 !important; text-decoration: none !important; transition: all .3s ease !important; }
    .sb-tabs a.active { color: #2563eb !important; border-bottom: 2px solid #2563eb !important; }
    .sb-tab-content { display: none !important; }
    .sb-tab-content.active { display: block !important; }
    .sb-divider { position: relative !important; margin: 1.5rem 0 !important; }
    .sb-divider::before { content: ""; position: absolute!important; top: 50% !important; left: 0 !important; width: 100% !important; height: 1px !important; background: #e5e7eb !important; }
    .sb-divider span { background: #fff !important; position: relative !important; z-index: 1 !important; padding: 0 10px !important; color: #9ca3af !important; }
    .nsl-button.nsl-button-default.nsl-button-google{ margin-left: 25px !important; border: solid 1px #f2f2f2; border-radius: 25px; background-color: none; }
	.woocommerce-form.woocommerce-form-login.login { margin-left: 0px !important; }
	.woocommerce-form.woocommerce-form-login.login > .form-row { display: flex; flex-direction: column; }
    .sb-btn { display: flex !important; align-items: center !important; justify-content: center !important; border: none !important; border-radius: 2rem !important; padding: .75rem 1rem !important; font-weight: 600 !important; cursor: pointer !important; transition: .3s !important; }
    .sb-btn:hover { opacity: .9 !important; }
    .sb-link { display: inline-block !important; margin-top: 1rem !important; color: #2563eb !important; font-weight: 600 !important; text-decoration: none !important; }
    .sb-link:hover { text-decoration: underline !important;}
	div.u-column2.col-2, .u-column1.col-1 > h2  { display: none !important; }

/* Tablets (<= 1024px) */
@media (max-width: 1024px) {
    .vendor-today-bookings-wrap { padding: 0 15px; }
    .vendor-today-bookings-table th,
    .vendor-today-bookings-table td { padding: 10px 12px; font-size: 14px; }
}

/* Mobile (<= 768px) */
@media (max-width: 768px) {
    .vendor-today-bookings-wrap { padding: 0 10px; }
    .vendor-today-bookings-table th,
    .vendor-today-bookings-table td { padding: 8px 10px; font-size: 13px; }
 	.vendor-improvement-tips-wrapper { max-width: 1065px; margin: -150px auto 9px auto !important; padding: 0; color: #374151; line-height: 1.7; }
	.vendor-today-bookings-table { margin: -15px 30px 15px 1px !important; }
    .vendor-today-bookings-table .booking-status { font-size: 12px; padding: 3px 8px; }
	.custom-wc-cat { font-size: 10px; } 
	.service-image { height: 175px !important; }
}

/* Small Mobile (<= 480px) */
@media (max-width: 480px) {
    .vendor-today-bookings-wrap { padding: 0 8px; }
    .vendor-today-bookings-table th,
    .vendor-today-bookings-table td { padding: 6px 8px; font-size: 12px; }
    .vendor-today-bookings-table .booking-status { font-size: 11px; padding: 2px 6px; }
}

/* Admin Login */
div.nsl-button.nsl-button-default.nsl-button-google { background-color: #f2f2f2; width: 270px !important; border-radius: 20px !important; }

/* HOME PAGE*/

/* container & layout */

.star-rating { margin-top: 5px; margin-bottom: -10px; margin-left: 10px; font-size: 13px; color: #fca156; }
.woocommerce-product-rating.no-rating { margin-top: -57px !important; margin-bottom: 0 !important; margin-left: 15px !important; } /* Product Rating 11 05 25 */
.wps-popular-wrap { background: #fff; border-radius: 10px; padding: 30px; box-shadow: 0 0 0 1px rgba(0,0,0,0.03); }
.wps-popular-heading { margin: 0 0 14px; font-size: 20px; }
.reviews-header > h3 { margin: 6px; }


/* list */
.wps-popular-cont { margin-top: 20px; margin-bottom: 0 !important; padding: 3%;}
.wps-popular-list { list-style: none; margin: 0; padding: 0; }
.wps-popular-list .service-item { display: flex; align-items: center; gap: 12px; padding: 20px; border-radius: 8px; cursor: pointer; transition: background .12s, box-shadow .12s; border: 1px solid transparent; margin-bottom: 10px; }
.wps-popular-list .service-item.selected { background: #eef6ff; border-color: #2b7fff; box-shadow: 0 0 0 3px rgba(43,127,255,0.06);}
.entry-content ul, .entry-content ol { padding-left: 0;}

/* left part */
.service-left { display:flex; align-items:center; gap:8px; min-width:70px; }
.service-rank { font-weight:700; color:#2b7fff !important; width:24px; text-align:center; }
.service-thumb img { border-radius:8px; width:56px; height:56px; object-fit:cover; }
img.attachment-thumbnail.size-thumbnail.wp-post-image { border-radius: 10%; }

/* main content */
.service-body { flex:1; min-width:0; }
.service-title { display:block; font-weight:600; color:#0f172a; text-decoration:none !important; margin-bottom:4px; }
.service-title:hover { text-decoration:none; }
.service-rating { font-size:13px; color:#444; margin-top: 7px; }
.service-price { font-weight:700; color:#0f172a; white-space:nowrap; }

/* reviews box (right) */
#wps-product-reviews, #product-reviews-box, .wps-product-reviews { background: #fff; border-radius: 10px; padding: 30px; min-height:120px; }
.reviews-header h3 { margin: 0 0 12px; }
.reviews-list .review-item { background: #f8fafb; padding: 5px; margin-bottom: 5px; border-radius: 8px; }

.review-head { display:flex; align-items:center; justify-content:space-between; margin-top: 10px; margin-left: 10px; margin-bottom: 10px; }
.review-content { margin-top: 12px; margin-bottom: 20px; margin-left: 10px; }

.review-stars { margin-left:8px; }

/* reservation button */
.wps-reservation-btn { display: inline-block; width: 100%; text-align: center; margin-top: 0; padding: 20px; border-radius: 8px; background: #2563eb; color: #fff; text-decoration: none !important; font-weight: 600; }
.wps-reservation-btn:hover, .wps-reservation-btn:focus { background: #558bff; color: #fff !important; }

/* small screens: stack */
@media (max-width: 900px) { .services-container { display:block; } .wps-popular-wrap, .wps-product-reviews { margin-bottom: 18px; } }

/* Categories Rankings */
.wps-top-category { padding: 15px; border-radius: 10px; margin: 15px 0; }

/* Title */
.wps-top-title { font-weight: bold; margin-bottom: 10px; }
.wps-place-label{ font-weight: bold; color: #0073e6; }

/* Product row */
.wps-product { display: flex; justify-content: space-between; align-items: center; margin-top: 20px !important; margin-bottom: 1.2em; }

/* Left side: product name */
.wps-product-name { flex: 1; text-align: left; }

/* Right side: reservation count */
.wps-reservations { flex-shrink: 0; text-align: right; color: #444; font-size: 0.9em; }

/* END OF HOME PAGE */

/* MY RESERVATION */

/* card container */
.my-reservations-wrapper { margin: 0 0 30px; }
.reservation-datetime { color: #808080 !important; font-size: 13.5px; }

/* card */
.reservation-card { display: flex !important; align-items: center  !important; gap: 18px  !important; padding: 16px  !important; border: 1px solid #e6e6e6  !important; border-radius: 12px  !important; margin-bottom: 14px  !important; background: #fff  !important; }

/* left image */
.reservation-image img { width: 84px !important; height: 84px !important; border-radius: 8px !important; object-fit: cover !important; }

/* middle content */
.reservation-middle { flex: 1; }
.reservation-title { margin: 0 0 6px; font-size: 16px; font-weight: 600; }
.reservation-date, .reservation-time { margin: 2px 0; color: #555; font-size: 14px; }

/* right column */
.reservation-right { display: flex; flex-direction: column; align-items: flex-end; gap: 8px; min-width: 170px; }

/* status badge */
.reservation-status { display: inline-block; padding: 6px 10px; border-radius: 14px; font-size: 13px; font-weight: 600; }

/* status colours */
.reservation-status.status-pending    { background: #fff3cd; color: #856404; }
.reservation-status.status-processing { background: #cfe8ff; color: #0d5aa7; }
.reservation-status.status-completed  { background: #e6f9ed; color: #11623e; }
.reservation-status.status-on-hold    { background: #f3f3f3; color: #333; }
.reservation-status.status-cancelled  { background: #fdecea; color: #9b1c1c; }

.btn-red.cancel-btn { background: #e74c3c !important; color: #fff !important; padding: 10px !important; border-radius: 30px !important; }
.btn-blue.contact-btn { background: #3498db !important; color: #fff !important; padding: 10px !important; border-radius: 30px !important; }
.btn-outline.view-btn { background: transparent !important; border: 1px solid #ccc !important; color: #333  !important; padding: 10px !important; border-radius: 30px !important; }

@media (max-width: 768px) {
    .reservation-card { flex-direction: column; align-items: flex-start; }
    .reservation-left { width: 100%; }
    .reservation-image img { width: 100%; max-width: 120px; height: auto; }
    .reservation-middle { width: 100%; margin-top: 10px;}
    .reservation-right { width: 100%; align-items: flex-start; margin-top: 10px; }
    .reservation-buttons { display: flex; flex-wrap: wrap; gap: 8px; }
    .reservation-buttons .button { flex: 1 1 auto; text-align: center; }
	.service-rating { margin-top: 0; }
}

@media (max-width: 480px) {
    .reservation-title { font-size: 15px; }
    .reservation-date, .reservation-time { font-size: 13px; }
    .reservation-status { font-size: 12px; padding: 4px 8px; }]
	.service-rating { margin-top: 0; }
}

/* END OF MY RESERVATION */

.site-title a{ font-weight: bold !important; }
.ast-builder-footer-grid-columns.site-primary-footer-inner-wrap.ast-builder-grid-row{ border-bottom: solid 1px #d0d5db; }
.site-footer-primary-section-1.site-footer-section.site-footer-section-1{ margin-top: 10px; margin-bottom: 10px !important; }
ul#astra-footer-menu{ margin-left: 1px; }
small.wcvendors_sold_by_in_loop{ display: none; }
.ladda-label{ margin-bottom: 0 !important; }

/* li#dashboard-menu-item-order.wcv-dashboard-nav-item, 
.ast-on-card-button{ display: none; } */

.astra-shop-summary-wrap{ margin-top: -35px; }
.ast-loop-product__link,
.review-rating{ margin-left: 10px; font-size: 15px; }
span.price{ margin-right: 10px; text-align: right; }

/* Current trending categories */
.e-con.e-grid > .e-con-inner { line-height: 5px; }
.elementor-element-d176322, 
.elementor-element-e51c019,
.elementor-element-62044d8
{ margin-top: 20px; }

/* add media button for vendors */
#insert-media-button.button.insert-media.add_media{ padding: 0 10px 0 10px; margin-bottom: 10px; }
.mpwpb_cart_progress_wrapper { display: none; }

/* Single Product Image */
img.wp-post-image{ border-radius: 25px 25px 0 0; }
a.ast-on-card-button.ast-select-options-trigger.product_type_simple.add_to_cart_button.ajax_add_to_cart { display: none; }
div.product, .woocommerce #content div.product div.summary, .woocommerce-page div.product { float: none; }
p.price { margin-top: -9px !important; margin-bottom: -15px !important; } /* Product Price v1 */
p.price > span.woocommerce-Price-amount.amount { margin-left: 25px !important; font-size: large; font-weight: 500; } /* Product Price v2 */

/* Home Tab */
.company-intro{ margin-top: -10px; }
.company-intro-2{ text-align: justify; margin-left: 20px; margin-right: 20px; }
.company-info .dashicons { margin-right: 8px; color: #9da4b0 !important; vertical-align: middle; }
.company-info { list-style: none; padding: 0; }
.company-info li { margin: 8px 0; font-size: 15px; }
.company-info .dashicons { margin-right: 8px; color: #0073aa; vertical-align: middle; }
.company-info .hours-list { list-style: none; margin: -25px 0 0 25px; padding: 0; }
.company-info .hours-list li { font-size: 14px; margin: 3px 0; }
.company-address, .company-number { list-style-type: none; } 
.dashicons.dashicons-clock, .dashicons.dashicons-location, .dashicons.dashicons-phone { color: #000000 !important; }
.company-closed { color: #ff0000; font-weight: 500; }
.store-carousel { width: 100%; max-width: 600px; margin: 15px auto; }
.store-carousel img { border-radius: 8px; width: 150px; height: 100px; }
.woocommerce-EditAccountForm { margin-top: -40px; }
.woocommerce-account .woocommerce-form-row label strong { font-weight: 600; }




/* Company Details Form Container */

/* .woocommerce-account .woocommerce-MyAccount-content form.woocommerce-EditAccountForm { background: #fff; padding: 0; } */

/* Fieldset Styling */
/* .woocommerce-account fieldset { border: 1px solid #e0e0e0; border-radius: 8px; padding: 20px; margin-bottom: 25px; background: #fafafa; } */

/* .woocommerce-account fieldset legend { font-size: 16px; font-weight: 600; color: #333; padding: 0 10px; background: #fff; border: 1px solid #0071a1; border-radius: 4px; } */

/* Form Row Spacing */
/* .woocommerce-account .woocommerce-form-row { margin-bottom: 15px; } */

/* Labels */
/* .woocommerce-account .woocommerce-form-row label { display: block; font-weight: 500; color: #555; margin-bottom: 5px; font-size: 14px; } */

/* .woocommerce-account .woocommerce-form-row label strong { color: #333; font-weight: 600; } */

/* Text Inputs and Select */
/* .woocommerce-account .woocommerce-Input,
.woocommerce-account input[type="text"],
.woocommerce-account input[type="tel"],
.woocommerce-account input[type="time"],
.woocommerce-account select,
.woocommerce-account textarea { width: 100%; padding: 10px 12px; border: 1px solid #ddd; border-radius: 4px; font-size: 14px; transition: border-color 0.3s ease, box-shadow 0.3s ease; } */

/* .woocommerce-account .woocommerce-Input:focus,
.woocommerce-account input[type="text"]:focus,
.woocommerce-account input[type="tel"]:focus,
.woocommerce-account input[type="time"]:focus,
.woocommerce-account select:focus,
.woocommerce-account textarea:focus { border-color: #0071a1; box-shadow: 0 0 0 2px rgba(0, 113, 161, 0.1); outline: none; } */

/* Textarea */
/* .woocommerce-account textarea.woocommerce-Input { min-height: 100px; resize: vertical; } */

/* Time Inputs in Opening Hours */
/* .woocommerce-account input[type="time"].day-time-input { width: 40% !important; } */
/* .woocommerce-account input[type="time"].day-time-input:disabled { background-color: #f5f5f5; cursor: not-allowed; opacity: 0.5; } */

/* Checkbox Styling */
/* .woocommerce-account input[type="checkbox"] { width: auto; margin-right: 5px; cursor: pointer; } */
/* .woocommerce-account input[type="checkbox"]:checked { accent-color: #0071a1; } */

/* Closed Toggle Label */
/* .woocommerce-account label:has(input[type="checkbox"].day-closed-toggle) { display: inline-flex; align-items: center; font-weight: 500; color: #666; cursor: pointer; } */

/* Opening Hours Day Labels */
/* .woocommerce-account .woocommerce-form-row label strong:only-child { font-size: 14px; color: #333; } */

/* Province (Read-only) Field */
/* .woocommerce-account input[readonly] { background-color: #f5f5f5; cursor: not-allowed; } */

/* Store Photos Section */
/* .woocommerce-account .wps-preview-images { margin-top: 15px; display: flex; flex-wrap: wrap; gap: 10px; } */
/* .woocommerce-account .wps-preview-images span { position: relative; display: inline-block; } */
/* .woocommerce-account .wps-preview-images img { width: 100px; height: 100px; object-fit: cover; border-radius: 6px; border: 2px solid #e0e0e0; transition: border-color 0.3s ease; } */
/* .woocommerce-account .wps-preview-images img:hover { border-color: #0071a1; } */
/* .woocommerce-account .wps-remove-image { position: absolute; top: -5px; right: -5px; background: #dc3545; color: white; border: none; border-radius: 50%; width: 24px; height: 24px; cursor: pointer; font-size: 16px; line-height: 1; display: flex;align-items: center; justify-content: center; transition: background 0.3s ease; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); } */
/* .woocommerce-account .wps-remove-image:hover { background: #c82333; } */

/* Upload Button */
/* .woocommerce-account button.wps-upload-images { background: #0071a1; color: white; border: none; padding: 10px 20px; border-radius: 4px; cursor: pointer; font-size: 14px; font-weight: 500; transition: background 0.3s ease; } */
/* .woocommerce-account button.wps-upload-images:hover { background: #005177; } */

/* Save Button */
/* .woocommerce-account button.woocommerce-Button[name="save_company_details"] { background: #0071a1; color: white; border: none; padding: 12px 30px; border-radius: 4px; cursor: pointer; font-size: 15px; font-weight: 600;transition: background 0.3s ease; margin-top: 10px; } */
/* .woocommerce-account button.woocommerce-Button[name="save_company_details"]:hover { background: #005177; } */

/* Success Message */
/* .woocommerce-message { background: #e8f5e9; color: #2e7d32; border-left: 4px solid #4caf50; padding: 15px; margin-bottom: 20px; border-radius: 4px; } */

/* Responsive - My Account */
/* @media (max-width: 768px) {
    .woocommerce-account fieldset { padding: 15px; }
    .woocommerce-account input[type="time"].day-time-input { width: 45% !important; }
    .woocommerce-account .wps-preview-images img { width: 80px; height: 80px; }
}
 */

/* @media (max-width: 480px) {
    .woocommerce-account fieldset { padding: 12px; }
    .woocommerce-account fieldset legend { font-size: 14px; }
    .woocommerce-account input[type="time"].day-time-input { width: 100% !important; margin-bottom: 5px; }
    .woocommerce-account .woocommerce-form-row span { display: block; margin: 5px 0; } 
} */

/* ============================================
   PRODUCT PAGE - HOME TAB STYLING
   ============================================ */

/* Home Tab Container */
/* .woocommerce-tabs #tab-home_tab { padding: 20px; background: #fff; }
 */

/* Company Introduction Section */
/* .woocommerce-tabs h5.company-intro { font-size: 18px; font-weight: 600; color: #333; margin-bottom: 10px; margin-top: 0; border-bottom: 2px solid #0071a1; padding-bottom: 8px; } */
/* .woocommerce-tabs p.company-intro-2 { font-size: 14px; line-height: 1.6; color: #555; margin-bottom: 25px; white-space: pre-line; } */

/* Company Information Section */
/* .woocommerce-tabs h5.company-info { font-size: 18px; font-weight: 600; color: #333; margin-bottom: 15px; margin-top: 20px; border-bottom: 2px solid #0071a1; padding-bottom: 8px; } */
/* .woocommerce-tabs ul.company-info { list-style: none !important; margin: 0 !important; padding: 0 !important; } */
/* .woocommerce-tabs ul.company-info > li { margin-bottom: 20px; padding: 0; display: flex; align-items: flex-start; gap: 10px; list-style: none !important; list-style-type: none !important; } */
/* .woocommerce-tabs ul.company-info > li::before { content: none !important; display: none !important; } */
/* .woocommerce-tabs ul.company-info > li::marker { display: none !important; } */
/* .woocommerce-tabs ul.company-info > li .dashicons { font-size: 20px; width: 20px; height: 20px; color: #0071a1; flex-shrink: 0; margin-top: 2px; } */

/* Hours List */
/* .woocommerce-tabs ul.hours-list { list-style: none !important; margin: 0 !important; padding: 0 !important; flex: 1; } */
/* .woocommerce-tabs ul.hours-list li { padding: 8px 0; border-bottom: 1px solid #f0f0f0; font-size: 14px; line-height: 1.5; list-style: none !important; list-style-type: none !important; } */
/* .woocommerce-tabs ul.hours-list li::before { content: none !important; display: none !important; }
.woocommerce-tabs ul.hours-list li::marker { display: none !important; }
.woocommerce-tabs ul.hours-list li:last-child { border-bottom: none; }
.woocommerce-tabs ul.hours-list li strong { display: inline-block; min-width: 100px; color: #333; font-weight: 600; } */

/* Address Link */
/* .woocommerce-tabs ul.company-info a { color: #0071a1; text-decoration: none; transition: color 0.3s ease; } */

/* Notification Tab */
.wc-product-notifications { display: flex; flex-direction: column; gap: 15px; }
.wc-notification-card { background: #f7f9fa; border: 1px solid #e5e7eb; border-radius: 8px; padding: 16px; margin-top: 10px;}
.wc-notif-title { font-weight: 600; font-size: 16px; margin: 0 0 8px 0; color: #333333; }
.wc-notif-detail { font-size: 14px; color: #374151; margin-bottom: 0.5em !important; }
.wc-notif-date { font-size: 13px; color: #6b7280; display: block; }
.woocommerce #content .ast-woocommerce-container div.product div.images, .woocommerce .ast-woocommerce-container div.product div.images, .woocommerce-page #content .ast-woocommerce-container div.product div.images, .woocommerce-page .ast-woocommerce-container div.product div.images { width: 100%; }
.woocommerce-js div.product div.images img { display: block; width: 100%; height: 300px; }
section.related.products{ display: none; }
.ast-separate-container.single-product .ast-article-single { border-radius: 25px; background: #fff; }
.woocommerce-product-rating { margin-top: -25px !important; margin-bottom: 0 !important; margin-left: 15px !important; }
.comment-text { display: flex; flex-direction: column;}

.entry-title { margin-left: 25px !important; }
.single-product-category, 
form {  margin-left: 25px; }
.woocommerce-js div.product .woocommerce-tabs .panel,
.woocommerce-js div.product .woocommerce-tabs ul.tabs { margin: 0 1em 1em; }
.related.products { display: none !important; }
.woocommerce-tabs.wc-tabs-wrapper { margin-bottom: 20px !important; }
.summary.entry-summary { margin-bottom: 0 !important; }
.ast-single-product-payments { width: 200%; margin-left: 25px; }

/* Calendar */
.ast-separate-container.ast-two-container.ast-right-sidebar #secondary { padding-left: 0px; padding-right: 0px; margin-left: -130px; margin-top: 115px; }
table.ui-datepicker-calendar { border: none !important; }

 /* Calendar Container */
.reservation-calendar { background:#fff; padding: 35px; }

/* jQuery UI Datepicker Overrides */
/* .ui-datepicker { width:100% !important; border:none !important; }
.ui-datepicker-header { background:transparent !important; border:none !important; padding:1px 0; display:flex; justify-content:space-between; align-items:center; font-weight:600; }
.ui-datepicker-prev, .ui-datepicker-next { cursor:pointer; border:none !important; background:none !important; color:#1e40af !important; font-weight:bold;}
.ui-datepicker-calendar { border: none; }
.ui-datepicker th { font-size:12px; font-weight:500; color:#6b7280; text-transform:capitalize; padding-bottom:6px; }
.ui-datepicker td { text-align:center; }
.ui-datepicker td a { display:block; padding:10px 0; border-radius:8px; background:#f9fafb; border:1px solid #e5e7eb;  color:#111827; font-size:14px; font-weight:500; transition:all .2s; }
.ui-datepicker td a:hover { background:#e0f2fe; border-color:#38bdf8; }
.ui-datepicker .ui-state-active { background:green !important; color:#fff !important; border-color:#1e6ef6 !important; padding: 3px !important; }
.reservation-datepicker .ui-state-default { padding: 3px !important; padding-top: 0px !important; padding-bottom: 7px !important; }
 */

/* Time Slots Grid */
.reservation-calendar .times { display:grid; grid-template-columns: repeat(auto-fill,minmax(110px,1fr)); gap:13px; margin-top:12px; }
.reservation-calendar .time-slot { padding:12px; border-radius:10px; text-align:center; border:1px solid #e5e7eb; background:#fff; cursor:pointer;  font-weight:500; transition:all .2s; text-transform: uppercase; }
.reservation-calendar .time-slot:hover { border-color:#1e6ef6; background:#f0f7ff; text-transform: uppercase; }
.reservation-calendar .time-slot.selected { background:#1e6ef6; color:#fff; border-color:#1e6ef6; font-weight:600; text-transform: uppercase; }

/* Reservation Button */
#reserve-btn { margin-top:18px; width:100%; padding:14px; border-radius:10px; background:#1e6ef6; color:#fff; border:none; font-weight:600; font-size:15px; cursor:pointer; transition:background .2s; }
#reserve-btn:hover { background:#1559c0; };

/* Admin product timeslots */
.prod-time-input { width: 100%; }

/* Reservation Calendar Styling */
.reservation-calendar { background: #fff; padding: 18px; border-radius: 12px; box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06); width: 100%; box-sizing: border-box; }
.reservation-calendar .reservation-title { margin: 0 0 12px; font-size: 16px; font-weight: 700; color: #222; }
.reservation-datepicker { width: 100%; margin-bottom: 16px; }
.reservation-calendar .times { display: grid; grid-template-columns: repeat(auto-fill, minmax(90px, 1fr)); gap: 10px; }

/* jQuery UI Datepicker tweaks */
.ui-datepicker { box-sizing: border-box; width: 100% !important; }
.ui-datepicker td a { padding: 8px !important; display: inline-block; width: 100%; box-sizing: border-box; text-align: center; border-radius: 6px; background: #f9fafb; border: none; transition: background 0.2s, color 0.2s; }

/* Today’s date (highlight only, not active) */
.ui-datepicker .ui-datepicker-today a { background: #e5e7eb !important; color: #222 !important; border: solid 1px #e5e7eb; outline: none !important; border-radius: 4px !important; padding-top: 3px !important;padding-bottom: 8px !important; }

@media(max-width: 768px){ div.sidebar-main{ margin-top: -20%; margin-left: 26.5%; margin-right: -13%; } }
@media(max-width: 480px){ div.sidebar-main{ margin-top: -40%; margin-left: 145.5px; margin-right: -110.5px; font-size: 14px; } }

.cart{ display: flex; justify-content: space-between; }

.wc-block-cart-item__prices:nth-child(n+2) { display: none !important; }

.quantity { margin-left: -23px; }
.single_add_to_cart_button{ background: #2664eb !important; border-radius: 30px; }
.duration-btn::active { background: #2664eb !important; color: #fff; }
.duration-btn { background: none; color: black; }
.reservation-popup-inner > h3 { margin-bottom: 10px !important; }
.popup-overlay { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, .6); justify-content: center; align-items: center; z-index: 9999; }
.popup-content { background: #fff; padding: 20px; border-radius: 12px; max-width: 540px; width: 90%; position: relative; animation: fadeIn .25s ease-in-out; max-height: 90vh; overflow-y: auto; }
.popup-close, .popup-close:hover { background: none !important; box-shadow: none; font-size: 23px; color: #c4c4c4; margin-top: 5px; margin-right: 10px !important; top: 0; right: 0; position: absolute; border: none; cursor: pointer; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; z-index: 10; padding: 0; line-height: 1; transition: color 0.2s ease; }
.popup-close:hover { color: #333; }
.reservation-popup-inner h3 { margin-top: 0; margin-bottom: 20px; font-size: 20px; padding-right: 30px; }
.person-block { border: 1px solid #eee; border-radius: 8px; padding: 10px; margin-bottom: 10px; }
.person-block strong { display: block; margin-bottom: 5px; }
.duration-buttons { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 10px; }
.duration-btn { padding: 8px 16px; border: 1px solid #ccc; border-radius: 20px; background: #f7f7f7; cursor: pointer; font-size: 14px; transition: all 0.2s ease; }
.duration-btn:hover { background: #ebebeb !important; color: #1c1c1c !important; border: 1px solid #ccc; }
.duration-btn.selected { background: #2664eb; color: #fff; border-color: #2664eb; }
    
/* Tablet Styles (768px and up) */
@media (min-width: 768px) {
      .popup-content { max-width: 600px; } 
      .popup-close, .popup-close:hover { font-size: 28px; width: 44px; height: 44px;}
      .reservation-popup-inner h3 { font-size: 24px; }
      .duration-btn { padding: 10px 20px; font-size: 15px; }
    }
    
/* Desktop Styles (1024px and up) */
@media (min-width: 1024px) {
      .popup-content { max-width: 700px; }
      .popup-close, .popup-close:hover { font-size: 30px; }
      .reservation-popup-inner h3 { font-size: 26px; }
      .duration-btn { padding: 12px 24px; font-size: 16px; }
    }

/* Quantity Scrollbar */

/* Quantity wrapper */
.woocommerce div.quantity {  display: flex; align-items: center; gap: 0.5rem; }

/* Remove number input arrows (Chrome, Safari, Edge) */
.woocommerce .quantity input.qty::-webkit-outer-spin-button,
.woocommerce .quantity input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

/* Remove number input arrows (Firefox) */
.woocommerce .quantity input.qty { -moz-appearance: textfield; }

/* Number input styling */
.woocommerce .quantity input.qty { width: 40px; text-align: center; border: none; font-size: 16px; font-weight: 600; background: transparent; box-shadow: none; outline: none; padding: 0; margin: 0; }

/* Perfect circle buttons */
.woocommerce .quantity .minus,
.woocommerce .quantity .plus { width: 40px; height: 40px; border-radius: 50%; background: #f0f0f0; border: none; font-size: 20px; font-weight: bold; color: #333; display: flex; justify-content: center; align-items: center; cursor: pointer;  line-height: 1;padding: 0;  transition: background 0.2s; }

.woocommerce .quantity .minus:hover,
.woocommerce .quantity .plus:hover { background: #e0e0e0; }

/* MAKE A RESERVATION PAGE */

/* Personalized Services Styles */
.personalized-services-container { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 15px; padding: 20px; max-width: 1200px; margin: 0 auto; margin-top: -25px;}
.service-card { background: #f8f9fa; border-radius: 8px; overflow: hidden; transition: transform 0.3s ease, box-shadow 0.3s ease; display: flex; flex-direction: column; height: 100%; }
.service-card:hover { transform: translateY(-5px); box-shadow: 0 8px 15px rgba(0, 0, 0, 0.1); }
.service-header { padding: 20px; text-align: center; font-size: 1.8em; font-weight: bold; color: #000; background: #e9ecef; }
.service-btn { text-decoration: none !important; }
.service-content { padding: 15px; flex-grow: 1; display: flex; flex-direction: column; }
.service-title { font-size: 1.1em; font-weight: 600; margin: 0 0 8px 0; color: #333; }
.service-location { color: #6c757d; font-size: 0.85em; margin: 0 0 15px 0; }
.service-btn { background: #0d6efd; color: white; border: none; border-radius: 8px; padding: 10px 20px; font-size: 0.95em; font-weight: 600; cursor: pointer; text-decoration: none; display: inline-block; text-align: center; transition: background 0.3s ease; margin-top: auto; }
.service-btn:hover { background: #0b5ed7; color: white; text-decoration: none; }

/* === Modern Service Reservation === */
.msr-wrapper { padding: 25px !important; }
.msr-title { font-size: 20px !important; font-weight: 600 !important; margin-bottom: 20px !important; }

/* Filter buttons */
.msr-filters { display: flex !important; flex-wrap: wrap !important; gap: 10px !important; margin-bottom: 15px !important; }
.msr-select { background-position: 92% 55% !important; width: 135px !important; padding: 0px 15px !important; border: 1px solid #ddd !important; border-radius: 8px !important; font-size: 14px !important; font-weight: 600 !important; color: #000000 !important; }
.msr-btn { padding: 13px 16px !important; background: #f1f3f5 !important; color: #000000 !important; border: none !important; border-radius: 8px !important; cursor: pointer !important; font-size: 14px !important; }
.msr-btn.active, .msr-btn:hover { background: #2962ff !important; color: #fff !important; }

/* Hashtags */
.msr-hashtags { margin: 15px 0 !important; }
.msr-hashtag { display: inline-block !important; margin: 5px 8px 0 0 !important; padding: 6px 12px !important; border: 1px solid #ddd !important; border-radius: 20px !important; font-size: 13px !important; color: #333 !important; text-decoration: none !important; background: #fff !important; }
.msr-hashtag:hover { background: #2962ff !important; color: #fff !important; border-color: #2962ff !important; }

/* Service cards */
.msr-services { display: flex !important; flex-direction: column !important; gap: 20px !important; }
.msr-card { display: flex !important; align-items: center !important; gap: 20px !important; background: #fff !important; border-radius: 12px !important; box-shadow: 0 3px 10px rgba(0,0,0,0.05) !important; padding: 20px !important; }
.msr-card-image img { width: 80px !important; height: 80px !important; object-fit: cover !important; border-radius: 10px !important; }
.msr-placeholder { width: 80px !important; height: 80px !important; background: #eee !important; border-radius: 10px !important; display: flex; !important; align-items: center !important; justify-content: center !important; }
.msr-card-info { flex: 1 !important; }
.msr-card-info h3 { margin: 0 !important; font-size: 18px !important; font-weight: bold !important; }
.msr-card-info p { font-size: 14px !important; color: #555 !important; margin: 5px 0 !important; }
.msr-rating { color: #f39c12 !important; font-size: 14px !important; }
p.service-city {margin-top: -10px !important; font-size: 13px !important;}
.service-image { width: 100%; height: 155px; overflow: hidden; border-radius: 8px 8px 0px 0px; background-color: #f5f5f5; }
.service-image img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; }

/* Reserve Button */
.msr-card-action { margin-left: auto !important; }
.msr-btn-reserve { background: #2962ff !important; color: #fff !important; padding: 10px 16px !important; border-radius: 8px !important; text-decoration: none !important; font-size: 14px !important; }
.msr-btn-reserve:hover { background: #1e4bcc !important; }

/* Pagination */
.msr-pagination { margin-top: 20px !important; text-align: center !important; }
.msr-pagination a, .msr-pagination span { margin: 10px !important; padding: 6px 11px !important; border-radius: 20px !important; background: #f5f5f5 !important; text-decoration: none !important; font-size: 14px !important; }
.msr-pagination .current { background: #2962ff !important; color: #fff !important; }

div#astra_settings_meta_box,
div#advanced-sortables.meta-box-sortable.ui-sortable { display: none; }

/* MY RESERVATION */

/* === Reservations Wrapper === */
.wps-reservations-wrapper { margin: 20px 0; font-family: Arial, sans-serif; }

/* Section titles */
.wps-section-title { font-size: 18px; font-weight: 600; margin: 15px 0 10px; color: #444; border-bottom: 1px solid #eee; padding-bottom: 6px; }

/* Reservation Card */
.wps-reservation-card { background: #fff; border-radius: 10px; padding: 15px; margin-bottom: 18px; box-shadow: 0 3px 8px rgba(0,0,0,0.08); transition: transform 0.2s ease; }
.wps-reservation-card:hover { transform: translateY(-2px); }

/* Header */
.wps-reservation-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; font-size: 14px; color: #666; }

/* Status styling */
.wps-reservation-status { font-size: 12px; padding: 4px 10px; border-radius: 12px; background: #eee; text-transform: capitalize; }
.wps-reservation-status.completed { background: #28a745; color: #fff; }
.wps-reservation-status.processing { background: #ffc107; color: #000; }
.wps-reservation-status.pending { background: #17a2b8; color: #fff; }
.wps-reservation-status.cancelled { background: #dc3545; color: #fff; }

/* Reservation Body */
.wps-reservation-body { display: flex; align-items: center; gap: 15px; }

/* Product thumbnail */
.wps-reservation-product img { max-width: 65px; border-radius: 6px; box-shadow: 0 1px 4px rgba(0,0,0,0.1); }

/* Details */
.wps-reservation-details strong a { font-size: 15px; font-weight: 600; color: #222; text-decoration: none; }
.wps-reservation-details strong a:hover { color: #0073aa; }
.wps-reservation-details p { margin: 4px 0 0; font-size: 13px; color: #777; }

/* Actions (buttons) */
.wps-reservation-actions { display: flex; gap: 10px; margin-top: 14px; }
.wps-reservation-actions a { flex: 1; text-align: center; padding: 10px 14px; border-radius: 6px; font-size: 14px; text-decoration: none; transition: background 0.3s ease; }

/* Primary action button */
.wps-btn-review { background: #0073aa; color: #fff; }
.wps-btn-review:hover { background: #005f8d; }

/* Secondary button */
.wps-btn-contact { background: #e9ecef; color: #000; }
.wps-btn-contact:hover { background: #d6d8db; }

/* No reservation message */
.wps-no-reservation { font-size: 14px; color: #888;
    margin: 8px 0;
}

.wps-reservation-actions > a,
.wps-reservation-details > strong > a { text-decoration: none !important; }

/* Category in Single Product Page */
.single-product-category > a { background: #1d6cf5; color: white; font-weight: 500; padding-top: 5px; padding-left: 10px; padding-right: 10px; padding-bottom: 5px; border-radius: 20px; }
.product-publisher { margin-top:5px; font-weight:400; color:#444; font-size:15px; } 


/* Single Product Page */
ol.flex-control-nav.flex-control-thumbs { display: none !important; }
div.woocommerce-product-gallery__image { border-radius: 25px 25px 0px 0px !important; }

.woocommerce-product-gallery__image { position: relative; }
.flex-control-nav:empty ~ .woocommerce-product-gallery__wrapper .custom-gallery-nav,
.woocommerce-product-gallery:not(.woocommerce-product-gallery--with-images) .custom-gallery-nav { display: none !important; }
.custom-gallery-nav { position: absolute; bottom: 20px; right: 20px; background: rgba(0, 0, 0, 0.7); color: white; border: none; padding: 10px 20px; cursor: pointer; border-radius: 5px; font-size: 14px; z-index: 999; transition: background 0.3s ease; pointer-events: auto; touch-action: manipulation; -webkit-tap-highlight-color: transparent; user-select: none; -webkit-user-select: none; }
.custom-gallery-nav:hover { background: rgba(0, 0, 0, 0.9); }
.custom-gallery-nav.active { background: rgba(255, 255, 255, 0.9); color: #000; }

.sb-form { width: 100%; max-width: 420px; margin: 0 auto; }
.sb-container { display: flex; align-items: center; background: #f5f6f7; border-radius: 8px; padding: 2px 12px; box-shadow: 0 1px 3px rgba(0,0,0,0.06); }
.sb-button { background: transparent; border: none; cursor: pointer; padding: 0; margin-right: 10px; display: flex; align-items: center; justify-content: center; }
.sb-icon { color: #6b7280; font-size: 16px; line-height: 1; }
.sb-field { border: none; outline: none; background: transparent; width: 100%; padding: 6px 0; font-size: 15px; color: #333; }
input.sb-field{ width: 220px !important; background-color: transparent !important; border: none !important; box-shadow: none !important; }
.sb-field::placeholder { color: #9ca3af; }
.sb-field:focus { outline: none; box-shadow: none; }
.sb-button:hover,
.sb-button:focus,
.sb-button:active { background: transparent !important; box-shadow: none !important; outline: none !important; border: none !important; color: inherit !important; }
td.product-name { max-width: 300px !important; }

/* Schedule Management */
.elementor-widget-icon-box .elementor-icon-box-title a { text-decoration: none; }
.vendor-calendar-root { max-width:980px; margin:18px auto; }
.vc-event-block.holiday { background: #ffd6d6; border: 1px solid #ff8b8b; color: #111; position: absolute !important; border-radius: 8px; top: 60px !important; left: 0; right: 0; height: 100%; box-sizing: border-box; }
.vc-event-block.break { top: 240px !important; }
.vc-event-block.closure { top: 180px !important; }
.vendor-calendar-root { max-width: 100%; margin: 20px auto; font-family: Arial, sans-serif; padding: 20px; background: #fff; border-radius: 8px; box-shadow: none; }
    .vc-header { display: flex; justify-content: space-between; align-items: center;margin-bottom: 15px; padding: 10px; background: #f5f5f5; border-radius: 6px; }
    .vc-month-label { margin: 0; font-size: 20px; font-weight: 600; }
    .vc-nav { background: #0073aa; color: white; border: none; padding: 8px 16px; border-radius: 4px; cursor: pointer; font-size: 16px; }
    .vc-nav:hover { background: #005a87; }
    .vc-actions { display: flex; gap: 10px; margin-bottom: 15px; flex-wrap: wrap; }
    .vc-btn { background: #0073aa; color: white; border: none; padding: 10px 16px; border-radius: 4px; cursor: pointer; font-size: 14px; }
    .vc-btn:hover { background: #005a87; }
    .vc-btn-primary { background: #00a32a; color: white; border: none; padding: 10px 16px; border-radius: 4px; cursor: pointer; }
    .vc-btn-primary:hover { background: #008a20; }
    .vc-btn-danger { background: #d63638; color: white; border: none; padding: 10px 16px; border-radius: 4px; cursor: pointer; }
    .vc-btn-danger:hover { background: #b32d2e; }
    .vc-weekdays { display: grid; grid-template-columns: repeat(7, 1fr); gap: 5px; margin-bottom: 5px; font-weight: bold; text-align: center; }
    .vc-calendar-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 5px; }
    .vc-cell { min-height: 100px; border: 1px solid #ddd; border-radius: 4px; padding: 5px; cursor: pointer; transition: all 0.2s; }
    .vc-cell:hover { border-color: #0073aa; background: #f0f8ff; }
    .vc-cell.selected { border: 2px solid #0073aa; background: #e6f3ff; }
    .vc-daynum { font-weight: bold; margin-bottom: 4px; color: #333; }
    .vc-event { padding: 4px 6px; margin: 2px 0; border-radius: 3px; font-size: 12px; cursor: pointer; transition: all 0.2s; }
    .vc-event:hover { transform: translateY(-1px); box-shadow: 0 2px 4px rgba(0,0,0,0.2); }
    .vc-event.holiday { background: #ff9999; border-left: 3px solid #cc0000; }
    .vc-event.closure { background: #ffcc99; border-left: 3px solid #ff6600; }
    .vc-event.inspection,
    .vc-event.break { background: #ffff99; border-left: 3px solid #cccc00; }
    .vc-event.reservation { background: #99ccff; border-left: 3px solid #0066cc; }
    .vc-popup { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.5); z-index: 10000; align-items: center; justify-content: center; }
    .vc-popup.active { display: flex; }
    .vc-popup-inner { background: white; padding: 25px; border-radius: 8px; max-width: 500px; width: 90%; max-height: 90vh; overflow-y: auto; }
    .vc-popup-inner h4 { margin-top: 0; margin-bottom: 20px; font-size: 20px; color: #333; }
    .vc-popup-inner label { display: block; margin-top: 12px; margin-bottom: 4px; font-weight: 600; color: #555; }
    .vc-popup-inner input[type="text"],
    .vc-popup-inner input[type="date"],
    .vc-popup-inner input[type="time"],
    .vc-popup-inner input[type="number"],
    .vc-popup-inner select { width: 100%; padding: 8px; border: 1px solid #ddd; border-radius: 4px; font-size: 14px; }
    .vc-popup-inner input[type="checkbox"] { margin-right: 6px; }
    .vc-popup-actions { display: flex; gap: 10px; margin-top: 20px; justify-content: flex-end; }
    .vc-cancel { background: #666; color: white; border: none; padding: 10px 16px; border-radius: 4px; cursor: pointer; }
    .vc-cancel:hover { background: #555; }
    .vc-no-events { padding: 40px; text-align: center; color: #666; font-size: 16px; }
    .vc-schedule-header { display: flex; background: #f5f5f5; border-bottom: 2px solid #ddd; font-weight: bold; position: sticky; top: 0; z-index: 10; }
    .vc-time-col { width: 80px; padding: 10px; text-align: center; border-right: 1px solid #ddd; flex-shrink: 0; }
    .vc-space-col-header { flex: 1; padding: 10px; text-align: center; border-right: 1px solid #ddd; }
    .vc-hour-row { display: flex; border-bottom: 1px solid #eee; min-height: 60px; }
    .vc-slots-container { display: flex; flex: 1; }
    .vc-slot { flex: 1; border-right: 1px solid #eee; position: relative; }
    .vc-event-block { position: absolute; border-radius: 4px; padding: 6px; font-size: 12px; cursor: pointer; overflow: hidden; box-shadow: 0 1px 3px rgba(0,0,0,0.2); }
    .vc-event-block:hover { box-shadow: 0 2px 6px rgba(0,0,0,0.3); z-index: 5; }
    .vc-event-block.holiday { background: #ff9999; border-left: 4px solid #cc0000; }
    .vc-event-block.closure { background: #ffcc99; border-left: 4px solid #ff6600; }
    .vc-event-block.inspection,
    .vc-event-block.break { background: #ffff99; border-left: 4px solid #cccc00; }
    .vc-event-block.reservation { background: #99ccff; border-left: 4px solid #0066cc; }
    .vc-event-time { font-weight: bold; margin-bottom: 2px; }
    .vc-event-name { font-weight: 600; }
    .vc-event-purpose { font-size: 11px; opacity: 0.9; margin-top: 2px; }
    .vc-schedule-card { border-left: 4px solid #0066cc; padding: 15px; margin-bottom: 10px; border-radius: 4px; cursor: pointer; transition: all 0.2s; }
    .vc-schedule-card:hover { box-shadow: 0 2px 8px rgba(0,0,0,0.15); transform: translateX(4px); }
    .vc-schedule-card.holiday { background: #ffe6e6; border-left-color: #cc0000; }
    .vc-schedule-card.closure { background: #fff0e6; border-left-color: #ff6600; }
    .vc-schedule-card.break { background: #ffffe6; border-left-color: #cccc00; }
    .vc-schedule-card.reservation { background: #e6f2ff; border-left-color: #0066cc; }
    .vc-schedule-time { font-size: 14px; color: #666; margin-bottom: 5px; }
    .vc-schedule-name { font-size: 16px; margin-bottom: 5px; }
    .vc-schedule-desc,
    .vc-schedule-person { font-size: 13px; color: #555; margin-top: 3px; }

div.wc-block-components-quantity-selector { display: none !important; }

/* ===================================
   RESPONSIVE MEDIA QUERIES
   =================================== */

/* ===================================
   SMALL PHONES (320px - 375px)
   iPhone SE, small Android devices
   =================================== */
@media only screen and (min-width: 320px) and (max-width: 375px) {
   div.elementor-element.elementor-element-9c503a4.elementor-widget.elementor-widget-heading > h1.elementor-heading-title.elementor-size-default {margin-top: 10px; margin-bottom: -5px; }
   h5.elementor-heading-title.elementor-size-default { font-size: 15px; }
  .personalized-services-container { margin-top: 0; margin-left: -5px; }
  .msr-select { width: 100% !important; }
   form#msr-filter-form { display: flex; flex-direction: column; width: 100%; margin-left: 0px !important; }
   select#msr-city-select.msr-select  { margin-bottom: 5px !important; width: 100% !important; }
   button#msr-use-location.msr-btn  { margin-bottom: 5px !important; }
   button.msr-btn { margin-bottom: 5px !important; }
  .msr-card { display: flex; flex-wrap: wrap; align-content: space-between; flex-direction: row; justify-content: space-around; }
  .msr-card-info { text-align: center !important;  display: flex; flex-direction: column; margin: 1px;
 }
  h3.service-title { font-size: 14px; }
  p.service-city { font-size: 12px; margin-top: -10px; }
  .msr-pagination a, .msr-pagination span { margin: 2px !important; padding: 6px 14px !important; }
  .msr-card-action { width: 100%; display: flex; flex-direction: column; text-align: center;}
  .msr-rating-text { display: block; font-size: 10px;}
  .msr-pagination { display: flex; margin: -15px; align-items: flex-end; flex-wrap: wrap; justify-content: center; }
  div.wc-block-components-quantity-selector { display: none !important; }
  .msr-card-image { display: flex; flex-direction: row; justify-content: space-around; }
  .ast-woocommerce-container { margin-top: -110px !important; }
  ul.tabs.wc-tabs { display: flex; justify-content: space-evenly; } 
	.reservation-calendar .time-slot { font-size: 12px; }
}

/* ===================================
   MEDIUM PHONES (376px - 393px)
   iPhone 12/13/14, Pixel phones, samsung
   =================================== */
@media only screen and (min-width: 376px) and (max-width: 393px) {
	
  /* Make a Reservation Page */
  h1.elementor-heading-title.elementor-size-default { margin-top: 15px; }
  .personalized-services-container { margin-top: -90px !important; }
  .msr-select { width: 100% !important; }
  
   form#msr-filter-form { display: flex; flex-direction: column; width: 100%; margin-left: 0px !important; }
   select#msr-city-select.msr-select  { margin-bottom: 5px !important; width: 100% !important; }
   button#msr-use-location.msr-btn  { margin-bottom: 5px !important; }
   button.msr-btn { margin-bottom: 5px !important; }
	
  .msr-card { display: flex; flex-direction: row; flex-wrap: wrap; }
  .msr-card-info > h3 { margin: 0 !important; font-size: 14px !important }
  .msr-card-info > p { margin: -2px 0 !important; }
  h3.service-title { font-size: 14px; }
  p.service-city { font-size: 12px; margin-top: -10px; }
  .msr-pagination a, .msr-pagination span { margin: 2px !important; padding: 6px 14px !important; }
  .msr-card-action { width: 100%; display: flex; flex-direction: column; text-align: center;}
  .msr-rating-text { display: block; font-size: 10px;}
  .msr-pagination { display: flex; margin: -15px; align-items: flex-end; flex-wrap: wrap; justify-content: center; }
	
div.wc-block-components-quantity-selector { display: none !important; }
	  .ast-woocommerce-container { margin-top: -110px !important; }
	  ul.tabs.wc-tabs { display: flex; justify-content: space-evenly; } 
	.reservation-calendar .time-slot { font-size: 12px; }
}

/* ===================================
   LARGE PHONES (375px - 812px)
   =================================== */

@media only screen and (min-width: 375px) and (max-width: 812px) {
	.wc-block-components-quantity-selector { display: none; }
	.personalized-services-container { margin-top: -55px; margin-left: -1px; }
	.msr-card-info { display: flex; flex-direction: column; align-content: flex-end; text-align: left !important; align-items: flex-start; }
	.msr-card-info p { font-size: 14px !important; color: #555 !important; margin: 0 !important; }
	.nsl-button.nsl-button-default.nsl-button-google { margin-left: 38px !important; }
    .wcv-map-close { padding-top: 5px; }
	.ast-woocommerce-container { margin-top: -65px !important; }
	ul.tabs.wc-tabs { display: flex; justify-content: space-evenly; } 
	.reservation-calendar .time-slot { font-size: 12px; }
	}
}

/* ===================================
   LARGE PHONES (394px - 440px)
   iPhone Plus/Pro Max, large Android
   =================================== */
@media only screen and (min-width: 394px) and (max-width: 440px) {
	.wc-block-components-quantity-selector { display: none; }
	.ast-woocommerce-container { margin-top: -110px !important; }
	ul.tabs.wc-tabs { display: flex; justify-content: space-evenly; } 
	
   form#msr-filter-form { display: flex; flex-direction: column; width: 100%; margin-left: 0px !important; }
   select#msr-city-select.msr-select  { margin-bottom: 5px !important; width: 100% !important; }
   button#msr-use-location.msr-btn  { margin-bottom: 5px !important; }
   button.msr-btn { margin-bottom: 5px !important; }
}

/* ===================================
   STANDARD MOBILE (360px width)
   Most common Android phone size
   =================================== */
@media only screen and (min-width: 360px) and (max-width: 360px) {
div.wc-block-components-quantity-selector { display: none !important; }

	/* Make a Reservation Page */
	h1.elementor-heading-title.elementor-size-default { margin-top: 15px; }
	.personalized-services-container { margin-top: -55px !important; }
    .msr-select { width: 100% !important; }
    form#msr-filter-form { display: flex; flex-direction: column; width: 100%; margin-left: 0px !important; }
    select#msr-city-select.msr-select  { margin-bottom: 5px !important; width: 100% !important; }
    button#msr-use-location.msr-btn  { margin-bottom: 5px !important; }
    button.msr-btn { margin-bottom: 5px !important; }
	.msr-card { display: flex; flex-direction: row; flex-wrap: wrap; }
	.msr-card-info > h3 { margin: 0 !important; font-size: 14px !important }
	.msr-card-info > p { margin: -2px 0 !important; }
	h3.service-title { font-size: 14px; }
	p.service-city { font-size: 12px; margin-top: -10px; }
	.msr-pagination a, .msr-pagination span { margin: 2px !important; padding: 6px 14px !important; }
	.msr-card-action { width: 100%; display: flex; flex-direction: column; text-align: center;}
	.msr-rating-text { display: block; font-size: 10px;}
	.msr-pagination { display: flex; margin: -15px; align-items: flex-end; flex-wrap: wrap; justify-content: center; }
	.ast-woocommerce-container { margin-top: -110px !important; }
	ul.tabs.wc-tabs { display: flex; justify-content: space-evenly; } 
	.reservation-calendar .time-slot { font-size: 12px; }
}

/* ===================================
   LARGE ANDROID PHONES (412px width)
   =================================== */
@media only screen and (min-width: 412px) and (max-width: 412px) {
	h1.elementor-heading-title.elementor-size-default { margin-top: 15px; }
	.personalized-services-container { margin-top: -95px !important; }
    .msr-select { width: 100% !important; }
    form#msr-filter-form { display: flex; flex-direction: column; width: 100%; margin-left: 0px !important; }
    select#msr-city-select.msr-select  { margin-bottom: 5px !important; width: 100% !important; }
    button#msr-use-location.msr-btn  { margin-bottom: 5px !important; }
    button.msr-btn { margin-bottom: 5px !important; }
	.msr-card { display: flex; flex-direction: row; flex-wrap: wrap; }
	.msr-card-info > h3 { margin: 0 !important; font-size: 14px !important }
	.msr-card-info > p { margin: -2px 0 !important; }
	h3.service-title { font-size: 14px; }
	p.service-city { font-size: 12px; margin-top: -10px; }
	.msr-pagination a, .msr-pagination span { margin: 2px !important; padding: 6px 14px !important; }
	.msr-card-action { width: 100%; display: flex; flex-direction: column; text-align: center;}
	.msr-rating-text { display: block; font-size: 10px;}
	.msr-pagination { display: flex; margin: -15px; align-items: flex-end; flex-wrap: wrap; justify-content: center; }
	
div.wc-block-components-quantity-selector { display: none !important; }

	  .ast-woocommerce-container { margin-top: -110px !important; }
	ul.tabs.wc-tabs { display: flex; justify-content: space-evenly; } 
}

/* ===================================
   TABLETS (768px - 1024px)
   iPad, Android tablets
   =================================== */
@media only screen and (min-width: 768px) and (max-width: 1024px) {
	
	div.wc-block-components-quantity-selector { display: none !important; } 
    .service-image { height: 190px !important; }
	
}

/* Tablet Portrait */
@media only screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) { div.wc-block-components-quantity-selector { display: none !important; }}

/* Tablet Landscape */
@media only screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) { div.wc-block-components-quantity-selector { display: none !important; } }

/* ===================================
   LARGE TABLETS (1025px - 1280px)
   iPad Pro, large Android tablets
   =================================== */
@media only screen and (min-width: 1025px) and (max-width: 1280px) { div.wc-block-components-quantity-selector { display: none !important; } }

/* ===================================
   ALL PHONES IN PORTRAIT
   =================================== */
@media only screen and (max-width: 767px) and (orientation: portrait) { div.wc-block-components-quantity-selector { display: none !important; } 
	div.wps-meta-item { flex-direction: column; align-items: center; line-height: 1 !important; }
	
}

/* ===================================
   ALL PHONES IN LANDSCAPE
   =================================== */
@media only screen and (max-width: 767px) and (orientation: landscape) { div.wc-block-components-quantity-selector { display: none !important; } }

/* ===================================
   LEGACY MOBILE SUPPORT (max-width: 480px)
   Keeping original breakpoint
   =================================== */

@media only screen and (max-width: 480px) { div.wc-block-components-quantity-selector { display: none !important; } }

.custom-slot-item{display:flex;gap:8px;margin-bottom:8px;align-items:center}
.custom-slot-item input{flex:1}
.custom-slot-item .remove-slot{padding:6px 10px;background:#ffecec;color:#c62828;border:none;border-radius:6px;cursor:pointer}

.ui-datepicker td a .slot-num { display: block; position: absolute; bottom: 2px; left: 50%; transform: translateX(-50%); font-size: 7px; font-weight: bold; padding: 2px 4px; border-radius: 3px; background: #22c55e; color: white; white-space: nowrap; line-height: 1; }

/* Sold out - red */
.ui-datepicker td.slot-sold-out { background: #fee2e2; display: table-cell !important; width: 36px; height: 36px; line-height: 36px; margin: 0 auto; border-radius: 50%; border: none; color: #333; text-decoration: none; font-size: 14px; padding: 0 !important; text-align: center; position: relative; }

/* Hide TODAY inner element when sold out */
.reservation-datepicker 
.ui-datepicker td.slot-sold-out.ui-datepicker-today 
.ui-state-default {
    background: none !important; 
    color: #000000 !important; 
}

/* Make sure the span takes same space as anchor */
.ui-datepicker td span { border-radius: 4px; }

/* Time slots */
.time-slot { padding:6px 8px; border:1px solid #ccc; border-radius:4px; cursor:pointer; display:inline-block; margin:3px; }
.time-slot.selected { background:#0073aa; color:#fff; }

/* Reserve button */
.reserve-btn { border-radius:6px; margin-top:15px; width:100%; }

/* Disabled add to cart */
.single_add_to_cart_button.disabled { opacity:0.5; cursor:not-allowed; }
.cart_totals .cart-subtotal, .woocommerce-checkout-review-order-table .cart-subtotal { display: none !important; }

.price-varies-wrap{display:flex;gap:16px;align-items:center;margin-top:8px}
.price-varies-wrap label{display:inline-flex;align-items:center;gap:6px;margin:0;font-weight:normal}
.price-varies-wrap input[type="checkbox"]{width:auto;margin:0}

.woocommerce-product-rating.no-rating .review-rating { margin-top: 30px !important; }

/* Vendor Shop Page Profile */
.product-publisher .vendor-link { font-size: 14px; font-weight: normal; color: #000000; text-decoration: none; }
.product-publisher .vendor-link:hover { text-decoration: underline; }

/* Checkout Table row */
tr.fee { line-height: 0; }

/* Custom Empty Cart Styles */

/* Main wrapper */
.custom-empty-cart-wrapper {
    min-height: 60vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 60px 20px;
    background-color: #f5f5f5;
}

/* Content container */
.custom-empty-cart-content { text-align: center; max-width: 600px; margin: 0 auto; }

/* Cart icon */
.empty-cart-icon { margin-bottom: 30px; color: #000; } 
.empty-cart-icon svg { width: 100px; height: 100px; stroke-width: 1.5; }

/* Main title */
.empty-cart-title { font-size: 32px; font-weight: 700; letter-spacing: 4px; margin-bottom: 15px; color: #000; line-height: 1.3; }

/* Subtitle */
.empty-cart-subtitle { font-size: 16px; color: #000; margin-bottom: 30px; font-weight: 400; }

/* Return button */
.empty-cart-button { display: inline-block; background-color: #000; color: #fff !important; padding: 15px 40px; border-radius: 30px; text-decoration: none; font-size: 15px; font-weight: 500; transition: all 0.3s ease; border: 2px solid #000; }
.empty-cart-button:hover { background-color: #333; border-color: #333; transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2); }

/* Override default WooCommerce styles */
.woocommerce .cart-empty { display: none; }
.woocommerce .return-to-shop { display: none; }

/* Hide default continue shopping button */
.woocommerce-cart .wc-backward:not(.empty-cart-button) { display: none; }

/* Responsive Design */
@media (max-width: 768px) {
    .custom-empty-cart-wrapper { padding: 40px 20px; min-height: 50vh; }
    .empty-cart-title { font-size: 24px;letter-spacing: 2px; }
    .empty-cart-icon svg { width: 80px; height: 80px; }
    .empty-cart-subtitle { font-size: 14px; margin-bottom: 25px; }
    .empty-cart-button { padding: 12px 35px; font-size: 14px; }

@media (max-width: 480px) {
    .empty-cart-title { font-size: 20px; letter-spacing: 1px; } 
    .empty-cart-icon svg { width: 70px; height: 70px;}
}

form.woocommerce-ResetPassword.lost_reset_password, form.woocommerce-form.woocommerce-form-register.register { margin-left: 0px; }
a.sb-link { margin-left: 0px; }
div.sb-tabs { font-size: 14px; } 

div.nsl-container[data-align="left"] { text-align: center !important; }
.sb-socials { margin-left: -35px !important; }

/* Login */ 
.woocommerce-form__input.woocommerce-form__input-checkbox{ margin: 7px !important; }
.woocommerce-form__label.woocommerce-form__label-for-checkbox.woocommerce-form-login__rememberme { display: flex; margin: 1px !important; }
.woocommerce-form__label.woocommerce-form__label-for-checkbox.woocommerce-form-login__rememberme.woocommerce-form__input.woocommerce-form__input-checkbox > span { margin: 5px !important; }


div.wps-customer-meta { padding: 20px !important; padding-bottom: 1px !important; }


.reservation-datepicker .ui-datepicker-calendar thead th,
.reservation-datepicker .ui-datepicker-calendar tbody td {
	
    display: table-cell !important;
    text-align: center !important;
    vertical-align: middle !important;
}


/* HitPay */
div.woocommerce-privacy-policy-text { margin-top: 30px; }
	
div.woocommerce-NoticeGroup.woocommerce-NoticeGroup-checkout { margin-bottom: 35px !important; }
	
.elementor-widget-woocommerce-checkout-page.woocommerce-checkout#payment#place_order { border-radius: 100px !important; }
	
/* Cart */	
.wc-block-components-sidebar-layout.wc-block-cart.wp-block-woocommerce-filled-cart-block.is-mobile { margin-left: 40px !important; }

p.form-row > label.woocommerce-form__label.woocommerce-form__label-for-checkbox.woocommerce-form-login__rememberme{ text-align: left !important; }