/**
 * ╔═══════════════════════════════════════════════════════════════════════════╗
 * ║                                                                           ║
 * ║     🌿 KENKATSU ZEN - PÁGINA PRODUCTO PREMIUM                             ║
 * ║     Diseño unificado, equilibrado y profesional                           ║
 * ║     "Quiet Luxury" - Mínima interferencia, Máxima elegancia               ║
 * ║                                                                           ║
 * ╚═══════════════════════════════════════════════════════════════════════════╝
 */

/* NOTA: Las variables de color ahora están centralizadas en kenkatsu-color-system.css
   Este archivo usa las variables del sistema unificado para mantener compatibilidad */

/* ═══════════════════════════════════════════════════════════════════════════
   RESET & LAYOUT ESTRUCTURAL - GRID MAESTRO
   ═══════════════════════════════════════════════════════════════════════════ */

body.single-product {
    background-color: var(--kenkatsu-bg) !important;
}

body.single-product #main {
    padding-top: 130px !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   NOTA: Los estilos del layout 2 columnas están en woocommerce-single-product-layout.css
   Este archivo (zen.css) contiene solo variables CSS y estilos base
   ═══════════════════════════════════════════════════════════════════════════ */

@media (min-width: 992px) {
    .single-product div.product,
    .single-product .kenkatsu-hero-grid {
        grid-template-columns: 1.2fr 0.8fr !important;
        /* Left column slightly wider for info */
        padding: 60px 40px !important;
        column-gap: 80px !important;
    }
}

/* 🧱 ESTRUCTURA DE CONTENIDOS (Grid Area Splitting) */
.single-product .summary.entry-summary {
    display: contents !important;
    /* Permite que los hijos del summary participen en el grid del padre */
}

/* LADO IZQUIERDO: Visuales + Bio */
.single-product .woocommerce-product-gallery {
    grid-column: 1 !important;
    grid-row: 1 !important;
    margin: 0 0 50px 0 !important;
    /* More space below gallery */
    width: 100% !important;
}

.single-product .product_title,
.single-product .kenkatsu-product-title {
    grid-column: 1 !important;
    grid-row: 2 !important;
    font-size: 3.4rem !important;
    /* Slightly larger since there's more space */
    margin-bottom: 25px !important;
}

.single-product .price,
.single-product .kenkatsu-product-price {
    grid-column: 1 !important;
    grid-row: 3 !important;
    margin-bottom: 40px !important;
}

.single-product .summary.entry-summary .woocommerce-tabs {
    grid-column: 1 !important;
    grid-row: 4 !important;
    margin-top: 0 !important;
}

/* LADO DERECHO: El Calendario (Acción) */
.single-product form.cart {
    grid-column: 1 !important;
    /* Default mobile */
    grid-row: auto !important;
}

@media (min-width: 992px) {
    .single-product form.cart {
        grid-column: 2 !important;
        grid-row: 1 / span 10 !important;
        /* Spans across all left rows */
        position: sticky !important;
        top: 140px;
        margin: 0 !important;
    }
}

/* ═══════════════════════════════════════════════════════════════════════════
   TIPOGRAFÍA Y CONTENIDO - QUIET LUXURY
   ═══════════════════════════════════════════════════════════════════════════ */

.single-product .product_title,
.single-product .kenkatsu-product-title {
    font-family: 'Lora', 'Playfair Display', serif !important;
    font-size: 3.8rem !important;
    font-weight: 500 !important;
    line-height: 1.1 !important;
    color: var(--kenkatsu-text-dark);
    margin: 0 0 25px 0 !important;
    letter-spacing: -0.02em !important;
}

.single-product .price,
.single-product .kenkatsu-product-price {
    font-family: 'Lato', sans-serif !important;
    font-size: 2.2rem !important;
    color: #1F5E6B !important;
    /* Elegant Deep Teal */
    font-weight: 400 !important;
    margin-bottom: 40px !important;
    display: flex !important;
    align-items: center;
    gap: 12px;
    letter-spacing: -0.01em;
}

.single-product .price del {
    font-size: 1.2rem;
    opacity: 0.5;
}

/* Pestañas (Descripción/Valoraciones) - Integradas en el summary */
.single-product .summary.entry-summary .woocommerce-tabs {
    margin-top: 30px !important;
    border-top: none !important;
    padding-bottom: 30px;
    border-bottom: 1px solid var(--kenkatsu-border);
}

.single-product .summary.entry-summary .woocommerce-tabs ul.tabs {
    justify-content: flex-start !important;
    padding: 15px 0 !important;
    gap: 25px !important;
}

.single-product .summary.entry-summary .woocommerce-tabs ul.tabs li a {
    font-size: 1rem !important;
    font-family: 'Lato', sans-serif !important;
    font-weight: 600 !important;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.single-product .summary.entry-summary .woocommerce-tabs .woocommerce-Tabs-panel {
    padding: 20px 0 !important;
}

.single-product .summary.entry-summary .woocommerce-tabs .woocommerce-Tabs-panel p {
    font-size: 1.05rem;
    line-height: 1.7;
    color: var(--kenkatsu-text-medium);
}

/* ═══════════════════════════════════════════════════════════════════════════
   EL CALENDARIO DE RESERVAS - EL PROTAGONISTA
   ═══════════════════════════════════════════════════════════════════════════ */

/* Contenedor del formulario/calendario - Quiet Luxury Box */
/* NOTA: Los estilos específicos de .kenkatsu-product-right-column están en layout.css */
.single-product form.cart {
    background: #FFFFFF !important;
    padding: 40px !important;
    border-radius: 20px !important;
    box-shadow: var(--kenkatsu-shadow-premium) !important;
    border: 1px solid rgba(230, 220, 207, 0.6) !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    z-index: 10;
    /* ASEGURAR QUE EL CONTENEDOR Y SU CONTENIDO SEAN VISIBLES */
    visibility: visible !important;
    opacity: 1 !important;
}

/* ASEGURAR QUE TODOS LOS ELEMENTOS DEL CALENDARIO PLUGINHIVE SEAN VISIBLES */
/* NOTA: Los estilos para .kenkatsu-product-right-column se controlan en woocommerce-single-product-layout.css */
/* Estos estilos solo se aplican fuera de la columna derecha personalizada */
/* (La columna derecha tiene mayor especificidad en layout.css) */

/* FIX: Celdas del calendario desordenadas */
/* Reset total para el calendario del plugin - EXCLUYENDO la columna derecha personalizada */
/* NOTA: Los estilos dentro de .kenkatsu-product-right-column se controlan en woocommerce-single-product-layout.css */
/* IMPORTANTE: No aplicar estos estilos dentro de .kenkatsu-product-right-column para evitar conflictos */

/* Para otros contextos (no productos o fuera de la columna derecha) */
body:not(.single-product) .phive-book-calendar,
body:not(.single-product) .ph-calendar-container {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    z-index: 1 !important;
}

/* Calendario Phive Booking - El Arte del Tiempo */
.phive-book-calendar table {
    border-collapse: separate !important;
    border-spacing: 6px !important;
    width: 100% !important;
    border: none !important;
}

.phive-book-calendar th {
    font-family: 'Lato', sans-serif !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    font-size: 0.65rem !important;
    letter-spacing: 0.15em;
    color: var(--kenkatsu-neutral) !important;
    padding: 10px 0 !important;
    opacity: 0.8;
}

.phive-book-calendar td {
    padding: 16px 2px !important;
    border: none !important;
    text-align: center !important;
    font-family: 'Lato', sans-serif !important;
    font-size: 0.95rem !important;
    color: #D1D1CB;
    background: rgba(250, 250, 248, 0.4) !important;
    border-radius: 10px;
    transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
    position: relative;
    border: 1px solid transparent !important;
}

.phive-book-calendar table {
    table-layout: fixed !important;
    border-spacing: 8px !important;
}

/* Días disponibles - USANDO VARIABLES DEL SISTEMA UNIFICADO */
.phive-book-calendar td.available {
    background: var(--kenkatsu-calendar-available-bg) !important;
    border: 1px solid var(--kenkatsu-calendar-available-border) !important;
    color: var(--kenkatsu-calendar-available-text) !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    box-shadow: var(--kenkatsu-shadow-xs) !important;
    transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
}

.phive-book-calendar td.available:hover {
    background: var(--kenkatsu-calendar-available-hover-bg) !important;
    color: var(--kenkatsu-calendar-available-hover-text) !important;
    border-color: var(--kenkatsu-calendar-available-hover-bg) !important;
    transform: translateY(-3px) !important;
    box-shadow: var(--kenkatsu-shadow-primary-lg) !important;
}

/* ============================================
   ESTILOS DE SELECCIÓN DE CALENDARIO PLUGINHIVE
   Cubre todas las variantes posibles de clases activas/seleccionadas
   ============================================ */

/* Variante 1: .selected-date (clase estándar del plugin) - USANDO VARIABLES DEL SISTEMA UNIFICADO */
.phive-book-calendar td.selected-date,
.phive-book-calendar td.selected,
.phive-book-calendar td.active,
.phive-book-calendar td[class*="selected"],
.phive-book-calendar td[class*="active"],
.phive-book-calendar .ui-datepicker-current-day,
.phive-book-calendar td.ui-datepicker-current-day,
.phive-book-calendar td.ui-state-active,
.phive-book-calendar td.ui-state-selected,
/* También aplicar a elementos con estilos inline de selección */
.phive-book-calendar td[style*="background"],
.phive-book-calendar td[style*="background-color"] {
    background-color: var(--kenkatsu-calendar-selected-bg) !important;
    background: var(--kenkatsu-calendar-selected-bg) !important;
    color: var(--kenkatsu-calendar-selected-text) !important;
    border-color: var(--kenkatsu-calendar-selected-border) !important;
    border: 2px solid var(--kenkatsu-calendar-selected-border) !important;
    font-weight: bold !important;
    box-shadow: var(--kenkatsu-calendar-selected-shadow) !important;
    z-index: 2 !important;
    position: relative !important;
}

/* Asegurar que los días seleccionados en productos de fecha única también se pinten */
/* CORREGIDO: El calendario usa <li> con clase ph-calendar-date, no <td> */
/* Reglas para elementos <li> (formato actual del plugin) */
.kenkatsu-product-right-column .ph-calendar-days.ph-ul-date .ph-calendar-date.selected,
.kenkatsu-product-right-column .ph-calendar-days.ph-ul-date .ph-calendar-date.active,
.kenkatsu-product-right-column .ph-calendar-days.ph-ul-date .ph-calendar-date[class*="selected"],
.kenkatsu-product-right-column .ph-calendar-days.ph-ul-date .ph-calendar-date[class*="active"],
.kenkatsu-product-right-column .ph-calendar-days.ph-ul-date .ph-calendar-date.kenkatsu-selected-day,
body.single-product .kenkatsu-product-right-column .ph-calendar-days.ph-ul-date .ph-calendar-date.selected,
body.single-product .kenkatsu-product-right-column .ph-calendar-days.ph-ul-date .ph-calendar-date.active,
body.single-product .kenkatsu-product-right-column .ph-calendar-days.ph-ul-date .ph-calendar-date[class*="selected"],
body.single-product .kenkatsu-product-right-column .ph-calendar-days.ph-ul-date .ph-calendar-date[class*="active"],
body.single-product .kenkatsu-product-right-column .ph-calendar-days.ph-ul-date .ph-calendar-date.kenkatsu-selected-day {
    background-color: #1F5E6B !important;
    background: #1F5E6B !important;
    color: #FFFFFF !important;
    border-color: #1F5E6B !important;
    border: 2px solid #1F5E6B !important;
    box-shadow: 0 8px 25px rgba(31, 94, 107, 0.35) !important;
}

/* Reglas para elementos <td> (formato antiguo, por compatibilidad) - USANDO VARIABLES */
.kenkatsu-product-right-column .phive-book-calendar td.selected-date,
.kenkatsu-product-right-column .phive-book-calendar td.selected,
.kenkatsu-product-right-column .phive-book-calendar td.active,
.kenkatsu-product-right-column .phive-book-calendar td[class*="selected"],
.kenkatsu-product-right-column .phive-book-calendar td[class*="active"],
body.single-product .kenkatsu-product-right-column .phive-book-calendar td.selected-date,
body.single-product .kenkatsu-product-right-column .phive-book-calendar td.selected,
body.single-product .kenkatsu-product-right-column .phive-book-calendar td.active,
body.single-product .kenkatsu-product-right-column .phive-book-calendar td[class*="selected"],
body.single-product .kenkatsu-product-right-column .phive-book-calendar td[class*="active"] {
    background-color: var(--kenkatsu-calendar-selected-bg) !important;
    background: var(--kenkatsu-calendar-selected-bg) !important;
    color: var(--kenkatsu-calendar-selected-text) !important;
    border-color: var(--kenkatsu-calendar-selected-border) !important;
    border: 2px solid var(--kenkatsu-calendar-selected-border) !important;
    box-shadow: var(--kenkatsu-calendar-selected-shadow) !important;
}

/* Asegurar que elementos hijos también tengan texto blanco - USANDO VARIABLES */
.kenkatsu-product-right-column .ph-calendar-days.ph-ul-date .ph-calendar-date.selected *,
.kenkatsu-product-right-column .ph-calendar-days.ph-ul-date .ph-calendar-date.active *,
.kenkatsu-product-right-column .ph-calendar-days.ph-ul-date .ph-calendar-date[class*="selected"] *,
.kenkatsu-product-right-column .ph-calendar-days.ph-ul-date .ph-calendar-date[class*="active"] *,
.kenkatsu-product-right-column .ph-calendar-days.ph-ul-date .ph-calendar-date.kenkatsu-selected-day *,
.kenkatsu-product-right-column .phive-book-calendar td.selected-date *,
.kenkatsu-product-right-column .phive-book-calendar td.selected *,
.kenkatsu-product-right-column .phive-book-calendar td.active * {
    color: var(--kenkatsu-calendar-selected-text) !important;
}

/* Variante 2: Clases aplicadas a elementos hijos (span, a, div) - USANDO VARIABLES */
.phive-book-calendar td.selected-date span,
.phive-book-calendar td.selected span,
.phive-book-calendar td.active span,
.phive-book-calendar td.selected-date a,
.phive-book-calendar td.selected a,
.phive-book-calendar td.active a,
.phive-book-calendar td.selected-date div,
.phive-book-calendar td.selected div,
.phive-book-calendar td.active div {
    color: var(--kenkatsu-calendar-selected-text) !important;
    font-weight: bold !important;
}

/* Variante 3: Clase personalizada de Kenkatsu (fallback JavaScript) - USANDO VARIABLES */
.phive-book-calendar td.kenkatsu-force-selected,
.phive-book-calendar td.kenkatsu-selected-day {
    background-color: var(--kenkatsu-calendar-selected-bg) !important;
    color: var(--kenkatsu-calendar-selected-text) !important;
    border-color: var(--kenkatsu-calendar-selected-border) !important;
    font-weight: bold !important;
    box-shadow: var(--kenkatsu-calendar-selected-shadow) !important;
    z-index: 2 !important;
    position: relative !important;
}

/* Asegurar que pseudo-elementos no cubran el color */
.phive-book-calendar td.selected-date::before,
.phive-book-calendar td.selected::before,
.phive-book-calendar td.active::before,
.phive-book-calendar td.kenkatsu-force-selected::before,
.phive-book-calendar td.kenkatsu-selected-day::before {
    display: none !important;
}

.phive-book-calendar td.selected-date::after,
.phive-book-calendar td.selected::after,
.phive-book-calendar td.active::after,
.phive-book-calendar td.kenkatsu-force-selected::after,
.phive-book-calendar td.kenkatsu-selected-day::after {
    display: none !important;
}

/* Días no disponibles - USANDO VARIABLES DEL SISTEMA UNIFICADO */
.phive-book-calendar td.not-available,
.phive-book-calendar td.de-active,
.phive-book-calendar td.booking-disabled {
    background: var(--kenkatsu-calendar-disabled-bg) !important;
    border: 1px solid var(--kenkatsu-calendar-disabled-border) !important;
    color: var(--kenkatsu-calendar-disabled-text) !important;
    pointer-events: none !important;
    opacity: var(--kenkatsu-calendar-disabled-opacity) !important;
    cursor: not-allowed !important;
    box-shadow: none !important;
}

/* Glow para la imagen Zen */
.bright-image {
    filter: brightness(1.15) contrast(1.05);
    box-shadow: 0 15px 35px rgba(140, 129, 116, 0.2), 0 0 20px rgba(230, 220, 207, 0.4) !important;
    transition: all 0.5s ease;
}

.bright-image:hover {
    filter: brightness(1.2) contrast(1.1);
    transform: scale(1.02);
}

.date-picker-wraper #phive_book_date_selector,
.phive-date-selector {
    background: #FFFFFF !important;
    border: 3px solid var(--kenkatsu-secondary) !important;
    padding: 22px !important;
    border-radius: 12px !important;
    font-family: 'Lora', serif !important;
    font-style: italic;
    font-size: 1.15rem !important;
    color: var(--kenkatsu-secondary) !important;
    text-align: center !important;
    cursor: pointer !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    width: 100% !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 4px 15px rgba(31, 94, 107, 0.05) !important;
}

.date-picker-wraper #phive_book_date_selector:hover {
    background: var(--kenkatsu-bg) !important;
    border-color: var(--kenkatsu-primary) !important;
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(31, 94, 107, 0.1) !important;
}

/* Si es una LISTA (UL/LI) */
.ph-calendar-days,
#ph-calendar-days {
    display: grid !important;
    grid-template-columns: repeat(7, 1fr) !important;
    gap: 10px !important;
    padding: 15px 0 !important;
    list-style: none !important;
    /* ASEGURAR VISIBILIDAD */
    visibility: visible !important;
    opacity: 1 !important;
}

.ph-calendar-days li {
    aspect-ratio: 1 / 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: var(--kenkatsu-white) !important;
    border: 1px solid #F3F3F1 !important;
    border-radius: 12px !important;
    font-weight: 500 !important;
    transition: all 0.3s cubic-bezier(0.23, 1, 0.32, 1) !important;
    width: 100% !important;
}

/* EXCLUIR celdas de hora del aspect-ratio 1:1 */
.ph-calendar-days.ph-ul-time li,
#ph-calendar-time li,
.time-picker .ph-calendar-days li,
.time-picker-wraper #ph-calendar-time li,
.kenkatsu-product-right-column #ph-calendar-time li,
.kenkatsu-product-right-column .ph-calendar-days.ph-ul-time li {
    aspect-ratio: auto !important;
    width: auto !important;
    min-height: 35px !important;
    height: 35px !important;
    max-height: 40px !important;
    padding: 6px 12px !important;
    margin: 2px !important;
    flex: 0 0 auto !important;
}

/* Fix para el texto de información de booking */
#booking_info_text {
    background: #FAFAF8 !important;
    border: 1px solid #E6DCCF !important;
    padding: 20px !important;
    border-radius: 8px !important;
    margin: 25px 0 !important;
    font-family: 'Lora', serif !important;
    font-style: italic;
    font-size: 1.1rem;
    color: #1F5E6B !important;
    text-align: center;
}

/* ═══════════════════════════════════════════════════════════════════════════
   BOTÓN "RESERVAR AHORA" - PREMIUM DASH
   ═══════════════════════════════════════════════════════════════════════════ */

.single-product .single_add_to_cart_button,
.single-product .kenkatsu-add-to-cart {
    width: 100% !important;
    background-color: #1F5E6B !important;
    /* Deep Teal Sólido */
    color: #FFFFFF !important;
    height: auto !important;
    min-height: 70px !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 20px 30px !important;
    border-radius: 14px !important;
    font-size: 1.2rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.15em !important;
    border: none !important;
    box-shadow: 0 15px 40px rgba(31, 94, 107, 0.4) !important;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
    margin: 30px 0 0 0 !important;
    cursor: pointer !important;
    opacity: 1 !important;
    filter: none !important;
    visibility: visible !important;
    line-height: 1 !important;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2) !important;
    -webkit-appearance: none;
    appearance: none;
    gap: 12px !important;
    /* Espacio entre icono y texto */
}

/* Forzar el color Deep Teal incluso si está deshabilitado */
.single-product .single_add_to_cart_button:disabled,
.single-product .single_add_to_cart_button[disabled],
.single-product .single_add_to_cart_button.disabled {
    background-color: #1F5E6B !important;
    color: #FFFFFF !important;
    opacity: 0.7 !important;
    /* Sutil transparencia pero manteniendo el color base */
    cursor: not-allowed !important;
    box-shadow: 0 5px 15px rgba(31, 94, 107, 0.2) !important;
}

.single-product .single_add_to_cart_button::before {
    content: '✦' !important;
    font-size: 1.4rem !important;
    display: inline-block !important;
    line-height: 1 !important;
    margin: 0 !important;
    /* El gap del padre maneja el espacio */
}

.single-product .single_add_to_cart_button:hover:not(:disabled) {
    background-color: #164851 !important;
    transform: translateY(-4px) scale(1.01);
    box-shadow: 0 20px 50px rgba(31, 94, 107, 0.5) !important;
}

.single-product .single_add_to_cart_button:active:not(:disabled) {
    transform: translateY(-1px);
}

/* ═══════════════════════════════════════════════════════════════════════════
   SECCIONES SECUNDARIAS (TABS & RELATED)
   ═══════════════════════════════════════════════════════════════════════════ */

.woocommerce-tabs {
    margin-top: 80px !important;
    border-top: 1px solid var(--kenkatsu-border);
}

.woocommerce-tabs ul.tabs {
    display: flex !important;
    justify-content: center;
    gap: 30px;
    margin: 0 !important;
    padding: 30px 0 !important;
    border-bottom: 1px solid var(--kenkatsu-border) !important;
}

.woocommerce-tabs ul.tabs li {
    background: transparent !important;
    border: none !important;
}

.woocommerce-tabs ul.tabs li a {
    font-family: 'Lora', serif;
    font-size: 1.2rem;
    color: var(--kenkatsu-text-light);
    text-decoration: none;
    padding-bottom: 10px;
    position: relative;
}

.woocommerce-tabs ul.tabs li.active a {
    color: var(--kenkatsu-text-dark);
}

.woocommerce-tabs ul.tabs li.active a::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: #1F5E6B;
}

/* NOTA: Los productos relacionados automáticos de WooCommerce están ocultos
   Los productos relacionados se muestran manualmente al final del template
   Ver: woocommerce-single-product-layout.css para estilos de .kenkatsu-related-section */
.related.products {
    display: none !important;
}

/* Responsive Fixes */
@media (max-width: 768px) {
    .single-product .product_title {
        font-size: 2.4rem !important;
    }

    /* form.cart: padding controlado por woocommerce-single-product-layout.css */

    .phive-book-calendar td {
        padding: 8px 2px !important;
        font-size: 0.9rem !important;
    }
}

/* Móvil — Ajustes adicionales del Zen para máximo ancho de calendario */
@media (max-width: 767px) {
    body.single-product #main {
        padding-top: 90px !important;
    }

    .single-product .single_add_to_cart_button {
        min-height: 56px !important;
        padding: 16px 20px !important;
        font-size: 1rem !important;
        margin-top: 16px !important;
    }

    .single-product .single_add_to_cart_button::before {
        font-size: 1.1rem !important;
    }

    .ph-calendar-days,
    #ph-calendar-days {
        gap: 5px !important;
        padding: 8px 0 !important;
    }

    .ph-calendar-days li {
        border-radius: 8px !important;
    }
}

@media (max-width: 480px) {
    body.single-product #main {
        padding-top: 75px !important;
    }

    .ph-calendar-days,
    #ph-calendar-days {
        gap: 3px !important;
        padding: 4px 0 !important;
    }
}