:root{ --cream:#F6F1E8; --ink:#1A1614; --accent:#C4A46A; --deep:#6A4A32; --paper:#8E2F2F; }
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Mulish",Georgia,serif;background:var(--cream);color:var(--ink);line-height:1.6}
h1,h2,h3,.hymn-display{font-family:"Cardo",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:"Mulish",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.hymn-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}
.hymn-beam{background:#6A4A32;color:#F6F1E8;padding:.6rem 0}
.hymn-masthead{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:1rem 0}
.hymn-hero{display:grid;gap:1rem;grid-template-columns:1fr}
@media(min-width:900px){.hymn-hero{grid-template-columns:1fr 1fr}}
.hymn-board{background:#1A1614;border:10px solid #6A4A32;border-radius:8px;padding:1rem;display:grid;gap:.8rem}
.hymn-card{background:#F6F1E8;color:#1A1614;border-radius:4px;display:grid;grid-template-columns:64px 1fr auto;gap:.8rem;align-items:center;padding:.7rem}
.hymn-num{font-family:"Cardo",serif;font-size:2rem;font-weight:700;color:#8E2F2F}
.hymn-card img{width:72px;height:90px;object-fit:cover;border-radius:4px}
.hymn-list{display:grid;gap:.7rem}
.hymn-band{background:#F6F1E8;border-top:4px solid #6A4A32;border-bottom:4px solid #6A4A32;padding:2rem 0}
.hymn-footer{background:#1A1614;color:#F6F1E8;padding:2rem 0 1rem}
.hymn-footer a{color:#F6F1E8}

::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-hymn{background:#F6F1E8;background-image:repeating-linear-gradient(0deg,transparent 0 30px,rgba(106,74,50,.08) 30px 31px)}
body.skin-hymn .wrap>h1{font-family:"Cardo",serif}
body.skin-hymn .wrap>h1::after{content:"";display:block;height:4px;width:120px;background:#C4A46A;margin-top:.3em}
.hymn-beam{background:#6A4A32;color:#F6F1E8;border-bottom:4px solid #1A1614}
.hymn-beam .wrap{padding:.5rem 1.1rem;font-size:.78rem;letter-spacing:.24em}
.hymn-masthead{display:grid;grid-template-columns:1fr auto auto;grid-template-areas:"brand cart menu" "nav nav nav";gap:.7rem;align-items:center;padding:.9rem 0}
.hymn-brand{grid-area:brand;text-decoration:none}
.hymn-brand .brand-name{font-family:"Cardo",serif}
.hymn-rule{display:block;height:3px;background:#C4A46A;margin:.25em 0;max-width:220px}
.hymn-tagsub{font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:#6A4A32}
.hymn-masthead .cart-link{grid-area:cart;background:#C4A46A;color:#1A1614;border-radius:4px;padding:.4em .9em;text-decoration:none;font-weight:700}
.hymn-masthead .menu-toggle{grid-area:menu}
.hymn-masthead .site-nav{grid-area:nav;background:#1A1614;border:6px solid #6A4A32;border-radius:8px;padding:.7rem;counter-reset:hino}
.hymn-masthead .site-nav ul{gap:.6em}
.hymn-masthead .site-nav li{counter-increment:hino}
.hymn-masthead .site-nav a{display:inline-block;background:#F6F1E8;color:#1A1614;border-radius:3px;padding:.4em .8em .4em 2.4em;text-decoration:none;position:relative;font-weight:700}
.hymn-masthead .site-nav a::before{content:counter(hino,decimal-leading-zero);position:absolute;left:.5em;color:#8E2F2F;font-family:"Cardo",serif}
.hymn-masthead .site-nav a[aria-current="page"]{outline:3px solid #C4A46A}
.skin-hymn .btn{border-radius:3px;background:#8E2F2F;border-color:#5e1d1d;box-shadow:3px 3px 0 #6A4A32;font-family:"Cardo",serif}
.hymn-card{transition:transform .15s ease}
.hymn-card:hover{transform:translateX(4px)}
.hymn-band{background:#F6F1E8;border-top:4px solid #6A4A32;border-bottom:4px solid #6A4A32;padding:2.4rem 0}
.hymn-footstrip{height:12px;background:#6A4A32;border-top:4px solid #1A1614;border-bottom:4px solid #1A1614}
.hymn-footer{background:#1A1614;color:#F6F1E8;padding:0 0 1rem}
.hymn-footer .wrap{padding-top:1.4rem}
.hymn-cols{display:grid;gap:1rem;margin:1.2rem 0}
@media(min-width:800px){.hymn-cols{grid-template-columns:1.4fr 1fr 1fr}}
.hymn-steps{display:grid;gap:.7rem;margin:1.8rem 0}
@media(min-width:800px){.hymn-steps{grid-template-columns:repeat(3,1fr)}}
.hymn-steps>div{background:#fffdf6;border:2px solid #6A4A32;border-radius:4px;border-left:10px solid #8E2F2F;padding:.9rem}
.hymn-steps strong{font-family:"Cardo",serif;font-size:1.5rem;color:#8E2F2F}
.product-detail>div:first-child{border:12px solid #6A4A32;outline:4px solid #1A1614;border-radius:4px;overflow:hidden}

.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: hanging tickets clear the brand ticket */
.rail-masthead{gap:.9rem}
.rail-masthead .site-nav{margin-top:1.1rem}
.rail-masthead .site-nav a{padding-top:.9em}
.rail-masthead .site-nav a::before{width:8px;height:8px;margin:-13px auto 5px}
.rail-ticketbrand::before{margin:-14px auto 4px}
/* 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)}}

