/*
Theme Name: Tormik Pro Theme | xixaSoft
Theme URI: https://xixasoft.com/
Author: xixaSoft
Author URI: https://xixasoft.com/
Description: Modern, responsive WooCommerce theme for Tormik with an independent customization dashboard and safe Elementor integration.
Version: 2.0.2
Requires at least: 6.0
Requires PHP: 7.4
License: GPL v2 or later
Text Domain: tormik-theme
Tags: ecommerce, woocommerce, elementor, responsive, modern
*/

/* v2.0.3 responsive commerce integration */
.tormik-header,.tormik-footer{width:100%}
.tormik-header-inner,.tormik-footer-inner{margin-left:auto;margin-right:auto}
.modern-product-card,.tormik-product-card,.woocommerce ul.products li.product{min-width:0;max-width:100%}
.modern-product-card .product-card-inner,.tormik-product-card{position:relative;overflow:hidden}
.modern-product-card .xsvs-card,.tormik-product-card .xsvs-card{
  box-sizing:border-box!important;max-width:calc(100% - 20px)!important;width:calc(100% - 20px)!important;
  left:10px!important;right:10px!important;overflow-x:hidden!important;
}
.modern-product-card .xsvs-card-group,.tormik-product-card .xsvs-card-group{min-width:0!important;max-width:100%!important}
.modern-product-card .xsvs-card-options,.tormik-product-card .xsvs-card-options{
  display:flex!important;flex-wrap:wrap!important;gap:7px!important;max-width:100%!important;min-width:0!important;
}
.modern-product-card .xsvs-swatch,.tormik-product-card .xsvs-swatch{flex:0 0 auto!important}
.modern-product-card .xsvs-card-meta,.tormik-product-card .xsvs-card-meta{white-space:normal!important;overflow-wrap:anywhere}
.woocommerce ul.products{align-items:stretch}
.woocommerce ul.products li.product{height:auto!important}
@media(max-width:1200px){
  .woocommerce ul.products.columns-4{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:900px){
  .woocommerce ul.products,.woocommerce ul.products.columns-4,.woocommerce ul.products.columns-3{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .tormik-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:600px){
  .woocommerce ul.products,.woocommerce ul.products.columns-4,.woocommerce ul.products.columns-3,.woocommerce ul.products.columns-2{grid-template-columns:1fr!important}
  .tormik-footer-grid{grid-template-columns:1fr!important}
  .tormik-header-inner{width:100%!important;max-width:100%!important;padding-left:16px!important;padding-right:16px!important}
  .modern-product-card .xsvs-card,.tormik-product-card .xsvs-card{position:static!important;width:100%!important;max-width:100%!important;margin:10px 0!important;transform:none!important}
}


/* =========================================================
   v2.0.4 - Variable product card layout integration
   Keep swatches as an overlay so the product card never
   becomes narrower or reserves a side column.
   ========================================================= */
.modern-product-card,
.tormik-product-card,
.woocommerce ul.products li.product {
    position: relative;
    min-width: 0;
    max-width: 100%;
}

.modern-product-card .product-card-inner,
.tormik-product-card .product-card-inner {
    position: relative;
    overflow: visible;
}

/* Desktop/tablet: true hover overlay, not normal-flow content. */
@media (min-width: 601px) {
    .modern-product-card .xsvs-card,
    .tormik-product-card .xsvs-card,
    .woocommerce ul.products li.product .xsvs-card {
        position: absolute !important;
        z-index: 40 !important;
        left: 12px !important;
        right: 12px !important;
        bottom: 62px !important;
        width: auto !important;
        max-width: none !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        margin: 0 !important;
        padding: 12px !important;
        border-radius: 14px !important;
        background: rgba(255,255,255,.985) !important;
        box-shadow: 0 16px 36px rgba(0,0,0,.16) !important;
        overflow: visible !important;

        opacity: 0 !important;
        visibility: hidden !important;
        transform: translateY(10px) !important;
        pointer-events: none !important;
        transition:
            opacity .18s ease,
            visibility .18s ease,
            transform .18s ease !important;
    }

    .modern-product-card:hover .xsvs-card,
    .modern-product-card:focus-within .xsvs-card,
    .tormik-product-card:hover .xsvs-card,
    .tormik-product-card:focus-within .xsvs-card,
    .woocommerce ul.products li.product:hover .xsvs-card,
    .woocommerce ul.products li.product:focus-within .xsvs-card {
        opacity: 1 !important;
        visibility: visible !important;
        transform: translateY(0) !important;
        pointer-events: auto !important;
    }
}

/* Swatch rows always wrap inside the overlay. */
.modern-product-card .xsvs-card-group,
.tormik-product-card .xsvs-card-group,
.woocommerce ul.products li.product .xsvs-card-group {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
}

.modern-product-card .xsvs-card-options,
.tormik-product-card .xsvs-card-options,
.woocommerce ul.products li.product .xsvs-card-options {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 7px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
}

.modern-product-card .xsvs-card-meta,
.tormik-product-card .xsvs-card-meta,
.woocommerce ul.products li.product .xsvs-card-meta {
    white-space: normal !important;
    overflow-wrap: anywhere !important;
}

/* Mobile: static full-width controls are easier to use than hover. */
@media (max-width: 600px) {
    .modern-product-card .xsvs-card,
    .tormik-product-card .xsvs-card,
    .woocommerce ul.products li.product .xsvs-card {
        position: static !important;
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 10px 0 0 !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        pointer-events: auto !important;
        box-shadow: none !important;
    }
}

/* =========================================================
   Single-product page:
   remove only the card-style swatch/choose block that may be
   injected above the real WooCommerce variation form.
   The actual variation swatches inside .variations_form remain.
   ========================================================= */
.single-product .product > .xsvs-card,
.single-product .summary > .xsvs-card:not(.variations_form .xsvs-card),
.single-product .woocommerce-product-gallery + .xsvs-card,
.single-product .xsvs-product-card,
.single-product .xsvs-card-display-hover,
.single-product .xsvs-card-display-always {
    display: none !important;
}

/* Never hide the real swatches generated inside the variation form. */
.single-product form.variations_form .xsvs-card,
.single-product form.variations_form .xsvs-swatches,
.single-product form.variations_form .xsvs-field {
    display: block;
}

/* v2.1.0 Pro announcement */
.tormik-announcement{position:relative;z-index:1000;overflow:hidden;font-size:13px;font-weight:700;letter-spacing:.02em}
.tormik-announcement-track{min-height:36px;display:flex;align-items:center;gap:60px;padding:0 24px}
.tormik-announcement-item{white-space:nowrap}
.tormik-announcement-ticker .tormik-announcement-track{width:max-content;animation:tormikTicker 18s linear infinite}
@keyframes tormikTicker{to{transform:translateX(-50%)}}
.tormik-announcement-fade .tormik-announcement-track{justify-content:center}
.tormik-announcement-fade .tormik-announcement-item:not(:first-child){display:none}
.tormik-announcement-slide .tormik-announcement-track{justify-content:center;animation:tormikBannerSlide 4s ease-in-out infinite alternate}
@keyframes tormikBannerSlide{from{transform:translateY(-4px);opacity:.7}to{transform:translateY(4px);opacity:1}}

/* Header composer keeps mobile toggle independent of desktop order */
.tormik-header-inner>.tormik-menu-toggle{order:-10}
@media(min-width:1051px){.tormik-header-inner>.tormik-menu-toggle{display:none!important}}
.tormik-header-brand,.tormik-primary-nav,.tormik-header-actions{min-width:0}
.tormik-primary-nav{flex:1}
.tormik-header-actions{display:flex;align-items:center}

/* Pro homepage blocks */
.tormik-pro-home-block{padding:clamp(28px,5vw,72px) 0}
.tormik-pro-home-block+.tormik-pro-home-block{padding-top:0}
.tormik-pro-richtext{font-size:clamp(16px,1.7vw,20px);line-height:1.75}
.tormik-pro-image{margin:0}.tormik-pro-image img{width:100%;height:auto;border-radius:var(--tormik-card-radius);display:block}
.tormik-pro-image figcaption{margin-top:10px;color:var(--tormik-muted)}
.tormik-pro-video iframe,.tormik-pro-video video{display:block;width:100%;aspect-ratio:16/9;height:auto;border:0;border-radius:var(--tormik-card-radius)}
.tormik-pro-divider{border:0;border-top:1px solid var(--tormik-line);margin:0}
.tormik-pro-grid{display:grid;grid-template-columns:repeat(var(--tormik-pro-grid-columns,3),minmax(0,1fr));gap:24px}
.tormik-pro-grid-cell,.tormik-pro-custom-container{background:var(--tormik-surface);padding:clamp(18px,3vw,36px);border-radius:var(--tormik-card-radius)}
@media(max-width:800px){.tormik-pro-grid{grid-template-columns:1fr}}

/* Footer Pro */
.tormik-social-links{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}
.tormik-social-links a{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(255,255,255,.18);border-radius:10px;color:inherit;text-decoration:none}
.tormik-social-links img{max-width:20px;max-height:20px;object-fit:contain}
.tormik-shipping-logos{display:flex;gap:14px;align-items:center;flex-wrap:wrap;padding:20px 0;border-top:1px solid rgba(255,255,255,.08)}
.tormik-shipping-logos img{max-height:34px;max-width:100px;object-fit:contain;background:#fff;border-radius:7px;padding:5px}
.tormik-developer-signature{opacity:.6}

/* Commerce pages responsive polish */
.tormik-cart-page .woocommerce,.tormik-checkout-page .woocommerce,.tormik-account-page .woocommerce{width:100%}
.tormik-cart-page .woocommerce-cart-form,.tormik-cart-page .cart_totals,
.tormik-checkout-page .woocommerce-checkout-review-order,
.tormik-account-page .woocommerce-MyAccount-navigation,
.tormik-account-page .woocommerce-MyAccount-content{padding:clamp(16px,2.5vw,30px)}
@media(max-width:768px){.tormik-account-page .woocommerce-MyAccount-navigation,.tormik-account-page .woocommerce-MyAccount-content{width:100%;float:none}}

/* v2.1.1 Product Detail Promotions */
.tormik-pdp-promo{margin:16px 0;padding:16px 18px;border-radius:14px;border:1px solid var(--tormik-line);background:#fff}
.tormik-pdp-promo-title{font-weight:800;font-size:16px;margin-bottom:6px}
.tormik-pdp-promo-text p:last-child{margin-bottom:0}
.tormik-pdp-promo-accent{background:var(--tormik-accent);color:#fff;border-color:transparent}
.tormik-pdp-promo-dark{background:#0a1220;color:#fff;border-color:#0a1220}
.tormik-pdp-promo-minimal{background:transparent;border-width:0 0 1px;border-radius:0;padding-left:0;padding-right:0}
.tormik-countdown{display:grid;grid-template-columns:repeat(4,minmax(58px,1fr));gap:8px;margin-top:14px}
.tormik-countdown>div{display:grid;place-items:center;gap:2px;padding:10px 8px;border-radius:10px;background:rgba(127,127,127,.10)}
.tormik-countdown strong{font-size:20px;line-height:1}
.tormik-countdown span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;opacity:.75}
@media(max-width:480px){.tormik-countdown{grid-template-columns:repeat(2,1fr)}}

/* v2.1.3 - Global form system */
.tormik-main form{box-sizing:border-box}
.tormik-main form p,
.tormik-main .elementor-form-fields-wrapper,
.tormik-main .wpforms-field-container,
.tormik-main .wpcf7-form{row-gap:var(--tormik-form-gap,14px)}
.tormik-main label{color:inherit}
.tormik-main input::placeholder,
.tormik-main textarea::placeholder{color:#7b8798;opacity:1}
.tormik-main input[type=checkbox],
.tormik-main input[type=radio]{width:auto!important;min-height:0!important;padding:0!important}
.tormik-main .elementor-field-group{margin-bottom:var(--tormik-form-gap,14px)!important}
.tormik-main .elementor-field,
.tormik-main .elementor-select-wrapper select{font:inherit}
.tormik-main .wpforms-field{padding-top:0!important;padding-bottom:var(--tormik-form-gap,14px)!important}
.tormik-main .wpcf7-form-control-wrap{display:block;margin-top:6px}
.tormik-main .woocommerce-form-row{margin-bottom:var(--tormik-form-gap,14px)!important}

/* Source is visible only until placement JS moves children. Avoid flashes. */
.tormik-pro-home-blocks-source{display:contents}
.tormik-pro-home-placement{width:100%}
