/*
Theme Name: nmad-theme
Theme URI: https://www.piandpi.de
Author: Pi&Pi
Author URI: https://www.piandpi.de
Text Domain: nmad-theme
*/

html {
    box-sizing:border-box;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-smooth: antialiased;
    text-rendering: optimizeLegibility;
    word-wrap: normal;
    font-variant-ligatures: common-ligatures;
    -webkit-font-feature-settings: "liga", "clig";
    -moz-font-feature-settings: "liga", "clig";
    font-feature-settings: "liga", "clig";
    -webkit-font-feature-settings: "liga", "lnum";
    -moz-font-feature-settings: "liga", "lnum";
    font-feature-settings: "liga", "lnum";
    position: relative;
    -webkit-tap-highlight-color: rgba(0,0,0,0);
    height: 100%;
    margin-top: 0 !important;
    overflow-x: hidden;
}
*,
*::before,
*::after {
    box-sizing: inherit;
}
body {
    margin: 0;
    padding: 0;
}

/* Headings */
h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a {
    color:inherit;
    text-decoration: none !important;
}

/* header */


/* menu */
.wp-block-navigation ul:not(.wp-block-navigation__submenu-container) {
    gap:0.5rem;
}
.wp-block-navigation ul:not(.wp-block-navigation__submenu-container) > li.has-child {
    flex-wrap: wrap;
    justify-content: center;
}
.wp-block-navigation ul:not(.wp-block-navigation__submenu-container) > li > a{
    padding:1rem 1.5rem;
    font-weight: bold;
    font-size: 1.2rem;
}
.wp-block-navigation ul > li {
    cursor: pointer;
}
.wp-block-navigation ul > li:hover > a,
.wp-block-navigation ul > li.current-menu-item > a{
    font-weight: bold;
}
.wp-block-navigation ul:not(.wp-block-navigation__submenu-container) > li.has-child > a{
    padding:1rem 0.5rem 1rem 1.5rem;
}
.wp-block-navigation ul:not(.wp-block-navigation__submenu-container) > li.has-child > .wp-block-navigation__submenu-icon svg path{
    stroke-width:3;
}
.wp-block-navigation ul.wp-block-navigation__submenu-container {
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    border:none !important;
    padding:0;
    position: relative !important;
}
.wp-block-navigation .has-child:not(.open-on-click):hover > ul.wp-block-navigation__submenu-container {
    padding:0.5rem 3rem 1.5rem;
}
.wp-block-navigation ul.wp-block-navigation__submenu-container > li > a{
    padding:1rem 0;
}
.wp-block-navigation ul.wp-block-navigation__submenu-container > li:last-child > a{
    border-bottom: none;
}

.wp-block-social-links, .wp-block-social-links.has-normal-icon-size {
    font-size:20px;
}



/* widths */
.alignfull {
    margin-right: auto;
    margin-left: auto;
    width: 100%;
    margin-top: 3rem;
}
.alignwide {
   width:90%;
   margin-left:auto;
   margin-right:auto;
 }
.wp-block-cover.alignfull > .wp-block-cover__inner-container,
.wp-block-group.alignfull {
   width:100%;
 }
.entry-content > :not(.alignwide):not(.alignfull),
.wp-block-cover.alignfull > .wp-block-cover__inner-container > :not(.alignwide):not(.alignfull),
.wp-block-group.alignfull > :not(.alignwide):not(.alignfull) {
    width:90%;
    margin-left:auto;
    margin-right:auto;
}

/* paddings and margins for alignfull blocks */
.wp-block-group.alignfull.has-background,
.wp-block-cover.alignfull{
    padding:3rem 0;
}
.alignfull + * {
    margin-top: 3rem;
}
.alignfull + .alignfull,
.alignfull + footer {
    margin-top: 0 !important;
}
.entry-content > *:last-child:not(.alignfull) {
    margin-bottom:3rem;
}

/* padding for background-color-boxes */
/*
.entry-content .wp-block-group.has-background:not(.alignfull), .wp-block-media-text.has-background .wp-block-media-text__content {
    padding:2em;
    box-sizing: border-box;
} */

/* cover-blocks */
.wp-block-cover.alignfull.has-custom-content-position {
  padding:2rem !important;
}

/* contactform7 -----------------------------------------------------------------------------------------------------------*/
/* general styling for contactform "Buchungsform" */
.wpcf7-form {
    max-width: 600px;
    margin: 0 auto;
    font-family: 'Inter', sans-serif;
    color: #024e57;
}

/* Label styling */
.wpcf7-form label {
    display: block;
    font-weight: bold;
    margin-bottom: 5px;
    font-family: 'Libre Baskerville', serif;
}

/* textarea without borders */
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form input[type="url"],
.wpcf7-form textarea {
    width: 100%;
    padding: 12px;
    border: none;
    border-bottom: 2px solid #024e57;  /* decent bottom line for clearer structure */
    background-color: #f8f9fa;
    border-radius: 4px;
    font-size: 16px;
    color: #024e57;
    outline: none;
    transition: all 0.3s ease-in-out;
}

/* Hover- and focus-effect */
.wpcf7-form input:focus,
.wpcf7-form textarea:focus {
    border-bottom: 2px solid #028a9e; /* focus = brighter colour*/
    background-color: #ffffff;
}

/* Styling for textarea */
.wpcf7-form textarea {
    min-height: 150px;
    resize: vertical;
}

/* send-button */
.wpcf7-form input[type="submit"] {
    background-color: #024e57;
    color: white;
    font-size: 18px;
    font-weight: bold;
    padding: 12px 24px;
    border: none;
    border-radius: 30px;
    cursor: pointer;
    transition: background-color 0.3s ease-in-out, transform 0.2s ease-in-out;
}

/* button hover effect */
.wpcf7-form input[type="submit"]:hover {
    background-color: #028a9e;
    transform: translateY(-2px);
}

/* error and send messages */
.wpcf7-response-output {
    font-size: 14px;
    font-weight: bold;
    padding: 10px;
    border-radius: 5px;
    text-align: center;
}

/* more error msg */
.wpcf7-not-valid-tip {
    color: #d9534f;
    font-size: 14px;
    margin-top: 5px;
}

/* successful msg */
.wpcf7-form.sent .wpcf7-response-output {
    color: #155724;
    background-color: #d4edda;
    border: 1px solid #c3e6cb;
}

/* boooking button */
.sticky-booking-button {
    position: fixed;
    bottom: 20px;
    right: 20px;
    background-color: transparent;
    color: #024e57;
    padding: 6px 12px; /* Reduced padding */
    font-size: 14px; /* Smaller font size */
    font-family: 'Libre Baskerville', serif;
    font-weight: bold;
    text-align: center;
    border-radius: 0px;
    z-index: 9999;
    text-decoration: none;
    transition: all 0.3s ease-in-out;
}


.sticky-booking-button:hover {
    background-color: #c4ccc4;
    color: #013a42;
}

/* media queries -------------------------------------------------------------------------------------------------------------------------------------------- */
@media only screen and (min-width: 600px) {
   
}
/* hero-section-wrapper*/
.hero-section-wrapper {
    flex-direction: column;
    height: auto;
}
.hero-section-wrapper .image-section {
    width: 100vw;
    height: 50vh;
}


@media only screen and (min-width: 990px) {
    /* cover-blocks */
    .wp-block-cover.alignfull.has-custom-content-position {
        padding:8rem !important;
    }
}
    /* herso-section-wrapper */

    
    .hero-section-wrapper {
        display: flex;
        width: 100dvw;
        height: 100vh;
    }
    
    .hero-section-wrapper img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    /* main menu */
    .wp-block-navigation ul:not(.wp-block-navigation__submenu-container) > li.has-child {
        flex-wrap: nowrap;
        justify-content: center;
        margin-right: 1.5rem;
    }
    .wp-block-navigation ul:not(.wp-block-navigation__submenu-container) > li:last-child > a{
        padding-right:0;
    }
    .wp-block-navigation ul.wp-block-navigation__submenu-container {
        left: -1rem !important;
        right: auto !important;
        width: auto !important;
        -webkit-box-shadow: 0px 10px 30px -10px rgba(0,0,0,0.1);
        -moz-box-shadow: 0px 10px 30px -10px rgba(0,0,0,0.1);
        box-shadow: 0px 10px 30px -10px rgba(0,0,0,0.1);
        padding:0.5rem 3rem 1.5rem;
        min-width: 250px !important;
        position: absolute !important;
    }

    /* paddings and margins for alignfull blocks */
    .alignfull {
        margin-top:6rem;
    }
    .wp-block-group.alignfull.has-background,
    .wp-block-cover.alignfull{
        padding:6rem 0;
    }
    .alignfull + * {
        margin-top: 6rem;
    }
    .entry-content > *:last-child:not(.alignfull) {
        margin-bottom:6rem;
    }


/* special media query for content width plus 10vw */
@media only screen and (min-width: calc(1200px + 10vw)) {
   
}