/* Agenda PEI — estilos públicos (reserva, Mi cuenta, checkout) */

.peia-booking, .peia-account, .peia-thankyou, .peia-checkout-notice, .peia-account-summary {
	--peia-vino: #5E2431; --peia-vino-m: #7A3A46; --peia-rosa: #B06A73; --peia-crema: #FAF7F2; --peia-arena: #F1E6E3;
	--peia-tinta: #2B2326; --peia-gris: #6E6266; --peia-borde: #E8DFDD; --peia-ok: #1e6b3a; --peia-error: #a12622;
	color: var(--peia-tinta); line-height: 1.55;
}

/* Bloques básicos */
.peia-card { background: #fff; border: 1px solid var(--peia-borde); border-radius: 24px; padding: 28px; margin: 0 0 20px; box-shadow: 0 10px 30px rgba(94, 36, 49, .06); }
.peia-h2 { font-size: 28px; line-height: 1.2; margin: 0 0 12px; color: var(--peia-vino); font-weight: 600; }
.peia-h3 { font-size: 20px; line-height: 1.3; margin: 24px 0 12px; color: var(--peia-vino); font-weight: 600; }
.peia-h3:first-child { margin-top: 0; }
.peia-muted { color: var(--peia-gris); }
.peia-small { font-size: 14px; }
.peia-btn { display: inline-block; background: var(--peia-vino-m); color: #fff !important; text-decoration: none !important; border: 2px solid var(--peia-vino-m); border-radius: 999px; padding: 12px 26px; font-weight: 600; font-size: 15px; line-height: 1.2; cursor: pointer; transition: background .2s, border-color .2s, transform .1s; }
.peia-btn:hover { background: var(--peia-vino); border-color: var(--peia-vino); }
.peia-btn:disabled { opacity: .55; cursor: default; }
.peia-btn-outline { background: transparent; color: var(--peia-vino-m) !important; }
.peia-btn-outline:hover { background: var(--peia-crema); color: var(--peia-vino) !important; }
.peia-btn-small { padding: 8px 16px; font-size: 13px; }
.peia-btn-link { background: none; border: 0; color: var(--peia-vino-m); text-decoration: underline; cursor: pointer; padding: 0; font: inherit; }
.peia-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.peia-error-msg { background: #fdecea; color: var(--peia-error); border-radius: 12px; padding: 10px 14px; margin: 10px 0; font-size: 14px; }

/* Saldo */
.peia-balances { display: flex; flex-wrap: wrap; gap: 12px; margin: 0 0 16px; }
.peia-balance { flex: 1 1 160px; background: var(--peia-crema); border: 1px solid var(--peia-borde); border-radius: 16px; padding: 14px 18px; }
.peia-balance b { display: block; font-size: 30px; line-height: 1.1; color: var(--peia-vino); font-weight: 600; }
.peia-balance span { color: var(--peia-gris); font-size: 13px; }

/* Productos */
.peia-products { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px; margin-top: 8px; }
.peia-product { display: flex; flex-direction: column; gap: 6px; background: #fff; border: 2px solid var(--peia-borde); border-radius: 16px; padding: 16px 18px; text-decoration: none !important; color: var(--peia-tinta) !important; transition: border-color .2s, transform .15s; }
.peia-product:hover { border-color: var(--peia-vino-m); transform: translateY(-2px); }
.peia-product-name { font-weight: 600; }
.peia-product-price { color: var(--peia-vino); font-size: 20px; font-weight: 600; }

/* Widget de reserva */
.peia-booking { max-width: 860px; margin: 0 auto; }
.peia-booking-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 8px; }
.peia-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.peia-chip { display: inline-flex; align-items: center; gap: 6px; background: var(--peia-crema); border: 1px solid var(--peia-borde); border-radius: 999px; padding: 6px 14px; font-size: 14px; }
.peia-chip b { color: var(--peia-vino); }
.peia-steps { counter-reset: step; }
.peia-step { border-top: 1px solid var(--peia-arena); padding: 22px 0 6px; }
.peia-step:first-child { border-top: 0; padding-top: 0; }
.peia-step-title { display: flex; align-items: center; gap: 10px; font-size: 18px; font-weight: 600; color: var(--peia-vino); margin: 0 0 14px; }
.peia-step-title::before { counter-increment: step; content: counter(step); width: 28px; height: 28px; border-radius: 50%; background: var(--peia-vino-m); color: #fff; font-size: 14px; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 28px; }
.peia-step.is-done .peia-step-title::before { content: "✓"; background: var(--peia-ok); }
.peia-step-summary { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; color: var(--peia-tinta); }
.peia-choice { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; }
.peia-choice button { text-align: left; background: #fff; border: 2px solid var(--peia-borde); border-radius: 16px; padding: 16px 18px; cursor: pointer; font: inherit; color: var(--peia-tinta); transition: border-color .2s; }
.peia-choice button:hover, .peia-choice button.is-selected { border-color: var(--peia-vino-m); background: var(--peia-crema); }
.peia-choice button:disabled { opacity: .6; cursor: default; }
.peia-choice .peia-choice-name { display: block; font-weight: 600; font-size: 16px; }
.peia-choice .peia-choice-meta { display: block; color: var(--peia-gris); font-size: 13px; margin-top: 4px; }

/* Calendario */
.peia-cal-wrap { display: grid; grid-template-columns: minmax(280px, 440px) minmax(200px, 1fr); gap: 24px; align-items: start; }
@media (max-width: 700px) { .peia-cal-wrap { grid-template-columns: 1fr; } }
.peia-cal-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }
.peia-cal-head .peia-cal-month { font-weight: 600; text-transform: capitalize; font-size: 16px; }
.peia-cal-nav { background: #fff; border: 1px solid var(--peia-borde); border-radius: 50%; width: 36px; height: 36px; cursor: pointer; color: var(--peia-vino); font-size: 18px; line-height: 1; }
.peia-cal-nav:disabled { opacity: .35; cursor: default; }
.peia-cal-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; }
.peia-cal-dow { text-align: center; font-size: 12px; color: var(--peia-gris); padding: 4px 0; }
.peia-cal-day { aspect-ratio: 1; border: 0; background: transparent; border-radius: 50%; font: inherit; font-size: 14px; color: var(--peia-gris); cursor: default; position: relative; }
.peia-cal-day.is-available { background: var(--peia-crema); color: var(--peia-tinta); font-weight: 600; cursor: pointer; border: 1px solid var(--peia-borde); }
.peia-cal-day.is-available:hover { border-color: var(--peia-vino-m); }
.peia-cal-day.is-selected { background: var(--peia-vino-m) !important; color: #fff !important; border-color: var(--peia-vino-m) !important; }
.peia-cal-day.is-today::after { content: ""; position: absolute; bottom: 5px; left: 50%; width: 4px; height: 4px; margin-left: -2px; border-radius: 50%; background: var(--peia-rosa); }
.peia-cal-day.is-empty { visibility: hidden; }
.peia-cal-loading { opacity: .5; pointer-events: none; }
.peia-slots-title { font-weight: 600; margin: 0 0 8px; text-transform: capitalize; }
.peia-slots { display: grid; grid-template-columns: repeat(auto-fill, minmax(84px, 1fr)); gap: 8px; }
.peia-slots button { background: #fff; border: 1px solid var(--peia-borde); border-radius: 10px; padding: 9px 6px; font: inherit; font-size: 15px; cursor: pointer; color: var(--peia-tinta); }
.peia-slots button:hover, .peia-slots button.is-selected { background: var(--peia-vino-m); color: #fff; border-color: var(--peia-vino-m); }
.peia-hint { color: var(--peia-gris); font-size: 13px; margin-top: 10px; }

/* Confirmación */
.peia-summary { background: var(--peia-crema); border: 1px solid var(--peia-borde); border-radius: 16px; padding: 16px 18px; margin-bottom: 16px; }
.peia-summary b { color: var(--peia-vino); }
.peia-summary .peia-summary-line { display: block; }
.peia-field { margin: 0 0 14px; }
.peia-field label { display: block; font-weight: 600; font-size: 14px; margin-bottom: 4px; }
.peia-field input[type=tel] { width: 100%; max-width: 320px; border: 1px solid var(--peia-borde); border-radius: 10px; padding: 10px 12px; font: inherit; }
.peia-field .peia-help { color: var(--peia-gris); font-size: 13px; margin: 4px 0 0; }
.peia-consent { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; margin: 0 0 16px; }
.peia-consent input { margin-top: 4px; }
.peia-success { text-align: center; padding: 10px 0; }
.peia-success .peia-success-icon { width: 64px; height: 64px; border-radius: 50%; background: #e6f4ea; color: var(--peia-ok); font-size: 32px; line-height: 64px; margin: 0 auto 14px; }
.peia-success .peia-summary { text-align: left; display: inline-block; min-width: 60%; }

/* Próximas citas */
.peia-appointments { list-style: none; margin: 0; padding: 0; }
.peia-appointment { border: 1px solid var(--peia-borde); border-radius: 14px; padding: 12px 16px; margin: 0 0 10px; display: flex; flex-wrap: wrap; gap: 6px 16px; align-items: center; }
.peia-appointment-when { font-weight: 600; text-transform: capitalize; }
.peia-appointment-what { color: var(--peia-gris); }
.peia-appointments-past .peia-appointment { opacity: .8; }
.peia-status { display: inline-block; padding: 1px 8px; border-radius: 999px; font-size: 12px; background: var(--peia-arena); color: var(--peia-vino); }
.peia-status-cancelled { background: #fdecea; color: var(--peia-error); }
.peia-status-completed { background: #e6f4ea; color: var(--peia-ok); }

/* Página de gracias y checkout */
.peia-thankyou { background: var(--peia-crema); border: 1px solid var(--peia-borde); border-radius: 24px; padding: 26px 28px; margin: 0 0 28px; text-align: center; }
.peia-thankyou h2 { color: var(--peia-vino); margin: 0 0 8px; font-size: 26px; }
.peia-thankyou .peia-btn { margin-top: 6px; }
.peia-checkout-notice { background: var(--peia-crema); border-left: 4px solid var(--peia-rosa); border-radius: 8px; padding: 10px 14px; margin: 0 0 18px; font-size: 14px; }
.peia-account-summary { margin: 0 0 18px; }
.peia-account-summary .peia-btn { margin-left: 6px; }
.woocommerce-account .peia-balances { margin-top: 4px; }

/* WooCommerce: Mi cuenta y checkout con la paleta de la web */
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0 0 24px; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.woocommerce-account .woocommerce-MyAccount-navigation li { margin: 0; padding: 0; list-style: none; }
.woocommerce-account .woocommerce-MyAccount-navigation a { display: block; padding: 10px 16px; border-radius: 999px; color: #5E2431 !important; text-decoration: none !important; background: #FAF7F2; border: 1px solid #E8DFDD; font-weight: 500; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a, .woocommerce-account .woocommerce-MyAccount-navigation a:hover { background: #7A3A46; color: #fff !important; border-color: #7A3A46; }
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child a { background: transparent; border-color: transparent; color: #6E6266 !important; }
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child a:hover { color: #5E2431 !important; }
@media (min-width: 769px) { .woocommerce-account .woocommerce-MyAccount-navigation { width: 24%; } .woocommerce-account .woocommerce-MyAccount-content { width: 72%; } }
.woocommerce .peia-account .peia-btn, .woocommerce .peia-thankyou .peia-btn, .woocommerce .peia-account-summary .peia-btn { color: #fff !important; }
.woocommerce .peia-account .peia-btn-outline { color: #7A3A46 !important; }
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info, .woocommerce-checkout .woocommerce-info { border-top-color: #7A3A46; }
.woocommerce-checkout .woocommerce-info::before, .woocommerce-checkout .woocommerce-message::before { color: #7A3A46; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row .select2-container .select2-selection--single, .woocommerce-checkout #coupon_code, .woocommerce form.login .input-text, .woocommerce form.register .input-text, .woocommerce-EditAccountForm .input-text, .woocommerce-address-fields .input-text { border: 1px solid #E8DFDD !important; border-radius: 10px !important; padding: 10px 12px !important; background: #fff !important; color: #2B2326 !important; height: auto !important; box-shadow: none !important; }
.woocommerce form .form-row input.input-text:focus, .woocommerce form .form-row textarea:focus { border-color: #7A3A46 !important; outline: none; }
.woocommerce form .form-row label { color: #2B2326; font-weight: 500; }
.woocommerce .woocommerce-info, .woocommerce .woocommerce-message, .woocommerce .woocommerce-error, .woocommerce-page .woocommerce-info, .woocommerce-page .woocommerce-message { background: #FAF7F2 !important; color: #2B2326 !important; border: 1px solid #E8DFDD !important; border-left: 4px solid #B06A73 !important; border-radius: 12px !important; padding: 14px 18px 14px 20px !important; }
.woocommerce .woocommerce-error, .woocommerce-page .woocommerce-error { border-left-color: #a12622 !important; }
.woocommerce .woocommerce-info a, .woocommerce .woocommerce-message a, .woocommerce-page .woocommerce-info a { color: #7A3A46 !important; font-weight: 600; }
.woocommerce .woocommerce-info::before, .woocommerce .woocommerce-message::before, .woocommerce .woocommerce-error::before { display: none !important; }
.woocommerce h2, .woocommerce h3, .woocommerce-page h2, .woocommerce-page h3 { color: #5E2431; }
.woocommerce-checkout .woocommerce-checkout-review-order-table th, .woocommerce-checkout .woocommerce-checkout-review-order-table td { border-color: #E8DFDD !important; }
.woocommerce-checkout .woocommerce-checkout-review-order-table dl.variation dt, .woocommerce-checkout .woocommerce-checkout-review-order-table dl.variation dd { font-size: 13px; color: #6E6266; }
.woocommerce-checkout #payment { background: #FAF7F2 !important; border-radius: 16px !important; }
.woocommerce-checkout #payment div.payment_box { background: #fff !important; border-radius: 12px; }
.woocommerce-checkout #payment div.payment_box::before { display: none !important; }
.woocommerce form.checkout_coupon { border: 1px solid #E8DFDD !important; border-radius: 12px !important; padding: 16px !important; }
.woocommerce form.checkout_coupon .button { background: #7A3A46 !important; color: #fff !important; border-radius: 999px !important; }
.woocommerce form .form-row .select2-container .select2-selection--single .select2-selection__arrow { top: 50%; transform: translateY(-50%); }
.woocommerce #payment #place_order, .woocommerce button.button.alt, .woocommerce-page button.button.alt, .woocommerce .woocommerce-form-login .button, .woocommerce .lost_reset_password .button { background: #7A3A46 !important; color: #fff !important; border-radius: 999px !important; padding: 12px 26px !important; font-weight: 600 !important; }
.woocommerce #payment #place_order:hover, .woocommerce button.button.alt:hover { background: #5E2431 !important; }
.woocommerce table.shop_table { border-radius: 16px; border-color: #E8DFDD; }
.woocommerce .woocommerce-order-details, .woocommerce .woocommerce-customer-details { margin-top: 24px; }

@media (max-width: 768px) {
	.woocommerce-account .woocommerce-MyAccount-navigation ul { flex-direction: row; flex-wrap: wrap; gap: 8px; margin-bottom: 20px; }
	.woocommerce-account .woocommerce-MyAccount-navigation a { padding: 8px 14px; font-size: 14px; }
	.woocommerce-account .woocommerce-MyAccount-navigation li:last-child a { padding-left: 6px; }
}
