/*
Theme Name: Demo1 GeneratePress Child
Theme URI: https://demo1.marketizados.com/
Description: Child theme for demo1.marketizados.com custom HTML pages.
Author: Marketizados
Template: generatepress
Version: 1.0.0
Text Domain: demo1-generatepress-child
*/
/* Customizer-controlled header/footer elements */
.demo1-header-logo {
    max-width: min(260px, 55vw);
    transition: height 0.2s ease, transform 0.2s ease;
}

.demo1-footer-menu {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.75rem 1.25rem;
    margin: 0 0 1.25rem;
}

.demo1-footer-menu a {
    color: rgba(253, 251, 247, 0.82);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    transition: color 0.2s ease, transform 0.2s ease;
}

.demo1-footer-menu a:hover,
.demo1-footer-menu a:focus {
    color: #55A51C;
    transform: translateY(-1px);
}
/* Home order button: keep label and background stable in all interaction states. */
.demo1-order-button,
.demo1-order-button:visited,
.demo1-order-button:hover,
.demo1-order-button:focus,
.demo1-order-button:active {
    background-color: rgba(255, 255, 255, 0.10) !important;
    color: #fff !important;
}

.demo1-order-button:hover,
.demo1-order-button:focus-visible {
    transform: scale(1.05);
}

.demo1-order-button:active {
    transform: scale(1.03);
}



/* Home hero source slider from germansribes.com */
.demo1-hero-slider {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
    background: #43280f;
}

.demo1-hero-slide {
    position: absolute;
    inset: -2%;
    background-position: center;
    background-size: cover;
    opacity: 0;
    transform: scale(1.02);
    animation: demo1HeroSlide 24s ease-in-out infinite;
    will-change: opacity, transform;
}

.demo1-hero-slide:nth-child(1) { background-image: url('https://germansribes.com/wp-content/uploads/2023/05/DSC_0567-scaled.jpg'); animation-delay: 0s; }
.demo1-hero-slide:nth-child(2) { background-image: url('https://germansribes.com/wp-content/uploads/2023/05/IMG_1834.jpg'); animation-delay: -8s; }
.demo1-hero-slide:nth-child(3) { background-image: url('https://germansribes.com/wp-content/uploads/2023/05/IMG_1837.jpg'); animation-delay: -16s; }

.hero-container .relative.z-10 {
    text-shadow: 0 3px 18px rgba(0, 0, 0, 0.45);
}

.hero-container .relative.z-10 a {
    text-shadow: none;
}

@keyframes demo1HeroSlide {
    0% { opacity: 0; transform: scale(1.02); }
    7% { opacity: 1; }
    31% { opacity: 1; }
    42% { opacity: 0; }
    100% { opacity: 0; transform: scale(1.16); }
}

@media (prefers-reduced-motion: reduce) {
    .demo1-hero-slide { animation: none; opacity: 0; transform: none; }
    .demo1-hero-slide:first-child { opacity: 1; }
}

/* Language switcher */
.demo1-language-switcher {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    padding: 0.2rem;
    border: 1px solid rgba(85, 165, 28, 0.22);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.82);
    box-shadow: 0 6px 18px rgba(31, 18, 10, 0.08);
}
.demo1-language-switcher-mobile { transform: scale(0.94); transform-origin: right center; }
.demo1-lang-link,
.demo1-lang-link:visited {
    min-width: 2.1rem;
    padding: 0.35rem 0.55rem;
    border-radius: 999px;
    color: #4b3a2a;
    font-size: 0.72rem;
    font-weight: 800;
    line-height: 1;
    text-align: center;
    text-decoration: none;
    transition: color 0.2s ease, background-color 0.2s ease, transform 0.2s ease;
}
.demo1-lang-link:hover,
.demo1-lang-link:focus { color: #55A51C; transform: translateY(-1px); }
.demo1-lang-link.is-active,
.demo1-lang-link.is-active:hover,
.demo1-lang-link.is-active:focus { background: #55A51C; color: #fff; }


/* Keep contact info links from changing color on interaction */
.demo1-contact-lock-color,
.demo1-contact-lock-color:visited,
.demo1-contact-lock-color:hover,
.demo1-contact-lock-color:focus,
.demo1-contact-lock-color:active {
    color: inherit !important;
    text-decoration: none;
}
/* WPForms contact form styling */
.demo1-wpforms-contact-wrap .wpforms-container,
.demo1-wpforms-contact-wrap .wpforms-container-full {
    margin: 0 !important;
}
.demo1-wpforms-contact-wrap .wpforms-field {
    padding: 0 0 1.25rem !important;
}
.demo1-wpforms-contact-wrap .wpforms-field-label {
    display: block !important;
    margin: 0 0 0.375rem !important;
    color: #6b7280 !important;
    font-size: 0.75rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
}
.demo1-wpforms-contact-wrap input[type="text"],
.demo1-wpforms-contact-wrap input[type="email"],
.demo1-wpforms-contact-wrap input[type="tel"],
.demo1-wpforms-contact-wrap select,
.demo1-wpforms-contact-wrap textarea {
    width: 100% !important;
    max-width: 100% !important;
    border: 1px solid rgba(209, 213, 219, 0.8) !important;
    border-radius: 0.75rem !important;
    background: #fff !important;
    color: #374151 !important;
    box-shadow: none !important;
    outline: none !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}
.demo1-wpforms-contact-wrap input[type="text"],
.demo1-wpforms-contact-wrap input[type="email"],
.demo1-wpforms-contact-wrap input[type="tel"],
.demo1-wpforms-contact-wrap select {
    min-height: 3rem !important;
    padding: 0.75rem 1rem !important;
}
.demo1-wpforms-contact-wrap textarea {
    min-height: 8rem !important;
    padding: 0.75rem 1rem !important;
    resize: vertical !important;
}
.demo1-wpforms-contact-wrap input:focus,
.demo1-wpforms-contact-wrap select:focus,
.demo1-wpforms-contact-wrap textarea:focus {
    border-color: #55A51C !important;
    box-shadow: 0 0 0 4px rgba(85, 165, 28, 0.12) !important;
}
.demo1-wpforms-contact-wrap .wpforms-submit-container {
    padding: 0 !important;
    margin: 0 !important;
}
.demo1-wpforms-contact-wrap button[type="submit"],
.demo1-wpforms-contact-wrap .wpforms-submit {
    width: 100% !important;
    min-height: 3.5rem !important;
    border: 0 !important;
    border-radius: 0.75rem !important;
    background: #55A51C !important;
    color: #fff !important;
    font-weight: 800 !important;
    box-shadow: 0 10px 25px rgba(67, 40, 15, 0.16) !important;
    transition: background-color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease !important;
}
.demo1-wpforms-contact-wrap button[type="submit"]:hover,
.demo1-wpforms-contact-wrap button[type="submit"]:focus,
.demo1-wpforms-contact-wrap .wpforms-submit:hover,
.demo1-wpforms-contact-wrap .wpforms-submit:focus {
    background: #43280F !important;
    color: #fff !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 0 25px rgba(85, 165, 28, 0.28) !important;
}
@media (min-width: 768px) {
    .demo1-wpforms-contact-wrap .wpforms-field.demo1-wpforms-half {
        width: calc(50% - 0.625rem) !important;
        display: inline-block !important;
        vertical-align: top !important;
    }
    .demo1-wpforms-contact-wrap .wpforms-field.demo1-wpforms-half + .wpforms-field.demo1-wpforms-half {
        margin-left: 1.25rem !important;
    }
}
/* Soft white backing for the hero welcome line */
.demo1-hero-kicker {
    display: inline-block;
    padding: 0.45rem 1rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.84);
    box-shadow: 0 10px 30px rgba(31, 18, 10, 0.18);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}
/* Keep WPForms anti-spam helper field fully hidden and out of the visual layout. */
.demo1-wpforms-contact-wrap #wpforms-149-field_6-container,
.demo1-wpforms-contact-wrap label[for="wpforms-149-field_6"],
.demo1-wpforms-contact-wrap #wpforms-149-field_6 {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* Legal content pages */
.demo1-legal-content {
    color: #4b5563;
    line-height: 1.75;
}
.demo1-legal-content h3,
.demo1-legal-content h5,
.demo1-legal-content h6 {
    color: #43280f;
    font-weight: 800;
    margin: 1.5rem 0 0.75rem;
}
.demo1-legal-content p,
.demo1-legal-content ul,
.demo1-legal-content table {
    margin-bottom: 1rem;
}
.demo1-legal-content ul {
    list-style: disc;
    padding-left: 1.5rem;
}
.demo1-legal-content a {
    color: #55a51c;
    overflow-wrap: anywhere;
    text-decoration: underline;
}
.demo1-legal-content table {
    display: block;
    width: 100%;
    overflow-x: auto;
    border-collapse: collapse;
    font-size: 0.9rem;
}
.demo1-legal-content td,
.demo1-legal-content th {
    min-width: 8rem;
    border: 1px solid rgba(209, 213, 219, 0.8);
    padding: 0.75rem;
    vertical-align: top;
}
.demo1-footer-legal-link {
    display: inline-block;
    margin: 0.35rem 0;
    color: rgba(253, 251, 247, 0.68) !important;
    font-size: 0.78rem;
    text-decoration: none !important;
    transition: color 0.2s ease;
}
.demo1-footer-legal-link:hover,
.demo1-footer-legal-link:focus {
    color: #55a51c !important;
}
.demo1-footer-legal-sep {
    display: inline-block;
    margin: 0 0.4rem;
    color: rgba(253, 251, 247, 0.35);
    font-size: 0.78rem;
}

/* Mobile menu solid panel */
#mobile-menu {
    background: #ffffff !important;
    color: #43280f !important;
    border-top: 1px solid rgba(229, 231, 235, 0.95) !important;
    box-shadow: 0 18px 40px rgba(31, 18, 10, 0.14) !important;
}
#mobile-menu a {
    display: block;
    color: #43280f !important;
    background: #ffffff !important;
    border-radius: 0.75rem;
    padding: 0.85rem 1rem;
    text-decoration: none !important;
}
#mobile-menu a:hover,
#mobile-menu a:focus,
#mobile-menu a:active {
    color: #55a51c !important;
    background: #f7fbf3 !important;
}

/* Blog section and single posts */
.demo1-blog-card-title,
.demo1-blog-card-title:visited {
    color: inherit !important;
    text-decoration: none !important;
    transition: color 0.2s ease;
}
.demo1-blog-card-title:hover,
.demo1-blog-card-title:focus {
    color: #55a51c !important;
}
.demo1-read-more,
.demo1-read-more:visited {
    color: #55a51c !important;
    text-decoration: none !important;
}
.demo1-read-more:hover,
.demo1-read-more:focus {
    color: #43280f !important;
}
.demo1-read-more:hover i,
.demo1-read-more:focus i {
    transform: translateX(0.25rem);
}
.demo1-blog-pager {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.85rem;
    margin-top: 3rem;
}
.demo1-blog-pager-link,
.demo1-blog-pager-link:visited {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    border-radius: 999px;
    background: #43280f;
    color: #fff !important;
    font-size: 0.88rem;
    font-weight: 800;
    padding: 0.85rem 1.35rem;
    text-decoration: none !important;
    box-shadow: 0 10px 25px rgba(67, 40, 15, 0.16);
    transition: background-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}
.demo1-blog-pager-link:hover,
.demo1-blog-pager-link:focus {
    background: #55a51c;
    transform: translateY(-1px);
    box-shadow: 0 0 25px rgba(85, 165, 28, 0.28);
}
.demo1-single-post {
    color: #4b5563;
}
.demo1-single-back,
.demo1-single-back:visited {
    color: #55a51c !important;
    text-decoration: none !important;
}
.demo1-single-back:hover,
.demo1-single-back:focus {
    color: #43280f !important;
}
.demo1-single-hero {
    aspect-ratio: 16 / 9;
}
.demo1-single-content {
    color: #4b5563;
    font-size: 1.05rem;
    line-height: 1.85;
}
.demo1-single-content p,
.demo1-single-content ul,
.demo1-single-content ol,
.demo1-single-content blockquote {
    margin-bottom: 1.25rem;
}
.demo1-single-content h2,
.demo1-single-content h3 {
    color: #43280f;
    font-family: "Playfair Display", serif;
    font-weight: 700;
    line-height: 1.2;
    margin: 2rem 0 1rem;
}
.demo1-post-continuity {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 2rem;
}
.demo1-post-continuity-card,
.demo1-post-continuity-card:visited {
    display: flex;
    min-height: 8rem;
    flex-direction: column;
    justify-content: center;
    border: 1px solid rgba(229, 231, 235, 0.95);
    border-radius: 1.25rem;
    background: #fff;
    color: #43280f !important;
    padding: 1.25rem;
    text-decoration: none !important;
    box-shadow: 0 10px 25px rgba(67, 40, 15, 0.08);
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}
.demo1-post-continuity-card:hover,
.demo1-post-continuity-card:focus {
    border-color: rgba(85, 165, 28, 0.4);
    box-shadow: 0 16px 34px rgba(67, 40, 15, 0.13);
    transform: translateY(-1px);
}
.demo1-post-continuity-next {
    text-align: right;
}
.demo1-post-continuity-label {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    color: #55a51c;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
.demo1-post-continuity-next .demo1-post-continuity-label {
    justify-content: flex-end;
}
.demo1-post-continuity-title {
    display: block;
    margin-top: 0.65rem;
    font-family: "Playfair Display", serif;
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1.25;
}
.demo1-post-continuity-spacer {
    display: block;
}
@media (max-width: 700px) {
    .demo1-post-continuity {
        grid-template-columns: 1fr;
    }
    .demo1-post-continuity-next {
        text-align: left;
    }
    .demo1-post-continuity-next .demo1-post-continuity-label {
        justify-content: flex-start;
    }
    .demo1-post-continuity-spacer {
        display: none;
    }
}
