/* Tienda: portadas con la escena de cada aroma, búsqueda y filtros del catálogo, y la ficha del
   producto (galería, escena con melodía, eco-recarga, relacionados y barra fija de compra). */

body.tbw-gallery .visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

/* --- Portada de la tarjeta: la escena del aroma cuando no hay foto ------------------------------ */
body.tbw-gallery .product-card-scene { position:relative; display:block; aspect-ratio:4/3; margin:-4px -4px 0; overflow:hidden; border-radius:14px; color:var(--s-ink,#fff); background:radial-gradient(120% 90% at 85% 10%,rgba(255,255,255,.45),transparent 55%),linear-gradient(160deg,var(--s1) 0%,var(--s2) 55%,var(--s3) 100%); isolation:isolate; }
body.tbw-gallery .product-card-scene::after { content:""; position:absolute; inset:auto 0 0; height:55%; background:linear-gradient(to top,rgba(0,0,0,.28),transparent); z-index:-1; }
body.tbw-gallery .product-scene-bubbles { position:absolute; inset:0; z-index:-1; }
body.tbw-gallery .product-scene-bubbles i { position:absolute; bottom:-30px; width:18px; height:18px; border:1.5px solid rgba(255,255,255,.7); border-radius:50%; background:rgba(255,255,255,.12); animation:tbwBubble 9s linear infinite; }
body.tbw-gallery .product-scene-bubbles i:nth-child(1) { left:12%; animation-delay:-1s; }
body.tbw-gallery .product-scene-bubbles i:nth-child(2) { left:30%; width:10px; height:10px; animation-duration:7s; animation-delay:-4s; }
body.tbw-gallery .product-scene-bubbles i:nth-child(3) { left:52%; width:26px; height:26px; animation-duration:11s; animation-delay:-2s; }
body.tbw-gallery .product-scene-bubbles i:nth-child(4) { left:70%; width:12px; height:12px; animation-duration:8s; animation-delay:-6s; }
body.tbw-gallery .product-scene-bubbles i:nth-child(5) { left:84%; width:20px; height:20px; animation-duration:10s; animation-delay:-3s; }
body.tbw-gallery .product-scene-bubbles i:nth-child(6) { left:44%; width:8px; height:8px; animation-duration:6s; animation-delay:-5s; }
@keyframes tbwBubble { from { transform:translate3d(0,0,0); opacity:0; } 12% { opacity:1; } 85% { opacity:.8; } to { transform:translate3d(14px,-260px,0); opacity:0; } }
body.tbw-gallery .product-scene-caption { position:absolute; left:18px; right:18px; bottom:16px; display:grid; gap:2px; text-shadow:0 1px 12px rgba(0,0,0,.25); }
body.tbw-gallery .product-scene-caption strong { font-size:20px; font-weight:650; letter-spacing:-.02em; }
body.tbw-gallery .product-scene-caption span { font-size:13px; opacity:.9; }
body.tbw-gallery .product-card-scene, body.tbw-gallery .product-card-image { transition:transform .45s ease, box-shadow .45s ease; }
body.tbw-gallery .product-card:hover .product-card-scene { transform:translateY(-2px); box-shadow:0 14px 30px -18px rgba(7,29,56,.55); }
body.tbw-gallery .gallery-catalog .product-card-image { margin:-4px -4px 0; }

body.tbw-gallery .gallery-catalog .product-copy h3 a { color:inherit; text-decoration:none; }
body.tbw-gallery .gallery-catalog .product-copy h3 a:hover { color:var(--gallery-blue); }
body.tbw-gallery .gallery-catalog .product-copy > span { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
body.tbw-gallery .product-card-notes { display:flex; flex-wrap:wrap; gap:6px; margin:12px 0 0; padding:0; list-style:none; }
body.tbw-gallery .product-card-notes li { padding:4px 10px; border:1px solid var(--gallery-line); border-radius:999px; font-size:12px; color:var(--gallery-muted); text-transform:capitalize; }
body.tbw-gallery .product-card-notes li.is-eco { border-color:#bfe8cf; background:#effaf3; color:#1f7a45; text-transform:none; }

/* --- Búsqueda y filtro por aroma (catálogo) ------------------------------------------------------ */
body.tbw-gallery .catalog-browse { display:grid; gap:14px; margin:0 0 28px; }
body.tbw-gallery .catalog-search input { width:100%; max-width:420px; min-height:46px; padding:0 18px; border:1px solid var(--gallery-line); border-radius:999px; background:#fff; font:inherit; font-size:15px; color:var(--gallery-ink); }
body.tbw-gallery .catalog-search input:focus { outline:2px solid var(--gallery-cyan); outline-offset:2px; border-color:transparent; }
body.tbw-gallery .catalog-families { display:flex; gap:8px; overflow-x:auto; padding-bottom:4px; scrollbar-width:none; }
body.tbw-gallery .catalog-families::-webkit-scrollbar { display:none; }
body.tbw-gallery .catalog-families button { flex:none; min-height:38px; padding:0 16px; border:1px solid var(--gallery-line); border-radius:999px; background:#fff; color:var(--gallery-ink); font:inherit; font-size:14px; cursor:pointer; }
body.tbw-gallery .catalog-families button[aria-pressed="true"] { background:var(--gallery-ink); border-color:var(--gallery-ink); color:#fff; }

/* --- Ficha del producto ---------------------------------------------------------------------------- */
body.tbw-gallery .product-breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:0 0 28px; font-size:13px; color:var(--gallery-muted); }
body.tbw-gallery .product-breadcrumb a { color:var(--gallery-blue); }
body.tbw-gallery .product-breadcrumb [aria-current] { color:var(--gallery-ink); }

body.tbw-gallery .product-scene-stage { position:relative; aspect-ratio:1/1; overflow:hidden; border-radius:24px; color:var(--s-ink,#fff); background:linear-gradient(160deg,var(--s1) 0%,var(--s2) 55%,var(--s3) 100%); }
body.tbw-gallery .product-scene-stage canvas { position:absolute; inset:0; width:100%; height:100%; display:block; }
body.tbw-gallery .product-scene-label { position:absolute; left:28px; top:26px; display:grid; gap:4px; text-shadow:0 1px 16px rgba(0,0,0,.25); }
body.tbw-gallery .product-scene-label strong { font-size:clamp(24px,3vw,34px); font-weight:650; letter-spacing:-.03em; }
body.tbw-gallery .product-scene-label span { font-size:15px; opacity:.92; }

body.tbw-gallery .product-gallery { display:grid; gap:12px; }
body.tbw-gallery .product-gallery-thumbs { display:flex; gap:10px; }
body.tbw-gallery .product-gallery-thumbs button { width:72px; height:72px; padding:0; overflow:hidden; border:2px solid transparent; border-radius:14px; background:var(--gallery-paper); cursor:pointer; }
body.tbw-gallery .product-gallery-thumbs button[aria-selected="true"] { border-color:var(--gallery-blue); }
body.tbw-gallery .product-gallery-thumbs img { width:100%; height:100%; object-fit:cover; }

/* Botón de compra de la ficha: antes quedaba con el texto del mismo color que el fondo. */
body.tbw-gallery .product-detail-copy .button-add-cart, body.tbw-gallery .product-buybar .button-add-cart { display:flex; align-items:center; justify-content:center; background:var(--gallery-blue)!important; color:#fff!important; border:0!important; border-radius:999px!important; font-size:16px; font-weight:600; box-shadow:0 12px 26px -16px rgba(8,121,201,.9)!important; cursor:pointer; transition:background .2s ease, transform .2s ease; }
body.tbw-gallery .product-detail-copy .button-add-cart:hover { background:#0668ad!important; transform:translateY(-1px); }
/* Agotado o sin precio: se ve deshabilitado (también en las tarjetas del catálogo). */
body.tbw-gallery .button-add-cart.is-unavailable, body.tbw-gallery .gallery-catalog .button-add-cart.is-unavailable { background:#e7edf3!important; color:#7a8ca3!important; box-shadow:none!important; cursor:not-allowed; transform:none; }
body.tbw-gallery .product-detail-price .is-low { color:#c2410c; font-weight:600; }
body.tbw-gallery .product-assurance { display:grid; gap:14px; margin:28px 0 0; padding:22px 0 0; border-top:1px solid var(--gallery-line); list-style:none; }
body.tbw-gallery .product-assurance li { display:grid; gap:2px; padding-left:26px; position:relative; font-size:14px; color:var(--gallery-muted); }
body.tbw-gallery .product-assurance li::before { content:"✓"; position:absolute; left:0; top:0; color:var(--gallery-blue); font-weight:700; }
body.tbw-gallery .product-assurance strong { color:var(--gallery-ink); font-weight:600; }
body.tbw-gallery .product-whatsapp { display:inline-flex; align-items:center; gap:8px; min-height:44px; margin-top:16px; color:#128c4a; font-weight:600; }

body.tbw-gallery .product-eco { display:flex; gap:18px; align-items:center; margin-top:56px; padding:24px 28px; border-radius:20px; background:linear-gradient(120deg,#effaf3,#e3f6ff); border:1px solid #cfeedd; }
body.tbw-gallery .product-eco > span { font-size:34px; color:#1f7a45; }
body.tbw-gallery .product-eco strong { font-size:18px; color:var(--gallery-ink); }
body.tbw-gallery .product-eco p { margin:4px 0 0; color:var(--gallery-muted); }
body.tbw-gallery .product-information p { margin:0; color:var(--gallery-ink); font-size:16px; line-height:1.55; white-space:pre-line; }

body.tbw-gallery .product-related { margin-top:88px; }
body.tbw-gallery .product-related h2 { margin:0 0 24px; text-align:left; font-size:clamp(28px,3.4vw,40px); }
body.tbw-gallery .product-related-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
body.tbw-gallery .product-related-card { display:grid; gap:14px; }
body.tbw-gallery .product-related-card .product-card-scene, body.tbw-gallery .product-related-card .product-card-image { margin:0; }
body.tbw-gallery .product-related-card .product-card-image { display:block; aspect-ratio:4/3; overflow:hidden; border-radius:14px; }
body.tbw-gallery .product-related-card > a:last-child { display:flex; justify-content:space-between; gap:12px; color:var(--gallery-ink); }
body.tbw-gallery .product-related-card > a:last-child span { color:var(--gallery-muted); }

body.tbw-gallery .product-detail-skeleton { display:grid; gap:12px; width:min(520px,100%); }
body.tbw-gallery .product-detail-skeleton span { height:18px; border-radius:9px; background:linear-gradient(90deg,#eef3f8,#f8fbfd,#eef3f8); background-size:200% 100%; animation:tbwShimmer 1.2s linear infinite; }
body.tbw-gallery .product-detail-skeleton span:first-child { height:42px; width:70%; }
body.tbw-gallery .product-detail-skeleton span:last-child { width:40%; }
@keyframes tbwShimmer { to { background-position:-200% 0; } }

/* Barra fija para comprar sin regresar arriba (solo celular). */
body.tbw-gallery .product-buybar { display:none; }
@media (max-width:833px) {
 body.tbw-gallery .product-related-grid { grid-template-columns:1fr 1fr; }
 body.tbw-gallery .product-related-card:nth-child(3) { display:none; }
 body.tbw-gallery .product-related-card .product-scene-caption { left:12px; right:12px; bottom:10px; }
 body.tbw-gallery .product-related-card .product-scene-caption strong { font-size:15px; }
 body.tbw-gallery .product-related-card .product-scene-caption span { display:none; }
 body.tbw-gallery .product-related-card > a:last-child { flex-direction:column; gap:2px; font-size:15px; }
 body.tbw-gallery .product-scene-label { left:20px; top:20px; }
 body.tbw-gallery .product-buybar { position:fixed; left:12px; right:12px; bottom:calc(12px + env(safe-area-inset-bottom)); z-index:40; display:flex; align-items:center; justify-content:space-between; gap:14px; padding:10px 10px 10px 18px; border-radius:20px; background:rgba(255,255,255,.94); border:1px solid var(--gallery-line); box-shadow:0 18px 40px -18px rgba(7,29,56,.45); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); animation:tbwBarIn .35s ease both; }
 body.tbw-gallery .product-buybar > div { display:grid; min-width:0; }
 body.tbw-gallery .product-buybar strong { overflow:hidden; white-space:nowrap; text-overflow:ellipsis; font-size:14px; }
 body.tbw-gallery .product-buybar span { font-size:13px; color:var(--gallery-muted); }
 body.tbw-gallery .product-buybar .button-add-cart { flex:none; width:auto; min-height:44px; padding:0 18px; border-radius:999px; }
 body.tbw-gallery .product-eco { margin-top:40px; padding:20px; }
}
@keyframes tbwBarIn { from { transform:translateY(120%); opacity:0; } }

@media (prefers-reduced-motion:reduce) {
 body.tbw-gallery .product-scene-bubbles i, body.tbw-gallery .product-detail-skeleton span, body.tbw-gallery .product-buybar { animation:none; }
 body.tbw-gallery .product-scene-bubbles i { bottom:auto; top:30%; opacity:.6; }
}
body.tbw-gallery .product-detail-copy h1 + .product-detail-description { margin-top:18px; }

/* Celular: catálogo en dos columnas, tarjetas compactas (foto o escena, nombre, precio y botón). */
@media (max-width:600px) {
 body.tbw-gallery .gallery-catalog .product-grid { grid-template-columns:1fr 1fr; gap:12px; }
 body.tbw-gallery .gallery-catalog .product-card { padding:8px 8px 10px; gap:8px; min-height:0; border-radius:16px!important; }
 body.tbw-gallery .gallery-catalog .product-card-scene, body.tbw-gallery .gallery-catalog .product-card-image { margin:0; aspect-ratio:1/1; border-radius:12px; }
 body.tbw-gallery .gallery-catalog .product-scene-caption { left:10px; right:10px; bottom:8px; }
 body.tbw-gallery .gallery-catalog .product-scene-caption strong { font-size:14px; }
 body.tbw-gallery .gallery-catalog .product-scene-caption span { display:none; }
 body.tbw-gallery .gallery-catalog .product-card-top { padding:0 4px; margin:0; border:0; min-height:0; }
 body.tbw-gallery .gallery-catalog .product-sequence { display:none; }
 body.tbw-gallery .gallery-catalog .product-availability { padding:0 0 0 12px; background:none; font-size:10px; }
 body.tbw-gallery .gallery-catalog .product-copy { padding:0 4px; }
 body.tbw-gallery .gallery-catalog .product-copy p { margin:0; font-size:10px; letter-spacing:.06em; }
 body.tbw-gallery .gallery-catalog .product-copy h3 { margin:2px 0 0; font-size:15px; line-height:1.25; }
 body.tbw-gallery .gallery-catalog .product-copy > span { display:none; }
 body.tbw-gallery .gallery-catalog .product-card-notes { margin-top:6px; gap:4px; }
 body.tbw-gallery .gallery-catalog .product-card-notes li { padding:2px 8px; font-size:11px; }
 body.tbw-gallery .gallery-catalog .product-card-notes li:nth-child(n+3):not(.is-eco) { display:none; }
 body.tbw-gallery .gallery-catalog .product-meta { padding:0 4px; }
 body.tbw-gallery .gallery-catalog .product-meta strong { font-size:18px; }
 body.tbw-gallery .gallery-catalog .product-meta small, body.tbw-gallery .gallery-catalog .product-detail-link { display:none; }
 body.tbw-gallery .gallery-catalog .button-add-cart { min-height:40px; padding:8px 10px; justify-content:center; font-size:13px; }
 body.tbw-gallery .gallery-catalog .button-add-cart-icon { display:none; }
}

/* --- Tu momento (inicio): escena del aroma según la hora y la temporada del visitante ------------ */
body.tbw-gallery .moment { position:relative; overflow:hidden; isolation:isolate; min-height:520px; display:grid; align-items:center; color:var(--s-ink,#fff); background:linear-gradient(160deg,var(--s1) 0%,var(--s2) 55%,var(--s3) 100%); transition:background .8s ease; }
body.tbw-gallery .moment canvas { position:absolute; inset:0; width:100%; height:100%; display:block; z-index:-2; }
body.tbw-gallery .moment-veil { position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(4,18,38,.42) 0%,rgba(4,18,38,.12) 55%,transparent 100%); }
body.tbw-gallery .moment[data-scene="citrico"] .moment-veil, body.tbw-gallery .moment[data-scene="limpio"] .moment-veil, body.tbw-gallery .moment[data-scene="tropical"] .moment-veil { background:linear-gradient(90deg,rgba(255,255,255,.35),transparent 70%); }
body.tbw-gallery .moment-inner { width:100%; max-width:1160px; margin:auto; padding:88px 24px; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); gap:48px; align-items:center; opacity:0; transform:translateY(12px); transition:opacity .7s ease, transform .7s ease; }
body.tbw-gallery .moment.is-ready .moment-inner { opacity:1; transform:none; }
body.tbw-gallery .moment .moment-eyebrow { margin:0 0 14px!important; color:var(--s-ink,#fff)!important; font-size:12px; font-weight:700; letter-spacing:.16em; opacity:.92; }
body.tbw-gallery .moment h2 { margin:0; color:inherit; text-align:left; font-size:clamp(38px,5vw,64px); line-height:1.02; letter-spacing:-.05em; text-shadow:0 2px 24px rgba(0,0,0,.18); }
body.tbw-gallery .moment .moment-line { max-width:460px; margin:22px 0 0!important; color:var(--s-ink,#fff)!important; font-size:19px; line-height:1.5; opacity:.95; }
body.tbw-gallery .moment .moment-line strong { color:inherit; font-weight:700; }
body.tbw-gallery .moment-link { display:inline-flex; align-items:center; gap:8px; min-height:46px; margin-top:26px; padding:0 22px; border-radius:999px; background:rgba(255,255,255,.94); color:var(--gallery-ink); font-weight:600; box-shadow:0 12px 30px -14px rgba(0,0,0,.45); }
body.tbw-gallery .moment-products { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:0; padding:0; list-style:none; }
body.tbw-gallery .moment-products li { display:grid; gap:10px; padding:10px; border-radius:20px; background:rgba(255,255,255,.94); box-shadow:0 18px 40px -22px rgba(0,0,0,.55); }
body.tbw-gallery .moment-products .product-card-scene, body.tbw-gallery .moment-products .product-card-image { margin:0; aspect-ratio:1/1; border-radius:14px; }
body.tbw-gallery .moment-products .product-card-image { display:block; overflow:hidden; }
body.tbw-gallery .moment-products .product-card-image img { width:100%; height:100%; object-fit:cover; }
body.tbw-gallery .moment-products .product-scene-caption span { display:none; }
body.tbw-gallery .moment-products .product-scene-caption strong { font-size:15px; }
body.tbw-gallery .moment-products li > a:last-child { display:grid; gap:2px; padding:0 4px 4px; color:var(--gallery-ink); }
body.tbw-gallery .moment-products li > a:last-child strong { font-size:15px; line-height:1.25; }
body.tbw-gallery .moment-products li > a:last-child span { color:var(--gallery-muted); font-size:14px; }
@media (max-width:833px) {
 body.tbw-gallery .moment { min-height:0; }
 body.tbw-gallery .moment-inner { grid-template-columns:1fr; gap:32px; padding:64px 24px; }
 body.tbw-gallery .moment-veil { background:linear-gradient(180deg,rgba(4,18,38,.38),rgba(4,18,38,.08)); }
 body.tbw-gallery .moment-products { grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:minmax(150px,46%); overflow-x:auto; scroll-snap-type:x mandatory; margin:0 -24px; padding:0 24px 6px; scrollbar-width:none; }
 body.tbw-gallery .moment-products::-webkit-scrollbar { display:none; }
 body.tbw-gallery .moment-products li { scroll-snap-align:start; }
}
@media (prefers-reduced-motion:reduce) { body.tbw-gallery .moment-inner { transition:none; transform:none; } }

/* --- Regala un aroma (/regalar) ------------------------------------------------------------------- */
body.tbw-gallery .regalar-hero { padding-bottom:40px; }
body.tbw-gallery .regalar-studio { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr); gap:40px; align-items:start; max-width:1072px; margin:0 auto; padding:24px 24px 96px; }
body.tbw-gallery .regalar-form { display:grid; gap:16px; padding:28px; border:1px solid var(--gallery-line); border-radius:24px; background:#fff; }
body.tbw-gallery .regalar-form [data-regalar-step] { display:grid; gap:16px; }
body.tbw-gallery .regalar-form [hidden] { display:none!important; }
body.tbw-gallery .regalar-amounts { margin:0; padding:0; border:0; }
body.tbw-gallery .regalar-amounts legend { margin-bottom:12px; font-weight:600; color:var(--gallery-ink); }
body.tbw-gallery .regalar-amount-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; }
body.tbw-gallery .regalar-amount-grid label { position:relative; }
body.tbw-gallery .regalar-amount-grid input { position:absolute; opacity:0; inset:0; cursor:pointer; }
body.tbw-gallery .regalar-amount-grid span { display:grid; place-items:center; min-height:52px; border:1px solid var(--gallery-line); border-radius:14px; background:#fff; font-weight:600; color:var(--gallery-ink); }
body.tbw-gallery .regalar-amount-grid input:checked + span { border-color:var(--gallery-ink); background:var(--gallery-ink); color:#fff; }
body.tbw-gallery .regalar-amount-grid input:focus-visible + span { outline:2px solid var(--gallery-cyan); outline-offset:2px; }
body.tbw-gallery .regalar-field, body.tbw-gallery .regalar-other { display:grid; gap:6px; font-size:14px; color:var(--gallery-muted); }
body.tbw-gallery .regalar-other { margin-top:12px; }
body.tbw-gallery .regalar-field input, body.tbw-gallery .regalar-field textarea, body.tbw-gallery .regalar-field select, body.tbw-gallery .regalar-other input, body.tbw-gallery .regalar-secure { width:100%; min-height:48px; padding:12px 14px; border:1px solid var(--gallery-line); border-radius:12px; background:#fff; font:inherit; font-size:16px; color:var(--gallery-ink); }
body.tbw-gallery .regalar-secure { padding:0 14px; display:flex; align-items:center; }
body.tbw-gallery .regalar-field textarea { resize:vertical; min-height:90px; }
body.tbw-gallery .regalar-row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
body.tbw-gallery .regalar-next, body.tbw-gallery .regalar-pay { width:100%; justify-content:center; min-height:52px; border:0; cursor:pointer; font-size:16px; }
body.tbw-gallery .regalar-back { justify-self:start; padding:0; border:0; background:none; color:var(--gallery-blue); font:inherit; cursor:pointer; }
body.tbw-gallery .regalar-card-setup { padding:18px; border-radius:14px; background:var(--gallery-paper); color:var(--gallery-muted); }
body.tbw-gallery .regalar-card-form { display:grid; gap:14px; }
body.tbw-gallery .regalar-status { margin:0; min-height:1.2em; font-size:14px; color:var(--gallery-muted); }
body.tbw-gallery .regalar-status[data-type="error"] { color:#b42318; }
body.tbw-gallery .regalar-fine { margin:0; font-size:12px; color:var(--gallery-muted); }

body.tbw-gallery .regalar-preview { position:sticky; top:96px; display:grid; gap:18px; }
body.tbw-gallery .regalar-gift { position:relative; overflow:hidden; padding:34px 26px 30px; border-radius:26px; text-align:center; color:#fff; background:radial-gradient(120% 80% at 50% 0%,#1f7ad6 0%,#0d4f94 40%,#071d38 100%); box-shadow:0 30px 60px -34px rgba(7,29,56,.8); }
body.tbw-gallery .regalar-gift-ribbon { position:absolute; right:34px; top:0; bottom:0; width:16px; background:linear-gradient(90deg,#e2a93e,#f2c46b,#e2a93e); opacity:.85; }
body.tbw-gallery .regalar-gift > p { position:relative; margin:0; color:#fff!important; opacity:1!important; }
body.tbw-gallery .regalar-gift > .regalar-gift-label { font-size:12px; font-weight:700; letter-spacing:.16em; color:#bfe3ff!important; }
body.tbw-gallery .regalar-gift > .regalar-gift-to { margin-top:12px!important; font-size:18px!important; }
body.tbw-gallery .regalar-gift > .regalar-gift-amount { margin:8px 0!important; font-size:clamp(44px,6vw,60px)!important; font-weight:800; line-height:1.05; letter-spacing:-.03em; text-shadow:0 2px 18px rgba(0,0,0,.25); }
body.tbw-gallery .regalar-gift-message { margin:6px auto 10px!important; max-width:300px; padding:12px 14px; border-radius:14px; background:rgba(255,255,255,.14); font-style:italic; line-height:1.5; backdrop-filter:blur(4px); }
body.tbw-gallery .regalar-gift > .regalar-gift-from { font-size:14px; color:#d6ebff!important; }
body.tbw-gallery .regalar-facts { display:grid; gap:8px; margin:0; padding:0; list-style:none; font-size:14px; color:var(--gallery-muted); }
body.tbw-gallery .regalar-facts li::before { content:"✓ "; color:var(--gallery-blue); font-weight:700; }

body.tbw-gallery .regalar-done { grid-column:1 / -1; max-width:620px; margin:0 auto; padding:36px 28px; border-radius:26px; text-align:center; background:#fff; border:1px solid var(--gallery-line); }
body.tbw-gallery .regalar-done h2 { margin:6px 0 12px; font-size:clamp(28px,4vw,40px); }
body.tbw-gallery .regalar-done-code { display:inline-block; margin:14px 0; padding:10px 18px; border-radius:14px; background:var(--gallery-ink); color:#fff; font:800 22px/1 ui-monospace,"SF Mono",Menlo,monospace; letter-spacing:.1em; }
body.tbw-gallery .regalar-done-code:empty { display:none; }
body.tbw-gallery .regalar-done-actions { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:14px 22px; margin:10px 0 14px; }
body.tbw-gallery .regalar-whatsapp { background:#25d366!important; color:#fff!important; }

@media (max-width:833px) {
 body.tbw-gallery .regalar-studio { grid-template-columns:1fr; padding-top:8px; }
 body.tbw-gallery .regalar-preview { position:static; order:-1; }
 body.tbw-gallery .regalar-amount-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
 body.tbw-gallery .regalar-form { padding:20px; }
 body.tbw-gallery .regalar-row { grid-template-columns:1fr; }
}
body.tbw-gallery .regalar-band { display:flex; align-items:center; justify-content:space-between; gap:24px; max-width:1072px; margin:0 auto; padding:56px 24px; border-top:1px solid var(--gallery-line); }
body.tbw-gallery .regalar-band h2 { margin:6px 0 8px; text-align:left; font-size:clamp(28px,3.4vw,40px); }
body.tbw-gallery .regalar-band p:not(.gallery-eyebrow) { margin:0; max-width:520px; color:var(--gallery-muted); }
@media (max-width:833px) { body.tbw-gallery .regalar-band { flex-direction:column; align-items:flex-start; } }
