/* ========================================================
   WC GRÁFICA PRO - ESTILO RESTAURADO DO ZIP
   ======================================================== */
:root { --gf-primary: #F47109; --gf-dark: #3c4858; --gf-light: #f9f9f9; --gf-text: #333; --gf-hover: #e06500; --gf-border: #e0e0e0; }
input[type="checkbox"], input[type="radio"] { accent-color: var(--gf-primary) !important; }

/* --- 1. MODAL E GERAL --- */
.gf-modal { display: none; position: fixed; z-index: 99999; left: 0; top: 0; width: 100%; height: 100%; overflow: auto; background-color: rgba(0,0,0,0.6); align-items: center; justify-content: center; backdrop-filter: blur(3px); }
.gf-modal-content { background-color: #fff; padding: 40px 30px; border-radius: 12px; width: 90%; max-width: 420px; text-align: center; box-shadow: 0 15px 35px rgba(0,0,0,0.25); animation: gfFadeIn 0.3s; position: relative; font-family: 'Inter', sans-serif; }
.gf-success-icon { width: 70px; height: 70px; margin: 0 auto 20px; }
.gf-checkmark-circle { stroke-dasharray: 166; stroke-dashoffset: 166; stroke-width: 2; stroke: #25d366; fill: #dcf8c6; animation: gfStroke 0.6s cubic-bezier(0.65, 0, 0.45, 1) forwards; }
.gf-checkmark-check { transform-origin: 50% 50%; stroke-dasharray: 48; stroke-dashoffset: 48; stroke: #25d366; stroke-width: 4; animation: gfStroke 0.3s cubic-bezier(0.65, 0, 0.45, 1) 0.6s forwards; }
@keyframes gfStroke { 100% { stroke-dashoffset: 0; } } 
@keyframes gfFadeIn { from {opacity: 0; transform: scale(0.9);} to {opacity: 1; transform: scale(1);} }
.gf-modal-content h2 { color: var(--gf-dark); font-size: 22px; margin: 0 0 10px; font-weight: 800; line-height: 1.2; }
.gf-modal-content p { color: #888; font-size: 14px; margin: 0 0 25px; line-height: 1.5; }
.gf-btn-modal { display: block; width: 100%; padding: 14px; border-radius: 50px; text-decoration: none; font-size: 16px; font-weight: 800; cursor: pointer; transition: all 0.2s; box-sizing: border-box; text-align: center; margin-bottom: 12px; text-transform: uppercase; border: none; }
.gf-btn-orange { background-color: var(--gf-primary); color: #fff !important; box-shadow: 0 4px 15px rgba(244, 113, 9, 0.3); }
.gf-btn-orange:hover { background-color: var(--gf-hover); transform: translateY(-2px); }
.gf-modal-link-home { display: block; margin-top: 15px; font-size: 13px; color: #888; text-decoration: underline; }

/* --- 2. CARRINHO LATERAL --- */
.gf-menu-cart-btn { display: inline-flex; align-items: center; gap: 8px; text-decoration: none !important; color: #fff !important; font-weight: 600; cursor: pointer; }
.gf-menu-cart-btn:hover { color: #fff !important; opacity: 1; }
.gf-cart-icon-wrapper { position: relative; display: flex; align-items: center; }
.gf-menu-cart-btn .dashicons { font-size: 24px; width: 24px; height: 24px; color: #fff; }
.gf-cart-count-badge { position: absolute; top: -8px; right: -8px; background: var(--gf-primary); color: #fff; font-size: 10px; font-weight: 700; width: 16px; height: 16px; border-radius: 50%; display: flex; align-items: center; justify-content: center; box-shadow: 0 1px 2px rgba(0,0,0,0.2); }
.gf-cart-text { color: #fff; font-family: inherit; font-size: 14px; }
.gf-side-cart { position: fixed; top: 0; right: -400px; width: 380px; height: 100vh; background: #fff; z-index: 999999; box-shadow: -5px 0 25px rgba(0,0,0,0.15); transition: right 0.4s ease; display: flex; flex-direction: column; font-family: 'Inter', sans-serif; }
.gf-side-cart.open { right: 0; }
.gf-cart-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.5); z-index: 999998; display: none; backdrop-filter: blur(2px); }
.gf-cart-overlay.open { display: block; }
.gf-cart-header { padding: 20px 25px; border-bottom: 1px solid #eee; display: flex; justify-content: space-between; align-items: center; background: #fff; }
.gf-cart-header h3 { margin: 0; font-size: 18px; font-weight: 700; color: var(--gf-dark); text-transform: uppercase; letter-spacing: 0.5px; }
#gf-close-cart { background: none; border: none; font-size: 30px; line-height: 1; cursor: pointer; color: #888; }
.gf-cart-content { flex: 1; overflow-y: auto; padding: 25px; }
.gf-cart-list { list-style: none; padding: 0; margin: 0; }
.gf-cart-item { display: flex; gap: 15px; margin-bottom: 25px; border-bottom: 1px solid #f5f5f5; padding-bottom: 20px; position: relative; transition: opacity 0.3s; }
.gf-item-thumb img { width: 70px; height: 70px; border-radius: 50%; object-fit: cover; box-shadow: 0 4px 10px rgba(0,0,0,0.08); }
.gf-item-details { flex: 1; }
.gf-item-name { display: block; font-weight: 700; color: var(--gf-dark); font-size: 15px; margin-bottom: 4px; line-height: 1.3; }
.gf-item-meta { display: block; font-size: 11px; color: #888; margin-bottom: 2px; }
.gf-item-price-qty { margin-top: 8px; display: flex; justify-content: space-between; align-items: center; }
.gf-price { color: var(--gf-primary); font-weight: 800; font-size: 14px; }
.gf-qty { font-size: 11px; background: #f0f0f0; padding: 3px 8px; border-radius: 10px; color: #555; }
.gf-remove-item-ajax { position: absolute; top: 0; right: 0; font-size: 20px; color: #ccc; text-decoration: none; line-height: 1; cursor: pointer; }
.gf-remove-item-ajax:hover { color: #d32f2f; }
.gf-cart-footer { padding: 25px; border-top: 1px solid #eee; background: #fff; }
.gf-subtotal { display: flex; justify-content: space-between; font-size: 18px; font-weight: 700; color: var(--gf-dark); margin-bottom: 20px; }
.gf-btn-checkout-side { display: block; width: 100%; padding: 15px; background: var(--gf-primary); color: #fff !important; text-align: center; text-transform: uppercase; font-weight: 700; border-radius: 50px; text-decoration: none; transition: background 0.2s; font-size: 14px; box-shadow: 0 4px 15px rgba(244, 113, 9, 0.3); border: none; }
.gf-btn-checkout-side:hover { background: var(--gf-hover) !important; color: #fff !important; transform: translateY(-2px); }
.gf-empty-msg { text-align: center; padding: 40px 0; color: #999; font-style: italic; }
@media(max-width:480px){ .gf-side-cart{ width: 100%; right: -100%; } }

/* --- 3. PÁGINA DO PRODUTO (CALCULADORA) --- */
.woocommerce a.added_to_cart { display: none !important; }
.gf-wrapper { font-family: 'Inter', sans-serif; max-width: 100%; margin-bottom: 30px; }
.gf-main-price { font-size: 32px; font-weight: 800; color: var(--gf-primary); margin-bottom: 15px; }
.gf-badges { display: flex; gap: 8px; margin-bottom: 25px; flex-wrap: wrap; }
.gf-badge { background: #fff5eb; color: var(--gf-primary); border: 1px solid var(--gf-primary); border-radius: 6px; padding: 6px 12px; font-size: 11px; font-weight: 700; text-transform: uppercase; }
.gf-label { font-size: 13px; font-weight: 700; color: #555; text-transform: uppercase; margin-bottom: 12px; display: block; }
.gf-opts { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 25px; }
.gf-opts input[type="radio"] { display: none !important; }

/* CHECKBOX PERSONALIZADO */
.gf-wrapper input[type="checkbox"] { appearance: none !important; -webkit-appearance: none !important; width: 20px !important; height: 20px !important; border: 1px solid #e0e0e0 !important; border-radius: 4px !important; background-color: #fffaf5 !important; cursor: pointer !important; position: relative !important; vertical-align: middle !important; margin-right: 8px !important; margin-top: -2px !important; display: inline-block !important; }
.gf-wrapper input[type="checkbox"]:checked { background-color: #fff5eb !important; border-color: var(--gf-primary) !important; }
.gf-wrapper input[type="checkbox"]:checked::after { content: '✔' !important; font-size: 14px !important; color: var(--gf-primary) !important; position: absolute !important; top: 50% !important; left: 50% !important; transform: translate(-50%, -50%) !important; font-weight: bold !important; display: flex !important; align-items: center; justify-content: center; }
.gf-checkbox-wrapper { display: flex !important; align-items: center !important; margin-top: 10px !important; }
.gf-checkbox-wrapper label { margin: 0 !important; cursor: pointer !important; font-size: 13px !important; font-weight: 600 !important; color: #555 !important; }

.gf-btn { border: 2px solid #e0e0e0; padding: 10px 20px; border-radius: 8px; cursor: pointer; background: #fff; font-size: 14px; font-weight: 600; color: #555; min-width: 60px; text-align: center; }
.gf-opts input:checked + .gf-btn { background: var(--gf-primary); color: white; border-color: var(--gf-primary); box-shadow: 0 4px 10px rgba(244, 113, 9, 0.2); }
.gf-upload { border: 2px dashed #ddd; padding: 20px; border-radius: 10px; background: #fafafa; margin-bottom: 25px; }
.gf-up-btn { background: #333; color: white; padding: 8px 18px; border-radius: 6px; font-size: 12px; font-weight: bold; cursor: pointer; display: inline-block; }
.gf-filename { margin-left: 10px; font-size: 12px; font-style: italic; color: #666; }
.gf-textarea { width: 100%; border: 2px solid #e0e0e0; border-radius: 8px; padding: 12px; }
.gf-bulk { width: 100%; border: 1px solid #eee; border-radius: 12px; margin-top: 25px; overflow: hidden; }
.gf-row { display: flex; justify-content: space-between; align-items: center; padding: 16px 20px; border-bottom: 1px solid #f0f0f0; }
.gf-row.active { background: #fff5eb !important; border-left: 5px solid var(--gf-primary) !important; }
.gf-actions { display: flex; gap: 15px; margin-top: 30px; height: 50px; }
.gf-qty-box { display: flex; border: 2px solid #eee; border-radius: 50px; width: 140px; align-items: center; justify-content: space-between; background: #fff; overflow: hidden; }
.gf-qty-btn { width: 40px; height: 100%; border: none !important; background: transparent !important; font-size: 20px; color: #555 !important; cursor: pointer; padding: 0 !important; display: flex; align-items: center; justify-content: center; transition: background 0.2s; }
.gf-qty-btn:hover { background: #f5f5f5 !important; color: var(--gf-primary) !important; }
.gf-qty-input { width: 100%; flex: 1; text-align: center !important; border: none !important; font-size: 18px !important; font-weight: bold !important; color: #222 !important; background: transparent !important; margin: 0 !important; padding: 0 !important; -moz-appearance: textfield; }
.gf-qty-input::-webkit-outer-spin-button, .gf-qty-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
button.gf-buy { flex-grow: 1; border: none !important; background-color: var(--gf-primary) !important; color: white !important; border-radius: 50px !important; font-size: 16px !important; font-weight: 800 !important; text-transform: uppercase !important; cursor: pointer !important; padding: 0 20px !important; transition: transform 0.2s, background 0.2s; }
button.gf-buy:hover { background-color: var(--gf-hover) !important; transform: translateY(-2px); }

/* --- 4. ARQUIVO --- */
.gf-archive-wrapper { display: flex; flex-wrap: wrap; gap: 40px; font-family: 'Inter', sans-serif; max-width: 1200px; margin: 0 auto; padding: 20px; }
.gf-archive-sidebar { width: 240px; flex-shrink: 0; }
.gf-arch-heading { font-size: 20px; font-weight: 700; color: var(--gf-dark); margin-bottom: 20px; border-bottom: none; font-family: serif; }
.gf-cat-list { list-style: none; padding: 0; margin: 0; }
.gf-cat-list > li { margin-bottom: 15px; }
.gf-cat-link { display: flex; align-items: center; gap: 12px; text-decoration: none; color: #555; font-weight: 600; font-size: 15px; transition: 0.2s; border-radius: 8px; padding: 5px; }
.gf-cat-link:hover { color: var(--gf-primary); background: #f9f9f9; }
.gf-cat-link.active { color: var(--gf-primary); font-weight: 800; background: #fff5eb; }
.gf-cat-link.active .gf-cat-icon { background: var(--gf-primary); }
.gf-cat-icon { width: 32px; height: 32px; background: #3c4858; border-radius: 50%; display: flex; align-items: center; justify-content: center; overflow: hidden; flex-shrink: 0; transition: background 0.2s; }
.gf-cat-icon img { width: 100%; height: 100%; object-fit: cover; }
.gf-cat-icon .dashicons { color: #fff; font-size: 18px; width: 18px; height: 18px; }
.gf-subcat-list { list-style: none; padding: 0 0 0 44px; margin: 5px 0 0 0; border-left: 2px solid #eee; }
.gf-subcat-list li { margin-bottom: 8px; }
.gf-subcat-list .gf-cat-link { font-weight: 400; font-size: 13px; color: #777; align-items: flex-start; padding: 2px; }
.gf-subcat-list .gf-cat-link:hover { color: var(--gf-primary); padding-left: 5px; background:transparent; }
.gf-subcat-list .gf-cat-link.active { color: var(--gf-primary); font-weight: 700; background:transparent; padding-left: 5px; }
.gf-archive-content { flex: 1; min-width: 300px; }
.gf-arch-title { font-size: 28px; font-weight: 800; color: #3c4858; margin: 0 0 10px; font-family: serif; }
.gf-arch-desc { color: #777; margin-bottom: 30px; font-size: 15px; }
.gf-prod-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 30px; }
.gf-prod-card { background: #fff; border-radius: 16px; overflow: hidden; transition: transform 0.2s, box-shadow 0.2s; border: 1px solid #eee; display: flex; flex-direction: column; }
.gf-prod-card:hover { transform: translateY(-5px); box-shadow: 0 10px 25px rgba(0,0,0,0.08); }
.gf-card-img-wrap { display: block; height: 200px; overflow: hidden; background: #f9f9f9; position: relative; }
.gf-card-img-wrap img { width: 100%; height: 100%; object-fit: cover; transition: 0.3s; }
.gf-prod-card:hover .gf-card-img-wrap img { transform: scale(1.05); }
.gf-card-body { padding: 20px; flex: 1; display: flex; flex-direction: column; }
.gf-card-title { font-size: 16px; font-weight: 700; margin: 0 0 10px; line-height: 1.3; }
.gf-card-title a { text-decoration: none; color: var(--gf-dark); }
.gf-card-title a:hover { color: var(--gf-primary); }
.gf-card-price { font-size: 14px; color: #555; margin-bottom: 5px; }
.gf-card-price strong { color: var(--gf-dark); font-weight: 800; }
.gf-card-meta { font-size: 11px; color: #999; margin-bottom: 3px; }
.gf-card-badges { margin-top: auto; padding-top: 15px; display: flex; gap: 8px; }
.gf-pill { font-size: 10px; font-weight: 700; padding: 4px 10px; border-radius: 20px; text-transform: uppercase; letter-spacing: 0.5px; border: 1px solid #ddd; color: #555; }
.gf-pill-pop { background: #fff5eb; border-color: var(--gf-primary); color: var(--gf-primary); }
.gf-pill-free { background: #f0fdf4; border-color: #bbf7d0; color: #166534; }
@media(max-width: 768px) { 
    .gf-archive-sidebar { width: 100%; margin-bottom: 30px; } 
    .gf-cat-list { display: flex; gap: 15px; overflow-x: auto; padding-bottom: 10px; } 
    .gf-cat-list > li { margin: 0; flex-shrink: 0; } 
    .gf-cat-link { flex-direction: column; text-align: center; } 
    .gf-subcat-list { display: none; } 
}

/* --- 5. HEADER ACCOUNT --- */
.gf-header-account { position: relative; font-family: 'Inter', sans-serif; display: inline-block; }
.gf-header-link { color: #fff; text-decoration: none; font-weight: 600; display: flex; align-items: center; gap: 5px; cursor: pointer; padding: 10px 0; }
.gf-header-link:hover { color: var(--gf-primary); }
.gf-header-dropdown { display: none; position: absolute; top: 100%; right: 0; background: #fff; min-width: 200px; box-shadow: 0 10px 30px rgba(0,0,0,0.1); border-radius: 12px; z-index: 9999; padding: 10px 0; border: 1px solid #eee; }
.gf-header-account:hover .gf-header-dropdown { display: block; }
.gf-dropdown-header { padding: 10px 20px; font-weight: 800; border-bottom: 1px solid #eee; margin-bottom: 5px; color: var(--gf-dark); }
.gf-header-dropdown a { display: flex; align-items: center; gap: 10px; padding: 10px 20px; color: #555; text-decoration: none; font-size: 14px; transition: 0.2s; }
.gf-header-dropdown a:hover { background: #f9f9f9; color: var(--gf-primary); }
.gf-logout-link { color: #d63638 !important; border-top: 1px solid #eee; margin-top: 5px; }

/* --- 6. MINHA CONTA --- */
.gf-account-wrapper { display: flex; gap: 40px; max-width: 1200px; margin: 40px auto; padding: 0 20px; font-family: 'Inter', sans-serif; align-items: flex-start; }
.gf-account-sidebar { width: 260px; flex-shrink: 0; background: #fff; border: 1px solid #eee; border-radius: 16px; padding: 20px; box-shadow: 0 5px 20px rgba(0,0,0,0.03); }
.gf-user-info { text-align: center; margin-bottom: 20px; padding-bottom: 20px; border-bottom: 1px solid #f0f0f0; }
.gf-user-avatar img { border-radius: 50%; margin-bottom: 10px; }
.gf-user-email { display: block; font-size: 13px; color: #666; margin-bottom: 10px; font-weight: 500; }
.gf-btn-logout-side { display: inline-block; padding: 6px 15px; background: #fff5f5; color: #d63638; border-radius: 20px; text-decoration: none; font-size: 12px; font-weight: 700; }
.gf-account-nav a { display: flex; align-items: center; gap: 10px; padding: 12px 15px; text-decoration: none; color: #555; border-radius: 8px; font-weight: 500; transition: 0.2s; margin-bottom: 5px; }
.gf-account-nav a:hover { background: #f9f9f9; color: var(--gf-primary); }
.gf-account-nav a.active { background: var(--gf-primary); color: #fff; font-weight: 700; box-shadow: 0 4px 10px rgba(244, 113, 9, 0.3); }
.gf-account-nav a.active .dashicons { color: #fff; }
.gf-account-content { flex: 1; min-width:300px; }
.gf-sect-title { font-size: 24px; font-weight: 700; color: var(--gf-dark); margin-bottom: 25px; border-bottom: none; }
.gf-card-white, .gf-account-content .woocommerce form.edit-account { background: #fff !important; padding: 30px !important; border-radius: 12px !important; border: 1px solid #eee !important; box-shadow: 0 5px 25px rgba(0,0,0,0.01); }
.gf-text-muted { color: #888; font-size: 14px; margin-bottom: 20px; }

/* FORÇAR CAMPOS DE TEXTO DA CONTA */
body .gf-account-content .woocommerce-EditAccountForm input.input-text,
body .gf-account-content .woocommerce-EditAccountForm input[type="email"],
body .gf-account-content .woocommerce-EditAccountForm input[type="password"] {
    border: 1px solid #dcdcdc !important;
    border-radius: 8px !important;
    padding: 12px !important;
    background-color: #fff !important;
    color: #333 !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.03) !important;
    transition: all 0.2s !important;
}

body .gf-account-content .woocommerce-EditAccountForm input.input-text:focus,
body .gf-account-content .woocommerce-EditAccountForm input[type="email"]:focus,
body .gf-account-content .woocommerce-EditAccountForm input[type="password"]:focus {
    border-color: #F47109 !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(244,113,9,0.15) !important;
}

/* FORÇAR BOTÃO SALVAR ALTERAÇÕES CONTRA O ELEMENTOR */
body .gf-account-content .woocommerce-EditAccountForm button[type="submit"],
body .gf-account-content .woocommerce-EditAccountForm button[name="save_account_details"] {
    background-color: #F47109 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 14px 28px !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    text-transform: uppercase !important;
    box-shadow: 0 4px 12px rgba(244, 113, 9, 0.3) !important;
    transition: all 0.2s !important;
}

body .gf-account-content .woocommerce-EditAccountForm button[name="save_account_details"]:hover {
    background-color: #e06500 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 15px rgba(244, 113, 9, 0.4) !important;
}

/* FORÇAR CHECKBOX NEWSLETTER */
body .gf-account-content .woocommerce-EditAccountForm input[type="checkbox"] {
    appearance: none !important;
    -webkit-appearance: none !important;
    width: 20px !important;
    height: 20px !important;
    border: 1px solid #dcdcdc !important;
    border-radius: 4px !important;
    background-color: #fff !important;
    position: relative !important;
    cursor: pointer !important;
    display: inline-block !important;
    vertical-align: middle !important;
    margin-top: -2px !important;
    margin-right: 8px !important;
}

/* Checkbox Laranja Quase Branco quando marcado */
body .gf-account-content .woocommerce-EditAccountForm input[type="checkbox"]:checked {
    background-color: #fff5eb !important; 
    border-color: #F47109 !important;
}

body .gf-account-content .woocommerce-EditAccountForm input[type="checkbox"]:checked::after {
    content: '✔' !important;
    color: #F47109 !important; 
    font-size: 14px !important;
    font-weight: bold !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
}

/* REMOVER BORDA DO QUADRO DE SENHA */
body .gf-account-content .woocommerce-EditAccountForm fieldset {
    border: none !important;
    background-color: transparent !important;
    padding: 0 !important;
    margin-top: 40px !important;
    box-shadow: none !important;
}

/* DEIXAR O TEXTO "ALTERAÇÃO DE SENHA" COMO UM TÍTULO LIMPO */
body .gf-account-content .woocommerce-EditAccountForm fieldset legend {
    border: none !important;
    background: transparent !important;
    padding: 0 0 15px 0 !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    color: var(--gf-dark) !important;
    margin-bottom: 5px !important;
}

/* =========================
   APPLE MODE — MY ACCOUNT
   Cole no FINAL do CSS do tema
   ========================= */

:root{
  --apple-radius: 14px;
  --apple-radius-sm: 10px;
  --apple-border: rgba(15, 23, 42, 0.10);
  --apple-border-strong: rgba(244,113,9,0.30);
  --apple-glass: rgba(255,255,255,0.75);
  --apple-glass-strong: rgba(255,255,255,0.88);
  --apple-shadow: 0 10px 30px rgba(2, 6, 23, 0.08);
  --apple-shadow-soft: 0 6px 18px rgba(2, 6, 23, 0.06);
  --apple-focus: 0 0 0 4px rgba(244,113,9,0.18);
}

/* ---------- Inputs (vidro + blur + foco Apple) ---------- */
body .gf-account-content .woocommerce-EditAccountForm input.input-text,
body .gf-account-content .woocommerce-EditAccountForm input[type="email"],
body .gf-account-content .woocommerce-EditAccountForm input[type="password"] {
  border: 1px solid var(--apple-border) !important;
  border-radius: var(--apple-radius) !important;
  padding: 14px 14px !important;
  background: linear-gradient(180deg, var(--apple-glass-strong), var(--apple-glass)) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  color: #0f172a !important;
  box-shadow: var(--apple-shadow-soft) !important;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease !important;
}

body .gf-account-content .woocommerce-EditAccountForm input.input-text:hover,
body .gf-account-content .woocommerce-EditAccountForm input[type="email"]:hover,
body .gf-account-content .woocommerce-EditAccountForm input[type="password"]:hover {
  box-shadow: var(--apple-shadow) !important;
}

body .gf-account-content .woocommerce-EditAccountForm input.input-text:focus,
body .gf-account-content .woocommerce-EditAccountForm input[type="email"]:focus,
body .gf-account-content .woocommerce-EditAccountForm input[type="password"]:focus {
  border-color: var(--apple-border-strong) !important;
  outline: none !important;
  box-shadow: var(--apple-focus), var(--apple-shadow) !important;
  background: linear-gradient(180deg, rgba(255,255,255,0.92), rgba(255,255,255,0.78)) !important;
}

/* ---------- Botão "Salvar alterações" (mesma pegada do cupom) ---------- */
body .gf-account-content .woocommerce-EditAccountForm button[type="submit"],
body .gf-account-content .woocommerce-EditAccountForm button[name="save_account_details"] {
  position: relative !important;
  overflow: hidden !important;
  border: 1px solid rgba(255,255,255,0.35) !important;
  border-radius: 999px !important;
  padding: 14px 28px !important;
  font-weight: 800 !important;
  font-size: 13px !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  color: #ffffff !important;

  background: radial-gradient(120% 180% at 50% 0%, rgba(255,255,255,0.30) 0%, rgba(255,255,255,0.00) 55%),
              linear-gradient(180deg, #ff8a2a 0%, #F47109 55%, #e06500 100%) !important;

  box-shadow: 0 10px 30px rgba(244,113,9,0.24) !important;
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease !important;
}

body .gf-account-content .woocommerce-EditAccountForm button[type="submit"]::before,
body .gf-account-content .woocommerce-EditAccountForm button[name="save_account_details"]::before {
  content: "" !important;
  position: absolute !important;
  inset: -2px !important;
  background: linear-gradient(120deg, rgba(255,255,255,0.55), rgba(255,255,255,0.0) 40%) !important;
  transform: translateX(-120%) !important;
  transition: transform .55s ease !important;
  pointer-events: none !important;
}

body .gf-account-content .woocommerce-EditAccountForm button[type="submit"]:hover,
body .gf-account-content .woocommerce-EditAccountForm button[name="save_account_details"]:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 16px 40px rgba(244,113,9,0.32) !important;
  filter: saturate(1.05) !important;
}

body .gf-account-content .woocommerce-EditAccountForm button[type="submit"]:hover::before,
body .gf-account-content .woocommerce-EditAccountForm button[name="save_account_details"]:hover::before {
  transform: translateX(0%) !important;
}

body .gf-account-content .woocommerce-EditAccountForm button[type="submit"]:active,
body .gf-account-content .woocommerce-EditAccountForm button[name="save_account_details"]:active {
  transform: translateY(0px) scale(0.98) !important;
}

/* ---------- Checkbox mais iOS (mantém tua lógica) ---------- */
body .gf-account-content .woocommerce-EditAccountForm input[type="checkbox"] {
  border-radius: 6px !important;
  border: 1px solid var(--apple-border) !important;
  background: linear-gradient(180deg, rgba(255,255,255,0.95), rgba(255,255,255,0.75)) !important;
  box-shadow: 0 4px 10px rgba(2, 6, 23, 0.06) !important;
}

body .gf-account-content .woocommerce-EditAccountForm input[type="checkbox"]:checked {
  background: linear-gradient(180deg, #fff5eb, rgba(255,255,255,0.85)) !important;
  border-color: rgba(244,113,9,0.45) !important;
  box-shadow: 0 0 0 4px rgba(244,113,9,0.12), 0 8px 18px rgba(2,6,23,0.06) !important;
}

/* ---------- Fieldset/Legend: deixa mais “Apple spacing” ---------- */
body .gf-account-content .woocommerce-EditAccountForm fieldset {
  margin-top: 34px !important;
}

body .gf-account-content .woocommerce-EditAccountForm fieldset legend {
  letter-spacing: -0.01em !important;
}

.woocommerce-EditAccountForm label {
  padding-bottom: 4px !important;
  margin-bottom: 4px !important;
}

/* =========================
   MOBILE — Minha Conta (gf-account-wrapper em 1 coluna)
   ========================= */
@media (max-width: 768px) {

  /* força o wrapper a virar 1 coluna */
  body .gf-account-wrapper{
    display: block !important;        /* mata grid/flex */
    width: 100% !important;
    max-width: 100% !important;
  }

  /* garante que as duas áreas empilhem */
  body .gf-account-wrapper .woocommerce-MyAccount-navigation,
  body .gf-account-wrapper .woocommerce-MyAccount-content{
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  /* espaçamento entre menu e conteúdo */
  body .gf-account-wrapper .woocommerce-MyAccount-navigation{
    margin-bottom: 16px !important;
  }
}

/* ===== MOBILE ===== */
@media (max-width: 768px){

  .gf-account-wrapper{
    flex-direction: column !important;
    gap: 16px !important;
  }

  .gf-account-sidebar,
  .gf-account-content{
    width: 100% !important;
    flex: 0 0 100% !important;
  }
	
	#gf-tab-orders,
	#gf-tab-address,
	#gf-tab-details{
		padding-top: 20px !important;
	}
	
	.gf-card-white, .gf-account-content .woocommerce form.edit-account {
	    padding: 20px !important;
	}
}

/* Mobile — Address Book: 1 coluna (Billing em cima, Shipping em baixo) */
@media (max-width: 768px){
  body .gf-account-content .woocommerce-Addresses,
  body .gf-account-content .u-columns.woocommerce-Addresses{
    flex-direction: column !important;
    gap: 16px !important;
  }

  body .gf-account-content .woocommerce-Addresses .u-column1,
  body .gf-account-content .woocommerce-Addresses .u-column2{
    width: 100% !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }
}

/* FINAL PÁGINA MINHA CONTA*/

/* Login Form */
.gf-login-wrapper { display: flex; justify-content: center; align-items: center; min-height: 60vh; background: #fdfdfd; font-family: 'Inter', sans-serif; }
.gf-login-card { background: #fff; padding: 40px; border-radius: 16px; box-shadow: 0 10px 40px rgba(0,0,0,0.05); width: 100%; max-width: 400px; border: 1px solid #eee; text-align: center; }
.gf-login-subtitle { color: #888; margin-bottom: 30px; font-size: 14px; }
.gf-input-group { text-align: left; margin-bottom: 20px; }
.gf-input-group label { display: block; font-weight: 600; font-size: 13px; margin-bottom: 8px; color: #333; }
.gf-input-group input { width: 100%; padding: 12px; border: 1px solid #ddd; border-radius: 8px; font-size: 14px; box-sizing: border-box;}
.gf-login-btn { width: 100%; background: #6366f1; color: #fff; padding: 14px; border: none; border-radius: 8px; font-weight: 700; cursor: pointer; transition: 0.2s; }
.gf-login-btn:hover { opacity: 0.9; transform: translateY(-1px); }
.gf-login-footer { margin-top: 20px; font-size: 13px; }
.gf-login-footer a { color: #666; text-decoration: none; }

/* --- 7. MEUS PEDIDOS --- */
.gf-order-card { background: #fff; border: 1px solid #eee; border-radius: 12px; padding: 20px; margin-bottom: 20px; transition: box-shadow 0.2s; }
.gf-order-card:hover { box-shadow: 0 5px 25px rgba(0,0,0,0.05); }
.gf-order-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; }
.gf-order-status { font-size: 11px; padding: 4px 10px; border-radius: 20px; text-transform: uppercase; font-weight: 700; }
.st-completed, .st-concluido { background: #def7ec; color: #03543f; } 
.st-processing, .st-processando, .st-on-hold { background: #e1effe; color: #1e429f; }
.st-pending, .st-pendente { background: #fef3c7; color: #9b1c1c; }
.st-cancelled, .st-cancelado, .st-failed { background: #fde8e8; color: #9b1c1c; }
.gf-order-date { font-size: 12px; color: #999; margin-bottom: 15px; }
.gf-order-item-row { display: flex; gap: 15px; margin-bottom: 15px; border-bottom: 1px solid #f9f9f9; padding-bottom: 10px; }
.gf-oi-thumb img { width: 50px; height: 50px; border-radius: 8px; object-fit: cover; }
.gf-oi-info { display: flex; flex-direction: column; justify-content: center; font-size: 13px; }
.gf-file-link, .gf-file-link .dashicons { color: var(--gf-primary) !important; text-decoration: none !important; font-weight: 600 !important; font-size: 13px !important; }
.gf-file-link { margin-top: 5px; display: inline-flex; align-items: center; gap: 4px; }
.gf-file-link:hover, .gf-file-link:hover .dashicons { text-decoration: underline !important; color: var(--gf-hover) !important; }
.gf-order-total { text-align: right; font-size: 14px; color: var(--gf-dark); margin-top: 10px; }
.gf-empty-state { text-align: center; padding: 50px; background: #fff; border-radius: 12px; border: 1px dashed #ddd; }
.gf-empty-state a { color: var(--gf-primary) !important; font-weight: 600; text-decoration: none; display: inline-block; margin-top: 10px; }
.gf-empty-state a:hover { text-decoration: underline; }

/* --- 8. ACCOUNT DETAILS & INPUTS --- */
body .gf-account-content .woocommerce form .form-row { margin-bottom: 20px !important; }
body .gf-account-content .woocommerce form .form-row label { display: block !important; font-weight: 600 !important; font-size: 13px !important; margin-bottom: 8px !important; color: #333 !important; }
body .gf-account-content .woocommerce form .form-row input.input-text,
body .gf-account-content .woocommerce form .form-row input[type="email"],
body .gf-account-content .woocommerce form .form-row input[type="password"],
body .gf-account-content .woocommerce form .form-row textarea { 
    width: 100% !important; padding: 12px !important; border: 1px solid #e0e0e0 !important; border-radius: 8px !important; font-size: 14px !important; box-sizing: border-box !important; transition: all 0.2s !important; font-family: 'Inter', sans-serif !important; background: #fff !important; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05) !important; 
}
body .gf-account-content .woocommerce form .form-row input.input-text:focus,
body .gf-account-content .woocommerce form .form-row input[type="email"]:focus,
body .gf-account-content .woocommerce form .form-row input[type="password"]:focus,
body .gf-account-content .woocommerce form .form-row textarea:focus { 
    border-color: var(--gf-primary) !important; outline: none !important; box-shadow: 0 0 0 3px rgba(244, 113, 9, 0.1) !important; 
}
/* Checkbox Account Details */
body .gf-account-content .woocommerce form input[type="checkbox"] {
    appearance: none !important; width: 20px !important; height: 20px !important;
    border: 1px solid #e0e0e0 !important; border-radius: 4px !important;
    background-color: #fff5eb !important; cursor: pointer !important;
    position: relative !important; vertical-align: middle !important; margin-right: 8px !important;
}
body .gf-account-content .woocommerce form input[type="checkbox"]:checked::before {
    content: '✔' !important; font-size: 14px !important; color: var(--gf-primary) !important; 
    position: absolute !important; top: 50% !important; left: 50% !important;
    transform: translate(-50%, -50%) !important; font-weight: bold !important;
    display: flex !important;
}
/* Fieldset */
body .gf-account-content .woocommerce form.edit-account fieldset { border: 1px solid #e0e0e0 !important; border-radius: 12px !important; padding: 25px !important; margin-top: 30px !important; background-color: #fafafa !important; box-shadow: none !important; }
body .gf-account-content .woocommerce form.edit-account fieldset legend { font-size: 16px !important; font-weight: 700 !important; color: var(--gf-dark) !important; padding: 5px 15px !important; background: #fff !important; margin-bottom: 0 !important; border: 1px solid #e0e0e0 !important; border-radius: 8px !important; display: inline-block !important; width: auto !important; }
/* Submit */
body .gf-account-content .woocommerce form button[type="submit"], 
body .gf-account-content .woocommerce form button.button { 
    background-color: var(--gf-primary) !important; color: #fff !important; 
    padding: 14px 28px !important; border-radius: 8px !important; border: none !important; 
    font-weight: 700 !important; cursor: pointer !important; text-transform: uppercase !important; 
    margin-top: 15px !important; font-family: 'Inter', sans-serif !important; transition: all 0.2s !important; 
    font-size: 14px !important; box-shadow: 0 4px 12px rgba(244, 113, 9, 0.3) !important; display: inline-block !important;
}
body .gf-account-content .woocommerce form button[type="submit"]:hover,
body .gf-account-content .woocommerce form button.button:hover { 
    background-color: var(--gf-hover) !important; transform: translateY(-2px) !important; 
    box-shadow: 0 6px 15px rgba(244, 113, 9, 0.4) !important; 
}

/* --- 9. ADDRESSES --- */
body .gf-account-content .woocommerce-Addresses::before, body .gf-account-content .woocommerce-Addresses::after { display: none !important; }
body .gf-account-content .woocommerce-Addresses { display: flex !important; flex-direction: row !important; flex-wrap: wrap !important; gap: 20px !important; margin-top: 20px !important; }
body .gf-account-content .woocommerce-Address { background: #fff !important; border: 1px solid #eaeaea !important; border-radius: 12px !important; padding: 25px 25px 80px 25px !important; width: calc(50% - 10px) !important; box-sizing: border-box !important; position: relative !important; float: none !important; margin: 0 !important; }
body .gf-account-content .woocommerce-Address header.title, body .gf-account-content .woocommerce-Address .title { display: block !important; border-bottom: 1px solid #eaeaea !important; padding-bottom: 15px !important; margin-bottom: 15px !important; }
body .gf-account-content .woocommerce-Address header.title h3, body .gf-account-content .woocommerce-Address .title h3 { margin: 0 !important; font-size: 22px !important; font-weight: 800 !important; color: var(--gf-dark) !important; line-height: 1.3 !important; border: none !important; padding: 0 !important; text-align: left !important; }
body .gf-account-content .woocommerce-Address header.title a, body .gf-account-content .woocommerce-Address .title a { position: absolute !important; bottom: 25px !important; left: 25px !important; color: var(--gf-primary) !important; font-size: 13px !important; font-weight: 600 !important; text-decoration: none !important; background: #fff5eb !important; padding: 8px 18px !important; border-radius: 20px !important; border: 1px solid var(--gf-primary) !important; white-space: nowrap !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; margin: 0 !important; }
body .gf-account-content .woocommerce-Address header.title a:hover, body .gf-account-content .woocommerce-Address .title a:hover { background: var(--gf-primary) !important; color: #fff !important; }
body .gf-account-content address { font-style: normal !important; line-height: 1.6 !important; color: #555 !important; font-size: 14px !important; background: transparent !important; padding: 0 !important; border: none !important; }

/* 10. NOTICES */
body .gf-account-content .woocommerce-error, body .gf-account-content .woocommerce-info, body .gf-account-content .woocommerce-message { background: #fdfdfd !important; border-top-color: var(--gf-primary) !important; border-radius: 8px !important; box-shadow: 0 2px 10px rgba(0,0,0,0.02) !important; font-family: 'Inter', sans-serif !important; }
body .gf-account-content .woocommerce-message::before { color: var(--gf-primary) !important; }

/* 11. PÁGINA DE PAGAMENTO (ORDER PAY) */
body.woocommerce-order-pay .entry-title { font-size: 28px !important; font-weight: 800 !important; color: var(--gf-dark) !important; margin-bottom: 20px !important; }
body.woocommerce-order-pay table.shop_table { border: 1px solid #eee !important; border-radius: 12px !important; border-collapse: separate !important; border-spacing: 0 !important; overflow: hidden !important; margin-bottom: 30px !important; background: #fff !important; box-shadow: 0 2px 10px rgba(0,0,0,0.02) !important; }
body.woocommerce-order-pay table.shop_table th { background: #f9f9f9 !important; padding: 15px !important; font-weight: 700 !important; color: #555 !important; text-transform: uppercase !important; font-size: 13px !important; border-bottom: 1px solid #eee !important; text-align: left !important; }
body.woocommerce-order-pay table.shop_table td { padding: 15px !important; border-top: 1px solid #eee !important; color: #333 !important; font-size: 14px !important; }
body.woocommerce-order-pay #payment { background: #fff !important; border: 1px solid #eee !important; border-radius: 12px !important; padding: 25px !important; margin-bottom: 20px !important; }
body.woocommerce-order-pay #payment ul.payment_methods { border-bottom: 1px solid #eee !important; padding-bottom: 20px !important; list-style: none !important; padding-left: 0 !important; margin: 0 0 20px 0 !important; }
body.woocommerce-order-pay #place_order { background-color: var(--gf-primary) !important; color: #fff !important; padding: 15px 30px !important; border-radius: 50px !important; font-size: 16px !important; font-weight: 800 !important; text-transform: uppercase !important; border: none !important; cursor: pointer !important; transition: all 0.2s !important; width: 100% !important; margin-top: 10px !important; box-shadow: 0 4px 15px rgba(244, 113, 9, 0.3) !important; display: block !important; text-align: center !important; }
body.woocommerce-order-pay #place_order:hover { background-color: var(--gf-hover) !important; transform: translateY(-2px) !important; }

@media (max-width: 767px) {
    
    .order_item .product-name .wc-item-meta{
        padding: 0px !important;
    }
    
  /* Mantém o item do pedido em layout de 2 linhas:
     Linha 1: product-name (100%)
     Linha 2: qty + subtotal (lado a lado)
  */

  .woocommerce-order-pay tr.order_item {
    display: block !important;
  }

  .woocommerce-order-pay tr.order_item > td.product-name {
    display: block !important;
    width: 100% !important;
  }

  .woocommerce-order-pay tr.order_item > td.product-quantity,
  .woocommerce-order-pay tr.order_item > td.product-subtotal {
    display: inline-block !important;
    width: auto !important;
    vertical-align: top !important;
    margin: 0 !important;
  }

  .woocommerce-order-pay tr.order_item > td.product-quantity {
    padding: 8px 10px 0 0 !important;
    white-space: nowrap !important;
    text-align: left !important;
  }

  .woocommerce-order-pay tr.order_item > td.product-subtotal {
    padding: 8px 0 0 0 !important;
    float: right !important;
    white-space: nowrap !important;
    text-align: right !important;
  }
  
  /* ===== FOOTER (Subtotal / Total) ===== */

  .woocommerce-order-pay #order_review table.shop_table tfoot tr {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 8px !important;
  }

  .woocommerce-order-pay #order_review table.shop_table tfoot th {
    width: auto !important;
    flex: 1 1 auto !important;
    padding-right: 10px !important;
    text-align: left !important;
  }

  .woocommerce-order-pay #order_review table.shop_table tfoot td.product-total {
    width: auto !important;
    flex: 0 0 auto !important;
    text-align: right !important;
    white-space: nowrap !important;
  }
  
  html body.woocommerce-order-pay div#payment {
    padding: 20px !important;
  }
}

/*FINAL DA PAGINA DE PAY-ORDER */

/* =========================================
   12. PÁGINA DO CARRINHO (DESIGN PREMIUM V5)
   ========================================= */

/* 1. Limpeza Radical de Bordas (Zera tudo marcado em vermelho) */
.woocommerce-cart .elementor-widget-woocommerce-cart,
.woocommerce-cart .e-cart__container,
.woocommerce-cart .e-cart__column,
.woocommerce-cart .e-cart__content,
.woocommerce-cart .shop_table,
.woocommerce-cart .shop_table td,
.woocommerce-cart .shop_table tr,
.woocommerce-cart .cart-collaterals,
.woocommerce-cart .cart_totals,
.woocommerce-cart .cart_totals table,
.woocommerce-cart .cart_totals table td,
.woocommerce-cart .cart_totals table th {
    border: none !important;
    border-top: none !important;
    border-bottom: none !important;
    box-shadow: none !important;
    border-collapse: separate !important;
}

/* 2. Estilo Card para os Produtos (Match Side Cart / My Account) */
.woocommerce-cart .shop_table thead { display: none !important; }
.woocommerce-cart .shop_table tbody,
.woocommerce-cart .shop_table tr,
.woocommerce-cart .shop_table td { border: none !important; }

.woocommerce-cart .cart_item {
    background: #ffffff !important;
    border-radius: 18px !important;
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.08) !important;
    margin-bottom: 18px !important;
    padding: 18px !important;

    /* transforma o layout em "mini-cart" */
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
}

.woocommerce-cart .cart_item > td {
    padding: 0 !important;
    vertical-align: middle !important;
}


/* Thumbnail Circular com Borda (Igual Foto 1) */
.woocommerce-cart .product-thumbnail img {
    border-radius: 50% !important;
    width: 90px !important;
    height: 90px !important;
    object-fit: cover !important;
    border: 2px solid #fff !important;
    box-shadow: 0 5px 15px rgba(0,0,0,0.08) !important;
}

/* Layout interno (como carrinho lateral) */
.woocommerce-cart td.product-thumbnail { flex: 0 0 92px !important; }
.woocommerce-cart td.product-name { flex: 1 1 auto !important; min-width: 0 !important; }
.woocommerce-cart td.product-name a { color: var(--gf-dark) !important; font-weight: 700 !important; text-decoration: none !important; }

.woocommerce-cart td.product-name {
    line-height: 1.25 !important;
}

.woocommerce-cart td.product-name a {
    font-size: 16px !important;
    letter-spacing: -0.01em !important;
}

.woocommerce-cart td.product-name a:hover { color: var(--gf-primary) !important; }

/* esconde a coluna de preço unitário para ficar mais clean */
.woocommerce-cart td.product-price { display: none !important; }

.woocommerce-cart td.product-quantity { flex: 0 0 auto !important; }
.woocommerce-cart td.product-quantity .quantity input.qty {
    width: 72px !important;
    height: 40px !important;
    border-radius: 12px !important;
    border: 1px solid #e2e8f0 !important;
    background: #f8f9fa !important;
    font-weight: 700 !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
}

.woocommerce-cart td.product-subtotal { flex: 0 0 auto !important; margin-left: 10px !important; font-weight: 800 !important; }

@media (max-width: 768px){
  .woocommerce-cart .cart_item{ flex-wrap: wrap !important; }
  .woocommerce-cart td.product-subtotal{ width: 100% !important; text-align: right !important; }
  .woocommerce-cart td.product-quantity{ margin-left: auto !important; }
}

/* 3. Substituição do "X" pela Lixeira (Igual My Account) */
.woocommerce-cart a.remove {
    color: transparent !important; /* Esconde o "x" original */
    font-size: 0 !important;
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #fff5eb !important; /* Fundo laranja clarinho */
    width: 38px !important;
    height: 38px !important;
    border-radius: 50% !important;
    transition: all 0.3s ease !important;
}

.woocommerce-cart a.remove::before {
    content: "\f182" !important; /* Ícone da Lixeira Dashicons */
    font-family: Dashicons !important;
    color: #F47109 !important; /* Laranja da marca */
    font-size: 18px !important;
    visibility: visible !important;
    position: absolute !important;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

.woocommerce-cart a.remove:hover {
    background: #F47109 !important;
}

.woocommerce-cart a.remove:hover::before {
    color: #ffffff !important;
}

/* 4. Padronização de Botões (Update Cart e Apply Coupon) */
.woocommerce-cart button.button[name="update_cart"],
.woocommerce-cart .coupon button.button {
    background-color: transparent !important;
    color: #F47109 !important;
    border: 2px solid #F47109 !important;
    border-radius: 50px !important;
    padding: 0 30px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    font-size: 13px !important;
    height: 48px !important;
    line-height: 48px !important;
    transition: all 0.3s ease !important;
}

.woocommerce-cart button.button[name="update_cart"]:hover,
.woocommerce-cart .coupon button.button:hover {
    background-color: #F47109 !important;
    color: #ffffff !important;
}

/* 5. Modernização do Campo de Cupom (Estilo Pílula) */
.woocommerce-cart .coupon {
    display: flex !important;
    align-items: center !important;
    gap: 15px !important;
    margin-top: 30px !important;
}

.woocommerce-cart .coupon input#coupon_code {
    border-radius: 50px !important;
    border: 1px solid #e2e8f0 !important;
    background: #f8f9fa !important;
    padding: 0 25px !important;
    height: 48px !important;
    width: 280px !important; /* Campo mais robusto */
    font-size: 14px !important;
    transition: all 0.3s ease !important;
}

.woocommerce-cart .coupon input#coupon_code:focus {
    border-color: #F47109 !important;
    background: #fff !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(244, 113, 9, 0.1) !important;
}

/* 6. Card de Totais (Match com Carrinho Lateral) */
.woocommerce-cart .cart-collaterals .cart_totals {
    background: #ffffff !important;
    border-radius: 24px !important;
    padding: 40px !important;
    box-shadow: 0 20px 50px rgba(0,0,0,0.04) !important;
}

/* 7. Botão PROCEED TO CHECKOUT (O Principal Sólido) */
.woocommerce-cart .checkout-button {
    background: #F47109 !important;
    background: linear-gradient(135deg, #F47109 0%, #e06500 100%) !important;
    color: #ffffff !important;
    border-radius: 50px !important;
    padding: 22px 30px !important;
    font-weight: 800 !important;
    font-size: 16px !important;
    box-shadow: 0 12px 25px rgba(244, 113, 9, 0.3) !important;
    border: none !important;
    transition: all 0.3s ease !important;
}

.woocommerce-cart .checkout-button:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 18px 35px rgba(244, 113, 9, 0.4) !important;
}

/* 8. Ajuste Fino de Preços em Laranja */
.woocommerce-cart .amount {
    color: #F47109 !important;
    font-weight: 800 !important;
}


/* Update cart primeiro */
.woocommerce-cart .shop_table td.actions button[name="update_cart"] {
  order: 1 !important;
  margin: 0 !important;
}

/* Cupom ao lado direito do Update cart */
.woocommerce-cart .shop_table td.actions .coupon {
  order: 2 !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin: 0 !important;
}

/* Mantém o cupom “empurrado” pra direita quando couber */
@media (min-width: 769px){
  .woocommerce-cart .shop_table td.actions .coupon {
    margin-left: auto !important;
  }
}

/* No mobile, quebra bonito */
@media (max-width: 768px){
  .woocommerce-cart .shop_table td.actions {
    flex-direction: column !important;
    align-items: stretch !important;
  }
  .woocommerce-cart .shop_table td.actions .coupon {
    margin-left: 0 !important;
    width: 100% !important;
  }
  .woocommerce-cart .shop_table td.actions button[name="update_cart"] {
    width: 100% !important;
  }
}


/* --- CSS NOVO PARA BOTÕES DE PEDIDO --- */
.gf-order-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end; /* Alinha botões à direita */
    gap: 10px; /* Espaço entre a lixeira e o botão de pagar */
    margin-top: 15px;
}

/* Botão Pagar (Sólido Laranja) */
.gf-btn-pay {
    background-color: var(--gf-primary) !important;
    color: #fff !important;
    padding: 10px 24px !important;
    border-radius: 50px !important; /* Formato Pílula */
    font-weight: 700 !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    font-size: 13px !important;
    display: inline-flex !important;
    align-items: center;
    border: 1px solid var(--gf-primary) !important;
    transition: all 0.2s ease-in-out !important;
    box-shadow: 0 4px 10px rgba(244, 113, 9, 0.2) !important;
}

.gf-btn-pay:hover {
    background-color: var(--gf-hover) !important;
    border-color: var(--gf-hover) !important;
    transform: translateY(-2px);
    color: #fff !important;
}

/* Botão Excluir (Outline Laranja - Pílula Quadrada) */
.gf-delete-draft-btn {
    background-color: #fff !important;
    border: 1px solid #ffccbc !important; /* Laranja bem claro na borda */
    color: var(--gf-primary) !important; /* Ícone Laranja */
    border-radius: 50px !important; /* Círculo/Pílula */
    width: 40px !important;
    height: 40px !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    cursor: pointer !important;
    padding: 0 !important;
    transition: all 0.2s ease !important;
}

.gf-delete-draft-btn:hover {
    background-color: #fff5eb !important; /* Fundo laranja clarinho ao passar o mouse */
    border-color: var(--gf-primary) !important;
    transform: scale(1.05);
}

.gf-delete-draft-btn .dashicons {
    font-size: 20px !important;
    width: 20px !important;
    height: 20px !important;
    color: var(--gf-primary) !important; /* Garante que o ícone é laranja */
}

/* 2. Estilo Card para os Produtos (Premium Match Side Cart / My Account) */
.woocommerce-cart .shop_table thead { display: none !important; }
.woocommerce-cart .shop_table tbody,
.woocommerce-cart .shop_table tr,
.woocommerce-cart .shop_table td { border: none !important; }

.woocommerce-cart .cart_item {
    background: #ffffff !important;
    border-radius: 18px !important;
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.08) !important;
    margin-bottom: 18px !important;
    padding: 18px !important;
    position: relative !important;

    display: flex !important;
    align-items: flex-start !important;
    gap: 14px !important;

    transition: transform .18s ease, box-shadow .18s ease !important;
}

.woocommerce-cart .cart_item:hover {
    transform: translateY(-1px) !important;
    box-shadow: 0 22px 55px rgba(15, 23, 42, 0.10) !important;
}

.woocommerce-cart .cart_item > td {
    padding: 0 !important;
    vertical-align: top !important;
}

.woocommerce-cart td.product-remove a.remove {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 34px !important;
    height: 34px !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    color: var(--gf-primary) !important;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.10) !important;
    transition: all .2s ease !important;
}

.woocommerce-cart td.product-remove a.remove:hover {
    background: var(--gf-primary) !important;
    color: #ffffff !important;
    transform: scale(1.05) !important;
}

/* THUMB */
.woocommerce-cart td.product-thumbnail { flex: 0 0 92px !important; }

.woocommerce-cart .product-thumbnail img {
    border-radius: 50% !important;
    width: 90px !important;
    height: 90px !important;
    object-fit: cover !important;
    border: 2px solid #fff !important;
    box-shadow: 0 5px 15px rgba(0,0,0,0.08) !important;
}

/* BLOCO CENTRAL: nome, metas, preco */
.woocommerce-cart td.product-name {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    line-height: 1.25 !important;
    padding-right: 52px !important; /* espaço para o botão remover */
}

/* Nome do produto */
.woocommerce-cart td.product-name > a,
.woocommerce-cart td.product-name a {
    color: var(--gf-dark) !important;
    font-weight: 750 !important;
    font-size: 16px !important;
    letter-spacing: -0.01em !important;
    text-decoration: none !important;
}

.woocommerce-cart td.product-name a:hover {
    color: var(--gf-primary) !important;
}

/* Metas do produto em box cinza (Quantity, Size, Color etc.) */
.woocommerce-cart td.product-name dl.variation {
    margin: 10px 0 0 0 !important;
    padding: 10px 12px !important;
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;

    display: grid !important;
    grid-template-columns: auto 1fr !important;
    gap: 6px 10px !important;

    font-size: 13px !important;
    line-height: 1.25 !important;
}

.woocommerce-cart td.product-name dl.variation dt {
    margin: 0 !important;
    font-weight: 700 !important;
    color: rgba(15, 23, 42, 0.75) !important;
}

.woocommerce-cart td.product-name dl.variation dd {
    margin: 0 !important;
    color: rgba(15, 23, 42, 0.90) !important;
}

/* Links dentro das variações (ex: View File) */
.woocommerce-cart td.product-name dl.variation a {
    font-weight: 700 !important;
    color: var(--gf-primary) !important;
}

/* esconder preço unitário */
.woocommerce-cart td.product-price { display: none !important; }

/* Preço subtotal vai ficar abaixo do bloco de nome, tipo mini-cart */
.woocommerce-cart td.product-subtotal {
    display: none !important; /* some da coluna antiga */
}

/* Cria linha de preco dentro do product-name */
.woocommerce-cart td.product-name .wc-premium-price-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    margin-top: 12px !important;
}

.woocommerce-cart td.product-name .wc-premium-subtotal {
    font-weight: 800 !important;
    color: var(--gf-primary) !important;
    white-space: nowrap !important;
    font-size: 15px !important;
}

/* QUANTITY coluna vira compacta e alinha com a linha do preco */
.woocommerce-cart td.product-quantity {
    flex: 0 0 auto !important;
    margin-top: 2px !important;
}

.woocommerce-cart td.product-quantity .quantity input.qty {
    width: 72px !important;
    height: 40px !important;
    border-radius: 12px !important;
    border: 1px solid #e2e8f0 !important;
    background: #f8f9fa !important;
    font-weight: 700 !important;
}

/* RESPONSIVO */
@media (max-width: 768px) {
  .woocommerce-cart .cart_item {
    flex-wrap: wrap !important;
    align-items: flex-start !important;
  }

  .woocommerce-cart td.product-name {
    width: calc(100% - 106px) !important;
  }

  .woocommerce-cart td.product-quantity {
    margin-left: 106px !important;
    margin-top: 12px !important;
  }
}



/* =========================================
   CHECKBOXES DA PÁGINA DE PAGAMENTO
   ========================================= */

/* Estilo da Caixinha */
body.woocommerce-order-pay input[type="checkbox"] {
    appearance: none !important;
    -webkit-appearance: none !important;
    width: 22px !important;
    height: 22px !important;
    border: 1px solid var(--gf-primary) !important; /* Borda Laranja */
    border-radius: 6px !important; /* Cantos arredondados */
    background-color: #fff !important;
    cursor: pointer !important;
    position: relative !important;
    display: inline-block !important;
    vertical-align: middle !important;
    margin-right: 10px !important;
    flex-shrink: 0 !important; /* Evita que amasse */
    outline: none !important;
}

/* Quando selecionado (Fundo Laranja Claro) */
body.woocommerce-order-pay input[type="checkbox"]:checked {
    background-color: #fff5eb !important; 
    border-color: var(--gf-primary) !important;
}

/* O "Check" (Vzinho) */
body.woocommerce-order-pay input[type="checkbox"]:checked::after {
    content: '✔' !important;
    font-size: 14px !important;
    color: var(--gf-primary) !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    font-weight: 800 !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
}

/* Alinhamento do Texto com o Checkbox */
body.woocommerce-order-pay label.woocommerce-form__label-for-checkbox,
body.woocommerce-order-pay .mailchimp-newsletter label {
    display: flex !important;
    align-items: center !important;
    font-size: 14px !important;
    color: #555 !important;
    line-height: 1.5 !important;
    cursor: pointer !important;
}


/* Make the coupon row sit on the same line as Update Cart (Elementor Cart) */
.woocommerce-cart .elementor-widget-woocommerce-cart .e-shop-table.e-cart-section{
  position: relative !important;
}

/* The update cart button lives in the table footer (.actions). Make it a flex row */
.woocommerce-cart .elementor-widget-woocommerce-cart .shop_table td.actions,
.woocommerce-cart .elementor-widget-woocommerce-cart .shop_table .actions{
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
}

/* Ensure update cart stays on the left */
.woocommerce-cart .elementor-widget-woocommerce-cart button[name="update_cart"]{
  margin: 0 !important;
}



/* Keep the coupon input "pill" and button aligned */
.woocommerce-cart .elementor-widget-woocommerce-cart #coupon_code{
  height: 48px !important;
  border-radius: 50px !important;
}

/* On small screens, do NOT pull up; stack normally */
@media (max-width: 768px){
  .woocommerce-cart .elementor-widget-woocommerce-cart .coupon.e-cart-section.shop_table{
    margin-top: 0px !important;
    justify-content: stretch !important;
    padding-bottom: 20px !important;
  }
    }


/* Input + botão sempre alinhados */


/* ===== CUPOM WRAPPER ===== */
.woocommerce-cart .coupon.e-cart-section.shop_table{
  display: block !important;
  margin-top: 28px !important;
}

/* ===== LINHA ===== */
.woocommerce-cart .coupon.e-cart-section.shop_table .form-row{
  display: flex;
  gap: 14px;
  align-items: center;
  flex-wrap: wrap;
  padding: 20px !important;
}

/* ===== INPUT ===== */
.woocommerce-cart .coupon input.input-text{
  height: 48px !important;
  padding: 0 18px !important;
  border-radius: 30px !important;
  border: 1px solid #e5e7eb !important;
  background: #f3f4f6 !important;
  font-size: 14px;
  min-width: 260px;
  transition: all .25s ease;
}

.woocommerce-cart .coupon input.input-text:focus{
  outline: none;
  border-color: #ff6a00 !important;
  background: #ffffff !important;
  box-shadow: 0 0 0 3px rgba(255,106,0,.15);
}

/* ===== BOTÃO IGUAL AO CHECKOUT ===== */
.woocommerce-cart .coupon button.button{
  height: 52px !important;
  padding: 0 34px !important;
  border-radius: 999px !important;
  border: none !important;
  background: linear-gradient(135deg,#ff7a00 0%,#e65c00 100%) !important;
  color: #ffffff !important;
  font-weight: 600;
  letter-spacing: .3px;
  box-shadow: 0 10px 24px rgba(230,92,0,.28);
  transition: all .25s ease;
}

/* hover premium */
.woocommerce-cart .coupon button.button:hover{
  transform: translateY(-2px);
  box-shadow: 0 16px 34px rgba(230,92,0,.35);
  filter: brightness(1.03);
}

/* active */
.woocommerce-cart .coupon button.button:active{
  transform: translateY(0);
  box-shadow: 0 6px 14px rgba(230,92,0,.25);
}

/* ===== RESPONSIVO ===== */
@media (max-width: 768px){

  .woocommerce-cart .coupon.e-cart-section.shop_table .form-row{
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    padding: 0px !important;
  }

  .woocommerce-cart .coupon input.input-text{
    width: 100% !important;
    min-width: unset;
  }

  .woocommerce-cart .coupon button.button{
    width: 100% !important;
  }
}

/* =========================================================
   WC CART — ABSURDO PREMIUM INTERACTIONS
   (não remove nada existente — apenas melhora)
   ========================================================= */

/* 🔹 Ajuste fino do espaçamento */
.woocommerce-cart .coupon.e-cart-section.shop_table .form-row{
  gap: 10px !important;
}

/* =========================================================
   BOTÃO APPLY COUPON — SUPER PREMIUM
   ========================================================= */

.woocommerce-cart .coupon button.button{
  position: relative;
  overflow: hidden;
  will-change: transform, box-shadow;
}

/* ✨ glow animado */
.woocommerce-cart .coupon button.button::after{
  content: "";
  position: absolute;
  inset: -2px;
  border-radius: inherit;
  opacity: 0;
  background: radial-gradient(
    circle at center,
    rgba(255,122,0,.45) 0%,
    rgba(255,122,0,0) 70%
  );
  transition: opacity .35s ease;
  pointer-events: none;
}

.woocommerce-cart .coupon button.button:hover::after{
  opacity: 1;
}

/* =========================================================
   🌊 RIPPLE EFFECT (Apple feel)
   ========================================================= */

.woocommerce-cart .coupon button.button .wc-ripple{
  position: absolute;
  border-radius: 50%;
  transform: scale(0);
  animation: wcRipple .6s ease-out;
  background: rgba(255,255,255,.45);
  pointer-events: none;
}

@keyframes wcRipple{
  to{
    transform: scale(4);
    opacity: 0;
  }
}

/* =========================================================
   ⏳ LOADING STATE
   ========================================================= */

.woocommerce-cart .coupon button.button.loading{
  pointer-events: none;
  color: transparent !important;
}

/* spinner */
.woocommerce-cart .coupon button.button.loading::before{
  content: "";
  position: absolute;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 2px solid rgba(255,255,255,.35);
  border-top-color: #fff;
  animation: wcSpin .7s linear infinite;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

@keyframes wcSpin{
  to{ transform: translate(-50%, -50%) rotate(360deg); }
}

/* =========================================================
   ✨ INPUT MICRO-INTERACTION
   ========================================================= */

.woocommerce-cart .coupon input.input-text{
  transition:
    border-color .25s ease,
    box-shadow .25s ease,
    background .25s ease,
    transform .12s ease;
}

.woocommerce-cart .coupon input.input-text:focus{
  transform: translateY(-1px);
}


/* =========================================
   CUPOM — FIX ELEMENTOR CART (DEFINITIVO)
========================================= */

/* container do cupom */
.elementor-widget-woocommerce-cart .coupon.e-cart-section.shop_table {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
  margin-top: -30px !important;
  margin-left: -10px !important;
}

/* campo do cupom */
.elementor-widget-woocommerce-cart .coupon.e-cart-section input.input-text {
  flex: 0 0 320px !important;
  height: 52px !important;
  border-radius: 999px !important;
  padding: 0 20px !important;
  border: 1px solid #e2e2e2 !important;
  background: #f5f6f7 !important;
}

/* botão APPLY COUPON — estilo checkout */
.elementor-widget-woocommerce-cart .coupon.e-cart-section button.button {
  height: 52px !important;
  padding: 0 32px !important;
  border-radius: 999px !important;
  border: none !important;

  background: linear-gradient(135deg, #ff7a00, #ff5a00) !important;
  color: #fff !important;
  font-weight: 600 !important;
  letter-spacing: 0.3px;

  box-shadow: 0 10px 24px rgba(255, 122, 0, 0.25);
  transition: all .25s ease;
  position: relative;
  overflow: hidden;
}

/* hover premium */
.elementor-widget-woocommerce-cart .coupon.e-cart-section button.button:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 40px rgba(255, 122, 0, 0.35);
}

/* ripple micro-interaction */
.elementor-widget-woocommerce-cart .coupon.e-cart-section button.button::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: radial-gradient(circle, rgba(255,255,255,0.35) 10%, transparent 10%);
  background-position: center;
  background-size: 0;
  transition: background-size .4s ease;
}

.elementor-widget-woocommerce-cart .coupon.e-cart-section button.button:active::after {
  background-size: 220%;
  transition: 0s;
}



/* ==== APPLE MODE INJECTED ==== */


/* =========================
   APPLE MODE — ULTRA CLEAN
   ========================= */

/* Buttons premium */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.elementor-widget-woocommerce-cart .button {
    border-radius: 999px;
    font-weight: 600;
    letter-spacing: 0.2px;
    transition: all .25s ease;
    backdrop-filter: blur(6px);
}

/* Primary orange buttons */
.woocommerce a.checkout-button,
.elementor-widget-woocommerce-cart .checkout-button,
.woocommerce button[name="apply_coupon"] {
    background: linear-gradient(135deg,#ff7a00,#ff5a00);
    border: none;
    box-shadow: 0 10px 25px rgba(255,106,0,.25);
}

.woocommerce a.checkout-button:hover,
.elementor-widget-woocommerce-cart .checkout-button:hover,
.woocommerce button[name="apply_coupon"]:hover {
    transform: translateY(-1px) scale(1.02);
    box-shadow: 0 18px 40px rgba(255,106,0,.35);
}

/* Ripple effect */
.woocommerce button.button,
.elementor-widget-woocommerce-cart .button {
    position: relative;
    overflow: hidden;
}

.woocommerce button.button::after,
.elementor-widget-woocommerce-cart .button::after {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle,rgba(255,255,255,.35) 10%,transparent 10%);
    transform: scale(0);
    opacity: 0;
    transition: transform .4s ease, opacity .6s ease;
}

.woocommerce button.button:active::after,
.elementor-widget-woocommerce-cart .button:active::after {
    transform: scale(4);
    opacity: 1;
    transition: 0s;
}

/* Coupon field Apple style */
.woocommerce-cart .coupon input.input-text,
.elementor-widget-woocommerce-cart input[name="coupon_code"] {
    border-radius: 999px;
    border: 1px solid rgba(0,0,0,.08);
    padding: 14px 20px;
    background: #f6f7f9;
    transition: all .25s ease;
}

.woocommerce-cart .coupon input.input-text:focus,
.elementor-widget-woocommerce-cart input[name="coupon_code"]:focus {
    background: #fff;
    border-color: #ff6a00;
    box-shadow: 0 0 0 4px rgba(255,106,0,.12);
    outline: none;
}

/* =========================
   RESPONSIVE — MOBILE FIRST
   ========================= */

@media (max-width: 768px) {

    /* Cart layout stack */
    .woocommerce-cart .cart,
    .elementor-widget-woocommerce-cart .woocommerce-cart-form {
        width: 100%;
        overflow-x: auto;
    }

    /* Coupon area */
    .woocommerce-cart .coupon,
    .elementor-widget-woocommerce-cart .coupon {
        display: flex;
        flex-direction: column;
        gap: 12px;
        width: 100%;
    }

    .woocommerce-cart .coupon input.input-text,
    .elementor-widget-woocommerce-cart input[name="coupon_code"] {
        width: 100% !important;
    }

    .woocommerce-cart .coupon .button,
    .elementor-widget-woocommerce-cart button[name="apply_coupon"] {
        width: 100%;
        text-align: center;
    }

    /* Checkout button mobile */
    .woocommerce a.checkout-button,
    .elementor-widget-woocommerce-cart .checkout-button {
        width: 100%;
        display: block;
        text-align: center;
    }
}

/* Extra small devices */
@media (max-width: 480px) {
    .woocommerce-cart table.cart td,
    .woocommerce-cart table.cart th {
        padding: 10px 6px;
        font-size: 14px;
    }
}



/* =========================================================
   Apple Mode — Order Received / Thank You
   Scope: WooCommerce "order-received" endpoint
   ========================================================= */
.woocommerce-order-received .woocommerce,
.woocommerce-order-received .woocommerce-order {
    max-width: 1040px;
    margin-left: auto !important;
    margin-right: auto !important;
    border: none !important;
    box-shadow: none !important;
}

.woocommerce-order-received .woocommerce-order {
    padding: 28px 22px !important;
}

/* Page title + intro */
.woocommerce-order-received .woocommerce-order > p,
.woocommerce-order-received .woocommerce-notice,
.woocommerce-order-received .woocommerce-thankyou-order-received {
    margin: 10px 0 18px !important;
    font-size: 15px !important;
    color: rgba(13, 20, 35, 0.72) !important;
}

/* Section headings */
.woocommerce-order-received .woocommerce-order h2,
.woocommerce-order-received .woocommerce-order h3,
.woocommerce-order-received .woocommerce-order-details__title,
.woocommerce-order-received .woocommerce-column__title {
    margin: 22px 0 14px !important;
    font-weight: 800 !important;
    letter-spacing: -0.02em !important;
    color: #0d1423 !important;
}

/* ========================================
   ORDER OVERVIEW — layout final (Woo real)
   Linha 1: Order | Payment | Date | Total
   Linha 2: Email (full)
======================================== */

.woocommerce-order-received ul.woocommerce-order-overview {
  list-style: none !important;
  margin: 18px 0 24px !important;
  padding: 18px 18px !important;

  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  grid-template-areas:
    "order payment date total"
    "email email email email" !important;

  gap: 14px 18px !important;
  align-items: stretch !important;

  background: #ffffff !important;
  border-radius: 22px !important;
  box-shadow: 0 14px 40px rgba(13, 20, 35, 0.08) !important;
  border: 1px solid rgba(13, 20, 35, 0.06) !important;
}

/* Cards */
.woocommerce-order-received ul.woocommerce-order-overview li {
  margin-left: 0 !important;
  padding: 10px 12px !important;
  border-radius: 16px !important;
  background: rgba(13, 20, 35, 0.03) !important;
  border: 1px solid rgba(13, 20, 35, 0.06) !important;

  min-width: 0 !important;
  box-sizing: border-box !important;
  overflow: hidden !important;

  color: rgba(13, 20, 35, 0.72) !important;
  font-size: 12px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  line-height: 1.2 !important;
}

/* Valor (strong) */
.woocommerce-order-received ul.woocommerce-order-overview li strong {
  display: block !important;
  margin-top: 6px !important;
  font-size: 15px !important;
  text-transform: none !important;
  letter-spacing: -0.01em !important;
  color: #0d1423 !important;
  font-weight: 800 !important;

  word-break: break-word !important;
  overflow-wrap: anywhere !important;
  white-space: normal !important;
}

/* Posições (classes reais do Woo) */
.woocommerce-order-received ul.woocommerce-order-overview li.woocommerce-order-overview__order  { grid-area: order !important; }
.woocommerce-order-received ul.woocommerce-order-overview li.woocommerce-order-overview__payment-method { grid-area: payment !important; }
.woocommerce-order-received ul.woocommerce-order-overview li.woocommerce-order-overview__date   { grid-area: date !important; }
.woocommerce-order-received ul.woocommerce-order-overview li.woocommerce-order-overview__total  { grid-area: total !important; }
.woocommerce-order-received ul.woocommerce-order-overview li.woocommerce-order-overview__email  { grid-area: email !important; }

/* Remove item vazio (se existir) */
.woocommerce-order-received ul.woocommerce-order-overview li:empty { display: none !important; }

/* ===== MOBILE — força 1 item por linha (sem grid/flex) ===== */
@media (max-width: 768px) {

  .woocommerce-order-received
  ul.woocommerce-order-overview.woocommerce-thankyou-order-details.order_details {
    display: block !important;
  }

  .woocommerce-order-received
  ul.woocommerce-order-overview.woocommerce-thankyou-order-details.order_details > li {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 12px 0 !important;
    clear: both !important;
  }

  /* remove margem extra no último */
  .woocommerce-order-received
  ul.woocommerce-order-overview.woocommerce-thankyou-order-details.order_details > li:last-child {
    margin-bottom: 0 !important;
  }

}



/* Order details table card */
.woocommerce-order-received .woocommerce-order-details,
.woocommerce-order-received .woocommerce-customer-details {
    margin-top: 18px !important;
}

.woocommerce-order-received .woocommerce-order-details table.shop_table {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    background: #ffffff !important;
    border-radius: 22px !important;
    overflow: hidden !important;
    box-shadow: 0 14px 40px rgba(13, 20, 35, 0.08) !important;
    border: 1px solid rgba(13, 20, 35, 0.06) !important;
}

.woocommerce-order-received .woocommerce-order-details table.shop_table th,
.woocommerce-order-received .woocommerce-order-details table.shop_table td {
    padding: 16px 18px !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(13, 20, 35, 0.06) !important;
    vertical-align: top !important;
    color: #0d1423 !important;
}

.woocommerce-order-received .woocommerce-order-details table.shop_table thead th {
    background: rgba(13, 20, 35, 0.03) !important;
    font-weight: 800 !important;
    letter-spacing: -0.01em !important;
}

.woocommerce-order-received .woocommerce-order-details table.shop_table tr:last-child th,
.woocommerce-order-received .woocommerce-order-details table.shop_table tr:last-child td {
    border-bottom: 0 !important;
}

/* Product cell typography */
.woocommerce-order-received .woocommerce-order-details table.shop_table td a {
    color: #0d1423 !important;
    text-decoration: none !important;
}

.woocommerce-order-received .woocommerce-order-details table.shop_table td a:hover {
    text-decoration: underline !important;
    text-decoration-thickness: 2px !important;
    text-underline-offset: 3px !important;
}

/* Total column alignment */
.woocommerce-order-received .woocommerce-order-details table.shop_table td:last-child,
.woocommerce-order-received .woocommerce-order-details table.shop_table th:last-child {
    text-align: right !important;
    white-space: nowrap !important;
}

/* Customer details / address card */
.woocommerce-order-received .woocommerce-customer-details address {
    background: #ffffff !important;
    border-radius: 22px !important;
    padding: 18px 18px !important;
    box-shadow: 0 14px 40px rgba(13, 20, 35, 0.08) !important;
    border: 1px solid rgba(13, 20, 35, 0.06) !important;
    line-height: 1.55 !important;
    color: rgba(13, 20, 35, 0.78) !important;
}

.woocommerce-order-received .woocommerce-customer-details address a {
    color: #0d1423 !important;
    text-decoration: underline !important;
    text-decoration-thickness: 2px !important;
    text-underline-offset: 3px !important;
}

/* Buttons on thank you page (if present) */
.woocommerce-order-received .woocommerce a.button,
.woocommerce-order-received .woocommerce button.button,
.woocommerce-order-received .woocommerce input.button {
    background: linear-gradient(135deg, #F47109 0%, #e06500 100%) !important;
    color: #ffffff !important;
    border-radius: 50px !important;
    padding: 14px 22px !important;
    font-weight: 800 !important;
    border: 0 !important;
    box-shadow: 0 10px 26px rgba(244, 113, 9, 0.22) !important;
    transition: transform 160ms ease, box-shadow 160ms ease, filter 160ms ease !important;
}

.woocommerce-order-received .woocommerce a.button:hover,
.woocommerce-order-received .woocommerce button.button:hover,
.woocommerce-order-received .woocommerce input.button:hover {
    transform: translateY(-1px) !important;
    box-shadow: 0 14px 34px rgba(244, 113, 9, 0.26) !important;
    filter: saturate(1.05) !important;
}

/* Mobile */
@media (max-width: 767px) {
    .woocommerce-order-received .woocommerce-order {
        padding: 22px 14px !important;
    }

    .woocommerce-order-received ul.woocommerce-order-overview {
        padding: 14px !important;
        gap: 10px !important;
    }

    .woocommerce-order-received ul.woocommerce-order-overview li {
        min-width: 100% !important;
        flex-basis: 100% !important;
    }

    .woocommerce-order-received .woocommerce-order-details table.shop_table th,
    .woocommerce-order-received .woocommerce-order-details table.shop_table td {
        padding: 14px 14px !important;
    }

    /* Let totals breathe on small screens */
    .woocommerce-order-received .woocommerce-order-details table.shop_table td:last-child,
    .woocommerce-order-received .woocommerce-order-details table.shop_table th:last-child {
        white-space: normal !important;
    }
}

/* ================================
   ORDER RECEIVED — CENTRALIZAÇÃO
   ================================ */

.woocommerce-order {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 20px;
}

/* Container dos cards superiores */
.woocommerce-order .woocommerce-order-overview {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
    align-items: stretch;
}

/* Card individual */
.woocommerce-order .woocommerce-order-overview li {
    width: 100%;
}

/* Payment method full width */
.woocommerce-order .woocommerce-order-overview .woocommerce-order-overview__payment-method {
    grid-column: 1 / -1;
}

/* Centralizar bloco geral */
.woocommerce-order {
    text-align: left;
}


/* ================================
   MOBILE — ORDER RECEIVED
   ================================ */

@media (max-width: 768px) {

    .woocommerce-order .woocommerce-order-overview {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .woocommerce-order {
        padding: 0 16px;
    }

}

/* =========================================
   ORDER RECEIVED - APPLE MODE (ULTRA CLEAN)
   ========================================= */

/* Tokens visuais */
:root{
  --apple-bg: #ffffff;
  --apple-surface: rgba(255,255,255,.72);
  --apple-stroke: rgba(10, 25, 55, .08);
  --apple-stroke-strong: rgba(10, 25, 55, .12);
  --apple-shadow: 0 18px 50px rgba(10,25,55,.10);
  --apple-shadow-soft: 0 10px 30px rgba(10,25,55,.08);
  --apple-shadow-hover: 0 24px 70px rgba(10,25,55,.14);
  --apple-text: #0b1220;
  --apple-muted: rgba(11,18,32,.65);
  --apple-radius: 18px;
  --apple-radius-sm: 14px;
  --apple-ease: cubic-bezier(.2,.8,.2,1);
}

/* Background geral da área */
.woocommerce-order{
  color: var(--apple-text);
}

/* Título e texto do topo */
.woocommerce-order h2,
.woocommerce-order h3{
  letter-spacing: -0.02em;
}

.woocommerce-order .woocommerce-thankyou-order-received{
  font-size: clamp(18px, 2.2vw, 22px);
  font-weight: 650;
  letter-spacing: -0.02em;
  margin: 10px 0 18px;
}

.woocommerce-order p{
  color: var(--apple-muted);
}

/* Grid dos cards do overview */
.woocommerce-order .woocommerce-order-overview{
  margin: 0;
  padding: 18px;
  border-radius: calc(var(--apple-radius) + 6px);
  background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.72));
  border: 1px solid var(--apple-stroke);
  box-shadow: var(--apple-shadow-soft);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

/* Cada card */
.woocommerce-order .woocommerce-order-overview li{
  list-style: none;
  margin: 0;
  padding: 18px 18px 16px;
  border-radius: var(--apple-radius-sm);
  background: rgba(255,255,255,.70);
  border: 1px solid var(--apple-stroke);
  box-shadow: 0 8px 24px rgba(10,25,55,.06);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  transform: translateZ(0);
  transition: transform .35s var(--apple-ease), box-shadow .35s var(--apple-ease), border-color .35s var(--apple-ease);
  position: relative;
  overflow: hidden;
}

/* Shine sutil no hover */
.woocommerce-order .woocommerce-order-overview li::before{
  content: "";
  position: absolute;
  inset: -40%;
  background: radial-gradient(circle at 30% 30%, rgba(255,255,255,.65), rgba(255,255,255,0) 55%);
  opacity: .0;
  transition: opacity .35s var(--apple-ease);
  pointer-events: none;
}

.woocommerce-order .woocommerce-order-overview li:hover{
  transform: translateY(-2px);
  box-shadow: var(--apple-shadow);
  border-color: var(--apple-stroke-strong);
}

.woocommerce-order .woocommerce-order-overview li:hover::before{
  opacity: .75;
}

/* Label dos cards (ORDER NUMBER, DATE...) */
.woocommerce-order .woocommerce-order-overview li strong{
  display: block;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(11,18,32,.55);
  margin-bottom: 8px;
}

/* Valor dos cards */
.woocommerce-order .woocommerce-order-overview li{
  font-size: 16px;
  font-weight: 600;
  color: var(--apple-text);
  line-height: 1.25;
  word-break: break-word;
}

/* Payment method full width: mais elegante */
.woocommerce-order .woocommerce-order-overview .woocommerce-order-overview__payment-method{
  padding: 16px 18px;
  background: rgba(255,255,255,.78);
}

/* Sessões: Order details e Billing */
.woocommerce-order .woocommerce-order-details,
.woocommerce-order .woocommerce-customer-details{
  margin-top: 18px;
  padding: 18px;
  border-radius: calc(var(--apple-radius) + 6px);
  background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.72));
  border: 1px solid var(--apple-stroke);
  box-shadow: var(--apple-shadow-soft);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

/* Títulos das seções */
.woocommerce-order .woocommerce-order-details__title,
.woocommerce-order .woocommerce-column__title{
  font-size: 22px;
  font-weight: 750;
  letter-spacing: -0.02em;
  margin: 6px 0 14px;
}

/* Tabela de detalhes do pedido */
.woocommerce-order table.shop_table{
  border: 0 !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  overflow: hidden;
  border-radius: var(--apple-radius);
  background: rgba(255,255,255,.70);
  border: 1px solid var(--apple-stroke) !important;
  box-shadow: 0 10px 30px rgba(10,25,55,.06);
}

.woocommerce-order table.shop_table thead th{
  background: rgba(11,18,32,.03);
  color: rgba(11,18,32,.70);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  border-bottom: 1px solid var(--apple-stroke) !important;
  padding: 14px 16px !important;
}

.woocommerce-order table.shop_table td,
.woocommerce-order table.shop_table th{
  padding: 14px 16px !important;
  border-top: 1px solid rgba(10,25,55,.06) !important;
}

.woocommerce-order table.shop_table tbody tr:hover{
  background: rgba(255,255,255,.86);
}

/* Links (ex: logo file) */
.woocommerce-order a{
  color: #ff6a00;
  text-decoration: none;
  font-weight: 650;
  transition: opacity .25s var(--apple-ease);
}
.woocommerce-order a:hover{
  opacity: .85;
}

/* Endereço: card clean */
.woocommerce-order .woocommerce-customer-details address{
  border: 1px solid var(--apple-stroke) !important;
  border-radius: var(--apple-radius) !important;
  background: rgba(255,255,255,.70) !important;
  padding: 16px 18px !important;
  box-shadow: 0 10px 30px rgba(10,25,55,.06);
  color: rgba(11,18,32,.82);
}

/* Micro interação de entrada */
.woocommerce-order .woocommerce-order-overview,
.woocommerce-order .woocommerce-order-details,
.woocommerce-order .woocommerce-customer-details{
  animation: appleFadeUp .55s var(--apple-ease) both;
}

@keyframes appleFadeUp{
  from{ opacity: 0; transform: translateY(10px); }
  to{ opacity: 1; transform: translateY(0); }
}

/* Acessibilidade: reduzir movimento */
@media (prefers-reduced-motion: reduce){
  .woocommerce-order *{
    animation: none !important;
    transition: none !important;
  }
}

/* =========================================
   RESPONSIVO MOBILE - APPLE MODE
   ========================================= */

@media (max-width: 768px){

  .woocommerce-order{
    padding: 0 14px;
  }

  .woocommerce-order .woocommerce-order-overview{
    padding: 14px;
    border-radius: 18px;
  }

  .woocommerce-order .woocommerce-order-overview li{
    padding: 14px 14px 12px;
    border-radius: 16px;
  }

  .woocommerce-order .woocommerce-order-details,
  .woocommerce-order .woocommerce-customer-details{
    padding: 14px;
    border-radius: 18px;
  }

  .woocommerce-order table.shop_table thead th{
    font-size: 12px;
    padding: 12px 12px !important;
  }

  .woocommerce-order table.shop_table td,
  .woocommerce-order table.shop_table th{
    padding: 12px 12px !important;
  }
}


/* Fix alinhamento dos cards do ORDER OVERVIEW (topo vs payment method) */
.woocommerce-order .woocommerce-order-overview{
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 14px !important;

  /* remove “respiros” laterais do UL que causam desalinhamento */
  padding: 18px !important;
  margin: 0 auto !important;
  list-style: none !important;
}

/* garante que todos os LI sigam o grid sem empurrar pros lados */
.woocommerce-order .woocommerce-order-overview li{
  margin: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* payment method igualado no grid, alinhado com os cards de cima */
.woocommerce-order .woocommerce-order-overview li.woocommerce-order-overview__payment-method{
  grid-column: 1 / -1 !important;
}

/* Responsivo: empilha */
@media (max-width: 1024px){
  .woocommerce-order .woocommerce-order-overview{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .woocommerce-order .woocommerce-order-overview li.woocommerce-order-overview__payment-method{
    grid-column: 1 / -1 !important;
  }
}

@media (max-width: 560px){
  .woocommerce-order .woocommerce-order-overview{
    grid-template-columns: 1fr !important;
  }
}





/* ================================
   ORDER RECEIVED — GRID FIX PRO
   ================================ */

.woocommerce-order-overview {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 16px !important;
    align-items: stretch !important;
}

/* cards individuais */
.woocommerce-order-overview li {
    width: 100% !important;
    margin: 0 !important;
}

/* garante que não quebre linha errado */
@media (max-width: 1024px) {
    .woocommerce-order-overview {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 640px) {
    .woocommerce-order-overview {
        grid-template-columns: 1fr !important;
    }
}

/* =========================================================
   WCGP — Apple Button System (global buttons + Elementor menu cart)
   Adds: glass + glow hover + ripple + loading state
   ========================================================= */
:root{
  --wcgp-primary:#f47109;
  --wcgp-primary-2:#ff8a2a;
  --wcgp-ink:#0b1220;
  --wcgp-muted:#475569;
  --wcgp-surface:rgba(255,255,255,.72);
  --wcgp-surface-strong:rgba(255,255,255,.86);
  --wcgp-border:rgba(15,23,42,.08);
  --wcgp-shadow:0 18px 55px rgba(2,6,23,.10);
  --wcgp-shadow-soft:0 10px 35px rgba(2,6,23,.08);
  --wcgp-radius:22px;
}

/* Glass surfaces across plugin + Elementor widgets */
:where(.wc-grafica-pro, .wcgp, .woocommerce, .elementor, .elementor-widget-woocommerce-cart, .elementor-menu-cart__main) :where(
  .woocommerce-cart-form,
  .cart_totals,
  .woocommerce-checkout-review-order,
  .woocommerce-checkout-payment,
  .woocommerce-order,
  .woocommerce-order-overview,
  .woocommerce-order-details,
  .woocommerce-customer-details,
  .woocommerce-order-details__title,
  .woocommerce-order-overview__title,
  .shop_table,
  .elementor-menu-cart__products,
  .elementor-menu-cart__subtotal,
  .elementor-menu-cart__footer-buttons,
  .elementor-menu-cart__main
){
  background: var(--wcgp-surface) !important;
  border: 1px solid var(--wcgp-border) !important;
  border-radius: var(--wcgp-radius) !important;
  box-shadow: var(--wcgp-shadow-soft) !important;
  backdrop-filter: blur(18px) saturate(160%) !important;
  -webkit-backdrop-filter: blur(18px) saturate(160%) !important;
}

/* Universal button styling (WooCommerce + Elementor) */
:where(body) :where(
  .woocommerce a.button,
  .woocommerce button.button,
  .woocommerce input.button,
  .woocommerce #respond input#submit,
  .woocommerce .button,
  a.button,
  button.button,
  input.button,
  .elementor-button,
  .elementor-menu-cart__footer-buttons a,
  .elementor-menu-cart__footer-buttons .elementor-button,
  .elementor-menu-cart__footer-buttons .button,
  .elementor-menu-cart__main a,
  .elementor-menu-cart__main .button,
  .single_add_to_cart_button,
  .add_to_cart_button,
  .gf-btn-checkout-side,
  .gf-btn-pay,
  button.gf-buy,
  a.gf-buy,
  .gf-modal-trigger-sidecart,
  .gf-btn-modal,
  .gf-btn-orange,
  .gf-modal-link-home,
  label.gf-btn,
  a.edit,
  .woocommerce-Address a.edit,
  button.delete-draft-btn,
  .delete-draft-btn
){
  position: relative !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 999px !important;
  padding: 14px 22px !important;
  font-weight: 800 !important;
  letter-spacing: .02em !important;
  text-transform: uppercase !important;
  font-size: 13px !important;
  line-height: 1 !important;
  color: #fff !important;
  background: linear-gradient(135deg, var(--wcgp-primary), var(--wcgp-primary-2)) !important;
  box-shadow: 0 12px 30px rgba(244,113,9,.24) !important;
  transform: translateZ(0);
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease !important;
}

/* Hover glow (animated, subtle) */
:where(body) :where(
  .woocommerce a.button,
  .woocommerce button.button,
  .woocommerce input.button,
  .woocommerce #respond input#submit,
  .woocommerce .button,
  .elementor-button,
  .elementor-menu-cart__footer-buttons a,
  .single_add_to_cart_button,
  .add_to_cart_button
):hover{
  transform: translateY(-1px) scale(1.01) !important;
  box-shadow: 0 16px 44px rgba(244,113,9,.32), 0 0 0 1px rgba(255,255,255,.22) inset !important;
  filter: saturate(1.05) !important;
}

/* Apple-like highlight sheen */
:where(body) :where(
  .woocommerce a.button,
  .woocommerce button.button,
  .woocommerce input.button,
  .woocommerce #respond input#submit,
  .woocommerce .button,
  .elementor-button,
  .elementor-menu-cart__footer-buttons a,
  .single_add_to_cart_button,
  .add_to_cart_button
)::before{
  content:"";
  position:absolute;
  inset:-2px;
  background: radial-gradient(120px 60px at 20% 20%, rgba(255,255,255,.45), rgba(255,255,255,0) 60%),
              radial-gradient(140px 70px at 80% 0%, rgba(255,255,255,.30), rgba(255,255,255,0) 55%);
  opacity:.85;
  pointer-events:none;
  mix-blend-mode: overlay;
  transition: opacity .18s ease !important;
}

:where(body) :where(
  .woocommerce a.button,
  .woocommerce button.button,
  .woocommerce input.button,
  .woocommerce #respond input#submit,
  .woocommerce .button,
  .elementor-button,
  .elementor-menu-cart__footer-buttons a,
  .single_add_to_cart_button,
  .add_to_cart_button
):active{
  transform: translateY(0) scale(.99) !important;
  box-shadow: 0 10px 26px rgba(244,113,9,.22) !important;
}

/* Ripple element injected by JS */
.wcgp-ripple{
  position:absolute;
  border-radius:999px;
  transform: scale(0);
  animation: wcgp-ripple .55s ease-out;
  background: rgba(255,255,255,.35);
  pointer-events:none;
}
@keyframes wcgp-ripple{
  to{ transform: scale(3.2); opacity:0; }
}

/* Loading state (JS toggles .is-loading) */
:where(body) :where(.woocommerce .button, .elementor-button, button.button, a.button).is-loading{
  pointer-events:none !important;
  filter: saturate(.9) brightness(.95) !important;
}
:where(body) :where(.woocommerce .button, .elementor-button, button.button, a.button).is-loading::after{
  content:"";
  position:absolute;
  width:16px; height:16px;
  right:16px; top:50%;
  margin-top:-8px;
  border-radius:999px;
  border:2px solid rgba(255,255,255,.55);
  border-top-color: rgba(255,255,255,0);
  animation: wcgp-spin .7s linear infinite;
}
@keyframes wcgp-spin{ to{ transform: rotate(360deg);} }

/* Inputs (coupon / checkout) in the same style family */
:where(body) :where(.woocommerce input[type="text"], .woocommerce input[type="email"], .woocommerce input[type="tel"], .woocommerce input[type="password"], .woocommerce textarea, .woocommerce .input-text){
  border-radius: 18px !important;
  border: 1px solid var(--wcgp-border) !important;
  background: rgba(255,255,255,.78) !important;
  box-shadow: 0 10px 25px rgba(2,6,23,.06) !important;
  backdrop-filter: blur(14px) saturate(150%) !important;
  -webkit-backdrop-filter: blur(14px) saturate(150%) !important;
}

/* Mobile: stack buttons + keep comfortable tap targets */
@media (max-width: 767px){
  :where(body) :where(
    .woocommerce a.button,
    .woocommerce button.button,
    .woocommerce input.button,
    .woocommerce .button,
    .elementor-button,
    .elementor-menu-cart__footer-buttons a,
    .single_add_to_cart_button,
    .add_to_cart_button
  ){
    width:100% !important;
    justify-content:center !important;
    padding: 16px 20px !important;
    font-size: 13px !important;
  }
}

/* =========================================================
   WCGP - "Apple mode" extra polish
   (Pay for order + login + option pills highlight)
   ========================================================= */

/* Opacidade baixa nos botões não selecionados (pills) */
.gf-opts .gf-btn,
.gf-opts label.gf-btn {
  opacity: 0.45;
  transition: opacity .2s, transform .2s, box-shadow .2s, background .2s, border-color .2s, color .2s;
}
.gf-opts .gf-btn:hover,
.gf-opts label.gf-btn:hover {
  opacity: 0.75;
}
.gf-opts input:checked + .gf-btn,
.gf-opts input:checked + label.gf-btn {
  opacity: 1;
}

/* ===== WooCommerce (Order Pay / Login) no mesmo visual ===== */
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-error {
  border-radius: 16px;
  border: 1px solid rgba(17,24,39,.08);
  background: rgba(255,255,255,.7);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  box-shadow: 0 10px 30px rgba(0,0,0,.06);
}

/* Bloco de login que aparece no pay-for-order */
.woocommerce form.woocommerce-form-login,
.woocommerce form.login {
  border-radius: 18px;
  border: 1px solid rgba(17,24,39,.08);
  background: rgba(255,255,255,.78);
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
  box-shadow: 0 18px 50px rgba(0,0,0,.08);
  padding: 22px;
  max-width: 760px;
  margin: 20px auto;
}

.woocommerce form.woocommerce-form-login .form-row,
.woocommerce form.login .form-row {
  margin-bottom: 14px;
}

.woocommerce form.woocommerce-form-login input.input-text,
.woocommerce form.login input.input-text,
.woocommerce form.woocommerce-form-login input[type="text"],
.woocommerce form.woocommerce-form-login input[type="email"],
.woocommerce form.woocommerce-form-login input[type="password"],
.woocommerce form.login input[type="text"],
.woocommerce form.login input[type="email"],
.woocommerce form.login input[type="password"] {
  width: 100%;
  border-radius: 14px;
  border: 1px solid rgba(17,24,39,.10);
  background: rgba(255,255,255,.85);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
  padding: 12px 14px;
  transition: box-shadow .2s, border-color .2s, transform .2s;
}

.woocommerce form.woocommerce-form-login input:focus,
.woocommerce form.login input:focus {
  border-color: rgba(244,113,9,.55);
  box-shadow: 0 0 0 4px rgba(244,113,9,.14), inset 0 1px 0 rgba(255,255,255,.8);
  outline: none;
}

/* Botões Woo: replicar o mesmo efeito do cupom */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce #payment #place_order,
.woocommerce .woocommerce-form-login button,
.woocommerce form.login button,
.woocommerce-order-pay #payment button,
.woocommerce-order-pay a.button {
  position: relative;
  overflow: hidden;
  background: linear-gradient(180deg, rgba(244,113,9,1), rgba(227,92,0,1)) !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.25) !important;
  border-radius: 999px !important;
  padding: 14px 22px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: .02em;
  box-shadow: 0 18px 40px rgba(244,113,9,.22), 0 8px 18px rgba(0,0,0,.10);
  transform: translateZ(0);
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce #payment #place_order:hover,
.woocommerce .woocommerce-form-login button:hover,
.woocommerce form.login button:hover,
.woocommerce-order-pay #payment button:hover,
.woocommerce-order-pay a.button:hover {
  transform: translateY(-1px);
  box-shadow: 0 22px 55px rgba(244,113,9,.28), 0 10px 24px rgba(0,0,0,.12);
  filter: brightness(1.02);
}

/* Glow suave no hover */
.woocommerce a.button::before,
.woocommerce button.button::before,
.woocommerce input.button::before,
.woocommerce #respond input#submit::before,
.woocommerce #payment #place_order::before {
  content: "";
  position: absolute;
  inset: -2px;
  border-radius: inherit;
  background: radial-gradient(120px 80px at 30% 20%, rgba(255,255,255,.35), transparent 60%),
              radial-gradient(160px 120px at 70% 60%, rgba(255,255,255,.18), transparent 65%);
  opacity: 0;
  transition: opacity .18s ease;
  pointer-events: none;
}

.woocommerce a.button:hover::before,
.woocommerce button.button:hover::before,
.woocommerce input.button:hover::before,
.woocommerce #respond input#submit:hover::before,
.woocommerce #payment #place_order:hover::before {
  opacity: 1;
}

/* ===== Layout do Order Pay (tabela não pode flutuar) ===== */
.woocommerce-order-pay .woocommerce {
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
}

.woocommerce-order-pay #order_review,
.woocommerce-order-pay #payment {
  float: none !important;
  width: 100% !important;
  max-width: 760px;
  margin: 0 auto 18px;
}

.woocommerce-order-pay #order_review {
  border-radius: 18px;
  border: 1px solid rgba(17,24,39,.08);
  background: rgba(255,255,255,.78);
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
  box-shadow: 0 18px 50px rgba(0,0,0,.08);
  padding: 14px;
}

.woocommerce-order-pay #order_review table,
.woocommerce-order-pay #order_review .shop_table {
  border: 0 !important;
  background: transparent !important;
}

.woocommerce-order-pay #payment {
  border-radius: 18px;
  border: 1px solid rgba(17,24,39,.08);
  background: rgba(255,255,255,.78);
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
  box-shadow: 0 18px 50px rgba(0,0,0,.08);
  padding: 14px;
}

/* Responsivo do Order Pay: evita sobreposição */
@media (max-width: 768px) {
  .woocommerce form.woocommerce-form-login,
  .woocommerce form.login,
  .woocommerce-order-pay #order_review,
  .woocommerce-order-pay #payment {
    max-width: 94vw;
  }

  .woocommerce-order-pay #order_review table thead {
    display: none;
  }

  .woocommerce-order-pay #order_review table tr,
  .woocommerce-order-pay #order_review table td,
  .woocommerce-order-pay #order_review table th {
    display: block;
    width: 100%;
  }

  .woocommerce-order-pay #order_review table td {
    padding: 10px 10px;
  }
}

/* =========================================================
   CART — QUICK FIXES (Update Cart legível + remove acima do qty + item bg)
   ========================================================= */

/* 1) Update cart: igual ao botão premium (legível sempre) */
.woocommerce-cart .elementor-widget-woocommerce-cart button[name="update_cart"],
.woocommerce-cart button[name="update_cart"].button{
  height: 52px !important;
  padding: 0 34px !important;
  border-radius: 999px !important;
  border: none !important;
  background: linear-gradient(135deg,#ff7a00 0%,#e65c00 100%) !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  letter-spacing: .3px !important;
  text-transform: uppercase !important;
  box-shadow: 0 10px 24px rgba(230,92,0,.28) !important;
  transition: transform .25s ease, box-shadow .25s ease, filter .25s ease !important;
}

.woocommerce-cart .elementor-widget-woocommerce-cart button[name="update_cart"]:hover,
.woocommerce-cart button[name="update_cart"].button:hover{
  transform: translateY(-2px);
  box-shadow: 0 16px 34px rgba(230,92,0,.35) !important;
  filter: brightness(1.03);
}

.woocommerce-cart .elementor-widget-woocommerce-cart button[name="update_cart"]:active,
.woocommerce-cart button[name="update_cart"].button:active{
  transform: translateY(0);
  box-shadow: 0 6px 14px rgba(230,92,0,.25) !important;
}

.woocommerce-cart .elementor-widget-woocommerce-cart button[name="update_cart"][disabled],
.woocommerce-cart button[name="update_cart"].button[disabled]{
  opacity: .45 !important;
  cursor: not-allowed !important;
  transform: none !important;
  box-shadow: 0 6px 14px rgba(230,92,0,.18) !important;
}

/* 2) Remove/Trash acima da quantidade */
.woocommerce-cart .cart_item td.product-remove{
  position: relative !important;
  z-index: 60 !important;
}
.woocommerce-cart .cart_item td.product-quantity{
  position: relative !important;
  z-index: 10 !important;
}
.woocommerce-cart .cart_item a.remove,
.woocommerce-cart .cart_item button.remove,
.woocommerce-cart .cart_item .remove{
  position: relative;
  z-index: 70 !important;
}

/* 3) Item do carrinho com o mesmo "feel" do cupom (vidro clean) */
.woocommerce-cart .cart_item{
  background: rgba(243,244,246,.75) !important;
  border: 1px solid rgba(226,232,240,.95) !important;
  box-shadow: 0 18px 44px rgba(2, 6, 23, .08) !important;
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
}

/* Hard reset background carrinho */
.elementor-widget-woocommerce-cart .e-cart-section {
  background: none !important;
  background-color: transparent !important;
  box-shadow: none;
  padding: 0px !important;
}

/* Desktop */
.elementor-widget-woocommerce-cart .e-cart-section.e-shop-table {
  padding: 24px 28px !important;
}

/* Mobile */
@media (max-width: 767px) {
  .elementor-widget-woocommerce-cart .e-cart-section.e-shop-table {
    padding: 18px !important;
    margin: 0px !important;
  }
}

/* ========================================
   Alinhamento remover x quantidade
======================================== */

/* centraliza verticalmente a coluna */
.woocommerce-cart td.product-remove,
.woocommerce-cart td.product-quantity {
  vertical-align: middle !important;
}

/* garante alinhamento do botão remove */
.woocommerce-cart td.product-remove a.remove {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 auto !important;
}

/* ========================================
   Qty mais compacto (Apple clean)
======================================== */

.woocommerce-cart td.product-quantity .quantity input.qty {
  width: 56px !important;      /* antes estava 72px */
  height: 40px !important;
  padding: 0 6px !important;
  text-align: center !important;
}

/* opcional: melhora o container da qty */
.woocommerce-cart td.product-quantity .quantity {
  display: flex;
  align-items: center;
  justify-content: center;
}


/* Mobile — remover padding do nome do produto no carrinho */
@media (max-width: 768px) {
  body.woocommerce-cart td.product-name {
    padding: 0 !important;
  }
}


/* Mobile — ocultar label da quantidade no carrinho */
@media (max-width: 768px) {
  body.woocommerce-cart td.product-quantity::before {
    display: none !important;
    content: none !important;
  }
}


/* Mobile — centralize a quantidade com o botão de excluir */
@media (max-width: 768px) {

  body.woocommerce-cart tr.woocommerce-cart-form__cart-item.cart_item {
    display: flex !important;
    align-items: stretch !important; /* deixa os itens poderem esticar */
  }

  body.woocommerce-cart tr.woocommerce-cart-form__cart-item.cart_item > td.product-quantity {
    margin-top: auto !important;
    margin-bottom: auto !important;  /* isso centraliza verticalmente no flex */
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    align-self: auto !important;
  }

  /* garante que o conteúdo não empurre pra baixo */
  body.woocommerce-cart tr.woocommerce-cart-form__cart-item.cart_item > td.product-quantity .quantity {
    margin: 0 !important;
    line-height: 1 !important;
  }

    /* empurra a qty para a direita e reserva espaço da lixeira */
  body.woocommerce-cart tr.woocommerce-cart-form__cart-item.cart_item > td.product-quantity {
    margin-left: auto !important;
    display: flex !important;
    justify-content: flex-end !important;
    padding-right: 44px !important; /* espaço do botão remover */
  }

  /* deixa a qty quase colada na lixeira */
  body.woocommerce-cart tr.woocommerce-cart-form__cart-item.cart_item > td.product-quantity input.qty,
  body.woocommerce-cart tr.woocommerce-cart-form__cart-item.cart_item > td.product-quantity .qty {
    margin-right: 6px !important; /* ajuste: 3px mais colado, 10px mais confortável */
  }

}



/* =========================================================
   PRODUCT REMOVE — CONTROLE POR BREAKPOINT
========================================================= */

/* DESKTOP — mantém no topo como carrinho lateral */
@media (min-width: 769px) {
  body.woocommerce-cart td.product-remove {
    order: 99 !important;
    margin-left: auto !important;
    align-self: flex-start !important;
    position: static !important;
  }
}

@media (max-width: 768px) {

  /* âncora do posicionamento */
  body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody tr.cart_item {
    position: relative !important;
  }

  /* não deixar a célula do remove interferir */
  body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody tr.cart_item td.product-remove {
    position: static !important;
    width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  /* botão no canto inferior direito do card */
  body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody tr.cart_item td.product-remove > a.remove {
    position: absolute !important;
    right: 16px !important;
    bottom: 16px !important;

    /* resets que costumam “puxar” pra esquerda/top */
    left: auto !important;
    top: auto !important;
    transform: none !important;
    margin: 0 !important;

    z-index: 999 !important;
  }
}

/* MOBILE — padding lateral do container do carrinho */
@media (max-width: 768px) {

  body.woocommerce-cart .elementor-element-4e22a0f9 {
    padding: 20px !important;
  }
  
  .elementor-11 .elementor-element.elementor-element-5cf07f1a{
    padding: 20px !important;  
  }

}

    /*REMOÇÃO DE SOMBRA EM LUGARES QUE NÃO DEVE CONTER*/
    #order_review table.shop_table {
        box-shadow: none !important;
    }
    
    
    .woocommerce-order-received .woocommerce-order h2, .woocommerce-order-received .woocommerce-order h3, .woocommerce-order-received .woocommerce-order-details__title, .woocommerce-order-received .woocommerce-column__title {
        box-shadow: none !important;
        border: none !important;
    }
    
    
    /*REMOÇÃO DE PADDING EM LUGARES QUE DEVE CONTER */
    #add_payment_method #payment ul.payment_methods, .woocommerce-cart #payment ul.payment_methods, .woocommerce-checkout #payment ul.payment_methods{
        padding: 0 !important;
    }
    
    
    /* FIX — WooPay/intl-tel-input: texto não pode colar na bandeira */
.woocommerce .iti.iti--separate-dial-code input.phone-input {
  box-sizing: border-box !important;
  width: 100% !important;

  /* força padding completo (mata regras que usam shorthand padding) */
  padding: 0 14px 0 96px !important;

  /* evita hacks de tema que movem o texto */
  text-indent: 0 !important;

  /* garante renderização limpa */
  overflow: visible !important;
  background-clip: padding-box !important;
}

/* ERRO NO NUMERO DE TELEFONE */
.woopay-save-new-user-container .save-details-form.form-row #validate-error-invalid-woopay-phone-number{
    padding-top: 14px;
}

/*BALÃO CARTAO DE CREDITO */
#add_payment_method #payment div.payment_box, .woocommerce-cart #payment div.payment_box, .woocommerce-checkout #payment div.payment_box {
    border-radius: 15px;
}

/* ===== MOBILE — order details sem vazar (tabela) ===== */
@media (max-width: 768px) {

  /* o wrapper pode encolher */
  .woocommerce-order-received .woocommerce-order-details,
  .woocommerce-order-received .woocommerce-order-details__title,
  .woocommerce-order-received .woocommerce-table--order-details,
  .woocommerce-order-received table.woocommerce-table.woocommerce-table--order-details {
    max-width: 100% !important;
  }

  /* tabela ocupa 100% e usa layout fixo (não estoura) */
  .woocommerce-order-received table.woocommerce-table.woocommerce-table--order-details {
    width: 100% !important;
    table-layout: fixed !important;
  }

  /* células podem quebrar */
  .woocommerce-order-received table.woocommerce-table.woocommerce-table--order-details th,
  .woocommerce-order-received table.woocommerce-table.woocommerce-table--order-details td {
    white-space: normal !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
  }

  /* links/URLs não estouram */
  .woocommerce-order-received table.woocommerce-table.woocommerce-table--order-details a {
    display: inline-block !important;
    max-width: 100% !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
  }
}


/* ================================
   Order details — coluna TOTAL mais compacta
   ================================ */

/* largura da coluna TOTAL (header e células) */
.woocommerce table.shop_table th.product-total,
.woocommerce table.shop_table td.product-total {
    width: 90px !important;      /* ajuste fino se quiser */
    min-width: 90px !important;
    text-align: right !important;
    white-space: nowrap !important;
}

/* garante que o produto ocupe o restante */
.woocommerce table.shop_table th.product-name,
.woocommerce table.shop_table td.product-name {
    width: auto !important;
}

/* mobile — ainda mais compacto */
@media (max-width: 768px) {
  .woocommerce table.shop_table th.product-total,
  .woocommerce table.shop_table td.product-total {
      width: 120px !important;
      min-width: 120px !important;
      font-size: 13px !important;
  }
}

