/* =============================================
   Home-2 Page (ID: 909) - Custom Styles
   ============================================= */

/* Hide Add to Cart button */
body.postid-909 .woocommerce ul.products li.product .button,
body.postid-909 .woocommerce ul.products li.product .add_to_cart_button,
body.page-id-909 .woocommerce ul.products li.product .button,
body.page-id-909 .woocommerce ul.products li.product .add_to_cart_button {
    display: none !important;
}

/* Product images - square aspect ratio with light gray background */
body.postid-909 .woocommerce ul.products li.product a img,
body.page-id-909 .woocommerce ul.products li.product a img {
    aspect-ratio: 1 / 1;
    object-fit: cover;
    width: 100%;
    height: auto;
    background-color: #f5f5f5;
    border-radius: 8px;
}

/* Hide page title on homepage */
body.page-id-909 .hero-section,
body.postid-909 .hero-section {
    display: none !important;
}

/* =============================================
   Homepage Sections - Full Width Edge-to-Edge
   ============================================= */

/* Remove constrained layout max-width for Elementor content */
body.page-id-909 .entry-content.is-layout-constrained {
    max-width: none !important;
}

body.page-id-909 .elementor {
    width: 100% !important;
    max-width: 100% !important;
}

/* Full-width parent containers */
body.page-id-909 .e-con.e-parent {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Hero banner - no gap between images */
body.page-id-909 .home-hero-banner {
    gap: 0 !important;
    position: relative;
}

/* Left column (has gummies image bg + text widgets) - keep its bg, but overlay its widgets across the whole banner */
body.page-id-909 .home-hero-banner > .elementor-element:first-child {
    position: static;
}

/* Pull all widgets in the left column into a centered overlay across the full hero */
body.page-id-909 .home-hero-banner > .elementor-element:first-child > .elementor-widget {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: min(700px, 80vw);
    text-align: center;
    z-index: 5;
    margin: 0;
}

/* Stack the widgets vertically: heading, text, button */
body.page-id-909 .home-hero-banner > .elementor-element:first-child > .elementor-widget-heading {
    top: 40%;
}
body.page-id-909 .home-hero-banner > .elementor-element:first-child > .elementor-widget-text-editor {
    top: 56%;
}
body.page-id-909 .home-hero-banner > .elementor-element:first-child > .elementor-widget-button {
    top: 66%;
}

/* Center text alignment for heading and editor */
body.page-id-909 .home-hero-banner h2,
body.page-id-909 .home-hero-banner .elementor-widget-text-editor,
body.page-id-909 .home-hero-banner .elementor-widget-text-editor p {
    text-align: center !important;
    color: #fff !important;
}

/* Button - white outline, transparent fill (Figma style) */
body.page-id-909 .home-hero-banner .elementor-button {
    background: transparent !important;
    border: 2px solid #fff !important;
    color: #fff !important;
    border-radius: 4px !important;
    padding: 14px 38px !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    letter-spacing: 1px !important;
    text-transform: none !important;
}

body.page-id-909 .home-hero-banner .elementor-button:hover {
    background: #fff !important;
    color: #3d3d3d !important;
}

@media (max-width: 768px) {
    body.page-id-909 .home-hero-banner > .elementor-element:first-child > .elementor-widget {
        width: 88vw;
    }
}

/* Hol dir section - no gap */
body.page-id-909 .home-hol-dir-section {
    gap: 0 !important;
}

/* Product name styling */
body.postid-909 .woocommerce ul.products li.product .woocommerce-loop-product__title,
body.page-id-909 .woocommerce ul.products li.product .woocommerce-loop-product__title {
    text-align: left;
}

/* Product price styling */
body.postid-909 .woocommerce ul.products li.product .price,
body.page-id-909 .woocommerce ul.products li.product .price {
    text-align: left;
}

/* =============================================
   Night Fat Burner Feature Section
   ============================================= */
.nfb-section {
    background-color: #f5edd4;
    width: 100vw;
    margin-left: calc(-50vw + 50%);
    padding: 80px 0;
}

.nfb-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 40px;
    display: flex;
    align-items: center;
    gap: 60px;
}

.nfb-text {
    flex: 1;
    max-width: 50%;
}

.nfb-subtitle {
    font-size: 16px;
    font-weight: 700;
    color: #3d3d3d;
    margin-bottom: 15px;
}

.nfb-heading {
    font-size: 48px;
    font-weight: 400;
    font-style: italic;
    color: #7a3b4e;
    line-height: 1.15;
    margin-bottom: 25px;
}

.nfb-description {
    font-size: 16px;
    color: #3d3d3d;
    line-height: 1.7;
    margin-bottom: 40px;
}

.nfb-btn {
    display: inline-block;
    font-size: 15px;
    font-weight: 600;
    color: #3d3d3d;
    border: 2px solid #3d3d3d;
    border-radius: 4px;
    padding: 14px 40px;
    text-decoration: none;
    background: transparent;
    transition: all 0.3s;
    letter-spacing: 0.5px;
}

.nfb-btn:hover {
    background: #3d3d3d;
    color: #fff;
}

.nfb-image {
    flex: 1;
    max-width: 50%;
    display: flex;
    justify-content: center;
}

.nfb-image img {
    max-width: 100%;
    height: auto;
}

@media (max-width: 768px) {
    .nfb-inner {
        flex-direction: column;
        gap: 40px;
    }

    .nfb-text,
    .nfb-image {
        max-width: 100%;
    }

    .nfb-heading {
        font-size: 34px;
    }
}

/* =============================================
   Hero Banner Section (legacy)
   ============================================= */
.hero-banner {
    background-color: #f5edd4;
    padding: 60px 0;
    position: relative;
    overflow: hidden;
}

.hero-banner-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 30px;
    display: flex;
    align-items: center;
    gap: 40px;
}

/* Left text column */
.hero-text {
    flex: 1;
    max-width: 55%;
}

.hero-subtitle {
    font-size: 16px;
    font-weight: 700;
    color: #3d3d3d;
    margin-bottom: 15px;
}

.hero-heading {
    font-size: 58px;
    font-weight: 400;
    font-style: italic;
    color: #7a3b4e;
    line-height: 1.12;
    margin-bottom: 20px;
}

.hero-description {
    font-size: 16px;
    color: #3d3d3d;
    line-height: 1.6;
    margin-bottom: 30px;
    max-width: 500px;
}

.hero-btn {
    display: inline-block;
    font-size: 16px;
    font-weight: 600;
    color: #3d3d3d;
    border: 2px solid #3d3d3d;
    border-radius: 4px;
    padding: 16px 45px;
    text-decoration: none;
    background: transparent;
    transition: all 0.3s;
    letter-spacing: 0.5px;
}

.hero-btn:hover {
    background: #3d3d3d;
    color: #fff;
}

/* Right image column */
.hero-image {
    flex: 1;
    max-width: 45%;
    position: relative;
}

.hero-image img {
    max-width: 100%;
    height: auto;
}

/* Feature annotations */
.hero-features {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.hero-feature {
    position: absolute;
    text-align: right;
    max-width: 220px;
}

.hero-feature-title {
    font-size: 15px;
    font-style: italic;
    font-weight: 500;
    color: #7a3b4e;
    margin-bottom: 4px;
}

.hero-feature-text {
    font-size: 12px;
    color: #3d3d3d;
    line-height: 1.4;
}

.hero-feature-dot {
    width: 12px;
    height: 12px;
    background: #7a3b4e;
    border-radius: 50%;
    display: inline-block;
    position: absolute;
    right: -20px;
    top: 5px;
}

.hero-feature.feat-1 {
    top: 8%;
    right: 55%;
}

.hero-feature.feat-2 {
    top: 38%;
    right: 55%;
}

.hero-feature.feat-3 {
    top: 65%;
    right: 55%;
}

@media (max-width: 768px) {
    .hero-banner-inner {
        flex-direction: column;
    }

    .hero-text,
    .hero-image {
        max-width: 100%;
    }

    .hero-heading {
        font-size: 38px;
    }

    .hero-features {
        display: none;
    }
}

/* =============================================
   Footer - Match Original Shopify Design
   ============================================= */

/* Footer background - light cream/beige */
footer.ct-footer [data-row] {
    background-color: #f5f0eb !important;
}

/* Footer more top/bottom padding */
footer.ct-footer [data-row="middle"] {
    padding-top: 0 !important;
    padding-bottom: 30px !important;
}

/* Wider gap between footer columns */
footer.ct-footer [data-row="middle"] .ct-container {
    --columns-gap: 80px;
}

/* Footer text color */
footer.ct-footer {
    color: #3d3d3d !important;
}

footer.ct-footer [data-row] * {
    color: #3d3d3d;
}

/* Footer headings - maroon/burgundy brand color */
footer.ct-footer .ct-widget h2,
footer.ct-footer .ct-widget h3,
footer.ct-footer .ct-widget h4,
footer.ct-footer .ct-widget .widget-title,
footer.ct-footer [data-column] .ct-widget > h2,
footer.ct-footer [data-column] .ct-widget > h3 {
    color: #7a3b4e !important;
    font-style: italic;
    font-weight: 400;
    font-size: 22px;
}

/* "Schnelle Links" subheading style */
footer.ct-footer .ct-widget h3 {
    color: #7a3b4e !important;
    font-style: italic;
    font-weight: 400;
    font-size: 18px;
}

/* Footer links */
footer.ct-footer a {
    color: #3d3d3d !important;
    text-decoration: none;
}

footer.ct-footer a:hover {
    color: #7a3b4e !important;
}

/* Footer menu links */
footer.ct-footer .menu-container .menu li a {
    color: #3d3d3d !important;
}

footer.ct-footer .menu-container .menu li a:hover {
    color: #7a3b4e !important;
}

/* Social icons - simple single color, no colored backgrounds */
footer.ct-footer .ct-footer-socials .ct-social-box a {
    background: transparent !important;
    color: #3d3d3d !important;
    border: none !important;
    width: auto;
    height: auto;
    padding: 5px;
}

footer.ct-footer .ct-footer-socials .ct-social-box a svg {
    fill: #3d3d3d !important;
    width: 18px;
    height: 18px;
}

footer.ct-footer .ct-footer-socials .ct-social-box a:hover svg {
    fill: #7a3b4e !important;
}

/* Newsletter section heading */
footer.ct-footer .ct-newsletter-subscribe-block h2,
footer.ct-footer .ct-newsletter-subscribe-block h3,
footer.ct-footer .ct-newsletter-subscribe-block .widget-title {
    color: #7a3b4e !important;
    font-style: italic;
}

/* Newsletter input fields */
footer.ct-footer .ct-newsletter-subscribe-block input[type="text"],
footer.ct-footer .ct-newsletter-subscribe-block input[type="email"] {
    background: #fff !important;
    border: 1px solid #ccc !important;
    border-radius: 4px;
    color: #666 !important;
    padding: 12px 15px;
}

/* Newsletter subscribe button */
footer.ct-footer .ct-newsletter-subscribe-block button,
footer.ct-footer .ct-newsletter-subscribe-block input[type="submit"],
footer.ct-footer .ct-newsletter-subscribe-block .wp-block-button__link {
    background-color: #7a3b4e !important;
    color: #fff !important;
    border: none !important;
    border-radius: 4px;
    padding: 12px 20px;
    text-transform: uppercase;
    font-weight: 600;
    letter-spacing: 1px;
    width: 100%;
    cursor: pointer;
}

footer.ct-footer .ct-newsletter-subscribe-block button:hover,
footer.ct-footer .ct-newsletter-subscribe-block input[type="submit"]:hover,
footer.ct-footer .ct-newsletter-subscribe-block .wp-block-button__link:hover {
    background-color: #5e2d3c !important;
}

/* Bottom bar / copyright row */
footer.ct-footer [data-row="bottom"] {
    background-color: #f5f0eb !important;
    border-top: none;
}

footer.ct-footer .ct-footer-copyright {
    color: #3d3d3d !important;
    font-size: 14px;
}

/* Payment icons in footer */
footer.ct-footer [data-row="bottom"] img {
    filter: grayscale(0);
    height: 28px;
    width: auto;
}

/* =============================================
   Footer Custom HTML Widget Styles
   ============================================= */

/* Column 1 - About section */
.footer-col-about h3 {
    color: #7a3b4e !important;
    font-style: italic;
    font-weight: 400;
    font-size: 22px;
    margin-bottom: 18px;
    margin-top: 30px;
}

.footer-col-about h3:first-child {
    margin-top: 0;
}

.footer-col-about p {
    color: #3d3d3d;
    font-size: 15px;
    line-height: 1.7;
    margin-bottom: 10px;
}

.footer-col-about ul {
    list-style: none;
    padding: 0;
    margin: 0 0 20px 0;
}

.footer-col-about ul li {
    margin-bottom: 10px;
}

.footer-col-about ul li a {
    color: #3d3d3d !important;
    text-decoration: none;
    font-size: 16px;
}

.footer-col-about ul li a:hover {
    color: #7a3b4e !important;
}

/* Social icons row */
.footer-social-icons {
    display: flex;
    gap: 18px;
    align-items: center;
    margin: 25px 0;
}

.footer-social-icons a {
    display: inline-flex;
    color: #3d3d3d !important;
    transition: color 0.2s;
}

.footer-social-icons a:hover {
    opacity: 0.7;
}

.footer-social-icons a svg {
    fill: #3d3d3d;
    width: 20px;
    height: 20px;
}

.footer-social-icons a:hover svg {
    fill: #7a3b4e;
}

/* Disclaimer text */
.footer-disclaimer {
    font-size: 14px;
    color: #3d3d3d !important;
    line-height: 1.6;
    margin: 0;
    border: none;
    padding: 0;
}

/* Column 2 - Überblick links */
.footer-col-links h3 {
    color: #7a3b4e !important;
    font-style: italic;
    font-weight: 400;
    font-size: 22px;
    margin-bottom: 22px;
    margin-top: 0;
}

.footer-col-links ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-col-links ul li {
    margin-bottom: 12px;
}

.footer-col-links ul li a {
    color: #3d3d3d !important;
    text-decoration: none;
    font-size: 16px;
}

.footer-col-links ul li a:hover {
    color: #7a3b4e !important;
}

/* Column 3 - Newsletter section */
.footer-col-newsletter {
    text-align: center;
}

.footer-col-newsletter h3 {
    color: #7a3b4e !important;
    font-style: italic;
    font-weight: 400;
    font-size: 22px;
    margin-bottom: 12px;
    margin-top: 0;
}

.footer-col-newsletter p {
    color: #3d3d3d;
    font-size: 14px;
    line-height: 1.5;
    margin-bottom: 18px;
}

.footer-newsletter-form {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 18px;
}

.footer-newsletter-form input[type="text"],
.footer-newsletter-form input[type="email"] {
    background: #fff;
    border: 1px solid #c5b8b0;
    color: #333;
    padding: 12px 16px;
    font-size: 14px;
    width: 100%;
    box-sizing: border-box;
    border-radius: 6px;
}

.footer-newsletter-form input::placeholder {
    color: #888;
    font-size: 14px;
}

.footer-newsletter-form button {
    background-color: #7a3b4e;
    color: #fff;
    border: none;
    border-radius: 6px;
    padding: 14px 20px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    cursor: pointer;
    width: 100%;
    transition: background-color 0.2s;
}

.footer-newsletter-form button:hover {
    background-color: #5e2d3c;
}

.footer-newsletter-disclaimer {
    font-size: 12px !important;
    color: #555 !important;
    line-height: 1.5;
    text-align: center;
    margin-bottom: 0;
    margin-top: 5px;
}

.footer-newsletter-disclaimer a {
    color: #3d3d3d !important;
    text-decoration: underline;
    font-weight: 600;
}

/* =============================================
   Footer Bottom Bar - Country & Payment Icons
   ============================================= */
.footer-bottom-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
}

/* Left - Country selector */
.footer-bottom-left {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.footer-country-label {
    color: #7a3b4e !important;
    font-size: 15px;
    font-weight: 500;
}

.footer-country-select select {
    appearance: none;
    -webkit-appearance: none;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%233d3d3d' stroke-width='1.5' fill='none'/%3E%3C/svg%3E") no-repeat right 12px center;
    border: 1px solid #ccc;
    border-radius: 4px;
    color: #3d3d3d;
    padding: 10px 40px 10px 14px;
    font-size: 14px;
    cursor: pointer;
    min-width: 200px;
}

.footer-country-select select:hover {
    border-color: #7a3b4e;
}

/* Right - Payment icons */
.footer-bottom-right {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.footer-bottom-right img,
.footer-bottom-right .payment-icon svg {
    height: 35px;
    width: auto;
    border-radius: 4px;
}

.footer-bottom-right .payment-icon {
    display: inline-flex;
}

@media (max-width: 768px) {
    .footer-bottom-bar {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* Footer Copyright Bar - Last Line */
.footer-copyright-bar {
    border-top: none;
    padding-top: 0;
    margin-top: 5px;
}

.footer-copyright-bar p {
    color: #3d3d3d !important;
    font-size: 14px;
    margin: 0;
}

/* =============================================
   Single Product Page - Custom Design
   ============================================= */

/* Product title */
.single-product .product_title {
    color: #7a3b4e !important;
    font-size: 36px;
    font-weight: 400;
    font-style: italic;
    margin-bottom: 15px;
}

/* Short description */
.single-product .woocommerce-product-details__short-description p {
    font-size: 16px;
    color: #3d3d3d;
    line-height: 1.6;
}

/* Hide original price display (shown in radio cards instead) */
.single-product .product .summary .price {
    display: none !important;
}

/* Pakete radio cards wrapper */
.pakete-radio-wrapper {
    margin: 0;
}

.pakete-heading {
    text-align: center;
    font-size: 18px;
    font-weight: 700;
    color: #3d3d3d;
    margin-bottom: 15px;
}

/* Individual radio card */
.pakete-card {
    display: flex;
    align-items: center;
    padding: 14px 18px;
    border: 2px solid #e0d6ce;
    border-radius: 8px;
    margin-bottom: 10px;
    cursor: pointer;
    position: relative;
    transition: border-color 0.2s, background-color 0.2s;
    background: #fff;
}

.pakete-card:hover {
    border-color: #c5a96a;
}

.pakete-card.active {
    border-color: #c5a96a;
    background-color: #fdf8ee;
}

/* Radio button */
.pakete-radio {
    appearance: none;
    -webkit-appearance: none;
    width: 20px;
    height: 20px;
    border: 2px solid #ccc;
    border-radius: 50%;
    margin-right: 14px;
    flex-shrink: 0;
    position: relative;
    cursor: pointer;
}

.pakete-radio:checked {
    border-color: #c5a96a;
}

.pakete-radio:checked::after {
    content: '';
    width: 10px;
    height: 10px;
    background: #c5a96a;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

/* Variation name */
.pakete-name {
    flex: 1;
    font-size: 16px;
    font-weight: 600;
    color: #3d3d3d;
}

/* Variation price */
.pakete-price {
    font-size: 18px;
    font-weight: 700;
    color: #7a3b4e;
    margin-left: auto;
}

/* Badge for 2x option */
.pakete-badge {
    position: absolute;
    top: -10px;
    right: 12px;
    background: #c5a96a;
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    padding: 3px 10px;
    border-radius: 4px;
    letter-spacing: 0.3px;
}

/* Hide quantity input */
.single-product .quantity {
    display: none !important;
}

/* Jetzt Einkaufen button */
.single-product .single_add_to_cart_button {
    background-color: #7a3b4e !important;
    color: #fff !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 16px 30px !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    letter-spacing: 1px;
    width: 100%;
    cursor: pointer;
    transition: background-color 0.2s;
    text-transform: none;
}

.single-product .single_add_to_cart_button:hover {
    background-color: #5e2d3c !important;
}

/* Hide product meta (SKU, categories, tags) */
.single-product .product_meta {
    display: none !important;
}

/* Hide entire WooCommerce tabs section (description moved to summary) */
.single-product .woocommerce-tabs {
    display: none !important;
}

/* Inline description in summary column */
.product-inline-description {
    margin-top: 25px;
    font-size: 16px;
    color: #3d3d3d;
    line-height: 1.7;
}

.product-inline-description p {
    margin-bottom: 15px;
}

/* Product gallery thumbnails */
.single-product .woocommerce-product-gallery__image img {
    border-radius: 8px;
}

.single-product .flex-control-thumbs li img {
    border-radius: 6px;
    border: 2px solid transparent;
}

.single-product .flex-control-thumbs li img.flex-active {
    border-color: #7a3b4e;
}

/* Variation reset link - hide */
.single-product .reset_variations {
    display: none !important;
}

/* =============================================
   Product FAQ Accordion
   ============================================= */
.product-faq {
    margin-top: 30px;
    border-top: 1px solid #e0d6ce;
}

.faq-item {
    border-bottom: 1px solid #e0d6ce;
}

.faq-question {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 18px 0;
    background: none;
    border: none;
    cursor: pointer;
    font-size: 16px;
    font-style: italic;
    font-weight: 400;
    color: #3d3d3d;
    text-align: left;
}

.faq-question:hover {
    color: #7a3b4e;
}

.faq-icon {
    font-size: 22px;
    font-style: normal;
    transition: transform 0.3s;
    line-height: 1;
}

.faq-item.open .faq-icon {
    transform: rotate(180deg);
}

.faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
}

.faq-answer p {
    padding: 0 0 18px 0;
    margin: 0;
    font-size: 15px;
    color: #555;
    line-height: 1.6;
}
