/**
Theme Name: Tokholiday Child
Author: Murat Tok
Author URI: https://tokholiday.com
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: tokholiday-child
Template: astra
*/


/* Hover: Linie wächst von links nach rechts */

.elementor-widget.elementor-align-center .elementor-icon-list-item a[href]:hover {
    background: #BF5708 !important;
}

/* sticky-tarife Button beim scrollen auf mobilen Geräten */

@media (max-width:767px){
  .sticky-tarife{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 9999;

    transform: translateY(-100%);
    transition: transform .3s ease;
  }

  .sticky-tarife.show{
    transform: translateY(0);
  }
}

/**
 * GEWERBE-FORMULAR STYLES V11.6.80
 * DATEI: style.css
 * VERSION: 11.6.80
 * ÄNDERUNGEN:
 * - V11.6.79: Z-Index Korrektur, Sicherheitsserver 10px, Loader, Responsive
 * - V11.6.80: Range Slider Styles für Rürup Lebensalter-Feld
 */

/* 1. HAUPT-CONTAINER */
#gv-form-container {
    max-width: 1000px;
    margin: 20px auto;
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 25px;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    box-shadow: 0 4px 15px rgba(0,0,0,0.07);
    color: #333;
    box-sizing: border-box;

    /* LÖSUNG: Niedriger Z-Index, damit Astra-Header oder Banner darüber liegen */
    position: relative;
    z-index: 1;
}

/* OPTIONAL: Erzwingt, dass der Astra-Header immer über dem Formular bleibt */
.site-header, .main-navigation, .ast-sticky-header-active {
    z-index: 9999 !important;
}

/* 2. NAVIGATION / PROGRESS BAR */
.gv-nav {
    display: flex;
    margin-bottom: 25px;
    border-bottom: 2px solid #f0f0f0;
}
.gv-nav-item {
    flex: 1;
    text-align: center;
    padding: 15px;
    font-size: 13px;
    color: #bbb;
    font-weight: bold;
    text-transform: uppercase;
}
.gv-nav-item.active {
    color: #f39200;
    border-bottom: 3px solid #f39200;
}

/* 3. CHECKBOX GRID (STEP 1) */
.gv-checkbox-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    background: #f9f9f9;
    padding: 20px;
    border-radius: 8px;
    border: 1px solid #efefef;
    margin-bottom: 20px;
}
.gv-checkbox-grid label {
    display: flex;
    align-items: center;
    font-size: 11px;
    background: #fff;
    padding: 8px 10px;
    border: 1px solid #dcdcdc;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.2s;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.gv-checkbox-grid label:hover {
    border-color: #f39200;
    background: #fffdf9;
}
.gv-checkbox-grid input {
    margin-right: 8px !important;
    accent-color: #f39200;
}

/* 4. INPUT FELDER & LAYOUT */
.gv-row {
    display: flex;
    gap: 15px;
    margin-bottom: 15px;
}
.gv-input-group {
    flex: 1;
    display: flex;
    flex-direction: column;
}
.gv-input-group label {
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 5px;
    color: #444;
}
.gv-input-group input,
.gv-input-group select {
    padding: 12px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 15px;
    transition: border-color 0.2s;
}
.gv-input-group input:focus {
    border-color: #f39200;
    outline: none;
}

/* 5. SICHERHEITSSERVER HINWEIS (FIX: 10PX) */
.gv-secure-info {
    font-size: 10px !important;
    color: #888;
    margin-top: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    opacity: 0.8;
    text-align: center;
}

/* 6. VALIDIERUNG & RECHTSTEXTE */
.gv-field-error {
    border: 2px solid #e74c3c !important;
    background-color: #fff8f8 !important;
}
.gv-check-row input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin: 0;
    accent-color: #f39200;
}

/* 7. BUTTONS & LOADING SPINNER */
.gv-btn-main {
    background: #f39200;
    color: #fff;
    border: none;
    padding: 15px 45px;
    font-size: 17px;
    font-weight: bold;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.3s;
    box-shadow: 0 3px 6px rgba(0,0,0,0.1);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 200px;
    position: relative;
}
.gv-btn-main:hover {
    background: #e68a00;
    transform: translateY(-1px);
}
.gv-btn-main:disabled {
    background-color: #ccc !important;
    cursor: not-allowed;
    transform: none !important;
    box-shadow: none;
}

/* LOADER SPINNER LOGIK */
.gv-button-loader {
    display: none;
    width: 18px;
    height: 18px;
    border: 3px solid rgba(255,255,255,0.3);
    border-radius: 50%;
    border-top-color: #ffffff !important;
    animation: gvSpin 0.8s linear infinite;
    margin-right: 12px;
}

/* Aktivierung des Spinners via Klasse im Button */
.gv-btn-main.is-loading .gv-button-loader {
    display: inline-block;
}

@keyframes gvSpin {
    to { transform: rotate(360deg); }
}

.gv-btn-back-styled {
    background: #f1f1f1;
    color: #666;
    border: 1px solid #ccc;
    padding: 12px 25px;
    border-radius: 4px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 600;
}

/* 8. ERFOLGS-BANNER */
.gv-success-box-wrapper {
    margin: 20px 0;
    animation: gvFadeIn 0.5s ease-out;
}

@keyframes gvFadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* 9. MODAL */
.gv-modal {
    position: fixed;
    z-index: 100000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.75);
    display: flex;
    align-items: center;
    justify-content: center;
}
.gv-modal-content {
    background: #fff;
    padding: 30px;
    width: 95%;
    max-width: 800px;
    max-height: 85vh;
    overflow-y: auto;
    border-radius: 8px;
    position: relative;
}
.gv-close {
    position: absolute;
    right: 20px;
    top: 15px;
    font-size: 30px;
    cursor: pointer;
    color: #999;
}

/* 10. RANGE SLIDER (RÜRUP LEBENSALTER) */
.gv-range-slider {
    width: 100%;
    -webkit-appearance: none;
    appearance: none;
    height: 6px;
    border-radius: 3px;
    outline: none;
    cursor: pointer;
    /* Startfarbe: 100% orange (Wert 70 = Maximum) */
    background: linear-gradient(to right, #f39200 0%, #f39200 100%, #ddd 100%, #ddd 100%);
}

/* Thumb - Chrome/Safari */
.gv-range-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #f39200;
    cursor: pointer;
    box-shadow: 0 1px 5px rgba(0,0,0,0.25);
    border: 2px solid #fff;
    transition: box-shadow 0.2s;
}
.gv-range-slider::-webkit-slider-thumb:hover {
    box-shadow: 0 2px 8px rgba(243,146,0,0.5);
}

/* Thumb - Firefox */
.gv-range-slider::-moz-range-thumb {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #f39200;
    cursor: pointer;
    box-shadow: 0 1px 5px rgba(0,0,0,0.25);
    border: 2px solid #fff;
}

/* Track - Firefox */
.gv-range-slider::-moz-range-track {
    height: 6px;
    border-radius: 3px;
    background: #ddd;
}
.gv-range-slider::-moz-range-progress {
    height: 6px;
    border-radius: 3px;
    background: #f39200;
}

/* 11. RESPONSIVE BREAKPOINTS */
@media (max-width: 1000px) { .gv-checkbox-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 850px)  { .gv-checkbox-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) {
    #gv-form-container { padding: 15px; }
    .gv-checkbox-grid { grid-template-columns: 1fr; }
    .gv-row { flex-direction: column; gap: 10px; }
    .gv-btn-main { width: 100%; }
    .gv-modal-content { padding: 20px; width: 98%; }
    .gv-secure-info { font-size: 9px !important; }
    /* Slider auf Mobile volle Breite */
    .gv-ruerup-product-card .gv-range-slider { width: 100%; }
}



/* Standard-Styling für Links mit der Klasse "content-link" */
a.content-link {
    /* Unterstreicht den Link 
    text-decoration: underline;*/

    /* Dicke der Unterstreichung (moderner Browser-Support) 
    text-decoration-thickness: 2px;*/

    /* Abstand zwischen Text und Unterstreichung 
    text-underline-offset: 4px;*/

    /* Weiche Animation bei Farb-/Style-Änderungen 
    transition: all 0.3s ease;*/
}


/* Hover-Zustand (wenn Maus über den Link fährt) */
a.content-link:hover {
    /* Ändert die Textfarbe beim Hover */
    color: #005A94;

    /* Ändert die Farbe der Unterstreichung */
    text-decoration-color: #005A94;
}

/* Basis-Link */
a.content-link {
  position: relative;
  display: inline-block;
  text-decoration: none;
}

/* Linie (Start: 0 Breite) */
a.content-link::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 0%;
  height: 2px;
  background-color: currentColor;
  transition: width 0.3s ease;
}
