:root{ --cream:#F4F1EA; --ink:#1E2430; --accent:#E6C15A; --deep:#2C4A6E; --paper:#6E757C; }
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Red Hat Text",Georgia,serif;background:var(--cream);color:var(--ink);line-height:1.6}
h1,h2,h3,.rail-display{font-family:"Red Hat Display",Georgia,serif;line-height:1.15;margin:0 0 .6em}
a{color:inherit}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.skip-link{position:absolute;left:-999px;top:0;background:var(--ink);color:var(--cream);padding:.6em 1em;z-index:99}
.skip-link:focus{left:0}
.wrap{max-width:1180px;margin:0 auto;padding:0 1.1rem}
.brand-name{font-size:clamp(1.35rem,3vw,1.85rem);font-weight:700;letter-spacing:.01em}
.btn{display:inline-block;background:var(--ink);color:var(--cream);border:2px solid var(--ink);padding:.7em 1.3em;border-radius:6px;font-weight:700;cursor:pointer;text-decoration:none}
.btn:hover{background:transparent;color:var(--ink)}
.btn-wide{width:100%;text-align:center}
.field{width:100%;padding:.7em .8em;border:2px solid var(--ink);border-radius:6px;background:#fff;color:#111;font-size:1rem}
label{font-weight:600}
.checkbox-line{display:flex;gap:.6em;align-items:flex-start;font-weight:400;font-size:.92rem;margin:.5em 0}
.checkbox-line.full{grid-column:1/-1}
.checkbox-line a{text-decoration:underline}
.filters{display:flex;flex-wrap:wrap;gap:.5em;margin:1em 0}
.filters button{border:2px solid var(--ink);background:transparent;color:var(--ink);padding:.5em .9em;border-radius:99px;cursor:pointer;font-weight:600}
.filters button.is-active,.filters button[aria-pressed="true"]{background:var(--ink);color:var(--cream)}
.product-detail{display:grid;gap:1.4rem;grid-template-columns:1fr}
@media(min-width:860px){.product-detail{grid-template-columns:1fr 1fr}}
.cart-layout,.checkout-layout,.contact-layout{display:grid;gap:1.4rem;grid-template-columns:1fr}
@media(min-width:900px){.cart-layout{grid-template-columns:1.4fr 1fr}.checkout-layout{grid-template-columns:1.4fr 1fr}.contact-layout{grid-template-columns:1.2fr 1fr}}
.ticket-form{display:grid;gap:.8em;background:var(--paper);border:2px solid var(--ink);border-radius:10px;padding:1.1rem}
.pay-option{display:block;border:2px solid var(--ink);border-radius:8px;padding:.8em;margin:.5em 0;background:#fff}
.pay-option input{margin-right:.6em}
.legal-wrap{display:grid;gap:1.2rem;grid-template-columns:1fr}
@media(min-width:900px){.legal-wrap{grid-template-columns:240px 1fr}}
.legal-nav{border:2px solid var(--ink);border-radius:10px;background:var(--paper);padding:1rem;align-self:start;position:sticky;top:1rem}
.legal-nav a{display:block;padding:.4em 0;text-decoration:underline}
.legal-article{background:#fff;border:2px solid var(--ink);border-radius:10px;padding:1.4rem;font-family:"Red Hat Text",Verdana,sans-serif;line-height:1.7}
.legal-page{background:var(--cream)}
.toast{position:fixed;left:50%;bottom:1.2rem;transform:translateX(-50%);background:var(--ink);color:var(--cream);padding:.8em 1.2em;border-radius:8px;z-index:99;max-width:90vw}
.menu-toggle{display:inline-block;border:2px solid currentColor;background:transparent;padding:.5em .9em;border-radius:6px;cursor:pointer;font-weight:700}
.site-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:1em;flex-wrap:wrap}
@media(max-width:760px){.site-nav{display:none}.site-nav.is-open{display:block}.site-nav ul{flex-direction:column}}
footer.site-footer a,footer.rail-footer a{text-decoration:underline}
.summary-row{display:flex;justify-content:space-between;gap:1em;padding:.3em 0}
.quantity{display:flex;gap:.6em;align-items:center;margin:.5em 0}
.quantity button{width:2em;height:2em;border-radius:6px;border:2px solid var(--ink);background:#fff;cursor:pointer;font-weight:700}
.remove-btn{background:transparent;border:none;text-decoration:underline;cursor:pointer;color:inherit}
.form-feedback{background:var(--deep);color:#fff;padding:.8em;border-radius:8px}
.lead{font-size:1.08rem}
img{max-width:100%;height:auto;display:block}
.rail-bar{background:#2C4A6E;color:#F4F1EA;padding:.5rem 0}
.rail-masthead{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:1rem 0;border-bottom:6px solid #2C4A6E}
.rail-hero{display:grid;gap:1rem;grid-template-columns:1fr}
@media(min-width:900px){.rail-hero{grid-template-columns:.8fr 1.2fr}}
.rail-trackline{height:10px;background:#2C4A6E;border-radius:99px;position:relative;margin:1rem 0}
.rail-track{display:flex;gap:1rem;overflow-x:auto;padding:1rem .2rem 1.6rem;scroll-snap-type:x mandatory}
.rail-ticket{flex:0 0 240px;background:#fff;border:3px solid #1E2430;border-radius:10px;padding:.7rem;scroll-snap-align:start;position:relative}
.rail-ticket:before{content:"";display:block;width:18px;height:18px;border:4px solid #6E757C;border-radius:50%;margin:-24px auto 8px;background:#F4F1EA}
.rail-ticket img{aspect-ratio:3/4;object-fit:cover;width:100%;border-radius:6px}
.rail-slip{background:#E6C15A;border:2px dashed #1E2430;border-radius:6px;padding:.3em .6em;font-weight:700;display:inline-block}
.rail-band{background:#E6C15A;border-top:4px solid #1E2430;border-bottom:4px solid #1E2430;padding:2rem 0}
.rail-footer{background:#1E2430;color:#F4F1EA;padding:2rem 0 1rem}
.rail-footer a{color:#fff}

::selection{background:var(--accent);color:#fff}
#conteudo{padding-bottom:2.5rem}
#conteudo>.wrap{padding-top:1rem}
.trust-row{display:flex;flex-wrap:wrap;gap:.5em;margin-top:1rem}
.trust-row span{border:2px solid var(--ink);border-radius:99px;padding:.25em .8em;font-size:.85rem;font-weight:600;background:var(--paper)}
.trust-row a{text-decoration:underline}
.cart-item{display:grid;grid-template-columns:110px 1fr;gap:1rem;background:var(--paper);border:2px solid var(--ink);border-radius:10px;padding:.8rem;margin-bottom:.9rem}
.cart-item img{border-radius:6px;aspect-ratio:3/4;object-fit:cover;width:100%}
.cart-item h2{font-size:1.05rem;margin:0 0 .3em}

body.skin-rail{background:linear-gradient(180deg,#F4F1EA 0 240px,#ece5d4 240px)}
body.skin-rail .wrap>h1 .wrap>h1,body.skin-rail .wrap>h1{display:inline-block;background:#E6C15A;border:3px dashed #1E2430;border-radius:8px;padding:.1em .5em}
.rail-bar{background:#2C4A6E;color:#F4F1EA}
.rail-bar .wrap{padding:.5rem 1.1rem;font-size:.78rem;letter-spacing:.24em}
.rail-masthead{display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"track track track" "cart brand menu" "nav nav nav";gap:.6rem;align-items:center;padding:.4rem 0 .9rem}
.rail-masthead .rail-trackline{grid-area:track;margin:.4rem 0}
.rail-masthead .cart-link{grid-area:cart;background:#E6C15A;border:2px dashed #1E2430;border-radius:6px;padding:.35em .8em;text-decoration:none;font-weight:700;justify-self:start}
.rail-ticketbrand{grid-area:brand;justify-self:center;display:flex;flex-direction:column;align-items:center;background:#fff;border:3px solid #1E2430;border-radius:10px;padding:.55em 1.1em .4em;text-decoration:none;text-align:center;position:relative}
.rail-ticketbrand::before{content:"";position:absolute;left:50%;top:-16px;transform:translateX(-50%);width:14px;height:14px;border:3px solid #6E757C;border-radius:50%;background:#F4F1EA;display:block}
.rail-masthead .menu-toggle{grid-area:menu;justify-self:end}
.rail-masthead .site-nav{grid-area:nav}
.rail-masthead .site-nav ul{gap:.7em;justify-content:center;align-items:flex-start}
.rail-masthead .site-nav li{flex:none}
.rail-masthead .site-nav a{display:inline-block;background:#fff;border:2px solid #1E2430;border-radius:0 0 10px 10px;padding:.7em 1em .75em;margin-top:18px;text-decoration:none;font-weight:700;position:relative;white-space:nowrap;text-align:center;line-height:1.2}
.rail-masthead .site-nav a::before{content:"";position:absolute;left:50%;top:-15px;transform:translateX(-50%);width:12px;height:12px;border:3px solid #6E757C;border-radius:50%;margin:0;background:#F4F1EA;display:block}
.rail-masthead .site-nav a[aria-current="page"]{background:#2C4A6E;color:#fff}
.skin-rail .btn{border-radius:0 0 10px 10px;border-width:3px}
.rail-ticket{transition:transform .15s ease}
.rail-ticket:hover{transform:translateY(-4px)}
.rail-band{background:#E6C15A;border-top:4px solid #1E2430;border-bottom:4px solid #1E2430;padding:2.4rem 0}
.rail-footstrip{height:12px;background:#2C4A6E;border-top:4px solid #1E2430;border-bottom:4px solid #1E2430}
.rail-footer{background:#1E2430;color:#F4F1EA;padding:0 0 1rem}
.rail-footer .wrap{padding-top:1.4rem}
.rail-cols{display:grid;gap:1rem;margin:1.2rem 0}
@media(min-width:800px){.rail-cols{grid-template-columns:1fr 1fr 1.4fr}}
.rail-steps{display:flex;gap:0;margin:1.8rem 0;overflow-x:auto}
.rail-steps>div{flex:1;min-width:180px;background:#fff;border:3px solid #1E2430;padding:.9rem;position:relative}
.rail-steps>div+div{border-left:none}
.rail-steps strong{display:block;color:#2C4A6E;font-size:1.4rem}
.product-detail>div:first-child{border:3px solid #1E2430;border-radius:0 0 16px 16px;overflow:hidden;position:relative}
.product-detail>div:first-child::before{content:"";display:block;height:10px;background:#2C4A6E}

.cart-link{display:inline-flex;align-items:center;gap:.45em;text-decoration:none;font-weight:600}
.cart-link strong{display:inline-flex;align-items:center;justify-content:center;min-width:1.7em;height:1.7em;border:2px solid currentColor;border-radius:99px;font-size:.9em;padding:0 .3em}
/* 129 dial: never overflow the viewport */
body.skin-dial{overflow-x:clip}
.dial-hero>*{min-width:0}
.dial-panel-big{grid-template-columns:repeat(3,minmax(0,1fr));max-width:100%}
.dial-gauge-big{min-width:0;width:100%;max-width:220px;justify-self:center;padding:.6rem;font-size:.9rem}
.dial-gauge-big img{max-width:120px}
/* 134 rail: hooks sit above the ticket, labels stay inside the border */
.rail-masthead{gap:.9rem;overflow:visible}
.rail-masthead .site-nav{margin-top:.35rem}
@media(max-width:760px){
  .rail-masthead .site-nav ul{align-items:stretch}
  .rail-masthead .site-nav li{flex:1 0 100%}
  .rail-masthead .site-nav a{display:block;width:100%;margin-top:0;text-align:left;border-radius:8px}
  .rail-masthead .site-nav a::before{content:none}
}
/* 135 spoke: catalog ring of 8 sectors around the hub */
.spoke-wheelcat{position:relative;display:grid;gap:.9rem;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:"s1 s2 s3" "s8 hub s4" "s7 s6 s5";max-width:980px;margin:0 auto;padding:3rem;border:10px solid #2B2B2B;border-radius:50%;background-color:#D5D8DC;background-image:repeating-conic-gradient(from 0deg at 50% 50%,rgba(43,43,43,.35) 0 1.2deg,transparent 1.2deg 45deg),radial-gradient(circle,#fff 0 9%,transparent 9.5%)}
.spoke-wheelcat::before{content:"";position:absolute;inset:1.6rem;border:3px dashed rgba(43,43,43,.45);border-radius:50%;pointer-events:none}
.spoke-wheelcat::after{content:"CUBO";grid-area:hub;align-self:center;justify-self:center;width:92px;height:92px;border-radius:50%;background:#2E5A45;color:#fff;border:4px solid #E07A2F;display:flex;align-items:center;justify-content:center;font-weight:800;z-index:2;pointer-events:none}
.spoke-wheelcat>.spoke-card:nth-child(1){grid-area:s1}.spoke-wheelcat>.spoke-card:nth-child(2){grid-area:s2}.spoke-wheelcat>.spoke-card:nth-child(3){grid-area:s3}.spoke-wheelcat>.spoke-card:nth-child(4){grid-area:s4}.spoke-wheelcat>.spoke-card:nth-child(5){grid-area:s5}.spoke-wheelcat>.spoke-card:nth-child(6){grid-area:s6}.spoke-wheelcat>.spoke-card:nth-child(7){grid-area:s7}.spoke-wheelcat>.spoke-card:nth-child(8){grid-area:s8}
.spoke-wheelcat>.spoke-card{font-size:.92rem;padding:.55rem}
.spoke-wheelcat>.spoke-card h3{font-size:.95rem}
@media(max-width:760px){.spoke-wheelcat{grid-template-columns:1fr 1fr;grid-template-areas:none;border-radius:24px;padding:1rem}.spoke-wheelcat>.spoke-card:nth-child(n){grid-area:auto}.spoke-wheelcat::after,.spoke-wheelcat::before{content:none}}
/* 128 hive: unmistakable honeycomb */
.hive-cell{padding:1.1rem .7rem;position:relative}
.hive-cell img{clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);max-width:230px;border:4px solid #6B3E26}
.hive-num{position:absolute;top:.5rem;left:50%;transform:translateX(-50%);background:#2A2118;color:#E6B325;font-weight:800;border-radius:99px;padding:.05em .7em;font-size:.8rem;z-index:2}
.hive-cell p:first-of-type{margin-top:1.2em}
@media(min-width:800px){.hive-frame{max-width:620px}.hive-cell:nth-child(even){transform:translateX(56px)}.hive-cell:nth-child(even):hover{transform:translateX(56px) scale(1.02)}}

