/* Estilos compartidos SUPGO. Sin reglas heredadas de tarjetas. */
*{box-sizing:border-box}
body{margin:0;background:#fff;color:#191919;font:14px/1.5 Poppins,Arial,sans-serif}
a{color:inherit;text-decoration:none}
.site{max-width:1160px;margin:auto;padding:18px 18px 90px}
.topbar{border-bottom:1px solid #e8e8e8;background:#fff;position:sticky;top:0;z-index:9}
.topinner{max-width:1160px;margin:auto;display:flex;align-items:center;gap:18px;min-height:62px;padding:8px 18px}
.logo{font-size:18px;font-weight:600;letter-spacing:-.04em}
.nav{display:flex;flex-wrap:wrap;gap:14px;margin-left:auto;font-size:12px}
.nav a:hover{text-decoration:underline}
h1{font-size:clamp(21px,3vw,29px);font-weight:600;letter-spacing:-.035em;margin:12px 0 7px}
p.muted{color:#777;margin:0 0 22px}
.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:20px 0}
.toolbar input,.toolbar select{border:1px solid #ddd;border-radius:7px;padding:12px;font:inherit;min-width:140px;flex:1}
.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.btn{border:0;border-radius:7px;background:#181818;color:#fff;padding:10px 13px;font:inherit;cursor:pointer;min-height:39px}
.btn.alt{background:#f1f1f1;color:#222}
.btn:disabled{opacity:.5;cursor:not-allowed}
.links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.links a{border:1px solid #e7e7e7;border-radius:9px;padding:18px;font-weight:500}
.links small{display:block;color:#777;font-size:11px}
.empty{padding:30px 10px;color:#777;text-align:center}
.cartrow{display:grid;grid-template-columns:65px 1fr auto;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid #eee}
.cartrow img{width:65px;height:65px;object-fit:contain}
.cartrow .name{font-size:13px}
.qty{display:flex;gap:7px;align-items:center}
.qty button{background:#eee;border:0;border-radius:5px;padding:7px 10px}
.summary{border-top:1px solid #ddd;padding-top:18px;margin-top:18px;display:flex;justify-content:space-between;align-items:center}
.summary strong{font-size:20px}
.iframewrap{height:calc(100dvh - 130px);min-height:500px}
.iframewrap iframe{border:0;width:100%;height:100%}
.notice{padding:14px;border:1px solid #eee;border-radius:8px;color:#555}
.loading{color:#777}
body[data-page="laboratorios"] .links{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
body[data-page="laboratorios"] .labLogoCard{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;min-height:150px;padding:15px 10px}
body[data-page="laboratorios"] .labLogo{display:block;width:100%;height:72px;max-width:170px;object-fit:contain}
body[data-page="laboratorios"] .labLogoCard small{margin-top:0}

/* Interaccion de laboratorios: tarjeta elevada y boton que aparece al pasar el cursor */
body[data-page="laboratorios"] .labLogoCard{position:relative;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
body[data-page="laboratorios"] .labLogoCard::after{content:"";display:none;position:absolute;left:50%;bottom:11px;transform:translate(-50%,8px);opacity:0;pointer-events:none;background:#181818;color:#fff;border-radius:5px;padding:7px 12px;font:500 11px/1.3 Poppins,Arial,sans-serif;white-space:nowrap;transition:opacity .22s ease,transform .22s ease}
@media(hover:hover){body[data-page="laboratorios"] .labLogoCard:hover{transform:translateY(-4px);box-shadow:0 9px 24px rgba(0,0,0,.1);border-color:#d4d4d4}body[data-page="laboratorios"] .labLogoCard:hover::after{opacity:1;transform:translate(-50%,0)}body[data-page="laboratorios"] .labLogoCard:hover .labLogo{transform:scale(1.055)}}
body[data-page="laboratorios"] .labLogoCard:focus-visible{outline:2px solid #222;outline-offset:3px}
body[data-page="laboratorios"] .labLogoCard:focus-visible::after{opacity:1;transform:translate(-50%,0)}
body[data-page="laboratorios"] .labLogo{transition:transform .25s ease}
@media(prefers-reduced-motion:reduce){body[data-page="laboratorios"] .labLogoCard,body[data-page="laboratorios"] .labLogoCard::after,body[data-page="laboratorios"] .labLogo{transition:none!important}}

@media(max-width:700px){
.topinner{align-items:flex-start;flex-direction:column;gap:7px;padding:10px 14px}
.nav{margin:0;gap:12px;font-size:11px}
.site{padding:12px 12px 95px}
.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.links{grid-template-columns:repeat(2,minmax(0,1fr))}
.links a{padding:13px}
.cartrow{grid-template-columns:55px 1fr;position:relative;padding-bottom:38px}
.cartrow img{width:55px;height:55px}
.cartrow .qty{grid-column:2}
.cartrow .remove{position:absolute;right:0;bottom:12px}
body[data-page="laboratorios"] .links{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
body[data-page="laboratorios"] .labLogoCard{min-height:128px;padding:12px 8px}
body[data-page="laboratorios"] .labLogo{height:58px}
}

/* Componente de tarjeta SUPGO reconstruido desde cero */
.grid .product{box-sizing:border-box;display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;border:1px solid #e9e9e9;border-radius:6px;background:#fff;font-family:Poppins,Arial,sans-serifbackground:#fff}
.grid .product .product-photo{box-sizing:border-box;display:block;position:relative;width:100%;height:0!important;padding:100% 0 0!important;min-height:0!important;max-height:none!important;aspect-ratio:auto!important;overflow:hidden;flex:nonebackground:#fff!important}
.grid .product .product-photo>img{box-sizing:border-box;position:absolute!important;top:10px!important;left:10px!important;right:auto!important;bottom:auto!important;width:calc(100% - 20px)!important;height:calc(100% - 20px)!important;min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;padding:0!important;margin:0!important;display:block;object-fit:contain!important;object-position:center;transition:transform .32s ease,opacity .25s ease}
.grid .product .product-photo .secondary-photo{opacity:0;pointer-events:none}
@media(hover:hover){.grid .product:hover{box-shadow:0 6px 22px rgba(0,0,0,.09);transform:translateY(-3px);transition:transform .25s ease,box-shadow .25s ease}.grid .product .product-photo:hover .primary-photo{transform:scale(1.045)}.grid .product .product-photo:has(.secondary-photo):hover .primary-photo{opacity:0;transform:scale(1)}.grid .product .product-photo:hover .secondary-photo{opacity:1;transform:scale(1.045)}}
@media(prefers-reduced-motion:reduce){.grid .product,.grid .product .product-photo>img{transition:none!important}}
.grid .product .product-details{display:flex;flex-direction:column;flex:1;padding:11px 12px 12px;gap:5px}
.grid .product .brand{display:block;color:#858585;font-size:10px;font-weight:400}
.grid .product .name{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;color:#222;font-size:13px;line-height:1.4;font-weight:400;letter-spacing:0}
.grid .product .price{display:flex;flex-wrap:wrap;align-items:baseline;gap:5px;color:#111;font-size:17px;font-weight:400}
.grid .product .price strong{font-size:17px;font-weight:400;line-height:1.25}
.grid .product .old-price{color:#888;font-size:11px;font-weight:400}
.grid .product .discount{color:#fff;background:#00a34a;font-size:10px;font-weight:500;padding:1px 3px;border-radius:2px}
.grid .product .actions{display:flex;gap:6px;align-items:center;margin-top:auto;padding-top:5px}
.grid .product .actions button{display:inline-flex;align-items:center;justify-content:center;flex:none;width:29px;height:29px;min-height:29px;padding:0;border:0;border-radius:5px;cursor:pointer}
.grid .product .actions .buy{background:#181818;color:#fff}
.grid .product .actions .buy svg{width:15px;height:15px}
.grid .product .actions .buy.added{background:#287b48}
.grid .product .actions .fav{background:#f1f1f1;color:#222;font-size:16px}
@media(max-width:700px){.grid .product .product-details{padding:8px 9px 10px}.grid .product .name{font-size:12px}.grid .product .price,.grid .product .price strong{font-size:16px}}

/* Boton visible en tactil y animado en escritorio */
body[data-page="laboratorios"] .labLogoCard .labViewButton{display:inline-flex;align-items:center;justify-content:center;background:#181818;color:#fff;border-radius:5px;padding:7px 12px;font:500 11px/1.3 Poppins,Arial,sans-serif;white-space:nowrap;transition:transform .25s ease,opacity .25s ease;order:3}
body[data-page="laboratorios"] .labLogoCard small{order:2}
@media(hover:hover){body[data-page="laboratorios"] .labLogoCard .labViewButton{opacity:0;transform:translateY(8px)}body[data-page="laboratorios"] .labLogoCard:hover .labViewButton,body[data-page="laboratorios"] .labLogoCard:focus-visible .labViewButton{opacity:1;transform:translateY(0)}}
@media(hover:none){body[data-page="laboratorios"] .labLogoCard .labViewButton{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){body[data-page="laboratorios"] .labLogoCard .labViewButton{transition:none!important}}

/* Logo de marca en fichas de laboratorio: misma URL que el catálogo de laboratorios. */
body[data-page="laboratorio"] .supgo-lab-heading-logo{display:block;width:auto;max-width:min(240px,65vw);height:76px;object-fit:contain;object-position:left center;margin:12px 0 7px}
body[data-page="laboratorio"] .site>h1{margin-top:5px}
@media(max-width:760px){body[data-page="laboratorio"] .supgo-lab-heading-logo{height:58px;max-width:190px}}

/* Ordenar compacto en categorías y laboratorios, sin afectar buscadores. */
body[data-page="categoria"] .toolbar,body[data-page="laboratorio"] .toolbar{justify-content:flex-start;gap:10px;margin:15px 0 19px}
body[data-page="categoria"] .toolbar select,body[data-page="laboratorio"] .toolbar select{flex:0 0 auto;width:190px;max-width:calc(100vw - 115px);min-width:0;padding:9px 30px 9px 12px;font-size:12px;min-height:37px}
body[data-page="categoria"] .toolbar label,body[data-page="laboratorio"] .toolbar label{font-size:12px;white-space:nowrap}

/* Datos de promociones en tarjetas de /ofertas/ */
body[data-page="ofertas"] .grid .product .offer-card-extras{display:flex;flex-direction:column;align-items:flex-start;gap:5px;margin:2px 0 5px;min-width:0}
body[data-page="ofertas"] .offer-card-saving{font-size:11px;line-height:1.3;font-weight:600;color:#18824a}
body[data-page="ofertas"] .offer-card-date{font-size:10px;line-height:1.35;color:#626a70;font-weight:400}
body[data-page="ofertas"] .offer-card-gift{display:flex;align-items:center;gap:7px;width:100%;min-width:0;padding:6px;border:1px solid #e1efe6;border-radius:7px;background:#f7fbf8;box-sizing:border-box}
body[data-page="ofertas"] .offer-card-gift img{width:38px;height:38px;flex:none;object-fit:contain;background:#fff;border-radius:5px}
body[data-page="ofertas"] .offer-card-gift span{font-size:10px;line-height:1.35;color:#2b4032;font-weight:400;overflow-wrap:anywhere}
@media(max-width:700px){body[data-page="ofertas"] .offer-card-gift{gap:5px;padding:5px}body[data-page="ofertas"] .offer-card-gift img{width:30px;height:30px}body[data-page="ofertas"] .offer-card-gift span{font-size:9px}}
