:root{font-family:"DM Sans",system-ui,sans-serif;color:#231848;background:#fffaf2;--ink:#231848;--muted:#635873;--purple:#5325a0;--line:#e9dff0;--white:#fff}
*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #7454d7;outline-offset:3px}.wrap{width:min(1120px,calc(100% - 40px));margin:auto}
.masthead{background:#fffaf2;border-bottom:1px solid #efe5e5}.top{height:76px;display:flex;align-items:center;justify-content:space-between;gap:14px}.brand{display:flex;align-items:center;gap:10px;font-size:22px;font-weight:850;letter-spacing:-.05em;line-height:1}.brand small{display:block;font-size:10px;letter-spacing:.2em;margin-top:5px}.brand-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;background:#ffe077;color:#452083;font-size:27px}.jump{font-weight:750;font-size:14px;white-space:nowrap}.jump span{display:inline-grid;place-items:center;margin-left:5px;min-width:26px;height:26px;padding:0 5px;background:#ede0ff;color:#482384;border-radius:99px}
.hero{background:#eadcff;overflow:hidden}.hero-inner{min-height:370px;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:25px;align-items:center;padding:45px 0}.location{font-size:13px;font-weight:850;letter-spacing:.075em;text-transform:uppercase}.hero h1{font-size:clamp(40px,6vw,74px);letter-spacing:-.075em;line-height:1;margin:12px 0 16px;font-weight:900}.hero h1 span{color:#733acc}.hero p:not(.location){color:#47375f;font-size:18px;max-width:380px;margin:0 0 25px;line-height:1.45}
.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 17px;border:0;border-radius:13px;font-size:14px;font-weight:800;line-height:1.35}.primary{background:#50229b;color:white}.primary:hover{background:#3a1576}.hero-art{height:265px;border-radius:42% 58% 48% 52% / 52% 38% 62% 48%;background:#ffd86a;position:relative;isolation:isolate;margin:12px 25px}.hero-art span{position:absolute;line-height:1;font-weight:900}.hero-art span:nth-child(1){font-size:clamp(110px,18vw,240px);color:#6027ad;left:50%;top:50%;transform:translate(-50%,-51%) rotate(-12deg)}.hero-art span:nth-child(2){font-size:45px;color:#f18eb2;left:15%;bottom:14%}.hero-art span:nth-child(3){font-size:76px;color:#6228aa;right:-9%;top:-7%;transform:rotate(10deg)}.hero-art span:nth-child(4){font-size:31px;color:#fff8e8;right:15%;bottom:22%}.hero-art.has-photo{border-radius:30px;background-position:center;background-size:cover}.hero-art.has-photo span{display:none}
.layout{display:grid;grid-template-columns:minmax(0,1fr) 342px;align-items:start;gap:30px;padding:45px 0 60px}h2{font-size:clamp(24px,3.5vw,34px);letter-spacing:-.05em;line-height:1.1;margin:0 0 17px}#catalogo,#pedido{scroll-margin-top:18px}.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:19px}.filters button,.add{border:1px solid #d9cbe9;background:#fff;color:#452778;border-radius:99px;padding:8px 13px;font-weight:750;font-size:13px}.filters button[aria-pressed=true],.add[aria-disabled=true]{background:#5429a0;color:#fff;border-color:#5429a0}.products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.card{border:1px solid var(--line);border-radius:20px;background:#fff;overflow:hidden;display:flex;flex-direction:column}.card-media{height:132px;display:grid;place-items:center;font-size:52px;background:#eee3ff}.card-media[data-color=gold]{background:#fff0bf}.card-media[data-color=pink]{background:#ffe4ef}.card-media[data-color=green]{background:#e1f2e6}.card-media img{width:100%;height:132px;object-fit:cover;display:block}.card-body{padding:15px;display:flex;align-items:flex-start;flex-direction:column;gap:8px;flex:1}.card h4{font-size:18px;line-height:1.18;margin:0;letter-spacing:-.026em}.card p{font-size:13px;line-height:1.4;color:var(--muted);margin:0 0 5px}.add:hover,.filters button:hover{box-shadow:0 0 0 2px #e9dbff}
aside{position:sticky;top:16px}form{padding:22px;border:1px solid #e8d9f1;border-radius:23px;background:#fff;box-shadow:0 6px 30px #4d1f8010}form h2{font-size:25px;margin-bottom:13px}#summary{padding:0 0 12px;margin:0 0 16px;border-bottom:1px solid var(--line);font-size:14px;color:var(--muted)}#summary p{margin:0}#summary ul{list-style:none;padding:0;margin:0}#summary li{display:flex;justify-content:space-between;gap:7px;align-items:center;min-height:34px}#summary button{border:none;background:#f1e7ff;color:#482384;border-radius:7px;padding:5px 8px;font-size:12px;font-weight:750;white-space:nowrap}label{display:block;font-size:13px;font-weight:800;margin:0 0 6px}input,textarea{display:block;width:100%;min-width:0;padding:11px 10px;border:1px solid #d8cce3;border-radius:10px;background:#fdfbff;color:var(--ink);margin-bottom:14px;font-size:16px}textarea{resize:vertical;font-size:14px}.whatsapp{width:100%;background:#166343;color:white}.whatsapp:hover{background:#104831}.note{margin:11px 0 0;color:var(--muted);font-size:12px;line-height:1.5}#message-preview{margin-top:12px}#form-error{font-size:13px;color:#9b2444}
@media(max-width:800px){.layout{grid-template-columns:minmax(0,1fr) 290px;gap:17px}form{padding:15px}.hero-art{margin:0;height:210px}.hero-inner{min-height:320px}}
@media(max-width:640px){.wrap{width:calc(100% - 30px)}.top{height:62px}.brand{font-size:18px}.brand-mark{width:34px;height:34px}.hero-inner{display:block;padding:31px 0 34px;min-height:0;position:relative}.hero-inner>div:first-child{position:relative;z-index:1}.hero-art{display:none}.hero-art.has-photo{display:block;height:185px;margin-top:24px}.hero p:not(.location){font-size:16px}.layout{display:block;padding-top:30px}.products{gap:10px}.card-media,.card-media img{height:105px}.card-body{padding:12px}.card h4{font-size:16px}aside{position:static;margin-top:26px}form{padding:18px}}
.hero-art{height:auto;margin:0;display:grid;place-items:center;background:none;border-radius:0}
.hero-art img{width:min(100%,310px);height:auto;border-radius:12px;box-shadow:0 14px 40px #3f1b611f}
@media(max-width:640px){.hero-inner{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}.hero-art{display:grid;justify-content:start}.hero-art img{width:min(100%,220px)}}

.catalog-sections{display:grid;gap:29px}.catalog-section h3{margin:0 0 11px;font-size:21px;letter-spacing:-.035em}
.included-items{padding-left:17px;margin:0 0 5px;color:var(--muted);font-size:13px;line-height:1.4}.included-items li+li{margin-top:3px}
.card-subtitle{color:var(--purple);font-size:14px;line-height:1.35}

.card-controls{display:flex;align-items:stretch;gap:6px;margin-top:auto;max-width:100%}
.card-controls button{min-height:42px}
.subtract{flex:0 0 42px;border:1px solid #d9cbe9;border-radius:99px;background:#fff;color:#452778;font-size:20px;font-weight:750;line-height:1}
.subtract:not(:disabled):hover{background:#f1e7ff}
.subtract:disabled{opacity:.5;cursor:default}
.add[aria-disabled=true]{cursor:default}
.field-hint{margin:0 0 6px;color:var(--muted);font-size:12px;line-height:1.4}
@media(max-width:360px){.card-controls{gap:4px}.subtract{flex-basis:32px}.card-controls .add{padding-inline:8px}}

.card-media:is(.card-photo,.card-video){display:block;height:auto;aspect-ratio:4 / 3;background:#f3eee7}
.card-media:is(.card-photo,.card-video) :is(img,video){display:block;width:100%;height:100%;object-fit:contain}
.card-media.card-video{background:#171225}
.card-media.card-video{position:relative}
.video-toggle{position:absolute;inset:0;display:grid;place-items:center;width:100%;border:0;padding:0;background:transparent;-webkit-tap-highlight-color:transparent}
.video-toggle:focus-visible{outline-offset:-4px}
.video-toggle-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#fff;color:#231848;box-shadow:0 2px 7px #0004}
.video-toggle-icon::before{content:'';margin-left:3px;border:8px solid transparent;border-left:12px solid currentColor;border-right:0}
.video-toggle[data-playing=true] .video-toggle-icon{opacity:0}
.video-toggle[data-playing=true]:focus-visible .video-toggle-icon{opacity:1}
.video-toggle[data-playing=true] .video-toggle-icon::before{width:11px;height:14px;margin:0;border:0;border-inline:3px solid currentColor}
.video-status{position:absolute;inset:auto 8px 8px;margin:0;padding:6px 8px;border-radius:8px;background:white;color:#231848;font-size:12px;line-height:1.3;pointer-events:none}

.card-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 6px;color:var(--purple)}
.card-price strong{font-size:18px;font-variant-numeric:tabular-nums}
.card-price small{font-size:12px;color:var(--muted)}
.order-totals{padding:11px 13px;margin:0 0 10px;border-radius:12px;background:#f2e9ff;color:#432477}
.subtotal{display:flex;align-items:baseline;justify-content:space-between;gap:6px;font-size:13px;font-weight:750}
.subtotal strong{font-size:19px;white-space:nowrap;font-variant-numeric:tabular-nums}
.order-totals p{margin:3px 0 0;font-size:12px;color:#55436b}
#summary li{padding:4px 0}
.order-line strong{display:block;color:#432477;font-size:12px}
.jump{text-align:right}
.jump small:not([hidden]){display:block;margin-top:2px;color:#5325a0;font-size:12px;font-variant-numeric:tabular-nums}
@media(max-width:640px){.masthead{position:sticky;top:0;z-index:5}#catalogo,#pedido{scroll-margin-top:76px}}
.rental-timing{margin:-5px 0 16px;font-size:14px;line-height:1.45;color:var(--muted)}
.rental-timing strong{color:var(--ink)}

.card-controls button,#summary button{touch-action:manipulation}

.photo-preview{position:relative;display:block;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:zoom-in;touch-action:manipulation}
.photo-preview:focus-visible{outline-offset:-4px}
.photo-preview-cue{position:absolute;right:7px;bottom:7px;padding:4px 7px;border-radius:6px;background:#fff;color:var(--ink);font-size:11px;font-weight:750;line-height:1.2;box-shadow:0 1px 5px #0002}
.photo-viewer{width:min(calc(100% - 24px),1240px);max-width:none;padding:0;border:0;background:transparent;color:#fff}
.photo-viewer[open]{display:grid;justify-items:center;gap:8px}
.photo-viewer::backdrop{background:#14101dee}
.photo-viewer img{display:block;max-width:100%;max-height:calc(100vh - 76px);max-height:calc(100dvh - 76px);object-fit:contain}
.photo-close{justify-self:end;min-height:44px;padding:5px 12px;border:1px solid #fff8;border-radius:9px;background:#231848;color:#fff;font-weight:750;touch-action:manipulation}
.photo-close span{margin-left:3px;font-size:18px}
html:has(.photo-viewer[open]){overflow:hidden}

.site-footer{padding:30px 0;background:var(--ink);color:#fff}
.footer-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px}
.footer-heading h2{margin:0 0 5px;font-size:24px}
.footer-heading p{margin:0;color:#ded0f4;font-size:14px}
.footer-contacts{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:0}
.footer-contact{display:flex;align-items:center;gap:11px;min-height:58px;padding:8px 12px;border:1px solid #ffffff40;border-radius:12px}
.footer-contact:hover{background:#ffffff14}
.footer-contact:focus-visible{outline-color:#ffe077}
.footer-contact strong,.footer-contact small{display:block}
.footer-contact strong{font-size:14px}
.footer-contact small{margin-top:2px;color:#eee4fb;font-size:13px;overflow-wrap:anywhere}
.contact-icon{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:50%;background:#ffe077;color:var(--ink)}
.contact-icon-phone{font-size:20px;line-height:1}
.instagram-icon{position:relative;width:17px;height:17px;border:2px solid currentColor;border-radius:5px}
.instagram-icon::before,.instagram-icon::after{content:'';position:absolute;border-radius:50%}
.instagram-icon::before{inset:3px;border:1.5px solid currentColor}
.instagram-icon::after{top:1px;right:1px;width:2px;height:2px;background:currentColor}
@media(max-width:640px){.footer-inner,.footer-contacts{display:grid;gap:10px}.footer-heading{margin-bottom:4px}}
.footer-contacts li,.footer-contact span:has(>strong){min-width:0}
.footer-contact{cursor:pointer;touch-action:manipulation}
.contact-arrow{margin-left:auto;color:#ffe077;font-size:15px}
.contact-icon-mail{font-size:18px;line-height:1}
