/* Product branding stays at the corner of its frame, independent of the image crop. */
.foto-marca-v95{position:relative;display:inline-block;vertical-align:middle;overflow:hidden;isolation:isolate;object-fit:contain;object-position:center;flex-shrink:0}
.foto-marca-v95>.foto-original-v95{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:inherit!important;object-position:inherit!important;transform:none!important;margin:0!important;padding:0!important;border:0!important;aspect-ratio:auto!important;background:transparent!important}
.foto-marca-v95>.beru-encuadre{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important}
.foto-marca-v95>.sello-foto-v95{position:absolute;z-index:3;top:4%;left:4%;width:clamp(12px,16%,48px);aspect-ratio:1;pointer-events:none;background:rgba(255,255,255,.87) url('img/logo-vivero-kaki.png') center/86% no-repeat;border-radius:50%;box-shadow:0 1px 4px #213b2014;opacity:.9}
.galeria-miniaturas .foto-marca-v95,.combo-planta>.foto-marca-v95{width:100%;height:100%}
:is(.extra-foto,.completar-foto,.mc-foto,.sp-foto)>.foto-marca-v95{width:100%!important;height:100%!important}
.mat-i>.foto-marca-v95{width:88%;height:88%}.foto-elegida>.foto-marca-v95{width:42px;height:42px}
.combo-plato>.foto-marca-v95{width:240px;max-width:100%;height:130px}
.foto-marca-v95.combo-oculta .sello-foto-v95{display:none}

/* Delay visibility until exit finishes; hidden dialogs cannot catch pointer/keyboard input. */
.pnl{transition:transform 240ms cubic-bezier(.2,.7,.2,1),opacity 200ms ease,visibility 0s linear 240ms}
.pnl:not(.on){visibility:hidden;pointer-events:none}
.pnl.on{visibility:visible;pointer-events:auto;transition-delay:0s}
.pnl-p:not(.on){box-shadow:0 12px 50px #15271926}
.pnl-c:not(.on){box-shadow:-10px 0 40px #1527191a}
.pnl,.p-scroll,.c-body{overflow-anchor:none}
.pnl{scroll-behavior:auto}
.p-scroll,.c-body{scroll-behavior:auto;overscroll-behavior-y:contain}
#pnlP details,#pnlC details{box-sizing:border-box}
#pnlP summary,#pnlC summary{scroll-margin:16px;outline-offset:3px}
#pnlP input,#pnlP select,#pnlC input,#pnlC select,#pnlC textarea{scroll-margin-block:24px}
.foto-marca-v95:has(.imagen-no-disponible)>.sello-foto-v95{display:none}
@media(max-width:960px){
 .filtros{transition:transform 240ms cubic-bezier(.2,.7,.2,1),visibility 0s linear 240ms}
 .filtros.on{visibility:visible;transition-delay:0s}
 .filtros:not(.on){visibility:hidden;pointer-events:none}
}
@media(prefers-reduced-motion:reduce){
 .pnl,.telon,.filtros{transition:none!important;animation:none!important}
 html,.p-scroll,.c-body{scroll-behavior:auto!important}
}
html{scrollbar-gutter:stable}
/* Intrinsic fallback for older photo contexts whose height was supplied by the image. */
.foto-marca-v95{aspect-ratio:1}
.foto-marca-v95>.sello-foto-v95{width:clamp(7px,16%,44px)}
.ficha .foto-marca-v95{transition:transform 180ms ease}
.ficha:hover .foto-marca-v95{transform:none}
@media(hover:hover) and (pointer:fine){.ficha:hover .foto-marca-v95{transform:scale(1.025)}}
@media(prefers-reduced-motion:reduce){.foto-marca-v95{transition:none!important;transform:none!important}}
