html,body{margin:0;width:100%;height:100%;overflow:hidden}body{display:flex;align-items:center;justify-content:center;padding:0;background:#edf3f8;height:100vh;height:100dvh;min-height:0}.visual-card{position:relative;flex:none;width:min(100vw,calc(100vh * 941 / 1672));width:min(100vw,calc(100dvh * 941 / 1672));aspect-ratio:941/1672;max-height:100%;margin:0;line-height:0}.artwork{display:block;width:100%;height:100%;object-fit:contain}.hotspot{position:absolute;display:block;margin:0;padding:0;border:0;border-radius:999px;background:transparent;color:transparent;cursor:pointer;z-index:2;touch-action:manipulation}.hotspot:focus-visible{outline:3px solid #00b6df;outline-offset:1px;background:#00b6df20}.hotspot:hover{background:#ffffff12}.whatsapp{left:9.5%;top:59%;width:81%;height:6.4%}.phone{left:10%;top:65.8%;width:23%;height:9.8%}.maps{left:37%;top:65.8%;width:25%;height:9.8%}.contact{left:67%;top:65.8%;width:23%;height:9.8%}.services{left:5.5%;top:76.2%;width:43.5%;height:4.2%}.about{left:51%;top:76.2%;width:43.5%;height:4.2%}.reviews{left:5.5%;top:81.2%;width:89%;height:4%}.instagram{left:24%;top:86.2%;width:10%;height:5%}.facebook{left:38%;top:86.2%;width:10%;height:5%}.tiktok{left:52%;top:86.2%;width:10%;height:5%}.email{left:66%;top:86.2%;width:10%;height:5%}.address{left:8%;top:92%;width:84%;height:7.8%;border-radius:8px}.bottom{display:none}dialog{position:fixed;margin:auto;line-height:normal;max-height:88vh;max-height:88dvh;overflow:auto;overscroll-behavior:contain}dialog .primary{font-size:14px}.close{z-index:3}dialog .eyebrow{display:block}

.photo-open{display:block;border:0;padding:0;background:#eef3f7;border-radius:9px;overflow:hidden;cursor:zoom-in;color:#102c43;width:100%}.photo-open img{display:block;width:100%;object-fit:cover}.photo-open span{display:block;padding:9px;font-size:11px}.hero-photo{margin:0 0 20px}.hero-photo img{max-height:220px;object-position:center 35%}.profile-photo img{height:235px;object-position:center 22%}.gallery{grid-template-columns:repeat(2,1fr)}.gallery img{height:170px;border-radius:0}.gallery .photo-open:last-child img{object-fit:contain;background:white}#photo-viewer{padding:42px 12px 12px;background:#071d30;color:white;width:min(900px,96vw);max-height:96dvh;overflow:hidden}#photo-viewer figure{margin:0}#large-photo{display:block;max-height:calc(96dvh - 100px);width:100%;object-fit:contain}#photo-caption{text-align:center;padding:10px;font-size:13px}#photo-viewer .close{background:white;color:#102c43}

.portrait-gallery{left:0;top:0;width:100%;height:42%;border-radius:0;cursor:zoom-in}#next-photo-image{display:block;width:100%;border:0;background:transparent;padding:0;cursor:pointer}#large-photo{max-height:calc(96dvh - 175px)}.photo-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:5px 8px;color:white;font-size:13px}.photo-controls button{border:1px solid #8095a8;border-radius:20px;background:#153d60;color:white;padding:10px 15px;min-height:44px}.photo-hint{font-size:11px;text-align:center;color:#cbd8e4;margin:8px 0 0}#next-photo-image:focus-visible{outline:2px solid #00b6df}

.inline-slideshow{position:absolute;inset:0 0 auto;height:42%;overflow:hidden;clip-path:polygon(0 0,100% 0,100% 93%,85% 98%,70% 100%,50% 96%,25% 85%,0 72%);background:#dbeaf2;pointer-events:none}.inline-slideshow[hidden]{display:none}#inline-photo{width:100%;height:100%;object-fit:cover;object-position:center 25%;display:block}.inline-logo{position:absolute;left:7%;top:7%;width:30%;height:auto;border-radius:5px;box-shadow:0 2px 12px #ffffff80}.portrait-gallery{cursor:pointer}

/* Acciones QR, compartir e instalación */
html,body{height:auto;min-height:100%;overflow-x:hidden;overflow-y:auto}
body{min-height:100dvh;height:auto;gap:10px;padding:10px 0;justify-content:center}
.visual-card{width:min(100vw,calc((100dvh - 82px) * 941 / 1672));max-height:calc(100dvh - 82px)}
.quick-actions{display:flex;flex:none;align-items:center;justify-content:center;gap:8px;width:min(100vw,520px);padding:0 12px;line-height:normal}
.quick-action{display:flex;flex:1;align-items:center;justify-content:center;gap:7px;min-height:48px;padding:8px 10px;border:1px solid #d5dee5;border-radius:14px;background:#fff;color:#102c43;font-size:13px;box-shadow:0 4px 16px #102c4310;cursor:pointer;touch-action:manipulation}
.quick-action:hover{background:#f1f6f9;border-color:#ad9466}.quick-action:focus-visible{outline:3px solid #00b6df;outline-offset:2px}
.quick-action span{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#eef4f7;color:#ad9466;font-size:20px;font-weight:700;line-height:1}
.quick-action b{font-size:12px;font-weight:600}
.utility-dialog{line-height:1.5;text-align:center;padding:32px 24px;width:min(430px,calc(100% - 28px));overflow:auto}
.utility-dialog h2{font-size:25px;margin:10px 0}.utility-copy{color:#526676;font-size:14px;line-height:1.6}
.qr-frame{display:grid;place-items:center;width:min(72vw,260px);aspect-ratio:1;margin:18px auto 8px;padding:12px;background:#fff;border:1px solid #e1e7eb;border-radius:12px}
.qr-frame svg{display:block;width:100%;height:100%;shape-rendering:crispEdges}
.qr-url{overflow-wrap:anywhere;color:#6a7d8c;font-size:11px;margin:8px 0 14px}
.utility-button{width:100%;border:0;cursor:pointer}.install-steps{padding-left:22px;text-align:left;color:#526676;font-size:14px;line-height:1.65}.install-steps li+li{margin-top:10px}
@media(max-height:520px){body{justify-content:flex-start}.visual-card{width:min(82vw,calc((100dvh - 76px)*941/1672))}.quick-actions{padding-top:2px}}
@media(max-width:360px){.quick-actions{gap:5px;padding:0 7px}.quick-action{gap:4px;padding:7px 4px}.quick-action b{font-size:11px}}
#toast{display:block;position:fixed;z-index:20;left:50%;bottom:16px;transform:translate(-50%,12px);max-width:calc(100vw - 24px);padding:11px 18px;border-radius:9px;background:#102c43;color:#fff;font:13px/1.4 Arial,Helvetica,sans-serif;opacity:0;pointer-events:none;transition:opacity .18s,transform .18s;box-shadow:0 5px 20px #0003}#toast.visible{opacity:1;transform:translate(-50%,0)}
