/* Filters */
.wm-filter-section {margin-bottom: 14px;}
.wm-filter-section h6 {margin-bottom: 2px;}
.wm-servicepackage-main {padding-top: 0px!important;}
.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 transparent; border-radius: 6px; cursor: pointer; transition: all 0.4s;}

#wm-booking-calendar .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-booking-calendar .wm-filter-section .wm-staff-option {color: var(--wp--preset--color--light-2);}

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

#wm-booking-calendar .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-2) !important;}

#wm-booking-calendar .wm-staff-option input[type="radio"]:checked + label,
#wm-booking-calendar .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-booking-calendar .wm-staff-option:has(input[type="radio"]:checked):hover {color: var(--wp--preset--color--light-2) !important; background: var(--wp--preset--color--dark-1);}

.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-booking-calendar-surface .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-booking-calendar-surface .wm-calendar-title {margin: 0; font-size: 16px; color: var(--wp--preset--color--light-2);}

.wm-booking-calendar-surface .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-booking-calendar-surface .wm-nav-btn:hover:not(:disabled) {background: var(--wp--preset--color--light-1);}

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

/* Month View */
.wm-booking-calendar-surface .wm-calendar-grid {display: grid;grid-template-columns: repeat(7, 1fr); gap: 4px; padding: 10px; border-radius: 0 0 8px 8px; overflow: hidden;}

.wm-month-view .wm-calendar-grid {border: 1px solid var(--wp--preset--color--dark-1); border-top: 0;}

.wm-booking-calendar-surface .wm-calendar-header {padding: 10px; text-align: center; font-weight: bold; font-size: 12px; text-transform: uppercase;}

.wm-month-view .wm-calendar-header {color: var(--wp--preset--color--dark-1);}

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

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

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

.wm-booking-calendar-surface .wm-calendar-day {text-align: center; min-height: 64px; border-radius: 8px; display: flex; align-items: center; justify-content: center; transition: background 0.4s;}

.wm-booking-calendar-surface .wm-calendar-day.wm-other-month,
.wm-booking-calendar-surface .wm-calendar-day.wm-past-day {opacity: 0.3;}

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

.wm-booking-calendar-surface .wm-day-number {font-size: 14px;}




/* Week View */
.wm-booking-calendar-surface .wm-week-view {background: var(--wp--preset--color--light-3); border-radius: 0 0 8px 8px; border: 1px solid var(--wp--preset--color--dark-2); border-top: 0;}

.wm-booking-calendar-surface .wm-week-header {display: grid; grid-template-columns: repeat(7, 1fr); color: var(--wp--preset--color--dark-1); line-height: 14px; padding: 6px;}

.wm-booking-calendar-surface .wm-week-day-header {text-align: center;}

.wm-booking-calendar-surface .wm-week-slots {padding: 8px; border-radius: 0 0 8px 8px; display: grid; grid-template-columns: repeat(7, 1fr); gap: 10px;}

.wm-booking-calendar-surface .wm-day-slots {display: flex;flex-direction: column;gap: 4px;}

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

.wm-booking-calendar-surface .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-booking-calendar-surface .wm-no-slots {font-size: 20px; text-align: center; color: red; font-weight: bold;}

/* Loading State */
.wm-booking-calendar-surface .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.wm-booking-drawer--events .wm-booking-drawer-panel,
.wm-booking-drawer-panel.wm-booking-drawer-panel--events {width: 100vw !important; max-width: none !important;}
.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-vacation-message {padding: 18px 0; border-radius: 8px; color: var(--wp--preset--color--dark-1); font-size: 20px;}
.wm-vacation-message__text,
.wm-vacation-message__dates-label,
.wm-vacation-message__dates,
.wm-vacation-message__period {margin: 0; padding: 0; line-height: 1.1;}
.wm-vacation-message__period {color: red;}
.wm-booking-drawer .wm-booking-wrapper {max-width: 100%; margin: 0; padding: 0 16px;}
.wm-booking-drawer .wm-form-group {margin-bottom: 8px;}
body.wm-booking-drawer-open {overflow: hidden;}

.wm-admin-customer-search {position: relative; margin-bottom: 8px;}
.wm-admin-customer-search-input {background: var(--wp--preset--color--dark-1); width: 100%; color: var(--wp--preset--color--light-1); padding: 8px; border-radius: 8px; border: 1px solid #4d6c27; transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease; box-sizing: border-box;}
.wm-admin-customer-search-input::placeholder {color: var(--wp--preset--color--light-1); opacity: 1; transition: opacity 0.15s ease;}
.wm-admin-customer-search-input:focus {background: var(--wp--preset--color--light-1); color: var(--wp--preset--color--dark-1); border-color: #4CAF50;}
.wm-admin-customer-search-input:focus::placeholder {opacity: 0;}
.wm-admin-customer-search-results {background: var(--wp--preset--color--dark-1); color: var(--wp--preset--color--light-1); border-color: var(--wp--preset--color--dark-2); z-index: 30;}
.wm-admin-customer-search-input::-webkit-search-cancel-button,
.wm-admin-customer-search-input::-webkit-search-decoration {display: none;}
.wm-admin-customer-search .wm-autocomplete-item,
.wm-admin-customer-search .wm-autocomplete-empty {color: var(--wp--preset--color--light-1);}
.wm-admin-customer-search .wm-autocomplete-item:hover,
.wm-admin-customer-search .wm-autocomplete-item:focus {background: var(--wp--preset--color--dark-2);}
.wm-giftcard-package-search-wrap {position: relative; flex: 1; min-width: 0;}
.wm-giftcard-package-search-results {z-index: 30;}
.wm-autocomplete-list {position: absolute; z-index: 20; left: 0; right: 0; margin: 4px 0 0; padding: 0; list-style: none; background: #fff; border: 1px solid #ccc; border-radius: 4px; box-shadow: 0 4px 12px rgba(0,0,0,.12); max-height: 220px; overflow-y: auto; color: var(--wp--preset--color--dark-1);}
.wm-autocomplete-item, .wm-autocomplete-empty {padding: 2px 8px; cursor: pointer; font-size: 14px; color: var(--wp--preset--color--dark-1);}
.wm-autocomplete-item:hover, .wm-autocomplete-item:focus {background: #f3f4f6;}
.wm-autocomplete-empty {color: #666; cursor: default;}

@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,
.wm-booking-my-purchases-item {display: flex; justify-content: space-between; align-items: center; border: 1px solid var(--wp--preset--color--light-3); border-radius: 8px; padding: 6px; margin-bottom: 10px; line-height: 1.3; 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: 6px; align-items: center; flex-direction: column;}

.wm-booking-my-bookings-col2 .wm-booking-btn, .wm-booking-my-purchases-col2 .wm-booking-btn, .wm-booking-my-purchases-col2 .wm-open-booking-drawer {font-size: var(--wp--preset--font-size--size-1); padding: 2px 10px; border-radius: 6px; width: 100%;}




.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-item .wm-booking-my-bookings-row2 span {font-size: var(--wp--preset--font-size--size-2);}
.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-btn-reschedule {background: var(--wp--preset--color--dark-1, #1d2327); color: #fff; border: 0;}
.wm-booking-my-bookings-modal-actions [hidden] {display: none !important;}
.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-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-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; display: flex; align-items: center;}

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



/* 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; line-height: 1.3; margin: 0;}
.wm-booking-summary .wm-price {font-size: 15px;}

.wm-service-facts__rows {width: fit-content; display: flex; flex-direction: column;}
.wm-service-facts__row {display: flex; align-items: flex-start; flex-direction: column;}
.wm-service-facts__item--start {line-height: 1.4; width: 100%;}
.wm-service-facts__item--end {line-height: 1;}
.wm-price-display {display: flex; border: 1px solid; padding: 4px; align-items: flex-start; border-radius: 4px; flex-direction: column; line-height: 1.2;}
.wm-price-was {color: inherit; text-decoration: line-through; text-decoration-color: #c62828; text-decoration-thickness: 2px;}
.wm-price-member {display: inline-flex; align-items: center; gap: 0.35rem;}
.member-icon {width: 30px; height: 30px; flex-shrink: 0; fill: currentColor;}
.wm-service-facts__time, .wm-service-facts__location {display: inline-flex; align-items: center; gap: 0.35rem; text-decoration: none; color: inherit;}
.wm-service-facts__location:hover {text-decoration: underline;}
.wm-service-facts__icon {width: 1.1em; height: 1.1em; flex-shrink: 0;}
.wm-service-facts__item--end .wm-service-buy-btn, .wm-buy-package-btn {display: inline-block;}

.wm-price-now {width: 100%; display: block;}
.wm-service-facts__item--end {width: 100%!important; box-sizing: border-box;}


.wm-package-card__member-save {display: flex; flex-direction: row; align-items: center; gap: 0.5rem; margin: 0; padding: 8px; border: 1px solid; border-radius: 8px; line-height: 1; font-weight: 600;}
.wm-package-card__member-label {display: flex; flex-direction: column; gap: 0.15rem; line-height: 1;}
.wm-package-card__member-detail {font-weight: 600;}

@media (max-width: 640px) {.wm-service-facts__row {gap: 1rem;}}




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

.wm-form-group input:focus {outline: none;border-color: #4CAF50;}
.wm-checkbox-group label,
.wm-coupon-toggle,
.wm-form-group.wm-membership-addon > label {font-size: 12px;}
.wm-checkbox-group label {display: flex; align-items: center; flex-wrap: wrap;}
.wm-checkbox-group label a {padding-left: 6px; text-decoration: underline !important;}
.wm-checkbox-group input[type="checkbox"] {margin-right: 10px;}

.wm-form-group.wm-package-payment-methods {margin-top: 25px !important;}
.wm-coupon button {padding: 2px 4px; border-radius: 4px; margin-top: 8px;}


.wm-payment-option {display: block; line-height: 1.3;}
#wm-booking-form.wm-clip-only .wm-payment-option:not(.wm-payment-clip) { display: none !important; }
#wm-booking-form.wm-clip-only .wm-payment-clip { display: block !important; }
.wm-payment-option input[type="radio"] {margin-right: 10px;}
.wm-swish-payment {text-align: center; padding: 10px 0;}
.wm-swish-payment .wm-swish-qr {display: block; margin: 12px auto;}
.wm-swish-payment .wm-swish-waiting {margin: 8px 0;}

/* Form Actions */
.wm-form-actions {display: flex;gap: 15px;margin-top: 30px;}
.wm-form-actions .wp-element-button {flex: 1;}
.wm-form-actions .wm-cancel-btn {background: #c8afaf;}
.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: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-cancel-box .wm-booking-details { background: var(--wp--preset--color--dark-1); color: var(--wp--preset--color--light-1); }
.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; padding-inline-start: 0;}
.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;}

.wm-form-group.wm-membership-addon {display: inline-flex; flex-direction: column;}

/* 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; 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-booking-list-section {width: 100%; max-width: 1200px; margin: 0 auto 24px; 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 (layout only; colors/sizes → Card design settings) */
.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;}
.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__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; flex: 1;}

.wm-service-card__meta {display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px; margin: 0;}

.wm-service-card__excerpt,
.wm-package-card__excerpt {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;}

/* 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; line-height: 1;}
.wm-package-card__save {padding: 8px 0 0;}
.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-booking-calendar-surface .wm-calendar-day {min-height: 64px;}
.wm-day-number {font-size: 14px;}

.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;}
}

.wm-giftcard-modal .wm-giftcard-type-option { opacity: 1; transition: opacity 0.15s ease; }
.wm-giftcard-modal.has-card-type-selected .wm-giftcard-type-option { opacity: 0.6; }
.wm-giftcard-modal.has-card-type-selected .wm-giftcard-type-option.is-active { opacity: 1; }
.wm-giftcard-modal .wm-giftcard-type label {
display: block;
font-size: var(--wp--preset--font-size--size-3);
}
.wm-giftcard-modal .wm-giftcard-type label input[type="radio"] { margin: 4px; }
.wm-giftcard-modal .wm-giftcard-amount-row {
display: flex; align-items: center; gap: 8px; flex-wrap: nowrap; margin-bottom: 0; cursor: pointer;
font-size: var(--wp--preset--font-size--size-3);}
.wm-giftcard-modal .wm-giftcard-amount-row input[type="radio"] { flex-shrink: 0; }
.wm-giftcard-modal .wm-giftcard-amount-label { white-space: nowrap; }
.wm-giftcard-modal .wm-giftcard-amount-controls {display: inline-flex; align-items: center; gap: 8px;}

.wm-giftcard-modal .wm-giftcard-amount-controls[hidden] { display: none !important; }
.wm-giftcard-modal .wm-giftcard-amount-input {width: 50px;
text-align: center; padding: 8px 4px; border: 1px solid var(--wp--preset--color--dark-1); border-radius: 6px; font-size: 14px; box-sizing: border-box; flex-shrink: 0; -moz-appearance: textfield;
appearance: textfield;}

.wm-giftcard-modal .wm-giftcard-amount-input::-webkit-outer-spin-button,
.wm-giftcard-modal .wm-giftcard-amount-input::-webkit-inner-spin-button {
-webkit-appearance: none; margin: 0;}

.wm-giftcard-modal .wm-giftcard-amount-currency { white-space: nowrap; }
.wm-giftcard-modal .wm-giftcard-package-row {
display: flex; align-items: center; gap: 8px; flex-wrap: nowrap; margin-bottom: 0; cursor: pointer;
font-size: var(--wp--preset--font-size--size-3);}
.wm-giftcard-modal .wm-giftcard-package-row input[type="radio"] { flex-shrink: 0; }
.wm-giftcard-modal .wm-giftcard-package-label { white-space: nowrap; }
.wm-giftcard-modal .wm-giftcard-package-controls {display: inline-flex; align-items: center; gap: 8px; flex: 1; min-width: 100%;}
.wm-giftcard-modal .wm-giftcard-package-controls[hidden] { display: none !important; }
.wm-giftcard-modal .wm-giftcard-package-search-input {width: 100%; min-width: 140px; flex: 1;
text-align: left; padding: 8px 4px; border: 1px solid var(--wp--preset--color--dark-1); border-radius: 6px; font-size: 14px; box-sizing: border-box; background: transparent; color: inherit;}
.wm-giftcard-modal .wm-giftcard-package-search-input::-webkit-search-cancel-button,
.wm-giftcard-modal .wm-giftcard-package-search-input::-webkit-search-decoration {display: none;}
.wm-giftcard-modal .wm-giftcard-section-title { margin: 20px 0 10px; font-size: 1rem; }
.wm-giftcard-success { padding: 8px 0 4px; text-align: center; }
.wm-giftcard-success__text { margin: 0 0 20px; line-height: 1.55; }
.wm-giftcard-success .wm-giftcard-success-close { margin-top: 4px; }
.wm-booking-gift-cards-list { list-style: none; margin: 0; padding: 0; }
.wm-booking-gift-cards-item { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--wp--preset--color--light-1, #eee); }
.wm-booking-gift-cards-col1 { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.wm-booking-gift-cards-expires { font-size: 0.85rem; color: #666; }




.wm-booking-my-purchases-actions {display: inline-grid; grid-template-columns: 1fr; gap: 6px;}

@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;}
}


@media (max-width: 600px) {
.wm-booking-drawer .wm-booking-wrapper {padding: 0 6px;}
.wm-booking-calendar-surface .wm-slot-btn {padding: 4px; font-size: 11px;}
.wm-booking-list-section {padding: 0;}
.wm-service-list {padding: 0;}
.wm-package-full-width {padding: 0;}
}

@media (max-width: 450px) {
.wm-booking-calendar-surface .wm-calendar-grid {padding: 0; gap: 2px;}
.wm-booking-calendar-surface .wm-calendar-header {padding: 5px;}
.wm-booking-calendar-surface .wm-calendar-day {min-height: 50px;}


.wm-booking-calendar-surface .wm-week-header {font-size: 14px;}
.wm-week-day-header * {font-weight: 200;}
.wm-booking-calendar-surface .wm-week-slots {padding: 4px; gap: 4px;}
}

@media (max-width: 330px) {
.wm-booking-drawer .wm-booking-wrapper, .wm-booking-calendar-surface .wm-calendar-header {padding: 0;}
.wm-booking-calendar-surface .wm-week-header {font-size: 12px;}
.wm-week-day-header * {font-weight: 100;}
.wm-booking-calendar-surface .wm-week-slots {padding: 2px; gap: 2px;}
}





/* wp_nav_menu gift card link (Settings → Gift card in wp-menu) */
.menu-item-giftcard svg {width: 43px !important; height: 43px !important; margin-bottom: -8px; margin-right: -14px;}

.wm-gift-password-modal {position: fixed; inset: 0; z-index: 100050;display: flex; align-items: center; justify-content: center; padding: 16px;}
.wm-gift-password-modal[hidden] {display: none !important;}
.wm-gift-password-modal__backdrop {position: absolute; inset: 0; background: rgba(0, 0, 0, 0.45);}
.wm-gift-password-modal__panel {position: relative; z-index: 1; width: min(100%, 420px); background: #fff; color: #222; border-radius: 10px; padding: 24px; box-shadow: 0 12px 40px rgba(0, 0, 0, 0.2);}
.wm-gift-password-modal__title {margin: 0 0 8px; font-size: 1.15rem;}
.wm-gift-password-modal__body {margin: 0 0 16px; line-height: 1.5;}
.wm-gift-password-modal__field {display: block; margin-bottom: 10px;}
.wm-gift-password-modal__field input {width: 100%; box-sizing: border-box; padding: 10px; border: 1px solid #ccc; border-radius: 8px;}
.wm-gift-password-message {margin: 0 0 12px; color: #b00020;}
.wm-gift-password-modal__actions {display: flex; justify-content: flex-end; gap: 10px; margin-top: 8px;}

.wm-popup-overlay:has(.wm-package-modal) {
	box-sizing: border-box;
	height: 100svh;
	padding: env(safe-area-inset-top, 0px) env(safe-area-inset-right, 0px) env(safe-area-inset-bottom, 0px) env(safe-area-inset-left, 0px);
}
.wm-popup-overlay:has(.wm-package-modal) .wm-popup-content {
	display: flex;
	flex-direction: column;
	max-height: 100%;
	width: min(600px, 100%);
	overflow: hidden;
	box-sizing: border-box;
}
.wm-popup-overlay:has(.wm-package-modal) .wm-package-modal,
.wm-popup-overlay:has(.wm-package-modal) .wm-package-form {
	display: flex;
	flex-direction: column;
	min-height: 0;
	flex: 1 1 auto;
}
.wm-popup-overlay:has(.wm-package-modal) .wm-package-form { overflow-y: auto; -webkit-overflow-scrolling: touch; }
.wm-popup-overlay:has(.wm-package-modal) .wm-form-actions,
.wm-popup-overlay:has(.wm-package-modal) .wm-package-payment {
	position: sticky;
	bottom: 0;
	z-index: 2;
	background: var(--wp--preset--color--light-3, #fff);
	padding-bottom: 12px;
}