/* Estilos para la página de cuenta */
.min-h-screen {
    min-height: 100vh;
}

.bg-white {
    background-color: #ffffff;
}

.border-b {
    border-bottom-width: 1px;
}

.border-gray-100 {
    border-color: #f3f4f6;
}

.container {
    width: 100%;
    margin-right: auto;
    margin-left: auto;
    padding-right: 1rem;
    padding-left: 1rem;
}

@media (min-width: 640px) {
    .container {
        max-width: 640px;
    }
}

@media (min-width: 768px) {
    .container {
        max-width: 768px;
    }
}

@media (min-width: 1024px) {
    .container {
        max-width: 1024px;
    }
}

.px-4 {
    padding-left: 1rem;
    padding-right: 1rem;
}

.py-4 {
    padding-top: 1rem;
    padding-bottom: 1rem;
}

.py-12 {
    padding-top: 3rem;
    padding-bottom: 3rem;
}

.flex {
    display: flex;
}

.flex-col {
    flex-direction: column;
}

@media (min-width: 768px) {
    .md\:flex-row {
        flex-direction: row;
    }
}

.items-center {
    align-items: center;
}

.justify-between {
    justify-content: space-between;
}

.space-x-8 > * + * {
    margin-left: 2rem;
}

.space-x-6 > * + * {
    margin-left: 1.5rem;
}

.space-x-4 > * + * {
    margin-left: 1rem;
}

.space-x-2 > * + * {
    margin-left: 0.5rem;
}

.hidden {
    display: none;
}

@media (min-width: 768px) {
    .md\:flex {
        display: flex;
    }
}

.text-sm {
    font-size: 0.875rem;
}

.font-medium {
    font-weight: 500;
}

.text-gray-700 {
    color: #374151;
}

.hover\:text-black:hover {
    color: #000000;
}

.transition-colors {
    transition-property: color, background-color, border-color;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}

.relative {
    position: relative;
}

.absolute {
    position: absolute;
}

.-top-2 {
    top: -0.5rem;
}

.-right-2 {
    right: -0.5rem;
}

.bg-black {
    background-color: #000000;
}

.text-white {
    color: #ffffff;
}

.text-xs {
    font-size: 0.75rem;
}

.rounded-full {
    border-radius: 9999px;
}

.h-4 {
    height: 1rem;
}

.w-4 {
    width: 1rem;
}

.flex-1 {
    flex: 1 1 0%;
}

.gap-8 {
    gap: 2rem;
}

.gap-6 {
    gap: 1.5rem;
}

.gap-4 {
    gap: 1rem;
}

.gap-3 {
    gap: 0.75rem;
}

.w-full {
    width: 100%;
}

.mb-6 {
    margin-bottom: 1.5rem;
}

.mb-8 {
    margin-bottom: 2rem;
}

.mb-4 {
    margin-bottom: 1rem;
}

.mb-2 {
    margin-bottom: 0.5rem;
}

.mb-1 {
    margin-bottom: 0.25rem;
}

.mb-3 {
    margin-bottom: 0.75rem;
}

.w-64 {
    width: 16rem;
}

.shrink-0 {
    flex-shrink: 0;
}

.space-y-6 > * + * {
    margin-top: 1.5rem;
}

.space-y-4 > * + * {
    margin-top: 1rem;
}

.space-y-2 > * + * {
    margin-top: 0.5rem;
}

.space-y-1 > * + * {
    margin-top: 0.25rem;
}

.text-2xl {
    font-size: 1.5rem;
}

.font-bold {
    font-weight: 700;
}

.text-gray-600 {
    color: #4b5563;
}

.grid {
    display: grid;
}

.grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
}

@media (min-width: 768px) {
    .md\:grid-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 1024px) {
    .lg\:grid-cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.overflow-hidden {
    overflow: hidden;
}

.group:hover .group-hover\:scale-105 {
    transform: scale(1.05);
}

.transition-transform {
    transition-property: transform;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}

.aspect-square {
    aspect-ratio: 1 / 1;
}

.bg-gray-50 {
    background-color: #f9fafb;
}

.text-red-600 {
    color: #dc2626;
}

.border-red-600 {
    border-color: #dc2626;
}

.hover\:bg-red-50:hover {
    background-color: #fef2f2;
}

/* Estilos para las tarjetas */
.card {
    background-color: #ffffff;
    border-radius: 0.5rem;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
}

.card-header {
    padding: 1.5rem;
}

.card-content {
    padding: 1.5rem;
}

.card-footer {
    padding: 1.5rem;
    border-top: 1px solid #e5e7eb;
}

.card-title {
    font-size: 1.25rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
}

.card-description {
    color: #6b7280;
    font-size: 0.875rem;
}

/* Estilos para los botones */
.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.5rem 1rem;
    font-size: 0.875rem;
    font-weight: 500;
    border-radius: 0.375rem;
    transition: all 0.2s;
}

.button-primary {
    background-color: #000000;
    color: #ffffff;
}

.button-primary:hover {
    background-color: rgba(0, 0, 0, 0.9);
}

.button-outline {
    border: 1px solid #000 !important;
    color: #000 !important;
    background-color: transparent;
}

.button-outline:hover {
    background-color: #f3f3f3;
    color: #000 !important;
    border-color: #000 !important;
}

.button-ghost {
    color: #000 !important;
    border: 1px solid #000 !important;
    background-color: transparent;
}

.button-ghost:hover {
    background-color: #f3f3f3;
    color: #000 !important;
    border-color: #000 !important;
}

/* Estilos para los inputs */
.input {
    width: 100%;
    padding: 0.5rem;
    border: 1px solid #e5e7eb;
    border-radius: 0.375rem;
    font-size: 0.875rem;
}

.input:focus {
    outline: none;
    border-color: #000000;
    box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.1);
}

/* Estilos para las etiquetas */
.label {
    display: block;
    font-size: 0.875rem;
    font-weight: 500;
    margin-bottom: 0.5rem;
}

/* Estilos para el avatar */
.avatar {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 9999px;
    overflow: hidden;
}

.avatar-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.avatar-fallback {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #e5e7eb;
    color: #6b7280;
    font-size: 0.875rem;
    font-weight: 500;
}

/* Cambios de color a negro */
.tabs-trigger,
.tabs-trigger:focus,
.tabs-trigger:active {
    border-color: #000 !important;
    color: #000 !important;
}

.tabs-trigger.active, .tabs-trigger:active, .tabs-trigger:focus {
    background: #000 !important;
    color: #fff !important;
    border-color: #000 !important;
}

/* Estilos para la página de tarjeta de regalo YITH Gift Cards */

.product.product-type-gift-card {
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px 20px;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
}
.product-type-gift-card .summary .price { display: none; }
.product-type-gift-card .yith_wapo_group_total .price { display: block; }
.product-type-gift-card .product_meta { display: none; }
.product-type-gift-card .woocommerce-product-gallery__wrapper { box-shadow: 0 0 19px -12px gray; }
.product-type-gift-card .woocommerce-product-gallery__image { padding: 1em; }
.product-type-gift-card .woocommerce-product-gallery img { border-radius: 12px; overflow: hidden; }
.ywgc-main-form-preview-container {
  border: 1px solid #f0f0f0;
  border-radius: 12px;
  padding: 20px;
  margin-top: 30px;
  background-color: #fff;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
  height: auto;
  min-height: 20em;
  transition: box-shadow 0.3s ease;
}
.ywgc-main-form-preview-container:hover { box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12); }
.ywgc-form-preview-title-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 15px;
}
.ywgc-form-preview-title { font-size: 18px; font-weight: 600; color: #000; }
.ywgc-form-preview-amount { font-size: 18px; font-weight: 600; color: #000; white-space: nowrap; }
.ywgc-form-preview-from-to-container { margin: 20px 0; font-size: 14px; line-height: 1.6; }
.ywgc-form-preview-from, .ywgc-form-preview-to { font-weight: 600; color: #000; }
.ywgc-form-preview-separator { width: 40px; height: 3px; margin-top: 10px; background-color: #0099e5; }
.ywgc-form-preview-message-container { margin-top: 20px; font-size: 14px; line-height: 1.6; color: #666; font-style: italic; }
.product-type-gift-card .summary { margin-bottom: 40px; }
.product-type-gift-card .product_title { font-size: 28px; font-weight: 600; margin-bottom: 15px; color: #000; }
.gift-cards_form { margin-top: 30px; display: block !important; }
.gift-cards_form h3 { font-size: 18px; font-weight: 600; margin: 30px 0 15px; color: #000; border-bottom: 1px solid #f0f0f0; padding-bottom: 10px; }
.ywgc-design-list { margin-bottom: 30px; width: 100%; }
.ywgc-design-list ul { display: flex; flex-wrap: wrap; gap: 15px; padding: 0; margin: 0 -5px; list-style: none; }
.ywgc-design-list ul:after { content: ''; display: block; clear: both; }
.ywgc-design-list ul li { padding: 5px; display: inline-block; }
.ywgc-preset-image { border: 2px solid #f0f0f0; border-radius: 10px; overflow: hidden; cursor: pointer; transition: all 0.3s ease; position: relative; transform: scale(1); }
.ywgc-preset-image:hover { border-color: #ccc; transform: scale(1.03); }
.ywgc-preset-image.selected_image_parent { border-color: #000; transform: scale(1.05); box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1); }
.ywgc-preset-image.selected_image_parent:after { content: ''; display: block; width: 20px; height: 20px; position: absolute; border-radius: 50%; background-color: #000; top: -5px; right: -5px; background-image: url("../images/default-picture.png"); background-size: 10px; background-repeat: no-repeat; background-position: center; }
.ywgc-preset-image img { display: block; max-width: 100%; height: auto; }
.ywgc-design-list .ywgc-preset-image img { height: 150px; width: 150px; }
.gift-cards-list { margin-bottom: 30px; }
.ywgc-predefined-amount-button { display: inline-block; padding: 12px 20px; margin: 0 10px 10px 0; background-color: transparent; color: #000; border: 2px solid #f0f0f0; border-radius: 50px; font-weight: 500; cursor: pointer; transition: all 0.3s ease; position: relative; overflow: hidden; }
.ywgc-predefined-amount-button::after { content: ''; position: absolute; top: 50%; left: 50%; width: 0; height: 0; background-color: rgba(0, 0, 0, 0.05); border-radius: 50%; transform: translate(-50%, -50%); transition: width 0.5s, height 0.5s; }
.ywgc-predefined-amount-button:hover { border-color: #ccc; }
.ywgc-predefined-amount-button:hover::after { width: 200%; height: 200%; }
.ywgc-predefined-amount-button.selected_button { background-color: #000; color: #fff; border-color: #000; }
.gift-card-content-editor { margin-bottom: 30px; width: 100%; }
.gift-card-content-editor:after { content: ''; display: block; clear: both; }
.gift-card-content-editor.step-content h5 { font-size: 16px; font-weight: 600; margin: 20px 0 15px; color: #000; }
.ywgc-recipient-name, .ywgc-recipient-email, .ywgc-sender-name, .ywgc-message { margin-bottom: 15px; }
.gift-card-content-editor.step-content label { display: inline-block; font-weight: 400; text-align: left; vertical-align: middle; line-height: 46px; width: 30%; float: left; }
.gift-card-content-editor.step-content input { float: right; width: 70%; font-size: 14px; padding: 12px 15px; border: 1px solid #ddd; border-radius: 8px; transition: all 0.3s ease; }
.gift-card-content-editor.step-content input::placeholder { font-size: 12px; }
.gift-card-content-editor.step-content input:focus { border-color: #000; outline: none; transform: translateY(-2px); box-shadow: 0 5px 10px rgba(0, 0, 0, 0.05); }
.gift-card-content-editor.step-content textarea { float: right; width: 70%; font-size: 14px; min-height: 100px; resize: vertical; padding: 12px 15px; border: 1px solid #ddd; border-radius: 8px; transition: all 0.3s ease; background-color: #f9f9f9; }
.gift-card-content-editor.step-content textarea::placeholder { font-size: 12px; }
.gift-card-content-editor.step-content textarea:focus { border-color: #000; outline: none; background-color: #fff; transform: translateY(-2px); box-shadow: 0 5px 10px rgba(0, 0, 0, 0.05); }
.yith_wc_gift_card_input_recipient_details:required { border-left: 3px solid #0099e5; }
.gift_card_template_button { margin-top: 30px; }
.gift_card_template_button .quantity { display: inline-block; margin-right: 10px; }
.gift_card_template_button .quantity input { width: 60px; height: 45px; padding: 0 10px; border: 1px solid #ddd; border-radius: 8px; text-align: center; font-weight: 500; -moz-appearance: textfield; }
.gift_card_template_button .quantity input::-webkit-outer-spin-button, .gift_card_template_button .quantity input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.gift_card_add_to_cart_button { display: inline-block; padding: 12px 25px; background-color: #000; color: #fff; border: 2px solid #000; border-radius: 50px; font-weight: 500; text-decoration: none; text-transform: none; transition: all 0.3s ease; font-size: 14px; cursor: pointer; }
.gift_card_add_to_cart_button:hover { background-color: #333; border-color: #333; }
.yith-add-to-wishlist-button-block { margin-top: 20px; }
.yith-wcwl-add-to-wishlist-button { display: flex; align-items: center; color: #666; text-decoration: none; transition: color 0.3s ease; }
.yith-wcwl-add-to-wishlist-button:hover { color: #000; }
.yith-wcwl-add-to-wishlist-button svg { width: 20px; height: 20px; margin-right: 8px; }
.woocommerce-tabs { margin-top: 50px; clear: both; }
.woocommerce-tabs ul.tabs { margin: 0 !important; padding: 0 !important; text-align: center; border-bottom: 1px solid #f0f0f0; overflow: visible !important; }
.woocommerce-tabs ul.tabs::before { border: none !important; }
.woocommerce-tabs ul.tabs li { background: transparent !important; border: none !important; border-radius: 0 !important; margin: 0 20px !important; padding: 0 !important; position: relative; z-index: 1; }
.woocommerce-tabs ul.tabs li::before, .woocommerce-tabs ul.tabs li::after { display: none !important; }
.woocommerce-tabs ul.tabs li a { padding: 15px 5px !important; font-weight: 500 !important; color: #999 !important; text-decoration: none; font-size: 16px; position: relative; transition: all 0.3s ease; }
.woocommerce-tabs ul.tabs li.active a { color: #000 !important; font-weight: 600 !important; }
.woocommerce-tabs ul.tabs li.active::after { content: ""; position: absolute; bottom: -1px; left: 0; width: 100%; height: 3px; background-color: #0099e5; display: block !important; box-shadow: none !important; border: none !important; }
.woocommerce-tabs .panel { margin: 0 !important; padding: 30px 0 !important; }
.woocommerce-tabs .panel h2 { font-size: 20px; font-weight: 600; margin-bottom: 20px; }
.woocommerce-Reviews-title { font-size: 20px; font-weight: 600; margin-bottom: 20px; }
.woocommerce-noreviews { margin-bottom: 30px; color: #666; }
#review_form_wrapper { margin-top: 30px; padding-top: 30px; border-top: 1px solid #f0f0f0; }
#reply-title { font-size: 18px; font-weight: 600; margin-bottom: 20px; display: block; }
.comment-form-rating { margin-bottom: 20px; }
.comment-form-rating label { display: block; margin-bottom: 10px; font-weight: 500; }
.stars a { color: #FFD700; font-size: 18px; margin-right: 5px; }
.comment-form-comment label { display: block; margin-bottom: 10px; font-weight: 500; }
.comment-form-comment textarea { width: 100%; padding: 12px 15px; border: 1px solid #ddd; border-radius: 8px; font-size: 14px; min-height: 120px; resize: vertical; }
.form-submit input[type="submit"] { display: inline-block; padding: 12px 25px; background-color: #000; color: #fff; border: 2px solid #000; border-radius: 50px; font-weight: 500; text-decoration: none; text-transform: none; transition: all 0.3s ease; font-size: 14px; cursor: pointer; margin-top: 15px; }
.form-submit input[type="submit"]:hover { background-color: #333; border-color: #333; }
.ywgc-message-character-count { font-size: 12px; color: #999; text-align: right; margin-top: 5px; float: right; width: 70%; }
.ywgc-form-error, .ywgc-bad-email-format, .ywgc-manual-amount-error { font-size: 12px; color: #e63946; margin-top: 5px; display: block; float: right; width: 70%; }
@media (max-width: 768px) {
  .product-type-gift-card { display: flex; flex-direction: column; }
  .product-type-gift-card .woocommerce-product-gallery, .product-type-gift-card .summary { width: 100%; float: none; }
  .ywgc-design-list ul { justify-content: center; }
  .gift-cards-list { text-align: center; }
  .ywgc-predefined-amount-button { margin: 0 5px 10px; }
  .gift-card-content-editor.step-content label, .gift-card-content-editor.step-content input, .gift-card-content-editor.step-content textarea { float: none; width: 100%; }
  .gift-card-content-editor.step-content label { line-height: 1.5; margin-bottom: 5px; }
  .ywgc-message-character-count, .ywgc-form-error, .ywgc-bad-email-format, .ywgc-manual-amount-error { width: 100%; float: none; }
  .gift_card_template_button { display: flex; flex-direction: column; align-items: center; }
  .gift_card_template_button .quantity { margin-right: 0; margin-bottom: 15px; }
  .gift_card_add_to_cart_button { width: 100%; text-align: center; }
  .woocommerce-tabs ul.tabs { display: flex; overflow-x: auto; white-space: nowrap; padding-bottom: 5px !important; }
  .woocommerce-tabs ul.tabs li { margin: 0 10px !important; }
  .woocommerce-tabs ul.tabs li a { font-size: 14px; padding: 12px 3px !important; }
}
@media (max-width: 480px) {
  .product-type-gift-card .product_title { font-size: 24px; }
  .ywgc-design-item { width: 50%; }
  .ywgc-predefined-amount-button { width: calc(50% - 10px); margin: 0 5px 10px; padding: 10px; }
} 