@charset "UTF-8";
.boscos-subscriptions-list {
  margin: 2rem 0;
}

.subscriptions-header {
  text-align: center;
  margin-bottom: 2rem;
  padding: 2rem;
  background: linear-gradient(135deg, #F7F4EF 0%, #E8E0D5 100%);
  color: #5D4E37;
  border-radius: 12px;
}
.subscriptions-header h2 {
  margin: 0 0 0.5rem 0;
  font-size: 2rem;
  color: #5D4E37;
}
.subscriptions-header p {
  margin: 0;
  opacity: 0.9;
  font-size: 1.1rem;
}

.subscriptions-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
  gap: 1.5rem;
}
@media (max-width: 768px) {
  .subscriptions-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
}
.subscriptions-grid {
  margin-bottom: 2rem;
}

.subscription-card {
  background: #FDFCFA;
  border: 1px solid #D4C4B0;
  border-radius: 12px;
  padding: 1.5rem;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}
.subscription-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}
.subscription-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #F7F4EF, #E8E0D5);
}

.subscription-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #f0f0f0;
}

.subscription-id a {
  font-size: 1.2rem;
  font-weight: bold;
  color: #5D4E37;
  text-decoration: none;
}
.subscription-id a:hover {
  color: #D4A574;
}

.status-badge {
  padding: 0.5rem 1rem;
  border-radius: 20px;
  font-weight: bold;
  text-transform: uppercase;
  font-size: 0.8rem;
  display: inline-block;
  background: #E8F5E8;
  color: #5D4E37;
}
.status-badge.status-active {
  padding: 0.5rem 1rem;
  border-radius: 20px;
  font-weight: bold;
  text-transform: uppercase;
  font-size: 0.8rem;
  display: inline-block;
  background: #E8F5E8;
  color: #5D4E37;
}
.status-badge.status-on-hold {
  padding: 0.5rem 1rem;
  border-radius: 20px;
  font-weight: bold;
  text-transform: uppercase;
  font-size: 0.8rem;
  display: inline-block;
  background: #F7F4EF;
  color: #8B7355;
}
.status-badge.status-cancelled {
  padding: 0.5rem 1rem;
  border-radius: 20px;
  font-weight: bold;
  text-transform: uppercase;
  font-size: 0.8rem;
  display: inline-block;
  background: #F5E8E8;
  color: #8B7355;
}
.status-badge.status-pending {
  padding: 0.5rem 1rem;
  border-radius: 20px;
  font-weight: bold;
  text-transform: uppercase;
  font-size: 0.8rem;
  display: inline-block;
  background: #E8F0F7;
  color: #5D4E37;
}

.subscription-details {
  margin-bottom: 1.5rem;
}

.detail-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.75rem;
  padding: 0.5rem 0;
}
.detail-item:last-child {
  margin-bottom: 0;
}
.detail-item strong {
  color: #8B7355;
  font-size: 0.9rem;
}
.detail-item span {
  color: #5D4E37;
  font-weight: 500;
}

.subscription-actions {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
}
.subscription-actions .button {
  flex: 1;
  min-width: 120px;
  padding: 0.75rem 1rem;
  border-radius: 8px;
  text-decoration: none;
  text-align: center;
  font-weight: 500;
  transition: all 0.3s ease;
  border: none;
  cursor: pointer;
}

.view-btn {
  background: #8B7355 !important;
  color: #FDFCFA !important;
}
.view-btn:hover {
  background: #5D4E37 !important;
  color: #FDFCFA !important;
}

.modify-btn {
  background: #D4A574 !important;
  color: #FDFCFA !important;
}
.modify-btn:hover {
  background: #5D4E37 !important;
  color: #FDFCFA !important;
}

.no-subscriptions-message {
  text-align: center;
  padding: 4rem 2rem;
  background: #f8f9fa;
  border-radius: 12px;
  border: 2px dashed #dee2e6;
}
.no-subscriptions-message .no-subscriptions-icon {
  font-size: 4rem;
  margin-bottom: 1rem;
}
.no-subscriptions-message h3 {
  margin: 0 0 1rem 0;
  color: #495057;
}
.no-subscriptions-message p {
  margin: 0 0 2rem 0;
  color: #8B7355;
  font-size: 1.1rem;
}

.boscos-primary-btn {
  background: linear-gradient(135deg, #F7F4EF 0%, #E8E0D5 100%);
  color: #5D4E37 !important;
  border: none !important;
  padding: 1rem 2rem !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  display: inline-block !important;
  font-size: 1.1rem !important;
  font-weight: bold !important;
  transition: transform 0.2s ease !important;
}
.boscos-primary-btn:hover {
  transform: translateY(-2px) !important;
  color: #5D4E37 !important;
}

@media (max-width: 768px) {
  .subscriptions-header {
    padding: 1rem;
  }
  .subscriptions-header h2 {
    font-size: 1.5rem;
  }
  .subscription-card {
    padding: 1rem;
  }
  .subscription-actions {
    flex-direction: column;
  }
  .subscription-actions .button {
    width: 100%;
    margin-bottom: 0.5rem;
  }
}
.text-center {
  text-align: center;
}

.text-left {
  text-align: left;
}

.text-right {
  text-align: right;
}

.mb-0 {
  margin-bottom: 0;
}

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

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

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

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

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

.p-0 {
  padding: 0;
}

.p-1 {
  padding: 0.5rem;
}

.p-2 {
  padding: 0.75rem;
}

.p-3 {
  padding: 1rem;
}

.p-4 {
  padding: 1.5rem;
}

.p-5 {
  padding: 2rem;
}

.subscription-details-section {
  background: #FDFCFA;
  border: 1px solid #D4C4B0;
  border-radius: 12px;
  padding: 2rem;
  margin: 2rem 0;
}
.subscription-details-section h3 {
  margin: 0 0 1.5rem 0;
  color: #5D4E37;
  font-size: 1.5rem;
  border-bottom: 2px solid #D4C4B0;
  padding-bottom: 0.5rem;
}

.details-grid {
  display: grid;
  gap: 1rem;
}

.detail-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem;
  background: #f8f9fa;
  border-radius: 8px;
  border: 1px solid #e9ecef;
}

.detail-label {
  font-weight: 600;
  color: #495057;
}

.detail-value {
  color: #8B7355;
  font-weight: 500;
}

.subscription-updates-section {
  background: #fff;
  border: 1px solid #D4C4B0;
  border-radius: 12px;
  padding: 2rem;
  margin: 2rem 0;
}
.subscription-updates-section h3 {
  margin: 0 0 1.5rem 0;
  color: #495057;
  font-size: 1.5rem;
  border-bottom: 2px solid #e9ecef;
  padding-bottom: 0.5rem;
}

.updates-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.update-item {
  padding: 1rem;
  background: #f8f9fa;
  border-radius: 8px;
  border: 1px solid #e9ecef;
}

.update-date {
  font-size: 0.9rem;
  color: #8B7355;
  margin-bottom: 0.5rem;
  font-weight: 500;
}

.update-content {
  color: #495057;
  line-height: 1.6;
}

.boscos-subscription-totals {
  background: #fff;
  border: 1px solid #D4C4B0;
  border-radius: 12px;
  overflow: hidden;
  margin: 2rem 0;
}

.totals-header {
  background: linear-gradient(135deg, #F7F4EF 0%, #E8E0D5 100%);
  color: #5D4E37;
  padding: 1.5rem 2rem;
}
.totals-header h3 {
  margin: 0;
  color: #5D4E37;
  font-size: 1.5rem;
}

.totals-content {
  padding: 2rem;
}

.subscription-products-table {
  width: 100%;
  border-collapse: collapse;
  margin: 0;
}
.subscription-products-table thead {
  background: #f8f9fa;
}
.subscription-products-table th {
  padding: 1rem;
  text-align: left;
  font-weight: bold;
  color: #495057;
  border-bottom: 2px solid #dee2e6;
}
.subscription-products-table td {
  padding: 1rem;
  border-bottom: 1px solid #f0f0f0;
  vertical-align: top;
}
.subscription-products-table tbody tr:last-child td {
  border-bottom: none;
}
.subscription-products-table tbody tr:hover {
  background: #f8f9fa;
}

.product-name {
  font-weight: 500;
  color: #333;
}

.product-variation {
  color: #8B7355;
  font-size: 0.9rem;
  margin-top: 0.25rem;
  display: block;
}

.product-quantity {
  text-align: center;
  font-weight: bold;
  color: #495057;
  min-width: 80px;
}

.no-products-message {
  text-align: center;
  padding: 2rem;
  color: #8B7355;
}
.no-products-message p {
  margin: 0;
  font-style: italic;
}

.boscos-subscription-view {
  margin: 2rem 0;
}

.subscription-header {
  background: linear-gradient(135deg, #F7F4EF 0%, #E8E0D5 100%);
  color: #5D4E37;
  padding: 1.5rem;
  border-radius: 12px;
  margin-bottom: 2rem;
  position: relative;
}

.subscription-status {
  position: absolute;
  top: 1rem;
  right: 1rem;
  text-align: right;
}
.subscription-status strong {
  display: block;
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.8);
  margin-bottom: 0.5rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.subscription-status .status-badge {
  display: inline-block;
}

.subscription-quick-info {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 1.5rem;
}
@media (max-width: 768px) {
  .subscription-quick-info {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
}
.subscription-quick-info {
  gap: 0.75rem;
}

.info-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.75rem;
  background: #E8C4C4;
  border-radius: 8px;
}
.info-item strong {
  color: #5D4E37;
  font-size: 0.9rem;
}
.info-item span {
  color: #5D4E37;
  font-weight: 500;
}

.pet-info span {
  color: #5D4E37;
  font-weight: 500;
}
.pet-info span strong {
  font-weight: bold;
}

.subscription-actions-block {
  margin: 2rem 0;
  padding: 1.5rem;
  background: #f8f9fa;
  border-radius: 12px;
  border: 1px solid #e9ecef;
}
.subscription-actions-block h3 {
  margin: 0 0 1rem 0;
  color: #495057;
  font-size: 1.5rem;
}

.actions-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 1.5rem;
}
@media (max-width: 768px) {
  .actions-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
}

.action-btn {
  background: #8B7355 !important;
  color: #5D4E37 !important;
  border: none !important;
  padding: 1rem !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-weight: bold !important;
  transition: all 0.3s ease !important;
  cursor: pointer !important;
  font-size: 1rem !important;
  text-align: center !important;
}
.action-btn:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 12px rgba(33, 150, 243, 0.3) !important;
  color: #5D4E37 !important;
}

.modify-btn {
  background: #D4A574 !important;
}

.pause-btn {
  background: #E8D4A5 !important;
  color: #5D4E37 !important;
}

.resume-btn {
  background: #D4C4B0 !important;
  color: #5D4E37 !important;
}

.cancel-btn {
  background: #E8C4C4 !important;
  color: #5D4E37 !important;
}

.history-btn {
  background: #8B7355 !important;
  color: #FDFCFA !important;
}

.subscription-content {
  background: #fff;
  border: 1px solid #D4C4B0;
  border-radius: 12px;
  padding: 2rem;
  margin-top: 2rem;
}

@media (max-width: 768px) {
  .detail-item {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
  }
  .detail-label {
    font-size: 0.9rem;
  }
  .totals-content {
    padding: 1rem;
  }
  .subscription-products-table {
    font-size: 0.9rem;
  }
  .subscription-products-table th,
  .subscription-products-table td {
    padding: 0.75rem 0.5rem;
  }
  .product-quantity {
    min-width: 60px;
    text-align: left !important;
  }
  .shop_table.cart tbody tr td .product-name {
    padding-right: 0 !important;
  }
  .subscription-header {
    padding: 1rem;
  }
  .subscription-title {
    flex-direction: column;
    gap: 1rem;
    text-align: center;
  }
  .subscription-title h1 {
    font-size: 1.5rem;
  }
  .subscription-quick-info {
    grid-template-columns: 1fr;
  }
  .actions-grid {
    grid-template-columns: 1fr;
  }
  .action-btn {
    width: 100%;
  }
}
/* Simplificar subscription-header en checkout */
.woocommerce-checkout-review-order-table .subscription-header {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: none !important;
  display: block !important;
  font-size: 0.9rem !important;
  color: #666 !important;
  font-weight: normal !important;
}
.woocommerce-checkout-review-order-table .subscription-header strong {
  font-weight: normal !important;
  color: #666 !important;
}
.woocommerce-checkout-review-order-table .subscription-products {
  margin-top: 0.25rem !important;
  font-size: 0.85rem !important;
  color: #888 !important;
}
.woocommerce-checkout-review-order-table .subscription-products small {
  font-size: 0.85rem !important;
  color: #888 !important;
}

/* Simplificar subscription-header en carrito */
.woocommerce-cart-form .subscription-header {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: none !important;
  display: block !important;
  font-size: 0.9rem !important;
  color: #666 !important;
  font-weight: normal !important;
}
.woocommerce-cart-form .subscription-header strong {
  font-weight: normal !important;
  color: #666 !important;
}
.woocommerce-cart-form .subscription-header .subscription-id {
  font-size: 0.8rem !important;
  color: #999 !important;
  font-weight: normal !important;
}
.woocommerce-cart-form .subscription-products {
  margin-top: 0.25rem !important;
  font-size: 0.85rem !important;
  color: #888 !important;
}
.woocommerce-cart-form .subscription-products small {
  font-size: 0.85rem !important;
  color: #888 !important;
}
.woocommerce-cart-form .subscription-actions {
  margin-top: 0.5rem !important;
}
.woocommerce-cart-form .subscription-actions button {
  font-size: 0.8rem !important;
  padding: 3px 8px !important;
  margin-right: 5px !important;
}

/* Estilos específicos para móvil en carrito */
@media (max-width: 768px) {
  .woocommerce-cart-form .subscription-actions {
    text-align: center !important;
  }
  .woocommerce-cart-form .subscription-actions button {
    text-align: center !important;
    display: inline-block !important;
    margin: 0 2px !important;
  }
}

/*# sourceMappingURL=subscriptions.css.map */
