/* Synale Store: layout responsivo e catálogo alimentado pelo cadastro oficial. */
.shop-page{background:#fffdfd;color:#392d53}
.shop-page .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;margin:-1px}
.shop-page button,.shop-page input,.shop-page select{font:inherit}
.shop-page button{cursor:pointer}
.shop-page :is(button,input,select):focus-visible{outline:3px solid #a17acf;outline-offset:3px}
.shop-page .shop-hero{position:relative;isolation:isolate;padding:32px 0 71px;overflow:hidden;background:radial-gradient(ellipse at 5% 22%,rgba(204,172,236,.22),transparent 46%),radial-gradient(ellipse at 95% 82%,rgba(231,190,216,.21),transparent 44%),linear-gradient(130deg,#fcfaff,#fff9fd)}
.shop-page .shop-hero::before,.shop-page .shop-catalog-section::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:url("assets/synale-geometric-pattern.svg") repeat;background-size:840px 840px;opacity:.6}
.shop-breadcrumb{display:flex;gap:11px;align-items:center;margin-bottom:38px;color:#81718e;font-size:12px}
.shop-breadcrumb a{color:#8060b0}.shop-breadcrumb a:hover{text-decoration:underline}
.shop-hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);gap:clamp(20px,5vw,72px);align-items:center}
.shop-eyebrow{display:inline-flex;align-items:center;gap:10px;color:#9553a8;font-size:10px;letter-spacing:1.7px;font-weight:800}
.shop-eyebrow-dot{width:8px;height:8px;border-radius:50%;background:linear-gradient(115deg,#a06bd8,#cc68ab);box-shadow:0 0 0 5px #f3e8fa}
.shop-hero h1{font-size:clamp(38px,4.5vw,62px);line-height:1.12;letter-spacing:-2.4px;font-weight:800;color:#30234f;margin:22px 0 20px}
.shop-hero h1 span,.shop-heading h2 span,.shop-how h2 span{color:#ad4ca0}
.shop-hero-copy>p{font-size:15px;line-height:1.85;color:#645a79;max-width:605px;margin:0 0 15px}
.shop-hero-copy>p.shop-hero-secondary{border-left:3px solid #d2ade2;padding-left:15px;color:#785f89;font-size:13px}
.shop-hero-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:27px}.shop-hero-links .button{min-height:49px}.shop-hero-links .icon{width:18px;height:18px}
.shop-hero-links [hidden],.shop-empty [hidden]{display:none!important}
.shop-hero-display{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;align-items:center;min-height:365px;padding:19px;position:relative}
.shop-hero-display::before{content:"";position:absolute;inset:8%;border:1px solid rgba(172,119,209,.28);border-radius:40% 59% 50% 38%;transform:rotate(13deg);z-index:-1}
.shop-hero-orbit{position:absolute;inset:19%;border-radius:50%;border:1px dashed rgba(173,129,208,.29);z-index:-1;pointer-events:none}
.shop-hero-item{height:154px;border:1px solid rgba(216,189,227,.55);border-radius:23px;box-shadow:0 18px 43px rgba(86,47,135,.08),inset 0 1px 0 #fff;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;font-size:12px;font-weight:800;background:#fff}
.shop-hero-item svg{width:61px;height:61px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round;filter:drop-shadow(0 7px 8px rgba(115,79,164,.14))}
.shop-hero-mug{background:linear-gradient(135deg,#fff9ff,#f4eafa);color:#ae55a2;transform:rotate(-5deg)}
.shop-hero-bag{background:linear-gradient(135deg,#f8f1ff,#f0eafb);color:#9567bc;transform:rotate(4deg) translateY(-7px)}
.shop-hero-game{background:linear-gradient(135deg,#fff8fc,#f6eaf7);color:#bb609f;transform:rotate(4deg)}
.shop-hero-3d{background:linear-gradient(135deg,#fff9f1,#f7eddc);color:#b98a4d;transform:rotate(-4deg)}
.shop-catalog-section{position:relative;isolation:isolate;padding:68px 0 82px;background:linear-gradient(180deg,#fff,#fdfbff)}.shop-catalog-section::before{opacity:.22}
.shop-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:27px}
.shop-heading h2,.shop-how h2{font-size:clamp(32px,3.5vw,48px);line-height:1.16;letter-spacing:-1.6px;font-weight:800;margin:14px 0 12px}
.shop-heading p{font-size:13.5px;color:#6d617a;line-height:1.8;max-width:755px;margin:0}
.shop-list-open{white-space:nowrap;border-radius:50px;padding:13px 17px;border:1px solid #dbc3e6;background:#fff;display:flex;align-items:center;gap:9px;color:#8154a9;font-size:12px;font-weight:800;box-shadow:0 8px 22px rgba(106,57,151,.085)}
.shop-list-open svg,.shop-filters-toggle svg,.shop-search svg{height:19px;width:19px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.shop-list-open span{min-width:23px;height:23px;display:grid;place-items:center;border-radius:40px;background:#f2e7f9;color:#7b55a5}
.shop-category-tabs{display:flex;gap:9px;overflow-x:auto;scrollbar-width:thin;padding:2px 0 15px}
.shop-category-tabs button{white-space:nowrap;border-radius:40px;border:1px solid #e9ddee;background:#fff;padding:12px 16px;color:#726482;font-size:12px;font-weight:800}
.shop-category-tabs button.is-active{border-color:#9c65c2;background:linear-gradient(115deg,#8d63c2,#c05ba6);color:#fff}
.shop-category-tabs button:hover:not(.is-active){border-color:#b795d5;color:#9460b4}
.shop-toolbar{display:flex;align-items:center;gap:12px;margin:10px 0 22px}
.shop-search{display:flex;align-items:center;gap:11px;min-height:53px;width:100%;background:#fff;border:1px solid #e0d2ea;border-radius:15px;padding:0 18px;color:#a36ab1;box-shadow:0 9px 22px rgba(95,55,126,.04)}
.shop-search:focus-within{outline:2px solid rgba(141,102,205,.32)}
.shop-search input{width:100%;min-width:0;color:#483359;background:transparent;font-size:13px;outline:0;border:0}
.shop-search input::placeholder{color:#978ba4}
.shop-filters-toggle{display:none;align-items:center;gap:9px;white-space:nowrap;border:1px solid #dbc4e7;background:#fff;color:#8156a4;border-radius:14px;padding:16px;font-size:12px;font-weight:800}
.shop-layout{display:grid;grid-template-columns:247px minmax(0,1fr);gap:27px;align-items:start}
.shop-sidebar{border:1px solid #e8dcee;border-radius:19px;padding:24px 21px;background:#fff;box-shadow:0 13px 33px rgba(82,48,112,.05);display:grid;gap:21px}
.shop-sidebar-heading{display:flex;align-items:center;justify-content:space-between}.shop-sidebar-heading h3{font-size:17px;margin:0;color:#4b365e}
.shop-sidebar-heading button{display:none;border:0;background:#f3e9f9;color:#895aa3;border-radius:9px;font-size:24px;height:37px;width:37px}
.shop-field{display:grid;gap:9px;font-size:12px;color:#5c4b6c;font-weight:800}
.shop-field select,.shop-results-head select,.shop-price-fieldset input{width:100%;min-width:0;border:1px solid #e5d9ed;border-radius:9px;background:#fcfaff;padding:11px 9px;color:#615170;font-size:12px}
.shop-check{display:flex;align-items:center;gap:9px;font-size:12px;color:#5c4b6c;font-weight:800}
.shop-check input{accent-color:#a961ac;width:16px;height:16px;margin:0}
.shop-price-fieldset{display:grid;gap:11px;min-width:0;border:0;border-top:1px solid #efe6f3;padding:17px 0 0}
.shop-price-fieldset legend{font-size:12px;font-weight:800;color:#5c4b6c}.shop-price-fieldset label{display:grid;gap:6px;font-size:11px;color:#7b6b87}
.shop-clear{border:0;background:#f5edf9;color:#855aad;border-radius:10px;padding:12px;font-size:12px;font-weight:800}.shop-filter-apply{display:none}
.shop-results{min-width:0;min-height:295px}
.shop-results-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:4px 0 18px}
.shop-results-head p{font-size:12px;font-weight:750;color:#6d607a;margin:0}.shop-results-head label{display:flex;align-items:center;gap:9px;font-size:12px;color:#766a87;white-space:nowrap}.shop-results-head select{width:auto}
.shop-active-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:13px}
.shop-active-filters:empty{display:none}
.shop-active-filters span{background:#f3eaf8;color:#8050aa;border-radius:20px;padding:7px 12px;font-size:11px}
.shop-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
.shop-product-card{display:flex;flex-direction:column;min-width:0;border:1px solid #e5daeb;border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 16px 40px rgba(73,43,110,.07)}
.shop-product-art{aspect-ratio:1.08;background:linear-gradient(135deg,#f5e8fa,#f8effc);overflow:hidden;display:grid;place-items:center}.shop-product-art img{height:100%;width:100%;object-fit:cover}
.shop-product-art svg{stroke:#ad78b6;fill:none;stroke-width:1.6;width:56px;height:56px}
.shop-product-detail{display:flex;flex-direction:column;flex:1;gap:9px;padding:19px}
.shop-product-label{color:#9c5cac;font-size:10px;font-weight:800;letter-spacing:.75px}
.shop-product-detail h3{font-size:17px;line-height:1.32;color:#392a53;margin:0;font-weight:800}
.shop-product-detail p{font-size:12px;color:#736680;line-height:1.7;margin:0;flex:1}
.shop-product-price{color:#7750a0;font-size:13px;font-weight:800}
.shop-product-actions{display:flex;gap:8px;margin-top:7px;flex-wrap:wrap}
.shop-product-actions button{flex:1;border-radius:10px;border:1px solid #dbc6e6;background:#fff;color:#7c50a0;font-size:11px;font-weight:800;padding:10px;min-height:41px}
.shop-product-actions .shop-request{background:linear-gradient(110deg,#9755bd,#bb56a4);color:#fff;border-color:#ae6cc1}
.shop-empty{padding:53px 25px 63px;background:linear-gradient(140deg,#fff,#fcf7ff);border:1px dashed #decce9;border-radius:22px;text-align:center}.shop-empty[hidden]{display:none}
.shop-empty-art{width:76px;height:76px;margin:0 auto 19px;background:#f4e9fa;color:#a66bb9;border-radius:21px;display:grid;place-items:center}.shop-empty-art svg{stroke:currentColor;fill:none;stroke-width:1.8;width:44px;height:44px}
.shop-empty h3{font-size:20px;color:#48325e;margin:0 0 11px}
.shop-empty p{max-width:540px;margin:0 auto 21px;color:#766880;font-size:13px;line-height:1.8}
.shop-empty .button{min-height:47px}
.shop-how{padding:72px 0 78px;background:linear-gradient(125deg,#fbf5ff,#fff8fc)}
.shop-how h2{margin:14px 0 28px}
.shop-how-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.shop-how-grid article{padding:27px 23px;background:rgba(255,255,255,.9);border:1px solid #e8d8ee;border-radius:19px;box-shadow:0 14px 35px rgba(81,46,118,.05)}
.shop-how-grid article>span{font-size:13px;font-weight:800;color:#a95eac;letter-spacing:1.6px}
.shop-how-grid h3{font-size:18px;margin:16px 0 9px;color:#473256}
.shop-how-grid p{font-size:12.5px;line-height:1.8;color:#746a7e;margin:0}
.shop-how-note{margin:22px 0 0;font-size:11.5px;line-height:1.8;color:#8c7a91}
.shop-list-dialog{width:min(510px,calc(100vw - 28px));max-height:85dvh;overflow:auto;padding:27px;border:1px solid #dec7e8;border-radius:22px;box-shadow:0 25px 70px rgba(32,20,50,.3);color:#3d2b54}
.shop-list-dialog::backdrop{background:rgba(33,22,53,.45)}
.shop-list-heading{display:flex;justify-content:space-between;gap:16px;align-items:start}
.shop-list-heading h2{font-size:29px;margin:6px 0 0}.shop-list-heading button{border:0;color:#8156a3;background:#f4e8f9;border-radius:9px;font-size:25px;width:39px;height:39px}
.shop-list-explain,.shop-list-note{font-size:12px;line-height:1.8;color:#756884}
.shop-list-items{display:grid;gap:10px;margin:21px 0;max-height:37dvh;overflow:auto}
.shop-list-row{display:flex;align-items:center;gap:12px;padding:13px;border:1px solid #e9dced;border-radius:12px}.shop-list-row strong{flex:1;font-size:13px}
.shop-list-row button{border:0;background:#f5eaf9;border-radius:9px;padding:8px 10px;color:#9053a3;font-size:11px}
.shop-list-empty{padding:22px;background:#fcf8fe;border-radius:12px;font-size:13px;color:#766782;text-align:center}
.shop-list-send{width:100%;min-height:50px;justify-content:center}.shop-list-send:disabled{opacity:.5;cursor:not-allowed}
.shop-filter-backdrop[hidden]{display:none!important}
@media(max-width:1160px){.shop-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:970px){.shop-hero-grid{grid-template-columns:minmax(0,1fr) 310px;gap:15px}.shop-hero-display{min-height:280px;padding:8px;gap:8px}.shop-hero-item{height:125px}.shop-hero-item svg{height:47px;width:47px}}
@media(max-width:790px){
 .shop-hero{padding-bottom:51px}.shop-hero-grid{grid-template-columns:1fr}
 .shop-hero-display{width:min(100%,490px);margin:9px auto 0;min-height:280px}.shop-hero-item{height:128px}
 .shop-layout{grid-template-columns:1fr}.shop-filters-toggle{display:inline-flex}
 .shop-sidebar{position:fixed;z-index:350;left:0;top:0;height:100dvh;width:min(350px,88vw);overflow:auto;overscroll-behavior:contain;visibility:hidden;transform:translateX(-105%);transition:visibility .25s ease,transform .25s ease;border-radius:0 22px 22px 0;box-shadow:0 25px 65px rgba(34,21,53,.22)}
 .shop-sidebar.is-open{visibility:visible;transform:translateX(0)}
 .shop-sidebar-heading button,.shop-filter-apply{display:inline-flex;align-items:center;justify-content:center}
 .shop-filter-backdrop:not([hidden]){position:fixed;z-index:340;display:block;inset:0;background:rgba(31,20,48,.4)}
 .shop-page.shop-filters-active{overflow:hidden}
}
@media(max-width:700px){
 .shop-hero{padding-top:24px}.shop-breadcrumb{margin-bottom:23px}.shop-hero h1{font-size:clamp(34px,9vw,46px);letter-spacing:-1.7px}
 .shop-hero-copy>p{font-size:13px}
 .shop-catalog-section{padding:55px 0 65px}.shop-heading{flex-direction:column;align-items:start;gap:18px}
 .shop-toolbar{margin-bottom:17px}.shop-search{min-height:51px;padding:0 12px}.shop-search input{font-size:12px}.shop-filters-toggle{min-height:51px;padding:12px}
 .shop-results-head{align-items:start;flex-wrap:wrap}.shop-how{padding:58px 0}
 .shop-how-grid{grid-template-columns:1fr;gap:12px}.shop-how-grid article{padding:21px}.shop-how-grid h3{margin:9px 0 6px}
 .shop-category-tabs button{padding:11px 14px;font-size:11px}
}
@media(max-width:450px){.shop-product-grid{grid-template-columns:1fr}.shop-hero-display{min-height:240px}.shop-hero-item{height:105px;gap:7px;border-radius:17px}.shop-hero-item svg{width:42px;height:42px}.shop-heading h2,.shop-how h2{font-size:31px}}
@media(prefers-reduced-motion:reduce){.shop-sidebar{transition:none}}

/* Loja: o atalho da lista ocupa a ação principal do cabeçalho STICKY.
 * Isolado em .shop-page: nenhuma outra página recebe esse botão. */
.shop-page .site-header{position:sticky;top:0;z-index:200}
.shop-page .shop-header-list{
  flex:none;align-self:center;justify-content:center;
  margin-left:auto;min-height:42px;padding:9px 15px;
  border-color:#d7bde6;background:linear-gradient(115deg,#fffafc,#f8efff);
  box-shadow:0 7px 18px rgba(114,69,150,.11);
  color:#784da4;font-weight:800;
  transition:background .2s,box-shadow .2s,border-color .2s;
}
.shop-page .shop-header-list:hover{
  background:linear-gradient(115deg,#f8e9fb,#f4e6fe);
  border-color:#b88bd0;box-shadow:0 9px 23px rgba(114,69,150,.17)
}
.shop-page .shop-header-list .shop-list-label{min-width:0;height:auto;display:inline;background:none;color:inherit;border-radius:0}
.shop-page .shop-header-list #shop-list-count{flex:none;min-width:23px;height:23px}
@media(max-width:990px){
  .shop-page .nav-inner{gap:12px}
  .shop-page .shop-header-list{margin-left:auto;margin-right:0;min-height:42px;padding:8px 12px}
  .shop-page .menu-toggle{flex:none}
}
@media(max-width:450px){
  .shop-page .nav-inner{gap:8px}
  .shop-page .shop-header-list{min-width:76px;padding:7px 9px;gap:7px}
  .shop-page .shop-header-list .shop-list-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
  .shop-page .shop-header-list svg{width:20px;height:20px}
  .shop-page .shop-header-list #shop-list-count{min-width:21px;height:21px;font-size:11px}
}
