

.site-content .ast-container {
    display: block !important;
	max-width: 1400px !important;
    margin: auto !important;
    overflow: hidden;
}

/* -------------------------------------------------- */
/* 1. Layout de 3 columnas con CSS Grid en el form    */
/* -------------------------------------------------- */
.custom-single-product {
    display: grid;
    grid-template-columns: auto 32% auto;
    gap: 2rem !important;
    margin-bottom: 2rem;
    width: 100%;
    box-sizing: border-box;
}


.glide {
    position: relative;
    width: 100%;
    box-sizing: border-box;
    justify-content: center;
    display: grid
;
}

/* -------------------------------------------------- */
/* 2. Galería: las miniaturas en fila                 */
/* -------------------------------------------------- */
.flex-control-nav.flex-control-thumbs {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  margin-top: 10px !important;
  gap: 10px !important;
}
.flex-control-nav.flex-control-thumbs li {
  text-decoration: none;
}
.flex-control-nav.flex-control-thumbs li a,
.flex-control-nav.flex-control-thumbs li button {
  text-decoration: none;
}

/* (assets/css/single-product-custom.css) */
/* 1. Fondo del contenedor del carrusel y de la variante estática */


.cj-gallery-wrap {
  border-radius: .5rem;                 /* esquinas redondeadas */
}
.cj-gallery-bg{
  position:absolute; inset:0;
  background:#f4f4f4 center/cover no-repeat;
  border-radius:1rem;
}

.glide__track{
  width: min(600px, 100%) !important;
  aspect-ratio: 1 / 1;        /* reserva caja del hero */
  display: grid;
  place-items: center;
  border-radius: 18px;
  background-color: #ededed;  /* mantenido si ya lo tenías */
  width: 500px !important;
  height: 500px !important;
  align-items: center;
  display: grid;
  border-radius: 18px;
}


.glide__slides,
#cjGlide > div.glide__track > ul > li.glide__slide{
    
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
}

.glide__slides img{
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
  margin: auto;
  padding: 15px;
  height: 95% !important;
  display: flex !important;
  margin: auto !important;
  padding: 15px;
}


.glide__thumbnails {
    display: flex;
    gap: .5rem;
    margin-top: 1rem;
}

.glide__thumbnail{
    border: 0;
    background: none;
    cursor: pointer;
    padding: 0;
    background: #f7f7f7 !important;
    padding: 10px;
}
.glide__thumbnail img{
    max-width: 75px;
    max-height: 75px;
    object-fit: contain;
    border-radius: .5rem;
    filter: drop-shadow(0 0 5px #959595ee);
}
.glide__thumbnail.glide__slide--active,
.glide__thumbnail:hover{
    opacity: 1;
    background: #eaeaea !important;
}



/* 2. Fondo específico para la imagen estática (variante) */
.static-variant {
    background-color: #ededed;
    padding: 1rem;
    border-radius: .5rem;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 500px;
}
.glide__track {
    background-color: #f7f7f7 !important;
}
.static-variant img {
    max-height: 400px !important;
    max-width: 400px !important;
    width: auto !important;
    height: auto !important;
}
#cjGlide > div.glide__track > ul > li > img,
#staticVariantImg{
    filter: drop-shadow(0 0 10px #00000045);
}

/* El carrusel y thumbnails sólo en default */
.hide { display:none !important; }

/* -------------------------------------------------- */
/* SEGUNDA COLUMNA 2                      */
/* -------------------------------------------------- */

.product_title.entry-title{
    font-size: 2.25rem;
    font-weight: 900;
    color: #001d3b !important;
    margin: 0 !important;
}


.custom-options .option {
  margin-bottom: 1rem;
}
.custom-options label {
  display: block;
  font-weight: 800;
  margin-bottom: .3rem;
  font-size: .9rem;
  color: #002041;
}


.buttons-estilo,
.buttons-manga{
    display: block;
    gap: 10px;
}
.opc-btn {
    background: #fff !important;
    cursor: pointer;
    color: #002041 !important;
    padding: 5px 10px;
    transition: background .2s, color .2s;
    box-shadow: 0 0 15px 0 rgb(0 0 0 / 8%);
    border: 1px solid #ededed;
    width: auto;
    height: auto;
}
.opc-btn.active {
    background: #e4e6e9 !important;
    color: #002041 !important;
    border: 1px solid #002041 !important;
    font-weight: 800;
    box-shadow: 0px 1px 2px 0px rgb(0 0 0 / 18%);
}
button.opc-btn.talla-btn {
    /* padding: 20px; */
    border-radius: 10px;
    padding: 0;
    width: 45px;
    height: 45px;
    font-size: 17px;
    font-weight: 800;
    background: #fff ;
    color: #002041 !important;
}
.select-talla-hidden {
  display: none !important;
}
.buttons-talla {
  display: flex;
  gap: .5rem;
}

.add-patch{
    font-size: 13px;
    text-decoration: underline;
    color: #002041;
}


.wapf-field-description,
#main > div.ast-woocommerce-container > form > div.details-col > div.wapf > div.wapf-wrapper > div > div > div.wapf-field-container > div.wapf-field-label{
    display: none;
}

.woocommerce-js h2{
    margin-bottom: .4em;
    padding-top: 1rem;
    border-top: 1px solid #ededed;
}

div.wapf-field-container>div.wapf-field-input>div>input {
    border: 1px solid #00204159;
    border-radius: 8px;
    font-size: 17px;
    padding: 0 !important;
    padding-top: 0 !important;
    padding-left: 10px !important;
}

.aviso{
    margin: 0;
    font-size: 12px;
    line-height: 15px;
    color: #b7b7b7;
    margin-top: -10px !important;
}
		


/* -------------------------------------------------- */
/* 4. Precio + botón                                  */
/* -------------------------------------------------- */


.price-area {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 75px;
    gap: 1rem;
    width: 100%;
}

.price del{
    color: #778ea5;
    font-size: 15px;
    font-weight: 600;
    margin: 0;
}
.price{
    color: #002041 !important;
    font-size: 32px;
    font-weight: 800;
    margin: 0;
    line-height: 20px;
    display: grid;
    align-items: center;
    width: 130px;
}

.price-area .single_add_to_cart_button.button.alt{
    padding: 20px 30px;
    border-radius: 12px;
    font-size: 21px;
    font-weight: 800;
    text-transform: uppercase;
    box-shadow: 0 0 10px #0000004a;
}

/* -------------------------------------------------- */
/* 5. Shipping info                                   */
/* -------------------------------------------------- */
.shipping-info {
  padding: 1rem;
  margin: 0 0 2rem 0;
  font-size: .9rem;
  line-height: 1.4;
  border-top: 1px solid #e4e4e4;
  border-radius: 0 0 15px !important;
}

/* -------------------------------------------------- */
/* 6. Reseña                                          */
/* -------------------------------------------------- */
.review-block {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
}

.review-content strong {
  display: block;
  margin-bottom: .5rem;
  font-size: .95rem;
}




/* -------------------------------------------------- */
/* SEGUIMIENTO                                         */
/* -------------------------------------------------- */
/* ===  SHIPPING‑INFO  =================================================== */
/* --- SHIPPING‑INFO ---------------------------------------------------- */

.buy-a-shipping {
    background: #fbfbfb;
    border-radius: 15px;
    width: 100%;
}
.shipping-benefit{
    color: #002041eb;
    line-height: 18px;
    margin: 10px 0;
    font-weight: 500;
}
.shipping-benefit strong{
    color: #014500;
}
.shipping-info{
    position: relative;
    margin: 0rem 0 1rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-radius: 15px;
    display: block;
}

/* Iconos circulares */
.shipping-info__icon{
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: #dfe4ed;
    display: flex;
    place-items: center;
    flex: none;
    justify-content: center;
    align-items: center;
}
.shipping-info__icon svg,
.shipping-info__icon i{
    width: 35px;
    height: 35px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.5rem;
    color: #002041;
}

/* Texto SOBRE la línea */
.shipping-info__title{
    position: absolute;
    top: calc(50% - 1.3rem);
    left: 50%;
    transform: translateX(-50%);
    padding: 0 .6rem;
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
}

/* Texto BAJO la línea */
.shipping-info__date{
    position: absolute;
    top: calc(50% + 0.1rem);
    left: 50%;
    transform: translateX(-50%);
    font-size: 1.25rem;
    font-weight: 800;
    text-transform: uppercase;
    color: #0F2240;
}


/* 5‑bis  ETA visual ---------------------------------------------------- */
.shipping-info .eta-wrapper{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:.75rem;
	position:relative;
	margin-bottom:1.5rem;
}
.shipping-info .eta-icon{
    width: 50px;
    height: 50px;
    font-size: 1.5rem;
    border-radius: 50%;
    background: #dfe4ea;
    color: #002041;
    display: flex;
    align-items: center;
    justify-content: center;
}
.shipping-info .eta-line{
	flex:1;height:1px;background:#002041;position:relative;
}
.shipping-info .eta-label{
	position:absolute;left:50%;top:-1.2rem;transform:translateX(-50%);
	background:#f9f9f9;padding:0 .4rem;font-size:.75rem;
	font-weight:800;color:#002041ba;text-transform:uppercase;
}
.shipping-info .eta-date{
    top: 1.8rem;
    transform: translate(-50%, 50%);
    left: 50%;
    text-align: center;
    font-size: 1.15rem !important;
    font-weight: 900;
    color: #002041;
    margin-bottom: .5rem;
    position: absolute;
}


/* ---------- BLOQUE META NUEVO ------------------------------ */
.cj-pretitle{
    font-size: 11px;
    display: flex;
    gap: 5px;
    flex-wrap: wrap;
    line-height: 12px;
    text-transform: none;
    color: #a3a3a3;
    /* opacity: 0.8; */
    justify-content: start;
}
.cj-pretitle span{
    padding-right: 10px;
    border-right: 1px solid #d7d7d7;
}
.cj-pretitle span:last-child{
    padding-right: 0;
    border-right: 0;
}
.cj-pretitle .cj-team a{color: #a3a3a3;font-size: 12px;text-decoration:underline}
.cj-pretitle .cj-stock.in{
    color: #018301;
    font-weight: 700;
}
.cj-pretitle .cj-stock.out{color:#c62828}

.cj-mini-meta{
    font-size: 13px;
    color: #555;
    flex-wrap: wrap;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: grid;
    gap: 0;
    padding-bottom: 15px;
    margin-bottom: 15px;
    margin-top: 7px;
    padding-top: 12px;
    border-bottom: 1px solid #ededed;
    border-top: 1px solid #ededed;
}

/* ---------- estilo cj‑price ---------------------------------- */
.cj-price{font-size:0; line-height:1.15}          /* anula herencia */

.cj-line1{display:flex;gap:8px;align-items:center;font-size:16px}
.cj-line2{font-size:14px;margin-top:2px}

.cj-off{
    color: #CA0000;
    font-size: 20px;
}

.cj-sale{
    color: #006B00;
    font-size: 25px;
    font-weight: 700;
}

.cj-save{
    color: #237b00;
    font-size: 12px;
    background: #237b0021;
    padding: 2px 6px;
    border-radius: 4px;
    font-weight: 600;
}

.cj-before{
    color:#9c9c9c;           /* gris claro */
    text-decoration:line-through;
}


/* ----- fila stars + units ----------------------------------- */
.cj-meta-row{display:flex;gap:12px;align-items:center;font-size:13px}

.cj-stars{display:flex;gap:4px;align-items:center}
.cj-rating{font-weight:600;color:#002041}     /* promedio */
.cj-icons {
    color: #f5b400;
    font-size: 19px;
    line-height: 25px;
}.cj-count{color:#666;font-size:12px}          /* (nº) */

.cj-units{font-size:13px;color:#555}
.cj-units strong{color:#002041}



/* Si NO es camiseta, oculta cualquier resto de WAPF en la columna 2 */
.details-col.not-shirt .cj-customize-title,
.details-col.not-shirt .wapf,
.details-col.not-shirt .wapf-wrapper,
.details-col.not-shirt .wapf-fields,
.details-col.not-shirt .wapf-form,
.details-col.not-shirt [class*="wapf-"]{
  display: none !important;
}

.cj-customize-title{
  background: linear-gradient(90deg, #000b33,#051961,#081d68) !important;/* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
  background-clip: text !important; /* Recorta el fondo solo al área del texto */
  -webkit-background-clip: text !important; /* Compatibilidad para navegadores Webkit */
  -webkit-text-fill-color: transparent !important; /* Hace que el texto sea transparente para mostrar el degradado */
  color: transparent !important; /* Compatibilidad para otros navegadores */
}

@media (min-width: 1200px) {
    .ast-plain-container.ast-no-sidebar #primary {
        margin-top: 60px;
        margin-bottom: 0px !important;
    }
    
}

.ast-plain-container.ast-no-sidebar #primary {
    margin-top: 0;
    margin-bottom: 0 !important;
}



/* Móvil: alto estable */
@media (max-width: 768px){

 .glide__track{
    width: 100% !important;
    aspect-ratio: 1 / 1;
  }
  
  /* Blindaje anti-CLS: que ninguna regla previa imponga height fijo */
.glide__track{ height:auto !important; }



.custom-single-product .gallery-col{
    margin-bottom: 20px;
}

    .price-area {
        display: flex;
        align-items: center;
        justify-content: center;
        height: 75px;
        gap: 1rem;
        padding: 2.5rem 1rem 3.5rem;
        position: fixed;
        bottom: -5px;
        background: #fff;
        width: 100%;
        z-index: 99999999999999;
        left: 50%;
        transform: translate(-50%, 0);
        box-shadow: 0 0 20px #e9e9e9;
    }

.glide__thumbnails {
    display: none;
}

.shipping-info{
    border-top: none;
}


.details-col{
    margin: -20px !important;
    padding: 20px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(245, 245, 245, 1) 100%);
    border-bottom: 1px solid #efefef;
}

.details-col{ padding-bottom: 50px; } /* ≈ alto del CTA + margen */

.buy-a-shipping{
    background: #fbfbfb;
    border-radius: 15px;
    width: 100%;
    box-shadow: 0 0 17px #ededed;
}

.cj-wa-order{
    box-shadow: 0 0 17px #ededed;
    width: 100% !important;
}

.buttons-estilo,
.buttons-manga{
    display: flex;
    gap: 10px;
}
.opc-btn {
    background: #fff !important;
    cursor: pointer;
    color: #002041 !important;
    padding: 5px 10px;
    transition: background .2s, color .2s;
    box-shadow: 0 0 15px 0 rgb(0 0 0 / 8%);
    border: 1px solid #ededed;
    width: 50% !important;
    height: 45px;
}

.price{
    font-size: 23px;
}

}





/* ====== Indicadores (dots) del carrusel — SOLO MÓVIL ====== */
#cjGlide .cj-dots{ display:none; } /* oculto por defecto (desktop) */

@media (max-width:768px){
  #cjGlide .glide__track{ position: relative; } /* ancla para position:absolute */

  #cjGlide .cj-dots{
    position: absolute;
    left: 50%;
    bottom: 5%;
    transform: translateX(-50%);
    display: flex;
    gap: 8px;
    z-index: 3;
    pointer-events: none; /* no bloquea swipes; cada dot re-habilita su click */
  }
  #cjGlide .cj-dot{
    pointer-events: auto;
    width: 5px;
    height: 5px;
    border-radius: 999px;
    background: rgba(0,0,0,.08);
    outline: none;
    border: 0;
    padding: 0;
    display: block;
    transition: transform .18s ease, background .18s ease;
  }
  #cjGlide .cj-dot.is-active{
    transform: scale(1.4);
    background: rgba(0,0,0,.24);
  }
  
  .shipping-info .eta-date{
    top: 2rem;
}

.custom-single-product{
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }
  .custom-single-product .gallery-col,
  .custom-single-product .details-col,
  .custom-single-product .aside-col{
    margin: 0 0 20px 0;
  }
}



/* Escritorio: carrusel 500×500 fijos (móvil sigue 1:1) */
@media (min-width:992px){
  .glide__track{
    width:500px !important;
    height:500px !important;
    aspect-ratio:auto; /* desactiva la proporción cuando fijamos altura */
  }
}



/* Las labels nativas de WAPF nunca visibles */
.wapf-field-label{ display:none !important; }



/* Icono base: hereda color/tamaño del texto */
.cj-ico { width: 1.25em; height: 1.25em; vertical-align: -0.125em; display: inline-block; }

/* Helpers de separación (si los usas) */
.mr3{ margin-right:3px; } .mr10{ margin-right:10px; }

/* Ejemplos de tamaños/colores contextuales que antes iban inline */
.shipping-info .eta-icon .cj-ico { width:30px; height:30px; }
.shipping-benefit .cj-ico { color:#014500; } /* sustituye el style inline anterior */
