.cfwc-shop{max-width:1280px;margin:0 auto;padding:50px 15px;display:grid;grid-template-columns:300px 1fr;grid-template-areas:"sidebar main";gap:26px;align-items:start}
.cfwc-shop > main{grid-area:main}
.cfwc-shop__sidebar{grid-area:sidebar}
.cfwc-filter-toggle{grid-column:1/-1}
.cfwc-shop__sidebar{background:#fff;border:1px solid #e8e8e8;border-radius:10px;padding:16px;position:sticky;top:24px;height:max-content}
.cfwc-filter__head{display:none}
.cfwc-shop__heading{font-weight:700;margin:6px 0 10px}
.cfwc-filter{margin-bottom:16px}
.cfwc-filter .list{max-height:220px;overflow:auto;border:1px solid #f0f0f0;border-radius:8px;padding:10px}
.cfwc-filter .list label{display:flex;align-items:center;gap:8px;padding:6px 4px;border-bottom:1px solid #f6f6f6}
.cfwc-filter .list label:last-child{border-bottom:none}
.cfwc-price-ui{margin-top:10px}
.cfwc-range-wrap{position:relative;height:36px;margin:8px 0}
.cfwc-range-wrap input[type=range]{position:absolute;width:100%;pointer-events:none;appearance:none;height:6px;top:14px;background:transparent;    border: 0px !important;}
.cfwc-range-wrap input[type=range]::-webkit-slider-thumb{pointer-events:auto;appearance:none;width:16px;height:16px;background:#111;border-radius:50%;cursor:pointer}
.cfwc-range-wrap input[type=range]::-moz-range-thumb{width:16px;height:16px;background:#111;border:0;border-radius:50%;cursor:pointer}
.cfwc-range-track{position:absolute;height:6px;top:14px;left:0;right:0;border-radius:6px;background:linear-gradient(90deg,#e9e9e9 0%,#e9e9e9 100%)}
.cfwc-range-values{display:flex;gap:10px}
.cfwc-range-values input{width:100%;font:inherit;text-align:right;padding-right:10px}
.cfwc-num-euro{display:flex;align-items:center;gap:6px;flex:1}
.cfwc-range-values .cfwc-euro{color:#666}
.cfwc-shop__grid{display:grid;gap:28px}
/* Grid por defecto en el archivo de tienda */
.cfwc-shop .cfwc-shop__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.cfwc-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}
.cfwc-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.cfwc-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.cfwc-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.cfwc-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}
.cfwc-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}
.cfwc-shop__card{background:#fff;border:1px solid #eee;border-radius:12px;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .2s, transform .2s;padding:16px}
.cfwc-num-euro input {border:0px!important;}
.cfwc-shop__card:hover{box-shadow:0 8px 24px rgba(0,0,0,.12);transform:translateY(-3px)}
.cfwc-shop__card .img{height:260px;display:flex;align-items:center;justify-content:center}
.cfwc-shop__card .img img{max-width:100%;max-height:100%;transition:transform .25s ease}
.cfwc-shop__card:hover .img img{transform:scale(1.03)}
.cfwc-shop__card .body{padding:20px}
.cfwc-shop__card .body > * + *{margin-top:10px}
.cfwc-shop__card h3{margin:0 0 10px !important}
.cfwc-shop__toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;margin-top:30px}
.cfwc-shop__toolbar .count{color:#666}
.cfwc-shop__toolbar select{border:1px solid #ddd;border-radius:8px;padding:6px 10px;font: inherit}
.price{font-size:18px;font-weight:700}
.cfwc-pagination{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;align-items:center;margin-top: 50px;}
.cfwc-btn-reset{display:inline-block;border:1px solid #040404;background:#040404;color:#fff!important;padding:8px 14px;border-radius:30px 15px;text-decoration:none;transition:.2s;font-weight:600!important}
.cfwc-btn-reset:hover{background:#040404;color:#fff;border:1px solid #34143C}
.cfwc-pagination a,.cfwc-pagination span{border:1px solid #e2e2e2;padding:8px 12px;border-radius:8px;text-decoration:none;color:#333}
.cfwc-pagination a:hover{background:#111;color:#fff;border-color:#111}
.cfwc-pagination a.current,.cfwc-pagination span.current{background:#111;color:#fff;border-color:#111}
.cfwc-filter-toggle{display:none!important;align-items:center;gap:8px;border:1px solid #ddd;border-radius:10px;padding:10px 14px;background:#fff;cursor:pointer}

/* Botones de compra (archive y single) */
.cfwc-shop .cfwc-shop__card .button,
.cfwc-shop .cfwc-shop__card .add_to_cart_button,
.cfwc-shop__grid .cfwc-shop__card .button,
.cfwc-shop__grid .cfwc-shop__card .add_to_cart_button,
.cfwc-single-wrap .single_add_to_cart_button{
  background-color: var(--e-global-color-73573c6, #111) !important;
  font-family: "Noto Sans", Sans-serif;
  font-size: 15px;
  font-weight: 500;
  fill: var(--e-global-color-a377edc, #fff);
  color: var(--e-global-color-a377edc, #fff) !important;
  border-radius: 30px 15px 30px 15px;
  padding: 12px 30px 12px 30px;
  border: 0;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: transform .12s ease;
}
.cfwc-shop .cfwc-shop__card .button:hover,
.cfwc-shop .cfwc-shop__card .add_to_cart_button:hover,
.cfwc-shop__grid .cfwc-shop__card .button:hover,
.cfwc-shop__grid .cfwc-shop__card .add_to_cart_button:hover,
.cfwc-single-wrap .single_add_to_cart_button:hover{
  transform: scale(0.965);
  background-color: var(--e-global-color-73573c6, #111) !important;
  color: var(--e-global-color-a377edc, #fff) !important;
}

/* Evitar cambios al cargar/añadido por Woo */
.cfwc-shop .cfwc-shop__card .add_to_cart_button.loading,
.cfwc-shop .cfwc-shop__card .add_to_cart_button.added{
  transform: none !important;
}
body.no-scroll{overflow:hidden}
@media (max-width:768px){
  body.no-scroll{overflow:auto}
}
@media (max-width:1100px){.cfwc-shop .cfwc-shop__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:768px){
  .cfwc-shop{grid-template-columns:1fr;grid-template-rows:auto auto 1fr;grid-template-areas:"filters" "sidebar" "main"}
  .cfwc-shop .cfwc-shop__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
  .cfwc-filter-toggle{display:inline-flex!important;margin-bottom:15px;grid-area:filters!important;grid-row:1;background: #040404;border-radius:30px 15px;color:#fff;font-family: "Noto Sans", Sans-serif!important;font-weight:700;}
  .cfwc-shop__sidebar{display:none;position:static;height:auto;background:#fff;border-radius:10px;padding:12px;border:1px solid #e8e8e8;margin-bottom:15px;grid-area:sidebar!important;grid-row:2}
  .cfwc-shop__sidebar form{min-height:auto;padding:0}
  .cfwc-filter__head{display:flex;position:static;justify-content:space-between;align-items:center;background:transparent;padding:0 0 10px;border-bottom:1px solid #eee}
  .cfwc-filter-close{border:1px solid #ddd;background:#fff;border-radius:8px;padding:6px 10px}
  .cfwc-shop.filters-open .cfwc-shop__sidebar{display:block!important;visibility:visible!important;opacity:1!important;margin-bottom:12px}
  .cfwc-shop-overlay{display:none}
}
@media (max-width:540px){
  .cfwc-shop .cfwc-shop__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .cfwc-shop__grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}
}

.cfwc-single-wrap{max-width:1280px;margin:0 auto;padding:50px 15px}
.cfwc-single-wrap h1{margin:0}
.cfwc-single-hero{display:grid;grid-template-columns:480px 1fr;gap:28px;align-items:start}
.cfwc-single-card{background:#fff;border:1px solid #e8e8e8;border-radius:12px;box-shadow:0 2px 12px rgba(0,0,0,.04)}
.cfwc-single-card .body{padding:16px}
.cfwc-single-img{width:100%;height:400px!important;object-fit:cover;border-radius:8px}
.cfwc-single-price{font-size:28px;font-weight:700;color:#1a1a1a}
.cfwc-single-format{margin:6px 0 10px;color:#666;font-size:14px}
.cfwc-single-sect{margin-top:30px}
.cfwc-single-buy{display:flex;align-items:center;gap:10px;margin:16px 0;flex-wrap:wrap}
.cfwc-single-buy form{display:flex;align-items:center;gap:10px;flex-wrap:wrap}

#order_comments, .select2-selection {border-radius:0px!important;border:1px solid #eee!important;}
.select2-dropdown {border: 1px solid #eee !important;}

.button {    
  background: #111 !important;
  color: #fff !important;
  border-radius: 30px 15px 30px 15px!important;
  font-family: "Noto Sans", Sans-serif!important;
}

.checkout-button.button, #place_order.button {    
  background: #111 !important;
  color: #fff !important;
  border-radius: 30px 15px 30px 15px!important;
    
}

.checkout-button.button:hover, #place_order.button:hover {background: #111!important; }
.button:hover, #place_order:hover {background: #111!important; }

/* Notificaciones de WooCommerce */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
border-radius:30px 15px!important;
}

.woocommerce-message {
    background: #d4edda;
    border-color: #c3e6cb;
    color: #155724;
}

.woocommerce-error {
    background: #f8d7da;
    border-color: #f5c6cb;
    color: #721c24;
}

.woocommerce-info {
    background: #d1ecf1;
    border-color: #bee5eb;
    color: #0c5460;
}

.woocommerce #content table.cart td.actions .input-text, .woocommerce table.cart td.actions .input-text, .woocommerce-page #content table.cart td.actions .input-text, .woocommerce-page table.cart td.actions .input-text {
  width: auto!important;
  min-height: 36px !important;
  padding: 6px 16px !important;
  font-size: 16px !important;

}

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

/* Notificación personalizada para agregar al carrito */
.cfwc-cart-notification {
    position: fixed;
    top: 20px;
    right: 20px;
    background: #111;
    color: #fff;
    padding: 15px 20px;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    z-index: 9999;
    animation: slideInRight 0.3s ease-out;
    max-width: 300px;
}

@keyframes slideInRight {
    from {
        opacity: 0;
        transform: translateX(100%);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.cfwc-cart-notification .cfwc-notification-content {
    display: flex;
    align-items: center;
    gap: 10px;
}

.cfwc-cart-notification .cfwc-notification-icon {
    font-size: 18px;
}

.cfwc-cart-notification .cfwc-notification-text {
    font-size: 14px;
    font-weight: 500;
}
.cfwc-single-btn{appearance:none;border:0;background:#111;color:#fff;padding:12px 18px;border-radius:10px;cursor:pointer;transition:.2s}
.cfwc-single-btn:hover{background:#222}

/* Estilos para botón y cantidad en single product */
.cfwc-single-buy .quantity{
  display: flex;
  align-items: center;
  gap: 8px;
}
.cfwc-single-buy .quantity input[type="number"],
.cfwc-single-buy .quantity .qty{
  width: 60px;
  padding: 12px;
  border: 1px solid #eee;
  border-radius: 0px;
  font-size: 16px;
  text-align: center;
  background: #fff;
}
.cfwc-single-buy .single_add_to_cart_button{
  background-color: var(--e-global-color-73573c6, #111) !important;
  font-family: "Noto Sans", Sans-serif!important;
  font-size: 18px!important;
  font-weight: 600!important;
  color: var(--e-global-color-a377edc, #fff) !important;
  border-radius: 30px 15px 30px 15px !important;
  padding: 18px 30px !important;
  border: 0 !important;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: transform .12s ease;
  cursor: pointer;
  box-shadow: none !important;
}
.cfwc-single-buy .single_add_to_cart_button:hover{
  transform: scale(0.965);
  background-color: var(--e-global-color-73573c6, #111) !important;
  color: var(--e-global-color-a377edc, #fff) !important;
}
.cfwc-single-title{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:700;margin-bottom:12px}
.cfwc-single-title .ico{width:22px;height:22px;display:inline-flex}
.cfwc-single-tech ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.cfwc-single-tech li{background:#fff;border:1px solid #eee;border-radius:8px;padding:12px}

@media (max-width:900px){.cfwc-single-hero{grid-template-columns:1fr}.cfwc-single-tech ul{grid-template-columns:1fr}}
@media(min-width:768px) {
	.woocommerce .col2-set .col-1, 
	.woocommerce-page .col2-set .col-1 {
		width: 90%!important;
	}
	.woocommerce-account .col-1 {width:48%!important;}
	#customer_details {
		display: flex;
		flex-flow: column nowrap;
		float: left;
		width: 50%;
	}

	#customer_details .col-2 {
		width: 90%;
		margin-top: 20px;
	}

	#order_review,
	#order_review_heading {
		width: 50%;
		float: left;
		clear: none;
	}
}
table tbody tr:hover>td, table tbody tr:hover>th {
  background-color: transparent!important;
}
table tbody>tr:nth-child(odd)>td, table tbody>tr:nth-child(odd)>th {
  background-color: transparent!important;
}

#add_payment_method #payment, .woocommerce-cart #payment, .woocommerce-checkout #payment {
  background: #fff!important;
}

.woocommerce form .form-row .input-text, .woocommerce form .form-row select {
  min-height: 47px!important;
  padding: 6px 16px!important;
  font-size:16px!important;
  font-family: "Noto Sans", Sans-serif!important;
}

.woocommerce .quantity .qty {
  min-height: 47px !important;
  padding: 6px 16px !important;
  font-size: 16px !important;
  font-family: "Noto Sans", Sans-serif!important;
}



/* Galería en single product */
.cfwc-single-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px}
.cfwc-single-thumb{display:block;border:1px solid #eee;border-radius:8px;overflow:hidden;background:#fff}
.cfwc-single-thumb-img{width:100%;height:120px;object-fit:cover;transition:transform .2s ease}
.cfwc-single-thumb:hover .cfwc-single-thumb-img{transform:scale(1.03)}
.cfwc-single-thumb.is-active{border-color:#111;box-shadow:0 0 0 2px rgba(17,17,17,.08)}

/* Galería en single vinos */
.vino-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px}
.vino-thumb{display:block;border:1px solid #eee;border-radius:8px;overflow:hidden;background:#fff}
.vino-thumb-img{width:100%;height:120px;object-fit:cover;transition:transform .2s ease}
.vino-thumb:hover .vino-thumb-img{transform:scale(1.03)}
.vino-thumb.is-active{border-color:#111;box-shadow:0 0 0 2px rgba(17,17,17,.08)}

@media (max-width:540px){
  .cfwc-single-gallery,.vino-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .cfwc-single-thumb-img,.vino-thumb-img{height:90px}
}
