/* Shared motion and responsive refinements for the Bullpug adaptation. */
:root { --bullpug-ease: cubic-bezier(.22,1,.36,1); }
html { scroll-padding-top: 104px; }
.bullpug-delta #familias,.bullpug-delta #destacados { scroll-margin-top:0; }
button, a, input, select, textarea { touch-action: manipulation; }
/* Crossfade photographs without adding zoom to the original product shots. */
.bullpug-delta [data-component=header].bullpug-hero-ready .media-container>.item {
  visibility:visible!important;opacity:0!important;transform:none!important;
  pointer-events:none!important;z-index:1!important;
  transition:opacity 1100ms ease-in-out;
}
.bullpug-delta [data-component=header].bullpug-hero-ready .media-container>.item.active {
  opacity:1!important;transform:none!important;z-index:2!important;
}
.bullpug-delta [data-component=header].bullpug-hero-ready .title-container>.item {
  opacity:0!important;visibility:visible!important;transform:translateY(18px)!important;
  pointer-events:none!important;transition:opacity 350ms ease,transform 650ms var(--bullpug-ease);
}
.bullpug-delta [data-component=header].bullpug-hero-ready .title-container>.item.active {
  opacity:1!important;transform:none!important;pointer-events:auto!important;transition-delay:180ms;
}
.bullpug-delta [data-component=header] .above-the-fold { height:95svh;min-height:560px; }
.bullpug-delta [data-component=header] .top-container { padding:120px clamp(20px,4vw,76px) 44px!important; }
.bullpug-delta [data-component=header] .bottom-container { padding:0 clamp(20px,4vw,76px) 30px; }
.bullpug-delta [data-component=header] .background-container:after { background:linear-gradient(180deg,#0000000d 30%,#00000014 50%,#00000099 100%)!important;opacity:1!important; }
/* Retire the original CTA and thumbnail row; keep only previous/next arrows. */
.bullpug-delta [data-component=header] .title-container [data-component=button],
.bullpug-delta [data-component=header] .bottom-container { display:none!important; }
.bullpug-delta [data-component=header] .background-container { background:#1e3029; }
.bullpug-delta [data-component=header] .above-the-fold>.content-container { z-index:4; }
.bullpug-hero-arrow {
 position:absolute;top:50%;z-index:6;transform:translateY(-50%);display:grid;place-items:center;
 width:48px;height:48px;padding:0;border:1px solid #ffffff70;border-radius:50%;
 background:#10201945;color:#fff;cursor:pointer;
 transition:background-color 200ms ease,border-color 200ms ease;
}
.bullpug-hero-arrow[data-hero-step="-1"] { left:clamp(12px,2vw,32px); }
.bullpug-hero-arrow[data-hero-step="1"] { right:clamp(12px,2vw,32px); }
.bullpug-hero-arrow svg { width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round; }
.bullpug-hero-arrow[data-hero-step="1"] svg { transform:rotate(180deg); }
.bullpug-hero-arrow:focus-visible { outline:2px solid #fff;outline-offset:4px; }
@media(hover:hover) { .bullpug-hero-arrow:hover { background:#102019a6;border-color:#fff; } }
@media(max-width:600px) { .bullpug-hero-arrow { width:44px;height:44px; } }
/* Wide hero edits fill the canvas; portrait originals remain available for phones. */
@media(min-width:1024px) {
 .bullpug-delta [data-component=header] .background-container>.media-container { width:100%!important;margin-left:0!important; }
 .bullpug-delta [data-component=header] .top-container { padding-bottom:64px!important; }
 .bullpug-delta [data-component=header] .above-the-fold .title { font-size:clamp(44px,4.8vw,76px);max-width:55vw;line-height:1.08; }
 .bullpug-delta [data-component=header] .background-container img { object-position:50% 50%; }
}
/* Product names share the header component, but are labels rather than headlines. */
.bullpug-delta [data-component=products-carousel-infinite] h2.title {
 font:400 clamp(14px,1.1vw,18px)/1.4 Arial,sans-serif;
 text-transform:none;letter-spacing:0;max-width:100%;overflow-wrap:break-word;padding:0;margin:0;
}
.bullpug-corner { min-height:44px; }
/* The old coffee quiz used nearly two screens and dozens of spinning pack shots. */
.bullpug-delta [data-component=quiz] { height:auto!important;min-height:0!important;padding:clamp(64px,7vw,112px) 0!important;background-color:#eff2ee;background-image:none!important; }
.bullpug-delta [data-component=quiz]>.grad-top,.bullpug-delta [data-component=quiz]>.grad-bottom,
.bullpug-delta [data-component=quiz] [data-component=quiz-wrapper]>.bg { display:none!important; }
.bullpug-delta [data-component=quiz] [data-component=quiz-wrapper] { height:auto!important;min-height:0!important;transform:none!important; }
.bullpug-delta [data-component=quiz] .quiz-content,.bullpug-delta [data-component=quiz] .quiz-container { height:auto!important; }
.bullpug-delta [data-component=quiz] .quiz-content>.g-col { width:100%!important; }
.bullpug-delta [data-component=quiz] .content-text { width:min(650px,calc(100% - 40px))!important; }
.bullpug-delta [data-component=quiz] .content-text .description { width:min(440px,100%)!important;line-height:1.6; }
.bullpug-delta [data-component=quiz] [data-component=button] { margin-top:28px!important; }
.bullpug-selection-photos { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(10px,2vw,24px);width:min(740px,calc(100% - 40px));margin:42px auto 0; }
.bullpug-selection-photos a { display:block;min-width:0; }
.bullpug-selection-photos img { width:100%;aspect-ratio:4/4.5;object-fit:cover;border-radius:8px;transition:transform 650ms var(--bullpug-ease); }
.bullpug-selection-photos a:nth-child(2) { padding-top:26px; }
.bullpug-selection-photos span { display:block;margin-top:12px;font-size:12px;color:#43555b; }
/* Stagger by a few frames, once per entry, without hiding content behind JS. */
.bullpug-enter { animation:bullpug-enter 700ms var(--bullpug-ease) both;animation-delay:var(--enter-delay,0ms); }
@keyframes bullpug-enter { from { opacity:0;translate:0 22px; } to { opacity:1;translate:0 0; } }
@keyframes bullpug-page-enter { from { opacity:0;translate:0 12px; } to { opacity:1;translate:0 0; } }
body:not(.bullpug-delta) main>section { animation:bullpug-page-enter 500ms var(--bullpug-ease) both; }
.product-image img,.family-tile img { transition:transform 650ms var(--bullpug-ease); }
.button { transition:background-color 220ms ease,color 220ms ease,box-shadow 220ms ease; }
.button>span { transition:translate 300ms var(--bullpug-ease); }
.bullpug-footer a,.site-footer a { text-underline-offset:5px; }
/* Native dialog lifecycle, focus, and Escape remain owned by the browser. */
dialog,dialog::backdrop { transition:opacity 240ms ease,transform 360ms var(--bullpug-ease),display 360ms allow-discrete,overlay 360ms allow-discrete; }
dialog { opacity:0;transform:translateY(14px);overscroll-behavior:contain; }
dialog[open] { opacity:1;transform:none; }
dialog::backdrop { opacity:0;backdrop-filter:blur(5px); }
dialog[open]::backdrop { opacity:1; }
dialog.drawer { transform:translateX(100%); }
dialog.drawer[open] { transform:none; }
@starting-style { dialog[open] { opacity:0;transform:translateY(14px); } dialog.drawer[open] { transform:translateX(100%); } dialog[open]::backdrop { opacity:0; } }
.bullpug-search-dialog { box-sizing:border-box;overflow:auto; }
.bullpug-search-dialog .close-search { min-width:44px;min-height:44px; }
.bullpug-search-dialog form>button { flex-shrink:0; }
body:not(.bullpug-delta) .site-header { border-radius:6px;min-width:0; }
.site-header .header-tools,.site-header .desktop-nav { min-width:0; }
.header-tools .plain,.add-small,.product-bottom .text-link { min-height:44px; }
.gallery-thumbs button { min-height:44px; }
.bullpug-menu-search { display:none; }
@media(hover:hover) and (pointer:fine) {
 .product-card>a:hover img,.family-tile:hover img,.bullpug-selection-photos a:hover img { transform:scale(1.035); }
 .button:hover>span { translate:2px -2px; }
}
@media(max-width:1290px) {
 .bullpug-delta [data-component=menu].active .mobile-menu-container .main-menu { max-height:calc(100dvh - 140px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;pointer-events:auto;padding-bottom:12px; }
 .bullpug-delta [data-component=mobile-top] .open-btn,.bullpug-delta [data-component=mobile-top] .close-btn { min-height:44px!important;max-height:44px!important;top:20px!important; }
 .bullpug-delta [data-component=menu] .bullpug-menu-search { display:flex;align-items:center;background:transparent;color:#eff2ee;border:0;padding:4px 0;min-height:44px;font:inherit;font-size:12px; }
}
@media(max-width:1023px) {
 .bullpug-delta [data-component=coffee-culture] .culture-wrap { gap:48px; }
 .bullpug-delta [data-component=coffee-culture] .culture-info { gap:28px; }
 .bullpug-delta [data-component=coffee-culture] .link-wrap { gap:28px!important; }
}
@media(max-width:600px) {
 html { scroll-padding-top:92px; }
 .bullpug-delta [data-component=header] .above-the-fold { height:92svh;min-height:520px; }
 .bullpug-delta [data-component=header] .top-container { padding:104px 20px 44px!important; }
 .bullpug-delta [data-component=header] .bottom-container { padding:0 20px max(24px,env(safe-area-inset-bottom)); }
 .bullpug-delta [data-component=header] .above-the-fold .title { font-size:clamp(36px,9.8vw,56px);line-height:1.05; }
 .bullpug-delta [data-component=coffee-culture] .culture-links { gap:36px; }
 .bullpug-delta [data-component=quiz] { padding:56px 0!important; }
 .bullpug-selection-photos { margin-top:32px;gap:10px; }
 .bullpug-selection-photos span { font-size:11px; }
 .bullpug-selection-photos a:nth-child(2) { padding-top:18px; }
 .bullpug-search-dialog { padding:22px;max-height:calc(100dvh - 32px); }
 .bullpug-search-dialog h2 { font-size:28px; }
 .bullpug-search-dialog input,.search-dialog input,.form-field input,.form-field textarea,.form-field select,.variant-field select { font-size:16px; }
 .site-header .brand img { width:clamp(86px,25vw,107px); }
 .header-tools { gap:10px; }
 .header-tools .plain { gap:3px; }
 .site-header .search-toggle { min-width:32px; }
 .site-header .cart-toggle { min-width:62px; }
 .site-header .brand { justify-self:center; }
 dialog.drawer,dialog.menu-dialog { padding:20px max(20px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)); }
 dialog.search-dialog { margin:16px auto;max-height:calc(100dvh - 32px); }
 .summary-item { grid-template-columns:42px minmax(0,1fr) auto;gap:10px; }
 .summary-item img { width:42px;height:56px; }
 .summary-item>div,.cart-line>div { min-width:0;overflow-wrap:anywhere; }
 .breadcrumbs { overflow-wrap:anywhere; }
 .detail-copy h1 { font-size:clamp(30px,8vw,34px);overflow-wrap:anywhere; }
}
@media(max-width:360px) {
 .site-header { grid-template-columns:28px minmax(0,1fr) auto; }
 .site-header { padding:0 12px;gap:4px; }
 .site-header .header-tools { gap:4px; }
 .site-header .header-tools .menu-toggle { left:12px; }
 .bullpug-cart { right:14px;padding-inline:8px; }
 .bullpug-delta [data-component=mobile-top] .home-link { width:96px!important;min-width:96px!important; }
 .bullpug-delta [data-component=mobile-top] .home-link:after { width:96px; }
}
@media(max-height:540px) and (orientation:landscape) {
 .bullpug-delta [data-component=header] .above-the-fold { min-height:460px; }
 dialog { max-height:calc(100dvh - 24px);overflow:auto; }
 dialog.drawer,dialog.menu-dialog { max-height:100dvh; }
}
@media(prefers-reduced-motion:reduce) {
 html,html.bullpug-delta * { scroll-behavior:auto!important; }
 *,*::before,*::after { animation:none!important;transition:none!important; }
 .bullpug-delta [data-component=home] main [style*="transform"] { transform:none!important; }
 .bullpug-delta [data-component=home] main [style*="opacity"] { opacity:1!important;visibility:visible!important; }
 .bullpug-delta [data-component=products-carousel-infinite] { overflow-x:auto!important;scrollbar-width:thin; }
 .bullpug-delta [data-component=products-carousel-infinite] .carousel-inner { transform:none!important;touch-action:auto!important; }
 .bullpug-delta [data-component=products-carousel-infinite] .list+.list { display:none; }
 .bullpug-delta [data-component=pre-footer] .background-container { transform:none!important; }
 .bullpug-delta [data-component=pre-footer] .title-overlay,.bullpug-delta [data-component=pre-footer] .upper-title-overlay { display:none!important; }
 .product-card>a:hover img,.family-tile:hover img,.bullpug-selection-photos a:hover img { transform:none; }
}
