/*
Theme Name: MoselWunder 2.0
Template: Impreza
Version: 1.0
Author:	UpSolution
Theme URI: http://impreza.us-themes.com/
Author URI: http://us-themes.com/
*/

/*Add your own styles here:*/

h1.type_typingChars {
    text-shadow: #000 3px 0 10px !important;
}

input.input-person {
    margin-top: -12px;
}

tr.woocommerce-shipping-totals.shipping {
    display: none;
}

.shortlists ul {
    margin-left: 1.2rem;
}

.tippy-tooltip.moselwunder-theme {
    background-color: #5e8927;
    color: #FFFFFF;
}

.availabil{
    stroke-width: 3px !important;
    fill: #ffffff;
    fill-opacity: 0;
    stroke: #ffffff !important;
    stroke-opacity: 1 !important;
}

.col50 {
    width: 50%;
    float: left;
    padding-bottom: 15px;
    padding-top: 45px;
}

.col50.col-left {
    padding-right: 15px;
}

.float-right {
    float: right;
    width: 100%;
}

.alert.alert-danger {
    padding: 15px;
    border: 1px solid #c41a1a;
    border-radius: 4px;
    display: inline-block;
    width: 100%;
    margin-top: 15px;
    background: #c41a1a;
    color: #FFF;
    font-weight: bolder;
}

.mobile-only {
    display: none;
}

@media screen and (max-width: 900px) {
    .mobile-only {
        display: block;
    }
    .product-mobile {
        width: 100%;
        padding: 5px;
        border: 1px solid #FFFFFF;
        border-radius: 5px;
        display: block;
        margin-bottom: 5px;
    }
    .product-mobile a {
        color: #FFFFFF;
    }
    .Kleiner.product-mobile{
        background: #cc0000;
    }
    .Großer.product-mobile {
        background: #800c7f;
    }
    .Wohnmobil.product-mobile {
        background: #f96603;
    }
    .Normaler.product-mobile {
        background: #1c6425;
    }
    .Moselplatz.product-mobile,
    .Mosel.product-mobile {
        background: #4467ac;
    }
    a.btn.btn-success {
        text-align: center;
        width: 100%;
        display: block;
        padding: 15px;
        background: #5d8926;
        border-radius: 5px;
        color: #FFFFFF;
        font-size: 16px;
        font-weight: bold;
        text-transform: uppercase;
    }
}

@media screen and (min-width: 1080px) {
    #broetchen_vorname, #broetchen_nachname, #broetchen_platznummer, #broetchen_email {
        max-width: 48%;
    }
}

#broetchen_vorname, #broetchen_nachname, #broetchen_platznummer, #broetchen_email {
    margin-bottom: 20px;
}

#broetchen_vorname, #broetchen_platznummer {
    margin-right: 40px;
}

button#broetchen_btn {
    margin-top: 10px;
}

.w-dropdown-list-h {
     color: white;
}

/* Basis: Day-Cells positionieren, damit Pseudoelemente sauber clippen */
.ph-calendar-days li.ph-calendar-date {
    position: relative;
    overflow: hidden;
}

/* Variablen:
   --ph-cal-bg          = Hintergrund der freien Kalendertage
   --ph-cal-booked-bg   = Hintergrund der gebuchten Tage (booking-full)
   --ph-cal-selected-bg = Hintergrund ausgewählter Tage */
.ph-calendar-days {
    --ph-cal-bg: #eee;             /* Fallback, JS überschreibt */
    --ph-cal-booked-bg: #bbbbbb;   /* Fallback, JS überschreibt */
    --ph-cal-selected-bg: #6aa3f1; /* Fallback, JS überschreibt */
}

/* Auf Randtagen das vollflächige Grau entfernen – auch im Hover-State,
   sonst überschreibt das Plugin (`.de-active.booking-full:hover`) unsere Regel */
.ph-calendar-date.ph-booking-start.booking-full,
.ph-calendar-date.ph-booking-end.booking-full,
.ph-calendar-date.ph-booking-start.booking-full:hover,
.ph-calendar-date.ph-booking-end.booking-full:hover {
    background: transparent !important;
}

/* Randtag ist ausgewählt oder Teil der aktiven Selektion (inkl. Hover):
   Obere Hälfte muss die Auswahlfarbe zeigen */
.ph-calendar-date.ph-booking-start.booking-full.selected-date,
.ph-calendar-date.ph-booking-start.booking-full.mouse_hover,
.ph-calendar-date.ph-booking-start.booking-full.selected-date:hover,
.ph-calendar-date.ph-booking-start.booking-full.mouse_hover:hover,
.ph-calendar-date.ph-booking-end.booking-full.selected-date,
.ph-calendar-date.ph-booking-end.booking-full.mouse_hover,
.ph-calendar-date.ph-booking-end.booking-full.selected-date:hover,
.ph-calendar-date.ph-booking-end.booking-full.mouse_hover:hover {
    background: var(--ph-cal-selected-bg) !important;
}

/* START-Kante: untere rechte Hälfte grau (Nachmittag = gebucht),
   obere Hälfte zeigt Auswahlfarbe/Freifarbe */
.ph-calendar-date.ph-booking-start::before {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--ph-cal-booked-bg);
    clip-path: polygon(100% 0, 100% 100%, 0 100%);
    pointer-events: none;
    z-index: 1;
}

/* END-Kante: untere linke Hälfte grau (Vormittag = gebucht),
   obere Hälfte zeigt Auswahlfarbe/Freifarbe */
.ph-calendar-date.ph-booking-end::after {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--ph-cal-booked-bg);
    clip-path: polygon(0 0, 100% 100%, 0 100%);
    pointer-events: none;
    z-index: 1;
}

/* Zahl auf gebuchten Tagen dunkel statt weiß – damit über dem Grau lesbar */
.ph-calendar-date.booking-full,
.ph-calendar-date.booking-full:hover,
.ph-calendar-date.booking-full.de-active:hover {
    color: #333 !important;
}
.ph-calendar-date.booking-full span {
    color: #333 !important;
    position: relative;
    z-index: 2;
}

li:last-child.ph-calendar-date {
    margin-bottom: 5px !important;
}