/* ========================================
   Customização WooCommerce - Padrão Ely
   ======================================== */

/* Semantic colors are defined by the shared design system in style.css. */

.ely-account-trigger {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-left: 18px;
    color: var(--ely-navy);
    text-decoration: none;
    transition: color .2s ease;
}

.ely-account-trigger:hover,
.ely-account-trigger:focus-visible {
    color: var(--ely-gold);
}

.ely-account-trigger__icon {
    font-size: 18px;
    line-height: 1;
}

.ely-account-trigger__label {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

/* ========== PÁGINA DE CARRINHO ========== */

.woocommerce-cart {
    background: #f8f4ee;
}

.woocommerce-cart .woocommerce-notices-wrapper {
    max-width: 1200px;
    margin: 20px auto;
}

.cart-page-title {
    font-family: Georgia, "Times New Roman", serif;
    color: var(--ely-navy);
    font-size: 42px;
    font-weight: 500;
    margin-bottom: 35px;
    padding: 40px 20px 0;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}

.woocommerce-cart table.cart {
    background: #fff;
    border-collapse: collapse;
    box-shadow: 0 2px 8px rgba(0,0,0,0.04);
}

.woocommerce-cart table.cart thead th {
    background: var(--ely-navy);
    color: #fff;
    padding: 16px;
    text-align: left;
    font-weight: 700;
    font-size: 12px;
    letter-spacing: 1px;
    text-transform: uppercase;
    border: none;
}

.woocommerce-cart table.cart tbody tr {
    border-bottom: 1px solid var(--ely-border);
}

.woocommerce-cart table.cart tbody tr:hover {
    background: #faf8f4;
}

.woocommerce-cart table.cart td {
    padding: 18px 16px;
    vertical-align: middle;
    color: var(--ely-text);
}

.woocommerce-cart .product-name a {
    color: var(--ely-navy);
    font-weight: 600;
    text-decoration: none;
    transition: color 0.3s ease;
}

.woocommerce-cart .product-name a:hover {
    color: var(--ely-gold);
}

.woocommerce-cart .product-price {
    color: var(--ely-navy);
    font-weight: 700;
}

.woocommerce-cart .product-quantity input {
    width: 60px;
    padding: 8px;
    border: 1px solid var(--ely-border);
    border-radius: 4px;
    text-align: center;
    font-size: 14px;
}

.woocommerce-cart .product-remove a.remove {
    display: inline-block;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--ely-error);
    color: #fff;
    text-align: center;
    line-height: 32px;
    text-decoration: none;
    font-size: 18px;
    transition: all 0.3s ease;
}

.woocommerce-cart .product-remove a.remove:hover {
    background: #b71c1c;
    transform: scale(1.1);
}

.cart-collaterals {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px 40px;
    display: grid;
    grid-template-columns: 1fr 350px;
    gap: 30px;
}

.cart_totals {
    background: #fff;
    border-radius: 8px;
    padding: 28px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.04);
}

.cart_totals h2 {
    color: var(--ely-navy);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 20px;
    font-weight: 500;
    margin-bottom: 20px;
    padding-bottom: 12px;
    border-bottom: 2px solid var(--ely-gold);
}

.cart_totals table tr {
    border-bottom: 1px solid var(--ely-border);
}

.cart_totals table tr:last-child {
    border-bottom: none;
}

.cart_totals table th,
.cart_totals table td {
    padding: 12px 0;
    color: var(--ely-text);
}

.cart_totals table th {
    text-align: left;
    font-weight: 600;
}

.cart_totals .cart-subtotal td,
.cart_totals .shipping td,
.cart_totals .order-total td {
    text-align: right;
    font-weight: 700;
}

.cart_totals .order-total {
    font-size: 16px;
}

.cart_totals .order-total td {
    color: var(--ely-navy);
}

/* ========== BOTÕES DO CARRINHO ========== */

.woocommerce-cart .button.checkout,
.woocommerce-cart .button.button-primary,
.woocommerce .button.checkout,
.woocommerce .button.button-primary {
    background: var(--ely-navy);
    color: #fff;
    padding: 14px 28px;
    border-radius: 6px;
    font-weight: 700;
    font-size: 13px;
    letter-spacing: 1px;
    text-transform: uppercase;
    border: 2px solid var(--ely-navy);
    cursor: pointer;
    transition: all 0.3s ease;
    text-decoration: none;
    display: inline-block;
    margin-top: 20px;
    width: 100%;
    text-align: center;
}

.woocommerce-cart .button.checkout:hover,
.woocommerce-cart .button.button-primary:hover,
.woocommerce .button.checkout:hover,
.woocommerce .button.button-primary:hover {
    background: var(--ely-gold);
    border-color: var(--ely-gold);
    color: var(--ely-navy);
}

.woocommerce-cart .button.secondary,
.woocommerce .button.secondary {
    background: transparent;
    color: var(--ely-navy);
    border: 2px solid var(--ely-navy);
    padding: 12px 24px;
    font-weight: 700;
    border-radius: 6px;
    text-transform: uppercase;
    font-size: 12px;
    transition: all 0.3s ease;
}

.woocommerce-cart .button.secondary:hover,
.woocommerce .button.secondary:hover {
    background: var(--ely-navy);
    color: #fff;
}

/* ========== PÁGINA DE CHECKOUT ========== */

.woocommerce-checkout {
    background: #f8f4ee;
}

.woocommerce-checkout .woocommerce-notices-wrapper {
    max-width: 1200px;
    margin: 20px auto;
}

.checkout-page-title {
    font-family: Georgia, "Times New Roman", serif;
    color: var(--ely-navy);
    font-size: 42px;
    font-weight: 500;
    margin-bottom: 35px;
    padding: 40px 20px 0;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}

.woocommerce-checkout .woocommerce-form-row {
    margin-bottom: 18px;
}

.woocommerce-checkout .form-row label {
    color: var(--ely-navy);
    font-weight: 600;
    font-size: 13px;
    letter-spacing: 0.5px;
}

.woocommerce-checkout .form-row label .required {
    color: var(--ely-error);
}

.woocommerce-checkout .form-row input,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select {
    width: 100%;
    padding: 12px 14px;
    border: 1px solid var(--ely-border);
    border-radius: 6px;
    font-size: 14px;
    color: var(--ely-text);
    background: #fff;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.woocommerce-checkout .form-row input:focus,
.woocommerce-checkout .form-row textarea:focus,
.woocommerce-checkout .form-row select:focus {
    outline: none;
    border-color: var(--ely-gold);
    box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.1);
}

.woocommerce-checkout-review-order {
    background: #fff;
    border-radius: 8px;
    padding: 28px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.04);
}

.woocommerce-checkout-review-order h3 {
    color: var(--ely-navy);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 18px;
    font-weight: 500;
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 2px solid var(--ely-gold);
}

.woocommerce-checkout-review-order table {
    width: 100%;
}

.woocommerce-checkout-review-order table tr {
    border-bottom: 1px solid var(--ely-border);
}

.woocommerce-checkout-review-order table th,
.woocommerce-checkout-review-order table td {
    padding: 12px 0;
    text-align: left;
    color: var(--ely-text);
}

.woocommerce-checkout-review-order table th {
    font-weight: 700;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.woocommerce-checkout-review-order .order-total {
    font-size: 16px;
    font-weight: 700;
}

.woocommerce-checkout-review-order .order-total td {
    color: var(--ely-navy);
}

.woocommerce-checkout #payment {
    background: transparent;
    border: none;
    padding: 0;
}

.woocommerce-checkout #payment .payment_methods {
    background: #fff;
    border: 1px solid var(--ely-border);
    border-radius: 6px;
    padding: 16px;
    margin-bottom: 20px;
}

.woocommerce-checkout #payment .payment_methods li {
    border-bottom: 1px solid var(--ely-border);
    padding: 12px 0;
}

.woocommerce-checkout #payment .payment_methods li:last-child {
    border-bottom: none;
}

.woocommerce-checkout #payment .payment_methods input {
    margin-right: 8px;
}

.woocommerce-checkout #payment .payment_methods label {
    color: var(--ely-text);
    font-weight: 600;
}

/* ========== PÁGINA DE MINHA CONTA ========== */

.woocommerce-account {
    background: #f8f4ee;
}

.woocommerce-account .woocommerce-MyAccount-content {
    max-width: 1200px;
    margin: 0 auto;
    padding: 40px 20px;
}

.ely-create-account-page {
    min-height: calc(100vh - 120px);
    padding: 56px 20px 80px;
    background: #f8f4ee;
}

.ely-create-account-inner {
    max-width: 720px;
    margin: 0 auto;
}

.ely-create-account-heading {
    margin-bottom: 28px;
    text-align: center;
}

.ely-create-account-heading h1 {
    margin: 0 0 10px;
    color: var(--ely-navy);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(32px, 5vw, 48px);
    font-weight: 500;
}

.ely-create-account-heading p {
    margin: 0 auto;
    max-width: 560px;
    color: var(--ely-muted);
}

.ely-create-account-inner .woocommerce {
    padding: 28px;
    background: #fff;
    border: 1px solid var(--ely-border);
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(7, 22, 41, .06);
}

.woocommerce-account .myaccount-page-title {
    font-family: Georgia, "Times New Roman", serif;
    color: var(--ely-navy);
    font-size: 42px;
    font-weight: 500;
    margin-bottom: 35px;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,0.04);
    margin-bottom: 30px;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation li {
    border-bottom: 1px solid var(--ely-border);
    margin: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation li:last-child {
    border-bottom: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation a {
    display: block;
    padding: 16px 24px;
    color: var(--ely-text);
    text-decoration: none;
    font-weight: 600;
    font-size: 13px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    transition: all 0.3s ease;
}

.woocommerce-account .woocommerce-MyAccount-navigation a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation a.is-active {
    background: var(--ely-gold);
    color: var(--ely-navy);
    padding-left: 30px;
}

.woocommerce-account .woocommerce-MyAccount-content {
    background: #fff;
    border-radius: 8px;
    padding: 28px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.04);
}

.woocommerce-account .woocommerce-MyAccount-content h3 {
    color: var(--ely-navy);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 20px;
    font-weight: 500;
    margin-bottom: 20px;
    padding-bottom: 12px;
    border-bottom: 2px solid var(--ely-gold);
}

.woocommerce-account .woocommerce-orders table {
    width: 100%;
    border-collapse: collapse;
}

.woocommerce-account .woocommerce-orders table thead th {
    background: var(--ely-navy);
    color: #fff;
    padding: 16px;
    text-align: left;
    font-weight: 700;
    font-size: 12px;
    letter-spacing: 1px;
    text-transform: uppercase;
    border: none;
}

.woocommerce-account .woocommerce-orders table tbody tr {
    border-bottom: 1px solid var(--ely-border);
}

.woocommerce-account .woocommerce-orders table tbody tr:hover {
    background: #faf8f4;
}

.woocommerce-account .woocommerce-orders table td {
    padding: 16px;
    color: var(--ely-text);
}

.woocommerce-account .woocommerce-orders table a {
    color: var(--ely-gold);
    text-decoration: none;
    font-weight: 600;
}

.woocommerce-account .woocommerce-orders table a:hover {
    color: var(--ely-navy);
}

/* ========== AVISOS E ERROS ========== */

.woocommerce-error,
.woocommerce-info,
.woocommerce-message {
    padding: 14px 18px;
    margin-bottom: 18px;
    border-radius: 6px;
    border-left: 4px solid;
    list-style: none;
}

.woocommerce-error {
    background: rgba(211, 47, 47, 0.1);
    border-color: var(--ely-error);
    color: var(--ely-error);
}

.woocommerce-info,
.woocommerce-message {
    background: rgba(56, 142, 60, 0.1);
    border-color: var(--ely-success);
    color: var(--ely-success);
}

.woocommerce-error li,
.woocommerce-info li,
.woocommerce-message li {
    list-style: none;
}

/* Native WooCommerce controls share the Ely visual identity. */
.woocommerce-error::before, .woocommerce-info::before, .woocommerce-message::before { display:none; }
body .woocommerce-info { background:var(--ely-cream); border-color:var(--ely-gold); color:var(--ely-navy); }
body .woocommerce-info a, body .woocommerce-message a { color:inherit; text-decoration:underline; text-underline-offset:3px; }
body .woocommerce .button, body.woocommerce .button,
body .woocommerce button.button.alt, body.woocommerce button.button.alt,
body .woocommerce a.button.alt, body.woocommerce a.button.alt {
    background:var(--ely-navy); color:#fff; border:1px solid var(--ely-navy); border-radius:6px;
    padding:13px 20px; min-height:44px; line-height:1.4; text-decoration:none; font-weight:700;
}
body .woocommerce .button:hover, body.woocommerce .button:hover,
body .woocommerce .button.alt:hover, body.woocommerce .button.alt:hover { background:var(--ely-navy-2); color:#fff; }
body .woocommerce button.button:disabled, body .woocommerce button.button:disabled[disabled],
body.woocommerce button.button:disabled, body .woocommerce .button.disabled {
    background:var(--ely-navy); color:#fff; opacity:.55; cursor:not-allowed; padding:13px 20px;
}
.ely-checkout-unavailable { color:var(--ely-error); font-size:14px; margin:12px 0 0; }
body.woocommerce-checkout #payment .ely-payment-unavailable { color:var(--ely-error); }
body.woocommerce-checkout #payment .woocommerce-info:has(.ely-payment-unavailable) { color:var(--ely-error); border-color:var(--ely-error); background:#fff1ef; }
body.woocommerce-checkout #payment #place_order { background:var(--ely-navy); color:#fff; border:1px solid var(--ely-navy); }
body.woocommerce-checkout #payment #place_order:hover { background:var(--ely-navy-2); }
body.woocommerce-checkout #payment #place_order:disabled { background:var(--ely-navy); opacity:.55; cursor:not-allowed; }
body .woocommerce form .form-row input.input-text,
body .woocommerce form .form-row select, body .woocommerce form .form-row textarea {
    border:1px solid var(--ely-border); border-radius:6px; background:#fff; color:var(--ely-text);
    min-height:44px; padding:10px 12px; width:100%; font-size:16px;
}
body .woocommerce form .form-row textarea { min-height:96px; }
body .woocommerce form .form-row input[type="checkbox"], body .woocommerce form .form-row input[type="radio"] {
    width:auto; min-height:0; padding:0; margin:0 8px 0 0; position:static; vertical-align:middle; accent-color:var(--ely-navy);
}
body .woocommerce form .form-row label.checkbox { display:flex; align-items:center; gap:6px; }
body .woocommerce .select2-container .select2-selection--single { min-height:44px; border-color:var(--ely-border); border-radius:6px; }
body .woocommerce .select2-container .select2-selection__rendered { line-height:42px; color:var(--ely-text); }
body .woocommerce .select2-container .select2-selection__arrow { height:42px; }
body.woocommerce ul.products li.product .price { color:var(--ely-navy); font-size:15px; font-weight:700; }
body.woocommerce ul.products li.product .price ins, body.woocommerce div.product .price ins { background:transparent; text-decoration:none; }
body.woocommerce ul.products li.product .price del { color:var(--ely-muted); font-size:13px; }
body.woocommerce ul.products li.product .woocommerce-loop-product__link { text-decoration:none; }
body.woocommerce ul.products li.product .button { display:block; text-align:center; font-size:13px; }
@media(max-width:600px) {
    body.woocommerce-checkout .woocommerce form .form-row-first,
    body.woocommerce-checkout .woocommerce form .form-row-last { float:none; width:100%; }
}

/* ========== RESPONSIVO ========== */

@media (max-width: 900px) {
    .cart-collaterals {
        grid-template-columns: 1fr;
    }

    .woocommerce-checkout .woocommerce-billing-fields,
    .woocommerce-checkout .woocommerce-shipping-fields,
    .woocommerce-checkout-review-order {
        margin-bottom: 30px;
    }
}

@media (max-width: 600px) {
    .cart-page-title,
    .checkout-page-title,
    .woocommerce-account .myaccount-page-title {
        font-size: 28px;
        padding: 30px 15px 0;
    }

    .woocommerce-cart table.cart thead th,
    .woocommerce-account .woocommerce-orders table thead th {
        padding: 12px;
        font-size: 11px;
    }

    .woocommerce-cart table.cart td,
    .woocommerce-account .woocommerce-orders table td {
        padding: 12px;
    }

    .cart-collaterals,
    .woocommerce-checkout .woocommerce-form-row {
        grid-template-columns: 1fr;
    }

    .woocommerce-checkout .button.checkout,
    .woocommerce .button.button-primary {
        width: 100%;
    }
}

/* One presentation for WooCommerce login and registration, without new flows. */
.ely-create-account-page { background:var(--ely-surface-soft); min-height:0; padding:40px 16px 64px; }
.ely-create-account-inner { max-width:960px; }
.ely-create-account-inner .woocommerce { background:transparent; border:0; padding:0; box-shadow:none; }
body.ely-my-account-page:not(.ely-account-authenticated) .ely-content-page { background:var(--ely-surface-soft); padding-block:40px 64px; }
body.ely-my-account-page:not(.ely-account-authenticated) .ely-content-page > .ely-container { max-width:960px; }
:is(.ely-create-account-page,.ely-my-account-page) #customer_login { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
:is(.ely-create-account-page,.ely-my-account-page) #customer_login::before,
:is(.ely-create-account-page,.ely-my-account-page) #customer_login::after { display:none; }
:is(.ely-create-account-page,.ely-my-account-page) #customer_login > div { float:none; width:auto; min-width:0; padding:24px; background:var(--ely-surface); border:1px solid var(--ely-border); border-radius:var(--ely-radius-panel); }
:is(.ely-create-account-page,.ely-my-account-page) #customer_login h2 { margin:0 0 24px; font-size:var(--ely-title-md); }
:is(.ely-create-account-page,.ely-my-account-page) #customer_login form { border:0; border-radius:0; margin:0; padding:0; background:transparent; }
:is(.ely-create-account-page,.ely-my-account-page) #customer_login .form-row { padding:0; margin:0 0 20px; }
:is(.ely-create-account-page,.ely-my-account-page) #customer_login label { font-size:1rem; line-height:1.5; margin-bottom:8px; }
body .woocommerce form .form-row :is(input.input-text,select,textarea) { border-color:var(--ely-control-border); border-radius:var(--ely-radius-control); min-height:48px; }
body .woocommerce .button,body.woocommerce .button { border-radius:var(--ely-radius-control); min-height:48px; }
.ely-auth-tabs { display:flex; gap:8px; padding:6px; margin-bottom:24px; border:1px solid var(--ely-border); border-radius:var(--ely-radius-card); background:var(--ely-cream); }
.ely-auth-tabs button { flex:1; min-height:48px; border:0; border-radius:var(--ely-radius-control); padding:10px 16px; background:transparent; color:var(--ely-muted); font-weight:700; }
.ely-auth-tabs button[aria-selected=true] { background:var(--ely-surface); color:var(--ely-navy); box-shadow:var(--ely-shadow-card); }
@media(max-width:760px) {
 :is(.ely-create-account-page,.ely-my-account-page) #customer_login { grid-template-columns:minmax(0,1fr); }
 :is(.ely-create-account-page,.ely-my-account-page) #customer_login > div { padding:24px 20px; }
 .ely-create-account-page { padding-top:32px; }
}

.ely-empty-cart { max-width:680px; margin:8px auto 32px; padding:32px; background:var(--ely-surface); border:1px solid var(--ely-border); border-radius:var(--ely-radius-panel); }
.ely-empty-cart h2 { font-size:var(--ely-title-lg); margin:12px 0 24px; }
.ely-empty-cart > p { color:var(--ely-muted); max-width:56ch; }
.ely-empty-cart .cart-empty { color:var(--ely-navy); }
.ely-empty-cart-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
body.woocommerce-cart .ely-content-page:has(.ely-empty-cart) { min-height:0; }
.ely-shipping-prices { display:inline-flex; flex-direction:column; align-items:flex-end; gap:3px; line-height:1.4; }
.ely-shipping-prices del { color:var(--ely-muted); font-size:.85em; font-weight:400; text-decoration:line-through; }
.ely-shipping-prices strong { color:var(--ely-navy); font-size:1.05em; font-weight:700; }
.ely-order-progress { margin:24px 0 32px; padding:24px; border:1px solid var(--ely-border); border-radius:16px; background:var(--ely-surface); }
.ely-order-progress h2 { margin:0 0 28px; font-size:1.25rem; }
.ely-order-progress ol { display:flex; list-style:none; padding:0; margin:0 0 24px; }
.ely-order-progress li { flex:1; position:relative; display:flex; flex-direction:column; align-items:center; gap:10px; text-align:center; color:var(--ely-muted); font-size:.9rem; }
.ely-order-progress li::before { content:''; position:absolute; top:17px; left:-50%; width:100%; height:3px; background:var(--ely-border,#ddd); }
.ely-order-progress li:first-child::before { display:none; }
.ely-order-progress li.is-done::before { background:#28764b; }
.ely-order-progress-dot { position:relative; z-index:1; display:grid; place-items:center; width:36px; height:36px; border-radius:50%; background:var(--ely-surface,#fff); border:2px solid var(--ely-border,#ddd); font-size:1rem; }
.ely-order-progress .is-done { color:#28764b; font-weight:600; }
.ely-order-progress .is-done .ely-order-progress-dot { background:#28764b; border-color:#28764b; color:#fff; }
.ely-order-progress p { margin:0 0 8px; color:var(--ely-muted); }
.ely-order-progress a { color:var(--ely-navy); font-weight:600; }
@media(max-width:480px) { .ely-order-progress { padding:20px 12px; } .ely-order-progress li { font-size:.78rem; padding:0 4px; } }
@media(max-width:600px) { .ely-empty-cart { padding:24px 20px; } .ely-empty-cart-actions > a { width:100%; text-align:center; } }
