/* Tropical 0.1.0 — scoped to homepage only; no changes to global product templates. */
.shoppy-tropical-home{--trop-ink:#254f46;--trop-cream:#fbf9ed;--trop-lime:#eeffaf;--trop-radius:0; color:#243c37;background:#fff;overflow:hidden}
.shoppy-tropical-home *{box-sizing:border-box}
.shoppy-tropical-home h1,.shoppy-tropical-home h2,.shoppy-tropical-home p{margin:0}
.shoppy-tropical-home img{width:100%;height:100%;display:block;object-fit:cover}
.shoppy-tropical-home a{text-decoration:none}
.shoppy-trop-hero,.shoppy-trop-banner,.shoppy-trop-duo-panel,.shoppy-trop-promo{position:relative;isolation:isolate;overflow:hidden}
.shoppy-trop-hero{min-height:min(77vw,740px);min-height:min(77vw,740px);background:#c8d8bc}
.shoppy-trop-hero picture,.shoppy-trop-banner>img,.shoppy-trop-duo-panel>img,.shoppy-trop-promo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.shoppy-trop-hero picture img{position:absolute;inset:0}
.shoppy-trop-hero:after,.shoppy-trop-banner:after,.shoppy-trop-duo-panel:after,.shoppy-trop-promo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.31));pointer-events:none;z-index:0}
.shoppy-trop-hero-copy,.shoppy-trop-banner-copy,.shoppy-trop-duo-panel>div,.shoppy-trop-promo-copy{position:relative;z-index:1;text-align:center;color:white}
.shoppy-trop-hero-copy{position:absolute;top:52%;left:5%;width:90%;transform:translateY(-50%)}
.shoppy-trop-hero-copy>span,.shoppy-trop-banner-copy>small,.shoppy-trop-duo-panel small,.shoppy-trop-head small,.shoppy-trop-closing small{font:600 11px/1.5 system-ui,sans-serif;letter-spacing:.19em;text-transform:uppercase}
.shoppy-trop-hero h1,.shoppy-trop-banner h2,.shoppy-trop-duo h2,.shoppy-trop-closing h2{font-family:Georgia,'Times New Roman',serif;font-weight:500;letter-spacing:-.035em;line-height:1.04;text-transform:uppercase}
.shoppy-trop-hero h1{font-size:clamp(3.2rem,8.2vw,7.8rem);margin:.3em 0 .12em}
.shoppy-trop-hero p{font-size:clamp(13px,1.5vw,18px);margin:0 auto 21px;max-width:560px}
.shoppy-trop-btn{display:inline-block!important;background:var(--trop-lime);border:1px solid var(--trop-lime);padding:11px 28px;color:#2b4b35!important;font:700 11px/1.3 system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;border-radius:100px;transition:transform .2s,background .2s}
.shoppy-trop-btn:hover{transform:translateY(-2px);background:#fff}
.shoppy-trop-banner{min-height:clamp(400px,56vw,680px);display:flex;align-items:center;justify-content:flex-start}
.shoppy-trop-banner-copy{padding:50px clamp(20px,7vw,100px);max-width:600px}
.shoppy-trop-banner h2{font-size:clamp(3rem,6vw,6.4rem);margin:10px 0 14px}
.shoppy-trop-banner p{margin:0 auto 22px;max-width:390px;font-size:16px}
.shoppy-trop-banner--story{min-height:480px;justify-content:center}
.shoppy-trop-banner--story .shoppy-trop-banner-copy{max-width:760px}
.shoppy-trop-categories,.shoppy-trop-arrivals,.shoppy-trop-promos,.shoppy-trop-videos{padding:45px clamp(14px,3vw,54px) 55px}
.shoppy-trop-head{text-align:center;margin:0 auto 28px}
.shoppy-trop-head small{color:#688551}
.shoppy-trop-head h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(28px,3.8vw,50px);font-weight:500;color:var(--trop-ink);margin:7px 0 8px}
.shoppy-trop-head p{font-size:14px;color:#5e6d61}
.shoppy-trop-category-rail{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(8px,2vw,22px);max-width:1260px;margin:auto}
.shoppy-trop-category{text-align:center;min-width:0;color:#334b45!important;font:600 12px/1.5 system-ui,sans-serif}
.shoppy-trop-category-img{display:block;overflow:hidden;border-radius:50%;aspect-ratio:1;margin-bottom:10px;background:#f4f0eb}
.shoppy-trop-category-img img{transition:transform .3s}
.shoppy-trop-category:hover img{transform:scale(1.05)}
.shoppy-trop-duo{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:7px}
.shoppy-trop-duo-panel{min-height:clamp(390px,54vw,690px);display:grid;place-items:center;padding:24px;background:#b6cbd0}
.shoppy-trop-duo h2{font-size:clamp(2.4rem,5vw,5.8rem);margin:14px 0 22px}
.shoppy-trop-products-rail{display:grid;grid-auto-columns:minmax(170px,23%);grid-auto-flow:column;gap:12px;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:10px;scrollbar-width:thin}
.shoppy-trop-product{scroll-snap-align:start;min-width:0}
.shoppy-trop-product>a:first-child{display:block;aspect-ratio:3/4;overflow:hidden;background:#f4f0eb}
.shoppy-trop-product img{transition:transform .25s}
.shoppy-trop-product:hover img{transform:scale(1.035)}
.shoppy-trop-product-title{color:var(--trop-ink)!important;display:block;font-size:13px;line-height:1.5;margin:12px 0 4px}
.shoppy-trop-price{font-size:12px;color:#3f6251}
.shoppy-trop-promos{background:var(--trop-cream)}
.shoppy-trop-promo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.shoppy-trop-promo{aspect-ratio:3/4;background:#d2dbc5;display:flex;align-items:center;justify-content:center;padding:20px}
.shoppy-trop-promo-copy strong,.shoppy-trop-promo-copy em{display:block}
.shoppy-trop-promo-copy strong{font-family:Georgia,serif;font-size:clamp(20px,2.9vw,44px);line-height:1.1;font-weight:400}
.shoppy-trop-promo-copy em{font:700 11px/1.3 system-ui,sans-serif;letter-spacing:.12em;margin-top:20px;border-radius:20px;background:var(--trop-lime);color:var(--trop-ink);padding:9px 18px;font-style:normal}
.shoppy-trop-video-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.shoppy-trop-video-media{aspect-ratio:9/16;background:#eee;overflow:hidden}
.shoppy-trop-video-media video{width:100%;height:100%;object-fit:cover}
.shoppy-trop-video-media>a{display:block;width:100%;height:100%}
.shoppy-trop-video-meta{padding:12px 2px;color:var(--trop-ink);font-size:12px;line-height:1.6}
.shoppy-trop-video-meta>a:first-child{display:block;font-weight:700;color:inherit}
.shoppy-trop-video-shop{display:block;margin-top:5px;text-decoration:underline!important;color:#526c48!important}
.shoppy-trop-photo-empty{display:grid;place-items:center;background:#f5eee7;color:#746f6b;height:100%;padding:20px;text-align:center}
.shoppy-trop-trust{display:flex;gap:28px;justify-content:space-evenly;padding:40px 25px;background:#f6f7ed;text-align:center}
.shoppy-trop-trust>div{max-width:230px}
.shoppy-trop-trust strong{color:var(--trop-ink);font-size:14px}
.shoppy-trop-trust p{color:#738073;font-size:12px;margin-top:7px}
.shoppy-trop-closing{text-align:center;padding:75px 20px 90px;background:#edf3de}
.shoppy-trop-closing small{color:#55825d}
.shoppy-trop-closing h2{font-size:clamp(2.6rem,5vw,5rem);color:var(--trop-ink);margin:14px 0}
.shoppy-trop-closing p{font-size:14px;color:#526e59;margin:0 0 24px}
@media(max-width:900px){.shoppy-trop-category-rail{grid-template-columns:repeat(3,minmax(0,1fr));max-width:600px}.shoppy-trop-video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shoppy-trop-products-rail{grid-auto-columns:minmax(180px,35%)}}
@media(max-width:620px){.shoppy-trop-hero{min-height:600px}.shoppy-trop-hero h1{font-size:clamp(2.9rem,13vw,5rem)}.shoppy-trop-hero-copy{top:59%}.shoppy-trop-banner{min-height:470px;justify-content:center}.shoppy-trop-banner-copy{padding:30px 15px}.shoppy-trop-banner h2{font-size:clamp(2.5rem,12vw,4rem)}.shoppy-trop-banner--story{min-height:390px}.shoppy-trop-duo{grid-template-columns:1fr;gap:6px;padding:6px}.shoppy-trop-duo-panel{min-height:470px}.shoppy-trop-duo h2{font-size:clamp(2.4rem,10vw,4rem)}.shoppy-trop-category-rail{grid-auto-flow:column;grid-auto-columns:minmax(112px,32%);display:grid;grid-template-columns:none;overflow-x:auto;scroll-snap-type:x proximity}.shoppy-trop-category{scroll-snap-align:start}.shoppy-trop-products-rail{grid-auto-columns:minmax(185px,62%)}.shoppy-trop-promo-grid{grid-template-columns:1fr 1fr}.shoppy-trop-promo:last-child{display:none}.shoppy-trop-video-grid{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(210px,70%);grid-template-columns:none;overflow-x:auto;scroll-snap-type:x proximity}.shoppy-trop-video-card{scroll-snap-align:start}.shoppy-trop-trust{flex-direction:column;align-items:center}.shoppy-trop-categories,.shoppy-trop-arrivals,.shoppy-trop-promos,.shoppy-trop-videos{padding:35px 15px 40px}}
@media(prefers-reduced-motion:reduce){.shoppy-tropical-home *{scroll-behavior:auto!important;transition:none!important}}

/* Tropical: separation between the opening hero and its following feature banner.
   Scoped to the homepage and to these two adjacent sections only. */
.shoppy-tropical-home > .shoppy-trop-hero + .shoppy-trop-banner--feature {
  margin-top: 16px;
}
@media (max-width: 620px) {
  .shoppy-tropical-home > .shoppy-trop-hero + .shoppy-trop-banner--feature {
    margin-top: 10px;
  }
}
