/* Scoped product presentation; original brand variables and cube implementation retained. */
.ryt-home-hero { max-width:1440px; margin:0 auto; padding:8px 16px 0; }
.ryt-home-hero__inner { width:100%; }
.ryt-home-hero #hero-diorama-box { min-height:480px; padding:28px 0; }
/* 1.4.1 cube fix: the pre-1.4.1 rule scaled the cube VIEWPORT (scale 1.45),
   which also scaled the JS pointer geometry, and the theme's minified sheet
   re-shrank the same element at <=640px, so size depended on which sheet won.
   The cube is now enlarged through the studio stage only: the stage grows,
   and the spinner's own transform chain is untouched. Geometry invariant:
   faces are 168px and --cube-z stays 83.5px (= 168/2) exactly as in 1.3.9. */
.ryt-home-hero #hero-cube-stage { transform:scale(1.35); }
@media (max-width:767px) { .ryt-home-hero #hero-cube-stage { transform:scale(1.12); } }
@media (max-width:359px) { .ryt-home-hero #hero-cube-stage { transform:scale(1); } }
.ryt-home-content { max-width:1440px; margin:auto; padding:32px 48px; }
.ryt-hot-selling { margin-top:48px; }
.ryt-hot-selling h1 { margin:0 0 22px; font:700 clamp(24px,3vw,36px)/1.15 'Space Grotesk',sans-serif; letter-spacing:-.035em; }
.ryt-collection-grid,.ryt-archive-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px 10px; }
.ryt-editorial-card { min-width:0; color:var(--ryt-ink); }
.ryt-editorial-card__media { position:relative; aspect-ratio:3 / 4; overflow:hidden; border-radius:8px; }
.ryt-editorial-card__media img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.ryt-editorial-card__media.ryt-fit-contain .ryt-card-open { display:flex; align-items:center; justify-content:center; }
.ryt-editorial-card__media.ryt-fit-contain img { object-fit:contain; height:auto; max-height:100%; border-radius:8px; }
.ryt-editorial-card__info { position:relative; padding:9px 44px 0 6px; min-height:57px; }
.ryt-editorial-card h3 { margin:0 0 3px; font:500 12px/1.4 Inter,sans-serif; overflow-wrap:anywhere; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.ryt-editorial-card__price { font:400 12px/1.5 Inter,sans-serif; color:var(--ryt-muted); }
.ryt-editorial-card__price ins { text-decoration:none; color:var(--ryt-ink); }
.ryt-editorial-card__price del { opacity:.7; margin-right:4px; }
.ryt-editorial-card__add { position:absolute; right:0; top:2px; display:grid; place-items:center; width:44px; height:44px; padding:0; background:none; border:0; color:var(--ryt-ink); font:300 26px/1 Inter,sans-serif; cursor:pointer; }
.ryt-editorial-card__add:hover { color:var(--ryt-red); }
.ryt-editorial-card__add[aria-busy=true] span { opacity:.35; }
.ryt-editorial-card__images { position:absolute; bottom:5px; left:50%; transform:translateX(-50%); display:flex; }
.ryt-editorial-card__images button { display:grid; place-items:center; width:28px; height:44px; padding:0; border:0; background:none!important; box-shadow:none!important; }
.ryt-editorial-card__images span { width:5px; height:5px; border-radius:50%; background:#fff; box-shadow:0 0 2px #111; opacity:.65; }
.ryt-editorial-card__images [aria-pressed=true] span { width:7px; height:7px; opacity:1; }
.ryt-footer-tagline { display:inline-block; color:var(--ryt-red)!important; font:900 clamp(22px,2.5vw,30px)/1.12 Montserrat,Inter,sans-serif; letter-spacing:-.055em; }
/* 1.4.1: the card add control is a plain ink '+' — no glass, blur or shadow. */
.ryt-editorial-card__add { background:transparent; box-shadow:none; backdrop-filter:none; -webkit-backdrop-filter:none; border-radius:50%; }
.ryt-editorial-card__add:hover { background:rgba(184,0,18,.08); }
.ryt-editorial-card__add:active { background:rgba(184,0,18,.16); }
/* Keep the homepage gutters intentional on handheld and tablet screens. */
@media(max-width:1023px){.ryt-home-content{padding:32px 24px}.ryt-home-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:767px){.ryt-home-content{padding:28px 16px}.ryt-hot-selling{margin-top:36px}.ryt-home-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* At tablet widths the expanded search label collided with Stories. */
@media(min-width:768px) and (max-width:1023px){body.home .ryt-glass-header [aria-label="Search Catalog"]{padding:8px}body.home .ryt-glass-header [aria-label="Search Catalog"] span{display:none}}

/* 1.5.1: soften the existing six surfaces without changing the 3D transform chain. */
.ryt-home-hero .cube-face{border-radius:4px;outline:none;border:1px solid rgba(255,210,214,.45);box-shadow:inset 0 1px 3px rgba(255,245,245,.32),inset 0 -1px 3px rgba(65,0,9,.28)}
.ryt-home-hero .cube-face:after{box-shadow:inset 1px 1px 2px rgba(255,245,245,.27),inset -1px -1px 2px rgba(65,0,9,.2);background:linear-gradient(135deg,rgba(255,245,245,.24),rgba(255,255,255,.025) 44%,rgba(35,0,4,.16))}
.ryt-home-hero .cube-chassis-plate{border-radius:8px}
/* Overlapping opaque backing closes rounded panel junctions without moving the faces. */
.ryt-home-hero .cube-joint{position:absolute;left:0;top:0;width:168px;height:168px;border-radius:0;background:#A90011;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.cube-joint-front{transform:translateZ(83px)}.cube-joint-back{transform:rotateY(180deg) translateZ(83px)}.cube-joint-right{transform:rotateY(90deg) translateZ(83px)}.cube-joint-left{transform:rotateY(-90deg) translateZ(83px)}.cube-joint-top{transform:rotateX(90deg) translateZ(83px)}.cube-joint-bottom{transform:rotateX(-90deg) translateZ(83px)}
.ryt-home-hero .cube-face-top:after{background:linear-gradient(135deg,rgba(255,245,245,.22),rgba(255,255,255,.08))}
.ryt-home-hero .cube-face-right:after,.ryt-home-hero .cube-face-back:after{background:linear-gradient(135deg,rgba(35,0,4,.12),rgba(35,0,4,.25))}
.ryt-home-hero .cube-face-bottom:after{background:linear-gradient(135deg,rgba(35,0,4,.2),rgba(35,0,4,.35))}

/* The outline encloses the image, title, price, and add control as one card. */
.ryt-editorial-card{border:1px solid var(--ryt-line);border-radius:12px;padding:5px;background:var(--ryt-paper);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.ryt-editorial-card:focus-within,.ryt-editorial-card.is-pressed{border-color:var(--ryt-red);box-shadow:0 6px 18px -12px rgba(17,17,17,.35);transform:translateY(-3px)}
@media(hover:hover) and (pointer:fine){.ryt-editorial-card:hover{border-color:var(--ryt-red);box-shadow:0 6px 18px -12px rgba(17,17,17,.35);transform:translateY(-3px)}}
@media(hover:none){.ryt-editorial-card:active{border-color:var(--ryt-red);transform:translateY(-2px)}}
#mobile-bottom-dock{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(prefers-reduced-motion:reduce){.ryt-editorial-card{transition:none!important;transform:none!important}}
