/**
 * Theme Name: Blocksy Child
 * Description: Blocksy Child theme
 * Author: Creative Themes
 * Template: blocksy
 * Text Domain: blocksy
 */

/* =============================================================================
   Theme Palette (Referenz – wird von Blocksy gesetzt, nicht hier)
   =============================================================================
   --theme-palette-color-1: #cfae5a  (Gold)
   --theme-palette-color-2: #b8963f  (Gold dunkel)
   --theme-palette-color-3: #3a2a1a  (Dunkelbraun, Haupttext)
   --theme-palette-color-4: #2f2015  (Dunkelbraun tief)
   --theme-palette-color-5: #9b8c7a  (Graubraun, Nebentext)
   --theme-palette-color-6: #e6ded4  (Hellbeige, Borders)
   --theme-palette-color-7: #fbf8f3  (Fast Weiß, Hintergrund)
   --theme-palette-color-8: #f2ede6  (Warmweiß, Hintergrund alt)
   ============================================================================= */

/* =============================================================================
   Custom Properties
   ============================================================================= */

:root {
    /* Accent – direkte Werte, da rgba()-Varianten nicht aus Palette ableitbar */
    --solvida-accent-tint:        rgba(207, 174, 90, 0.10);
    --solvida-accent-halo:        rgba(207, 174, 90, 0.18);
    --solvida-accent-halo-strong: rgba(207, 174, 90, 0.25);

    /* Highlight (inline Text) */
    --solvida-highlight-bg:       rgba(207, 174, 90, 0.14);

    /* Text auf farbigem Hintergrund */
    --solvida-text-on-accent:     #ffffff;

    /* Borders */
    --solvida-border:             rgba(0, 0, 0, 0.15);
	--theme-form-field-border-initial-color: var(--solvida-border);

    /* Notice (Fehler) */
    --solvida-notice:             #c0392b;
    --solvida-notice-bg:          rgba(192, 57, 43, 0.08);

    /* Radius */
    --radius-input:               6px;
	--theme-form-field-border-radius: 6px;

    /* Layout */
    --gs-row-column-padding:      0;
}

/* =============================================================================
   Layout
   ============================================================================= */

.error404 .ct-container-full .entry-content {
	min-height: calc(100vh - 320px);
    display: flex;
    flex-direction: column;
}

/* =============================================================================
   Typografie
   ============================================================================= */

p {
    margin-bottom: 1em !important;
}

.gspb_heading_subtitle {
    font-weight: 400;
    font-style:  italic;
    color:       var(--theme-palette-color-5);
}

/* Unterstrichener Text → Gold hervorgehoben, kein klassisches Underline */
u,
span[style*="underline;"] {
    color:            var(--theme-palette-color-2);
    background-color: var(--solvida-highlight-bg);
    text-decoration:  none !important;
    display:          inline-block;
}


/* =============================================================================
   Divider
   ============================================================================= */

hr,
.entry-content .wp-block-separator {
    background-color: var(--theme-palette-color-6);
    margin:           24px auto;
}

.entry-content .wp-block-separator:not(.is-style-dots) {
    height: 1px;
}

.entry-content .wp-block-separator:not(:where(.is-style-wide, .is-style-dots, .alignfull, .alignwide)) {
    max-width: 200px;
}

/* Dekorativer Stufendivider */
.solvida-divider {
    height:     10px;
    background: linear-gradient(
        to right,
        #fbf8f3 0%,  #fbf8f3 25%,
        #f4efe8 25%, #f4efe8 50%,
        #efe6d6 50%, #efe6d6 75%,
        #e6ded4 75%, #e6ded4 100%
    );
}


/* =============================================================================
   Buttons
   ============================================================================= */

/* Hero-Scroll-Pfeil: animiert nach unten, blendet ein und aus */
.button-icon-hero {
    animation: bobFade 3.2s linear infinite;
}

.button-icon-hero .gspb-buttonbox-icon {
    margin: 0 !important;
}

@keyframes bobFade {
    0%   { opacity: 0; transform: translateY(0px);  }
    15%  { opacity: 0; transform: translateY(0px);  }
    40%  { opacity: 1; transform: translateY(10px); }
    70%  { opacity: 1; transform: translateY(16px); }
    90%  { opacity: 0; transform: translateY(20px); }
    100% { opacity: 0; transform: translateY(20px); }
}


/* =============================================================================
   Hero
   ============================================================================= */

.solvida-hero h1,
.solvida-hero h2,
.solvida-hero h3,
.solvida-hero h4 {
    text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.45);
}


/* =============================================================================
   Portfolio
   ============================================================================= */

.solvida-portfolio > .gspb_container {
    position: relative;
    overflow: hidden;
    cursor:   pointer;
}

.solvida-portfolio > .gspb_container h4,
.solvida-portfolio > .gspb_container .gspb_text {
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.45);
}

/* Ruhezustand: Bild unscharf und leicht abgedunkelt */
.solvida-portfolio > .gspb_container .gspb_backgroundOverlay {
    opacity:                  0.5;
    backdrop-filter:          blur(8px);
    -webkit-backdrop-filter:  blur(8px);
    pointer-events:           none;
    transition:
        opacity              0.4s ease,
        backdrop-filter      0.4s ease,
        -webkit-backdrop-filter 0.4s ease;
}

/* Hover: Overlay weg, Bild klar */
.solvida-portfolio > .gspb_container:hover .gspb_backgroundOverlay {
    opacity:                 0;
    backdrop-filter:         blur(0px);
    -webkit-backdrop-filter: blur(0px);
}


/* =============================================================================
   Karte (Leaflet)
   ============================================================================= */

/* Leere <p> die Leaflet einfügt entfernen */
.solvida-map p:empty {
    display: none;
}
.leaflet-map {
	z-index: 0;
}


/* =============================================================================
   Amelia v2
   ============================================================================= */

.amelia-v2-booking #amelia-container.am-fs__wrapper {
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06) !important;
    border:     1px solid var(--theme-palette-color-6);
    margin:     40px 0 12px 0 !important;
}

/* Primary Button – Hover */
.amelia-v2-booking #amelia-container
.am-button.am-button--filled:not(.is-disabled):hover {
    background-color: var(--theme-palette-color-2) !important;
    border-color:     var(--theme-palette-color-2) !important;
    filter:           none !important;
    box-shadow:       none !important;
}

/* Border color selecting catalogue */
.amelia-v2-booking #amelia-container .am-select .el-select__wrapper:hover:not(.is-focused),
.amelia-v2-booking #amelia-container .am-select .el-select__wrapper.is-hovering:not(.is-focused) {
    --am-c-select-border: var(--theme-palette-color-2) !important;
}

/* Text Button (Kundenbereich) */
.amelia-v2-booking #amelia-container
.am-button.am-button--text {
    --am-c-btn-text: var(--theme-palette-color-1) !important;
}

.amelia-v2-booking #amelia-container
.am-button.am-button--text:not(.is-disabled):hover,
.amelia-v2-booking #amelia-container
.am-button.am-button--text:not(.is-disabled):focus {
    --am-c-btn-text: var(--theme-palette-color-2) !important;
}

/* Kalender – heutiger Tag Indikator */
.amelia-v2-booking #amelia-container
.am-advsc.fc-theme-standard
td.am-advsc__dayGridMonth-cell.fc-day-today
.fc-daygrid-day-frame:after {
    background-color: var(--theme-palette-color-1) !important;
    width:  8px !important;
    height: 8px !important;
    top:    2px !important;
    right:  2px !important;
}

/* Kalender – vertikale Ausrichtung */
.amelia-v2-booking #amelia-container
.am-advsc__wrapper > div:nth-child(1) {
    align-items: self-end;
}

/* Kalender – fixe Höhe */
.amelia-v2-booking #amelia-container .am-fs__main-content {
    height: 442px !important;
}

/* Kundenbereich – Zurück-Button ausblenden (temporär, bis Plugin gefixt) */
.amelia-v2-booking #amelia-container
.am-fs__main-footer.am-fs__main-footer-cp {
    justify-content: flex-end;
}

.amelia-v2-booking #amelia-container
.am-fs__main-footer-cp .am-button--secondary {
    display: none;
}

/* =============================================================================
   Blog
   ============================================================================= */

/* Layout */
body.search .site-main,
body.single-post .site-main,
body.blog .site-main,
body.archive .site-main {
    padding-bottom: 64px;
}

/* Aktiver Menüzustand – Blog */
body.blog .menu .solvida-blog > a,
body.single-post .menu .solvida-blog > a,
body.archive .menu .solvida-blog > a,
body.search .menu .solvida-blog > a {
    color: var(--theme-link-active-color, var(--theme-link-hover-color)) !important;
}

.ct-breadcrumbs {
    padding-top: 12px;
}

/* Sidebar */
.ct-sidebar .wp-block-tag-cloud a,
.ct-sidebar .cat-item a {
    color: var(--theme-palette-color-1);
}

.ct-sidebar .cat-item a:hover {
    color: var(--theme-palette-color-2);
}

.ct-sidebar .current-cat a {
    color: var(--theme-palette-color-2);
    font-weight: 600;
}

/* Entry card hover */
.ct-container .entry-card:hover {
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.08);
}

/* Tags */
.ct-container .entry-tags-items a:not(:hover) {
    font-size: 14px;
    box-shadow: inset 0 0 0 1px var(--theme-palette-color-6);
    color: var(--theme-palette-color-5);
}

/* Figures & captions */
.ct-container figure {
    max-width: 100% !important;
    background-color: var(--theme-palette-color-8);
    padding: 16px;
    border-radius: 6px;
}

.ct-container .wp-caption-text {
    font-style: italic;
}

/* Comments & related posts separator */
.ct-container article > :is(.ct-comments, .ct-related-posts) {
    margin-top: 60px;
    padding-top: 50px;
    border-top: 1px solid var(--theme-palette-color-6);
}

/* Pagination & Post Navigation */
.ct-pagination :is(.next, .prev).page-numbers,
.post-navigation :is(.nav-item-prev, .nav-item-next) {
    border: 1px solid var(--theme-palette-color-6);
    border-radius: 6px;
    text-decoration: none;
    transition: border-color 160ms ease, color 160ms ease;
}

.ct-pagination :is(.next, .prev).page-numbers:hover,
.post-navigation :is(.nav-item-prev, .nav-item-next):hover {
    border-color: var(--theme-palette-color-1);
}

.ct-pagination :is(.next, .prev).page-numbers {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    font-weight: 500;
    font-size: 14px;
    color: var(--theme-palette-color-1);
}

.ct-pagination :is(.next, .prev).page-numbers:hover {
    color: var(--theme-palette-color-2);
}

.post-navigation :is(.nav-item-prev, .nav-item-next) {
    padding: 10px 16px;
}

.post-navigation :is(.nav-item-prev, .nav-item-next):hover .item-title {
    color: var(--theme-palette-color-2);
}

.ct-container .post-navigation .item-label {
    font-weight: 500;
}

.ct-container .post-navigation .item-title {
    font-size: 16px;
    font-weight: 500;
    margin-top: 0;
}


/* =============================================================================
   CF7 – Formulare
   ============================================================================= */

/* Inputs – Grundzustand */
input[type="text"],
input[type="email"],
input[type="tel"],
textarea {
    border-radius:    var(--radius-input) !important;
    padding:          12px 14px;
    font-size:        0.95em;
	color:            var(--theme-palette-color-3);
    background-color: #ffffff;
}

/* Focus */
input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
textarea:focus {
    border-color: var(--theme-palette-color-2) !important;
    box-shadow:   0 0 0 3px var(--solvida-accent-halo);
    outline:      none;
}

/* Validation Error */
input[type="text"].wpcf7-not-valid,
input[type="email"].wpcf7-not-valid,
input[type="tel"].wpcf7-not-valid,
textarea.wpcf7-not-valid {
    border-color: var(--solvida-notice) !important;
    box-shadow:   0 0 0 3px color-mix(in srgb, var(--solvida-notice) 30%, transparent) !important;
    outline:      none;
}


/* Checkbox */
.wpcf7 input[type="checkbox"] {
    width:        16px;
    height:       16px;
    max-width:    16px !important;
    accent-color: var(--theme-palette-color-1);
    cursor:       pointer;
}

/* Placeholder */
.wpcf7 ::placeholder {
    color: var(--theme-palette-color-5);
}

/* Validation Tip */
.use-floating-validation-tip .wpcf7-not-valid-tip,
.wpcf7-not-valid-tip {
    position:    static !important;
    top:         auto !important;
    left:        auto !important;
    width:       auto !important;
    z-index:     auto !important;
    border:      none !important;
    background:  transparent !important;
    padding:     4px 0 0 0 !important;
    margin-top:  0 !important;
    color:       var(--solvida-notice) !important;
    font-size:   0.85em !important;
    font-style:  normal !important;
    font-weight: normal !important;
    display:     block !important;
}

/* Submit Button */
.wpcf7 input[type="submit"] {
    background:     var(--theme-palette-color-1);
    border:         none;
    border-radius:  var(--radius-input);
    padding:        12px 24px !important;
    color:          var(--solvida-text-on-accent);
    font-size:      inherit;
    font-weight:    500;
    cursor:         pointer;
    vertical-align: middle;
}

.wpcf7 input[type="submit"]:hover {
    background: var(--theme-palette-color-2);
}

.wpcf7 input[type="submit"]:focus {
    outline:    none;
    box-shadow: 0 0 0 3px var(--solvida-accent-halo-strong);
}

/* Spinner – inline neben Submit-Button */
.wpcf7 p:has(input[type="submit"]) {
    display:     flex;
    align-items: center;
}

.wpcf7 .wpcf7-spinner {
    background-color: var(--theme-palette-color-5);
    margin-left:      8px;
    flex-shrink:      0;
}

/* Response Output – Basis */
.wpcf7-response-output {
    padding:           12px 16px !important;
    margin:            16px 0 0 0 !important;
    border-radius:     var(--radius-input) !important;
    border-width:      0 !important;
    border-left-width: 4px !important;
    border-left-style: solid !important;
    font-style:        normal !important;
    font-weight:       500 !important;
}

/* Response – Erfolg */
.wpcf7 form.sent .wpcf7-response-output {
    background:   var(--solvida-accent-tint) !important;
    color:        var(--theme-palette-color-2) !important;
    border-color: var(--theme-palette-color-1) !important;
}

/* Response – Fehler */
.wpcf7 form:is(.invalid, .failed, .aborted) .wpcf7-response-output {
    background:   var(--solvida-notice-bg) !important;
    color:        var(--solvida-notice) !important;
    border-color: var(--solvida-notice) !important;
}

/* Nach dem Absenden: Felder ausblenden */
.wpcf7 form.sent :is(p, h5, .wpcf7-turnstile) {
    opacity:    0 !important;
    max-height: 0 !important;
    margin:     0 !important;
    padding:    0 !important;
    overflow:   hidden !important;
    transition:
        opacity    0.6s ease,
        max-height 0.6s ease,
        margin     0.6s ease,
        padding    0.6s ease;
}