/*
Theme Name: Razzi Child
Theme URI: https://demo4.drfuri.com/razzi/
Author: DrFuri
Author URI: http://drfuri.com
Description: Razzi Child Theme.
Version: 1.0
License: GNU General Public License v2+
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: razzi
Domain Path: /lang/
Tags: one-column, two-columns, left-sidebar, right-sidebar, full-width-template, post-formats, theme-options, threaded-comments, translation-ready
Template: razzi
*/

/* ==========================================================================
 * FREEDOM FUEL — Site-wide custom styling
 * Migrated from the WP Customizer "Additional CSS" field on 2026-04-25 so
 * these rules are version-controlled alongside the rest of the codebase.
 *
 * NOT included here (handled in dedicated files):
 *   - Block checkout styling      → themes/razzi/assets/css/checkout.css
 *   - Cart drawer styling         → plugins/voting/css/cart-drawer.css
 *   - Mini-cart item styling      → plugins/voting/css/cart-drawer.css
 *   - Vote-commit section         → plugins/voting/css/cart-drawer.css
 *
 * Sections:
 *   1.  Global typography
 *   2.  Product archive (shop loop)
 *   3.  Product gallery & thumbnail swiper
 *   4.  Single-product layout
 *   5.  Variation swatches
 *   6.  Lookbook banner
 *   7.  Wishlist
 *   8.  Live sales notification
 *   9.  Service tags
 *   10. Voting — earned votes table & vote button
 *   11. Page header & greeting trim
 *   12. WooCommerce account / login / reset
 *   13. Order received (thank-you) page
 *   14. Tables
 *   15. Gravity Forms — newsletter (form #2)
 *   16. Gravity Forms — login/account (form #3)
 *   17. Gravity Forms — multi-step (form #1)
 *   18. Gravity Forms — general
 *   19. GiveWP donations
 *   20. Elementor — generic modal
 *   21. Elementor popup #1180 (focused product/donation modal)
 *   22. Elementor element-id hides
 *   23. Mobile breakpoints
 * ========================================================================== */


/* ==========================================================================
 * 1. Global typography
 * ========================================================================== */
bdi {
    color: #fff;
}


/* ==========================================================================
 * 2. Product archive (shop loop)
 * ========================================================================== */
ul.products li.product .product-inner {
    padding-bottom: 20px;
    position: relative;
    background-color: transparent;
    margin: auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

ul.products li.product .product-summary {
    transition: transform .35s ease;
    padding-top: 20px;
    background-color: transparent;
}


/* ==========================================================================
 * 3. Product gallery & thumbnail swiper
 * ========================================================================== */
ol.flex-control-nav.flex-control-thumbs {
    display: flex;
    overflow: hidden;
    flex-wrap: nowrap;
    list-style: none;
    padding-left: 0;
}

ol.flex-control-nav.flex-control-thumbs img {
    min-width: 75px;
}

.woocommerce-product-gallery__thumbs-carousel {
    opacity: 1 !important;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    flex-wrap: nowrap;
    order: 2;
}

.single-product div.product .woocommerce-product-gallery__thumbs-carousel .rz-swiper-button {
    z-index: 999999999;
    display: block;
    opacity: 1;
    background: transparent;
}

.rz-thumbs-button-next { order: 3; }
.rz-thumbs-button-prev { order: 1; }

.swiper-wrapper {
    order: 2;
    display: flex;
    align-items: center;
    gap: 1px;
}

li.swiper-slide {
    width: auto;
    margin: 0 12px;
}

.single-product div.product .woocommerce-product-gallery .flex-control-thumbs {
    margin: 15px 0 0;
    padding: 0;
    overflow-x: scroll;
}

.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__image a,
.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__image img {
    display: block;
    margin: auto;
}

.swiper-container.linked-products-carousel {
    opacity: 1 !important;
}


/* ==========================================================================
 * 4. Single-product layout
 * ========================================================================== */
.summary.entry-summary.razzi-scrollbar {
    background: #000;
}

.single-product div.product.layout-v5 .entry-summary {
    position: -webkit-sticky;
    position: sticky;
    top: 110px;
}

.single-product div.product.product-tabs-under-summary .woocommerce-tabs .razzi-tab-wrapper > a {
    color: #fff;
}

.single-product div.product.product-type-variable form.cart .variations label {
    font-weight: 400;
    color: #fff;
}


/* ==========================================================================
 * 5. Variation swatches (WCBoost)
 * ========================================================================== */
li.wcboost-variation-swatches__item.selected,
li.wcboost-variation-swatches__item:hover {
    border: 1px solid #db2828 !important;
}

li.wcboost-variation-swatches__item.selected span,
li.wcboost-variation-swatches__item:hover span {
    color: #db2828 !important;
}


/* ==========================================================================
 * 6. Lookbook banner
 * ========================================================================== */
.razzi-lookbook-banner .product-item {
    background-color: #000;
}


/* ==========================================================================
 * 7. Wishlist
 * ========================================================================== */
a.wcboost-wishlist-button {
    display: none !important;
}


/* ==========================================================================
 * 8. Live sales notification
 * ========================================================================== */
.live-sales-notification__summary * {
    color: #db2828;
}


/* ==========================================================================
 * 9. Service tags
 * ========================================================================== */
span.service-tag {
    padding: 3px 10px;
    margin-right: 8px;
}


/* ==========================================================================
 * 10. Voting — earned votes table
 *     (live `.vote-button` rule preserved as a comment for future toggling)
 * ========================================================================== */
.earned-votes-table {
    margin-top: 12px;
    display: block;
    border-top: 1px solid #fff;
    padding-top: 12px;
}

/* .vote-button { pointer-events: none; } */


/* ==========================================================================
 * 11. Page header & greeting trim
 * ========================================================================== */
#page-header {
    display: none !important;
}

/* Hide subsequent <p> siblings of `.greeting` so only the greeting +
 * (optionally) one paragraph render. */
.greeting:has(+ p) + p,
.greeting:has(+ p + p) + p + p,
.greeting:has(+ p + p + p) + p + p + p {
    display: none;
}


/* ==========================================================================
 * 12. WooCommerce account / login / reset password
 * ========================================================================== */
body.page-id-654 div#page {
    background: #000;
}
/* (account-active page link colors intentionally commented in original) */
/* body.page-id-654 div#page #content a {} */

#customer_login * { color: #000; }
#customer_login button { color: #fff; }

.woocommerce-account .woocommerce-ResetPassword,
.woocommerce-account .woocommerce-ResetPassword * {
    color: #000 !important;
}
.woocommerce-account .woocommerce-ResetPassword,
.woocommerce-account .woocommerce-ResetPassword button {
    color: #fff !important;
}


/* ==========================================================================
 * 13. Order received (thank-you) page
 * ========================================================================== */
body.woocommerce-order-received .site-content {
    padding-top: 0 !important;
}

/* Default WC "thank you" notice is hidden — replaced by Elementor template
 * via load_custom_elementor_thank_you_template() in the voting plugin. */
p.woocommerce-notice.woocommerce-notice--success.woocommerce-thankyou-order-received {
    display: none;
}

.woocommerce-checkout .woocommerce-order > section {
    max-width: 1400px;
    margin: auto;
}

.woocommerce-checkout .woocommerce-order > section table * {
    color: #fff;
}

section.woocommerce-customer-details {
    max-width: 1400px;
    margin: auto;
}

.woocommerce-customer-details h2.woocommerce-column__title {
    color: #fff !important;
}

table.woocommerce-table.woocommerce-table--order-details.shop_table.order_details.order_total * {
    color: #fff;
}


/* ==========================================================================
 * 14. Tables
 * ========================================================================== */
table.shop_table thead th {
    background-color: transparent;
}


/* ==========================================================================
 * 15. Gravity Forms — newsletter signup (form #2)
 *     (footer email-capture, "JOIN OUR COMMUNITY")
 * ========================================================================== */
form#gform_2 {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: center;
    width: 100%;
    gap: 10px;
}

#field_2_1 label {
    display: none;
}

input#input_2_1 {
    width: 100%;
    min-height: 50px;
    border-radius: 0;
    font-size: 16px;
}
input#input_2_1:focus {
    border-color: #db2828;
    --gf-local-outline-color: #db2828;
}

input#gform_submit_button_2 {
    min-height: 50px;
    border-radius: 0;
    background: #db2828;
    border: 2px solid #db2828;
    color: #000;
    text-transform: uppercase;
    min-width: 200px;
    font-family: "eurostile-extended", Sans-serif;
    font-weight: 500;
    font-size: 14px;
}
input#gform_submit_button_2:hover {
    background: transparent;
    border: 2px solid #db2828;
    color: #db2828;
}


/* ==========================================================================
 * 16. Gravity Forms — login/account (form #3)
 * ========================================================================== */
input#input_3_1 {
    width: 100%;
    min-height: 50px;
    border-radius: 0;
}
input#input_3_2,
input#input_3_3 {
    border-radius: 0;
    padding: 12px;
    min-height: 50px;
}

div#gform_fields_3 {
    row-gap: 8px;
}

#gform_wrapper_3 .gform-footer.gform_footer.top_label {
    margin-top: 12px;
}

input#gform_submit_button_3 {
    width: 100%;
    background: rgb(219, 39, 40);
    background-color: #db2828;
    border-radius: 0;
    border-style: solid;
    border-color: rgb(219, 39, 40);
    border-width: 2px;
    color: rgb(1, 1, 1);
    font-family: eurostile-extended, Arial, "Helvetica Neue", Helvetica, sans-serif;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1;
    font-style: normal;
    white-space: normal;
    padding-top: 0;
    padding-bottom: 0;
    text-align: center;
    word-break: break-word;
    align-self: flex-end;
    cursor: pointer;
    pointer-events: auto;
    height: 52px;
    transition: all .3s ease;
}
input#gform_submit_button_3:hover {
    background-color: transparent;
    color: #db2828;
}


/* ==========================================================================
 * 17. Gravity Forms — multi-step (form #1)
 * ========================================================================== */
div.gf_page_steps {
    display: flex;
    width: 100%;
    justify-content: center;
    align-items: center;
}

.gf_step.gf_step_active * {
    color: #fff;
    opacity: 1;
    border-color: #fff;
}

input#gform_next_button_1_29,
input#gform_submit_button_1 {
    border-radius: 0 !important;
    background-color: #DB2827;
    border: 1px solid #DB2827;
    margin-bottom: 12px;
}
input#gform_next_button_1_29:hover,
input#gform_submit_button_1:hover {
    border-radius: 0 !important;
    background-color: #000;
}


/* ==========================================================================
 * 18. Gravity Forms — general
 * ========================================================================== */
.ginput_container.ginput_container_email {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

.gform-body.gform_body {
    width: 100%;
}

.gform-body label,
.gform-body legend {
    color: #fff !important;
}

.gform-footer.gform_footer.top_label {
    margin-top: 0;
}

div#gform_confirmation_message_2,
div#gform_confirmation_message_3 {
    text-align: center;
    margin: 24px auto;
    font-size: 24px;
    border-top: 1px solid #fff;
    padding: 20px;
    border-bottom: 1px solid #fff;
}


/* ==========================================================================
 * 19. GiveWP donations
 * ========================================================================== */
iframe#give-form-shortcode-1 {
    height: 100vh;
}

#give-form-shortcode-2 {
    height: 100%;
    min-height: 140vh;
    overflow: scroll !important;
}


/* ==========================================================================
 * 20. Elementor — generic modal
 * ========================================================================== */
.elementor-popup-modal .dialog-widget-content {
    background-color: transparent;
    border-radius: 0;
    box-shadow: none;
    max-height: 100%;
    max-width: 100%;
    overflow: visible;
    pointer-events: all;
    width: auto;
}

.quick-view-modal .woocommerce div.product .entry-thumbnail {
    background: #000;
}


/* ==========================================================================
 * 21. Elementor popup #1180 — focused product/donation modal
 *     Strips chrome (header/footer/breadcrumbs/tabs/share) and re-styles
 *     the inner product layout for a focused single-purpose modal.
 * ========================================================================== */
#elementor-popup-modal-1180 html {
    margin-top: 0 !important;
}

#elementor-popup-modal-1180 .elementor-location-header,
#elementor-popup-modal-1180 .elementor-location-footer,
#elementor-popup-modal-1180 .woocommerce-breadcrumb,
#elementor-popup-modal-1180 .woocommerce-product-gallery,
#elementor-popup-modal-1180 #wpadminbar,
#elementor-popup-modal-1180 .summary-top-box,
#elementor-popup-modal-1180 .woocommerce-tabs,
#elementor-popup-modal-1180 .product_meta,
#elementor-popup-modal-1180 .product-share {
    display: none !important;
}

#elementor-popup-modal-1180 .single-product div.product .entry-summary {
    width: 100%;
    padding-left: 30px;
    float: right;
}

#elementor-popup-modal-1180 .summary.entry-summary {
    top: 0 !important;
    margin: 0 !important;
}

#elementor-popup-modal-1180 .single-product div.product .entry-summary .product_title,
#elementor-popup-modal-1180 .entry-summary > .price {
    display: none;
}

#elementor-popup-modal-1180 .quantity {
    display: none !important;
}

#elementor-popup-modal-1180 .single-product div.product .summary-price-box,
#elementor-popup-modal-1180 .summary-price-box {
    display: none !important;
}

#elementor-popup-modal-1180 .single-product div.product.product-type-variable form.cart {
    margin-top: 0;
}

#elementor-popup-modal-1180 .single-product div.product.product-type-variable form.cart .variations label {
    font-weight: 400;
    color: #fff;
}

#elementor-popup-modal-1180 .single-product div.product.product-tabs-under-summary .product-gallery-summary {
    margin-bottom: 80px;
    padding-top: 0;
}

#elementor-popup-modal-1180 div#custom-donation-amount-wrapper {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

#elementor-popup-modal-1180 li.wcboost-variation-swatches__item {
    width: 230px !important;
    min-width: 160px !important;
    max-width: 100% !important;
    display: block;
    padding: 12px;
}

#elementor-popup-modal-1180 .dialog-message {
    width: 1000px;
    height: 600px;
    align-items: flex-start;
}

#elementor-popup-modal-1180 .elementor-element.elementor-element-7fadc830.e-con-full.e-flex.e-con.e-child {
    min-height: 100vh;
    display: flex;
    justify-content: flex-start;
    padding-top: 50px;
}

/* Banish the legacy cart-modal that lives inside this popup. */
#elementor-popup-modal-1180 #cart-modal {
    display: none !important;
    z-index: -10000000 !important;
    right: 1000000000px !important;
    bottom: 1000000000px !important;
}

#elementor-popup-modal-1180 .dialog-close-button {
    display: flex;
    position: fixed;
    top: 70px;
    right: 20px;
    z-index: 999999 !important;
    color: #fff !important;
    font-size: 20px;
    stroke: #fff !important;
    fill: #fff !important;
}
#elementor-popup-modal-1180 .dialog-close-button svg {
    stroke: #000 !important;
    fill: #000 !important;
}


/* ==========================================================================
 * 22. Elementor element-id hides / overrides
 * ========================================================================== */
.elementor-element.elementor-element-37a1c0d.e-con-full.animated-slow.e-flex.e-con.e-parent.e-lazyloaded.animated.fadeIn {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: auto;
}

.elementor-element.elementor-element-6032629.e-con-full.e-flex.e-con.e-child {
    display: none;
}

@media (min-width: 1024px) {
    ul.products.columns-4 li.product {
        width: 31%;
    }
}


/* ==========================================================================
 * 23. Mobile breakpoints
 * ========================================================================== */
@media (max-width: 767px) {
    /* Newsletter form (#2) stacks vertically on mobile. */
    form#gform_2 {
        flex-direction: column;
    }
    input#gform_submit_button_2 {
        width: 100%;
    }
    .gform-footer.gform_footer.top_label {
        width: 100%;
        display: block;
        min-width: 100%;
        max-width: 100%;
    }
}
