/* Refinamento responsivo compartilhado — preserva as imagens e a área útil em telas pequenas. */
@media (max-width: 620px) {
  html, body { width: 100%; max-width: 100%; overflow-x: clip; }
  img { max-width: 100%; }

  /* Início */
  .hero { min-height: 100svh; }
  .hero-content { width: 100%; max-width: 390px; margin-top: 1.5rem; padding-inline: 1rem; }
  .hero-content .section-label { max-width: 100%; margin-inline: auto; letter-spacing: .24em; line-height: 1.65; }
  .hero-logo { width: min(86vw, 330px) !important; height: auto !important; max-height: 190px; }
  .hero-tagline { max-width: 320px; margin: .8rem auto 2.1rem !important; font-size: .58rem; letter-spacing: .22em !important; line-height: 1.8; }

  .showcase { height: auto; }
  .showcase-sticky { display: grid; grid-template-columns: 1fr; grid-template-rows: 190px min(92vw, 420px); row-gap: .75rem; align-items: stretch; position: relative; top: auto; height: auto; min-height: 0; max-height: none; padding: 5rem 1rem 3.4rem; }
  .showcase-copy { min-height: 0; height: 190px; }
  .showcase-info { right: 0; max-width: 100%; }
  .showcase-info h2 { margin: .55rem 0; font-size: clamp(2.45rem, 13vw, 3.55rem); }
  .showcase-info p { max-width: 34rem; margin-block: .5rem; font-size: .9rem; line-height: 1.55; }
  .showcase-info .text-link { margin-top: .55rem; }
  .showcase-stage { width: 100%; height: 100%; min-height: 0; margin: 0; touch-action: pan-y; }
  .showcase-stage img { inset: 0 !important; width: 100% !important; height: 100% !important; object-fit: contain; transform: translateY(12px) scale(.94); filter: drop-shadow(0 20px 20px #3d2b1f20); }
  .showcase-stage img.active { transform: none; }
  .showcase-steps { inset: auto auto 1.35rem 50%; display: flex; gap: .9rem; transform: translateX(-50%); }
  .showcase-step { width: 12px; height: 12px; }

  .home-card-visual { aspect-ratio: 1 / 1.12; padding: 9% !important; }
  .home-card-visual img { object-fit: contain; }
  .home-card-meta { display: grid; grid-template-columns: minmax(0, 1fr); align-items: start; gap: 0; padding-top: .9rem; }
  .home-card-meta > div { min-width: 0; }
  .home-card h3 { display: block; width: 100%; margin: 0; overflow-wrap: anywhere; line-height: 1.35; }
  .home-card p { margin: .3rem 0 0; font-size: .72rem; line-height: 1.4; }
  .home-card strong { display: block; margin-top: .7rem; font-size: 1rem; line-height: 1.25; white-space: nowrap; }
  .craft-image img { height: auto; max-height: none; object-fit: contain; }

  /* Catálogo */
  .catalog-head, .shop { width: 100%; max-width: 100%; }
  .catalog-title, .catalog-title > *, .catalog-tools, .catalog-tools > *, .shop-toolbar { min-width: 0; max-width: 100%; }
  .catalog-title > p { width: 100%; overflow-wrap: anywhere; }
  .catalog-tools { width: 100%; }
  .search-box, .search-box input, .sort-wrap, .sort-select { min-width: 0; max-width: 100%; }
  .sort-wrap { width: 100%; white-space: normal; }
  .sort-select { flex: 1; }
  .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; gap: 1.4rem .65rem; }
  .product-card, .product-link, .product-info { min-width: 0; max-width: 100%; }
  .product-image { width: 100%; aspect-ratio: 1 / 1.15 !important; padding: 9% !important; }
  .product-image img { width: 100%; height: 100%; object-fit: contain; transform: none; }
  .variant-row { max-width: 100%; overflow-x: auto; overflow-y: hidden; scrollbar-width: none; }
  .variant-row::-webkit-scrollbar { display: none; }
  .variant-thumb { flex: 0 0 34px; width: 34px; height: 34px; }
  .product-info { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-areas: "name" "category" "price" "condition" "action"; align-content: start; padding-top: .85rem; }
  .product-info h2 { grid-area: name; display: block; width: 100%; min-height: 0; margin: 0; overflow-wrap: anywhere; font-size: .9rem; line-height: 1.35; }
  .product-material { grid-area: category; display: block; margin-top: .3rem; font-size: .58rem; line-height: 1.4; }
  .product-price { grid-area: price; display: flex; width: 100%; margin-top: .75rem; flex-wrap: wrap; align-items: baseline; gap: .2rem .45rem; }
  .product-price strong { display: block; font-size: 1rem; line-height: 1.25; white-space: nowrap; }
  .product-price del { line-height: 1.25; white-space: nowrap; }
  .product-condition { grid-area: condition; margin-top: .28rem; font-size: .68rem; line-height: 1.4; }
  .product-action { grid-area: action; }

  /* Produto */
  .product-shell { display: block !important; width: 100%; max-width: 100%; padding-inline: 1rem; }
  .product-shell > *, .gallery, .product-panel { min-width: 0; max-width: 100%; }
  .gallery { display: flex; flex-direction: column; width: 100%; overflow: hidden; }
  .main-photo { order: 1; width: 100%; height: min(104vw, 470px) !important; min-height: 340px !important; max-height: 470px; }
  .main-photo > img { width: 100% !important; height: 100% !important; max-width: 100%; padding: 7% !important; object-fit: contain !important; }
  .thumbs { order: 2; display: flex; width: 100%; max-width: 100%; overflow-x: auto; overflow-y: hidden; padding-bottom: .35rem; scrollbar-width: none; }
  .thumbs::-webkit-scrollbar { display: none; }
  .thumb { flex: 0 0 58px; width: 58px; height: 58px; }
  .product-panel { width: 100%; padding-top: 1.7rem; }
  .product-panel h1 { max-width: 100%; font-size: clamp(2rem, 10.5vw, 2.7rem); overflow-wrap: anywhere; }
  .summary, .details p { overflow-wrap: anywhere; }
  .variation-options { max-width: 100%; overflow-x: auto; overflow-y: hidden; scrollbar-width: none; }
  .variation-options::-webkit-scrollbar { display: none; }
  .buy-button { width: 100%; letter-spacing: .09em; }
  .related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .related-card { min-width: 0; }
  .related-card div { display: grid; grid-template-columns: minmax(0, 1fr); align-content: start; }
  .related-card h3 { width: 100%; min-height: 0; margin: 0; overflow-wrap: anywhere; line-height: 1.35; }
  .related-card span { display: block; margin-top: .55rem; line-height: 1.3; }
}

@media (max-width: 360px) {
  .product-grid { gap-inline: .45rem; }
  .product-badge { padding: .28rem .38rem; letter-spacing: .04em; }
  .discount { padding: .28rem .35rem; }
  .product-action span { font-size: .52rem; }
  .showcase-sticky { grid-template-rows: 195px min(92vw, 360px); }
  .showcase-copy { height: 195px; }
}

/* Navegacao e rodape refinados */
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.menu-toggle{width:46px;height:46px;padding:0;place-items:center;cursor:pointer}
.menu-icon{position:relative;display:block;width:24px;height:14px}
.menu-icon i{position:absolute;left:0;width:24px;height:1px;background:currentColor;transition:transform .35s ease,top .35s ease}
.menu-icon i:first-child{top:3px}
.menu-icon i:last-child{top:10px}
.menu-open .menu-icon i:first-child{top:7px;transform:rotate(45deg)}
.menu-open .menu-icon i:last-child{top:7px;transform:rotate(-45deg)}
.footer-brand{display:block;width:min(230px,100%)}
.footer-brand img{display:block;width:100%;height:auto}
.site-footer{grid-template-columns:minmax(240px,1.1fr) minmax(220px,.8fr) minmax(220px,1fr);column-gap:clamp(3rem,8vw,9rem);row-gap:3rem}
.site-footer .footer-links{display:flex;flex-direction:column;align-items:flex-start;align-content:start;gap:.9rem}
.site-footer .footer-links a{display:block;line-height:1.4}
.site-footer .footer-origin{display:block}
.footer-origin>span{display:block;margin-bottom:.65rem;color:#a67c52;font-size:.56rem;font-weight:700;letter-spacing:.25em;text-transform:uppercase}
body.menu-visible{overflow:hidden}

@media(min-width:621px) and (max-width:900px){
  .site-footer{grid-template-columns:minmax(220px,.8fr) minmax(260px,1.2fr);column-gap:4rem}
  .site-footer .footer-origin{grid-column:2}
}

@media(max-width:900px){
  .home-header{height:76px;padding:0 1.25rem;grid-template-columns:auto auto;justify-content:space-between}
  .home-header .monogram{grid-column:1;grid-row:1;justify-self:start}
  .home-header .menu-toggle{display:grid!important;position:relative!important;top:auto!important;right:auto!important;grid-column:2;grid-row:1;justify-self:end;z-index:42;visibility:visible!important;opacity:1!important;transform:none!important;color:#fff;border:1px solid #ffffff80;border-radius:50%;background:#160d0826;backdrop-filter:blur(8px)}
  .home-header.scrolled .menu-toggle,.home-header.menu-open .menu-toggle{color:#241a14;border-color:#3d2b1f38;background:transparent}
  .home-header.menu-open{inset:0;height:100svh;padding:0 1.25rem;background:#f7f3ed;color:#241a14;align-content:start;overflow:hidden}
  .home-header.menu-open .monogram{margin-top:15px;width:46px;height:46px;font-size:1.35rem}
  .home-header.menu-open .menu-toggle{margin-top:0}
  .home-header.menu-open .nav-side{justify-content:stretch!important;width:auto!important;position:absolute;left:1.35rem;right:1.35rem;display:grid;grid-column:auto;gap:0;padding:0}
  .home-header.menu-open .nav-left{top:7.2rem}
  .home-header.menu-open .nav-right{top:17rem}
  .home-header.menu-open .nav-side a{display:flex;align-items:center;min-height:66px;border-bottom:1px solid #3d2b1f24;color:#322218;font:500 clamp(1.25rem,6vw,1.7rem)/1.2 Cinzel,Georgia,serif;letter-spacing:.045em;text-transform:none}
  .home-header.menu-open::before{content:"Navegação";position:absolute;left:1.35rem;top:5.5rem;color:#9a7a5b;font-size:.55rem;font-weight:700;letter-spacing:.28em;text-transform:uppercase}

  .store-header .menu-toggle{display:grid;justify-self:end}
  .store-header.menu-open{position:fixed;inset:0;height:100svh!important;padding:1rem 1.25rem;background:#f7f3ed;grid-template-columns:1fr auto;align-content:start;overflow:hidden}
  .store-header.menu-open .wordmark{margin-top:.25rem}
  .store-header.menu-open .menu-toggle{margin-top:0}
  .store-header.menu-open nav{position:absolute;top:7.4rem;left:1.35rem;right:1.35rem;display:grid;grid-column:auto;gap:0;padding:0}
  .store-header.menu-open nav a{display:flex;align-items:center;min-height:70px;border-bottom:1px solid #3d2b1f24;color:#322218;font:500 clamp(1.25rem,6vw,1.7rem)/1.2 Cinzel,Georgia,serif;letter-spacing:.045em;text-transform:none}
}

@media(max-width:620px){
  .site-footer{position:relative;grid-template-columns:1fr!important;gap:2.25rem!important;padding:4rem 1.35rem calc(7rem + env(safe-area-inset-bottom))!important;background:#f7f3ed!important;border-top:1px solid #dfd3c6}
  .site-footer .footer-brand{width:min(235px,72vw);margin:0 auto}
  .site-footer .footer-links{display:grid!important;grid-template-columns:1fr;gap:0!important;border-top:1px solid #d9cbbb;border-bottom:1px solid #d9cbbb}
  .site-footer .footer-links a{display:flex;align-items:center;justify-content:space-between;min-height:54px;margin:0;padding:.35rem 0;border-bottom:1px solid #e5dbcf;color:#3d2b1f;font-size:.58rem!important;font-weight:700;letter-spacing:.15em!important;text-transform:uppercase}
  .site-footer .footer-links a::after{content:"↗";color:#a67c52;font:400 1rem/1 Arial,sans-serif;letter-spacing:0}
  .site-footer .footer-links a:nth-child(even){justify-content:space-between;text-align:left}
  .site-footer .footer-links a:last-child{grid-column:auto;border-bottom:0}
  .site-footer .footer-origin{padding-top:.15rem}
  .site-footer .footer-origin p{font-family:Cinzel,Georgia,serif;font-size:.88rem;line-height:1.7;color:#4c4138}
  .site-footer small{grid-column:auto!important;margin-top:.25rem!important;padding-top:1.25rem;border-top:1px solid #ded3c7;color:#94877b!important;font-size:.55rem!important;letter-spacing:.12em;text-transform:uppercase}
  .social-float{bottom:max(1rem,env(safe-area-inset-bottom));right:max(1rem,env(safe-area-inset-right));left:auto}
}
