@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@300;400;600;700;800&family=Press+Start+2P&display=swap');

/* === CSS VARIABLES === */
:root {
  --mario-sky: #5C94FC;
  --mario-ground: #C84B10;
  --mario-brick: #A0522D;
  --mario-coin: #FFD700;
  --mario-grass: #3AB54A;
  --mario-pipe: #1E7A1E;
  --mario-dark: #1A1A2E;
  --mario-cloud: #F8F8FF;
  --mario-red: #E52222;
  --mario-text: #2B1B0E;
  --mario-accent: #FF8C00;
}

/* === RESET & BASE === */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: "Nunito", ui-sans-serif, system-ui, sans-serif;
  color: var(--mario-text);
  background: var(--mario-cloud);
  min-height: 100vh;
  line-height: 1.6;
}
img { max-width: 100%; display: block; }
a { text-decoration: none; color: inherit; }
button { cursor: pointer; border: none; background: none; font: inherit; }
ul { list-style: none; }
::selection { background: var(--mario-coin); color: var(--mario-dark); }
.font-press-start { font-family: "Press Start 2P", monospace; }
.container { max-width: 1280px; margin: 0 auto; padding: 0 1rem; }
.container-sm { max-width: 900px; }
.text-white { color: #fff; }
.text-coin { color: var(--mario-coin); }
.text-gray-300 { color: #d1d5db; }
.text-closed { color: var(--mario-red); }
.hide-mobile { display: none; }
.inline-icon { display: inline-block; }

/* === ANIMATIONS === */
@keyframes mario-bounce { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-12px)} }
@keyframes mario-float { 0%{transform:translateX(0)} 50%{transform:translateX(15px)} 100%{transform:translateX(0)} }
@keyframes star-twinkle { 0%,100%{opacity:.3;transform:scale(.8)} 50%{opacity:1;transform:scale(1.2)} }
@keyframes fadeIn { from{opacity:0;transform:translateY(-10px)} to{opacity:1;transform:translateY(0)} }
@keyframes scaleUp { from{opacity:0;transform:scale(.9)} to{opacity:1;transform:scale(1)} }
@keyframes pulse { 0%,100%{opacity:1} 50%{opacity:.5} }
@keyframes bounce { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-6px)} }
@keyframes scroll-bricks { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }
@keyframes ping { 75%,100%{transform:scale(2);opacity:0} }

.animate-mario-bounce { animation: mario-bounce 1.5s infinite ease-in-out; }
.animate-mario-float { animation: mario-float 6s infinite ease-in-out; }
.animate-twinkle { animation: star-twinkle 2s infinite ease-in-out; }
.animate-fadeIn { animation: fadeIn .3s ease-out; }
.animate-scaleUp { animation: scaleUp .3s ease-out; }
.animate-pulse { animation: pulse 2s infinite; }
.animate-bounce { animation: bounce 1s infinite; }
.animate-scroll-bricks { display:flex; width:max-content; animation: scroll-bricks 20s linear infinite; }
.animate-ping { animation: ping 1s cubic-bezier(0,0,.2,1) infinite; }

@media (prefers-reduced-motion: reduce) {
  .animate-mario-bounce,.animate-mario-float,.animate-twinkle,.animate-pulse,.animate-bounce,.animate-scroll-bricks,.animate-ping { animation: none !important; }
}

/* === PIXEL ART STYLES === */
.pixel-corners { box-shadow: 0 -4px 0 -2px #000, 0 4px 0 -2px #000, -4px 0 0 -2px #000, 4px 0 0 -2px #000; }
.pixel-border-black { border: 4px solid #000; }
.pixel-border-coin { border: 4px solid var(--mario-coin); }

.pixel-brick {
  background: var(--mario-ground);
  border: 4px solid #000;
  box-shadow: inset -4px -4px 0 0 #8B2500, inset 4px 4px 0 0 #FF7F50;
  position: relative;
  width: 48px; height: 24px; flex-shrink: 0;
}
.pixel-brick::after { content:''; position:absolute; top:0; left:50%; width:4px; height:100%; background:#000; }
.pixel-brick::before { content:''; position:absolute; top:50%; left:0; width:100%; height:4px; background:#000; }

.pixel-question-block { background:#fcb42c; border:4px solid #000; box-shadow:inset -4px -4px 0 0 #b05400, inset 4px 4px 0 0 #ffe484; }
.pixel-pipe-body { background:linear-gradient(to right,#1e7a1e 0%,#32cd32 30%,#32cd32 45%,#1e7a1e 80%,#0c4d0c 100%); border-left:4px solid #000; border-right:4px solid #000; width:48px; height:32px; }
.pixel-pipe-lip { background:linear-gradient(to right,#1e7a1e 0%,#32cd32 30%,#32cd32 45%,#1e7a1e 80%,#0c4d0c 100%); border:4px solid #000; box-shadow:inset 0 -4px 0 0 #0c4d0c, inset 0 4px 0 0 #7cfc00; width:64px; height:20px; }
.pixel-soil-pattern {
  background-color:#8B4513;
  background-image: linear-gradient(45deg,#5C2E0B 25%,transparent 25%), linear-gradient(-45deg,#5C2E0B 25%,transparent 25%), linear-gradient(45deg,transparent 75%,#5C2E0B 75%), linear-gradient(-45deg,transparent 75%,#5C2E0B 75%);
  background-size:16px 16px;
  background-position:0 0, 0 8px, 8px -8px, -8px 0;
}

/* === PIXEL BUTTONS === */
.pixel-btn {
  font-family:"Press Start 2P",monospace;
  text-transform:uppercase;
  border:4px solid #000;
  position:relative;
  transition:all .1s ease;
  user-select:none;
  display:inline-block;
  padding:8px 16px;
  font-size:10px;
  cursor:pointer;
  text-align:center;
}
.pixel-btn-red { background:var(--mario-red); color:#fff; box-shadow:inset -4px -4px 0 0 #900, inset 4px 4px 0 0 #ff8080; }
.pixel-btn-red:active { box-shadow:inset 4px 4px 0 0 #900; transform:translateY(2px); }
.pixel-btn-coin { background:var(--mario-coin); color:var(--mario-dark); box-shadow:inset -4px -4px 0 0 #b8860b, inset 4px 4px 0 0 #ffec8b; }
.pixel-btn-coin:active { box-shadow:inset 4px 4px 0 0 #b8860b; transform:translateY(2px); }
.pixel-btn-green { background:var(--mario-grass); color:#fff; box-shadow:inset -4px -4px 0 0 #1e5a1e, inset 4px 4px 0 0 #7cfc00; }
.pixel-btn-green:active { box-shadow:inset 4px 4px 0 0 #1e5a1e; transform:translateY(2px); }
.pixel-btn-dark { background:var(--mario-dark); color:#fff; box-shadow:inset -4px -4px 0 0 #090910, inset 4px 4px 0 0 #4b4b75; }
.pixel-btn-dark:active { box-shadow:inset 4px 4px 0 0 #090910; transform:translateY(2px); }

/* === HEADER === */
.header {
  position:sticky; top:0; z-index:40;
  background:var(--mario-dark); color:#fff;
  border-bottom:4px solid var(--mario-ground);
}
.header-inner { display:flex; justify-content:space-between; align-items:center; padding:.75rem 1rem; }
.header-logo { display:flex; align-items:center; }
.logo-img { height:16px; width:auto; object-fit:contain; transition:transform .2s; }
.logo-img:hover { transform:scale(1.05); }
.nav-desktop { display:none; align-items:center; gap:1.5rem; font-size:12px; }
.nav-link { transition:color .2s; }
.nav-link:hover { color:var(--mario-coin); text-decoration:underline; text-underline-offset:4px; }
.header-actions { display:flex; align-items:center; gap:.5rem; }
.header-cta { display:none; padding:8px 16px; font-size:10px; }
.sound-toggle-btn { color:#fff; display:flex; align-items:center; justify-content:center; padding:8px; font-size:20px; transition:color .2s; border-radius:4px; border:none; background:none; cursor:pointer; }
.sound-toggle-btn:hover { color:var(--mario-coin); }
.mobile-menu-btn { color:#fff; font-size:24px; padding:8px; }
.mobile-menu-btn:hover { color:var(--mario-coin); }
.mobile-menu {
  display:none;
  background:var(--mario-dark);
  border-top:4px solid var(--mario-ground);
  padding:1rem 1.5rem;
  flex-direction:column; gap:1rem;
  animation:fadeIn .3s ease-out;
}
.mobile-menu.open { display:flex; }
.mobile-link { font-family:"Press Start 2P",monospace; font-size:10px; padding:.5rem 0; border-bottom:1px solid rgba(255,255,255,.1); color:#fff; transition:color .2s; }
.mobile-link:hover { color:var(--mario-coin); }
.mobile-cta { margin-top:.5rem; text-align:center; padding:8px; font-size:10px; }

/* === HERO === */
.hero-section { position:relative; overflow:hidden; padding:5rem 0 7rem; border-bottom:8px solid #000; background:#000; }
.hero-video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; opacity:.6; }
.hero-overlay { position:absolute; inset:0; background:rgba(0,0,0,.6); z-index:1; }
.hero-content { position:relative; z-index:2; display:flex; flex-direction:column; align-items:center; text-align:center; }
.hero-badge { display:inline-flex; align-items:center; gap:4px; padding:4px 12px; background:#000; color:var(--mario-coin); border:2px solid #fff; font-size:8px; letter-spacing:.1em; margin-bottom:1rem; }
.hero-title { color:#fff; font-size:1.5rem; line-height:1.6; margin-bottom:1.5rem; letter-spacing:.05em; text-shadow:0 4px 0 rgba(0,0,0,.8); }
.hero-subtitle { max-width:640px; color:#fff; font-size:.875rem; margin-bottom:2rem; font-weight:600; text-shadow:0 2px 2px rgba(0,0,0,.6); line-height:1.7; }
.hero-cta-row { display:flex; flex-direction:column; gap:1rem; width:100%; max-width:400px; }
.hero-btn { width:100%; padding:14px 32px; font-size:12px; letter-spacing:.08em; text-align:center; }
.hero-hud { margin-top:2rem; display:flex; align-items:center; gap:.5rem; background:rgba(0,0,0,.4); color:#fff; font-size:9px; padding:6px 12px; border-radius:999px; user-select:none; }
.sparkle-icon { color:var(--mario-coin); }
.hero-pipe { position:absolute; bottom:48px; right:2rem; display:none; flex-direction:column; align-items:center; z-index:10; }
.ground-border { position:absolute; bottom:0; left:0; width:100%; z-index:20; display:flex; flex-direction:column; }
.grass-strip { width:100%; height:8px; background:var(--mario-grass); border-top:2px solid #000; border-bottom:2px solid #000; }
.soil-strip { width:100%; height:40px; }

/* === TWINKLE STARS === */
.twinkle { position:absolute; color:#fff; pointer-events:none; font-size:14px; }
.tw1 { top:3rem; left:10%; opacity:.4; }
.tw2 { top:8rem; right:15%; opacity:.6; }
.tw3 { bottom:5rem; left:20%; opacity:.3; }
.tw4 { bottom:10rem; right:8%; opacity:.5; }
.ft1 { top:4rem; left:20%; opacity:.2; }
.ft2 { top:7rem; right:30%; opacity:.45; }

/* === PRODUCTS SECTION === */
.section-products { background:var(--mario-dark); color:#fff; padding:5rem 0; position:relative; border-bottom:8px solid #000; overflow:hidden; }
.section-header { text-align:center; margin-bottom:3rem; }
.section-badge { display:inline-block; background:rgba(0,0,0,.6); border:2px solid rgba(255,215,0,.5); padding:6px 16px; border-radius:999px; margin-bottom:1rem; font-size:8px; color:var(--mario-coin); letter-spacing:.1em; }
.section-title { color:#fff; font-size:.875rem; letter-spacing:.05em; margin-bottom:.75rem; text-shadow:0 2px 0 #000; }
.section-desc { color:#d1d5db; max-width:640px; margin:0 auto; font-size:.75rem; margin-top:.5rem; }

/* Products Grid */
.products-grid { display:flex; flex-wrap:wrap; gap:1rem; justify-content:center; align-items:center; }
.product-card {
  display:block;
  width:100%;
  max-width:320px;
  border:none;
  border-radius:8px; overflow:hidden;
  box-shadow:0 10px 30px rgba(0,0,0,.4);
  transition:transform .3s;
}

.card-image { position:relative; aspect-ratio:1/1; width:100%; overflow:hidden; background:#18181b; }
.card-image img { width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.card-image-overlay { position:absolute; inset:0; background:linear-gradient(to top,rgba(0,0,0,.4),transparent); }

/* === CANECAS SECTIONS === */
.section-canecas { padding:5rem 0; position:relative; overflow:hidden; border-bottom:8px solid #000; }

/* Homepage canecas geek section - Mario Bros sky/brick theme */
.section-canecas-home {
  color:#0a0a1a;
  background-color:#5c94fc;
  background-image:
    radial-gradient(circle at 15% 20%, #fff 0 32px, transparent 33px),
    radial-gradient(circle at 15% 20%, #fff 0 24px, transparent 25px) 28px 8px / 90px 90px,
    radial-gradient(circle at 80% 55%, #fff 0 36px, transparent 37px),
    linear-gradient(#c84c0c 25%, transparent 25% 50%, #c84c0c 50% 75%, transparent 75%),
    linear-gradient(90deg, #a03409 0 4px, transparent 4px);
  background-size: 260px 220px, 260px 220px, 320px 240px, 64px 32px, 64px 32px;
  background-position: 0 20px, 40px 40px, 120px 60px, 0 0, 0 0;
  background-repeat: no-repeat, no-repeat, no-repeat, repeat, repeat;
  background-blend-mode: normal, normal, normal, multiply, multiply;
}
.section-canecas-home::before {
  content:"";
  position:absolute; inset:0;
  background:
    linear-gradient(180deg, rgba(92,148,252,0.85) 0%, rgba(92,148,252,0.4) 55%, rgba(0,0,0,0.15) 100%),
    repeating-linear-gradient(90deg, transparent 0 62px, rgba(0,0,0,0.08) 62px 64px),
    repeating-linear-gradient(0deg, transparent 0 30px, rgba(0,0,0,0.08) 30px 32px);
  pointer-events:none;
  z-index:0;
}
.section-canecas-home .container { position:relative; z-index:1; }
.section-canecas-home .section-title,
.section-canecas-home .section-desc { color:#0a0a1a; text-shadow:none; }
.section-canecas-home .section-badge { background:#e52521; color:#fff; border:3px solid #000; box-shadow:4px 4px 0 #000; }

/* Catalog pages - dark blue theme */
.section-canecas-geek {
  color:#fff;
  background-color:#0f172a;
  background-image:
    radial-gradient(circle at 15% 20%, rgba(255,255,255,.05) 0 32px, transparent 33px),
    radial-gradient(circle at 80% 55%, rgba(255,255,255,.05) 0 36px, transparent 37px),
    linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px);
  background-size: 260px 220px, 320px 240px, 40px 40px, 40px 40px;
  background-position: 0 20px, 120px 60px, 0 0, 0 0;
  background-repeat: no-repeat, no-repeat, repeat, repeat;
}
.section-canecas-geek::before {
  content:"";
  position:absolute; inset:0;
  background: linear-gradient(180deg, rgba(15,23,42,.95) 0%, rgba(15,23,42,.85) 100%);
  pointer-events:none;
  z-index:0;
}
.section-canecas-geek .container { position:relative; z-index:1; }
.section-canecas-geek .section-title,
.section-canecas-geek .section-desc { color:#fff; text-shadow:none; }
.section-canecas-geek .section-badge { background:#1e3a8a; color:#fff; border:2px solid #3b82f6; }
.section-canecas-times { background:linear-gradient(135deg, #f8f8ff 0%, #e8f5e9 100%); color:var(--mario-dark); }

.canecas-times-badge {
  display:inline-block; background:rgba(30,122,30,.15); border:2px solid rgba(30,122,30,.5);
  padding:6px 16px; border-radius:999px; margin-bottom:1rem; font-size:8px;
  color:var(--mario-pipe); letter-spacing:.1em;
}

/* Carousel wrapper */
.canecas-carousel-wrapper {
  position:relative; display:flex; align-items:center; gap:.5rem;
}
.canecas-carousel {
  display:flex; gap:1rem; overflow-x:auto; scroll-behavior:smooth;
  padding:1rem .5rem 1.5rem; -ms-overflow-style:none; scrollbar-width:none;
  scroll-snap-type:x mandatory;
}
.canecas-carousel::-webkit-scrollbar { display:none; }

/* Carousel buttons */
.carousel-btn {
  flex-shrink:0; width:40px; height:40px; border-radius:50%;
  background:rgba(255,255,255,.15); backdrop-filter:blur(8px);
  border:2px solid rgba(255,255,255,.3); color:#fff; font-size:14px;
  display:flex; align-items:center; justify-content:center;
  cursor:pointer; transition:all .2s; z-index:5;
}
.carousel-btn:hover { background:var(--mario-coin); color:var(--mario-dark); border-color:var(--mario-coin); transform:scale(1.1); }
.carousel-btn-dark { background:rgba(0,0,0,.1); border-color:rgba(0,0,0,.2); color:var(--mario-dark); }
.carousel-btn-dark:hover { background:var(--mario-grass); color:#fff; border-color:var(--mario-grass); }

/* Caneca card (geek) */
.caneca-card {
  flex-shrink:0; width:220px; border-radius:12px; overflow:hidden;
  background:rgba(255,255,255,.08); backdrop-filter:blur(10px);
  border:2px solid rgba(255,255,255,.12);
  box-shadow:0 8px 32px rgba(0,0,0,.3);
  transition:all .3s cubic-bezier(.25,.8,.25,1);
  scroll-snap-align:start; text-decoration:none; color:inherit;
  display:block;
}
.caneca-card:hover {
  transform:translateY(-8px) scale(1.02);
  box-shadow:0 16px 48px rgba(255,215,0,.2);
  border-color:rgba(255,215,0,.4);
}

.caneca-card-img {
  position:relative; width:100%; aspect-ratio:1/1; overflow:hidden; background:#18181b;
}
.caneca-card-img img {
  width:100%; height:100%; object-fit:cover; transition:transform .5s;
}
.caneca-card:hover .caneca-card-img img { transform:scale(1.1); }

.caneca-badge-franchise {
  position:absolute; bottom:8px; left:8px;
  background:rgba(0,0,0,.75); backdrop-filter:blur(6px);
  color:var(--mario-coin); font-size:7px; padding:3px 8px;
  border-radius:4px; border:1px solid rgba(255,215,0,.3);
  letter-spacing:.05em;
}

.caneca-card-info { padding:.75rem; }
.caneca-name { font-size:.8rem; font-weight:700; margin-bottom:.35rem; line-height:1.3; color:#fff; }
.caneca-price { font-size:10px; color:var(--mario-coin); display:block; }

/* Caneca card (times - light theme) */
.caneca-card-times {
  background:rgba(255,255,255,.9); backdrop-filter:blur(10px);
  border:2px solid rgba(0,0,0,.08);
  box-shadow:0 4px 20px rgba(0,0,0,.08);
}
.caneca-card-times:hover {
  box-shadow:0 12px 40px rgba(30,122,30,.15);
  border-color:rgba(30,122,30,.3);
}

.caneca-times-img {
  background:linear-gradient(135deg, #1a472a 0%, #2d8b4e 50%, #1a472a 100%);
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.5rem;
}
.caneca-times-emblem { font-size:3rem; filter:drop-shadow(0 4px 8px rgba(0,0,0,.3)); }
.caneca-badge-team {
  background:rgba(0,0,0,.5); backdrop-filter:blur(6px);
  color:#fff; font-size:8px; padding:4px 10px;
  border-radius:4px; border:1px solid rgba(255,255,255,.2);
  letter-spacing:.05em;
}

.caneca-times-info { background:#fff; }
.caneca-card-times .caneca-name { color:var(--mario-dark); }
.caneca-price-team { font-size:9px; color:var(--mario-grass); display:block; }

/* CTA row */
.canecas-cta-row { display:flex; justify-content:center; margin-top:2rem; }
.canecas-cta-btn { padding:12px 24px; font-size:10px; letter-spacing:.05em; }

/* === RENTAL SECTION === */
.section-rental { background:var(--mario-grass); color:#fff; padding:5rem 0; position:relative; border-bottom:8px solid #000; }
.rental-grass-top { position:absolute; top:0; left:0; width:100%; height:16px; background:rgba(30,122,30,.4); }
.rental-desc { color:rgba(255,255,255,.95); max-width:640px; margin:0 auto; font-size:.875rem; line-height:1.7; margin-top:1rem; font-weight:600; text-shadow:0 1px 1px rgba(0,0,0,.2); text-align:center; }
.plans-grid { display:grid; grid-template-columns:1fr; gap:2rem; margin-top:2rem; }
.plan-card {
  background:var(--mario-dark); border:4px solid; border-radius:8px;
  padding:1.5rem; display:flex; flex-direction:column;
  box-shadow:0 20px 60px rgba(0,0,0,.3); position:relative;
  transition:transform .3s; cursor:pointer;
}
.plan-card:hover { transform:translateY(-8px); }
.plan-card.border-red { border-color:rgba(229,34,34,.8); }
.plan-card.border-coin { border-color:var(--mario-coin); }
.plan-card.border-green { border-color:#065f46; }
.plan-tag { position:absolute; top:-14px; right:24px; background:#000; color:#fff; font-size:7px; border:2px solid #fff; padding:2px 8px; border-radius:4px; }
.plan-header { display:flex; align-items:center; gap:.75rem; margin-bottom:1.5rem; border-bottom:4px dashed rgba(255,255,255,.2); padding-bottom:1rem; }
.plan-icon { font-size:28px; transition:transform .2s; }
.plan-card:hover .plan-icon { transform:scale(1.15); }
.plan-name { font-size:11px; color:var(--mario-coin); }
.plan-duration { font-size:8px; color:#34d399; margin-top:4px; display:block; }
.plan-price-box { margin-bottom:1.5rem; display:flex; align-items:baseline; gap:4px; background:rgba(0,0,0,.4); padding:.75rem; border-radius:4px; border:2px solid rgba(255,255,255,.1); justify-content:center; }
.plan-price { font-size:16px; color:var(--mario-coin); }
.plan-price-label { font-size:12px; color:#d1d5db; }
.plan-benefits { margin-bottom:2rem; flex-grow:1; display:flex; flex-direction:column; gap:.75rem; }
.plan-benefit { display:flex; align-items:flex-start; gap:.5rem; font-size:12px; color:#e5e7eb; }
.plan-benefit .check { color:var(--mario-coin); flex-shrink:0; font-weight:700; }
.plan-cta { text-align:center; margin-top:auto; padding-top:1rem; border-top:1px solid rgba(255,255,255,.1); padding:.5rem; border-radius:4px; transition:background .2s; }
.plan-card:hover .plan-cta { background:rgba(255,255,255,.05); }
.plan-cta-text { font-size:8px; color:var(--mario-coin); transition:color .2s; }
.plan-card:hover .plan-cta-text { color:#fff; }
.rental-special { margin-top:2.5rem; text-align:center; background:rgba(0,0,0,.2); padding:1rem; border:1px solid rgba(255,255,255,.1); border-radius:4px; max-width:36rem; margin-left:auto; margin-right:auto; color:#fff; font-size:12px; font-weight:600; }

/* === ABOUT SECTION === */
.section-about { background:#fff; padding:5rem 0; border-bottom:8px solid #000; }
.about-grid { display:grid; grid-template-columns:1fr; gap:3rem; align-items:center; }
.about-badge { display:inline-flex; align-items:center; gap:6px; padding:4px 12px; background:var(--mario-dark); color:var(--mario-coin); border:2px solid #000; font-size:8px; letter-spacing:.08em; margin-bottom:1rem; }
.about-title { font-size:1.25rem; color:var(--mario-dark); margin-bottom:1.5rem; line-height:1.4; letter-spacing:.04em; }
.about-paragraphs { display:flex; flex-direction:column; gap:1rem; font-size:.875rem; line-height:1.7; font-weight:500; color:var(--mario-text); }
.about-pillars { display:grid; grid-template-columns:1fr; gap:1rem; margin-top:2rem; padding-top:1.5rem; border-top:1px solid #e5e7eb; }
.pillar {
  display:flex; align-items:center; gap:.5rem;
  background:#fff; padding:.75rem;
  border:2px solid #000; border-radius:4px;
  box-shadow: 2px 2px 0 #000;
}
.pillar-icon { font-size:20px; flex-shrink:0; }
.pillar span:last-child {
  font-size:7px; font-weight:700; color:#1f2937;
  font-family:"Press Start 2P", monospace;
  letter-spacing: 0.05em;
}

/* === RETRO TV / CRT SCREEN === */
.about-tv-container {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
}
.retro-tv {
  background: #374151; /* Dark grey casing */
  border: 4px solid #000;
  border-radius: 12px;
  padding: 1rem 3.5rem 1rem 1rem; /* extra right padding for dials */
  position: relative;
  box-shadow: 0 20px 40px rgba(0,0,0,0.3), inset 2px 2px 0 rgba(255,255,255,0.1);
  aspect-ratio: 4/3;
  width: 100%;
  max-width: 440px;
}

.tv-screen-border {
  background: #000;
  border: 4px solid #1f2937;
  border-radius: 8px;
  height: 100%;
  position: relative;
  overflow: hidden;
}

.tv-scanlines {
  position: absolute;
  inset: 0;
  background: linear-gradient(rgba(18, 16, 16, 0) 50%, rgba(0, 0, 0, 0.2) 50%);
  background-size: 100% 4px;
  z-index: 10;
  pointer-events: none;
}

.tv-glare {
  position: absolute;
  top: 0; left: 0; right: 0; height: 50%;
  background: linear-gradient(to bottom, rgba(255,255,255,0.12) 0%, rgba(255,255,255,0) 100%);
  transform: skewY(-15deg) translateY(-20%);
  z-index: 9;
  pointer-events: none;
}

.tv-screen-content {
  background: #0d1117;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 0.75rem;
  box-sizing: border-box;
}

.tv-header {
  font-size: 8px;
  color: var(--mario-coin);
  text-align: center;
  margin-bottom: 0.5rem;
}

.tv-details {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.tv-stage-row {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
}

.tv-icon {
  font-size: 14px;
  flex-shrink: 0;
}

.tv-stage-info {
  display: flex;
  flex-direction: column;
  text-align: left;
}

.tv-stage-title {
  font-size: 7px;
  color: #fff;
  margin-bottom: 2px;
}

.tv-stage-desc {
  font-size: 9px;
  color: #9ca3af;
  line-height: 1.4;
  font-family: "Nunito", sans-serif;
  font-weight: 600;
}

.tv-footer {
  text-align: center;
}

.tv-insert-coin {
  font-size: 6px;
  color: var(--mario-red);
  letter-spacing: 0.04em;
  animation: pulse 1.5s infinite;
}

/* TV Controls */
.tv-controls {
  position: absolute;
  top: 1rem;
  right: 0.75rem;
  width: 2.25rem;
  height: calc(100% - 2rem);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
}

.tv-speaker-grill {
  display: flex;
  flex-direction: column;
  gap: 3px;
  width: 1.25rem;
}

.tv-speaker-grill span {
  height: 2px;
  background: #1f2937;
  border-radius: 999px;
  width: 100%;
}

.tv-knob {
  width: 16px;
  height: 16px;
  background: #1f2937;
  border: 2px solid #000;
  border-radius: 50%;
  position: relative;
}

.tv-knob::after {
  content: '';
  position: absolute;
  top: 1px;
  left: 50%;
  transform: translateX(-50%);
  width: 2px;
  height: 5px;
  background: #000;
}

.dial-1 { transform: rotate(35deg); }
.dial-2 { transform: rotate(-45deg); }

.tv-power-light {
  width: 5px;
  height: 5px;
  background: #ff3b30;
  border-radius: 50%;
  box-shadow: 0 0 6px #ff3b30;
  margin-top: auto;
}

/* === FAQ SECTION === */
.section-faq { background:var(--mario-dark); color:#fff; padding:5rem 0; border-bottom:8px solid #000; }
.faq-list { display:flex; flex-direction:column; gap:1rem; }
.faq-item { background:rgba(0,0,0,.3); border:4px solid rgba(255,255,255,.1); border-radius:8px; overflow:hidden; transition:all .3s; }
.faq-header {
  width:100%; text-align:left; padding:1rem; display:flex; align-items:center; justify-content:space-between; gap:1rem;
  font-weight:600; font-size:.875rem; color:#f3f4f6; cursor:pointer;
  transition:background .2s; background:none; border:none; font-family:"Nunito",sans-serif;
}
.faq-header:hover { background:rgba(255,255,255,.05); }
.faq-header-left { display:flex; align-items:center; gap:.75rem; }
.faq-block {
  width:32px; height:32px; flex-shrink:0; display:flex; align-items:center; justify-content:center;
  border-radius:4px; border:2px solid #000; transition:background .2s;
  background:var(--mario-coin); color:var(--mario-dark); font-size:14px;
}
.faq-item.open .faq-block { background:var(--mario-red); color:#fff; }
.faq-chevron { flex-shrink:0; font-size:14px; color:#9ca3af; transition:transform .3s; }
.faq-item.open .faq-chevron { transform:rotate(180deg); color:var(--mario-coin); }
.faq-answer { max-height:0; overflow:hidden; transition:max-height .3s ease; }
.faq-item.open .faq-answer { max-height:240px; border-top:1px solid rgba(255,255,255,.1); }
.faq-answer-inner { padding:1.25rem; color:#d1d5db; font-size:12px; line-height:1.7; background:rgba(0,0,0,.1); }

/* === MAINTENANCE SECTION === */
.section-maintenance { background:var(--mario-sky); color:var(--mario-text); padding:5rem 0; position:relative; border-bottom:8px solid #000; overflow:hidden; }
.maintenance-badge { display:inline-flex; align-items:center; gap:6px; padding:4px 12px; background:var(--mario-dark); color:var(--mario-coin); border:2px solid #000; font-size:8px; letter-spacing:.08em; margin-bottom:1rem; }
.maintenance-title { font-size:1.25rem; color:var(--mario-dark); margin-bottom:1.5rem; line-height:1.4; letter-spacing:.04em; text-shadow:2px 2px 0 #fff; }
.maintenance-desc { color:var(--mario-dark); max-width:640px; margin:0 auto 3rem; font-size:.875rem; line-height:1.7; font-weight:700; text-align:center; }
.maintenance-grid { display:grid; grid-template-columns:1fr; gap:3rem; align-items:center; }
.luigi-card {
  background:var(--mario-dark); border:4px solid var(--mario-pipe);
  padding:2rem; border-radius:8px; color:#fff;
  box-shadow:0 20px 60px rgba(0,0,0,.3); position:relative;
}
.luigi-card-tag { position:absolute; top:-14px; left:24px; background:var(--mario-pipe); color:#fff; font-size:7px; border:2px solid #fff; padding:2px 8px; border-radius:4px; }
.luigi-list { display:flex; flex-direction:column; gap:1.25rem; }
.luigi-item { display:flex; align-items:flex-start; gap:.75rem; }
.luigi-icon { font-size:24px; flex-shrink:0; }
.luigi-item-title { font-size:10px; color:var(--mario-coin); margin-bottom:4px; letter-spacing:.02em; }
.luigi-item-desc { font-size:12px; color:#d1d5db; line-height:1.6; font-family:"Nunito",sans-serif; }

.luigi-block-card {
  background:#fcb42c; border:4px solid #000;
  box-shadow:inset -4px -4px 0 0 #b05400, inset 4px 4px 0 0 #ffe484;
  padding:2.5rem 2rem; border-radius:12px; text-align:center;
  display:flex; flex-direction:column; align-items:center; gap:1.5rem;
  position:relative;
}
.luigi-block-tag { position:absolute; top:-14px; left:50%; transform:translateX(-50%); background:#000; color:#fff; font-size:7px; border:2px solid #fff; padding:2px 8px; border-radius:4px; }
.luigi-block-title { font-size:11px; color:#fff; text-shadow:2px 2px 0 #000; line-height:1.6; }
.luigi-block-desc { font-size:13px; color:var(--mario-text); font-weight:800; line-height:1.6; font-family:"Nunito",sans-serif; }
.luigi-btn { padding:14px 28px; font-size:10px; width:100%; }

/* === SHIPPING SECTION === */
.section-shipping {
  background-color: #fff;
  background-image: linear-gradient(rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0.9)), url('/pattern.png');
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  color:var(--mario-text); padding:5rem 0; position:relative; border-bottom:8px solid #000; overflow:hidden;
}
.shipping-badge { display:inline-flex; align-items:center; gap:6px; padding:4px 12px; background:var(--mario-dark); color:var(--mario-coin); border:2px solid #000; font-size:8px; letter-spacing:.08em; margin-bottom:1rem; }
.shipping-title { font-size:1.25rem; color:var(--mario-dark); margin-bottom:1.5rem; line-height:1.4; letter-spacing:.04em; }
.shipping-desc { color:var(--mario-text); max-width:640px; margin:0 auto 3rem; font-size:.875rem; line-height:1.7; font-weight:700; text-align:center; }
.shipping-grid { display:grid; grid-template-columns:1fr; gap:3rem; align-items:stretch; }
.shipping-card {
  background:rgba(255, 255, 255, 0.95); border:4px solid var(--mario-red);
  padding:2rem; border-radius:8px; color:var(--mario-dark);
  box-shadow:0 20px 40px rgba(0,0,0,0.1); position:relative;
  display:flex; flex-direction:column; justify-content:space-between;
}
.shipping-card-tag { position:absolute; top:-14px; left:24px; background:var(--mario-red); color:#fff; font-size:7px; border:2px solid #fff; padding:2px 8px; border-radius:4px; }
.shopee-card {
  background:rgba(255, 255, 255, 0.95); border:4px solid #f97316; /* Shopee Orange */
  padding:2rem; border-radius:8px; color:var(--mario-dark);
  box-shadow:0 20px 40px rgba(0,0,0,0.1); position:relative;
  display:flex; flex-direction:column; justify-content:space-between;
}
.shopee-card-tag { position:absolute; top:-14px; left:24px; background:#f97316; color:#fff; font-size:7px; border:2px solid #fff; padding:2px 8px; border-radius:4px; }
.shopee-logo-badge { font-size:12px; font-weight:900; color:#f97316; letter-spacing:.05em; display:flex; align-items:center; gap:8px; margin-bottom:1rem; }
.shopee-btn { padding:14px 28px; font-size:10px; width:100%; margin-top:1.5rem; }

.shipping-card .luigi-item-title { color:var(--mario-red); font-weight:700; }
.shopee-card .luigi-item-title { color:#f97316; font-weight:700; }
.shipping-card .luigi-item-desc,
.shopee-card .luigi-item-desc { color:#4b5563; }

/* === CONTACT SECTION === */
.section-contact { background:var(--mario-cloud); padding:5rem 0; border-bottom:8px solid #000; }
.contact-grid { display:grid; grid-template-columns:1fr; gap:3rem; align-items:stretch; }
.contact-card { background:#fff; border:4px solid #000; padding:1.5rem 2rem; border-radius:8px; box-shadow:0 10px 40px rgba(0,0,0,.1); display:flex; flex-direction:column; justify-content:space-between; }
.contact-badge { display:inline-flex; align-items:center; gap:6px; padding:4px 12px; background:var(--mario-dark); color:var(--mario-coin); border:2px solid #000; font-size:8px; letter-spacing:.08em; margin-bottom:1.5rem; }
.contact-title { font-size:.875rem; color:var(--mario-dark); margin-bottom:2rem; line-height:1.4; }
.contact-items { display:flex; flex-direction:column; gap:1.5rem; font-size:.875rem; font-weight:500; }
.contact-item { display:flex; align-items:flex-start; gap:.75rem; }
.contact-icon { font-size:20px; flex-shrink:0; margin-top:2px; }
.contact-label { display:block; color:#6b7280; font-size:8px; letter-spacing:.06em; margin-bottom:4px; text-transform:uppercase; }
.contact-value { color:var(--mario-dark); font-weight:600; }
.contact-link { color:var(--mario-dark); font-weight:600; text-decoration:none; transition:color .2s; }
.contact-link:hover { color:var(--mario-red); text-decoration:underline; }
.contact-actions { margin-top:2rem; padding-top:1.5rem; border-top:1px solid #f3f4f6; display:flex; flex-direction:column; gap:1rem; }
.contact-action-btn { flex:1; padding:12px; font-size:10px; display:flex; align-items:center; justify-content:center; gap:.5rem; }
.contact-map-wrapper { display:flex; flex-direction:column; }
.map-frame { background:#000; flex-grow:1; border-radius:8px; overflow:hidden; box-shadow:0 20px 60px rgba(0,0,0,.2); min-height:350px; position:relative; }
.map-iframe { width:100%; height:100%; border:0; position:absolute; inset:0; }
.map-caption { color:#6b7280; font-size:12px; text-align:center; margin-top:.75rem; font-weight:600; font-style:italic; }

/* === FOOTER === */
.footer { background:var(--mario-dark); color:#fff; padding-top:4rem; padding-bottom:2rem; position:relative; overflow:hidden; }
.footer-bricks { position:absolute; top:0; left:0; width:100%; display:flex; overflow:hidden; z-index:10; height:24px; }
.footer-content { position:relative; z-index:20; }
.footer-grid { display:grid; grid-template-columns:1fr; gap:3rem; align-items:flex-start; margin-bottom:3rem; }
.footer-brand {}
.footer-logo { height:20px; width:auto; object-fit:contain; margin-bottom:1rem; }
.footer-desc { font-size:12px; color:#9ca3af; max-width:20rem; line-height:1.7; margin-top:1rem; }
.footer-slogan { margin-top:.75rem; font-weight:600; font-size:12px; color:var(--mario-coin); font-style:italic; display:flex; align-items:center; gap:6px; }
.footer-links { display:flex; flex-direction:column; gap:.75rem; font-size:9px; color:#d1d5db; }
.footer-links-title { color:var(--mario-red); font-size:10px; letter-spacing:.06em; margin-bottom:.5rem; text-transform:uppercase; display:block; }
.footer-link { transition:color .2s; }
.footer-link:hover { color:var(--mario-coin); }
.footer-contact { display:flex; flex-direction:column; gap:.75rem; }
.footer-contact-title { color:var(--mario-coin); font-size:10px; letter-spacing:.06em; margin-bottom:.5rem; text-transform:uppercase; display:block; }
.footer-contact-item { font-size:12px; color:#9ca3af; display:flex; align-items:center; gap:10px; }
.footer-insta-link { color:inherit; font-weight:inherit; transition:color .2s; }
.footer-insta-link:hover { color:#fff; text-decoration:underline; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.1); padding-top:1.5rem; display:flex; flex-direction:column; align-items:center; gap:1rem; font-size:12px; color:#9ca3af; text-align:center; }
.proton-link { color:var(--mario-red); font-weight:700; transition:color .2s; }
.proton-link:hover { color:var(--mario-coin); }

/* === MODAL === */
.modal-overlay {
  position:fixed; inset:0; background:rgba(0,0,0,.8);
  display:none; align-items:center; justify-content:center;
  z-index:50; padding:1rem;
}
.modal-overlay.open { display:flex; animation:scaleUp .3s ease-out; }
.modal-card { background:#fff; border:4px solid #000; padding:1.5rem; max-width:28rem; width:100%; border-radius:8px; box-shadow:0 20px 60px rgba(0,0,0,.3); position:relative; color:var(--mario-text); }
.modal-tag { position:absolute; top:-14px; left:24px; background:var(--mario-red); color:#fff; font-size:7px; padding:2px 8px; border:2px solid #000; border-radius:4px; }
.modal-close { position:absolute; top:8px; right:8px; color:#9ca3af; padding:8px; font-size:18px; transition:color .2s; background:none; border:none; cursor:pointer; }
.modal-close:hover { color:#000; }
.modal-title { font-size:12px; color:var(--mario-dark); margin-bottom:1rem; margin-top:.5rem; }
.modal-desc { font-size:12px; color:#4b5563; margin-bottom:1.5rem; line-height:1.7; }
.modal-actions { display:flex; gap:1rem; }
.modal-btn { flex:1; padding:8px; font-size:9px; }

/* === RESPONSIVE === */
@media (min-width: 640px) {
  .hide-mobile { display:inline; }
  .hero-title { font-size:1.875rem; }
  .hero-cta-row { flex-direction:row; }
  .hero-btn { width:auto; }
  .about-pillars { grid-template-columns:repeat(3,1fr); }
  .contact-actions { flex-direction:row; }
  .footer-bottom { flex-direction:row; justify-content:space-between; }
}

@media (min-width: 768px) {
  .logo-img { height:20px; }
  .header-cta { display:inline-block; }
  .hero-title { font-size:2.25rem; }
  .hero-subtitle { font-size:1.125rem; }
  .section-title { font-size:1.125rem; }
  .section-desc { font-size:.875rem; }
  .plans-grid { grid-template-columns:repeat(3,1fr); }
  .bag-quote-box { padding:1.5rem 2rem; }
  .bag-quote-inner { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; }
  .contact-card { padding:1.5rem 2rem; }
}

@media (min-width: 1024px) {
  .nav-desktop { display:flex; }
  .mobile-menu-btn { display:none; }
  .hero-pipe { display:flex; }
  .about-grid { grid-template-columns:1fr 1fr; }
  .maintenance-grid { grid-template-columns:1fr 1fr; }
  .shipping-grid { grid-template-columns:1fr 1fr; }
  .contact-grid { grid-template-columns:1fr 1fr; }
  .footer-grid { grid-template-columns:1fr 1fr 1fr; }
}


/* ============ CANECAS PAGE (grid completo) ============ */
.canecas-back-link {
  display:inline-block;
  color:#fbbf24;
  text-decoration:none;
  font-size:.7rem;
  padding:.5rem 1rem;
  border:2px solid currentColor;
  margin-bottom:1.25rem;
  transition:all .2s;
}
.canecas-back-link:hover {
  background:#fbbf24;
  color:#0f172a;
}

.canecas-grid {
  display:grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap:1rem;
  padding:1rem .5rem 1.5rem;
}
.canecas-grid .caneca-card { width:100%; }
@media (max-width: 640px) {
  .canecas-grid { grid-template-columns: repeat(2, 1fr); gap:.75rem; }
}

/* On times page, images must show (override emblem gradient) */
.section-canecas-times .caneca-card-img {
  background:#f4f7f5;
}
.section-canecas-times .caneca-card-img img { object-fit:contain; padding:.5rem; }

/* Fotos dos times (fundo branco original) sobre o tema escuro */
#canecas-times.section-canecas-geek .caneca-card-img { background:#fff; }
#canecas-times.section-canecas-geek .caneca-card-img img { object-fit:contain; padding:.5rem; }
