Funda con base rígida
.dg-wrap * { box-sizing: border-box; } .dg-wrap { font-family: var(--font-body-family); color: #14211A; max-width: 640px; margin: 0 auto; overflow-x: clip; } .dg-section { padding: 32px 0; border-bottom: 1px solid rgba(20,33,26,.12); } .dg-section:last-child { border-bottom: none; } .dg-label { display: inline-block; font-size: 10px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: rgba(20,33,26,.5); margin-bottom: 10px; } .dg-title { font-size: 21px; font-weight: 700; line-height: 1.15; letter-spacing: -.03em; color: #14211A; margin: 0 0 10px; text-wrap: balance; } .dg-body { font-size: 13px; font-weight: 400; line-height: 1.55; color: rgba(20,33,26,.55); margin: 0; text-wrap: pretty; } .dg-media { width: 100%; border-radius: 12px; display: block; overflow: hidden; margin: 18px 0 0; background: #EEF2E9; border: 1px solid rgba(20,33,26,.12); } .dg-media video, .dg-media img { width: 100%; display: block; border-radius: 11px; } .dg-media-shadow { box-shadow: 0 10px 28px -12px rgba(20,33,26,.25); } .dg-reviews { padding: 32px 0; } .dg-reviews-header { margin-bottom: 16px; } .dg-reviews-header .dg-title { margin-bottom: 4px; } .dg-carousel-outer { position: relative; margin: 0; } .dg-carousel-outer::after { content: ''; position: absolute; right: 0; top: 0; bottom: 0; width: 44px; background: linear-gradient(to right, rgba(255,255,255,0), #fff); pointer-events: none; z-index: 2; } .dg-carousel-track { display: flex; gap: 8px; overflow-x: scroll; scroll-snap-type: x mandatory; scrollbar-width: none; -ms-overflow-style: none; padding: 2px 0 10px; cursor: grab; user-select: none; -webkit-overflow-scrolling: touch; } .dg-carousel-track::-webkit-scrollbar { display: none; } .dg-carousel-track.is-dragging { cursor: grabbing; scroll-snap-type: none; } .dg-carousel-slide { flex: 0 0 148px; scroll-snap-align: start; border-radius: 12px; overflow: hidden; aspect-ratio: 3/4; background: #EEF2E9; border: 1px solid rgba(20,33,26,.1); transition: transform .2s ease; } .dg-carousel-slide:hover { transform: translateY(-2px); } .dg-carousel-slide img { width: 100%; height: 100%; object-fit: cover; display: block; pointer-events: none; } .dg-progress-wrap { margin-top: 12px; height: 3px; background: rgba(20,33,26,.12); border-radius: 999px; overflow: hidden; } .dg-progress-bar { height: 100%; background: #14211A; border-radius: 999px; width: 20%; transition: width .3s ease; transform-origin: left; } .dg-hint { margin-top: 9px; font-size: 10px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; color: rgba(20,33,26,.45); } @media (max-width: 430px) { .dg-section, .dg-reviews { padding: 26px 0; } .dg-title { font-size: 19px; } .dg-body { font-size: 12.5px; } .dg-media { margin-top: 14px; } .dg-carousel-slide { flex: 0 0 132px; } } 01 — Estructura Base reforzada que soporta grandes cargas Su estructura rígida mantiene la forma incluso bajo una fuerte presión, ofreciendo máxima estabilidad y comodidad para tu mascota en cada viaje. 02 — Versatilidad Convertible a asiento individual en segundos Cambia fácilmente de funda completa a medio asiento para dejar espacio a otro pasajero, un niño o lo que necesites en cada viaje. 03 — Protección Olvídate de pelos y escapes entre asientos Protege tu coche de suciedad y evita que tu mascota se cuele hacia delante gracias a una cobertura completa y segura en cada trayecto. 04 — Diseño Diseño plegable tipo maletín Guarda y transporta la funda fácilmente gracias a su formato compacto y plegable. Comunidad Dargonim Así viaja la comunidad Dargonim Desliza para ver más (function() { function init() { var videos = document.querySelectorAll('.dg-lazy-video'); if (videos.length) { var preloadObs = new IntersectionObserver(function(entries) { entries.forEach(function(e) { if (e.isIntersecting) { var v = e.target; if (v.dataset.dgLoaded !== '1') { v.dataset.dgLoaded = '1'; v.preload = 'auto'; v.load(); } preloadObs.unobserve(v); } }); }, { rootMargin: '1200px 0px 1200px 0px', threshold: 0 }); var playObs = new IntersectionObserver(function(entries) { entries.forEach(function(e) { var v = e.target; if (e.isIntersecting) { v.play().catch(function() {}); } else { v.pause(); } }); }, { threshold: 0.25 }); videos.forEach(function(v) { preloadObs.observe(v); playObs.observe(v); }); } var dgPriceCache = {}; function dgFmt(cents) { return (cents / 100).toFixed(2).replace('.', ',') + ' €'; } function dgFixComplementary() { document.querySelectorAll('.complementary-products a[href*="/products/"]').forEach(function(link) { var m = (link.getAttribute('href') || '').match(/\/products\/([^?#\/]+)/); if (!m) return; var handle = m[1]; var card = link.closest('.card-wrapper') || link.closest('li') || link.closest('.grid__item'); if (!card) return; function apply(p) { var real = dgFmt(p.price); var compare = p.compare_at_price && p.compare_at_price > p.price ? dgFmt(p.compare_at_price) : null; card.querySelectorAll('.price-item--sale').forEach(function(el) { if (el.textContent.indexOf(real) === -1) el.textContent = real; }); card.querySelectorAll('.price-item--regular').forEach(function(el) { var target = compare || real; if (el.textContent.indexOf(target) === -1) el.textContent = target; }); } if (dgPriceCache[handle]) { apply(dgPriceCache[handle]); return; } fetch('/products/' + handle + '.js') .then(function(r) { return r.ok ? r.json() : null; }) .then(function(p) { if (p && p.price) { dgPriceCache[handle] = p; apply(p); } }) .catch(function() {}); }); } dgFixComplementary(); var dgFixTimer = null; new MutationObserver(function() { clearTimeout(dgFixTimer); dgFixTimer = setTimeout(dgFixComplementary, 350); }).observe(document.body, { childList: true, subtree: true, characterData: true }); var track = document.getElementById('dg-track'); var progress = document.getElementById('dg-progress'); if (!track) return; var slides = track.querySelectorAll('.dg-carousel-slide'); var autoTimer = null; var userInteracted = false; function updateProgress() { if (!progress) return; var maxScroll = track.scrollWidth - track.clientWidth; if (maxScroll = maxScroll - 5) { track.scrollTo({ left: 0, behavior: 'smooth' }); } else { track.scrollBy({ left: slideW, behavior: 'smooth' }); } } function startAuto() { clearInterval(autoTimer); autoTimer = setInterval(autoAdvance, 2800); } function stopAuto() { clearInterval(autoTimer); } startAuto(); track.addEventListener('mouseenter', stopAuto); track.addEventListener('mouseleave', function() { if (!userInteracted) startAuto(); }); var isDragging = false, dragStartX = 0, dragScrollLeft = 0; track.addEventListener('mousedown', function(e) { isDragging = true; dragStartX = e.pageX; dragScrollLeft = track.scrollLeft; track.classList.add('is-dragging'); stopAuto(); }); window.addEventListener('mousemove', function(e) { if (!isDragging) return; track.scrollLeft = dragScrollLeft - (e.pageX - dragStartX); }); window.addEventListener('mouseup', function() { if (!isDragging) return; isDragging = false; track.classList.remove('is-dragging'); }); track.addEventListener('touchstart', function() { userInteracted = true; stopAuto(); }, { passive: true }); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', init); } else { init(); } })();
More you might like
Related
FUNDAMENTALS | Conditioning Shorts | Black | Mens Baseball
Related
FUNDAMENTALS | Conditioning Shorts | GLITCH | Mens Baseball
Related
FUNDAMENTALS | Conditioning Shorts | NAVY | Mens Baseball Sh
Related