/*
 Theme Name: INSYGMA Zero Child
 Theme URI: https://insygma.com
 Description: Tema filho baseado no Breakdance Zero Theme
 Author: Rui Sousa
 Template: breakdance-zero
 Version: 1.3 (Modular & Logic-Separated)
*/
.lws-wr-pointsoncart h2{font-size:23px !important;font-family:var(--font-sans) !important;margin-bottom:10px !important;}

.lwss_selectable.wr-input-amount{width: 100px !important; border-radius: 10px;}
/* ==========================================================================
   1. FRAMEWORK – DESIGN TOKENS, UTILITIES, BASE COMPONENTS
   (Insygma System V1.0 - Core Visual Language)
   ========================================================================== */
/* Disable ONLY the Breakdance mini cart drawer/offcanvas (keep the icon + badge) */
.bde-mini-cart-offcanvas-body, .bde-mini-cart-offcanvas-overlay {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}





/* 1.1. Design Tokens (Root) */
:root {
    /* --- PALETTE: SLATE (Neutral / Tech) --- */
    --ins-slate-50:  #F8FAFC;
    --ins-slate-100: #F1F5F9;
    --ins-slate-200: #E2E8F0;
    --ins-slate-300: #CBD5E1;
    --ins-slate-400: #94A3B8;
    --ins-slate-500: #64748B;
    --ins-slate-800: #1E293B;
    --ins-slate-900: #0F172A;
    --bde-woo-tables__border-radius: 16px;
    --bde-woo-tables__border-color: var(--ins-slate-200);
    --bde-woo-tables__header-color: var(--ins-slate-50);
    

    /* Tipografia */
    --bde-woo-typography__size-small: 0.75rem;
    --bde-woo-typography__size-small-font-family: var(--font-mono);
    /* --- PALETTE: BRAND BLUE (Electric / Trust) --- */
    --ins-blue-50:   #EFF6FF;
    --ins-blue-100:  #DBEAFE;
    --ins-blue-200:  #BFDBFE;
    --ins-blue-500:  #3B82F6;
    --ins-blue-600:  #2563EB; /* Primary Brand */
    --ins-blue-700:  #1D4ED8;
    --ins-blue-glow: rgba(37, 99, 235, 0.35);

    /* --- PALETTE: ACCENTS --- */
    --ins-white:     #FFFFFF;
    --ins-emerald:   #10B981;
    --ins-emerald-bg:#ECFDF5;
    --ins-red:       #EF4444;

    /* --- TYPOGRAPHY --- */
    --font-sans: 'Inter', system-ui, -apple-system, sans-serif;
  --font-mono: 'JetBrains Mono', monospace;
   --c-text-secondary: #64748b;
        --c-accent-primary: #0ea5e9;
        --c-accent-dark: #0284c7;
        --c-bg-card: #ffffff;
        --shadow-premium: 0 10px 40px -10px rgba(15, 23, 42, 0.08), 0 0 1px rgba(15, 23, 42, 0.05);
        --shadow-hover: 0 20px 50px -12px rgba(14, 165, 233, 0.15), 0 0 1px rgba(14, 165, 233, 0.1);
        --card-radius: clamp(16px, 3vw, 24px);

  
    /* --- SPACING SCALE (4px base) --- */
    --space-1: 0.25rem; /* 4px */
    --space-2: 0.5rem;  /* 8px */
    --space-3: 0.75rem; /* 12px */
    --space-4: 1rem;    /* 16px */
    --space-6: 1.5rem;  /* 24px */
    --space-8: 2rem;    /* 32px */
    --space-12: 3rem;   /* 48px */
    --space-16: 4rem;   /* 64px */

    /* --- RADIUS --- */
    --radius-sm: 0.375rem; /* 6px */
    --radius-md: 0.75rem;  /* 12px */
    --radius-lg: 1rem;     /* 16px */
    --radius-xl: 1.5rem;   /* 24px */
    --radius-full: 9999px;

    /* --- SHADOWS & DEPTH (Clinical Feel) --- */
    --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    --shadow-card: 0 4px 6px -1px rgba(0, 0, 0, 0.02), 0 2px 4px -1px rgba(0, 0, 0, 0.02);
    --shadow-glass: 0 20px 60px -15px rgba(30, 58, 138, 0.06);
    --shadow-hover: 0 10px 30px -5px rgba(37, 99, 235, 0.12);
    --border-glass: 1px solid rgba(226, 232, 240, 0.8);
    
    /* --- LAYOUT --- */
    --max-width: 1380px;
    --header-height: 80px;
}







/* ═══════════════════════════════════════════════════════════════════════════════════════════════════════════
     SHOP PAGE CSS
     ═══════════════════════════════════════════════════════════════════════════════════════════════════════════ *


   /* === FILTER BUTTONS - Hover & Active States === */
    .insygma-filter-btn:hover:not(.active) {
        background: rgba(255,255,255,0.8) !important;
        border-color: var(--ins-slate-300) !important;
        color: var(--ins-slate-900) !important;
        transform: translateY(-1px);
    }
    
    .insygma-filter-btn.active {
        background: var(--ins-slate-900) !important;
        color: var(--ins-white) !important;
        border-color: var(--ins-slate-900) !important;
        box-shadow: 0 4px 10px rgba(0,0,0,0.15) !important;
    }

    /* === PRODUCT CARD - Hover Effects === */
    .insygma-product-card:hover {
        transform: translateY(-6px);
        box-shadow: 0 20px 40px -12px rgba(0, 0, 0, 0.08);
        border-color: rgba(0,0,0,0.1) !important;
    }
    
    .insygma-product-card:hover .insygma-product-img {
        transform: scale(1.05);
    }
    
    .insygma-product-card.hidden {
        opacity: 0;
        transform: translateY(10px);
        pointer-events: none;
    }

    /* === PREÇOS - Estilo WooCommerce === */
    .insygma-price-wrapper,
    .insygma-price-wrapper * {
        font-family: var(--font-mono) !important;
    }

    /* Preço antigo (riscado) */
    .insygma-price-wrapper del,
    .insygma-price-wrapper del *,
    .insygma-price-wrapper del .woocommerce-Price-amount,
    .insygma-price-wrapper del .amount,
    .insygma-price-wrapper del span,
    .insygma-price-wrapper del bdi {
        color: var(--ins-slate-400) !important;
        opacity: 0.8 !important;
        font-weight: 500 !important;
        font-size: clamp(11px, 0.8vw + 10px, 14px) !important;
        text-decoration: line-through !important;
        text-decoration-color: var(--ins-slate-400) !important;
        text-decoration-thickness: 1.5px !important;
    }

    /* Preço novo (sem sublinhado) */
    .insygma-price-wrapper ins {
        text-decoration: none !important;
        background: transparent !important;
        font-weight: 700;
        color: var(--ins-slate-900);
        display: inline-block;
    }
    
    .insygma-price-wrapper ins * {
        text-decoration: none !important;
    }

    /* === ANIMAÇÃO DE ENTRADA === */
    @keyframes insygmaFadeInUp {
        from {
            opacity: 0;
            transform: translateY(20px);
        }
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }
    
    .insygma-product-card.animate-in {
        animation: insygmaFadeInUp 0.4s ease forwards;
    }

    /* ═══════════════════════════════════════════════════════════════════
       MEDIA QUERIES - PRESERVADAS 1:1 DO ORIGINAL
       Mobile: max-width 767px | Tablet: 768-1023px | Desktop: min-width 1024px
       ═══════════════════════════════════════════════════════════════════ */
    
    /* --- MOBILE (max-width: 767px) --- */
    @media (max-width: 767px) {
        /* Container */
        .ins-section {
            padding: 10px !important;
        }
        
        /* Grid: 2 colunas, gap mínimo */
        #productGrid {
            grid-template-columns: repeat(2, 1fr) !important;
            gap: 5px !important;
        }
        
        /* Filter buttons */
        .insygma-filter-btn {
            padding: 8px 16px !important;
            font-size: 12px !important;
        }
        
        /* Filter container */
        .ins-flex.ins-justify-center.ins-items-center[style*="flex-wrap"] {
            gap: 8px !important;
            margin-bottom: var(--space-8) !important;
        }
        
        /* Product card */
        .insygma-product-card {
            border-radius: var(--radius-lg) !important;
        }
        
        /* Content wrapper */
        .insygma-product-card > .ins-flex.ins-flex-col {
            padding: 12px 14px 16px 14px !important;
            gap: 4px !important;
        }
        
        /* Sale badge */
        .insygma-product-card > span[style*="position: absolute"] {
            top: 10px !important;
            left: 10px !important;
            font-size: 9px !important;
            padding: 4px 8px !important;
        }
        
        /* Star rating */
        .insygma-product-card [style*="color: #FBBF24"] {
            font-size: 12px !important;
        }
        
        /* Add button */
        .insygma-product-card a[style*="ADICIONAR"],
        .insygma-product-card a.ajax_add_to_cart {
            padding: 12px 0 !important;
            font-size: 11px !important;
        }
    }

    /* --- TABLET (768px - 1023px) --- */
    @media (min-width: 768px) and (max-width: 1023px) {
        #productGrid {
            grid-template-columns: repeat(3, 1fr) !important;
            gap: clamp(12px, 2vw, 24px) !important;
        }
    }

    /* --- DESKTOP (min-width: 1024px) --- */
    @media (min-width: 1024px) {
        #productGrid {
            grid-template-columns: repeat(4, 1fr) !important;
            gap: clamp(16px, 3vw, 32px) !important;
        }
    }

/* ═══════════════════════════════════════════════════════════════════════════════════════════════════════════
     END SHOP PAGE CSS
     ═══════════════════════════════════════════════════════════════════════════════════════════════════════════ *



/************************************************************************************************************************
 * STYLES FRONT PAGE PRODUCT SLIDERS
 ***********************************************************************************************************************/	
	/* Esconde o link "Ver carrinho" que aparece após adicionar ao carrinho */
.added_to_cart.wc-forward {
    display: none !important;
}
	 /* CSS para impedir seleção de texto mas PERMITIR clique */
    #slider-hc .card {
        user-select: none; /* Impede selecionar texto ao arrastar */
        -webkit-user-drag: none; /* Impede arrastar o elemento nativo */
    }
    #slider-hc img {
        pointer-events: none; /* O clique passa através da imagem para o card */
    }
    #slider-hc {
        cursor: grab;
    }
    #slider-hc.dragging {
        cursor: grabbing;
    }
    #slider-hc.dragging .card {
        pointer-events: none; /* Desativa cliques ENQUANTO arrasta */
    }
	

    .insygma-wrapper {
        font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
        width: 100%;
        max-width: 1400px;
        margin: 0 auto;
        padding: clamp(5px, 1vw, 20px);
    }

    /* --- FILTROS --- */
    .catalog-header { text-align: center; margin-bottom: clamp(24px, 4vw, 40px); }
    .filter-nav-outer { position: relative; width: 100%; display: flex; justify-content: center; }
    
    .filter-nav-container {
        display: inline-flex; background: #F8FAFC; padding: 9px;
        border-radius: 50px; border: 1px solid #E2E8F0;
        overflow-x: auto; white-space: nowrap; gap: 4px;
        scrollbar-width: none; -webkit-overflow-scrolling: touch; scroll-behavior: smooth;
    }
    .filter-nav-container::-webkit-scrollbar { display: none; }

    @media (max-width: 900px) {
        .filter-nav-outer {
            width: calc(100% + clamp(24px, 6vw, 40px));
            margin-left: calc(-1 * clamp(12px, 3vw, 20px));
            padding-left: clamp(12px, 3vw, 20px);
            justify-content: flex-start;
            mask-image: linear-gradient(to right, black 85%, transparent 100%);
            -webkit-mask-image: linear-gradient(to right, black 85%, transparent 100%);
        }
        .filter-nav-container { padding-right: 60px; }
    }

    .filter-btn {
        background: transparent; border: none; cursor: pointer; color: #64748B;
        font-family: 'Inter', sans-serif; font-size: clamp(12px, 2vw, 14px);
        font-weight: 500; padding: clamp(12px, 1.5vw, 15px) clamp(14px, 2.5vw, 24px);
        border-radius: 40px; transition: all 0.3s ease; white-space: nowrap; flex-shrink: 0;
    }
    .filter-btn:hover { color: #0F172A; }
    .filter-btn.active {
        background: #FFFFFF; color: #0F172A; font-weight: 600;
        box-shadow: 0 2px 10px rgba(0,0,0,0.05);
    }

    /* --- SLIDER --- */
    .slider-wrapper { position: relative; width: 100%; overflow: hidden; }
    
    .slider-track {
        display: flex; gap: clamp(12px, 2vw, 24px);
        overflow-x: auto; scroll-behavior: smooth;
        scrollbar-width: none; -webkit-overflow-scrolling: touch;
        padding: 10px 5px 20px 5px; cursor: grab;
    }
    .slider-track::-webkit-scrollbar { display: none; }
    
    /* FIX DRAG vs CLICK CSS */
    .slider-track .card { user-select: none; -webkit-user-drag: none; }
    .slider-track img { pointer-events: none; }
    .slider-track.dragging { cursor: grabbing; scroll-behavior: auto !important; }
    .slider-track.dragging .card { pointer-events: none; }

    /* --- CARD --- */
    .card {
		height: auto !important;       /* Permite que o card cresça */
    min-height: 480px !important;  /* Altura mínima para ficarem uniformes */
    display: flex !flex;
    flex-direction: column;
        background: var(--c-bg-card); border-radius: var(--card-radius);
        box-shadow: var(--shadow-premium); overflow: hidden;
        transition: all 0.6s cubic-bezier(0.16, 1, 0.3, 1);
        display: flex; flex-direction: column; position: relative;
        border: 1px solid rgba(255,255,255,0.5); text-decoration: none;
        min-width: 300px; max-width: 300px; flex-shrink: 0;
    }

    @media (max-width: 768px) {
        .card { min-width: calc((100vw - 24px - 18px) / 1.5); max-width: calc((100vw - 24px - 18px) / 1.5); }
    }
    @media (min-width: 769px) and (max-width: 1100px) {
        .card { min-width: 280px; max-width: 280px; }
    }

    .card:hover { transform: translateY(-8px); box-shadow: var(--shadow-hover); border-color: rgba(14, 165, 233, 0.2); z-index: 10; }
    
    .card-image-wrapper { width: 100%; height: clamp(180px, 25vw, 280px); position: relative; background: #f8fafc; overflow: hidden; flex-shrink: 0; }
    .card-image-wrapper img {
    width: 100%;
    height: 100%;
   object-fit: contain !important;
		transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
    transform-origin: center center;
		border-radius: 15px;
		will-change: transform;
}
    .card:hover .card-image-wrapper img { transform: scale(1.08); /* Apenas o zoom, sem mudar geometria */
    /* NÃO colocar width ou height aqui! */ }

    .badge {
        position: absolute; top: clamp(8px, 2vw, 15px); right: clamp(8px, 2vw, 15px);
        background: rgba(255, 255, 255, 0.8); border: 1px solid rgba(14, 165, 233, 0.2);
        color: var(--c-accent-dark); padding: clamp(3px, 0.8vw, 5px) clamp(6px, 1.2vw, 10px);
        border-radius: 50px; font-size: clamp(10px, 1.5vw, 12px); font-weight: 700;
        backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); z-index: 2;
    }

    .card-content { padding: clamp(14px, 3vw, 24px); display: flex; flex-direction: column; flex-grow: 1;flex: 1;
    display: flex;
    flex-direction: column; }
    
    .eyebrow {
        font-size: clamp(8px, 1.2vw, 11px); text-transform: uppercase; letter-spacing: 0.1em;
        color: var(--c-text-secondary); font-weight: 600; margin-bottom: clamp(6px, 1vw, 8px);
        display: flex; align-items: center; gap: 8px; height: clamp(12px, 2vw, 16px); flex-shrink: 0;
    }
    .eyebrow::before { content: ''; width: 20px; height: 2px; background: linear-gradient(90deg, var(--c-accent-primary), transparent); border-radius: 2px; }

    .card-title { height: clamp(44px, 6vw, 58px); overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; flex-shrink: 0; }
    .sub-title { height: 20px; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; margin-bottom: clamp(10px, 2vw, 16px); flex-shrink: 0; }
    
    .reviews { display: flex; align-items: center; gap: 6px; margin-bottom: clamp(10px, 2vw, 16px); height: clamp(18px, 3vw, 24px); flex-shrink: 0; }
    .stars { color: #FFB02E; font-size: clamp(12px, 1.8vw, 14px); letter-spacing: -2px; }
    .review-count { font-size: clamp(11px, 1.6vw, 13px); color: var(--c-text-secondary); }
    .card-divider { width: 100%; height: 1px; background: #ededed; border-radius: 2px; margin-bottom: clamp(10px, 2vw, 16px); flex-shrink: 0; }

    .clinical-grid {
        display: grid; grid-template-columns: 1fr 1fr; gap: clamp(8px, 1.5vw, 12px);
        margin-bottom: clamp(14px, 3vw, 24px); height: clamp(36px, 5vw, 48px); flex-shrink: 0;
    }
    .stat-item { display: flex; align-items: center; gap: clamp(6px, 1vw, 10px); }
    .stat-icon {
        width: clamp(28px, 4vw, 32px); height: clamp(28px, 4vw, 32px);
        display: flex; align-items: center; justify-content: center;
        border: 1px solid #e4f2ff; border-radius: 8px; background: #f9f9f9; color: #6aa69b; flex-shrink: 0;
    }
    .stat-icon svg { width: clamp(12px, 2vw, 16px); height: clamp(12px, 2vw, 16px); }
    .stat-text { display: flex; flex-direction: column; justify-content: center; }
    .stat-label { font-size: clamp(9px, 1vw, 9px); line-height:1.2; color: var(--c-text-secondary); text-transform: uppercase; font-weight: 600; }
    .stat-value { font-size: clamp(9px, 1.2vw, 11px); font-weight: 600; color: #0f172a; }

    /* FIX MOBILE ICONS: Força a grelha a aparecer no mobile */
    @media (max-width: 768px) {
		/* 1. Reduzir ligeiramente a altura da imagem no telemóvel para dar espaço ao texto */
    .card-image-wrapper {
      /* Define uma altura fixa para a caixa da imagem */
    height: 220px !important; 
    
    /* Flexbox para centrar perfeitamente o frasco no meio do quadrado */
    display: flex !important;
    align-items: center;
    justify-content: center;
    border-radius: 15px !important;
    /* Padding para o frasco não bater nas bordas */
    padding: 0px !important; 
    background-color: #f8fafc; /* Mantém o fundo cinza claro */
    }

    /* 2. Reduzir o espaçamento interno do cartão no telemóvel */
    .card-content {
        padding: 12px 14px !important; /* Menos padding para ganhar espaço */
    }

    /* 3. Garantir que o footer tem altura automática para crescer */
    .card-footer {
        margin-top: 10px;
        padding-bottom: 5px; /* Margem de segurança */
		display: flex !important;
    flex-direction: column !important; /* Empilha: Preço em cima, Botão em baixo */
    align-items: flex-start !important; /* Alinha tudo à ESQUERDA */
    justify-content: flex-end;
    gap: 12px !important; /* Espaço entre preço e botão */
    height: auto !important;
    margin-top: auto; /* Empurra para o fundo do card */
    padding-top: 10px;
    }
    
    /* 4. (Opcional) Ajustar o botão para ocupar a largura toda e ficar visível */
    .btn-initialize {
       width: 100% !important;
    margin: 0 !important;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 42px; /* Altura fixa para consistência visual */
    }
		.price-old {
    margin: 0 !important;
    font-size: 14px !important; /* Tamanho legível */
}
        .clinical-grid { 
            display: grid !important; 
            height: auto; 
            margin-bottom: 12px;
        }
        .card-footer { flex-direction: column; align-items: flex-start; height: auto; gap: 8px; }
        .card-footer .btn-initialize { width: 100%; justify-content: center; }
        .price-container {  display: flex !important;
    flex-direction: row !important; /* Força linha horizontal */
    align-items: baseline !important; /* Alinha pela base das letras */
    gap: 10px !important; /* Espaço entre o €18 e o €13 */
    width: 100%; }
    }

    .card-footer { margin-top: auto; display: flex; align-items: center; justify-content: space-between; gap: 10px; height: clamp(40px, 6vw, 50px); flex-shrink: 0; }
    .price-container { display: flex; flex-direction: column; }

    .btn-initialize {
        background: #0f172a; color: white; border: none; font-family: 'Inter';
		width: 100% !important;
    margin: 0 !important;
    justify-content: center;
        padding: clamp(10px, 2vw, 14px) clamp(12px, 2.5vw, 20px);
        border-radius: clamp(8px, 1.5vw, 12px); font-size: clamp(10px, 1.4vw, 12px);
        font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; cursor: pointer;
        transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1); position: relative; overflow: hidden;
        display: flex; align-items: center; gap: 8px; box-shadow: 0 4px 10px rgba(15, 23, 42, 0.2); 
    }
    .btn-status-dot { width: 6px; height: 6px; background-color: #64748b; border-radius: 50%; transition: 0.3s; }
    .card:hover .btn-status-dot { background-color: #0ea5e9; box-shadow: 0 0 8px #0ea5e9; }
    .btn-initialize::after {
        content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%;
        background: linear-gradient(90deg, transparent, rgba(14, 165, 233, 0.3), transparent);
        transform: skewX(-20deg); transition: 0.5s;
    }
    .card:hover .btn-initialize::after { left: 150%; transition: 0.6s ease-in-out; }
    .card:hover .btn-initialize { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(14, 165, 233, 0.25); }

    .slider-nav { display: flex; align-items: center; justify-content: center; gap: 16px; margin-top: 30px; }
    .slider-arrow {
        width: clamp(40px, 6vw, 50px); height: clamp(40px, 6vw, 50px);
        border-radius: 50%; border: 1px solid #e2e8f0; background: #ffffff;
        cursor: pointer; display: flex; align-items: center; justify-content: center;
        transition: all 0.3s ease; color: #64748b;
    }
    .slider-arrow:hover { border-color: var(--c-accent-primary); color: var(--c-accent-primary); box-shadow: 0 4px 15px rgba(14, 165, 233, 0.15); }
    .slider-arrow:disabled { opacity: 0.4; cursor: not-allowed; }
    .slider-arrow svg { width: 20px; height: 20px; }
    .slider-dots { display: flex; align-items: center; gap: 8px; }
    .slider-dot { width: 8px; height: 8px; border-radius: 50%; background: #cbd5e1; border: none; cursor: pointer; transition: all 0.3s ease; padding: 0; }
    .slider-dot.active { width: 32px; border-radius: 10px; background: #0f172a; }

    .product-card { opacity: 0; transform: translateX(30px); }
    .product-card.animate-in { animation: slideIn 0.5s cubic-bezier(0.16, 1, 0.3, 1) forwards; }
    .product-card.hidden { display: none !important; }
    @keyframes slideIn { from { opacity: 0; transform: translateX(30px); } to { opacity: 1; transform: translateX(0); } }
    .product-card.initial-load { animation: slideIn 0.5s cubic-bezier(0.16, 1, 0.3, 1) forwards; }

	
/************************************************************************************************************************
 * END STYLES FRONT PAGE PRODUCT SLIDERS
 ***********************************************************************************************************************/	
	
	
	
	
	
/* Header da Tabela */
.breakdance-woocommerce table.woocommerce-table--order-details thead,
.breakdance-woocommerce table.order_details thead {
    background-color: var(--ins-slate-50) !important;
    border-radius: var(--radius-lg) var(--radius-lg) 0 0 !important;
}

/* Primeira e última célula do header */
.breakdance-woocommerce table.order_details thead th:first-child {
    border-top-left-radius: var(--radius-lg) !important;
}
.breakdance-woocommerce table.order_details thead th:last-child {
    border-top-right-radius: var(--radius-lg) !important;
}

/* Última row da tabela */
.breakdance-woocommerce table.order_details tbody tr:last-child td:first-child,
.breakdance-woocommerce table.order_details tfoot tr:last-child td:first-child,
.breakdance-woocommerce table.order_details tfoot tr:last-child th:first-child {
    border-bottom-left-radius: var(--radius-lg) !important;
	font-size: 15px;
}
.breakdance-woocommerce table.order_details tbody tr:last-child td:last-child,
.breakdance-woocommerce table.order_details tfoot tr:last-child td:last-child {
    border-bottom-right-radius: var(--radius-lg) !important;
	font-size: 15px;
}

/* --- 3. SECÇÃO MORADA DE FACTURAÇÃO / CUSTOMER DETAILS --- */
.breakdance-woocommerce .woocommerce-customer-details,
.breakdance-woocommerce section.woocommerce-customer-details {
    border: 1px solid var(--ins-slate-200) !important;
    border-radius: var(--radius-lg) !important;
    padding: var(--space-6) !important;
    background-color: var(--ins-white) !important;
}

/* Addresses dentro do customer details */
.breakdance-woocommerce .woocommerce-customer-details .woocommerce-column,
.breakdance-woocommerce .woocommerce-customer-details .woocommerce-column--billing-address,
.breakdance-woocommerce .woocommerce-customer-details .woocommerce-column--shipping-address {
    border-radius: var(--radius-md) !important;
}

/* --- 4. BOTÃO "COMPRAR NOVAMENTE" --- */
.breakdance-woocommerce .order-again .button,
.breakdance-woocommerce p.order-again a.button {
    border-radius: var(--radius-lg) !important;
	font-weight: 500;
    padding: 12px 24px !important;
	font-family: var(--font-sans); 
}

/* --- 5. TÍTULO DA SECÇÃO (Opcional - mais clean) --- */
.breakdance-woocommerce .woocommerce-order-details__title,
.breakdance-woocommerce h2.woocommerce-order-details__title {
    font-size: 1.25rem !important;
    font-weight: 600 !important;
    color: var(--ins-slate-900) !important;
    margin-bottom: var(--space-4) !important;
}

	
	
  /* --- TYPOGRAPHY COMPONENTS --- */
.ins-section-label {
    font-family: var(--font-mono);
    font-size: 0.9rem;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--ins-blue-600);
    line-height: 1.2;
    display: block;
    margin-bottom: 0.5rem; /* spacing consistente em todas as sections */
}
@media (max-width: 767px) {
   .ins-section-label {
        font-size: 0.8rem;
        }
}


/* 1.2. Reset & Base */
*, *::before, *::after {
    box-sizing: border-box;
    -webkit-font-smoothing: antialiased;
}

body {
    font-family: var(--font-sans);
    background-color: var(--ins-slate-50);
    color: var(--ins-slate-800);
    line-height: 1.5;
}

/* 1.3. Global Utilities (Atomic Classes) */
/* Flexbox & Grid */
.ins-flex { display: flex; }
.ins-flex-col { flex-direction: column; }
.ins-items-center { align-items: center; }
.ins-justify-between { justify-content: space-between; }
.ins-justify-center { justify-content: center; }
.ins-gap-2 { gap: var(--space-2); }
.ins-gap-4 { gap: var(--space-4); }
.ins-gap-6 { gap: var(--space-6); }

/* Typography Helpers */
.ins-font-mono { font-family: var(--font-mono); }
.ins-text-xs { font-size: 0.75rem; }
.ins-text-sm { font-size: 0.875rem; }
.ins-text-base { font-size: 1rem; }
.ins-text-lg { font-size: 1.125rem; }
.ins-font-medium { font-weight: 500; }
.ins-font-bold { font-weight: 700; }
.ins-uppercase { text-transform: uppercase; letter-spacing: 0.05em; }

/* Colors - Text */
.ins-text-slate-400 { color: var(--ins-slate-400); }
.ins-text-slate-500 { color: var(--ins-slate-500); }
.ins-text-blue { color: var(--ins-blue-600); }
.ins-text-main { color: var(--ins-slate-900); }

/* Utilities de Ocultação */
.hidden-notice {
    display: none !important;
}

/* Visibility */
.ins-hidden-mobile { display: none; }
@media (min-width: 768px) {
    .ins-hidden-mobile { display: block; }
    .ins-block-desktop { display: block; }
}

/* 1.4. Layout Components */
/* Section Wrapper (The Stage) */
.ins-section {
    position: relative;
    width: 100%;
    padding: var(--space-12) var(--space-6);
    background-color: var(--ins-slate-50);
    overflow: hidden;
}

/* Ambient Backgrounds (Grid & Glows) */
.ins-bg-grid {
    position: absolute;
    inset: 0;
    opacity: 0.4;
    background-image: 
        linear-gradient(var(--ins-slate-100) 1px, transparent 1px), 
        linear-gradient(90deg, var(--ins-slate-100) 1px, transparent 1px);
    background-size: 60px 60px;
    pointer-events: none;
    z-index: 0;
}

.ins-bg-glow {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 80%;
    max-width: 1000px;
    height: 500px;
    background: radial-gradient(circle, rgba(219, 234, 254, 0.4) 0%, rgba(248, 250, 252, 0) 70%);
    filter: blur(80px);
    pointer-events: none;
    z-index: 0;
}

/* Main Container */
.ins-container {
    position: relative;
    z-index: 10;
    max-width: var(--max-width);
    margin: 0 auto;
    width: 100%;
}

/* Responsive Grid System */
.ins-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-6);
}

@media (min-width: 768px) {
    .ins-grid-2 { grid-template-columns: repeat(2, 1fr); }
    .ins-grid-3 { grid-template-columns: repeat(3, 1fr); }
    .ins-grid-4 { grid-template-columns: repeat(4, 1fr); }
}

@media (min-width: 1024px) {
    .ins-grid-12 { grid-template-columns: repeat(12, 1fr); }
    .ins-col-span-4 { grid-column: span 4; }
    .ins-col-span-8 { grid-column: span 8; }
}

/* 1.5. UI Components (Molecules) */
/* Base Card */
.ins-card {
    background-color: var(--ins-white);
    border: 1px solid var(--ins-slate-200);
    border-radius: var(--radius-lg);
    padding: var(--space-6);
    box-shadow: var(--shadow-card);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

/* Hover Effect */
.ins-card:hover {
    transform: translateY(-4px);
    border-color: var(--ins-blue-200);
    box-shadow: var(--shadow-hover);
}

/* Variant: Glass (for Heroes/Featured) */
.ins-card-glass {
    background-color: rgba(255, 255, 255, 0.75);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    box-shadow: var(--shadow-glass);
}

/* Variant: Ghost/Outline (for minimal items) */
.ins-card-ghost {
    background: transparent;
    border: 1px dashed var(--ins-slate-200);
    box-shadow: none;
}

/* Card Internals */
.ins-card-header { margin-bottom: var(--space-4); }
.ins-card-body { flex-grow: 1; }
.ins-card-footer { 
    margin-top: auto; 
    padding-top: var(--space-4); 
    border-top: 1px solid var(--ins-slate-100); 
}

/* Headings & Text */
.ins-heading-hero {
    font-size: 2.5rem; /* Fallback */
    font-size: clamp(2.5rem, 5vw, 3.5rem);
    font-weight: 700;
    line-height: 1.1;
    color: var(--ins-slate-900);
    letter-spacing: -0.03em;
    margin-bottom: var(--space-4);
}

.ins-heading-section {
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--ins-slate-800);
    letter-spacing: -0.02em;
    margin-bottom: var(--space-2);
}

/* Bicolor Heading Support (Use <span> inside heading) */
.ins-heading-hero span, 
.ins-heading-section span {
    color: var(--ins-slate-400);
}

/* Badges & Labels */
.ins-badge {
    display: inline-flex;
    align-items: center;
    padding: 4px 10px;
    border-radius: var(--radius-sm);
    font-family: var(--font-mono);
    font-size: 0.65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    line-height: 1;
}

.ins-badge-blue {
    background-color: var(--ins-blue-50);
    color: var(--ins-blue-600);
    border: 1px solid var(--ins-blue-100);
}

.ins-badge-outline {
    background-color: transparent;
    color: var(--ins-slate-500);
    border: 1px solid var(--ins-slate-200);
}

.ins-badge-tech {
    background: rgba(239, 246, 255, 0.8);
    color: var(--ins-blue-700);
    border: 1px solid rgba(219, 234, 254, 0.5);
    margin-bottom: var(--space-4);
}

/* Icon Wrappers */
.ins-icon-box {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--radius-md);
    background: linear-gradient(145deg, #FFFFFF 0%, #F1F7FF 100%);
    border: 1px solid var(--ins-slate-200);
    color: var(--ins-blue-600);
    transition: all 0.3s ease;
}

.ins-card:hover .ins-icon-box {
    background: var(--ins-blue-50);
    border-color: var(--ins-blue-100);
    transform: scale(1.05);
}

.ins-icon-box svg {
    width: 24px;
    height: 24px;
    stroke-width: 1.5px;
}

/* Buttons & Links */
.ins-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 20px;
    border-radius: var(--radius-md);
    font-weight: 500;
    font-size: 0.875rem;
    transition: all 0.2s ease;
    cursor: pointer;
    text-decoration: none;
}

.ins-btn-primary {
    background-color: var(--ins-blue-600);
    color: white;
    border: 1px solid transparent;
    box-shadow: 0 4px 6px rgba(37, 99, 235, 0.2);
}
.ins-btn-primary:hover {
    background-color: var(--ins-blue-700);
    transform: translateY(-1px);
}

.ins-btn-outline {
    background-color: var(--ins-white);
    color: var(--ins-slate-800);
    border: 1px solid var(--ins-slate-200);
}
.ins-btn-outline:hover {
    border-color: var(--ins-blue-200);
    color: var(--ins-blue-600);
}

/* Link with Arrow Animation */
.ins-link-arrow {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--ins-slate-900);
    text-decoration: none;
    transition: color 0.2s;
}
.ins-link-arrow:hover {
    color: var(--ins-blue-600);
    gap: 10px; /* Moves arrow */
}

/* 1.6. Base Animations (Utilities) */
@keyframes ins-fade-up {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes flashPulse {
  0%, 100% {
    transform: scale(1);
    box-shadow: 0 0 6px rgba(255, 140, 0, 0.4);
  }
  50% {
    transform: scale(1.05);
    box-shadow: 0 0 14px rgba(255, 200, 0, 0.7);
  }
}

@keyframes pulse {
    0% { transform: rotate(3deg) scale(1); }
    50% { transform: rotate(3deg) scale(1.1); }
    100% { transform: rotate(3deg) scale(1); }
}

.ins-anim-entry {
    animation: ins-fade-up 0.5s ease-out forwards;
}

/* ==========================================================================
   2. INSYGMA COMPONENTS – FUNCTIONAL
   (Specific feature modules: Trust, Badges, Banners)
   ========================================================================== */


/* --------------------------------------------------------------------------
   MODULE: VALUE PROPOSITION (Feature Cards)
   -------------------------------------------------------------------------- */

/* Header com Linha Lateral */
.ins-header-label-group {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: var(--space-4);
}

.ins-header-line {
    height: 1px;
    width: 32px;
    background-color: var(--ins-blue-500);
}

.ins-header-label {
    font-family: var(--font-mono);
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--ins-blue-600);
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

/* Feature Card (Gradiente + Highlight) */
.ins-card-feature {
    /* Base do Framework + Override */
    background: linear-gradient(180deg, var(--ins-white) 0%, var(--ins-slate-50) 100%);
    border: 1px solid var(--ins-blue-100);
border-radius: var(--radius-lg);
    /* Padding original preservado (32px top/x, 85px bottom) */
    padding: 2rem 2rem 4rem 2rem; 
    height: 100%;
    position: relative;
    overflow: hidden;
}

/* Highlight Animation (Barra superior) */
.ins-card-feature::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 4px;
    background: linear-gradient(90deg, transparent, var(--ins-blue-400), transparent);
    opacity: 0;
    transition: opacity 0.5s ease;
    z-index: 1;
}

.ins-card-feature:hover::before { opacity: 0.2; }

/* Special Variant (Blue Border) */
.ins-card-feature.ins-accent {
    border: 2px solid var(--ins-blue-200);
    box-shadow: 0 8px 30px -6px rgba(37, 99, 235, 0.1);
}
.ins-card-feature.ins-accent::before { opacity: 0.2; }

/* Grid Específica para Features (1 -> 2 -> 4 colunas) */
.ins-grid-features {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-6);
}
@media (min-width: 768px) { .ins-grid-features { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1200px) { .ins-grid-features { grid-template-columns: repeat(4, 1fr); } }


/* --------------------------------------------------------------------------
   MODULE: TICKER INFINITO (Tech/Science)
-------------------------------------------------------------------------- */
.ins-ticker-shell {
    background-color: var(--ins-slate-900);
    color: var(--ins-slate-400);
    height: 42px;
    display: flex;
    align-items: center;
    position: relative;
    font-family: var(--font-mono);
    font-size: 0.72rem; /* ~11.5px */
    border-bottom: 1px solid rgba(255,255,255,0.05);
    overflow: hidden;
}

.ins-ticker-track {
    display: flex;
    align-items: center;
    white-space: nowrap;
    animation: ins-scroll 60s linear infinite;
}

.ins-ticker-item {
    display: flex;
    align-items: center;
    padding: 0 2rem; /* 32px */
    gap: 0.875rem;   /* 14px */
    flex-shrink: 0;
}

.ins-ticker-text {
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.ins-ticker-sep {
    opacity: 0.8;
    color: #71a7ff;
    font-weight: 300;
    padding: 0 0.5rem;
    flex-shrink: 0;
}

.ins-highlight {
    color: var(--ins-white);
    font-weight: 900;
    text-shadow: 0 0 10px rgba(255,255,255,0.3);
}

@keyframes ins-scroll {
    0%   { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

/* --------------------------------------------------------------------------
   MODULE: TRUST GRID (Clinical Icons)
-------------------------------------------------------------------------- */
.ins-trust-bar {
    background: linear-gradient(to bottom, var(--ins-white), #FDFEFF);
    border-bottom: var(--border-glass);
    width: 100%;
}

.ins-trust-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr); /* Mobile: 2 cols */
    gap: 0;
    margin: 0 auto;
    max-width: var(--max-width);
}

@media (min-width: 768px) {
    .ins-trust-grid { grid-template-columns: repeat(4, 1fr); }
}

.ins-trust-item {
    display: flex;
    align-items: center;
    gap: 1.125rem;
    justify-content: center;
    padding: 1.75rem;
    position: relative;
    transition: background-color 0.3s ease;
}

@media (min-width: 1024px) {
    .ins-trust-item { padding: 2.5rem 2.3rem; }
}

/* Divisórias de Precisão (Borders) */
@media (min-width: 768px) {
    .ins-trust-item:not(:last-child)::after {
        content: '';
        position: absolute;
        right: 0;
        top: 30%;
        height: 40%;
        width: 1px;
        background: linear-gradient(to bottom, transparent, var(--ins-slate-200), transparent);
    }
}
@media (max-width: 767px) {
    .ins-trust-item:nth-child(odd)::after {
        content: '';
        position: absolute;
        right: 0;
        top: 25%;
        height: 50%;
        width: 1px;
        background: linear-gradient(to bottom, transparent, var(--ins-slate-200), transparent);
    }
    .ins-trust-item:nth-child(-n+2)::before {
        content: '';
        position: absolute;
        bottom: 0;
        left: 20%;
        width: 60%;
        height: 1px;
        background: linear-gradient(to right, transparent, var(--ins-slate-200), transparent);
    }
}

/* Icon Box Override para Trust Grid */
.ins-trust-item .ins-icon-box {
    width: 51px; height: 51px; min-width: 51px;
    border-radius: 11px;
    box-shadow: 0 4px 6px -2px rgba(37, 99, 235, 0.05), inset 0 0 0 1px rgba(255, 255, 255, 0.6);
}

.ins-trust-item:hover .ins-icon-box {
    transform: translateY(-2px);
    box-shadow: 0 8px 12px -3px rgba(37, 99, 235, 0.12), inset 0 0 0 1px #FFFFFF;
    border-color: rgba(37, 99, 235, 0.3);
}

.ins-trust-svg {
    width: 23px; height: 23px;
    stroke-width: 1px; stroke-linecap: round; stroke-linejoin: round;
    filter: drop-shadow(0 0 4px var(--ins-blue-glow));
    transition: filter 0.3s ease;
}

.ins-trust-item:hover .ins-trust-svg {
    filter: drop-shadow(0 0 6px rgba(37, 99, 235, 0.6));
}

/* Textos da Trust Grid */
.ins-trust-text-wrap {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.ins-trust-title {
    font-family: var(--font-sans);
    font-size: 0.9375rem;
    font-weight: 700;
    color: var(--ins-slate-900);
    letter-spacing: -0.015em;
    line-height: 1.1;
}

.ins-trust-desc {
    font-family: var(--font-mono);
    font-size: 0.72rem;
    font-weight: 500;
    text-transform: uppercase;
    color: var(--ins-slate-500);
    letter-spacing: 0.08em;
    display: flex;
    align-items: center;
    gap: 7px;
}

.ins-status-dot {
    width: 5px; height: 5px;
    border-radius: 50%;
    background-color: var(--ins-slate-200);
    transition: all 0.3s ease;
}

.ins-trust-item:hover .ins-status-dot {
    background-color: var(--ins-emerald);
    box-shadow: 0 0 6px rgba(16, 185, 129, 0.4);
}

/* Mobile Ajustes Específicos */
@media (max-width: 450px) {
    .ins-trust-title { font-size: 0.77rem; }
    .ins-trust-desc { font-size: 0.55rem; }
    .ins-trust-item .ins-icon-box { width: 39px; height: 39px; min-width: 39px; }
    .ins-trust-svg { width: 20px; height: 20px; }
    .ins-trust-item { padding: 1.5rem 1rem; }
}


/* Navigation List (Sidebars/Footers) */
.ins-nav-list {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
}

.ins-nav-item {
    font-size: 0.875rem;
    color: var(--ins-slate-500);
    text-decoration: none;
    transition: all 0.2s;
    display: flex;
    align-items: center;
}

.ins-nav-item:hover {
    color: var(--ins-blue-600);
    transform: translateX(4px);
}

.ins-nav-item.disabled {
    color: var(--ins-slate-300);
    cursor: default;
    pointer-events: none;
}

/* Trust Bar / Logo Strip */
.ins-trust-strip {
    border-top: 1px solid var(--ins-slate-200);
    padding-top: var(--space-6);
    margin-top: var(--space-8);
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-6);
    align-items: center;
    justify-content: center;
}

@media (min-width: 768px) {
    .ins-trust-strip { justify-content: space-between; }
}

/* Flash Sale Badge */
.flash-sale-badge {
  background: linear-gradient(135deg, #ffcc00, #ff7b00);
  color: #fff;
  font-weight: 700;
  text-transform: uppercase;
  font-size: 12px;
  padding: 6px 10px;
  border-radius: 8px;
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 10;
  box-shadow: 0 2px 6px rgba(255, 140, 0, 0.3);
  letter-spacing: 0.5px;
  animation: flashPulse 1.6s infinite ease-in-out;
}



/* Novidade Badge */
.novidade-badge {
    background: #efff6c;  
    color: #000000;
    padding: 6px 12px;
    font-size: 10px;
    font-weight: 600;
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 9;
    border-radius: 15px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.2); 
}
.novidade-badge::before {
    content: '';
    position: absolute;
    top: -2px;
    left: -2px;
    right: -2px;
    bottom: -2px;
    background: rgba(0,0,0,0.15);  /* Semi-transparent black */
    border-radius: 15px;
    z-index: -1;
    filter: blur(8px);  /* Added blur effect */
    transform: scale(1.1);  /* Slightly larger shadow area */
}

/* WhatsApp Payment Button */
.whatsapp-button-container {
    text-align: center;
}
#whatsapp-payment-button {
    background-color: #25D366;
    color: white; 
    width: 100%;
    margin-top: 15px;
    padding: 11px 20px; 
    border: none; 
    border-radius: 25px; 
    text-align: center; 
    font-size: 15px; 
    text-decoration: none; 
    display: inline-block; 
    transition: background-color 0.3s ease; 
}
#whatsapp-payment-button:hover {
    background-color: #128C7E; 
}
body.woocommerce-order-received #whatsapp-payment-button {
    width: 95%;
}

/* Payment Methods Logos Helper */
.payment-methods--logos>div {
    display: none !important;
}

/* Remove Generic Card Icon */
.woocommerce-checkout img[src*="woocommerce-payments/assets/images/payment-methods/generic-card.svg"],
.woocommerce img[src*="woocommerce-payments/assets/images/payment-methods/generic-card.svg"] {
    display: none !important;
}

/* ==========================================================================
   3. INSYGMA COMPONENT EXTENSIONS (WooCommerce Integration)
   (Where Insygma Design meets specific Plugin Classes)
   ========================================================================== */


/* 3.4. Reviews Styling (CusRev Reviews) */
.cr-reviews-ajax-reviews .cr-reviews-ajax-comments .cr-ajax-reviews-list .comment_container .comment-text, .cr-all-reviews-shortcode ol.commentlist li .comment-text {
    margin: 0px !important;
}

.cr-review-form-txt,
.cr-review-form-comment-txt,
.cr-review-form-submit,
.cr-review-form-cancel,
.cr-review-form-continue,
.cr-review-form-item img {
    border-radius: 15px;
}

#reviews.cr-reviews-ajax-reviews #comments.cr-reviews-ajax-comments .cr-ajax-reviews-list .review .comment-text {
    display: block;
    width: 100%;
    border-bottom: 1px solid #e4e1e3;
    padding-bottom: 1em;
}
#reviews.cr-reviews-ajax-reviews .cr-ajax-reviews-add-review {
    display: block;
    margin: 1em 0px;
    border: 1px solid;
    /* font-size: 15px; */
    border-radius: 25px;
    border-color: #ADB1B8 #A2A6AC #8D9096;
    padding: 6px 18px;
    background: -webkit-linear-gradient(top, #f7f8fa, #e7e9ec);
    background: linear-gradient(to bottom, #f7f8fa, #e7e9ec);
    font-weight: 600;
    color: black;
    letter-spacing: normal;
    font-size: 1em;
    text-transform: none;
    line-height: normal;
}
#reviews .cr-summaryBox-wrap .cr-average-rating, .cr-all-reviews-shortcode .cr-summaryBox-wrap .cr-average-rating, .cr-reviews-grid .cr-summaryBox-wrap .cr-average-rating {
    font-size: 43px;
    font-weight: bold;
    line-height: 50px;
    color: #0E252C;
}

.cr-summaryBox-wrap {
	border-radius: 20px !important;
}
.cr-all-reviews-add-review {
    border-radius: 10px !important;
}

.cr-button-search {
	border-radius: 10px !important;
}



/* ==========================================================================
   4. BREAKDANCE OVERRIDES
   (Elementos específicos do Builder)
   ========================================================================== */

/* Headings Gradiente */
.woocommerce-page.woocommerce-account .bde-heading-254-203, .bde-heading-254-202 {
    text-align: center;
    font-weight: 800;
    background: linear-gradient(135deg, #4F46E5 0%, #818CF8 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin: 1.5rem auto;
    letter-spacing: -0.01em;
}

/* Imagens - Remover highlight em mobile */
.breakdance-image-object {
    -webkit-tap-highlight-color: transparent;
    outline: none;
    touch-action: manipulation;
}
.breakdance-image-object img {
    -webkit-tap-highlight-color: transparent;
    outline: none;
    touch-action: manipulation;
}

/* Forms e Inputs Gerados pelo Breakdance */
.breakdance-form-checkbox input[type="checkbox"], .breakdance-form-radio input[type="radio"] {
    border-radius:25px !important;
}

/* Tabs de Produto */
.breakdance .bde-wooproducttabs-62-422 .bde-tabs .bde-tabs__tab.is-active, .breakdance .bde-wooproducttabs-62-422 .bde-tabs .bde-tabs__tab.is-active:hover {
    background-color: var(--activeBgColor);
    border-radius: 25px;
}

/* ==========================================================================
   5. WOOCOMMERCE CORE
   (Inputs, forms, notices, cart, checkout, account)
   ========================================================================== */

/* 5.1. Notices e Mensagens Globais */
.breakdance-woocommerce .woocommerce-error {
    padding-top: 75px !important;
}

.breakdance-woocommerce .woocommerce-info {
    border-radius: 18px !important
}


/* Buttons */
.breakdance-woocommerce button:disabled {
    border-radius: 15px;
}

/* 5.2. Inputs & Forms Globais */
.breakdance-woocommerce .woocommerce-password-strength, .breakdance-woocommerce label span.optional, .breakdance-woocommerce label {
    font-size: 23px !important;
}

.breakdance-woocommerce .select2-container--default .select2-selection--single, .breakdance-woocommerce select {
    border-radius: 10px !important;
}

.woocommerce-input-wrapper .checkbox {
    font-size: 0.9em !important;
    margin-top: 8px;
    text-align: left;
    line-height: 1.1;
}

.woocommerce-input-wrapper .checkbox span.optional {
    font-size: 0.9em !important;
    opacity: 0.8 !important;
    font-style: italic !important;
}

.breakdance-woocommerce label span.optional {
    display: inline;
    font-size: 1em !important;
}

/* 5.3. Product Page Core Elements */
.product {
    position: relative;
}

/* Title & Meta */
.product_title sup {
    font-size: 0.6em;
    line-height: 0;
}

.breakdance-woocommerce ul.wc-item-meta li, .breakdance-woocommerce dl.variation, .bde-mini-cart .variation {
    display: flex !important;
}

/* Ratings */
.woocommerce-product-rating a {
    font-size: 21px;
    margin-top: 4px;
    line-height: 0;
}

/* Stock Status */
p.stock.in-stock {
    display: none !important;
}
.breakdance-woocommerce .out-of-stock {
    display: none !important;
}
.wcsob_soldout {
    z-index: 2;
}

/* Variations & Cart Forms */
.breakdance-woocommerce .single_variation_wrap,
.breakdance-woocommerce .woocommerce-variation-add-to-cart {
  gap: 0 !important; /* Force no gap */
}

/* Esconder notificações na single product */
body.single-product .breakdance-woocommerce .woocommerce-notices-wrapper{
    display: none;
}

/* Hide ONLY the product page quantity selector */
body.single-product form.cart .quantity {
    display: none !important;
}

/* Tabela Variações oculta (usa swatches prov.) */
.breakdance-woocommerce table.variations, .breakdance-woocommerce .added_to_cart {
    display: none !important;
}

/* 5.4. Checkout & Cart - Floating Labels (Shopify Style) */
.woocommerce-checkout .form-row {
    position: relative;
}

.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea {
    height: 48px !important;
    padding: 16px 14px 6px 14px !important;
    border-radius: 10px !important;
    font-size: 14px;
    background: #ffffff;
    border: 1px solid #e0e0e0;
    transition: border-color .15s ease, box-shadow .15s ease;
}

.woocommerce-checkout .form-row input:focus,
.woocommerce-checkout .form-row select:focus,
.woocommerce-checkout .form-row textarea:focus {
    border-color: #222 !important;
    box-shadow: 0 0 0 1px #222 !important;
}

.woocommerce-checkout .form-row textarea {
    height: 50px !important;
    resize: vertical;
    padding-top: 24px !important;
}

.woocommerce-checkout .form-row.is-empty textarea ~ label {
    top: 24px !important;
    transform: none !important;
    font-size: 14px !important;
}

.woocommerce-checkout .form-row:not(.is-empty) textarea ~ label,
.woocommerce-checkout .form-row textarea:focus ~ label {
    top: 6px !important;
    font-size: 11px !important;
}

.woocommerce-checkout .form-row input::placeholder,
.woocommerce-checkout .form-row textarea::placeholder,
.woocommerce-checkout .form-row select::placeholder {
    color: transparent !important;
    opacity: 0 !important;
}

.woocommerce-checkout .form-row label {
    position: absolute;
    left: 11px;
    top: 6px !important;
    transform: none !important;
    padding: 0 4px;
    background: #ffffff;
    font-size: 11px !important;
    line-height: 1;
    color: #444 !important;
    opacity: 0.9 !important;
    pointer-events: none;
    transition: all .15s ease-in-out;
    display: inline-flex;
    align-items: center;
}

.woocommerce-checkout .form-row label.screen-reader-text,
.woocommerce-checkout .form-row label.required_field {
    clip: auto !important;
    clip-path: none !important;
    width: auto !important;
    height: auto !important;
}

.woocommerce-checkout .form-row.is-empty label {
    top: 50% !important;
    transform: translateY(-50%) !important;
    font-size: 14px !important;
    color: #777 !important;
    opacity: 0.75 !important;
}

.woocommerce-checkout .form-row label .required {
    color: #e00000 !important;
    margin-left: 2px;
    font-size: 12px;
}

.woocommerce-checkout .form-row label .optional {
    font-size: inherit !important;
    font-style: italic;
    color: #999;
    opacity: 0.85;
    margin-left: 4px;
    white-space: nowrap;
}
.woocommerce-checkout .form-row:not(.is-empty) label .optional {
    font-size: 11px !important;
}
.woocommerce-checkout .form-row.is-empty label .optional {
    font-size: 14px !important;
}

#billing_nif_field label,
#order_comments_field label {
    font-size: 11px !important;
}
.woocommerce-input-wrapper #order_comments {
    font-size: 16px; 
}

/* Checkboxes e Radio Buttons (Exceções ao Floating Label) */
.woocommerce-checkout .form-row input[type="checkbox"] ~ label,
.woocommerce-checkout .form-row input[type="radio"] ~ label,
.woocommerce-checkout .form-row label.checkbox,
.woocommerce-checkout .form-row.checkbox label {
    position: static !important;
    transform: none !important;
    pointer-events: auto !important;
    font-size: 14px !important;
    opacity: 1 !important;
    display: inline-flex !important;
    z-index: auto !important;
    background: transparent !important;
    padding: 0 !important;
}

.woocommerce-checkout .form-row.checkbox,
.woocommerce-checkout .form-row input[type="checkbox"],
.woocommerce-checkout p.omnisend_newsletter_checkbox_field {
    position: static !important;
}

.woocommerce-checkout .form-row input[type="checkbox"],
.woocommerce-checkout .form-row input[type="radio"] {
    height: auto !important;
    padding: 0 !important;
}

/* 5.5. Payment & Checkout Layout */
.breakdance-woocommerce #payment .form-row {
    display: flex;
    text-align: left;
    gap: 0 !important;
}

.bde-checkout-builder .woocommerce-checkout, .breakdance-woocommerce .woocommerce-checkout {
    gap: 10px !important;
}

.woocommerce-billing-fields > div:not([class]) {
    display: none !important;
}

.bde-checkout-shipping-form .woocommerce-additional-fields h3 {
    display: none !important;
}

.woocommerce-checkout  .payment_box.payment_method_bacs p,
.woocommerce-order-pay .payment_box.payment_method_bacs p {
    font-size: 0.69em !important;
    line-height: 1.2;
}

.breakdance-woocommerce ul.woocommerce-shipping-methods li label, .breakdance-woocommerce ul.payment_methods li label {
    font-size: 1em !important;
}

.woocommerce-checkout .breakdance-woocommerce #payment ul.wc_payment_methods > li > label,
.woocommerce-order-pay .breakdance-woocommerce #payment ul.wc_payment_methods > li > label {
    display: flex !important;
    gap: 5px !important;
    font-size: 0.9em !important;
    align-items: center !important;
}

.bde-checkout-builder .wc_payment_method:last-child,
.breakdance-woocommerce .wc_payment_method:last-child {
    flex-wrap: nowrap; 
}

/* 5.6. Terms & Privacy */
.bde-checkout-builder .woocommerce-terms-and-conditions-wrapper .woocommerce-form__label, 
.breakdance-woocommerce .woocommerce-terms-and-conditions-wrapper .woocommerce-form__label {
    text-align: left !important;
    font-size: 1em !important;
    letter-spacing: -.2px !important;
    display: block !important; 
    line-height: 1em !important;
}

#terms {
    margin-left: 5px !important;
    width: 18px !important;
    height: 18px !important;
}

.woocommerce-checkout .woocommerce-privacy-policy-text p {
    margin-top: 0 !important;
    font-size: 0.75em !important;
    line-height: normal !important;
    display: block !important;
    margin-left: 5px !important;
    margin-right: 5px !important;
}

.woocommerce-order-pay .woocommerce-privacy-policy-text p {
    margin-top: 15px !important;
    font-size: 0.75em !important;
    line-height: normal !important;
    display: block !important;
    margin-left: 5px !important;
    margin-right: 5px !important;
}

/* 5.7. Thank You Page / Order Received */
.breakdance-woocommerce .woocommerce-thankyou-order-received, .breakdance-woocommerce .woocommerce-message {
    border-radius: 25px !important;
}

/* ==========================================================================
   5.8. MY ACCOUNT – INSYGMA STYLING
   (Tables, Forms, Addresses, Buttons, Order Details)
   ========================================================================== */

/* --- 5.8.1. VARIÁVEIS LOCAIS (Override Breakdance) --- */
.woocommerce-MyAccount-content,
.breakdance-woocommerce.woocommerce-account {
    --bde-woo-tables__border-radius: var(--radius-lg);
    --bde-woo-tables__border-color: var(--ins-slate-200);
    --bde-woo-tables__header-color: rgba(125, 162, 243, 0.05);
}

/* --- 5.8.2. WRAPPER GLOBAL --- */
.ins-myaccount-wrapper {
    max-width: 1100px;
    margin: 0 auto;
    overflow: hidden;
}

/* Esconde shortcode na root /my-account/ */
.ins-account-dashboard-root .ins-myaccount-wrapper {
    display: none !important;
}

/* Esconde mensagem padrão do dashboard */
body.woocommerce-account
    :not(.woocommerce-orders)
    :not(.woocommerce-edit-address)
    :not(.woocommerce-edit-account)
    :not(.woocommerce-downloads)
    :not(.woocommerce-view-order)
    .woocommerce-MyAccount-content > p:nth-of-type(2) {
    display: none !important;
}

/* --- 5.8.3. TÍTULOS (H2) --- */
.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content .woocommerce-order-details__title,
.woocommerce-MyAccount-content .woocommerce-address-fields h2 {
    font-size: 1.25rem !important;
    font-weight: 600 !important;
    color: var(--ins-slate-900) !important;
    letter-spacing: -0.02em !important;
    margin-bottom: var(--space-4) !important;
}

/* --- 5.8.4. TABELAS (Orders, Order Details) --- */
.breakdance-woocommerce table.woocommerce-orders-table,
.breakdance-woocommerce table.woocommerce-table--order-details,
.breakdance-woocommerce table.order_details,
.breakdance-woocommerce table.shop_table.order_details {
    border-collapse: separate !important;
    border-spacing: 0;
    border: 1px solid var(--ins-slate-200) !important;
    border-radius: var(--radius-lg) !important;
    overflow: hidden;
    transform: translateZ(0); /* Fix Chrome/Safari clipping */
}

/* Table Header */
.breakdance-woocommerce table.woocommerce-orders-table > thead,
.breakdance-woocommerce table.order_details > thead,
.breakdance-woocommerce table.woocommerce-table--order-details > thead {
    background: rgba(125, 162, 243, 0.05) !important;
}

/* Header Corners */
.breakdance-woocommerce table.woocommerce-orders-table thead th:first-child,
.breakdance-woocommerce table.order_details thead th:first-child {
    border-top-left-radius: var(--radius-lg) !important;
    padding: 12px;
}

.breakdance-woocommerce table.woocommerce-orders-table thead th:last-child,
.breakdance-woocommerce table.order_details thead th:last-child {
    border-top-right-radius: var(--radius-lg) !important;
}

/* Footer/Last Row Corners */
.breakdance-woocommerce table.order_details tbody tr:last-child td:first-child,
.breakdance-woocommerce table.order_details tfoot tr:last-child td:first-child,
.breakdance-woocommerce table.order_details tfoot tr:last-child th:first-child {
    border-bottom-left-radius: var(--radius-lg) !important;
}

.breakdance-woocommerce table.order_details tbody tr:last-child td:last-child,
.breakdance-woocommerce table.order_details tfoot tr:last-child td:last-child {
    border-bottom-right-radius: var(--radius-lg) !important;
}

/* --- 5.8.5. INPUTS & FORMS (Global My Account) --- */
.woocommerce-MyAccount-content input.input-text,
.woocommerce-MyAccount-content input[type="text"],
.woocommerce-MyAccount-content input[type="email"],
.woocommerce-MyAccount-content input[type="tel"],
.woocommerce-MyAccount-content input[type="password"],
.woocommerce-MyAccount-content textarea,
.woocommerce-EditAccountForm.edit-account input,
.woocommerce-EditAccountForm.edit-account textarea,
.woocommerce-EditAccountForm.edit-account select {
    border-radius: var(--radius-md) !important;
    border: 1px solid var(--ins-slate-200) !important;
    padding: 12px 14px !important;
    font-size: 14px !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

/* Input Focus State */
.woocommerce-MyAccount-content input.input-text:focus,
.woocommerce-MyAccount-content input[type="text"]:focus,
.woocommerce-MyAccount-content input[type="email"]:focus,
.woocommerce-MyAccount-content input[type="tel"]:focus,
.woocommerce-MyAccount-content input[type="password"]:focus,
.woocommerce-MyAccount-content textarea:focus {
    border-color: var(--ins-blue-600) !important;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1) !important;
    outline: none !important;
}

/* Native Selects */
.woocommerce-MyAccount-content select {
    border-radius: var(--radius-md) !important;
    border: 1px solid var(--ins-slate-200) !important;
    padding: 12px 14px !important;
}

/* Labels */
.woocommerce-MyAccount-content label,
.woocommerce-EditAccountForm.edit-account label {
    font-size: 14px !important;
    font-weight: 500 !important;
    color: var(--ins-slate-500) !important;
    margin-bottom: 6px !important;
}

/* Fieldsets */
.breakdance-woocommerce .woocommerce-EditAccountForm fieldset {
    border-radius: var(--radius-lg) !important;
    border: 1px solid var(--ins-slate-200) !important;
}

/* --- 5.8.6. SELECT2 (País / Distrito) --- */
.woocommerce-MyAccount-content .select2-container--default .select2-selection--single {
    border-radius: var(--radius-md) !important;
    border: 1px solid var(--ins-slate-200) !important;
    height: 48px !important;
    padding: 10px 14px !important;
}

.woocommerce-MyAccount-content .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 26px !important;
    color: var(--ins-slate-800) !important;
}

.woocommerce-MyAccount-content .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 46px !important;
    right: 10px !important;
}

/* Select2 Focus/Open */
.woocommerce-MyAccount-content .select2-container--default.select2-container--focus .select2-selection--single,
.woocommerce-MyAccount-content .select2-container--default.select2-container--open .select2-selection--single {
    border-color: var(--ins-blue-600) !important;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1) !important;
}

/* Select2 Dropdown (Global - fora do my account content) */
.select2-container--default .select2-dropdown {
    border-radius: var(--radius-md) !important;
    border: 1px solid var(--ins-slate-200) !important;
    box-shadow: var(--shadow-card) !important;
    margin-top: 4px !important;
}

.select2-container--default .select2-results__option {
    padding: 10px 14px !important;
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: var(--ins-blue-50) !important;
    color: var(--ins-blue-600) !important;
}

/* --- 5.8.7. ADDRESSES (Cards & Edit Link) --- */
.breakdance-woocommerce .woocommerce-column,
.breakdance-woocommerce .woocommerce-Address,
.breakdance-woocommerce section.woocommerce-customer-details {
    border: 1px solid var(--ins-slate-200) !important;
    border-radius: var(--radius-lg) !important;
    padding: var(--space-6) !important;
    background-color: var(--ins-white) !important;
}

/* My Account > Moradas */
.woocommerce-MyAccount-content .woocommerce-Address-title a.edit {
    font-size: 0 !important;          /* esconde o texto antigo visualmente */
    white-space: nowrap;
}
/* Padding na primeira coluna (Nº Encomenda) */
@media (min-width: 900px) {
.breakdance-woocommerce table.woocommerce-orders-table th.woocommerce-orders-table__cell-order-number,
.breakdance-woocommerce table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-number {
    padding-left: 20px !important;
}
}

.woocommerce-MyAccount-content .woocommerce-Address-title a.edit::after {
    content: "Editar";
    font-size: 13px !important;
    font-weight: 500 !important;
}

.woocommerce-MyAccount-content .woocommerce-Address-title a.edit:hover {
    border-color: var(--ins-blue-600) !important;
    color: var(--ins-blue-600) !important;
}

/* --- 5.8.8. BUTTONS --- */
/* Primary Submit Buttons */
.woocommerce-MyAccount-content button[type="submit"],
.woocommerce-MyAccount-content .woocommerce-address-fields button.button,
.breakdance-woocommerce p.order-again a.button {
    border-radius: var(--radius-full) !important;
    background-color: var(--ins-slate-900) !important;
    color: var(--ins-white) !important;
    padding: 14px 28px !important;
    font-weight: 500 !important;
    font-size: 14px !important;
    border: none !important;
    transition: all 0.2s ease !important;
}

.woocommerce-MyAccount-content button[type="submit"]:hover,
.breakdance-woocommerce p.order-again a.button:hover {
    background-color: var(--ins-blue-600) !important;
    transform: translateY(-1px) !important;
}

/* Order Actions Buttons */
.breakdance-woocommerce .woocommerce-orders-table__cell-order-actions {
    gap: 10px !important;
    margin: 5px 0 15px !important;
}

.breakdance-woocommerce .woocommerce-orders-table__cell-order-actions a.woocommerce-button {
    border-radius: var(--radius-full) !important;
    padding: 8px 16px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    transition: all 0.2s ease !important;
}

/* Cancel / Reset Buttons (Red) */
.breakdance-woocommerce .reset_variations,
.breakdance-woocommerce .woocommerce-button.cancel {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    padding: 8px 16px !important;
    border-radius: var(--radius-full) !important;
    background: rgba(239, 68, 68, 0.1) !important;
    color: var(--ins-red) !important;
    text-decoration: none !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    transition: all 0.2s ease !important;
}

.breakdance-woocommerce .reset_variations:hover,
.breakdance-woocommerce .woocommerce-button.cancel:hover {
    background: rgba(239, 68, 68, 0.2) !important;
}
/* ==========================================================================
   6. WOOCOMMERCE PLUGINS (Misc)
   (Functionality Overrides not covered in Extensions)
   ========================================================================== */

/* 6.1. Omnisend Newsletter */
#omnisend_newsletter_checkbox {
   width: 15px !important;
   height: 15px !important;
	border-radius: 99px;
}

/* 6.4. Quantity Break Widget */
.wbdl_widget .quantity-break.active {
   border: 4px solid transparent !important;
    border-radius: 20px !important;
    background: linear-gradient(to right, white, white), linear-gradient(to right, red, blue) !important;
    background-clip: padding-box, border-box !important;
    background-origin: padding-box, border-box !important;
}
.wbdl_widget .quantity-break {
    border-radius: 20px !important;
}

/* 6.5. Points & Rewards */
.wr-order-points-preview .item .preview-total-line .points {
    font-size: 1em !important;
}
.wr-order-points-preview.wr-shortcode-vflex {
    margin-top: 13px !important;
}
.wr-order-points-preview .item.line {
    box-shadow: 0 0 2rem -1rem #000;
    box-sizing: border-box;
    margin: 0 auto;
    padding: 1rem 2rem;
    border: 4px solid transparent !important;
    border-radius: 20px !important;
    background: linear-gradient(to right, white, white), linear-gradient(to right, red, blue) !important;
    background-clip: padding-box, border-box !important;
    background-origin: padding-box, border-box !important;
}
#cppw {
    background-color: #f7f9fc; 
    padding: 1.4em; 
    border: 1px solid #cccccc; 
    border-radius: 25px; 
    box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1); 
    font-family: "Arial", sans-serif; 
    font-size: 14px;
    color: #333; 
    line-height: 1.5; 
}
#cppw > p > label {
    display: block !important;
    font-size: 17px;
}
#cppw-points-fragment-point-details-address {
    display: block;
    font-size: 16px;
}

/* Ocultar elementos específicos de plugin */
.lwss_selectable.wr-rateinfo {
    display: none !important;
}

/* 6.6. Ivole Histogram & Meter */
#ivole-histogramTable tr.ivole-histogramRow .ivole-histogramCell1 {
    white-space: nowrap;
    width: auto;
    color: black;
    letter-spacing: -0.5px;
}
#ivole-histogramTable tr.ivole-histogramRow a {
    display: inline;
    color: black;
    font-weight: 650;
    letter-spacing: -.5px;
}
.ivole-meter .ivole-meter-bar {
    border-radius: 15px;
    background: #fb0;
    background: -webkit-linear-gradient(top, #ffce00, #ffa700);
    background: linear-gradient(to bottom, #ffce00, #ffa700);
    background-color: #ffce00;
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .25), inset 0 -1px 0 rgba(0, 0, 0, .05);
    -webkit-transition: width .5s ease;
    transition: width .5s ease;
    float: left;
    font-size: 0;
    height: 100%;
    width: 0;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
.ivole-meter {
    overflow: hidden;
    background: #f2f2f2;
    background: -webkit-linear-gradient(top, #eee, #f6f6f6);
    background: linear-gradient(to bottom, #eee, #f6f6f6);
    background-color: #f3f3f3;
    height: 22px;
    border-radius: 10px;
    /* border-radius: 1px; */
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, .4), inset 0 0 0 1px rgba(0, 0, 0, .1);
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

/* 6.7. TRP Language Switcher */
.trp-language-switcher > div {
    box-sizing: border-box;
    padding: 4px 20px 0px 5px !important;
    border: none !important;
    border-radius: none !important;
    background-image: none !important;
    background-repeat: no-repeat;
    background-position: 0;
    background-size: 0px !important;
    background-repeat: no-repeat;
    background-color: transparent !important;
}
.trp-language-switcher > div > a > img {
    width: 25px !important;
    height: 25px !important;
}
.trp-language-switcher > div > a:hover {
    background: #ffffff96;
    border-radius: 15px !important;
    width: 57px !important;
}
.trp-language-switcher {
    width: 75px !important;
}

/* ==========================================================================
   7. PAGE OVERRIDES
   ========================================================================== */

/* Aplica a Grelha Insygma APENAS nesta página específica */
body.page-id-24958 {
    background-color: #F8F9FC;
    
    /* A Grelha Técnica */
    background-image: 
        linear-gradient(rgba(148, 163, 184, 0.1) 1px, transparent 1px),
        linear-gradient(90deg, rgba(148, 163, 184, 0.1) 1px, transparent 1px);
    background-size: 60px 60px;
    background-position: center top;
    background-attachment: fixed; /* Opcional: faz a grelha ficar parada ao fazer scroll */
}

/* ==========================================================================
   8. MEDIA QUERIES
   (SYSTEM: Mobile < 768px | Tablet 768px-1023px | Desktop > 1024px)
   ========================================================================== */

/* --- MOBILE (Max 767px - Strict) --- */
@media (max-width: 767px) {
    /* Badges & Chat */
    .desconto-badge {
        font-size: 11px;
        padding: 8px 12px;
    }
    #simple-chat-button--button {
        width: 55px !important;
        height: 55px !important;
    }
    #simple-chat-button--text {
        right: 60px !important;
    }
    .flash-sale-badge {
        font-size: 11px;
        padding: 5px 8px;
        top: 10px;
        left: 10px;
    }
    
    /* Inputs - Prevent Zoom on iOS */
    .woocommerce-checkout .input-text,
    .woocommerce-checkout .bde-text-input input,
    .woocommerce-checkout .bde-select select,
    .woocommerce form .form-row input.input-text {
        font-size: 16px !important; /* Changed to 16px to prevent zoom */
    }


  
    .woocommerce-page.woocommerce-cart .breakdance-woocommerce a.checkout-button {
        margin-bottom: 16px !important;
        padding: 26px !important;
    }
    .breakdance-woocommerce .onsale {
        border-radius: 25px !important;
        padding: 5px;
        box-shadow: 0 2px 6px rgba(0,0,0,0.3);
        background-color: #ff4d6d !important;
        font-size: 11px !important;
    }
}



/* --- TABLET/LAPTOP TOUCH (Max 1023px) --- */
@media (max-width: 1023px) {
    #reviews .cr-summaryBox-wrap .ivole-summaryBox {
        display: none;
    }
    #reviews .cr-summaryBox-wrap {
        margin: 0 0 1em 0;
        background-color: #F9F9F9;
        justify-content: center;
        border-radius: 25px;
    }
    #reviews.cr-reviews-ajax-reviews .cr-input-text, .cr-all-reviews-shortcode .cr-ajax-search .cr-input-text, .cr-ajax-search input[type="text"] {
        border: 1px solid;
        border-radius: 25px;
        border-color: #ADB1B8 #A2A6AC #8D9096;
        background-color: #ffffff;
        padding: 3px 10px;
        padding-left: calc(1.5em + .75rem);
        padding-right: 1.8em;
        width: 100%;
        line-height: 1.5em;
        margin: 0px;
        font-size: 1rem;
        box-sizing: border-box;
    }
}

/* --- TABLET/DESKTOP START (Min 768px) --- */
@media (min-width: 768px) {
    .novidade-badge {
        font-size: 13px;
        padding: 7px 13px;
    }

    .breakdance .bde-cart-totals-15-138 .cart-collaterals a.checkout-button {
        margin-bottom: 15px;
    }
    .breakdance-woocommerce .onsale {
        border-radius: 25px !important;
        padding: 5px;
        box-shadow: 0 2px 6px rgba(0,0,0,0.3);
        background-color: #ff4d6d !important;
        font-size: 15px !important;
    }
}

/* --- DESKTOP START (Min 1024px) --- */
@media (min-width: 1024px) {
    .cr-all-reviews-shortcode ol.commentlist, #reviews.cr-reviews-ajax-reviews #comments.cr-reviews-ajax-comments .cr-ajax-reviews-list {
        list-style-type: none;
        margin: 0;
        width: 900px;
        padding: 0 0 1.5em 0;
        display: block;
        position: relative;
    }
    .cr-all-reviews-shortcode .cr-count-row, #reviews.cr-reviews-ajax-reviews .cr-count-row {
        background-color: #F9F9F9;
        padding: 10px 12px;
        border-radius: 20px;
        font-size: 12px;
        color: #0E252C;
        margin: 24px 0;
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 915px;
    }
    #reviews.cr-reviews-ajax-reviews .cr-input-text, .cr-all-reviews-shortcode .cr-ajax-search .cr-input-text, .cr-ajax-search input[type="text"] {
        border: 1px solid;
        border-radius: 25px;
        border-color: #ADB1B8 #A2A6AC #8D9096;
        background-color: #ffffff;
        padding: 3px 10px;
        padding-left: calc(1.5em + .75rem);
        padding-right: 1.8em;
        width: 920px;
        line-height: 1.5em;
        margin: 0px;
        font-size: 1rem;
        box-sizing: border-box;
    }
}
/* ==========================================================================
   9. PRODUCT CUSTOM FIELDS (Dynamic Data Modules)
   (Nutrition, Dosage, Documents & Technical Specs)
   ========================================================================== */

/* 9.1. Generic PCF Wrapper & Utilities */
.ins-pcf-wrapper {
    font-family: var(--font-sans);
    color: var(--ins-slate-800);
    font-size: 15px;
    line-height: 1.5;
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
}

/* 9.2. Module: Document Downloads (PDF Cards) */
.ins-pcf-doc-card {
    display: flex;
    flex-direction: column;
    gap: 12px;
    align-items: flex-start;
    background: linear-gradient(145deg, var(--ins-slate-50) 0%, var(--ins-white) 100%);
    border: 1px solid var(--ins-slate-200);
    border-radius: var(--radius-md); /* 12px based on input */
    padding: 16px;
    box-shadow: var(--shadow-sm); /* Fallback to system shadow */
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    margin-bottom: 16px;
}

.ins-pcf-doc-card:hover {
    border-color: var(--ins-slate-300);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}

.ins-pcf-doc-content {
    display: flex;
    align-items: center;
    gap: 16px;
    width: 100%;
    min-width: 0; /* Prevent flex overflow */
}

.ins-pcf-doc-icon {
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    background-color: #f8f2f2; /* Custom Red Tint from example */
    border-radius: var(--radius-sm);
    display: grid;
    place-items: center;
    color: #b56b5b; /* Custom Brown/Red from example */
}

/* Variant: Grey Icon (Slate) */
.ins-pcf-doc-icon.ins-variant-slate {
    background-color: var(--ins-slate-100);
    color: var(--ins-slate-500);
    border: 1px solid var(--ins-slate-200);
}

.ins-pcf-doc-meta {
    flex-grow: 1;
    min-width: 0;
}

.ins-pcf-doc-title {
    font-size: 16px;
    font-weight: 600;
    color: var(--ins-slate-900);
    margin-bottom: 2px;
    line-height: 1.3;
}

.ins-pcf-doc-desc {
    font-size: 13px;
    color: var(--ins-slate-500);
    line-height: 1.4;
}

.ins-pcf-doc-link {
    width: 100%;
    text-decoration: none;
}

/* Special Button: Gradient Teal (from input) */
.ins-btn-gradient-teal {
    background: linear-gradient(135deg, #00D8B5, #007a5c);
    color: white;
    padding: 12px 16px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    font-weight: 500;
    font-size: 11.5px;
}

.ins-btn-gradient-teal:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 216, 181, 0.3);
}

/* 9.3. Module: Dosage & Intake Panel */
.ins-pcf-dosage-card {
    background: linear-gradient(145deg, var(--ins-slate-50) 0%, var(--ins-white) 100%);
    border: 1px solid var(--ins-slate-200);
    border-radius: 16px;
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    box-shadow: 0 4px 20px rgba(15, 23, 42, 0.03);
}

.ins-pcf-dosage-header {
    display: flex;
    align-items: center;
    gap: 16px;
}

.ins-pcf-dosage-icon {
    width: 48px;
    height: 48px;
    background: var(--ins-blue-50);
    border: 1px solid var(--ins-blue-200);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--ins-blue-600);
    flex-shrink: 0;
}

.ins-pcf-dosage-label {
    font-family: var(--font-mono);
    font-size: 11px;
    text-transform: uppercase;
    color: var(--ins-slate-500);
    letter-spacing: 0.05em;
    display: block;
}

.ins-pcf-dosage-value {
    font-size: 20px;
    font-weight: 700;
    color: var(--ins-slate-900);
    letter-spacing: -0.02em;
}

.ins-pcf-divider {
    height: 1px;
    background: var(--ins-slate-100);
    width: 100%;
}

/* Intake Slots (Morning/Night) */
.ins-pcf-intake-grid {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.ins-pcf-intake-slot {
    flex: 1;
    min-width: 200px;
    background: var(--ins-white);
    border: 1px solid var(--ins-slate-200);
    border-radius: 12px;
    padding: 16px;
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.ins-pcf-intake-icon {
    margin-top: 2px;
}
.ins-icon-sun { color: #F59E0B; }
.ins-icon-sunset { color: #F97316; }
.ins-icon-moon { color: #6366F1; }
.ins-icon-teal { color: #0D9488; }

.ins-pcf-intake-title {
    display: block;
    font-size: 14px;
    font-weight: 700;
    color: var(--ins-slate-900);
    margin-bottom: 2px;
}

.ins-pcf-intake-desc {
    font-size: 12px;
    color: var(--ins-slate-500);
    line-height: 1.4;
}

/* Context/Tip Box (Blue or Teal) */
.ins-pcf-context-box {
    background: #F0F9FF;
    border: 1px solid #BAE6FD;
    border-radius: 10px;
    padding: 16px;
    display: flex;
    gap: 12px;
    align-items: flex-start;
}

.ins-pcf-context-box.ins-variant-teal {
    background: #F0FDF9;
    border-color: #CCFBF1;
}

.ins-pcf-context-icon {
    color: #0284C7; /* Sky 600 */
    flex-shrink: 0;
}
.ins-pcf-context-box.ins-variant-teal .ins-pcf-context-icon {
    color: #0D9488;
}

.ins-pcf-context-title {
    font-size: 13px;
    font-weight: 700;
    color: #0C4A6E; /* Sky 900 */
    display: block;
    margin-bottom: 4px;
}
.ins-pcf-context-box.ins-variant-teal .ins-pcf-context-title {
    color: #115E59;
}

.ins-pcf-context-text {
    margin: 0;
    font-size: 13px;
    color: #0369A1; /* Sky 700 */
    line-height: 1.4;
}
.ins-pcf-context-box.ins-variant-teal .ins-pcf-context-text {
    color: #115E59;
}
/* 9.4. Module: Nutrition & Ingredients Table */
.ins-pcf-nutri-wrapper {
    display: flex;
    flex-direction: column;
    gap: 24px;
    max-width: 1000px;
    margin: 0 auto;
}

.ins-pcf-nutri-panel {
    flex: 2;
    background: var(--ins-white);
    border: 1px solid var(--ins-slate-200);
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(15, 23, 42, 0.03);
    display: flex;
    flex-direction: column;
}

.ins-pcf-nutri-header {
    padding: 24px;
    border-bottom: 1px solid var(--ins-slate-100);
    background: linear-gradient(145deg, var(--ins-slate-50) 0%, var(--ins-white) 100%);
    position: relative;
}

.ins-pcf-nutri-title {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: var(--ins-slate-900);
    margin: 0 0 8px 0;
    letter-spacing: -0.02em !important;
}

.ins-pcf-nutri-meta {
    display: flex;
    gap: 20px;
    font-size: 13px;
    color: var(--ins-slate-500);
    font-family: var(--font-mono);
}

.ins-pcf-nutri-badge {
    position: absolute;
    top: 24px;
    right: 24px;
    background: var(--ins-blue-50);
    color: var(--ins-blue-600);
    border: 1px solid var(--ins-blue-200);
    padding: 6px 12px;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 700;
    text-align: center;
    line-height: 1.2;
}

.ins-pcf-nutri-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 24px;
    border-bottom: 1px solid var(--ins-slate-100);
    transition: background-color 0.2s;
}

.ins-pcf-nutri-row:last-child {
    border-bottom: none;
}

.ins-pcf-nutri-row:hover {
    background-color: var(--ins-slate-50);
}

.ins-pcf-nutri-name {
    font-weight: 500;
    color: var(--ins-slate-800);
    display: flex;
    flex-direction: column;
}

.ins-pcf-nutri-detail {
    font-size: 12px;
    color: var(--ins-slate-400);
    margin-top: 2px;
}

.ins-pcf-nutri-name span.inline-detail {
    display: inline;
    color: var(--ins-slate-400);
    font-size: 12px;
    font-weight: 400;
    margin-left: 4px;
}

.ins-pcf-nutri-value {
    font-family: var(--font-mono);
    font-weight: 550;
    color: var(--ins-slate-900);
    font-size: 14px;
    background: var(--ins-slate-100);
    padding: 4px 8px;
    border-radius: 6px;
    min-width: 80px;
    text-align: center;
}

.ins-pcf-ingredients-panel {
    flex: 1;
    background: var(--ins-slate-50);
    border: 1px solid var(--ins-slate-200);
    border-radius: 16px;
    padding: 24px;
    /* Removemos qualquer height: 100% que pudesse existir aqui */
}

.ins-pcf-ingredients-label {
    font-size: 11px;
    font-weight: 700;
    color: var(--ins-slate-400);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 12px;
    display: block;
}

.ins-pcf-ingredients-text {
    font-size: 14px;
    color: var(--ins-slate-500);
    line-height: 1.6;
    margin-bottom: 0;
}

.ins-pcf-footnote {
    font-size: 11px;
    color: var(--ins-slate-400);
    margin-top: 10px;
    font-style: italic;
}

/* 9.5. MEDIA QUERIES (Updated for Alignment Fix) */
@media (min-width: 768px) {
    /* Document Cards */
    .ins-pcf-doc-card {
        flex-direction: row !important;
        align-items: center;
        justify-content: space-between;
        padding: 20px;
        gap: 16px;
        border-radius: 16px;
    }
    
    .ins-pcf-doc-link {
        width: auto !important;
        flex-shrink: 0;
    }
    
    .ins-pcf-doc-content {
        gap: 16px;
    }

    .ins-btn-gradient-teal {
        width: auto !important;
        padding: 12px 24px !important;
        font-size: 14px;
        border-radius: 10px;
    }

    /* Nutrition Layout - O FIX ESTÁ AQUI */
    .ins-pcf-nutri-wrapper {
        flex-direction: row;
        /* Mudei de 'stretch' para 'flex-start' para remover o espaço em branco */
        align-items: flex-start; 
    }
}

@media (max-width: 767px) {
    /* Nutrition Adjustments */
    .ins-pcf-nutri-header {
        padding: 20px;
    }
    
    .ins-pcf-nutri-badge {
        position: static;
        display: inline-block;
        margin-top: 12px;
    }
    
    .ins-pcf-nutri-row {
        padding: 12px 20px;
    }
}
