/*
Theme Name: Thaler
Theme URI: http://www.elegantthemes.com/gallery/divi/
Template: Divi
Author: Adhost
Author URI: http://www.adhost.dk
Description: Smart. Flexible. Beautiful. The most powerful theme in our collection.
Version: 5.1.0.1776263444
Updated: 2026-04-15 14:30:44

*/


/* ==========================================================================
GFORM
========================================================================== */
/* --- 1. Position the Container --- */
.gform_body .gfield {
    position: relative !important;
    margin-bottom: 16px !important;
}

.gform-theme--foundation .gform_fields {column-gap:0px !important; row-gap: 0px !important;}

/* --- 2. The Label (Idle State / Sitting in the middle) --- */
.difl_gravity_form_1 .gform_body .gfield:not(.gfield--type-consent) .gfield_label.gform-field-label {
    position: absolute !important;
    top: 12px !important; 
    left: 12px !important;
    font-size: 16px !important; /* Forces your font size over Divi Flash */
    pointer-events: none !important; 
    transition: all 0.2s ease-out !important;
    z-index: 10 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* --- 3. The Label (Floating State) --- */
/* Triggers when clicked (:focus) OR when JS detects text (.has-value) */
.difl_gravity_form_1 .gform_body .gfield:has(input:focus) .gfield_label.gform-field-label,
.difl_gravity_form_1 .gform_body .gfield.has-value .gfield_label.gform-field-label {
    top: 4px !important;
    font-size: 11px !important; /* Forces the shrunken font size */
    opacity: 0.8 !important;
}

/* --- 4. The Inputs --- */
.gform_body input[type="text"],
.gform_body input[type="email"],
.gform_body input[type="tel"],
.gform_body input[type="number"],
.gform_body textarea {
    /* 28px top padding leaves room so typed text doesn't overlap the floating label */
 padding:30px 12px 16px !important;
    font-size: 16px !important;
    background-color:rgba(0,0,0,0) !important;
}

/* --- 5. The Active / Focus State (Yellow Border) --- */
.gform_body input[type="text"]:focus,
.gform_body input[type="email"]:focus,
.gform_body input[type="tel"]:focus,
.gform_body input[type="number"]:focus,
.gform_body textarea:focus {
    border-color: #e31d3c !important;
    outline: none !important;
    background-color: transparent !important;
    box-shadow: none !important;
}

/* --- 6. Handle Required Asterisk/Text so it scales with the label --- */
.difl_gravity_form_1 .gform_body .gfield_required,
.difl_gravity_form_1 .gform_body .gfield_required_text {
    font-size: inherit !important; /* Forces it to copy the 16px/11px of the parent */
    font-weight: inherit !important;
    margin-left: 2px !important;
    color: #ab9397 !important; /* Optional: keeps it the same color as the label */
    transition: all 0.2s ease-out !important;
}

.gform-footer {margin-top:-20px !important;}
.gform-footer input[type="submit"] { border: none !important; }

/* ==========================================================================
    Overwrites
   ========================================================================== */

.et_pb_image img {border-radius: 8px !important; }

/* ==========================================================================
   THALER VARIANT VÆLGER STYLES
   ========================================================================== */

.thaler-variants-wrapper { 
    margin: 40px 0; 
}

.thaler-variant-header { 
    display: flex; 
    justify-content: space-between; 
    align-items: center; 
    flex-wrap: wrap; 
    gap: 15px; 
    padding-bottom: 15px; 
    margin-bottom: 20px; 
}

.thaler-headline-group { 
    display: flex; 
    flex-direction: column; 
}

.variants-headline { 
    margin: 0; 
    font-size: 28px; 
    font-weight: bold; 
    color: #111; 
}

.variants-subheadline { 
    font-size: 15px; 
    color: #777; 
    text-transform: uppercase; 
    margin-top: 4px; 
    letter-spacing: 0.5px; 
    font-weight: 600; 
    display: none; 
}

.thaler-variant-tabs { 
    display: flex; 
    gap: 10px; 
    align-items: center; 
    flex-wrap: wrap; 
}

.variant-label { 
    font-size: 14px; 
    font-weight: bold; 
    color: #777; 
    margin-right: 5px; 
}

.thaler-variant-btn { 
    display: inline-block; 
    text-decoration: none; 
    background: #f5f5f5; 
    border: none; 
    padding: 8px 20px; 
    font-size: 15px; 
    font-weight: bold; 
    border-radius: 4px; 
    cursor: pointer; 
    transition: all 0.2s; 
    color: #333; 
}

.thaler-variant-btn:hover { 
    background: #451018; 
    color: #fff; 
}

.thaler-variant-btn.active { 
    background: #e31d3c; 
    color: #fff; 
}

.variant-grid { 
    display: grid; 
    grid-template-columns: 1fr 1fr; 
    gap: 40px; 
    align-items: center; 
}

.variant-info { 
    align-self: start; 
}

.variant-pris { 
    margin: 0 0 25px 0; 
    padding: 0; 
    background: transparent; 
    border: none; 
}

.variant-pris strong { 
    font-size: 24px; 
    color: #170608; /* No longer red */
}

.inkl-moms { 
    font-size: 14px; 
    color: #777; 
}

.variant-hurtig-fakta { 
    list-style: none; 
    padding: 0; 
    margin: 0; 
}

.variant-hurtig-fakta li { 
    margin-bottom: 8px; 
    padding-bottom: 0; 
    border: none; 
    font-size: 16px; 
}

/* Standardudstyr 2 columns */
.thaler-standardudstyr-list {
    padding-left: 20px; 
    margin-bottom: 0; 
    list-style-type: disc; 
    column-count: 2; 
    column-gap: 40px;
}
.thaler-standardudstyr-text {
    column-count: 2;
    column-gap: 40px;
}

@media(max-width: 767px) {
    .thaler-standardudstyr-list,
    .thaler-standardudstyr-text {
        column-count: 1;
    }
}

/* ==========================================================================
   THALER CSS SLIDER STYLES
   ========================================================================== */

.css-slider-container { 
    position: relative; 
    width: 100%; 
    max-width: 100%; 
    border-radius: 4px; 
    padding-bottom: 30px; 
}

.css-slider-track { 
    display: flex; 
    overflow-x: auto; 
    scroll-snap-type: x mandatory; 
    scroll-behavior: smooth; 
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.css-slider-track::-webkit-scrollbar { 
    display: none; 
}

.css-slider-slide { 
    flex: 0 0 100%; 
    width: 100%; 
    scroll-snap-align: center; 
    display: flex; 
    justify-content: center; 
    align-items: center; 
}

.css-slider-slide img { 
    width: 100%; 
    height: 350px; 
    object-fit: contain; 
    display: block; 
}

.css-slider-dots { 
    display: flex; 
    justify-content: center; 
    gap: 8px; 
    margin-top: 15px; 
    position: absolute; 
    bottom: 0; 
    width: 100%; 
}

.css-slider-dot { 
    border: none; 
    padding: 0; 
    width: 10px; 
    height: 10px; 
    border-radius: 50%; 
    background: #ccc; 
    cursor: pointer; 
    transition: background 0.3s; 
}

.css-slider-dot:hover, 
.css-slider-dot.active { 
    background: #e31d3c; 
}

.static-variant-image { 
    width: 100%; 
    max-width: 100%; 
    border-radius: 4px; 
    display: block; 
    height: 350px; 
    object-fit: contain; 
    margin: 0 auto;
}

.no-image { 
    background: #f5f5f5; 
    padding: 40px; 
    text-align: center; 
    color: #999; 
    border-radius: 4px; 
}

@media(max-width: 768px) { 
    .thaler-variant-header { flex-direction: column; align-items: flex-start; }
    .variant-grid { grid-template-columns: 1fr; } 
    .variant-image { order: -1; } 
    .css-slider-slide img { height: 250px; } 
}


/* ==========================================================================
   THALER FAKTABOKS STYLES
   ========================================================================== */

.thaler-fakta-wrapper { 
    margin-top: 30px; 
}

.fakta-headline { 
    margin-bottom: 20px; 
    font-size: 24px; 
    font-weight: bold; 
    color: #111; 
}

.fakta-tabs-nav { 
    display: flex; 
    gap: 10px; 
    margin-bottom: 20px; 
    flex-wrap: wrap; 
    border: none; 
}

.fakta-tab-btn { 
    background: #f5f5f5; 
    border: none; 
    padding: 10px 20px; 
    font-weight: bold; 
    cursor: pointer; 
    color: #333; 
    transition: all 0.3s ease; 
    border-radius: 4px; 
}

.fakta-tab-btn:hover { 
    background: #451018; 
    color: #fff; 
}

.fakta-tab-btn.active { 
    background: #951a2e; 
    color: #fff; 
}

.fakta-tab-pane { 
    display: none; 
    animation: fadeIn 0.3s; 
}

.fakta-tab-pane.active { 
    display: block; 
}

.thaler-fakta-wrapper table { 
    width: 100%; 
    border-collapse: collapse; 
}

.thaler-fakta-wrapper tr:nth-child(even) { 
    background-color: #f9f9f9; 
}

.thaler-fakta-wrapper td { 
    padding: 12px 15px; 
    border: none; 
}

.thaler-fakta-wrapper td:first-child { 
    font-weight: bold; 
    width: 40%; 
    color: #333; 
}

@keyframes fadeIn { 
    from { opacity: 0; } 
    to { opacity: 1; } 
}

/* ==========================================================================
   THALER RELATEREDE PRODUKTER / REDSKABER (OPDATERET DESIGN)
   ========================================================================== */

.thaler-related-wrapper {
    margin: 0;
}

@media (max-width: 767px) {
    .thaler-related-wrapper {
        margin: 40px 0;
    }
}

.thaler-related-headline { 
    margin-bottom: 30px; 
    font-size: 28px; 
    font-weight: bold; 
    color: #111; 
}

.thaler-related-grid { 
    display: grid; 
    /* 4 kolonner layout */
    grid-template-columns: repeat(4, 1fr); 
    gap: 30px; 
}

.thaler-related-item { 
    display: flex; 
    flex-direction: column; 
    background: transparent; 
    border-radius: 4px; 
    overflow: hidden; 
    border: none; 
}

.thaler-related-image-link {
    display: block;
    text-decoration: none;
}

.thaler-related-image { 
    width: 100%; 
    height: 250px; 
    background: transparent; 
    display: flex; 
    align-items: center; 
    justify-content: center; 
    margin-bottom: 15px; 
    border-radius: 8px; /* Added 8px border radius */
}

.thaler-related-image img { 
    width: 100%; 
    height: 100%; 
    object-fit: cover; 
}

.thaler-related-no-image { 
    color: #999; 
    font-size: 14px; 
}

.thaler-related-content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    flex-grow: 1;
    margin-top:16px;
}

/* Badge removed per request */

.thaler-related-title { 
    margin: 0 0 10px 0; 
    font-size: 24px; 
    color: #000; 
    text-align: left; 
    font-weight: 700; 
}

.thaler-related-title a { 
    color: inherit; 
    text-decoration: none; 
    transition: color 0.2s ease; 
}

.thaler-related-title a:hover { 
    color: #e31d3c; 
}


/* Beskrivelsesteksten */
.thaler-related-excerpt {
    font-size: 16px;
    color: #111;
    margin: 0 0 20px 0;
    font-weight: 500;
    line-height: 1.5;
}

.thaler-related-btn {
    margin-top: auto; 
}

/* Fallback styling for knappen hvis Divi klasserne af en eller anden grund ikke indlæses */
.thaler-related-btn:not(.et_pb_button) {
    background-color: #e31d3c;
    color: #fff;
    padding: 10px 24px;
    border-radius: 4px;
    text-decoration: none;
    font-weight: bold;
    transition: background 0.3s ease;
}

.thaler-related-btn:not(.et_pb_button):hover {
    background-color: #451018;
}

/* Responsivitet */
@media(max-width: 980px) {
    .thaler-related-grid { grid-template-columns: repeat(2, 1fr); }
}

@media(max-width: 768px) {
    .thaler-related-grid { grid-template-columns: 1fr; }
    .thaler-related-image { height: 200px; }
}
