@charset "utf-8";

* {margin: 0; padding: 0; box-sizing: border-box;}

body {background: #dce7de; color: #ffffff;}
img {max-width: 100%; display: block;}
a {color: inherit;}

.ticker-container {width: 100%; overflow: hidden; white-space: nowrap; background-color: #4c2b5a; padding: 11px 0; position: relative; z-index: 30;}
.ticker-text {display: inline-block; padding-left: 100%; animation: scroll-left 90s linear infinite; font-family: carbon, sans-serif; font-size: 15px; font-weight: 500; color: #ffffff; letter-spacing: 0.04em;}
@keyframes scroll-left {0% { transform: translateX(0); } 100% { transform: translateX(-100%); }}

.site-header {width: 100%; z-index: 20;}
.main-nav {padding: 14px 16px; background: linear-gradient(180deg, rgba(122,176,158,0.78) 0%, rgba(122,176,158,0.58) 100%)}
.nav-top {width: 100%; max-width: 1120px; margin: 0 auto; display: flex; justify-content: space-between; align-items: center; gap: 16px;}
.logo {width: clamp(68px, 18vw, 92px);}
.nav-icons {display: flex; align-items: center; gap: 14px;}
.nav-icons a {text-decoration: none; color: #ffffff; font-family: carbon, sans-serif; font-size: 15px; letter-spacing: 0.08em; text-transform: uppercase;}
.account {width: 25px; height: auto; object-fit: contain; filter: brightness(0) invert(1);}
.cart {position: relative; display: inline-flex; align-items: center; justify-content: center; font-size: 48px;}
#cart-count {position: absolute; top: -7px; right: -9px; min-width: 16px; height: 16px; border-radius: 999px; display: grid; place-items: center; padding: 0 3px; background: #4c2b5a; color: #ffffff; font-size: 9px; font-family: carbon, sans-serif;}

.homepage-main {overflow: clip;}

.hero-banner {position: relative; background: #f1e4df; min-height: 128px; overflow: hidden; display: none;}
.hero-banner::before {content: ""; position: absolute; inset: 0; background: url("../images/Top Splatter.png") center top / 100% 100% no-repeat; z-index: 1; pointer-events: none;}
.hero-banner img, .hero-banner video {width: 100%; min-height: 128px; aspect-ratio: 1440 / 408; object-fit: cover; object-position: center; display: block;}

#where {position: relative; background: #255c56; padding: 44px 20px 0;}
.where-content {width: 100%; max-width: 1120px; margin: 0 auto; display: grid; gap: 24px; justify-items: center; text-align: center; position: relative; z-index: 3;}
.rider {width: min(78vw, 304px); margin-top: 0; filter: drop-shadow(0 16px 20px rgba(0, 0, 0, 0.14)); position: relative; z-index: 4;}
.where-text {max-width: 544px; padding-bottom: 40px;}
.eyebrow {margin-bottom: 12px; color: rgba(255,255,255,0.72); font-family: carbon, sans-serif; font-size: 12px; font-weight: 500; letter-spacing: 0.16em; text-transform: uppercase;}
.where-text h1 {margin-bottom: 16px; font-family: carbon, sans-serif; font-size: clamp(32px, 9vw, 53px); line-height: 0.98; font-weight: 700;}
.where-text h2 {margin-bottom: 13px; font-family: carbon, sans-serif; font-size: clamp(16px, 4.5vw, 22px); line-height: 1.2; font-weight: 400;}
.where-text h3 {color: rgba(255,255,255,0.88); font-family: acumin-pro-condensed, sans-serif; font-size: 16px; line-height: 1.55; font-weight: 400;}
#bottom-overlap {width: 100%; display: block; margin-top: -2px;}

#featured {background: #dce7de; color: #255c56; padding: 10px 20px 128px; text-align: center; margin-top: -10px;}
.featured-kicker {margin-bottom: 10px; font-family: carbon, sans-serif; font-size: 12px; letter-spacing: 0.18em; text-transform: uppercase; color: #3f6f6b;}
#featured h2 {width: 100%; max-width: 544px; margin: 0 auto 32px; font-family: carbon, sans-serif; font-size: clamp(26px, 7vw, 38px); line-height: 1;}
.featured-grid {width: 100%; max-width: 1120px; margin: 0 auto; display: grid; gap: 20px;}
.featured-card {padding: 18px 16px 22px; border: 1px solid rgba(37,92,86,0.15); background: #255c56; box-shadow: 0 18px 40px -30px rgba(12,29,28,0.18);}
.featured-image {display: grid; place-items: center;}
.featured-image img {width: 100%; opacity: 1; transition: opacity .35s ease;}
.featured-card h3 {margin-top: 16px; font-family: carbon, sans-serif; font-size: 17px; letter-spacing: 0.08em; text-transform: uppercase; color:#ffffff}
.featured-card {position:relative; overflow:hidden;}
.timer-bar {position:absolute; top:0; left:0; height:4px; width:0%; background:#4c2b5a;}
.featured-image img {width:100%; display:block; transition:opacity .35s ease;}
.featured-card {transition:transform .3s ease, box-shadow .3s ease;}
.featured-card:hover {transform:translateY(-6px); box-shadow:0 12px 30px rgba(0,0,0,.15);}
.featured-card:hover img {transform:scale(1.05);}

.site-footer {background: #255c56; padding: 40px 20px 32px; text-align: center;}
.footer-logo {width: min(112px, 34vw); margin: 0 auto 20px; opacity: 0.95;}
.footer-links {display: grid; gap: 11px; margin-bottom: 16px;}
.footer-links a, .site-footer p {color: rgba(255,255,255,0.82); text-decoration: none; font-family: carbon, sans-serif; font-size: 13px; letter-spacing: 0.06em; text-transform: uppercase;}

/*SECOND PAGE*/
.shop-page .main-nav {background: linear-gradient(180deg, rgba(122,176,158,0.78) 0%, rgba(122,176,158,0.58) 100%)}
#products-heading {background: #dce7de; padding: 44px 20px 0; text-align: center;}
#products-heading h1 {font-family: carbon, sans-serif; font-size: clamp(32px, 9vw, 53px); line-height: 0.98; font-weight: 700;}
#cards {background-color:#dce7de; text-align:center; padding: 24px 20px 96px;}
#cards h1 {font-family: carbon, sans-serif; font-size: clamp(32px, 9vw, 53px); line-height: 0.98; font-weight: 700;}
.shop-controls {width: 100%; max-width: 1120px; margin: 0 auto 24px; text-align: left;}
.shop-toggle {padding: 12px 16px; border: 1px solid #255c56; background: transparent; color: #255c56; font-family: carbon, sans-serif; font-size: 14px; letter-spacing: 0.1em; text-transform: uppercase; cursor: pointer;}
.shop-panel {margin-top: 16px; padding: 18px 16px; display: grid; gap: 16px; border: 1px solid rgba(37,92,86,0.15); background: rgba(255,255,255,0.45);}
.shop-field {display: grid; gap: 8px;}
.shop-field label {color: #255c56; font-family: carbon, sans-serif; font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase;}
.shop-field select {padding: 12px 14px; border: 1px solid rgba(37,92,86,0.2); background: #ffffff; color: #255c56; font-family: carbon, sans-serif; font-size: 14px; letter-spacing: 0.04em;}
.shop-grid {width: 100%; max-width: 1120px; margin: 0 auto; display: grid; gap: 20px;}
.shop-card {padding: 18px 16px 22px; border: 1px solid rgba(37,92,86,0.15); background: #255c56; box-shadow: 0 18px 40px -30px rgba(12,29,28,0.18); text-align: center;}
.shop-image {display: grid; place-items: center; background: #ffffff;}
.shop-image img {width: 100%; display: block;}
.shop-card h2 {margin-top: 16px; font-family: carbon, sans-serif; font-size: 17px; letter-spacing: 0.08em; text-transform: uppercase; color:#ffffff;}
.shop-price {margin-top: 10px; color: rgba(255,255,255,0.82); font-family: carbon, sans-serif; font-size: 15px; letter-spacing: 0.08em; text-transform: uppercase;}
.add-cart-btn {margin-top: 16px; padding: 12px 16px; width: 100%; border: 1px solid #dce7de; background: #dce7de; color: #255c56; font-family: carbon, sans-serif; font-size: 14px; letter-spacing: 0.1em; text-transform: uppercase; cursor: pointer; transition: background .3s ease, color .3s ease, transform .3s ease;}
.add-cart-btn:hover {background: transparent; color: #ffffff; transform: translateY(-2px);}
.add-cart-btn:focus-visible {outline: 2px solid #ffffff; outline-offset: 2px;}

@media (min-width: 640px) {
.main-nav {padding: 16px 24px;}
.nav-icons {gap: 22px;}
#where {padding: 56px 24px 0;}
.featured-grid {grid-template-columns: repeat(3, minmax(0,1fr));}
.featured-card {padding: 20px 18px 24px;}
#cards {padding: 32px 24px 112px;}
.shop-panel {grid-template-columns: repeat(2, minmax(0,1fr));}
.shop-grid {grid-template-columns: repeat(2, minmax(0,1fr));}
.shop-card {padding: 20px 18px 24px;}}

@media (min-width: 768px) {
.hero-banner {display: block;}
.homepage .site-header {position: sticky;top: 0;}
.homepage .main-nav {position: absolute; top: 0; left: 0; right: 0; background: linear-gradient(180deg, rgba(122,176,158,0.78) 0%, rgba(122,176,158,0.58) 100%); backdrop-filter: blur(8px);}
.homepage .hero-banner img, .homepage .hero-banner video {min-height: 320px;}
#produtcs {padding: 56px 32px 0;}
.products-logo {display: none;}
.products-splatter {display: block; width: calc(100% + 64px); margin: 20px -32px -2px; max-width: none;}
#where {padding: 40px 32px 0;}
.where-content {grid-template-columns: minmax(256px,400px) minmax(320px,1fr); align-items: center; gap: 48px; text-align: left;}
.rider {width: min(32vw,384px); justify-self: start; margin-top: -120px;}
.where-text {justify-self: end; padding-bottom: 64px;}
#featured {padding: 18px 32px 144px; margin-top: -18px;}
#cards {padding: 32px 32px 128px;}
.shop-controls {margin-bottom: 32px;}
.shop-grid {grid-template-columns: repeat(3, minmax(0,1fr));}
.footer-links {grid-template-columns: repeat(4,auto); justify-content: center; gap: 24px;}}

@media (min-width: 1024px) {
.main-nav {padding: 19px 32px;}
.nav-icons a {font-size: 16px;}
.cart {font-size: 22px;}
.homepage .hero-banner img, .homepage .hero-banner video {min-height: 384px;}
#where {padding: 44px 40px 0;}
.where-content {gap: 80px;}
.rider {width: min(30vw,416px); margin-top: -144px;}
.where-text h1 {max-width: 420px;}
#featured {padding-top: 18px; padding-bottom: 152px; margin-top: -18px;}}
