/* Airbnb brand primary */
:root, [data-bs-theme=dark] { --bs-primary-rgb: 255, 56, 92; --bs-primary: #FF385C; }

/* Typography */
body { font-family: 'Roboto', system-ui, -apple-system, sans-serif; }

/* Pill buttons for primary actions */
.btn-primary { border-radius: 50rem !important; font-weight: 700; }
.btn-outline-primary { border-radius: 50rem !important; }

/* Airbnb card hover lift */
.card { transition: transform 0.2s, box-shadow 0.2s; border: none; }
.card:hover { transform: translateY(-3px); box-shadow: 0 8px 20px rgba(0,0,0,0.3); }

/* Social icons */
.social-icon { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; background: var(--bs-tertiary-bg); border-radius: 50%; color: var(--bs-body-color); text-decoration: none; transition: background 0.2s, transform 0.2s; }
.social-icon:hover { background: var(--bs-secondary-bg); transform: scale(1.1); color: var(--bs-body-color); }

/* WhatsApp button */
.btn-wa { background: #25d366; color: #fff; border-radius: 50rem; font-weight: 600; }
.btn-wa:hover { background: #20bd5a; color: #fff; }

/* Drag & drop table */
.drag-handle { width: 2rem; cursor: grab; color: #64748b; user-select: none; }
tr.dragging { opacity: 0.4; }
tr.drag-over td { border-bottom: 2px solid #FF385C; }

/* Thumbnails */
.thumb { width: 40px; height: 40px; object-fit: cover; border-radius: 0.5rem; }
.preview-img { display: block; max-width: 120px; margin-top: 0.5rem; border-radius: 0.75rem; }

/* Public logo */
.pub-logo { width: 340px; height: 120px; object-fit: contain; margin-bottom: 1rem; }

/* Precio */
.precio { font-size: 1.25rem; font-weight: 800; }

/* Preview panel */
.preview-panel { background: var(--bs-body-bg); border-radius: 0.75rem; border: 1px solid gray; }

/* Product card image */
.prod-img-wrap { position: relative; }
.prod-img { width: 100%; height: 160px; object-fit: cover; display: block; }

/* QR container */
.qr-container { display: flex; justify-content: center; padding: 1rem; border-radius: 1rem; background: white; }

/* Nav link */
.nav-link { color: var(--bs-secondary-color); border-radius: 50rem; padding: 0.375rem 1rem; transition: background 0.15s, color 0.15s; }
.nav-link:hover { color: var(--bs-body-color); background: var(--bs-tertiary-bg); }
