/* ================================
   COMPLETE WOOCOMMERCE STYLING
   W&S Foundation - Clean & Minimal
   ================================ */

/* CSS Variables */
:root {
  --wsf-green: #4caf50;
  --wsf-green-dark: #45a049;
  --wsf-green-light: #66bb6a;
  --wsf-border: #e5e7eb;
  --wsf-border-light: #f3f4f6;
  --wsf-text: #374151;
  --wsf-text-light: #6b7280;
  --wsf-white: #ffffff;
  --wsf-bg: #f9fafb;
  --wsf-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
  --wsf-shadow-lg: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  --wsf-radius: 12px;
  --wsf-radius-sm: 8px;
  --wsf-transition: all 0.2s ease;
}

/* ================================
   CONTAINER & LAYOUT
   ================================ */

.wc-container { 
  max-width: 1200px; 
  margin: 0; 
  padding: 32px 20px; 
}

@media (max-width: 768px) {
  .wc-container {
    padding: 20px 16px;
  }
}

.pswp {
  z-index: 999999999;
}

/* ================================
   SINGLE PRODUCT PAGE
   ================================ */

/* Single product grid */
.wc-single { }

.wc-single-grid {
  display: grid; 
  grid-template-columns: minmax(0,1.2fr) minmax(0,1fr);
  gap: 48px; 
  align-items: start;
  max-width: 1100px;
  margin: 0;
  padding: 20px;
}

@media (max-width: 900px) { 
  .wc-single-grid { 
    grid-template-columns: 1fr; 
    gap: 32px;
    padding: 16px;
  } 
}

/* Prevent theme float/width conflicts */
.woocommerce div.product div.images,
.woocommerce div.product div.summary { 
  float: none !important; 
  width: auto !important; 
}

/* ================================
   PRODUCT GALLERY
   ================================ */

.flex-viewport {
  margin-bottom: 10px;
}

.woocommerce div.product div.images .flex-control-thumbs li {
  width: unset;
}

.woocommerce div.product div.images {
  position: relative;
}

.woocommerce div.product div.images .woocommerce-product-gallery__wrapper{
  border-radius: var(--wsf-radius); 
  overflow: hidden; 
  background: var(--wsf-white);
}

.woocommerce div.product div.images img{ 
  width:100%; 
  height:auto; 
  display:block; 
}

/* Gallery thumbnails - Enhanced */
.woocommerce .flex-control-nav.flex-control-thumbs {
  display: flex;
  gap: 12px;
  margin-top: 16px;
  padding: 0;
  background: none;
  border: none;
}

.woocommerce .flex-control-nav.flex-control-thumbs li { 
  margin: 0; 
  list-style: none;
}

.woocommerce .flex-control-nav.flex-control-thumbs img {
  width: 100px !important;
  height: 100px !important;
  object-fit: cover;
  border: 2px solid var(--wsf-border);
  border-radius: var(--wsf-radius-sm);
  cursor: pointer;
  transition: var(--wsf-transition);
}

.woocommerce .flex-control-nav.flex-control-thumbs img:hover {
  border-color: var(--wsf-green);
}

.woocommerce .flex-control-nav.flex-control-thumbs img.flex-active {
  border-color: var(--wsf-green);
  box-shadow: 0 0 0 2px rgba(76, 175, 80, 0.2);
}

/* Zoom trigger - Clean */
.woocommerce .woocommerce-product-gallery__trigger {
  position: absolute;
  top: 16px; 
  right: 16px; 
  width: 40px;
  height: 40px;
  border-radius: var(--wsf-radius-sm); 
  background: rgba(255, 255, 255, 0.9); 
  border: 1px solid var(--wsf-border);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: var(--wsf-transition);
}

.woocommerce .woocommerce-product-gallery__trigger:hover {
  background: var(--wsf-white);
  border-color: var(--wsf-green);
}

/* ================================
   PRODUCT SUMMARY
   ================================ */

/* Product title */
.wc-title,
.woocommerce div.product .product_title { 
  margin: 0 0 16px; 
  font-size: 2rem; 
  line-height: 1.2; 
  font-weight: 600;
  color: var(--wsf-text);
}

@media (max-width: 640px) {
  .wc-title,
  .woocommerce div.product .product_title {
    font-size: 1.75rem;
  }
}

/* Star ratings */
.woocommerce .star-rating { 
  margin: 8px 0 16px; 
  display: flex;
  align-items: center;
  gap: 8px;
}

/* Price styling */
.woocommerce div.product .price{ 
  font-size: 1.5rem; 
  font-weight: 600; 
  color: var(--wsf-green); 
  margin: 16px 0 24px;
}

.woocommerce div.product .price del {
  color: var(--wsf-text-light);
  font-size: 1.25rem;
  font-weight: 400;
}

/* Cart form */
.woocommerce div.product form.cart{ 
  display: flex; 
  gap: 16px; 
  align-items: center;
  margin-bottom: 32px;
}

@media (max-width: 768px) {
  .woocommerce div.product form.cart {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
  }
}

.woocommerce div.product .quantity{
  display: inline-flex; 
  align-items: center; 
  border: 1px solid var(--wsf-border); 
  border-radius: var(--wsf-radius-sm); 
  overflow: hidden;
  background: var(--wsf-white);
  transition: var(--wsf-transition);
}

.woocommerce div.product .quantity:focus-within {
  border-color: var(--wsf-green);
  box-shadow: 0 0 0 2px rgba(76, 175, 80, 0.1);
}

.woocommerce div.product .quantity input.qty{ 
  width: 70px; 
  border: 0; 
  padding: 12px 16px; 
  text-align: center; 
  font-size: 1rem;
  background: transparent;
}

.woocommerce div.product .quantity input.qty:focus {
  outline: none;
}

/* ================================
   PRODUCT TABS
   ================================ */

.woocommerce div.product .woocommerce-tabs{ 
  margin-top: 48px; 
}

.woocommerce div.product .woocommerce-tabs ul.tabs{
  display: flex; 
  gap: 4px; 
  padding: 0; 
  margin: 0 0 2px; 
  border-bottom: 2px solid var(--wsf-border-light);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li{ 
  margin: 0; 
  border: 0; 
  background: none; 
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a{
  display: inline-block; 
  padding: 12px 20px; 
  border: 1px solid transparent;
  border-radius: var(--wsf-radius-sm) var(--wsf-radius-sm) 0 0; 
  background: var(--wsf-white);
  color: var(--wsf-text-light);
  text-decoration: none;
  font-weight: 500;
  transition: var(--wsf-transition);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
  color: var(--wsf-text);
  border-color: var(--wsf-border);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  color: var(--wsf-green);
  border-color: var(--wsf-green);
  border-bottom-color: var(--wsf-white);
  font-weight: 600;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::after,
.woocommerce div.product .woocommerce-tabs ul.tabs::before {
  display: none;
}

.woocommerce div.product .woocommerce-tabs .panel{
  /*border: 1px solid var(--wsf-border); */
  border-radius: 0 var(--wsf-radius) var(--wsf-radius) var(--wsf-radius); 
  padding: 32px; 
  background: var(--wsf-white);
}

@media (max-width: 768px) {
  .woocommerce div.product .woocommerce-tabs .panel {
    padding: 20px;
  }
}

/* ================================
   PRODUCT META
   ================================ */

.woocommerce div.product .product_meta { 
  margin-top: 32px;
  padding: 16px 0;
  border-top: 1px solid var(--wsf-border);
  font-size: 0.95rem;
  color: var(--wsf-text-light);
}

.woocommerce div.product .product_meta span {
  display: block;
  margin-bottom: 8px;
}

.woocommerce div.product .product_meta a {
  color: var(--wsf-green);
  text-decoration: none;
  font-weight: 500;
  transition: var(--wsf-transition);
}

.woocommerce div.product .product_meta a:hover {
  text-decoration: underline;
}

/* ================================
   SHOP/ARCHIVE PAGES - ENHANCED
   ================================ */

/* Shop container and sorting */
.woocommerce .woocommerce-notices-wrapper + * {
  padding: 20px 0;
}

.woocommerce-result-count {
  font-size: 0.95rem;
  color: var(--wsf-text-light);
  margin-bottom: 24px;
}

.woocommerce-ordering {
  margin-bottom: 24px;
}

.woocommerce-ordering select {
  border: 1px solid var(--wsf-border);
  border-radius: var(--wsf-radius-sm);
  padding: 8px 12px;
  font-size: 0.95rem;
  background: var(--wsf-white);
}

/* Archive/Shop product grid - MAIN FIX */
.woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important;
  gap: 32px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.woocommerce ul.products::before {
  display: none;
}

@media (max-width: 768px) {
  .woocommerce ul.products {
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)) !important;
    gap: 20px !important;
  }
}

@media (max-width: 480px) {
  .woocommerce ul.products {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
}

/* Product cards - Enhanced */
.woocommerce ul.products li.product {
  list-style: none !important;
  background: var(--wsf-white) !important;
  border: 2px solid var(--wsf-green) !important;
  border-radius: var(--wsf-radius) !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
  transition: var(--wsf-transition) !important;
  display: flex !important;
  flex-direction: column !important;
  position: relative !important;
  width: auto !important;
  float: none !important;
  clear: none !important;
  margin-right: 0 !important;
  margin-bottom: 0 !important;
}

.woocommerce ul.products li.product:hover {
  box-shadow: var(--wsf-shadow-lg) !important;
  transform: translateY(-25px) !important;
  border-color: var(--wsf-green) !important;
}

/* Product images */
.woocommerce ul.products li.product a img,
.woocommerce ul.products li.product img {
  width: 100% !important;
  height: 250px !important;
  object-fit: contain !important;
  display: block !important;
  border-bottom: 1px solid var(--wsf-border-light) !important;
}

mark, ins {
  background: #E5F0EC;
  color: #19b219;
  border-radius: 10px;
}

/* Product links */
.woocommerce ul.products li.product .woocommerce-loop-product__link {
  text-decoration: none !important;
  color: inherit !important;
  display: block !important;
}

/* Product titles */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2,
.woocommerce ul.products li.product h3 {
  font-size: 1.125rem !important;
  font-weight: 600 !important;
  color: var(--wsf-text) !important;
  margin: 16px 20px 8px 20px !important;
  line-height: 1.3 !important;
  text-decoration: none !important;
  min-height: 45px;
}

/* Product prices */
.woocommerce ul.products li.product .price {
  font-size: 1.25rem !important;
  font-weight: 600 !important;
  color: var(--wsf-green) !important;
  margin: 8px 20px 16px 20px !important;
  display: block !important;
}

.woocommerce ul.products li.product .price del {
  color: var(--wsf-text-light) !important;
  font-weight: 400 !important;
  font-size: 1rem !important;
}

/* Add to cart buttons on shop page */
.woocommerce ul.products li.product .button {
  background: var(--wsf-green) !important;
  color: var(--wsf-white) !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 14px 20px !important;
  font-size: 0.95rem !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  text-align: center !important;
  display: block !important;
  margin: auto 0 0 0 !important;
  transition: background-color 0.2s ease !important;
  text-transform: none !important;
  letter-spacing: normal !important;
}

.woocommerce ul.products li.product .button:hover {
  background: var(--wsf-green-dark) !important;
  color: var(--wsf-white) !important;
  text-decoration: none !important;
}

/* Sale badge */
.woocommerce span.onsale {
  background: #ef4444 !important;
  color: var(--wsf-white) !important;
  border-radius: var(--wsf-radius-sm) !important;
  padding: 6px 10px !important;
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  position: absolute !important;
  top: 12px !important;
  right: 12px !important;
  z-index: 10 !important;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1) !important;
}

/* Star ratings on archive */
.woocommerce ul.products li.product .star-rating {
  margin: 8px 20px !important;
  font-size: 0.9rem !important;
}

/* Related products */
.related.products, 
.upsells.products {
  margin-top: 64px;
}

.related ul.products, 
.upsells ul.products {
  display: grid; 
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); 
  gap: 24px; 
  margin: 0; 
  padding: 0;
}

.related.products h2,
.upsells.products h2 {
  font-size: 1.5rem;
  margin-bottom: 24px;
  color: var(--wsf-text);
  font-weight: 600;
}

/* Mobile fixes for shop */
@media (max-width: 480px) {
  .woocommerce ul.products li.product a img,
  .woocommerce ul.products li.product img {
    height: 200px !important;
  }
  
  .woocommerce ul.products li.product .woocommerce-loop-product__title,
  .woocommerce ul.products li.product h2,
  .woocommerce ul.products li.product h3 {
    font-size: 1rem !important;
    margin: 12px 16px 6px 16px !important;
  }
  
  .woocommerce ul.products li.product .price {
    font-size: 1.125rem !important;
    margin: 6px 16px 12px 16px !important;
  }
  
  .woocommerce ul.products li.product .button {
    padding: 12px 16px !important;
    font-size: 0.9rem !important;
  }
}

/* ================================
   BUTTONS
   ================================ */

.woocommerce a.button, 
.woocommerce button.button, 
.woocommerce input.button, 
.woocommerce #respond input#submit,
.single_add_to_cart_button{
  appearance: none;
  background: var(--wsf-green);
  color: var(--wsf-white);
  border: 0;
  border-radius: var(--wsf-radius-sm);
  padding: 12px 24px;
  font-weight: 500;
  font-size: 1rem;
  cursor: pointer;
  transition: var(--wsf-transition);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-transform: none;
  letter-spacing: normal;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.single_add_to_cart_button:hover {
  background: var(--wsf-green-dark);
}

.woocommerce .button.alt { 
  background: var(--wsf-text);
}

.woocommerce .button.alt:hover {
  background: #1f2937;
}

@media (max-width: 768px) {
  .single_add_to_cart_button {
    width: 100%;
    padding: 14px 24px;
  }
}

/* ================================
   PAGINATION - ENHANCED
   ================================ */

.woocommerce nav.woocommerce-pagination {
  margin-top: 48px !important;
  display: flex !important;
  justify-content: flex-start !important;
}

.woocommerce nav.woocommerce-pagination ul{ 
  border: 0 !important;
  display: flex !important;
  gap: 8px !important;
  background: var(--wsf-white) !important;
  padding: 12px !important;
  border-radius: var(--wsf-radius) !important;
  box-shadow: var(--wsf-shadow) !important;
  margin: 0 !important;
  list-style: none !important;
}

.woocommerce nav.woocommerce-pagination ul li{ 
  border: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}

.woocommerce nav.woocommerce-pagination ul li a, 
.woocommerce nav.woocommerce-pagination ul li span{
  min-width: 44px !important; 
  height: 44px !important; 
  display: inline-flex !important; 
  align-items: center !important; 
  justify-content: center !important;
  border: 1px solid var(--wsf-border) !important;
  border-radius: var(--wsf-radius-sm) !important;
  text-decoration: none !important;
  color: var(--wsf-text) !important;
  font-weight: 500 !important;
  transition: var(--wsf-transition) !important;
}

.woocommerce nav.woocommerce-pagination ul li a:hover {
  border-color: var(--wsf-green) !important;
  color: var(--wsf-green) !important;
  background: rgba(76, 175, 80, 0.05) !important;
}

.woocommerce nav.woocommerce-pagination ul li .current,
.woocommerce nav.woocommerce-pagination ul li span.current { 
  background: var(--wsf-green) !important; 
  color: var(--wsf-white) !important; 
  border-color: var(--wsf-green) !important;
}

/* ================================
   CART & CHECKOUT
   ================================ */

/* Cart table */
.woocommerce table.cart td.actions .coupon .input-text,
.woocommerce table.cart td.actions .coupon input[type="text"] {
  border: 1px solid var(--wsf-border);
  border-radius: var(--wsf-radius-sm);
  padding: 8px 12px;
}

.woocommerce table.cart td.actions .coupon .button {
  margin-left: 8px;
}

/* Checkout form */
.woocommerce-checkout .woocommerce-input-wrapper input,
.woocommerce-checkout .woocommerce-input-wrapper select,
.woocommerce-checkout .woocommerce-input-wrapper textarea {
  border: 1px solid var(--wsf-border);
  border-radius: var(--wsf-radius-sm);
  padding: 12px;
  font-size: 1rem;
}

.woocommerce-checkout .woocommerce-input-wrapper input:focus,
.woocommerce-checkout .woocommerce-input-wrapper select:focus,
.woocommerce-checkout .woocommerce-input-wrapper textarea:focus {
  border-color: var(--wsf-green);
  outline: none;
  box-shadow: 0 0 0 2px rgba(76, 175, 80, 0.1);
}

/* ================================
   MESSAGES & NOTICES
   ================================ */

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  padding: 16px 20px;
  margin: 20px 0;
  border-radius: var(--wsf-radius-sm);
  border-left: 4px solid;
}

.woocommerce-message {
  background: #f0f9ff;
  border-left-color: #19b219;
  color: #0c4a6e;
}

.woocommerce-info {
  background: #fffbeb;
  border-left-color: #f59e0b;
  color: #92400e;
}

.woocommerce-error {
  background: #fef2f2;
  border-left-color: #ef4444;
  color: #991b1b;
}

/* ================================
   MOBILE RESPONSIVE
   ================================ */

@media (max-width: 480px) {
  .wc-container {
    padding: 16px 12px;
  }
  
  .wc-single-grid {
    padding: 12px;
  }
  
  .flex-control-nav.flex-control-thumbs img {
    width: 80px !important;
    height: 80px !important;
  }
  
  .woocommerce ul.products {
    grid-template-columns: 1fr;
  }
  
  .woocommerce nav.woocommerce-pagination ul {
    padding: 8px !important;
    gap: 4px !important;
  }
  
  .woocommerce nav.woocommerce-pagination ul li a,
  .woocommerce nav.woocommerce-pagination ul li span {
    min-width: 36px !important;
    height: 36px !important;
    font-size: 0.875rem !important;
  }
}

/* ================================
   SIDEBAR & FILTERS
   ================================ */

.woocommerce .widget_price_filter .price_slider_wrapper .ui-widget-content {
  background: var(--wsf-border-light) !important;
  border-radius: 4px !important;
}

.woocommerce .widget_price_filter .ui-slider .ui-slider-range {
  background: var(--wsf-green) !important;
  border-radius: 4px !important;
}

.woocommerce .widget_price_filter .ui-slider .ui-slider-handle {
  background: var(--wsf-green) !important;
  border: 2px solid var(--wsf-white) !important;
  border-radius: 50% !important;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1) !important;
}

/* ================================
   NO PRODUCTS MESSAGE
   ================================ */

.woocommerce .woocommerce-info {
  background: #E5F0EC !important;
  border: 1px solid #e0f2fe !important;
  border-left: 4px solid #19b219 !important;
  border-radius: var(--wsf-radius-sm) !important;
  padding: 16px 20px !important;
  color: #0c4a6e !important;
  margin: 32px 0 !important;
}

/* ================================
   ACCESSIBILITY
   ================================ */

.woocommerce a.button:focus,
.woocommerce button.button:focus,
.single_add_to_cart_button:focus {
  outline: 2px solid var(--wsf-green);
  outline-offset: 2px;
}

.woocommerce div.product .quantity input.qty:focus {
  outline: 2px solid var(--wsf-green);
  outline-offset: 2px;
}

.flex-control-nav.flex-control-thumbs img:focus {
  outline: 2px solid var(--wsf-green);
  outline-offset: 2px;
}

/* ================================
   UTILITY CLASSES & OVERRIDES
   ================================ */

.woocommerce .screen-reader-text {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Force override theme conflicts */
.woocommerce ul.products li.product * {
  box-sizing: border-box !important;
}

/* Override any theme button styling on shop page */
.woocommerce ul.products li.product .button.product_type_simple,
.woocommerce ul.products li.product .button.add_to_cart_button {
  background: var(--wsf-green) !important;
  color: var(--wsf-white) !important;
}

/* WooCommerce Account Area Complete Styling */

/* ==========================================================================
   ACCOUNT NAVIGATION
   ========================================================================== */

.woocommerce-account .woocommerce-MyAccount-navigation {
    background: #f8f9fa;
    border-radius: 8px;
    padding: 0;
    margin-bottom: 2rem;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    border-radius: 8px;
    overflow: hidden;
}

.woocommerce-account .woocommerce-MyAccount-navigation li {
    flex: 1;
    min-width: 150px;
    border-right: 1px solid #e1e5e9;
}

.woocommerce-account .woocommerce-MyAccount-navigation li:last-child {
    border-right: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation li a {
    display: block;
    padding: 1rem 1.5rem;
    color: #495057;
    text-decoration: none;
    font-weight: 500;
    transition: all 0.3s ease;
    border-bottom: 3px solid transparent;
}

.woocommerce-account .woocommerce-MyAccount-navigation li a:hover {
    background: #e9ecef;
    color: #007cba;
    border-bottom-color: #007cba;
}

.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
    background: #007cba;
    color: white;
    border-bottom-color: #005a87;
}

/* ==========================================================================
   ACCOUNT CONTENT
   ========================================================================== */

.woocommerce-account .woocommerce-MyAccount-content {
    background: white;
    padding: 2rem;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3 {
    color: #2c3e50;
    margin-top: 0;
    margin-bottom: 1.5rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid #e9ecef;
}

/* ==========================================================================
   FORMS STYLING
   ========================================================================== */

.woocommerce form .form-row {
    margin-bottom: 1.5rem;
}

.woocommerce form .form-row label {
    display: block;
    margin-bottom: 0.5rem;
    font-weight: 600;
    color: #2c3e50;
}

.woocommerce form .form-row .required {
    color: #e74c3c;
}

.woocommerce form input[type="text"],
.woocommerce form input[type="email"],
.woocommerce form input[type="password"],
.woocommerce form input[type="tel"],
.woocommerce form select,
.woocommerce form textarea {
    width: 100%;
    padding: 0.75rem 1rem;
    border: 2px solid #e1e5e9;
    border-radius: 6px;
    font-size: 1rem;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
    background: white;
}

.woocommerce form input[type="text"]:focus,
.woocommerce form input[type="email"]:focus,
.woocommerce form input[type="password"]:focus,
.woocommerce form input[type="tel"]:focus,
.woocommerce form select:focus,
.woocommerce form textarea:focus {
    border-color: #007cba;
    outline: none;
    box-shadow: 0 0 0 3px rgba(0, 124, 186, 0.1);
}

/* Buttons */
.woocommerce button.button,
.woocommerce a.button,
.woocommerce input.button {
    background: #007cba;
    color: white;
    padding: 0.75rem 1.5rem;
    border: none;
    border-radius: 6px;
    font-weight: 600;
    text-decoration: none;
    display: inline-block;
    transition: all 0.3s ease;
    cursor: pointer;
    font-size: 1rem;
}

.woocommerce button.button:hover,
.woocommerce a.button:hover,
.woocommerce input.button:hover {
    background: #005a87;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 124, 186, 0.3);
}

.woocommerce button.button.alt,
.woocommerce a.button.alt,
.woocommerce input.button.alt {
    background: #28a745;
}

.woocommerce button.button.alt:hover,
.woocommerce a.button.alt:hover,
.woocommerce input.button.alt:hover {
    background: #218838;
}

/* ==========================================================================
   LOGIN & REGISTER FORMS
   ========================================================================== */

.woocommerce-account .u-columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    margin-top: 2rem;
}

.woocommerce-account .u-column1,
.woocommerce-account .u-column2 {
    background: #f8f9fa;
    padding: 2rem;
    border-radius: 8px;
    border: 1px solid #e1e5e9;
}

.woocommerce-account .u-column1 h2,
.woocommerce-account .u-column2 h2 {
    margin-top: 0;
    color: #2c3e50;
    text-align: center;
    border-bottom: none;
    margin-bottom: 1.5rem;
}

/* Lost Password Form */
.woocommerce-ResetPassword,
.woocommerce-lost-password-confirmation {
    background: white;
    padding: 2rem;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    max-width: 500px;
    margin: 2rem auto;
}

.woocommerce form.woocommerce-ResetPassword,
.woocommerce form.lost_reset_password {
    background: #f8f9fa;
    padding: 2rem;
    border-radius: 8px;
    border: 1px solid #e1e5e9;
}

/* ==========================================================================
   TABLES (Orders, Downloads)
   ========================================================================== */

.woocommerce-account table.woocommerce-orders-table,
.woocommerce-account table.woocommerce-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 2rem;
    background: white;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.woocommerce-account table.woocommerce-orders-table th,
.woocommerce-account table.woocommerce-table th {
    background: #2c3e50;
    color: white;
    padding: 1rem;
    text-align: left;
    font-weight: 600;
    border-bottom: 2px solid #34495e;
}

.woocommerce-account table.woocommerce-orders-table td,
.woocommerce-account table.woocommerce-table td {
    padding: 1rem;
    border-bottom: 1px solid #e9ecef;
    vertical-align: middle;
}

.woocommerce-account table.woocommerce-orders-table tr:hover,
.woocommerce-account table.woocommerce-table tr:hover {
    background: #f8f9fa;
}

.woocommerce-account table.woocommerce-orders-table tr:last-child td,
.woocommerce-account table.woocommerce-table tr:last-child td {
    border-bottom: none;
}

/* Order status styling */
.woocommerce-orders-table__cell-order-status mark {
    padding: 0.25rem 0.75rem;
    border-radius: 20px;
    font-size: 0.875rem;
    font-weight: 600;
    text-transform: uppercase;
}

.woocommerce-orders-table__cell-order-status mark.status-completed {
    background: #d4edda;
    color: #155724;
}

.woocommerce-orders-table__cell-order-status mark.status-processing {
    background: #fff3cd;
    color: #856404;
}

.woocommerce-orders-table__cell-order-status mark.status-pending {
    background: #f8d7da;
    color: #721c24;
}

.woocommerce-orders-table__cell-order-status mark.status-cancelled {
    background: #f1f3f4;
    color: #495057;
}

/* ==========================================================================
   DASHBOARD
   ========================================================================== */

.woocommerce-MyAccount-content .woocommerce-Message {
    background: #d1ecf1;
    border: 1px solid #bee5eb;
    border-radius: 6px;
    padding: 1rem 1.5rem;
    margin-bottom: 2rem;
    color: #0c5460;
}

.woocommerce-MyAccount-content .woocommerce-Message--info {
    background: #cce7ff;
    border-color: #99d3ff;
    color: #004085;
}

.woocommerce-MyAccount-content p:first-of-type {
    font-size: 1.125rem;
    color: #495057;
    margin-bottom: 2rem;
    padding: 1.5rem;
    background: #f8f9fa;
    border-radius: 6px;
    border-left: 4px solid #007cba;
}

/* ==========================================================================
   ADDRESS BOOK
   ========================================================================== */

.woocommerce-Addresses .u-columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
}

.woocommerce-Address {
    background: #f8f9fa;
    padding: 2rem;
    border-radius: 8px;
    border: 1px solid #e1e5e9;
    position: relative;
}

.woocommerce-Address-title h3 {
    margin-top: 0;
    margin-bottom: 1rem;
    color: #2c3e50;
    border-bottom: 2px solid #e9ecef;
    padding-bottom: 0.5rem;
}

.woocommerce-Address address {
    margin-bottom: 1.5rem;
    line-height: 1.6;
    color: #495057;
}

.woocommerce-Address .edit {
    position: absolute;
    top: 1rem;
    right: 1rem;
    background: #007cba;
    color: white;
    padding: 0.5rem 1rem;
    border-radius: 4px;
    text-decoration: none;
    font-size: 0.875rem;
    font-weight: 500;
    transition: all 0.3s ease;
}

.woocommerce-Address .edit:hover {
    background: #005a87;
    transform: translateY(-1px);
}

/* ==========================================================================
   ACCOUNT DETAILS
   ========================================================================== */

.woocommerce-account .woocommerce-EditAccountForm fieldset {
    border: none;
    padding: 0;
    margin-bottom: 2rem;
}

.woocommerce-account .woocommerce-EditAccountForm legend {
    font-size: 1.25rem;
    font-weight: 600;
    color: #2c3e50;
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid #e9ecef;
    width: 100%;
}

/* Password strength indicator */
.woocommerce-password-strength {
    margin-top: 0.5rem;
    padding: 0.5rem;
    border-radius: 4px;
    font-size: 0.875rem;
    font-weight: 600;
}

.woocommerce-password-strength.short {
    background: #f8d7da;
    color: #721c24;
}

.woocommerce-password-strength.bad {
    background: #f8d7da;
    color: #721c24;
}

.woocommerce-password-strength.good {
    background: #fff3cd;
    color: #856404;
}

.woocommerce-password-strength.strong {
    background: #d4edda;
    color: #155724;
}

/* ==========================================================================
   DOWNLOADS
   ========================================================================== */

.woocommerce-account .woocommerce-table--my-account-downloads td {
    vertical-align: middle;
}

.woocommerce-account .download-file {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background: #007cba;
    color: white;
    padding: 0.5rem 1rem;
    border-radius: 4px;
    text-decoration: none;
    font-weight: 500;
    transition: all 0.3s ease;
}

.woocommerce-account .download-file:hover {
    background: #005a87;
    transform: translateY(-1px);
}

.woocommerce-account .download-file::before {
    content: "📁";
    margin-right: 0.25rem;
}

/* ==========================================================================
   RESPONSIVE DESIGN
   ========================================================================== */

@media (max-width: 768px) {
    .woocommerce-account .woocommerce-MyAccount-navigation ul {
        flex-direction: column;
    }
    
    .woocommerce-account .woocommerce-MyAccount-navigation li {
        border-right: none;
        border-bottom: 1px solid #e1e5e9;
    }
    
    .woocommerce-account .woocommerce-MyAccount-navigation li:last-child {
        border-bottom: none;
    }
    
    .woocommerce-account .u-columns {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
    
    .woocommerce-Addresses .u-columns {
        grid-template-columns: 1fr;
    }
    
    .woocommerce-account .woocommerce-MyAccount-content {
        padding: 1rem;
    }
    
    .woocommerce-account table.woocommerce-orders-table,
    .woocommerce-account table.woocommerce-table {
        font-size: 0.875rem;
    }
    
    .woocommerce-account table.woocommerce-orders-table th,
    .woocommerce-account table.woocommerce-table th,
    .woocommerce-account table.woocommerce-orders-table td,
    .woocommerce-account table.woocommerce-table td {
        padding: 0.75rem 0.5rem;
    }
}

@media (max-width: 480px) {
    .woocommerce-account .woocommerce-MyAccount-navigation li a {
        padding: 0.75rem 1rem;
        font-size: 0.875rem;
    }
    
    .woocommerce-account .u-column1,
    .woocommerce-account .u-column2 {
        padding: 1.5rem;
    }
}

/* ==========================================================================
   ADDITIONAL ENHANCEMENTS
   ========================================================================== */

/* Loading states */
.woocommerce .blockUI.blockOverlay {
    background: rgba(255, 255, 255, 0.8);
    border-radius: 8px;
}

/* Success messages */
.woocommerce-message {
    background: #d4edda;
    border: 1px solid #c3e6cb;
    color: #155724;
    padding: 1rem 1.5rem;
    border-radius: 6px;
    margin-bottom: 2rem;
}

/* Error messages */
.woocommerce-error {
    background: #f8d7da;
    border: 1px solid #f5c6cb;
    color: #721c24;
    padding: 1rem 1.5rem;
    border-radius: 6px;
    margin-bottom: 2rem;
}

/* Info messages */
.woocommerce-info {
    background: #cce7ff;
    border: 1px solid #99d3ff;
    color: #004085;
    padding: 1rem 1.5rem;
    border-radius: 6px;
    margin-bottom: 2rem;
}

/* Smooth transitions for everything */
* {
    transition: color 0.3s ease, background-color 0.3s ease, border-color 0.3s ease;
}

/* Print styles */
@media print {
    .woocommerce-account .woocommerce-MyAccount-navigation {
        display: none;
    }
    
    .woocommerce-account .woocommerce-MyAccount-content {
        box-shadow: none;
        border: 1px solid #ddd;
    }
}

p.woocommerce-form-row::before {
  display: none !important;
}

/* WooCommerce Account Area Complete Styling */

/* ==========================================================================
   MAIN ACCOUNT LAYOUT
   ========================================================================== */

.woocommerce-account {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

/* Target the specific wrapper structure */
.def-page .container .woocommerce {
    margin-top: 1rem;
}

/* ==========================================================================
   ACCOUNT NAVIGATION - HORIZONTAL TABS
   ========================================================================== */

.def-page .woocommerce .woocommerce-MyAccount-navigation,
.woocommerce nav.woocommerce-MyAccount-navigation {
    background: white;
    border-radius: 8px;
    padding: 0;
    margin-bottom: 2rem;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    border: 1px solid #e1e5e9;
}

.def-page .woocommerce .woocommerce-MyAccount-navigation ul,
.woocommerce nav.woocommerce-MyAccount-navigation ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-wrap: wrap;
    border-radius: 8px;
    overflow: hidden;
}

.def-page .woocommerce .woocommerce-MyAccount-navigation li,
.woocommerce nav.woocommerce-MyAccount-navigation li {
    flex: 1;
    min-width: 120px;
    border-right: 1px solid #e1e5e9;
    margin: 0 !important;
    padding: 0 !important;
}

.def-page .woocommerce .woocommerce-MyAccount-navigation li::before,
.woocommerce nav.woocommerce-MyAccount-navigation li::before {
    display: none !important;
}

.def-page .woocommerce .woocommerce-MyAccount-navigation li:last-child,
.woocommerce nav.woocommerce-MyAccount-navigation li:last-child {
    border-right: none;
}

.def-page .woocommerce .woocommerce-MyAccount-navigation li a,
.woocommerce nav.woocommerce-MyAccount-navigation li a {
    display: block !important;
    padding: 1rem 1.5rem !important;
    color: #495057 !important;
    text-decoration: none !important;
    font-weight: 500;
    transition: all 0.3s ease;
    border-bottom: 3px solid transparent;
    text-align: center;
}

.def-page .woocommerce .woocommerce-MyAccount-navigation li a:hover,
.woocommerce nav.woocommerce-MyAccount-navigation li a:hover {
    background: #f8f9fa !important;
    color: #19b219 !important;
    border-bottom-color: #19b219;
}

.def-page .woocommerce .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce nav.woocommerce-MyAccount-navigation li.is-active a {
    background: #19b219 !important;
    color: white !important;
    border-bottom-color: #19b219;
}

/* ==========================================================================
   ACCOUNT CONTENT
   ========================================================================== */

.def-page .woocommerce .woocommerce-MyAccount-content,
.woocommerce .woocommerce-MyAccount-content {
    background: white !important;
    padding: 2rem !important;
    border-radius: 8px !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1) !important;
    border: 1px solid #e1e5e9 !important;
}

.def-page .woocommerce .woocommerce-MyAccount-content h2,
.def-page .woocommerce .woocommerce-MyAccount-content h3,
.woocommerce .woocommerce-MyAccount-content h2,
.woocommerce .woocommerce-MyAccount-content h3 {
    color: #2c3e50 !important;
    margin-top: 0 !important;
    margin-bottom: 1.5rem !important;
    padding-bottom: 0.5rem !important;
    border-bottom: 2px solid #e9ecef !important;
}

.def-page .woocommerce .woocommerce-MyAccount-content > p:first-of-type,
.woocommerce .woocommerce-MyAccount-content > p:first-of-type {
    font-size: 1.125rem !important;
    color: #495057 !important;
    margin-bottom: 2rem !important;
    padding: 1.5rem !important;
    background: #f8f9fa !important;
    border-radius: 6px !important;
    border-left: 4px solid #19b219 !important;
}

/* ==========================================================================
   FORMS STYLING
   ========================================================================== */

.woocommerce form .form-row {
    margin-bottom: 1.5rem;
}

.woocommerce form .form-row label,
.def-page .woocommerce form label {
    display: block !important;
    margin-bottom: 0.5rem !important;
    font-weight: 600 !important;
    color: #2c3e50 !important;
}

.woocommerce form .form-row .required {
    color: #e74c3c;
}

.woocommerce form input[type="text"],
.woocommerce form input[type="email"],
.woocommerce form input[type="password"],
.woocommerce form input[type="tel"],
.woocommerce form select,
.woocommerce form textarea,
.woocommerce-account input[type="text"],
.woocommerce-account input[type="email"],
.woocommerce-account input[type="password"],
.def-page .woocommerce input[type="text"],
.def-page .woocommerce input[type="email"],
.def-page .woocommerce input[type="password"] {
    width: 100% !important;
    padding: 0.75rem 1rem !important;
    border: 2px solid #e1e5e9 !important;
    border-radius: 6px !important;
    font-size: 1rem !important;
    transition: border-color 0.3s ease, box-shadow 0.3s ease !important;
    background: white !important;
    box-sizing: border-box !important;
}

.woocommerce form input[type="text"]:focus,
.woocommerce form input[type="email"]:focus,
.woocommerce form input[type="password"]:focus,
.woocommerce form input[type="tel"]:focus,
.woocommerce form select:focus,
.woocommerce form textarea:focus,
.woocommerce-account input[type="text"]:focus,
.woocommerce-account input[type="email"]:focus,
.woocommerce-account input[type="password"]:focus,
.def-page .woocommerce input[type="text"]:focus,
.def-page .woocommerce input[type="email"]:focus,
.def-page .woocommerce input[type="password"]:focus {
    border-color: #19b219 !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(30, 136, 229, 0.1) !important;
}

/* Buttons */
.woocommerce button.button,
.woocommerce a.button,
.woocommerce input.button,
.woocommerce-account button,
.woocommerce-account input[type="submit"],
.def-page .woocommerce button,
.def-page .woocommerce input[type="submit"],
.def-page .woocommerce a.button {
    background: #19b219 !important;
    color: white !important;
    padding: 0.75rem 1.5rem !important;
    border: none !important;
    border-radius: 6px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    display: inline-block !important;
    transition: all 0.3s ease !important;
    cursor: pointer !important;
    font-size: 1rem !important;
    width: 100% !important;
    text-align: center !important;
}

.woocommerce button.button:hover,
.woocommerce a.button:hover,
.woocommerce input.button:hover,
.woocommerce-account button:hover,
.woocommerce-account input[type="submit"]:hover,
.def-page .woocommerce button:hover,
.def-page .woocommerce input[type="submit"]:hover,
.def-page .woocommerce a.button:hover {
    background: #19b219 !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(30, 136, 229, 0.3);
    color: white !important;
}

.woocommerce button.button.alt,
.woocommerce a.button.alt,
.woocommerce input.button.alt {
    background: #28a745 !important;
}

.woocommerce button.button.alt:hover,
.woocommerce a.button.alt:hover,
.woocommerce input.button.alt:hover {
    background: #218838 !important;
}

/* Checkbox styling */
.woocommerce-account input[type="checkbox"],
.def-page .woocommerce input[type="checkbox"] {
    width: auto !important;
    margin-right: 0.5rem;
}

.woocommerce-account .woocommerce-form-login__rememberme {
    margin: 1rem 0;
}

.woocommerce-account .woocommerce-form-login__rememberme label {
    display: inline !important;
    font-weight: normal !important;
}

/* Lost password link */
.woocommerce-account .woocommerce-LostPassword {
    margin-top: 1rem;
    text-align: center;
}

.woocommerce-account .woocommerce-LostPassword a {
    color: #19b219;
    text-decoration: none;
    font-weight: 500;
}

.woocommerce-account .woocommerce-LostPassword a:hover {
    text-decoration: underline;
}

/* ==========================================================================
   LOGIN & REGISTER FORMS
   ========================================================================== */

/* Single login form styling */
.woocommerce form.woocommerce-form-login {
    max-width: 500px;
    margin: 2rem auto;
    background: white;
    padding: 2rem;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    border: 1px solid #e1e5e9;
}

.woocommerce-account .u-columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    margin-top: 2rem;
}

.woocommerce-account .u-column1,
.woocommerce-account .u-column2 {
    background: white;
    padding: 2rem;
    border-radius: 8px;
    border: 1px solid #e1e5e9;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.woocommerce-account .u-column1 h2,
.woocommerce-account .u-column2 h2 {
    margin-top: 0;
    color: #2c3e50;
    text-align: center;
    border-bottom: 2px solid #e1e5e9;
    padding-bottom: 1rem;
    margin-bottom: 1.5rem;
}

/* Login page title */
.woocommerce-account h1 {
    color: #2c3e50;
    margin-bottom: 2rem;
    text-align: center;
}

/* Lost Password Form */
.woocommerce-ResetPassword,
.woocommerce-lost-password-confirmation {
    background: white;
    padding: 2rem;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    max-width: 500px;
    margin: 2rem auto;
}

.woocommerce form.woocommerce-ResetPassword,
.woocommerce form.lost_reset_password {
    background: #f8f9fa;
    padding: 2rem;
    border-radius: 8px;
    border: 1px solid #e1e5e9;
}

/* ==========================================================================
   TABLES (Orders, Downloads)
   ========================================================================== */

.woocommerce-account table.woocommerce-orders-table,
.woocommerce-account table.woocommerce-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 2rem;
    background: white;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.woocommerce-account table.woocommerce-orders-table th,
.woocommerce-account table.woocommerce-table th {
    background: #2c3e50;
    color: white;
    padding: 1rem;
    text-align: left;
    font-weight: 600;
    border-bottom: 2px solid #34495e;
}

.woocommerce-account table.woocommerce-orders-table td,
.woocommerce-account table.woocommerce-table td {
    padding: 1rem;
    border-bottom: 1px solid #e9ecef;
    vertical-align: middle;
}

.woocommerce-account table.woocommerce-orders-table tr:hover,
.woocommerce-account table.woocommerce-table tr:hover {
    background: #f8f9fa;
}

.woocommerce-account table.woocommerce-orders-table tr:last-child td,
.woocommerce-account table.woocommerce-table tr:last-child td {
    border-bottom: none;
}

/* Order status styling */
.woocommerce-orders-table__cell-order-status mark {
    padding: 0.25rem 0.75rem;
    border-radius: 20px;
    font-size: 0.875rem;
    font-weight: 600;
    text-transform: uppercase;
}

.woocommerce-orders-table__cell-order-status mark.status-completed {
    background: #d4edda;
    color: #155724;
}

.woocommerce-orders-table__cell-order-status mark.status-processing {
    background: #fff3cd;
    color: #856404;
}

.woocommerce-orders-table__cell-order-status mark.status-pending {
    background: #f8d7da;
    color: #721c24;
}

.woocommerce-orders-table__cell-order-status mark.status-cancelled {
    background: #f1f3f4;
    color: #495057;
}

/* ==========================================================================
   DASHBOARD
   ========================================================================== */

.woocommerce-MyAccount-content .woocommerce-Message {
    background: #e3f2fd;
    border: 1px solid #bbdefb;
    border-radius: 6px;
    padding: 1rem 1.5rem;
    margin-bottom: 2rem;
    color: #0d47a1;
    border-left: 4px solid #19b219;
}

.woocommerce-MyAccount-content .woocommerce-Message--info {
    background: #e3f2fd;
    border-color: #bbdefb;
    color: #0d47a1;
}

.woocommerce-MyAccount-content p:first-of-type {
    font-size: 1.125rem;
    color: #495057;
    margin-bottom: 2rem;
    padding: 1.5rem;
    background: #f8f9fa;
    border-radius: 6px;
    border-left: 4px solid #19b219;
}

/* ==========================================================================
   ADDRESS BOOK
   ========================================================================== */

.def-page .woocommerce .u-columns.woocommerce-Addresses.col2-set.addresses,
.woocommerce .u-columns.woocommerce-Addresses.col2-set.addresses {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 2rem !important;
}

.def-page .woocommerce .u-column1.col-1.woocommerce-Address,
.def-page .woocommerce .u-column2.col-2.woocommerce-Address,
.woocommerce .u-column1.col-1.woocommerce-Address,
.woocommerce .u-column2.col-2.woocommerce-Address {
    background: white !important;
    padding: 2rem !important;
    border-radius: 8px !important;
    border: 1px solid #e1e5e9 !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1) !important;
    position: relative;
    min-height: 200px;
    display: flex !important;
    flex-direction: column !important;
}

.def-page .woocommerce .woocommerce-Address-title.title,
.woocommerce .woocommerce-Address-title.title {
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    margin-bottom: 1.5rem !important;
}

.def-page .woocommerce .woocommerce-Address-title.title h2,
.woocommerce .woocommerce-Address-title.title h2 {
    margin: 0 !important;
    color: #2c3e50 !important;
    border-bottom: 2px solid #e9ecef !important;
    padding-bottom: 0.5rem !important;
    font-size: 1.25rem !important;
    flex-grow: 1 !important;
}

.def-page .woocommerce .woocommerce-Address address,
.woocommerce .woocommerce-Address address {
    margin-bottom: 1.5rem !important;
    line-height: 1.6 !important;
    color: #6c757d !important;
    flex-grow: 1;
    font-style: italic !important;
}

.def-page .woocommerce .woocommerce-Address .edit,
.woocommerce .woocommerce-Address .edit {
    background: #19b219 !important;
    color: white !important;
    padding: 0.5rem 1rem !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    font-size: 0.875rem !important;
    font-weight: 500 !important;
    transition: all 0.3s ease !important;
    display: inline-block !important;
    width: auto !important;
    text-align: center !important;
    margin-left: 1rem !important;
    white-space: nowrap !important;
}

.def-page .woocommerce .woocommerce-Address .edit:hover,
.woocommerce .woocommerce-Address .edit:hover {
    background: #19b219 !important;
    transform: translateY(-1px);
    color: white !important;
    text-decoration: none !important;
}

/* ==========================================================================
   ACCOUNT DETAILS
   ========================================================================== */

.woocommerce-account .woocommerce-EditAccountForm fieldset {
    border: none;
    padding: 0;
    margin-bottom: 2rem;
}

.woocommerce-account .woocommerce-EditAccountForm legend {
    font-size: 1.25rem;
    font-weight: 600;
    color: #2c3e50;
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid #e9ecef;
    width: 100%;
}

/* Password strength indicator */
.woocommerce-password-strength {
    margin-top: 0.5rem;
    padding: 0.5rem;
    border-radius: 4px;
    font-size: 0.875rem;
    font-weight: 600;
}

.woocommerce-password-strength.short {
    background: #f8d7da;
    color: #721c24;
}

.woocommerce-password-strength.bad {
    background: #f8d7da;
    color: #721c24;
}

.woocommerce-password-strength.good {
    background: #fff3cd;
    color: #856404;
}

.woocommerce-password-strength.strong {
    background: #d4edda;
    color: #155724;
}

/* ==========================================================================
   DOWNLOADS
   ========================================================================== */

.woocommerce-account .woocommerce-table--my-account-downloads td {
    vertical-align: middle;
}

.woocommerce-account .download-file {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background: #007cba;
    color: white;
    padding: 0.5rem 1rem;
    border-radius: 4px;
    text-decoration: none;
    font-weight: 500;
    transition: all 0.3s ease;
}

.woocommerce-account .download-file:hover {
    background: #005a87;
    transform: translateY(-1px);
}

.woocommerce-account .download-file::before {
    content: "📁";
    margin-right: 0.25rem;
}

/* ==========================================================================
   RESPONSIVE DESIGN
   ========================================================================== */

@media (max-width: 768px) {
    .def-page .woocommerce .woocommerce-MyAccount-navigation ul,
    .woocommerce nav.woocommerce-MyAccount-navigation ul {
        flex-direction: column !important;
    }
    
    .def-page .woocommerce .woocommerce-MyAccount-navigation li,
    .woocommerce nav.woocommerce-MyAccount-navigation li {
        border-right: none !important;
        border-bottom: 1px solid #e1e5e9 !important;
        min-width: auto !important;
    }
    
    .def-page .woocommerce .woocommerce-MyAccount-navigation li:last-child,
    .woocommerce nav.woocommerce-MyAccount-navigation li:last-child {
        border-bottom: none !important;
    }
    
    .def-page .woocommerce .woocommerce-MyAccount-navigation li a,
    .woocommerce nav.woocommerce-MyAccount-navigation li a {
        text-align: left !important;
        padding: 0.75rem 1rem !important;
    }
    
    .def-page .woocommerce .u-columns,
    .woocommerce-account .u-columns {
        grid-template-columns: 1fr !important;
        gap: 2rem !important;
    }
    
    .def-page .woocommerce .woocommerce-Addresses.u-columns,
    .woocommerce .u-columns.woocommerce-Addresses {
        grid-template-columns: 1fr !important;
    }
    
    .woocommerce form.woocommerce-form-login {
        margin: 1rem;
        padding: 1.5rem;
    }
    
    .def-page .woocommerce .woocommerce-MyAccount-content,
    .woocommerce .woocommerce-MyAccount-content {
        padding: 1rem !important;
    }
    
    .woocommerce-account table.woocommerce-orders-table,
    .woocommerce-account table.woocommerce-table {
        font-size: 0.875rem;
    }
    
    .woocommerce-account table.woocommerce-orders-table th,
    .woocommerce-account table.woocommerce-table th,
    .woocommerce-account table.woocommerce-orders-table td,
    .woocommerce-account table.woocommerce-table td {
        padding: 0.75rem 0.5rem;
    }
}

@media (max-width: 480px) {
    .def-page .woocommerce .woocommerce-MyAccount-navigation li a,
    .woocommerce nav.woocommerce-MyAccount-navigation li a {
        padding: 0.75rem 1rem !important;
        font-size: 0.875rem !important;
    }
    
    .woocommerce-account .u-column1,
    .woocommerce-account .u-column2 {
        padding: 1.5rem;
    }
    
    .woocommerce form.woocommerce-form-login {
        padding: 1rem;
        margin: 0.5rem;
    }
}

/* ==========================================================================
   ADDITIONAL ENHANCEMENTS
   ========================================================================== */

/* Loading states */
.woocommerce .blockUI.blockOverlay {
    background: rgba(255, 255, 255, 0.8);
    border-radius: 8px;
}

/* Success messages */
.woocommerce-message {
    background: #d4edda;
    border: 1px solid #c3e6cb;
    color: #155724;
    padding: 1rem 1.5rem;
    border-radius: 6px;
    margin-bottom: 2rem;
}

/* Error messages */
.woocommerce-error {
    background: #f8d7da;
    border: 1px solid #f5c6cb;
    color: #721c24;
    padding: 1rem 1.5rem;
    border-radius: 6px;
    margin-bottom: 2rem;
}

/* Info messages */
.woocommerce-info {
    background: #cce7ff;
    border: 1px solid #99d3ff;
    color: #004085;
    padding: 1rem 1.5rem;
    border-radius: 6px;
    margin-bottom: 2rem;
}

/* Smooth transitions for everything */
* {
    transition: color 0.3s ease, background-color 0.3s ease, border-color 0.3s ease;
}

/* Print styles */
@media print {
    .woocommerce-account .woocommerce-MyAccount-navigation {
        display: none;
    }
    
    .woocommerce-account .woocommerce-MyAccount-content {
        box-shadow: none;
        border: 1px solid #ddd;
    }
}

.woocommerce .col-2,
.woocommerce .col-1 {
    -webkit-box-flex: unset;
    -ms-flex: unset;
    flex: unset;
    max-width: unset;
    width: unset !important;
    float: unset;
}

.woocommerce-info::before {
  display: none;
}

.woocommerce .col2-set::before{
  display: none;
}