.wm-booking-wrapper {max-width: 1200px;margin: 0 auto;padding: 20px;font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;}

/* Filters */
.wm-filter-section {margin-bottom: 14px;}
.wm-filter-section h6 {margin-bottom: 2px;}

.wm-filter-section label {display: block; color: var(--wp--preset--color--dark-1);}

.wm-service-select {width: 100%; padding: 8px; border: 1px solid var(--wp--preset--color--dark-1); border-radius: 6px;font-size: 14px; background: white;}

.wm-service-select:focus {outline: none; border-color: #4CAF50;}

/* Staff Filter */
.wm-staff-options {display: flex; flex-wrap: wrap; gap: 15px;}

.wm-staff-option {display: flex!important; align-items: center; padding: 6px; border: 1px solid var(--wp--preset--color--dark-1); border-radius: 6px;cursor: pointer; transition: all 0.4s;}
.wm-staff-option {
  border-color: var(--wp--preset--color--light-2);
  background: var(--wp--preset--color--dark-1);
  color: var(--wp--preset--color--light-2);
}
.wm-filter-section .wm-staff-option {color: var(--wp--preset--color--light-2);}

.wm-staff-option span {font-size: 13px;}

.wm-staff-option:hover {border-color: var(--wp--preset--color--dark-2); background: var(--wp--preset--color--light-2); color: var(--wp--preset--color--dark-1);}

.wm-staff-option input[type="radio"]:checked + label,
.wm-staff-option:has(input[type="radio"]:checked) {
border-color: var(--wp--preset--color--dark-2);
background: var(--wp--preset--color--light-2);
color: var(--wp--preset--color--dark-1);
font-weight: 800;}

.wm-staff-option:has(input[type="radio"]:checked):hover {
  color: var(--wp--preset--color--light-2);
  background: var(--wp--preset--color--dark-2);
}

.wm-staff-option input[type="radio"] {display: none;}

.wm-staff-option input[type="radio"]:checked + .wm-staff-thumbnail,
.wm-staff-option input[type="radio"]:checked ~ span {opacity: 1;}

.wm-staff-thumbnail {width: 40px; height: 40px; border-radius: 50%; margin-right: 8px; object-fit: cover;}

/* Calendar Controls */
.wm-calendar-controls {display: flex;justify-content: space-between; align-items: center; padding: 8px; background: var(--wp--preset--color--dark-1); border-radius: 8px 8px 0 0;}
.wm-calendar-title {margin: 0; font-size: 16px; color: var(--wp--preset--color--light-2);}

.wm-nav-btn {padding: 4px 20px; background: var(--wp--preset--color--light-3); color: var(--wp--preset--color--dark-3); border: none; border-radius: 4px; cursor: pointer; font-size: 12px; transition: background 0.4s;}

.wm-nav-btn:hover:not(:disabled) {background: var(--wp--preset--color--light-1);}

.wm-nav-btn:disabled {background: #ccc;cursor: not-allowed;}

/* Month View */
.wm-calendar-grid {display: grid;grid-template-columns: repeat(7, 1fr); gap: 2px; background: #e0e0e0; border: 2px solid #e0e0e0; border-radius: 0 0 8px 8px; overflow: hidden;}

.wm-calendar-header {background: #f5f5f5; padding: 10px; text-align: center; font-weight: bold; font-size: 12px; text-transform: uppercase; color: var(--wp--preset--color--dark-1);}

.wm-week-row {display: contents;cursor: pointer;}

.wm-week-row.wm-past-week {cursor: not-allowed !important;opacity: 0.3 !important;}

.wm-week-row:not(.wm-past-week):hover .wm-calendar-day {background: #e8f5e9;}

.wm-calendar-day {background: var(--wp--preset--color--light-2); color: var(--wp--preset--color--dark-1); text-align: center; min-height: 40px; display: flex; align-items: center; justify-content: center; transition: background 0.4s;}

.wm-calendar-day.wm-other-month {opacity: 0.3;}

.wm-calendar-day.wm-past-day {background: #f5f5f5;color: #999;}

.wm-day-number {font-size: 18px; font-weight: bold;}




/* Week View */
.wm-week-header {background: var(--wp--preset--color--light-1); border-style: solid; border-width: 0 2px 0 2px; display: grid; grid-template-columns: repeat(7, 1fr); gap: 10px; color: var(--wp--preset--color--dark-1); line-height: 16px; padding: 8px;}

.wm-week-day-header {text-align: center; font-weight: bold; background: var(--wp--preset--color--light-2); border-radius: 6px;}

.wm-week-slots {background: var(--wp--preset--color--light-1); border-style: solid; border-width: 0 2px 2px 2px; padding: 8px; border-radius: 0 0 8px 8px; display: grid; grid-template-columns: repeat(7, 1fr); gap: 10px;}

.wm-day-slots {display: flex;flex-direction: column;gap: 6px;}

.wm-slot-btn {padding: 6px; background: var(--wp--preset--color--light-2); border: 1px solid var(--wp--preset--color--dark-1); border-radius: 6px; cursor: pointer; transition: all 0.4s; font-size: 12px; color: var(--wp--preset--color--dark-1); font-weight: bold;}

.wm-slot-btn:hover {background: var(--wp--preset--color--dark-2); color: var(--wp--preset--color--light-2); transform: translateY(-2px); box-shadow: 0 4px 8px rgba(0,0,0,0.1);}


.wm-no-slots {font-size: 14px; text-align: center;}

/* Loading State */
.wm-loading {text-align: center;padding: 40px;color: #666;font-size: 18px;}

/* Booking drawer (slide-in panel) */
.wm-booking-drawer {position: fixed; inset: 0; z-index: 100000; pointer-events: none; visibility: hidden; transition: visibility 0s linear 0.58s;}
.wm-booking-drawer.is-open {visibility: visible; pointer-events: auto; transition-delay: 0s;}
.wm-booking-drawer-backdrop {position: absolute; inset: 0; background: rgba(0, 0, 0, 0.45); opacity: 0; transition: opacity 0.58s cubic-bezier(0.22, 0.61, 0.36, 1);}
.wm-booking-drawer.is-open .wm-booking-drawer-backdrop {opacity: 1;}
.wm-booking-drawer-panel {position: absolute; top: 0; right: 0; bottom: 0; width: min(100vw, 750px); max-width: 750px; background: var(--wp--preset--color--light-1); box-shadow: -6px 0 28px rgba(0, 0, 0, 0.18); transform: translateX(100%); transition: transform 0.58s cubic-bezier(0.22, 0.61, 0.36, 1); display: flex; flex-direction: column; box-sizing: border-box; min-height: 0;}
.wm-booking-drawer.is-open .wm-booking-drawer-panel {transform: translateX(0);}
.wm-booking-drawer-toolbar {display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-shrink: 0; padding: 10px;}
.wm-booking-drawer-title {margin: 0; color: var(--wp--preset--color--dark-1); text-transform: none;}
.wm-booking-drawer-heading-text {flex: 1; min-width: 0;}
.wm-booking-drawer-close {border: 0; background: transparent; cursor: pointer; font-size: 28px; line-height: 1; padding: 4px 8px; color: #444;}
.wm-booking-drawer-close:hover {color: #000;}
.wm-booking-drawer-scroll {flex: 1; min-height: 0; overflow: auto; -webkit-overflow-scrolling: touch;}
.wm-booking-drawer .wm-booking-wrapper {max-width: 100%; margin: 0; padding: 16px;}
body.wm-booking-drawer-open {overflow: hidden;}
@media (prefers-reduced-motion: reduce) {
.wm-booking-drawer {transition: none;}
.wm-booking-drawer-backdrop, .wm-booking-drawer-panel {transition-duration: 0.01ms;}
}

/* Profil: Mina bokningar */
.wm-booking-profile-section-title {text-transform: uppercase; letter-spacing: 0.04em; margin: 0;}
.wm-booking-my-bookings-list {list-style: none; padding: 0; margin: 0;}
.wm-booking-my-bookings-item {display: flex; justify-content: space-between; align-items: center; gap: 12px; border: 1px solid var(--wp--preset--color--light-3); border-radius: 8px; padding: 12px; margin-bottom: 12px; background: rgba(255,255,255,0.65);}
.wm-booking-my-bookings-col1 {flex: 1 1 auto; min-width: 0; text-align: left;}
.wm-booking-my-bookings-col2 {display: flex; gap: 8px; align-items: center; flex-direction: column;}
.wm-booking-my-bookings-col2 .wm-booking-btn {font-size: var(--wp--preset--font-size--size-2); padding: 0 10px; line-height: 26px;}
.wm-booking-my-bookings-row1 {display: flex; flex-wrap: wrap; gap: 6px 10px; align-items: baseline;}
.wm-booking-my-bookings-row2 {display: block;}
.wm-booking-my-bookings-datetime {color: var(--wp--preset--color--dark-2, #555);}
.wm-booking-my-bookings-sep {color: var(--wp--preset--color--dark-2, #555);}
.wm-booking-my-bookings-service {min-width: 0;}
.wm-booking-btn-danger {background: #b3261e; color: #fff; border: 0;}
.wm-booking-btn-danger:hover {filter: brightness(0.95);}
.wm-booking-btn-secondary {background: var(--wp--preset--color--light-3); color: var(--wp--preset--color--dark-1); border: 0;}
.wm-booking-my-bookings-modal {position: fixed; inset: 0; z-index: 100050; display: flex; align-items: center; justify-content: center; padding: 16px; box-sizing: border-box;}
.wm-booking-my-bookings-modal[hidden] {display: none !important;}
.wm-booking-my-bookings-modal-backdrop {position: absolute; inset: 0; background: rgba(0,0,0,0.45);}
.wm-booking-my-bookings-modal-panel {position: relative; z-index: 1; max-width: 420px; width: 100%; background: var(--wp--preset--color--light-1); color: var(--wp--preset--color--dark-1); border-radius: 10px; padding: 18px 20px; box-shadow: 0 12px 40px rgba(0,0,0,0.2);}
.wm-booking-my-bookings-modal-title {margin: 0 0 10px; font-size: 1.1rem;}
.wm-booking-my-bookings-modal-body {margin: 0 0 16px; line-height: 1.45;}
.wm-booking-my-bookings-modal-actions {display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end;}

/* Profil: Mina klippkort */
.wm-booking-my-clip-cards-list {list-style: none; padding: 0; margin: 0 0 24px;}
.wm-booking-my-clip-cards-item {border: 1px solid var(--wp--preset--color--light-3); border-radius: 8px; padding: 12px; margin-bottom: 12px; background: rgba(255,255,255,0.65); display: flex; flex-wrap: wrap; gap: 6px 14px; align-items: baseline;}
.wm-booking-my-clip-cards-service {flex: 1 1 140px; min-width: 0;}
.wm-booking-my-clip-cards-remaining {font-weight: 600; color: var(--wp--preset--color--dark-1);}
.wm-booking-my-clip-cards-expires {font-size: 0.92em; color: var(--wp--preset--color--dark-2, #555); flex: 1 1 100%;}
.wm-booking-my-clip-cards-empty,
.wm-booking-my-clip-cards-login {margin: 0 0 24px; color: var(--wp--preset--color--dark-2, #555);}

/* Profil: Inköp (klippkort via Köp) */
.wm-booking-profile-section {margin-bottom: 24px;}
.wm-booking-my-purchases-list {list-style: none; padding: 0; margin: 0;}
.wm-booking-my-purchases-item {display: flex; justify-content: space-between; align-items: center; gap: 12px; border: 1px solid var(--wp--preset--color--light-3); border-radius: 8px; padding: 12px; margin-bottom: 12px; background: rgba(255,255,255,0.65);}
.wm-booking-my-purchases-col1 {flex: 1 1 auto; min-width: 0; text-align: left;}
.wm-booking-my-purchases-col2 {display: flex; gap: 8px; align-items: center; flex-direction: column;}
.wm-booking-my-purchases-col2 .wm-booking-btn {font-size: var(--wp--preset--font-size--size-2); padding: 0 10px; line-height: 26px;}
.wm-booking-my-purchases-row1 {display: flex; flex-wrap: wrap; gap: 6px 10px; align-items: baseline; margin-bottom: 4px;}
.wm-booking-my-purchases-row2 {display: block;}
.wm-booking-my-purchases-date {color: var(--wp--preset--color--dark-2, #555);}
.wm-booking-my-purchases-label {min-width: 0; font-weight: 700;}
.wm-booking-my-purchases-used {font-weight: 600; color: var(--wp--preset--color--dark-1);}

/* POPUP  */
.wm-modal {position: fixed; z-index: 9999;left: 0;top: 0; width: 100%; height: 100%; background-color: rgba(0,0,0,0.7); overflow-y: auto;}

.wm-modal-content {background-color: var(--wp--preset--color--light-2); margin: 50px auto;padding: 30px;border-radius: 12px; width: 90%; max-width: 600px; position: relative; box-sizing: border-box;}

.wm-close {float: right; font-size: 32px; font-weight: bold; cursor: pointer; line-height: 1;}

.wm-modal h5 {margin: 0 0 10px;}



/* Booking Summary */
.wm-booking-summary {background: var(--wp--preset--color--light-1); color: var(--wp--preset--color--dark-1); padding: 2px 20px; border-radius: 8px; margin-bottom: 25px;}
.wm-booking-summary p {font-size: 15px;}
.wm-booking-summary .wm-price {font-size: 20px;}

/* Form */
.wm-form-group {margin-bottom: 6px;}
.wm-form-group input[type="text"], .wm-form-group input[type="email"], .wm-form-group input[type="tel"] {width: 100%; padding: 12px; border: 1px solid var(--wp--preset--color--dark-1); border-radius: 6px; font-size: 14px; box-sizing: border-box;}

.wm-form-group input:focus {outline: none;border-color: #4CAF50;}
.wm-checkbox-group label {display: flex; align-items: center; font-size: 13px;}
.wm-checkbox-group input[type="checkbox"] {margin-right: 10px;}
.wm-payment-option {display: block;}
.wm-payment-option input[type="radio"] {margin-right: 10px;}

/* Form Actions */
.wm-form-actions {display: flex;gap: 15px;margin-top: 30px;}
.wm-btn {flex: 1;padding: 14px 28px;border: none;border-radius: 6px;font-size: 16px;font-weight: 600;cursor: pointer;transition: all 0.2s;}

.wm-btn-primary {background: #4CAF50;color: white;}
.wm-btn-primary:hover {background: #45a049;}
.wm-btn-secondary {background: #f5f5f5;color: #333;}
.wm-btn-secondary:hover {background: #e0e0e0;}
.wm-btn:disabled {opacity: 0.5;cursor: not-allowed;}

/* Messages */
.wm-form-message {padding: 15px;border-radius: 6px;margin-top: 15px;}
.wm-form-message.wm-success {background: #d4edda;color: #155724;border: 1px solid #c3e6cb;}
.wm-form-message.wm-error {background: #f8d7da;color: #721c24;border: 1px solid #f5c6cb;}

/* Cancellation Notice */
.wm-cancellation-notice {padding: 20px;background: #fff3cd;border: 1px solid #ffc107;border-radius: 6px;margin-bottom: 30px;}





/* Cancel booking */
.wm-cancellation-page {max-width: 600px; margin: auto; padding-top: 40px;}
.wm-cancel-box, .wm-cancel-result { background: var(--wp--preset--color--light-1); padding: 20px; border-radius: 8px; box-shadow: 0 2px 10px rgba(0,0,0,0.1); }
.wm-cancel-result { text-align: center; }
.wm-cancel-title {color: var(--wp--preset--color--dark-1); margin-top: 0; }
.wm-booking-details { background: #fff; padding: 20px; border-radius: 6px; margin: 20px 0; }
.wm-booking-details p { margin: 0; }
.wm-refund-info { padding: 15px; border-radius: 4px; margin: 20px 0; color: var(--wp--preset--color--dark-1); }
.wm-refund-available { background: #d4edda; color: #155724; }
.wm-refund-unavailable { background: #fff3cd; color: #856404; }
.wm-refund-info p { margin: 8px 0 0 0; font-size: 14px; }
.wm-result-box { padding: 20px; border-radius: 4px; margin-bottom: 20px; }
.wm-result-success { background: #d4edda; color: #155724; }
.wm-result-error { background: #f8d7da; color: #721c24; }
.wm-result-info { background: #d1ecf1; color: #0c5460; }
.wm-result-icon { font-size: 48px; margin-bottom: 10px; }
.wm-result-text { font-size: 18px; margin: 0; }
.wm-cancel-form { margin-top: 30px; }
.wm-button-group { display: flex; gap: 10px; justify-content: center; }
.wm-button { display: inline-block; padding: 12px 30px; border: none; border-radius: 4px; font-size: 16px; text-decoration: none; cursor: pointer; font-weight: bold; }
.wm-button-danger { background-color: #d93025; color: white; }
.wm-button-danger:hover {background-color: var(--wp--preset--color--dark-1); }



/* I BLOCKET wm-media-text */


/* Importerad text (samma marginaltänk som kärnblock i kolumnen) */
.wp-block-wm-media-text .wp-block-wm-media-text__content .wp-block-wm-media-text__imported > h4.wp-block-heading,
.wp-block-wm-media-text .wp-block-wm-media-text__content .wp-block-wm-media-text__imported > p {margin-block-start: var(--wp--preset--spacing--space-none, 0); margin-block-end: var(--wp--preset--spacing--space-none, 0);}

.wp-block-wm-media-text .wp-block-wm-media-text__content .wp-block-wm-media-text__imported .wm-buttons {margin-block-start: 12px; display: flex; flex-wrap: wrap; align-items: center; gap: 10px;}

.wp-block-wm-media-text__imported .wm-buttons.wm-mt-import-align-left {justify-content: flex-start;}
.wp-block-wm-media-text__imported .wm-buttons.wm-mt-import-align-center {justify-content: center;}
.wp-block-wm-media-text__imported .wm-buttons.wm-mt-import-align-right {justify-content: flex-end;}

.wp-block-wm-media-text__imported .wm-buttons.wm-mt-import-btn-1 a {font-size: var(--wp--preset--font-size--size-1); padding: 4px var(--wp--preset--spacing--space-md);}

.wp-block-wm-media-text__imported .wm-buttons.wm-mt-import-btn-2 a {font-size: var(--wp--preset--font-size--size-2); padding: var(--wp--preset--spacing--space-xs) var(--wp--preset--spacing--space-md);}
.wp-block-wm-media-text__imported .wm-buttons.wm-mt-import-btn-3 a {font-size: var(--wp--preset--font-size--size-3); padding: var(--wp--preset--spacing--space-xs) var(--wp--preset--spacing--space-lg);}

/* Sido-justering för hela textkolumnen (styrs av block-attribut, verktygsrad) */
.wp-block-wm-media-text__content.has-content-align-left {align-items: stretch; text-align: left;}
.wp-block-wm-media-text__content.has-content-align-center {align-items: center; text-align: center;}
.wp-block-wm-media-text__content.has-content-align-right {align-items: flex-end; text-align: right;}



/* På produktsidan */
.wm-nav-boka {margin-right: 8px; background-color: var(--wp--preset--color--light-1); color: var(--wp--preset--color--dark-1);}



/* Coupon (booking modal) */
.wm-coupon-toggle {
	background: none;
	border: none;
}
.wm-coupon-panel {
	max-height: 0;
	overflow: hidden;
	margin-top: 0;
	opacity: 0;
	transition: max-height 0.4s ease, margin-top 0.4s ease, opacity 0.4s ease;
}
.wm-coupon-panel.is-open {
	max-height: 160px;
	margin-top: 8px;
	opacity: 1;
}
.wm-coupon-panel input {width: 100%; padding: 8px; border: 1px solid var(--wp--preset--color--dark-1); border-radius: 6px; text-transform: uppercase;}
.wm-coupon-message {font-size: 13px; margin: 6px 0 0;}
.wm-coupon-message.wm-coupon-ok {color: #1a7f37;}
.wm-coupon-message.wm-coupon-err {color: #b32d2e;}
.wm-summary-discount {color: #1a7f37;}

/* Service list (shortcode [wm_service_list]) */
/* display/columns use !important to win over block-theme layout rules that force children full width. */
.wm-service-list {display: grid !important; gap: 20px; width: 100%; max-width: 1200px; margin: 0 auto; padding: 20px; box-sizing: border-box; grid-template-columns: repeat(3, minmax(0, 1fr)) !important;}
.wm-service-list.wm-service-list--cols-1 {grid-template-columns: minmax(0, 1fr) !important;}
.wm-service-list.wm-service-list--cols-2 {grid-template-columns: repeat(2, minmax(0, 1fr)) !important;}
.wm-service-list.wm-service-list--cols-3 {grid-template-columns: repeat(3, minmax(0, 1fr)) !important;}
.wm-service-list.wm-service-list--cols-4 {grid-template-columns: repeat(4, minmax(0, 1fr)) !important;}
.wm-service-list.wm-service-list--cols-5 {grid-template-columns: repeat(5, minmax(0, 1fr)) !important;}
.wm-service-list.wm-service-list--cols-6 {grid-template-columns: repeat(6, minmax(0, 1fr)) !important;}
.wm-service-list-empty {text-align: center; color: var(--wp--preset--color--dark-1); padding: 20px;}

.wm-booking-list-section {width: 100%; max-width: 1200px; margin: 0 auto 24px; padding: 0 20px; box-sizing: border-box;}
.wm-booking-catalog {width: 100%; max-width: 1200px; margin: 0 auto; box-sizing: border-box;}
.wm-booking-catalog-title {margin: 0 0 24px; padding: 0 20px; text-transform: none; letter-spacing: normal;}
.wm-booking-list-heading {margin: var(--wp--preset--spacing--space-xl) 0 0;}
.wm-booking-list-description {margin: 0 0 16px; line-height: 1.5;}
.wm-booking-list-description p:last-child {margin-bottom: 0;}

/* Shared service/package card shell */
.wm-service-list .wm-service-card,
.wm-package-card-wrap .wm-service-card,
.wm-package-list .wm-service-card,
.wm-package-full-width .wm-service-card,
.wm-package-card-wrap--full-width .wm-service-card {box-sizing: border-box !important; background: var(--wp--preset--color--light-1, #fff); border: 1px solid var(--wp--preset--color--light-3, #e0e0e0); border-radius: 10px; overflow: hidden !important; transition: box-shadow 0.3s, transform 0.3s;}
.wm-service-list .wm-service-card:not(.wm-package-card--full-width),
.wm-package-card-wrap:not(.wm-package-card-wrap--full-width) .wm-service-card,
.wm-package-list .wm-service-card {display: flex !important; flex-direction: column !important;}
.wm-service-list .wm-service-card,
.wm-package-list .wm-service-card,
.wm-package-full-width .wm-service-card,
.wm-package-card-wrap--full-width .wm-service-card {width: 100% !important; max-width: 100% !important; min-width: 0 !important; margin: 0 !important;}
.wm-service-card:hover {box-shadow: 0 6px 18px rgba(0,0,0,0.10); transform: translateY(-2px);}

.wm-service-card__media {aspect-ratio: 16 / 10; overflow: hidden; position: relative;}
.wm-service-card__img {width: 100%; height: 100%; object-fit: cover; display: block;}

.wm-service-card__body {display: flex; flex-direction: column; gap: 8px; padding: 16px; flex: 1;}
.wm-service-card__title {margin: 0; font-size: 18px; color: var(--wp--preset--color--dark-1);}

.wm-service-card__meta {display: flex; flex-wrap: wrap; gap: 10px; margin: 0; font-size: 14px;}
.wm-service-card__duration {color: var(--wp--preset--color--dark-2, #555);}
.wm-service-card__price {font-weight: 700; color: var(--wp--preset--color--dark-1);}

.wm-service-card__excerpt,
.wm-package-card__excerpt {font-size: 14px; color: var(--wp--preset--color--dark-2, #555); line-height: 1.5;}
.wm-package-card__excerpt p {margin: 0;}
.wm-package-card__excerpt p + p {margin-top: 8px;}
.wm-package-full-width h6:first-of-type {margin: 0;}
.wm-package-full-width h6:not(:first-of-type) {margin: 1vh 0 0;}

.wm-service-card__actions {display: flex; flex-wrap: wrap; gap: 10px; margin-top: auto; padding-top: 4px; justify-content: center;}
.wm-package-card--full-width .wm-service-card__actions {justify-content: left;}
.wm-service-card__actions .wp-element-button {font-size: var(--wp--preset--font-size--size-2); padding: 0px 14px;}

/* Clip card package (shortcode [wm_buy_package]) */
.wm-package-card-wrap {width: 100% !important; max-width: 360px !important; margin-left: auto !important; margin-right: auto !important; padding: 20px; box-sizing: border-box;}
.wm-package-card-wrap .wm-service-card {width: 100%; margin: 0;}
.wm-service-card__media--package {background: var(--wp--preset--color--light-3, #e8e8e8);}
.wm-service-card__media--package .wm-service-card__img {position: absolute; inset: 0; z-index: 1;}
.wm-package-card__overlay {position: absolute; inset: 0; z-index: 2; display: flex; align-items: center; justify-content: center; pointer-events: none;}
.wm-package-card__overlay-num {font-size: clamp(3rem, 22vw, 7rem); font-weight: 700; line-height: 0.9; color: var(--wp--preset--color--light-1, #fff); text-shadow: 0 2px 12px rgba(0,0,0,0.55);}
.wm-package-card__line {margin: 0; font-size: 14px; color: var(--wp--preset--color--dark-2); line-height: 1;}
.wm-package-card__save {padding: 8px 0 0; font-size: 14px; color: #1a7f37; font-weight: 600;}
.wm-package-card__price {margin: 0;}

.wm-package-full-width {width: 100%; max-width: 1200px; margin: 0 auto 20px; padding: 0 20px; box-sizing: border-box;}
.wm-package-card-wrap--full-width {max-width: 1200px !important; width: 100% !important; padding: 20px; box-sizing: border-box;}
.wm-package-full-width .wm-service-card.wm-package-card--full-width,
.wm-package-card-wrap--full-width .wm-service-card.wm-package-card--full-width {display: grid !important; grid-template-columns: 20% 40% 40% !important; align-items: stretch !important;}
.wm-package-full-width .wm-service-card.wm-package-card--full-width.wm-package-card--no-excerpt,
.wm-package-card-wrap--full-width .wm-service-card.wm-package-card--full-width.wm-package-card--no-excerpt {grid-template-columns: 20% 80% !important;}
.wm-package-card__col {min-width: 0; box-sizing: border-box; display: flex; flex-direction: column;}
.wm-package-card__col--media .wm-service-card__media--package {flex: 1; min-height: 180px; aspect-ratio: auto; border-radius: 0;}
.wm-package-card__col--excerpt {padding: 16px; justify-content: center;}
.wm-package-card__col--body {min-height: 0;}
.wm-package-card__col--body .wm-service-card__body {height: 100%; justify-content: center;}

/* Clip cards admin form */
.wm-clip-cards-form input[type="text"],
.wm-clip-cards-form input[type="number"],
.wm-clip-cards-form input[type="email"],
.wm-clip-cards-form select {min-height: 25px;}
.wm-clip-cards-image-preview {display: block; margin: 8px 0;}

/* Responsive */
@media (max-width: 768px) {
.wm-week-day-header * {font-weight: 300; font-size: 12px;}
.wm-week-slots {gap: 2px;}


.wm-calendar-grid {gap: 1px;}
.wm-calendar-day {min-height: 50px;}
.wm-day-number {font-size: 14px;}
.wm-form-actions {flex-direction: column;}

.wm-service-list,
.wm-service-list.wm-service-list--cols-2,
.wm-service-list.wm-service-list--cols-3,
.wm-service-list.wm-service-list--cols-4,
.wm-service-list.wm-service-list--cols-5,
.wm-service-list.wm-service-list--cols-6 {grid-template-columns: minmax(0, 1fr) !important;}

.wm-service-card__media {aspect-ratio: 16 / 5;}

.wm-package-full-width .wm-service-card.wm-package-card--full-width,
.wm-package-card-wrap--full-width .wm-service-card.wm-package-card--full-width {grid-template-columns: 50% 50% !important; grid-template-rows: auto auto;}
.wm-package-full-width .wm-package-card__col--media,
.wm-package-card-wrap--full-width .wm-package-card__col--media {grid-column: 1 / -1; width: 100%;}
.wm-package-full-width .wm-package-card__col--media .wm-service-card__media--package,
.wm-package-card-wrap--full-width .wm-package-card__col--media .wm-service-card__media--package {width: 100%; min-height: 0; aspect-ratio: 16 / 5;}
.wm-package-full-width .wm-package-card__col--excerpt,
.wm-package-card-wrap--full-width .wm-package-card__col--excerpt {grid-column: 1;}
.wm-package-full-width .wm-package-card__col--body,
.wm-package-card-wrap--full-width .wm-package-card__col--body {grid-column: 2;}
.wm-package-full-width .wm-service-card.wm-package-card--full-width.wm-package-card--no-excerpt .wm-package-card__col--body,
.wm-package-card-wrap--full-width .wm-service-card.wm-package-card--full-width.wm-package-card--no-excerpt .wm-package-card__col--body {grid-column: 1 / -1;}
}

@media (max-width: 600px) {
.wm-booking-list-section {padding: 0;}
.wm-service-list {padding: 0;}
.wm-package-full-width {padding: 0;}
}

@media (min-width: 769px) and (max-width: 1024px) {
.wm-service-list.wm-service-list--cols-3,
.wm-service-list.wm-service-list--cols-4,
.wm-service-list.wm-service-list--cols-5,
.wm-service-list.wm-service-list--cols-6 {grid-template-columns: repeat(2, minmax(0, 1fr)) !important;}
}
