/*
 Theme Name:     Celebra Chá Child
 Theme URI:      https://celebracha.com.br/
 Description:    Tema filho do Hello Elementor para o Celebra Chá, incluindo customizações e Tailwind CSS.
 Author:         Expand UP
 Author URI:     https://www.linkedin.com/in/estevao-acioli-ce/
 Template:       hello-elementor
 Version:        1.1.2
 Text Domain:    celebra-cha-child
*/

body.dashboard-general {
    padding-top: 67px;
}

#content.site-main {
    margin-top: 20px;
    max-width : 1280px !important;
    padding   : 30px 30px 60px;
}

#content.site-main .page-header .entry-title {
    max-width: 100%;
    font-size: 3em;
}

header#header a, #menu-menu-mobile a, #sidebar-site a {
    text-decoration: none !important;
}

/*
*** Blog Category ***
*/

.category-badge {
  display      : inline-block;
  align-items  : center;
  padding      : 2px 10px;
  border-radius: 16px;
  text-align   : center;
}

.category-badge a {
  color          : #fff !important;
  font-size      : 13px !important;
  font-weight    : bold;
  text-decoration: none;
  white-space    : nowrap;
}

/*
* Woocommerce
*/
body.woocommerce-page {
    background-color: #f0eff8;
}
@media (min-width: 901px) {
        aside#dashboard-sidebar {
            display: flex;
        }
        .dashboard-hamburguer{
            display: none;
}
}
@media (max-width: 901px) {
    .itens-header{
        display: none;
    }
}
body.woocommerce-page .page-header {
    display         : flex;
    position        : relative;
    background-color: #ffffff;
    padding         : 25px 20px 30px;
    margin-bottom   : 24px;
    border-radius   : 8px;
}

body.woocommerce-page .page-header .entry-title {
    font-weight: 600;
    font-size  : 18px !important;
    color      : #797D8C;
    margin     : 0px;
    position   : relative;
    display    : block;
}

body.woocommerce-page .page-header .entry-title:before {
    content   : '';
    display   : block;
    width     : 10%;
    height    : 5px;
    background: #9378E3;
    position  : absolute;
    bottom    : -12px;
}

body.woocommerce-page .page-content {
    display         : block;
    position        : relative;
    background-color: #ffffff;
    padding         : 25px 20px 30px;
    margin-bottom   : 24px;
    border-radius   : 8px;
}

body.woocommerce-page .woocommerce-MyAccount-navigation {
    background-color: #ffffff;
    padding         : 30px 25px;
    border-radius   : 8px;
}

body.woocommerce-page .woocommerce-MyAccount-navigation ul li {
    width        : 100%;
    display      : flex;
    margin       : 0px;
    border-bottom: 1px solid #ddd;
}

body.woocommerce-page .woocommerce-MyAccount-navigation ul li a {
    color          : #585858 !important;
    font-size      : 16px !important;
    text-decoration: none;
    width          : 100%;
    display        : flex;
    align-items    : center;
    justify-content: left;
    padding        : 16px 8px 16px 4px;
    gap            : 16px;
}

body.woocommerce-page .woocommerce-MyAccount-navigation ul li a:hover {
    background-color: #f5f5f5;
}

/*
* Woocommerce Cart Page
*/
body.woocommerce-cart .woocommerce-cart {
    display        : flex;
    flex-direction : column;
    align-items    : center;
    justify-content: center;
}

body.woocommerce-cart .coupon {
    width                : 100%;
    display              : grid;
    grid-template-columns: 160px auto;    
    align-items          : center;    
    gap                  : 10px;
}

body.woocommerce-cart .actions {
    display        : flex;
    justify-content: space-around;
    flex-wrap      : wrap-reverse;
    padding        : 12px;
}

body.woocommerce-cart .cart-collaterals {
    width          : 49% !important;
    display        : flex;
    flex-direction : column;
    justify-content: space-around;
    text-align     : center;
    min-width      : 270px;
    max-width      : 500px;
}

body.woocommerce-cart .woocommerce .cart-collaterals .cart_totals,
body.woocommerce-cart .woocommerce-page .cart-collaterals .cart_totals {
    width: 100%;
}

body.woocommerce-cart .cart-collaterals table.shop_table tr.cart-subtotal td,
body.woocommerce-cart .cart-collaterals table.shop_table tr.order-total td,
body.woocommerce-cart .cart-collaterals table.shop_table tr.cart-discount td {
    border: none;
}
table.shop_table{
    border: 0px solid !important;
}
table.shop_table div,
table.shop_table th,
table.shop_table td{
    border    : 0px solid #eee !important;
    min-height: 40px !important;
    border-bottom: 1px solid #eee !important;
}

body.woocommerce-cart #content {
    width: 100vw;
}

body.woocommerce-cart div.product-name,
body.woocommerce-cart div.product-name div.product_price {
    width: 100%;
}

body.woocommerce-cart div.name_price div.product-name {
    font-size  : 16px;
    font-weight: 400;
}

body.woocommerce-cart div.name_price div.product_price {
    font-size  : 16px;
    font-weight: 500;
}

body.woocommerce-cartbody.woocommerce-cart div.product-name::before,
div.product-quantity:before,
div.product_price:before,
div.product-thumbnail:before {
    content: none !important;
}

body.woocommerce-cart .woocommerce div.product {
    margin-bottom  : 0;
    position       : relative;
    display        : flex;
    justify-content: space-between;
    max-width      : 100%;
    flex-wrap      : wrap;
    padding-bottom : 16px;
    margin-bottom  : 10px;
    border-bottom  : 1px solid #dedede;
}

body.woocommerce-cart .thumbnail-info-product {
    width                : calc(100% - 130px);
    display              : grid;
    grid-template-columns: 80px 1fr;    
    grid-template-rows   : auto auto;    
    grid-gap             : 16px;    
    align-items          : center;
}

body.woocommerce-cart .thumbnail-info-product .name_price {
    padding-right: 16px;
}

body.woocommerce-cart .thumbnail-info-product img {
    grid-row: 1 / span 2;    
    width   : 80px;    
    height  : auto;
}

body.woocommerce-cart .quantity-remove {
    width                : 130px;
    display              : grid;
    grid-template-columns: auto 30px;    
    align-items          : center;    
    gap                  : 20px;
}

body.woocommerce-cart .quantity-remove .product-quantity {
    font-size: 18px;
}

body.woocommerce-cart .quantity-remove a:hover {
    background-color: transparent !important;
    opacity: 0.75;
}

body.woocommerce-cart .cart {
    display        : flex;
    flex-wrap      : wrap;
    direction      : initial;
    align-items    : center;
    justify-content: space-around;
}

body.woocommerce-cart .woocommerce-cart-form {
    width    : 55%;
    max-width: 500px;
    min-width: 270px;
}

body.woocommerce-cart .woocommerce-cart-form table.shop_table {
    display: none;
}

table.shop_table {
    border-collapse: separate;    
    border-spacing : 0;    
    border         : 0px solid #ddd;
    border-radius  : 15px;    
    overflow       : hidden;    
}

.woocommerce #content table.cart div.actions .coupon .button.alt,
.woocommerce #content table.cart div.actions .coupon .input-text+.button,
.woocommerce table.cart div.actions .coupon .button.alt,
.woocommerce table.cart div.actions .coupon .input-text+.button,
.woocommerce-page #content table.cart div.actions .coupon .button.alt,
.woocommerce-page #content table.cart div.actions .coupon .input-text+.button,
.woocommerce-page table.cart div.actions .coupon .button.alt,
.woocommerce-page table.cart div.actions .coupon .input-text+.button {
    float     : right;
    text-align: center;
    padding   : 13px;
}

body.woocommerce-page.celebra-site .wc-block-components-button.wc-block-cart__submit-button {
    font-size       : 18px;
    font-weight     : 500;
    text-decoration : none !important;
    border          : none;
    border-radius   : 8px 8px 8px 8px;
    padding         : 12px 25px 12px 25px;
    background-color: #6c5dd4;
    color           : #fff !important;
    width           : 100%;
    margin-top      : 20px;
    margin-bottom   : 10px;
    min-height      : 40px;
}

body.woocommerce-page.celebra-site .wc-block-components-button.wc-block-cart__submit-button:hover {
    background-color: #fe829a;
}

body.woocommerce-page.celebra-site .wp-block-woocommerce-cart-line-items-block {
    font-size: 18px;
    color    : var(--dash-cinza-ardosia);
}

body.woocommerce-page.celebra-site .wc-block-cart-item__product a,
body.woocommerce-page.celebra-site .wc-block-cart-item__image a {
    pointer-events : none;
    text-decoration: none;
    color          : inherit;
}

@media (max-width: 640px) {
    body.woocommerce-cart .thumbnail-info-product {
        width: 100%;
        display: grid;
        grid-template-columns: 80px 1fr;
        grid-template-rows: auto auto;
        grid-gap: 16px;
        align-items: center;
    }
    body.woocommerce-cart .quantity-remove {
        width: 100%;
        display: grid;
        grid-template-columns: auto 30px;
        align-items: center;
        gap: 20px;
        padding: 0 30px;
    }
    body.woocommerce-cart .coupon {
        grid-template-columns: 1fr; /* Mude para uma única coluna */
        gap: 15px; /* Ajuste o espaçamento vertical, se necessário */
    }
}

/* 
* Botão do carrinho vazio 
*/
#content-btn_cart_empty {
    text-align      : center;
    padding         : 2rem 1rem;
    background-color: #f8f8f8;
    border          : 1px solid #ddd;
    border-radius   : 6px;
    margin          : 2rem auto;
    max-width       : 100%;
}

#content-btn_cart_empty h3 {
    margin-bottom: 0.5rem;
    font-size    : 1.5rem;
    color        : #333;
}

#content-btn_cart_empty p {
    font-size    : 1rem;
    color        : #555;
    margin-bottom: 1rem;
}

#btn_cart_empty {
    display         : inline-block;
    background-color: #6c5dd4 !important;
    color           : white !important;
    text-decoration : none;
    padding         : 0.75rem 1.5rem;
    border-radius   : 8px;
    font-size       : 16px;
    font-weight     : 400;
    transition      : background-color 0.3s ease;
}

#content-btn_cart_empty .icone-carrinho-vazio {
    width  : 100px;
    height : 100px;
    display: block;
    margin : 20px auto 30px;
}

#btn_cart_empty:hover {
    background-color: #fe829a;
}

/* 
* Header do checkout - com presentes
*/
#content-btn_header_checkout {
    text-align      : center;
    padding         : 2rem 1rem;
    background-color: #f8f8f8;
    border          : 1px solid #ddd;
    border-radius   : 6px;
    margin          : 2rem auto;
    max-width       : 100%;
}

#content-btn_header_checkout h3 {
    margin-bottom: 0.5rem;
    font-size    : 1.5rem;
    color        : #333;
}

#content-btn_header_checkout p {
    font-size    : 1rem;
    color        : #555;
    margin-bottom: 1rem;
}

#btn_header_checkout {
    display         : inline-block;
    background-color: #6c5dd4;
    color           : white;
    text-decoration : none;
    padding         : 0.75rem 1.5rem;
    border-radius   : 8px;
    font-size       : 16px;
    font-weight     : 400;
    transition      : background-color 0.3s ease;
}

#content-btn_header_checkout .icone-carrinho-vazio {
    width  : 100px;
    height : 100px;
    display: block;
    margin : 20px auto 30px;
}

#btn_header_checkout:hover {
    background-color: #fe829a;
}




/*
* Woocommerce
*/
body.woocommerce-page .shop_table.shop_table_responsive {
    font-size: 16px;
}

body.woocommerce-page .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--dashboard a:before {
    content         : '';
    width           : 20px;
    height          : 20px;
    background-image: url(assets/images/store.png);
    background-size : cover;
}

body.woocommerce-page .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--orders a:before {
    content         : '';
    width           : 20px;
    height          : 20px;
    background-image: url(assets/images/pedidos.png);
    background-size : cover;
}

body.woocommerce-page .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--edit-address a:before {
    content         : '';
    width           : 20px;
    height          : 20px;
    background-image: url(assets/images/endereco.png);
    background-size : cover;
}

body.woocommerce-page .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--edit-account a:before {
    content         : '';
    width           : 20px;
    height          : 20px;
    background-image: url(assets/images/cadastro.png);
    background-size : cover;
}

body.woocommerce-page .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a:before {
    content         : '';
    width           : 20px;
    height          : 20px;
    background-image: url(assets/images/sair.png);
    background-size : cover;
}

body.woocommerce-page .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--payment-methods a:before {
    content         : '';
    width           : 20px;
    height          : 20px;
    background-image: url(assets/images/pagamentos.png);
    background-size : cover;
}

body.woocommerce-page .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--informacoes-pessoais a:before {
    content         : '';
    width           : 20px;
    height          : 20px;
    background-image: url(assets/images/user.png);
    background-size : cover;
}

body.woocommerce-page .woocommerce-MyAccount-content {
    background-color: #ffffff;
    padding         : 30px 25px;
    border-radius   : 8px;
    color           : #797D8C;
    font-size       : 16px;
}

body.woocommerce-page #card-panel input,
body.woocommerce-page #card-panel select {
    background-color: #fff;
    color           : #515151;
}

body.woocommerce-page #card-panel .p-Select option {
    background-color: #fff;
    color           : #515151;
}

body.woocommerce-page .woocommerce-button,
body.woocommerce-page .button,
body.woocommerce-page .checkout-button {
    background-color: #9378E3 !important;
    color           : #ffffff;
    border-radius   : 8px;
    font-weight     : 400;
    padding         : 12px 30px;
    font-size       : 16px;
    margin          : 5px;
}

body.woocommerce-page .woocommerce-button:hover,
body.woocommerce-page .button:hover,
body.woocommerce-page .checkout-button:hover {
    background-color: #FE829A !important;
    color           : #ffffff;
    border-radius   : 8px;
}

body.woocommerce-page .woocommerce-Address-title.title h2,
body.woocommerce-page .woocommerce-MyAccount-content h2 {
    color    : #585858 !important;
    font-size: 21px;
    margin   : 0;
    padding  : 0;
}

body.woocommerce-page .woocommerce-address-fields__field-wrapper {
    margin-bottom: 25px;
}

body.woocommerce-page .woocommerce-form.woocommerce-form-login,
body.woocommerce-page .woocommerce-form.woocommerce-form-register {
    background-color: #ffffff;
}

body.woocommerce-page .woocommerce-ResetPassword.lost_reset_password {
    background-color: #ffffff;
    padding         : 30px 25px;
    border-radius   : 8px;
}

body.woocommerce-page .woocommerce-button.woocommerce-form-login__submit,
body.woocommerce-page .woocommerce-ResetPassword.lost_reset_password .woocommerce-Button {
    padding  : 12px 30px;
    font-size: 16px;
}

body.woocommerce-page .woocommerce form .form-row .input-text,
.woocommerce form .form-row select {
    padding         : 10px 14px 10px 14px;
    color           : #585858;
    background-color: #ffffff;
    border          : 1px solid #D5D5D8;
    max-width       : 100%;
    border-radius: 15px;
}

body.woocommerce-page .woocommerce form p.woocommerce-form-row label {
    gap      : 16px;
    display  : flex;
    font-size: 16px;
    color    : #585858;
}

body.woocommerce-page .woocommerce form fieldset {
    background-color: #ffffff;
    border          : 1px solid #DDE4F0;
    margin          : 16px 0;
}

body.woocommerce-page.celebra-site .alignwide {
    margin-inline: 0 !important;
}

body.woocommerce-page.celebra-site .wc-block-components-sidebar-layout {
    display        : flex;
    flex-wrap      : wrap;
    margin         : 0 auto 16px;
    position       : relative;
    gap            : 30px;
    justify-content: space-between;
}

body.woocommerce-page.celebra-site .woocommerce-order {
    background-color: #ffffff;
    padding         : 25px 20px 30px;
    border-radius   : 8px;
}

body.woocommerce-page.celebra-site .woocommerce-order h2.wc-bacs-bank-details-heading,
body.woocommerce-page.celebra-site h2.woocommerce-order-details__title,
body.woocommerce-page.celebra-site h2.woocommerce-column__title {
    font-size: 26px;
}

body.woocommerce-page.celebra-site h3.wc-bacs-bank-details-account-name {
    font-size: 21px;
}

body.woocommerce-page.celebra-site .wc-block-components-sidebar-layout .wc-block-components-main {
    box-sizing      : border-box;
    margin          : 0;
    padding-right   : 0;
    width           : 60%;
    background-color: #ffffff;
    padding         : 25px 20px 30px;
    border-radius   : 8px;
}

body.woocommerce-page.celebra-site .wc-block-components-sidebar-layout .wc-block-components-sidebar {
    box-sizing      : border-box;
    margin-top      : 8px;
    padding-left    : 0;
    width           : 35%;
    background-color: #ffffff;
    padding         : 25px 20px 30px;
    border-radius   : 8px;
}

body.woocommerce-page.celebra-site .wc-block-components-button.wc-block-components-totals-coupon__button {
    font-size       : 18px;
    font-weight     : 500;
    text-decoration : none;
    border          : none;
    border-radius   : 8px 8px 8px 8px;
    padding         : 12px 25px 12px 25px;
    background-color: #fff;
    border          : 1px solid #6c5dd4;
    color           : #6c5dd4;
    width           : 100%;
    margin-top      : 20px;
    margin-bottom   : 10px;
    min-height      : 40px;
}

body.woocommerce-page.celebra-site .see-my-event-container {
    margin        : 30px 0;
    padding       : 30px;
    text-align    : center;
    background    : #f5f5f5;
    border        : 1px solid #ddd;
    border-radius : 8px;
    display       : flex;
    flex-direction: column;
    align-items   : center;
}

body.woocommerce-page.celebra-site .see-my-event-container .see-my-event {
    max-width: 420px;
}

body.woocommerce-page.celebra-site .wc-block-components-checkout-place-order-button,
body.woocommerce-page.celebra-site .see-my-event {
    font-size       : 18px;
    font-weight     : 500;
    text-decoration : none;
    border          : none;
    border-radius   : 8px 8px 8px 8px;
    padding         : 12px 25px 12px 25px;
    background-color: #6c5dd4;
    border          : 1px solid #6c5dd4;
    color           : #fff;
    width           : 100%;
    margin-top      : 20px;
    margin-bottom   : 10px;
    min-height      : 40px;
}

body.woocommerce-page.celebra-site .wc-block-components-checkout-place-order-button:hover,
body.woocommerce-page.celebra-site .see-my-event:hover {
    background-color: #fe829a;
    border          : 1px solid #fe829a;
    color           : #fff;
}

body.woocommerce-page.celebra-site .wc-block-components-address-card__edit:hover {
    background-color: #6c5dd4;
}

body.woocommerce-page.celebra-site .wp-block-woocommerce-checkout-actions-block .wc-block-checkout__actions_row {
    align-items    : center;
    display        : flex;
    justify-content: space-between;
    flex-direction : column-reverse;
}

body.woocommerce-page.celebra-site .wc-block-checkout__terms a {
    color: var(--site-cinza-ardosia);
}

body.woocommerce-page.celebra-site .wc-block-checkout__terms.wc-block-checkout__terms--with-separator {
    border-top : 1px solid hsla(0, 0%, 7%, .11);
    padding-top: 8px !important;
}

body.woocommerce-page.celebra-site .wc-block-checkout__terms {
    margin: 0 0 8px !important;
}

/* Checkout */
.checkout-container {
    display      : flex;
    flex-wrap    : wrap;
    gap          : 20px;
    margin-bottom: 20px;
}
.woocommerce-checkout .page-content{
    position: relative;
    background-color: #ffffff;
    padding: 25px 20px 30px;
    margin-bottom: 24px;
    border-radius: 8px;
    display: flex !important;
    justify-content: center;
    align-items: center;

}
.checkout-left,
.checkout-right {
    flex     : 1;
    min-width: 300px;
}

.checkout-box {
    background   : #fff;
    padding      : 20px;
    border-radius: 6px;
    margin-bottom: 20px;
}
.checkout-box label{
    display: flex;
}
.checkout-box h2,
.checkout-box h3 {
    font-size    : 1.2rem;
    font-weight  : 600;
    margin-bottom: 15px;
}

.checkout-payment {
    width: 100%;
}

.woocommerce-checkout #customer_details .woocommerce-billing-fields__field-wrapper {
	background-color: transparent;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 10px;
}
.woocommerce-checkout #customer_details  .form-row-wide {
	width: 100%;
    display: flex;
    flex-direction: column;
}
.woocommerce-checkout #customer_details  .form-row-first,
.woocommerce-checkout #customer_details  .form-row-last{
	width: 47%;
    display: flex;
    flex-direction: column;
}
/* Responsivo */
@media (max-width: 768px) {
    .checkout-container {
        flex-direction: column;
    }

    .checkout-left,
    .checkout-right {
        width: 100%;
    }
    .checkout-box{
       
        padding: 15px;
    }
    .woocommerce-checkout #customer_details .woocommerce-billing-fields__field-wrapper{
        flex-direction: column;
        gap: 5px
    }
    .woocommerce-checkout #customer_details  .form-row-first,
    .woocommerce-checkout #customer_details  .form-row-last{
        width: 100%;
        display: flex;
        flex-direction: column;
    }
}

@media (max-width: 768px) {

    body.woocommerce-page.celebra-site .wc-block-components-sidebar-layout .wc-block-components-main {
        width: 100%;
    }

    body.woocommerce-page.celebra-site .wc-block-components-sidebar-layout .wc-block-components-sidebar {
        width: 100%;
    }

}

/*
****** PAGINA THAMKYOU *******
*/
#popup-confirmar.open {
    display   : block;
    height    : 100%;
    background: 0 0;
    width     : 100%;
    position  : fixed;
    top       : 0;
    left      : 0;
    bottom    : 0;
    z-index   : 999999;
}

#popup-confirmar:before {
    content   : "";
    display   : block;
    height    : 100%;
    background: #222;
    width     : 100%;
    position  : absolute;
    right     : 0;
    opacity   : 0.85;
}

#popup-confirmar {
    display   : none;
    position  : fixed;
    inset     : 0;
    background: rgba(0, 0, 0, 0.5);
    z-index   : 9999;
}

#popup-confirmar.open {
    display: block;
}

#popup-confirmar-container {
    background   : #fff;
    border-radius: 12px;
    box-shadow   : 0 4px 20px rgba(0, 0, 0, 0.1);
    max-width    : 560px;
    width        : 100%;
    margin       : 60px auto;
    padding      : 24px;
    position     : relative;
    animation    : fadeIn 0.3s ease-in-out;
}

#popup-confirmar h2 {
    font-size    : 24px;
    font-weight  : bold;
    color        : #585858;
    text-align   : center;
    margin-bottom: 16px;
}

#popup-confirmar h3 {
    font-size    : 21px;
    font-weight  : 400;
    color        : #585858;
    text-align   : center;
    margin-bottom: 16px;
}

#popup-confirmar p {
    color        : #585858;
    text-align   : center;
    margin-bottom: 4px;
    font-size    : 16px;
    line-height  : 20px;
    font-weight  : 400;
}

#form-confirmar {
    margin-top: 10px;
    padding   : 10px;
}

#popup-confirmar input[type="number"] {
    width        : 100%;
    padding      : 8px 12px;
    border       : 1px solid #ccc;
    border-radius: 6px;
    font-size    : 14px;
}

#popup-confirmar .btn {
    display         : inline-block;
    background-color: #9378e3;
    color           : #fff;
    padding         : 10px 16px;
    border-radius   : 8px;
    font-size       : 18px;
    font-weight     : 400;
    text-align      : center;
    text-decoration : none;
    cursor          : pointer;
    transition      : background 0.3s;
    width           : 100%;
}

#popup-confirmar .btn:hover {
    background: #8854d0;
}

#popup-confirmar .close-btn {
    position     : absolute;
    top          : 8px;
    right        : 8px;
    background   : #f0f0f0;
    border-radius: 50%;
    padding      : 8px;
    cursor       : pointer;
}

#links-popup-confirmar {
    text-align    : center;
    margin-top    : 10px;
    display       : flex;
    flex-direction: column;
    align-items   : center;
}

#links-popup-confirmar a {
    color          : #585858;
    text-align     : center;
    margin-top     : 6px;
    font-size      : 16px;
    line-height    : 22px;
    font-weight    : 400;
    text-decoration: none;
    display        : inline-block;
}

@keyframes fadeIn {
    from {
        opacity  : 0;
        transform: scale(0.95);
    }

    to {
        opacity  : 1;
        transform: scale(1);
    }
}


/***
EVENT BANNER
***/


/***
SINGLE POST STYLES
***/

.celebra-single-post-wrapper {
    background: #fff;
    padding: 40px 0 80px;
}

.celebra-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

/* Breadcrumb */
.celebra-breadcrumb {
    font-size: 14px;
    color: #666;
    margin-bottom: 30px;
    text-align: center;
}

.celebra-breadcrumb a {
    color: #6c5dd4;
    text-decoration: none;
    transition: color 0.3s;
}

.celebra-breadcrumb a:hover {
    color: #6d28d9;
}

.celebra-breadcrumb .separator {
    margin: 0 8px;
    color: #999;
}

.celebra-breadcrumb .current {
    color: #333;
}

/* Post Header */
.celebra-post-content .entry-header {
    margin-bottom: 30px;
}

.celebra-post-content .entry-title {
    font-size: 42px;
    font-weight: 700;
    line-height: 1.3;
    color: #585858;
    margin: 0 0 20px;
    text-align: center;
}

.celebra-post-content .entry-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    font-size: 14px;
    color: #666;
    padding-bottom: 20px;
    border-bottom: 2px solid #f0f0f0;
    text-align: center;
    justify-content: center;
}

.celebra-post-content .entry-meta span {
    display: flex;
    align-items: center;
    gap: 6px;
}

.celebra-post-content .entry-meta svg {
    color: #6c5dd4;
    flex-shrink: 0;
}

.celebra-post-content .entry-meta a {
    color: #6c5dd4;
    text-decoration: none;
    transition: color 0.3s;
}

.celebra-post-content .entry-meta a:hover {
    color: #6d28d9;
}

/* Featured Image */
.celebra-post-content .post-thumbnail {
    margin: 30px 0;
    border-radius: 12px;
    overflow: hidden;
}

.celebra-post-content .post-thumbnail img {
    width: 100%;
    height: auto;
    display: block;
}

/* Post Content */
.celebra-post-content .entry-content {
    font-size: 18px;
    line-height: 1.8;
    color: #333;
    max-width: 900px;
    margin: 10px auto;
}

.celebra-post-content .entry-content p {
    margin-bottom: 24px;
}

.celebra-post-content .entry-content h2 {
    font-size: 32px;
    font-weight: 700;
    margin: 40px 0 20px;
    color: #585858;
}

.celebra-post-content .entry-content h3 {
    font-size: 26px;
    font-weight: 600;
    margin: 30px 0 16px;
    color: #585858;
}

.celebra-post-content .entry-content h4 {
    font-size: 22px;
    font-weight: 600;
    margin: 24px 0 12px;
    color: #585858;
}

.celebra-post-content .entry-content img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
    margin: 30px 0;
}

.celebra-post-content .entry-content ul,
.celebra-post-content .entry-content ol {
    margin: 20px 0;
    padding-left: 30px;
    list-style-type: disc;
    list-style: disc;
}

.celebra-post-content .entry-content li {
    margin-bottom: 12px;
    line-height: 1.7;
}

.celebra-post-content .entry-content blockquote {
    border-left: 4px solid #6c5dd4;
    padding: 20px 30px;
    margin: 30px 0;
    background: #f9f9f9;
    font-style: italic;
    color: #555;
}

.celebra-post-content .entry-content a {
    color: #6c5dd4;
    text-decoration: underline;
    transition: color 0.3s;
}

.celebra-post-content .entry-content a:hover {
    color: #6d28d9;
}

/* Post Footer */
.celebra-post-content .entry-footer {
    padding-top: 30px;
    border-top: 2px solid #f0f0f0;
    max-width: 900px;
    margin: 40px auto 0;
}

.celebra-post-content .post-tags {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 30px;
}

.celebra-post-content .post-tags svg {
    color: #6c5dd4;
    flex-shrink: 0;
}

.celebra-post-content .post-tags a {
    background: #f0f0f0;
    padding: 6px 12px;
    border-radius: 4px;
    font-size: 14px;
    color: #666;
    text-decoration: none;
    transition: all 0.3s;
}

.celebra-post-content .post-tags a:hover {
    background: #6c5dd4;
    color: white;
}

/* Social Share */
.celebra-post-content .post-share {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.celebra-post-content .post-share .share-label {
    font-weight: 600;
    color: #333;
    font-size: 16px;
}

.celebra-post-content .post-share .share-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    color: white;
    text-decoration: none;
    transition: transform 0.3s, opacity 0.3s, box-shadow 0.3s;
}

.celebra-post-content .post-share .share-btn svg {
    width: 20px;
    height: 20px;
}

.celebra-post-content .post-share .share-btn:hover {
    transform: translateY(-3px);
    opacity: 0.9;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

.celebra-post-content .post-share .facebook {
    background: #3b5998;
}

.celebra-post-content .post-share .twitter {
    background: #1da1f2;
}

.celebra-post-content .post-share .pinterest {
    background: #bd081c;
}

.celebra-post-content .post-share .linkedin {
    background: #0077b5;
}

.celebra-post-content .post-share .whatsapp {
    background: #25d366;
}

/* Author Bio */
.celebra-post-content .author-bio {
    display: flex;
    gap: 20px;
    padding: 30px;
    background: #f9f9f9;
    border-radius: 12px;
    margin: 40px 0;
}

.celebra-post-content .author-avatar {
    flex-shrink: 0;
}

.celebra-post-content .author-avatar img {
    width: 80px;
    height: 80px;
    border-radius: 50%;
}

.celebra-post-content .author-info .author-name {
    font-size: 20px;
    font-weight: 600;
    margin: 0 0 10px;
    color: #585858;
}

.celebra-post-content .author-info .author-description {
    font-size: 15px;
    line-height: 1.6;
    color: #666;
    margin: 0;
}

/* Post Navigation */
.celebra-post-content .post-navigation {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin: 50px auto;
    max-width: 900px;
}

.celebra-post-content .post-navigation a {
    display: flex;
    flex-direction: column;
    padding: 20px;
    background: #f9f9f9;
    border-radius: 8px;
    text-decoration: none;
    transition: all 0.3s;
}

.celebra-post-content .post-navigation a:hover {
    background: #6c5dd4;
    color: white;
    transform: translateY(-3px);
}

.celebra-post-content .post-navigation .nav-label {
    font-size: 14px;
    font-weight: 600;
    color: #6c5dd4;
    margin-bottom: 8px;
}

.celebra-post-content .post-navigation a:hover .nav-label {
    color: white;
}

.celebra-post-content .post-navigation .nav-title {
    font-size: 16px;
    color: #333;
}

.celebra-post-content .post-navigation a:hover .nav-title {
    color: white;
}

.celebra-post-content .post-navigation .nav-next a {
    text-align: right;
}

/* Related Posts */
.celebra-single-post-wrapper .related-posts {    
    padding-top: 40px;
    border-top: 2px solid #f0f0f0;
    max-width: 900px;
    margin: 60px auto 0;
}

.celebra-single-post-wrapper .related-posts .section-title {
    font-size: 32px;
    font-weight: 700;
    margin-bottom: 30px;
    color: #585858;
}

.celebra-single-post-wrapper .related-posts-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 30px;
}

.celebra-single-post-wrapper .related-post-item {
    background: white;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s, box-shadow 0.3s;
}

.celebra-single-post-wrapper .related-post-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.15);
}

.celebra-single-post-wrapper .related-post-thumbnail {
    display: block;
    overflow: hidden;
}

.celebra-single-post-wrapper .related-post-thumbnail img {
    width: 100%;
    height: 160px;
    object-fit: cover;
    transition: transform 0.3s;
}

.celebra-single-post-wrapper .related-post-item:hover .related-post-thumbnail img {
    transform: scale(1.05);
}

.celebra-single-post-wrapper .related-post-content {
    padding: 20px;
}

.celebra-single-post-wrapper .related-post-title {
    font-size: 18px;
    font-weight: 600;
    margin: 0 0 12px;
}

.celebra-single-post-wrapper .related-post-title a {
    color: #585858;
    text-decoration: none;
    transition: color 0.3s;
}

.celebra-single-post-wrapper .related-post-title a:hover {
    color: #6c5dd4;
}

.celebra-single-post-wrapper .related-post-excerpt {
    font-size: 14px;
    line-height: 1.6;
    color: #666;
    margin-bottom: 12px;
}

.celebra-single-post-wrapper .related-post-content .read-more {
    font-size: 14px;
    font-weight: 600;
    color: #6c5dd4;
    text-decoration: none;
    transition: color 0.3s;
}

.celebra-single-post-wrapper .related-post-content .read-more:hover {
    color: #6d28d9;
}

/* Responsive */
@media (max-width: 768px) {
    .celebra-post-content .entry-title {
        font-size: 32px;
    }
    
    .celebra-post-content .entry-content {
        font-size: 16px;
    }
    
    .celebra-post-content .entry-content h2 {
        font-size: 26px;
    }
    
    .celebra-post-content .entry-content h3 {
        font-size: 22px;
    }
    
    .celebra-post-content .author-bio {
        flex-direction: column;
    }
    
    .celebra-post-content .post-navigation {
        grid-template-columns: 1fr;
    }
    
    .celebra-single-post-wrapper .related-posts-grid {
        grid-template-columns: 1fr;
    }
}

/* ========================================
   Estilos para Páginas de Arquivo
   ======================================== */

/* Archive, Category e Tag Pages */
.archive-page,
.category-page,
.tag-page {
    padding: 40px 0;
}

.archive-header,
.category-header,
.tag-header {
    margin-bottom: 40px;
    padding-bottom: 20px;
    border-bottom: 2px solid #e0e0e0;
}

.archive-title,
.category-title,
.tag-title {
    font-size: 2.5em !important;
    color: #585858 !important;
    margin-bottom: 15px;
    font-weight: 700;
}

.archive-description,
.category-description,
.tag-description {
    font-size: 1.1em;
    color: #666;
    line-height: 1.6;
}

/* Grid de Posts */
.posts-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 30px;
    margin-bottom: 40px;
}

.post-item {
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.post-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
}

.post-item .post-thumbnail {
    overflow: hidden;
    height: 220px;
}

.post-item .post-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.post-item:hover .post-thumbnail img {
    transform: scale(1.05);
}

.post-item .post-content {
    padding: 20px;
}

.post-item .entry-title {
    font-size: 18px;
    margin-bottom: 10px;
    line-height: 1.4;
}

.post-item .entry-title a {
    color: #333;
    font-size: 1.3em;
    text-decoration: none;
    transition: color 0.3s ease;
}

.post-item .entry-title a:hover {
    color: #6c5dd4;
}

.post-item .entry-meta {
    font-size: 0.85em;
    color: #777;
    margin-bottom: 15px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.post-item .entry-meta span {
    display: inline-block;
}

.post-item .entry-meta span:not(:last-child)::after {
    content: "•";
    margin-left: 10px;
    color: #ccc;
}

.post-item .entry-summary {
    font-size: 0.95em;
    color: #555;
    line-height: 1.6;
    margin-bottom: 15px;
}

.post-item .entry-footer {
    padding-top: 15px;
    border-top: 1px solid #e0e0e0;
}

.post-item .read-more {
    display: inline-block;
    color: #6c5dd4;
    text-decoration: none;
    font-weight: 600;
    transition: color 0.3s ease;
}

.post-item .read-more:hover {
    color: #6051c4;
}

.post-item .categories a,
.post-item .tags a {
    color: #6c5dd4;
    text-decoration: none;
}

.post-item .categories a:hover,
.post-item .tags a:hover {
    text-decoration: underline;
}

/* Mensagem quando não há posts */
.no-posts {
    text-align: center;
    padding: 60px 20px;
    background: #f8f9fa;
    border-radius: 8px;
}

.no-posts p {
    font-size: 1.2em;
    color: #666;
}

/* ========================================
   Estilos para Página de Pesquisa
   ======================================== */

.search-page {
    padding: 40px 0;
}

.search-header {
    margin-bottom: 40px;
    padding-bottom: 20px;
    border-bottom: 2px solid #e0e0e0;
}

.search-title {
    font-size: 2em;
    color: #333;
    margin-bottom: 20px;
    font-weight: 700;
}

.search-title span {
    color: #6c5dd4;
}

.search-form-wrapper {
    max-width: 600px;
}

.search-form-wrapper .search-form {
    display: flex;
    gap: 10px;
}

.search-form-wrapper .search-field {
    flex: 1;
    padding: 12px 15px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 1em;
}

.search-form-wrapper .search-submit {
    padding: 12px 25px;
    background: #6c5dd4;
    color: #fff;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-weight: 600;
    transition: background 0.3s ease;
}

.search-form-wrapper .search-submit:hover {
    background: #0056b3;
}

.search-results-count {
    margin-bottom: 30px;
    padding: 15px;
    background: #f8f9fa;
    border-radius: 4px;
}

.search-results-count p {
    margin: 0;
    color: #555;
    font-size: 1em;
}

/* Resultados de pesquisa */
.search-results {
    display: flex;
    flex-direction: column;
    gap: 30px;
    margin-bottom: 40px;
}

.search-result-item {
    display: flex;
    gap: 20px;
    background: #fff;
    border-radius: 8px;
    padding: 20px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    transition: box-shadow 0.3s ease;
}

.search-result-item:hover {
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
}

.search-result-item .post-thumbnail {
    flex-shrink: 0;
    width: 150px;
    height: 150px;
    overflow: hidden;
    border-radius: 6px;
}

.search-result-item .post-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.search-result-item .post-content {
    flex: 1;
}

.search-result-item .entry-title {
    font-size: 1.5em;
    margin-bottom: 10px;
    line-height: 1.4;
}

.search-result-item .entry-title a {
    color: #333;
    text-decoration: none;
    transition: color 0.3s ease;
}

.search-result-item .entry-title a:hover {
    color: #6c5dd4;
}

.search-result-item .entry-meta {
    font-size: 0.85em;
    color: #777;
    margin-bottom: 15px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.search-result-item .entry-meta span {
    display: inline-block;
}

.search-result-item .entry-meta span:not(:last-child)::after {
    content: "•";
    margin-left: 10px;
    color: #ccc;
}

.search-result-item .entry-meta .post-type {
    background: #6c5dd4;
    color: #fff;
    padding: 2px 8px;
    border-radius: 3px;
    font-size: 0.9em;
}

.search-result-item .entry-summary {
    font-size: 0.95em;
    color: #555;
    line-height: 1.6;
    margin-bottom: 15px;
}

.search-result-item .entry-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 15px;
    border-top: 1px solid #e0e0e0;
}

.search-result-item .read-more {
    display: inline-block;
    color: #6c5dd4;
    text-decoration: none;
    font-weight: 600;
    transition: color 0.3s ease;
}

.search-result-item .read-more:hover {
    color: #0056b3;
}

.search-result-item .post-taxonomies {
    font-size: 0.85em;
}

.search-result-item .categories a,
.search-result-item .tags a {
    color: #6c5dd4;
    text-decoration: none;
}

.search-result-item .categories a:hover,
.search-result-item .tags a:hover {
    text-decoration: underline;
}

/* Mensagem quando não há resultados */
.no-results {
    text-align: center;
    padding: 60px 20px;
    background: #f8f9fa;
    border-radius: 8px;
}

.no-results h2 {
    font-size: 1.8em;
    color: #333;
    margin-bottom: 15px;
}

.no-results p {
    font-size: 1.1em;
    color: #666;
    margin-bottom: 30px;
}

/* Paginação */
.pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    margin-top: 40px;
    padding-top: 40px;
    border-top: 1px solid #e0e0e0;
}

.pagination .page-numbers {
    display: inline-block;
    padding: 10px 15px;
    background: #fff;
    color: #333;
    text-decoration: none;
    border: 1px solid #ddd;
    border-radius: 4px;
    transition: all 0.3s ease;
}

.pagination .page-numbers:hover {
    background: #6c5dd4;
    color: #fff;
    border-color: #6c5dd4;
}

.pagination .page-numbers.current {
    background: #6c5dd4;
    color: #fff;
    border-color: #6c5dd4;
}

.pagination .page-numbers.dots {
    border: none;
    background: transparent;
}

/* Responsividade */
@media (max-width: 768px) {
    .posts-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .archive-title,
    .category-title,
    .tag-title,
    .search-title {
        font-size: 1.8em;
    }
    
    .search-result-item {
        flex-direction: column;
    }
    
    .search-result-item .post-thumbnail {
        width: 100%;
        height: 200px;
    }
    
    .search-result-item .entry-footer {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }
    
    .search-form-wrapper .search-form {
        flex-direction: column;
    }
    
    .pagination {
        flex-wrap: wrap;
    }
}


/* ============================================
   CHECKOUT - FORMAS DE PAGAMENTO (MODERNO)
   ============================================ */

/* Container principal dos métodos de pagamento */
#payment {
    background: #ffffff;
    border-radius: 16px;
    padding: 24px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
    margin-top: 24px;
}

/* Título da seção */
#payment .wc_payment_methods.payment_methods::before {
    content: "Formas de Pagamento";
    display: block;
    font-size: 18px;
    font-weight: 600;
    color: #2d3748;
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 2px solid #f3f4ff;
}

/* Lista de métodos */
.wc_payment_methods.payment_methods {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* Item individual de pagamento */
.wc_payment_method {
    background: #fafbff;
    border: 2px solid #e8ecf4;
    border-radius: 12px;
    padding: 16px 18px;
    transition: all 0.3s ease;
    cursor: pointer;
    position: relative;
    overflow: hidden;
}

.wc_payment_method:hover {
    border-color: #9378e3;
    background: #f8f6ff;
    box-shadow: 0 4px 12px rgba(147, 120, 227, 0.1);
    transform: translateY(-2px);
}

/* Item selecionado */
.wc_payment_method.selected,
.wc_payment_method:has(input:checked) {
    border-color: #9378e3;
    background: linear-gradient(135deg, #f8f6ff 0%, #ffffff 100%);
    box-shadow: 0 4px 16px rgba(147, 120, 227, 0.15);
}

/* Label do método de pagamento */
.wc_payment_method label {
    display: flex;
    align-items: center;
    gap: 12px;
    cursor: pointer;
    font-weight: 500;
    color: #2d3748;
    font-size: 15px;
    margin: 0 !important;
    padding: 0 !important;
}

/* Radio button customizado */
.wc_payment_method input[type="radio"] {
    appearance: none;
    width: 20px !important;
    height: 20px !important;
    border: 2px solid #cbd5e0;
    border-radius: 50%;
    margin: 0 !important;
    position: relative;
    cursor: pointer;
    transition: all 0.3s ease;
    flex-shrink: 0;
}

.wc_payment_method input[type="radio"]:hover {
    border-color: #9378e3;
}

.wc_payment_method input[type="radio"]:checked {
    border-color: #9378e3;
    background: #9378e3;
    box-shadow: 0 0 0 3px rgba(147, 120, 227, 0.15);
}

.wc_payment_method input[type="radio"]:checked::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 8px;
    height: 8px;
    background: white;
    border-radius: 50%;
}

/* Ícones dos métodos de pagamento */
.wc_payment_method img {
    max-height: 24px;
    width: auto;
    margin-left: auto;
}

/* Box de detalhes do pagamento (Stripe, PIX, etc) */
.payment_box {
    background: #f8f9fa;
    border: 1px solid #e8ecf4;
    border-radius: 10px;
    padding: 16px;
    margin: 12px 0 0 32px;
    animation: slideDown 0.3s ease;
}

@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.payment_box p {
    margin: 0 0 12px 0;
    color: #4a5568;
    font-size: 14px;
    line-height: 1.6;
}

.payment_box p:last-child {
    margin-bottom: 0;
}

/* Campos do Stripe */
.payment_box .form-row {
    margin-bottom: 14px;
}

.payment_box label {
    display: block;
    font-weight: 500;
    color: #2d3748;
    margin-bottom: 6px;
    font-size: 14px;
}

.payment_box input[type="text"],
.payment_box input[type="email"],
.payment_box select {
    width: 100%;
    padding: 10px 14px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    font-size: 14px;
    transition: all 0.2s ease;
    background: white;
}

.payment_box input:focus,
.payment_box select:focus {
    outline: none;
    border-color: #9378e3;
    box-shadow: 0 0 0 3px rgba(147, 120, 227, 0.1);
}

/* Stripe Elements (iframe) */
#stripe-card-element {
    padding: 12px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: white;
    transition: all 0.2s ease;
}

#stripe-card-element.StripeElement--focus {
    border-color: #9378e3;
    box-shadow: 0 0 0 3px rgba(147, 120, 227, 0.1);
}

/* Cartões salvos */
.payment_box .wc-saved-payment-methods {
    margin: 0;
    padding: 0;
    list-style: none;
}

.payment_box .wc-saved-payment-methods li {
    background: white;
    padding: 12px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    margin-bottom: 8px;
}

.payment_box .wc-saved-payment-methods li label {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
}

/* Botão "Utilizar novo método" */
.payment_box .woocommerce-SavedPaymentMethods-new label {
    font-weight: 500;
    color: #9378e3;
}

/* Checkbox de termos */
.woocommerce-terms-and-conditions-wrapper {
    background: #fff9f5;
    border: 1px solid #ffd7ba;
    border-radius: 10px;
    padding: 16px;
    margin: 20px 0;
}

.woocommerce-form__label-for-checkbox {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    cursor: pointer;
}

.woocommerce-form__input-checkbox {
    margin-top: 3px;
    width: 18px;
    height: 18px;
    cursor: pointer;
    accent-color: #9378e3;
}

/* Botão Finalizar Pedido */
#place_order {
    width: 100%;
    background: linear-gradient(135deg, #9378e3 0%, #7c5dcc 100%);
    color: white;
    border: none;
    padding: 16px 32px;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 12px rgba(147, 120, 227, 0.3);
    margin-top: 16px;
}

#place_order:hover {
    background: linear-gradient(135deg, #7c5dcc 0%, #6a4fb8 100%);
    box-shadow: 0 6px 20px rgba(147, 120, 227, 0.4);
    transform: translateY(-2px);
}

#place_order:active {
    transform: translateY(0);
}

#place_order:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    transform: none;
}

/* Mensagens de erro do Stripe */
#stripe-card-errors {
    color: #e53e3e;
    font-size: 13px;
    margin-top: 8px;
    padding: 8px 12px;
    background: #fff5f5;
    border-radius: 6px;
    border-left: 3px solid #e53e3e;
}

/* Teste mode banner */
.payment_box .testmode {
    background: #fff9f0;
    border: 1px solid #ffd89b;
    color: #975a16;
    padding: 12px;
    border-radius: 8px;
    font-size: 13px;
    margin-bottom: 12px;
}

.payment_box .testmode strong {
    color: #744210;
}

/* Responsivo */
@media (max-width: 768px) {
    #payment {
        padding: 16px;
        border-radius: 12px;
    }
    
    .wc_payment_method {
        padding: 14px 16px;
    }
    
    .payment_box {
        margin-left: 0;
    }
    
    #place_order {
        padding: 14px 24px;
        font-size: 15px;
    }
}

/* Animação de carregamento no botão */
#place_order.processing::after {
    content: "";
    display: inline-block;
    width: 14px;
    height: 14px;
    margin-left: 10px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-top-color: white;
    border-radius: 50%;
    animation: spin 0.6s linear infinite;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}

/* Oculta o fieldset do Stripe quando está com display:none */
#wc-stripe-upe-form[style*="display: none"],
#wc-stripe-upe-form[style*="display:none"] {
    display: none !important;
    height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Oculta o checkbox de salvar quando o cartão salvo está selecionado */
.woocommerce-SavedPaymentMethods-saveNew[style*="display: none"],
.woocommerce-SavedPaymentMethods-saveNew[style*="display:none"] {
    display: none !important;
}

/* Política de privacidade link */
.woocommerce-privacy-policy-text a {
    color: #9378e3;
    text-decoration: underline;
}

.woocommerce-privacy-policy-text a:hover {
    color: #7c5dcc;
}
