/* Abancay Product Experience — layout. Solo afecta a .abn-product-layout (ficha individual). */
:root{--abn-ink:#17191b;--abn-muted:#646b70;--abn-line:#dcdfe1;--abn-soft:#f4f5f5;--abn-sale:#c8231a;--abn-good:#137a36;--abn-gap:4px}

/* Neutraliza floats/anchos del tema sin tocar el resto de div.product */
.abn-product-layout{clear:both;width:100%}
.abn-product-layout::after{content:"";display:table;clear:both}
.abn-product-main{display:grid!important;grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr) 150px;gap:clamp(20px,2.6vw,40px);align-items:start;margin-bottom:48px;max-width:1440px}
.abn-product-main>.abn-product-media,.abn-product-main>.summary{float:none!important;width:auto!important;max-width:none!important;margin:0!important;padding:0;min-width:0}
.abn-product-main>.summary{position:sticky;top:24px;align-self:start}
.abn-product-content{clear:both;width:100%;min-width:0}
.abn-product-content>*{float:none!important;width:auto!important;max-width:100%}

/* Galería editorial desktop: 2 columnas, sin miniaturas */
.abn-media__track{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--abn-gap);outline:0}
.abn-media__item{position:relative;margin:0;padding:0;border:0;min-width:0;aspect-ratio:4/5;background:var(--abn-soft);overflow:hidden;display:block;width:100%}
.abn-media__item img{display:block;width:100%;height:100%;object-fit:cover}
/* Degradación: 1 elemento ocupa todo; último impar ocupa ambas columnas (sin huecos ni fillers) */
.abn-media__item:only-child,.abn-media__item:last-child:nth-child(odd){grid-column:1/-1}
.abn-media__item:only-child{aspect-ratio:1/1;max-height:70vh}
.abn-media__item:last-child:nth-child(odd):not(:only-child){aspect-ratio:16/10}
.abn-media__video{cursor:pointer;color:#fff}
.abn-media__poster-empty{display:block;width:100%;height:100%;background:#2b2f33}
.abn-play{position:absolute;left:50%;top:50%;width:64px;height:64px;margin:-32px 0 0 -32px;border-radius:50%;background:rgba(15,17,18,.85)}
.abn-play::after{content:"";position:absolute;left:26px;top:20px;border-style:solid;border-width:12px 0 12px 19px;border-color:transparent transparent transparent #fff}
.abn-media__counter,.abn-media__dots{display:none}

/* Summary */
.abn-rating{display:inline-flex;align-items:center;gap:6px;margin:0 0 10px;color:var(--abn-ink);font-size:14px;text-decoration:none}
.abn-rating .star-rating{margin:0!important;float:none!important}
.abn-rating__count{text-decoration:underline;text-underline-offset:3px;color:var(--abn-muted)}
.abn-product-main .product_title{margin:0 0 4px;font-size:clamp(20px,1.6vw,24px);line-height:1.25;font-weight:600}
.abn-product-main .summary .price{font-size:18px}
.abn-seller{margin:0 0 14px;font-size:13px;color:var(--abn-muted)}
.abn-seller strong,.abn-seller a{color:var(--abn-ink)}
.abn-product-main .summary .price{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;margin:0 0 4px}
.abn-product-main .summary .price ins{color:var(--abn-sale);text-decoration:none;font-weight:700}
.abn-product-main .summary .price del{color:var(--abn-muted);font-size:.85em}
.abn-discount{display:inline-block;margin:0 0 16px;color:var(--abn-sale);font-weight:700;font-size:14px}
.abn-discount[hidden]{display:none}
.abn-product-main form.cart{margin:18px 0}
.abn-product-main table.variations{width:100%;border:0;margin:0 0 12px}
.abn-product-main table.variations th,.abn-product-main table.variations td{display:block;padding:0;border:0;text-align:left;background:none}
.abn-product-main table.variations th{margin:12px 0 8px;font-size:14px}
.abn-select-hidden{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none}
.abn-swatches{display:flex;flex-wrap:wrap;gap:8px}
.abn-swatch{min-width:48px;height:44px;padding:0 12px;border:1px solid var(--abn-line);background:#fff;color:var(--abn-ink);font:inherit;font-size:14px;cursor:pointer;border-radius:2px}
.abn-swatch.is-selected{border-color:var(--abn-ink);box-shadow:inset 0 0 0 1px var(--abn-ink)}
.abn-swatch.is-disabled{opacity:.4;text-decoration:line-through;cursor:not-allowed}
.abn-swatches--visual .abn-swatch{width:56px;height:70px;min-width:0;padding:0;overflow:hidden}
.abn-swatches--visual .abn-swatch img{width:100%;height:100%;object-fit:cover;display:block}
.abn-swatches--visual .abn-swatch img+span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.abn-product-main .reset_variations{display:inline-block;margin-top:8px;font-size:13px}
.abn-product-main .single_add_to_cart_button{min-height:48px}

/* Bloques Abancay */
.abn-info-bar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--abn-line);margin:22px 0 0}
.abn-info{display:flex;gap:8px;align-items:flex-start;padding:13px 11px;margin:0;text-align:left;background:transparent;border:0;color:var(--abn-ink);font:inherit}
.abn-info+.abn-info{border-left:1px solid var(--abn-line)}
button.abn-info{cursor:pointer}
.abn-info p{margin:0;min-width:0}
.abn-info strong{display:block;font-size:12px}
button.abn-info strong{text-decoration:underline;text-underline-offset:3px}
.abn-info small{display:block;margin-top:3px;color:var(--abn-muted);font-size:12px;line-height:1.35}
.abn-stock[data-status="1"]{color:var(--abn-good)!important;font-weight:700}
.abn-stock[data-status="0"]{color:var(--abn-sale)!important;font-weight:700}
.abn-help{display:grid;gap:14px;margin:22px 0 0;padding:18px 0 0;border-top:1px solid var(--abn-line)}
.abn-help__item{display:flex;gap:12px;align-items:flex-start;padding:0;margin:0;border:0;background:transparent;color:var(--abn-ink);font:inherit;text-align:left}
button.abn-help__item{cursor:pointer}
.abn-help__item p{margin:0;font-size:13px;color:var(--abn-muted)}
.abn-help__item strong{display:block;color:var(--abn-ink);font-size:14px}

/* Contenido inferior y relacionados: ancho completo */
.abn-product-content .woocommerce-tabs{margin:0 0 48px}
.abn-product-content .related,.abn-product-content .upsells{margin:0 0 48px}
.abn-product-content .related ul.products,.abn-product-content .upsells ul.products{display:grid!important;grid-auto-flow:column;grid-auto-columns:minmax(200px,calc((100% - 60px)/4));gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;margin:0;padding:0 0 8px;list-style:none}
.abn-product-content ul.products::before,.abn-product-content ul.products::after{display:none!important}
.abn-product-content ul.products li.product{float:none!important;width:auto!important;margin:0!important;scroll-snap-align:start}

/* Te podría interesar */
.abn-product-main>.abn-product-media{grid-column:1;grid-row:1}
.abn-product-main>.summary{grid-column:2;grid-row:1}
.abn-product-main>.abn-ymal{grid-column:3;grid-row:1;float:none!important;width:auto!important;margin:0!important}
.abn-ymal{position:sticky;top:24px;min-width:0}
/* Tarjetas mínimas: sin descripción ni extractos */
.abn-ymal li{background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.08);border-radius:4px;overflow:hidden;padding-bottom:10px}
.abn-ymal p,.abn-ymal .woocommerce-product-details__short-description,.abn-product-content ul.products li.product p:not(.price),.abn-product-content ul.products li.product .woocommerce-product-details__short-description,.abn-product-content ul.products li.product [class*=excerpt],.abn-product-content ul.products li.product [class*=description]{display:none!important}
.abn-ymal__title{margin:0 0 14px;font-size:15px;font-weight:600;text-align:center;line-height:1.3}
.abn-ymal ul{list-style:none;margin:0;padding:0;display:grid;gap:18px}
.abn-ymal a{display:block;color:var(--abn-ink);text-decoration:none;text-align:center;font-size:13px;line-height:1.35}
.abn-ymal__img{position:relative;display:block;aspect-ratio:3/4;background:var(--abn-soft);overflow:hidden;margin-bottom:8px}
.abn-ymal__img img{width:100%;height:100%;object-fit:cover;display:block}
.abn-ymal__badge{display:inline-block;margin-bottom:4px;padding:1px 6px;background:var(--abn-ink);color:#fff;font-size:11px;font-weight:700}
.abn-ymal__name{padding:0 6px;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.abn-ymal__price{display:block;margin-top:2px;font-weight:600}
.abn-ymal__price del{font-weight:400;color:var(--abn-muted)}

/* Contenido extendido */
.abn-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,4vw,64px);padding:40px 0;border-top:1px solid var(--abn-line);margin-bottom:24px}
.abn-details h2{margin:0 0 16px;font-size:22px;font-weight:600}
.abn-details h3{margin:22px 0 8px;font-size:15px;font-weight:600}
.abn-details__body{font-size:15px;line-height:1.65}
.abn-details__body img{max-width:100%;height:auto}
.abn-details .woocommerce-product-attributes{width:100%;font-size:14px}
.abn-services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.abn-services h3{margin-top:0}
.abn-services p{margin:0;color:var(--abn-muted);font-size:14px}
.abn-outline-btn{margin-top:8px;padding:12px 28px;border:1px solid var(--abn-ink);background:#fff;color:var(--abn-ink);font:inherit;font-weight:600;cursor:pointer}
.abn-reviews{padding:32px 0;border-top:1px solid var(--abn-line);margin-bottom:24px}

/* Barra fija */
.abn-sticky{position:fixed;left:0;right:0;bottom:0;z-index:9990;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px clamp(12px,2vw,24px);background:#fff;border-top:1px solid var(--abn-line);box-shadow:0 -4px 16px rgba(0,0,0,.06)}
.abn-sticky[hidden]{display:none}
.abn-sticky__product{display:flex;align-items:center;gap:10px;min-width:0}
.abn-sticky__product img{width:44px;height:44px;object-fit:cover;flex-shrink:0}
.abn-sticky__product p{margin:0;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.abn-sticky__buy{display:flex;align-items:center;gap:14px;flex-shrink:0}
.abn-sticky__price{font-size:15px}
.abn-sticky__price ins{color:var(--abn-sale);text-decoration:none;font-weight:700}
.abn-sticky__btn{min-height:46px;padding:0 28px;border:0;background:var(--abn-ink);color:#fff;font:inherit;font-weight:700;cursor:pointer}
.abn-sticky-on body{padding-bottom:70px}

/* Modales */
.abn-modal[hidden]{display:none}
.abn-modal{position:fixed;inset:0;z-index:999999;display:grid;place-items:center;padding:20px}
.abn-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.7)}
.abn-modal>section{position:relative;z-index:1;width:min(620px,100%);max-height:90vh;overflow:auto;background:#fff;color:var(--abn-ink);padding:28px}
.abn-modal--video>section{width:min(960px,100%);padding:44px 12px 12px;background:#000;color:#fff}
.abn-modal--video h2{position:absolute;left:-9999px}
.abn-modal__close{position:absolute;right:10px;top:6px;border:0;background:transparent;color:inherit;font-size:32px;line-height:1;cursor:pointer}
.abn-modal-video{display:block;width:100%;max-height:78vh;background:#000;object-fit:contain}
.abn-modal-open,.abn-modal-open body{overflow:hidden!important}

/* Sin espacio para 3 columnas: recomendaciones pasan a fila horizontal debajo */
@media (max-width:991px){
  .abn-product-main{grid-template-columns:minmax(0,1.3fr) minmax(260px,1fr)}
  .abn-product-main>.abn-ymal{grid-column:1/-1;grid-row:2;position:static}
  .abn-ymal__title{text-align:left}
  .abn-ymal ul{grid-auto-flow:column;grid-auto-columns:minmax(150px,1fr);overflow-x:auto}
}
/* Tablet */
@media (max-width:1024px) and (min-width:768px){
  .abn-info-bar{grid-template-columns:1fr}
  .abn-info+.abn-info{border-left:0;border-top:1px solid var(--abn-line)}
}

/* Móvil: composición propia. El summary se "aplana" y cada bloque toma un orden deliberado. */
@media (max-width:767px){
  .abn-product-main{display:flex;flex-direction:column;gap:0;margin-bottom:32px}
  .abn-product-main>.summary{display:contents;position:static}
  .abn-product-main>.summary>*{order:10;min-width:0}
  .abn-product-main>.summary>.abn-rating{order:1}
  .abn-product-main>.summary>.product_title{order:2}
  .abn-product-main>.summary>.abn-seller{order:3}
  .abn-product-main>.summary>.price{order:4}
  .abn-product-main>.summary>.abn-discount{order:5}
  .abn-product-main>.abn-product-media{order:6;margin:8px calc(50% - 50vw) 0!important;width:100vw!important}
  .abn-product-main>.summary>.woocommerce-product-details__short-description{order:8}
  .abn-product-main>.summary>form.cart{order:7}
  .abn-product-main>.summary>.abn-info-bar{order:11}
  .abn-product-main>.summary>.abn-help{order:12}
  .abn-product-main>.summary>.product_meta{order:13}

  .abn-media__track{display:flex;gap:0;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .abn-media__track::-webkit-scrollbar{display:none}
  .abn-media__track{gap:6px;padding:0 12px;scroll-padding:0 12px}
  .abn-media__item,.abn-media__item:only-child,.abn-media__item:last-child:nth-child(odd),.abn-media__item:last-child:nth-child(odd):not(:only-child){flex:0 0 80%;aspect-ratio:4/5;max-height:none;scroll-snap-align:start;scroll-snap-stop:always}
  .abn-media__item:only-child{flex-basis:100%}
  .abn-media__track::after{content:"";flex:0 0 6px}
  .abn-product-media{position:relative}
  .abn-media__counter{display:block;position:absolute;right:12px;top:12px;margin:0;padding:3px 9px;border-radius:12px;background:rgba(255,255,255,.9);color:var(--abn-ink);font-size:12px}
  .abn-media__counter:empty{display:none}
  .abn-media__dots{display:flex;justify-content:center;gap:6px;padding:10px 0}
  .abn-media__dots:empty{display:none}
  .abn-media__dots i{width:6px;height:6px;border-radius:50%;background:var(--abn-line)}
  .abn-media__dots i.is-active{background:var(--abn-ink)}

  .abn-info-bar{grid-template-columns:1fr}
  .abn-info+.abn-info{border-left:0;border-top:1px solid var(--abn-line)}
  .abn-ymal{order:20;margin-top:24px}
  .abn-ymal ul{grid-auto-columns:42%}
  .abn-details{grid-template-columns:1fr;padding:28px 0}
  .abn-sticky__product p{display:none}
  .abn-sticky__btn{padding:0 18px}
  .abn-product-main .single_add_to_cart_button{width:100%}
  .abn-product-content .related ul.products,.abn-product-content .upsells ul.products{grid-auto-columns:72%;gap:12px}
  .abn-modal{align-items:end;padding:0}
  .abn-modal>section{width:100%;max-height:92vh;border-radius:16px 16px 0 0;padding:20px}
  .abn-modal--video{align-items:center}
  .abn-modal--video>section{border-radius:0;padding:44px 0 0}
  .abn-modal-video{max-height:82vh}
}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}

/* Blindaje de tamaño frente a estilos del tema */
@media (min-width:992px){.abn-product-main>.abn-ymal{max-width:160px!important}}
.abn-ymal img{width:100%!important;height:100%!important;max-width:100%!important;object-fit:cover}
.abn-ymal ul li{margin:0!important;list-style:none}

/* Móvil: anula el grid de escritorio (que lleva !important) */
@media (max-width:767px){
  .abn-product-main{display:flex!important;flex-direction:column!important}
  .abn-product-main>.abn-product-media,.abn-product-main>.summary,.abn-product-main>.abn-ymal{grid-column:auto!important;grid-row:auto!important;max-width:none!important;width:100%!important}
  .abn-product-main>.abn-product-media{width:100vw!important}
  .abn-product-main>.abn-ymal{order:20!important;position:static!important;margin-top:24px!important}
}

/* Evita el desplazamiento lateral (espacio blanco a la derecha) sin romper el panel fijo */
html:has(.abn-product-layout),body:has(.abn-product-layout),body.single-product{overflow-x:clip!important}
@supports not (overflow-x:clip){body.single-product{overflow-x:hidden!important}}
.abn-product-layout{overflow-x:clip;max-width:100%}
@media (max-width:767px){
  .abn-product-main>.abn-product-media{width:100vw!important;max-width:100vw!important;overflow:hidden}
  .abn-ymal,.abn-ymal ul{max-width:100%!important}
}
