:root { --accent: #8d72a6; --ink: #333; --muted: #666; --line: #e5e5e5; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: #fff; font-family: "PingFang SC", "Segoe UI", "Microsoft YaHei", sans-serif; }
button, summary, a { -webkit-tap-highlight-color: transparent; }
button { font: inherit; color: inherit; cursor: pointer; }
a { color: inherit; text-decoration: none; }
a:hover { color: var(--accent); }
button:focus-visible, a:focus-visible, summary:focus-visible, .product-viewer:focus-visible { outline: 2px solid var(--accent); outline-offset: -3px; }
summary { list-style: none; cursor: pointer; }
summary::-webkit-details-marker { display: none; }
[hidden] { display: none !important; }
.site-header { position: relative; z-index: 5; height: 4.688vw; background: white; border-bottom: 1px solid #f1f1f1; }
.nav-inner { width: 83.334%; height: 100%; margin: 0 auto; display: flex; align-items: stretch; }
.brand { flex: 0 0 13.3vw; display: flex; align-items: center; justify-content: flex-start; gap: .55vw; padding: 0 .7vw 0 .25vw; color: #fff5d9; background: linear-gradient(135deg, #2f203d 0%, #51366a 100%); }
.brand { border: 0; text-align: left; }
.brand img { display: block; width: 5.15vw; height: 5.15vw; flex: 0 0 auto; object-fit: contain; border-radius: 50%; }
.brand-name { display: inline-flex; gap: .2em; font-family: Georgia, "Times New Roman", serif; font-size: 1.32vw; font-weight: 700; letter-spacing: .08em; line-height: 1; white-space: nowrap; }
#main-nav { flex: 1; display: flex; justify-content: center; align-items: stretch; gap: 2.15vw; padding: 0 2.6vw; }
.nav-link, .nav-dropdown > summary { display: flex; align-items: center; height: 100%; white-space: nowrap; font-size: 1.042vw; color: #555; }
.nav-dropdown { position: relative; }
.nav-dropdown:hover > summary, .nav-dropdown[open] > summary { color: var(--accent); }
.dropdown-panel { position: absolute; z-index: 10; top: 100%; left: -1.2vw; min-width: max-content; padding: 1vw 0; background: #fff; border-top: 2px solid var(--accent); box-shadow: 0 8px 24px #00000012; }
.dropdown-panel a { display: block; padding: .8vw 1.5vw; font-size: max(12px, .938vw); }
.language { margin-left: auto; padding-left: 1.3vw; border-left: 1px solid #eee; }
.language .dropdown-panel { left: auto; right: 0; }
.language summary { gap: .6vw; }
.chevron { width: .35vw; height: .35vw; border-right: 1px solid; border-bottom: 1px solid; transform: rotate(45deg); }
.menu-toggle { display: none; }
.language-switch { margin-left: 15%; display: flex; align-items: center; gap: 7px; white-space: nowrap; font-size: 17px; color: #888; }
.language-switch button { border: 0; padding: 8px 2px; background: transparent; color: #666; }
.language-switch button[aria-pressed="true"] { color: #51366a; font-weight: 600; text-decoration: underline; text-underline-offset: 5px; }
.product-viewer { position: relative; height: 33.229vw; overflow-x: hidden; overflow-y: auto; background: linear-gradient(115deg, #fff 0%, #e9edf5 100%); touch-action: pan-y; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #aaa transparent; }
.product-viewer.is-jabuticaba { background: #43274f; }
.product-viewer.is-bonsai { background: radial-gradient(ellipse 36% 70% at 32% 46%, #fffdf3 0%, #f0f4e8 68%, transparent 100%), linear-gradient(115deg, #e0e9d9 0%, #f5f5e9 62%, #e2eade 100%); }
.product-viewer.is-podocarpus { background: radial-gradient(ellipse 35% 72% at 32% 44%, #fffdf2 0%, #eef2df 68%, transparent 100%), linear-gradient(115deg, #d8e3d2 0%, #f2f1e4 61%, #e0e8d9 100%); }
.product-viewer.is-jujube { background: radial-gradient(ellipse 35% 70% at 32% 45%, #fff8e9 0%, #f7e9d1 70%, transparent 100%), linear-gradient(115deg, #ead3b0 0%, #f6edda 58%, #e7d2ae 100%); }
.product-viewer.is-jabuticaba::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg, #43274f00 20%, #43274f30 48%, #43274fc9 100%); }
.product-viewer::-webkit-scrollbar { width: 6px; }
.product-viewer::-webkit-scrollbar-track { background: transparent; }
.product-viewer::-webkit-scrollbar-thumb { border-radius: 6px; background: #aaa; }
.product-slide { position: relative; z-index: 1; min-height: 100%; display: flex; align-items: flex-start; padding: 3.569vw 0 2.328vw 19.896vw; }
.product-slide.is-pending { visibility: hidden; }
.outgoing-slide { position: absolute; inset: 0; pointer-events: none; }
.outgoing-slide.is-jabuticaba-outgoing::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg, transparent 32%, #43274fe8 48%, #43274f 100%); }
.outgoing-slide.is-jabuticaba-outgoing > * { position: relative; z-index: 1; }
.slide-controls { z-index: 2; }
.product-image { flex: 0 0 26.146vw; width: 26.146vw; }
.product-slide.is-bonsai .product-image { height: 29vw; display: flex; align-items: center; justify-content: center; }
.product-image img { display: block; width: 100%; height: auto; object-fit: contain; user-select: none; }
.product-slide.is-bonsai .product-image img { width: 100%; height: 100%; object-fit: contain; }
.product-slide.is-bonsai .product-image img[src*="jabuticaba-bonsai-photo"] { max-height: 100%; filter: drop-shadow(0 .7vw 1vw #24312430); }
.product-image .outgoing-image { position: absolute; inset: 0; pointer-events: none; }
.product-image img[src*="jabuticaba-trunk-retouched"] { width: auto; max-width: 100%;padding-top: 5vw; max-height: 43vw; margin-inline: auto; filter: drop-shadow(0 1vw 1.4vw #160a1b80); -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 6%, #000 92%, transparent 100%); mask-image: linear-gradient(to bottom, transparent 0%, #000 6%, #000 92%, transparent 100%); }
.product-image img[src*="jabuticaba-bonsai-cutout"] { width: 100%; max-height: 29vw; object-fit: contain; filter: drop-shadow(0 .7vw 1vw #24312430); }
.product-image img[src*="podocarpus-bonsai-taller"] { width: 116%; max-width: none; height: auto; object-fit: contain; margin-left: -8%; transform: scaleY(1.08); transform-origin: center top; filter: drop-shadow(0 .7vw 1vw #24312430); }
.product-image img[src*="candied-jujube-pack"] { width: 95%; filter: drop-shadow(0 .7vw 1vw #6b3b2433); }
.product-slide.is-jabuticaba .product-info { color: #f7edf7; text-shadow: 0 1px 2px #160a1b66; }
.product-slide.is-jabuticaba .product-info h1 { color: #fff; font-size: 2.35vw; }
.product-slide.is-jabuticaba .flavor-info::before { background: #e9c8ee; }
.product-info { width: 48.438vw; min-height: 27.932vw; padding: 0 5.208vw 0 2.083vw; display: flex; flex-direction: column; color: var(--muted); }
.product-info h1 { padding-top: 4.76vw; margin: 0; font-weight: 400; font-size: 2.5vw; line-height: 1.4; white-space: pre-line; color: var(--ink); }
.product-price { margin-top: .45em; color: #533568; font-size: clamp(20px, 1.35vw, 27px); font-weight: 700; line-height: 1.35; }
.price-rate-credit { display: block; width: fit-content; margin-top: 2px; color: inherit; font-size: 11px; font-weight: 400; opacity: .75; }
.product-slide.is-jabuticaba .product-price { color: #fff3d7; }
.price-edit-context { margin-bottom: 9px; font-size: 14px; font-weight: 500; line-height: 1.3; }
.price-inline-controls { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.price-inline-field { display: flex; align-items: center; flex: 1 1 180px; max-width: 340px; min-height: 46px; padding: 0 12px; border: 2px solid #8d72a6; border-radius: 11px; background: #fff; color: #412b51; box-shadow: 0 6px 20px #281b301c; }
.price-inline-input { flex: 1 1 auto; min-width: 0; width: 100%; padding: 8px 2px; border: 0; outline: 0; background: transparent; color: inherit; font: inherit; }
.price-inline-field:focus-within { box-shadow: 0 0 0 3px #ae91c361; }
.price-inline-field span { flex: 0 0 auto; margin-left: 7px; font-size: 13px; font-weight: 600; white-space: nowrap; }
.price-inline-actions { display: flex; flex: 0 0 auto; gap: 8px; }
.price-inline-action { display: grid; place-items: center; width: 46px; height: 46px; padding: 0; border: 0; border-radius: 11px; font-size: 24px; line-height: 1; }
.price-inline-action.is-save { background: #3c7a55; color: white; }
.price-inline-action.is-cancel { background: #eee9f1; color: #51366a; }
.price-inline-action:hover { filter: brightness(1.08); }
.price-inline-error { display: block; margin-top: 7px; color: #a73434; font-size: 13px; font-weight: 500; }
.product-slide.is-jabuticaba .price-inline-error { color: #ffe1df; }
.product-info p { margin: 0; white-space: pre-line; padding-top: 5px }
.product-info > p { flex: 0 0 auto; padding: 1.042vw 0 1.458vw; font-size: 1.042vw; line-height: 1.51vw; }
.flavor-info { position: relative; padding-top: 1.615vw; }
.flavor-info::before { content: ""; position: absolute; left: 0; top: 0; width: 1.042vw; height: 2px; background: var(--accent); }
.flavor-info h2 { margin: 0; font-size: 1.146vw; line-height: 1.771vw; font-weight: 700; }
.flavor-info > p { padding-right: .8vw; font-size: .938vw; line-height: 1.771vw; }
/* Reusable copy layout shared by the bonsai, podocarpus and jujube slides.
   Product-specific image framing stays in the image selectors above. */
.product-slide.is-standard-product .product-info { width: 48.438vw; min-height: 27.932vw; padding: 0 5.208vw 0 2.083vw; }
.product-slide.is-standard-product .product-info h1 { margin: 0; padding-top: 4.76vw; font-size: 2.5vw; line-height: 1.4; font-weight: 400; color: var(--ink); }
.product-slide.is-standard-product .product-info > p { padding: 1.042vw 0 1.458vw; font-size: 1.042vw; line-height: 1.51vw; }
.product-slide.is-standard-product .flavor-info { padding-top: 1.615vw; }
.product-slide.is-standard-product .flavor-info h2 { font-size: 1.146vw; line-height: 1.771vw; font-weight: 700; }
.product-slide.is-standard-product .flavor-info > p { padding-right: .8vw; font-size: .938vw; line-height: 1.771vw; }
.slide-controls { display: none; position: absolute; top: 9.583vw; right: 0; width: 5.208vw; color: #526252; }
.product-viewer.has-gallery .slide-controls { display: block; }
.slide-controls button { display: flex; align-items: center; justify-content: center; width: 100%; height: 4.167vw; padding: 0; border: 0; background: #f6f7eeeb; transition: background .15s; }
.slide-controls button:hover:not(:disabled) { background: #fffef8; }
.slide-controls button:disabled { opacity: .35; cursor: default; }
.slide-controls svg { width: 1.5vw; height: 1.1vw; fill: none; stroke: currentColor; stroke-width: 1.5; }
.page-counter { height: 4.167vw; display: flex; align-items: center; justify-content: center; gap: .3em; font-size: 1.25rem; border-block: 1px solid #e0e7d9; background: #e8eee2; }
.product-thumbnails { display: flex; justify-content: safe center; gap: 3.6vw; padding: 1.5vw 1.5vw 1.0vw; overflow-x: auto; background: #fff; scrollbar-width: thin; scrollbar-color: #bbb #f7f7f7; }
.product-thumbnails::before, .product-thumbnails::after { display: none; }
.product-thumbnail { position: relative; flex: 0 0 9.469vw; height: 7.360vw; padding: .625vw 0 0; border: 0; background: transparent; }
.product-thumbnail > img { display: block; width: 100%; height: 100%; object-fit: contain; }
.product-thumbnail:first-child > img { width: 100%; max-width: 100%; margin: 0 auto; }
.product-thumbnail[aria-pressed="true"]::before { content: ""; position: absolute; z-index: 2; left: 50%; top: -.781vw; transform: translateX(-50%); border: .375vw solid transparent; border-top-color: var(--accent); }
.thumbnail-label { display: flex; opacity: 0; position: absolute; width: 6.2vw; height: 6.2vw; left: 50%; top: 50%; transform: translate(-50%, -50%); flex-direction: column; justify-content: center; align-items: center; border-radius: 50%; background: #f2f2f2f2; line-height: 1.25; transition: opacity .18s; pointer-events: none; }
.thumbnail-text { position: relative; display: block;  max-width: min(13vw, 220px); padding: .15vw .4vw; white-space: normal; overflow-wrap: anywhere; word-break: normal; font-size: 1.144vw; text-align: center; }
.thumbnail-arrow { position: relative; display: block; padding: 0 .4vw; background: #f2f2f2f2; font-size: .9vw; line-height: 1; }
.product-thumbnail:hover, .product-thumbnail:focus-visible, .product-thumbnail[aria-pressed="true"] { z-index: 3; }
.product-thumbnail:hover .thumbnail-label, .product-thumbnail:focus-visible .thumbnail-label, .product-thumbnail[aria-pressed="true"] .thumbnail-label { opacity: 1; }
.product-categories { display: flex; justify-content: safe center; overflow-x: auto; scrollbar-width: thin; scrollbar-color: #bbb #f7f7f7; border-top: 1px solid #dadada; }
.category-button { flex-shrink: 0; min-height: 4.01vw; position: relative; padding: 0 1.95vw; border: 0; border-top: .156vw solid transparent; background: white; font-size: 1.146vw; color: #bbb; white-space: nowrap; }
.category-button sup { position: relative; top: -.15em; padding-left: .25em; font-size: .8em; }
.category-button:hover, .category-button[aria-pressed="true"] { border-top-color: var(--accent); color: var(--ink); }
.load-message { padding: 20px; text-align: center; }
.price-dialog { width: min(92vw, 620px); max-height: 85vh; padding: 30px; border: 0; border-radius: 14px; box-shadow: 0 20px 70px #20162655; color: var(--ink); }
.price-dialog::backdrop { background: #1b1327a8; }
.price-dialog h2 { margin: 0 36px 20px 0; font-size: 24px; }
.price-dialog label { display: block; margin-bottom: 8px; }
.price-dialog input { min-width: 0; width: 100%; padding: 11px 12px; border: 1px solid #bdb2c6; border-radius: 6px; font: inherit; }
.price-dialog input:focus-visible { outline: 2px solid var(--accent); }
.price-dialog-close { position: absolute; top: 14px; right: 16px; width: 34px; height: 34px; padding: 0; border: 0; background: transparent; font-size: 28px; line-height: 1; }
.price-save { min-height: 42px; padding: 8px 24px; border: 0; border-radius: 6px; background: #51366a; color: #fff; font-weight: 600; }
.price-message { min-height: 1.5em; margin: 12px 0; color: #a73434; }
@media (min-width: 769px) {
  html, body { height: 100%; overflow: hidden; }
  body { display: flex; flex-direction: column; }
  main { min-height: 0; overflow: hidden; flex: 1 1 auto; display: flex; flex-direction: column; }
  .product-viewer { height: auto; min-height: 0; flex: 1 1 0; overflow-y: auto; }
  .product-image { position: relative; left: -3.2vw; top: 2.2vw; }
  .product-slide:is(.is-jabuticaba, .is-bonsai) .product-image { top: 0vw; }
  .product-thumbnails { flex: 0 0 auto; }
  .product-viewer.is-jabuticaba { background-image: url("images/jabuticaba-desktop-background.webp"); background-position: center top; background-size: cover; background-repeat: no-repeat; }
  .product-viewer.is-jabuticaba::after { content: ""; position: absolute; z-index: 0; inset: 0; pointer-events: none; background: linear-gradient(to bottom, #43274f00 7%, #43274f18 12%, #43274fbf 20%, #43274ff5 26%, #43274f 31%); }
  .outgoing-slide.is-jabuticaba-outgoing::before { background: linear-gradient(90deg, #43274f00 20%, #43274f30 48%, #43274fc9 100%); }
}
@media (min-width: 1451px) {
  .product-slide.is-standard-product { align-items: center; padding-top: 3vw; padding-bottom: 3vw; }
  .product-slide.is-standard-product .product-info { width: min(59vw, 1100px); min-height: 0; padding: 0 3vw 0 1vw; }
  .product-slide.is-standard-product .product-info h1 { padding-top: 0; font-size: clamp(36px, 2.2vw, 54px); line-height: 1.25; }
  .product-slide.is-standard-product .product-info > p { padding: 1.042vw 0 1.458vw; font-size: clamp(18px, 1.05vw, 24px); line-height: 1.55; }
  .product-slide.is-standard-product .flavor-info { padding-top: clamp(18px, 1.6vw, 30px); }
  .product-slide.is-standard-product .flavor-info h2 { font-size: clamp(20px, 1.25vw, 26px); line-height: 1.5; }
  .product-slide.is-standard-product .flavor-info > p { font-size: clamp(17px, 1vw, 23px); line-height: 1.55; }
  .product-slide.is-jabuticaba { align-items: center; padding: 3vw 0 3vw 12vw; }
  .product-slide.is-jabuticaba .product-image { flex: 0 0 clamp(320px, 22vw, 560px); width: clamp(320px, 22vw, 560px); left: -1vw; top: 0; }
  .product-slide.is-jabuticaba .product-image img[src*="jabuticaba-trunk-retouched"] { max-height: min(62vh, 620px); padding-top: 0; }
  .product-slide.is-jabuticaba .product-info { width: min(59vw, 1100px); min-height: 0; padding: 0 3vw 0 1vw; }
  .product-slide.is-jabuticaba .product-info h1 { padding-top: 0; font-size: clamp(36px, 2.2vw, 54px); line-height: 1.25; }
  .product-slide.is-jabuticaba .product-info > p { font-size: clamp(18px, 1.05vw, 24px); line-height: 1.55; }
  .product-slide.is-jabuticaba .flavor-info { padding-top: clamp(18px, 1.6vw, 30px); }
  .product-slide.is-jabuticaba .flavor-info h2 { font-size: clamp(20px, 1.25vw, 26px); line-height: 1.5; }
  .product-slide.is-jabuticaba .flavor-info > p { font-size: clamp(17px, 1vw, 23px); line-height: 1.55; }
}
@media (max-width: 1000px) and (min-width: 769px) {
  #main-nav { gap: 1.4vw; padding-inline: 2vw; }
  .page-counter { font-size: 1.5vw; }
}
@media (min-width: 1101px) and (max-width: 1450px) {
  .product-slide.is-standard-product .product-info { width: 54vw; }
  .product-slide.is-standard-product .product-info h1 { padding-top: 6vw; font-size: clamp(38px, 3vw, 44px); }
  .product-slide.is-standard-product .product-info > p { font-size: clamp(20px, 1.55vw, 22px); line-height: 1.6; }
  .product-slide.is-standard-product .flavor-info h2 { font-size: clamp(20px, 1.55vw, 22px); line-height: 1.5; }
  .product-slide.is-standard-product .flavor-info > p { font-size: clamp(18px, 1.42vw, 20px); line-height: 1.6; }
  .product-slide { padding-left: 10vw; padding-top: max(9.569vw, 7vh); }
  .product-image { flex-basis: 34vw; width: 34vw; }
  .product-slide.is-bonsai .product-image { height: 38vw; }
  .product-info { width: 54vw; }
  .product-info h1 { font-size: clamp(38px, 3vw, 44px); padding-top: 6vw; }
  .product-info > p { font-size: clamp(20px, 1.55vw, 22px); line-height: 1.6; }
  .flavor-info h2 { font-size: clamp(20px, 1.55vw, 22px); line-height: 1.5; }
  .flavor-info > p { font-size: clamp(18px, 1.42vw, 20px); line-height: 1.6; }
  .thumbnail-text { max-width: 78px; font-size: 17px; }
  .thumbnail-arrow { font-size: 14px; }
  .product-slide.is-jabuticaba { padding-left: 9vw; }
  .product-slide.is-jabuticaba .product-image { flex-basis: 29vw; width: 29vw; left: -1vw; }
  .product-slide.is-jabuticaba .product-image img[src*="jabuticaba-trunk-retouched"] { max-height: min(58vh, 580px); padding-top: 0; }
  .product-slide.is-jabuticaba .product-info { width: 58vw; padding-left: 1vw; padding-right: 4vw; }
  .product-slide.is-jabuticaba .product-info h1 { padding-top: 4vh; font-size: clamp(36px, 3vw, 44px); }
}
@media (min-width: 769px) and (max-width: 1100px) {
  .product-slide.is-standard-product { padding: 26px 6vw 42px; flex-direction: column; align-items: center; }
  .product-slide.is-standard-product .product-info { width: 100%; min-height: 0; padding: 0; }
  .product-slide.is-standard-product .product-info h1 { padding-top: 18px; font-size: 38px; line-height: 1.3; }
  .product-slide.is-standard-product .product-info > p { padding: 18px 0; font-size: 21px; line-height: 1.6; }
  .product-slide.is-standard-product .flavor-info { padding-top: 16px; }
  .product-slide.is-standard-product .flavor-info h2 { font-size: 22px; line-height: 1.5; }
  .product-slide.is-standard-product .flavor-info > p { font-size: 20px; line-height: 1.6; }
  .site-header { height: 72px; }
  .nav-inner { width: 100%; }
  .brand { flex-basis: 240px; gap: 10px; padding-left: 8px; }
  .brand img { width: 68px; height: 68px; }
  .brand-name { font-size: 21px; }
  .language-switch { margin-left: auto; padding-right: 24px; font-size: 19px; }
  .product-slide { padding: 26px 6vw 42px; flex-direction: column; align-items: center; }
  .product-image, .product-slide.is-bonsai .product-image { flex: none; left: 0; top: 0; width: min(58vw, 540px); height: min(40vh, 610px); }
  .product-image img { max-height: 100%; }
  .product-slide.is-bonsai .product-image img[src*="jabuticaba-bonsai-cutout"] { max-height: 100%; }
  .product-info { width: 100%; min-height: 0; padding: 0; }
  .product-info h1 { padding-top: 18px; font-size: 38px; line-height: 1.3; }
  .product-info > p { padding: 18px 0; font-size: 21px; line-height: 1.6; }
  .flavor-info { padding-top: 16px; }
  .flavor-info h2 { font-size: 22px; line-height: 1.5; }
  .flavor-info > p { font-size: 20px; line-height: 1.6; }
  .product-viewer.has-gallery .slide-controls { top: 185px; right: 20px; left: auto; width: 54px; }
  .slide-controls button, .page-counter { height: 48px; }
  .slide-controls svg { width: 23px; height: 18px; }
  .page-counter { font-size: 15px; }
  .product-thumbnails { flex-basis: 130px; align-items: center; gap: 30px; padding: 13px; }
  .product-thumbnail { flex-basis: 120px; height: 100px; }
  .thumbnail-label { width: 80px; height: 80px; }
  .thumbnail-text { max-width: 82px; font-size: 17px; }
  .thumbnail-arrow { font-size: 14px; }
  .product-slide.is-jabuticaba .product-image { width: min(52vw, 480px); height: min(42vh, 380px); }
  .product-slide.is-jabuticaba .product-image img[src*="jabuticaba-trunk-retouched"] { max-height: 100%; padding-top: 0; }
  .product-slide.is-jabuticaba .product-info { width: 100%; padding: 0; }
  .product-slide.is-jabuticaba .product-info h1 { font-size: clamp(34px, 3.7vw, 40px); }
  .product-slide.is-jabuticaba .product-info > p { font-size: clamp(20px, 2vw, 22px); line-height: 1.6; }
  .product-slide.is-jabuticaba .flavor-info h2 { font-size: 22px; }
  .product-slide.is-jabuticaba .flavor-info > p { font-size: 20px; line-height: 1.6; }
}
@media (orientation: portrait) and (min-width: 1000px) and (max-width: 1100px) and (min-height: 1200px) {
  .product-price { font-size: 32px; }
  .price-inline-field { max-width: 450px; min-height: 58px; }
  .price-inline-field span { font-size: 18px; }
  .price-inline-action { width: 58px; height: 58px; }
  .price-rate-credit { font-size: 14px; }
  .product-slide.is-standard-product .product-info h1 { font-size: 44px; line-height: 1.3; }
  .product-slide.is-standard-product .product-info > p { font-size: 25px; line-height: 1.65; }
  .product-slide.is-standard-product .flavor-info h2 { font-size: 28px; line-height: 1.5; }
  .product-slide.is-standard-product .flavor-info > p { font-size: 24px; line-height: 1.65; }
  .site-header { height: 90px; }
  .brand { flex-basis: 280px; gap: 12px; padding-left: 10px; }
  .brand img { width: 82px; height: 82px; }
  .brand-name { font-size: 25px; }
  .language-switch { font-size: 24px; gap: 10px; padding-right: 28px; }
  .product-slide:not(.is-jabuticaba) .product-info h1 { font-size: 44px; line-height: 1.3; }
  .product-slide:not(.is-jabuticaba) .product-info > p { font-size: 25px; line-height: 1.65; }
  .product-slide:not(.is-jabuticaba) .flavor-info h2 { font-size: 28px; line-height: 1.5; }
  .product-slide:not(.is-jabuticaba) .flavor-info > p { font-size: 24px; line-height: 1.65; }
  .product-viewer.has-gallery .slide-controls { top: 200px; right: 0px; width: 110px; }
  .product-viewer.has-gallery .slide-controls button, .product-viewer.has-gallery .page-counter { height: 85px; font-size: 30px; }
  .product-viewer.has-gallery .slide-controls svg { width: 32px; height: 25px; }
  .product-thumbnails { flex-basis: 174px; gap: 34px; padding: 18px; }
  .product-thumbnail { flex-basis: 148px; height: 132px; padding-top: 8px; }
  .thumbnail-label { width: 98px; height: 98px; }
  .thumbnail-text { width: min(112px, 11vw); max-width: min(112px, 11vw); font-size: 19px; }
  .thumbnail-arrow { font-size: 17px; }
  .product-slide.is-jabuticaba .product-image { width: min(62vw, 560px); height: min(50vh, 520px);padding-top: 5vw }
  .product-slide.is-jabuticaba .product-image img[src*="jabuticaba-bowl-gallery"],
  .product-slide.is-jabuticaba .product-image img[src*="jabuticaba-hand-gallery"] { transform: translateY(36px); }
  .product-slide.is-jabuticaba .product-image img[src*="jabuticaba-trunk-retouched"] { max-height: 100%; }
  .product-slide.is-jabuticaba .product-info h1 { font-size: clamp(40px, 4.3vw, 48px); }
  .product-slide.is-jabuticaba .product-info > p { font-size: clamp(23px, 2.5vw, 26px); line-height: 1.65; }
  .product-slide.is-jabuticaba .flavor-info h2 { font-size: 26px; }
  .product-slide.is-jabuticaba .flavor-info > p { font-size: 23px; line-height: 1.65; }
}
@media (orientation: landscape) and (min-width: 1200px) and (max-width: 1400px) and (min-height: 900px) and (max-height: 1100px) {
  .product-price { font-size: 30px; }
  .price-inline-field { max-width: 420px; min-height: 54px; }
  .price-inline-field span { font-size: 17px; }
  .price-inline-action { width: 54px; height: 54px; }
  .price-rate-credit { font-size: 13px; }
  .product-viewer.has-gallery .slide-controls { top: 45%; right: 0px; width: 82px; transform: translateY(-50%); }
  .product-viewer.has-gallery .slide-controls button, .product-viewer.has-gallery .page-counter { height: 72px; font-size: 21px; }
  .product-viewer.has-gallery .slide-controls svg { width: 32px; height: 25px; }
  .product-slide.is-jabuticaba .product-image img[src*="jabuticaba-bowl-gallery"],
  .product-slide.is-jabuticaba .product-image img[src*="jabuticaba-hand-gallery"] { transform: translateY(32px); }
}
@media (max-width: 768px) {
  .product-slide.is-standard-product { padding: 25px 24px 36px; display: flex; flex-direction: column; align-items: center; }
  .product-slide.is-standard-product .product-info { width: 100%; min-height: 0; padding: 0; }
  .product-slide.is-standard-product .product-info h1 { padding-top: 10px; font-size: 26px; line-height: 1.3; }
  .product-slide.is-standard-product .product-info > p { padding: 15px 0; font-size: 14px; line-height: 1.65; }
  .product-slide.is-standard-product .flavor-info { padding-top: 15px; }
  .product-slide.is-standard-product .flavor-info h2 { font-size: 17px; line-height: 1.7; }
  .product-slide.is-standard-product .flavor-info > p { padding-right: 0; font-size: 14px; line-height: 1.65; }
  .site-header { height: 66px; }
  .nav-inner { width: 100%; padding: 0 20px; }
  .brand { flex: 0 0 160px; gap: 6px; margin-left: -20px; padding-left: 0px; }
  .brand img { width: 70px; height: 70px; object-fit: contain; }
  .brand-name { font-size: 16px; letter-spacing: .05em; }
  .menu-toggle { display: flex; flex-direction: column; justify-content: center; gap: 5px; order: 3; margin-left: 6px; padding: 6px; border: 0; background: transparent; }
  .language-switch { margin-left: auto; font-size: 15px; gap: 4px; }
  .menu-toggle span { width: 20px; height: 1px; background: #444; }
  #main-nav { display: none; position: absolute; top: 66px; left: 0; right: 0; padding: 16px 24px; background: white; box-shadow: 0 12px 16px #0001; }
  #main-nav.is-open { display: flex; flex-direction: column; gap: 0; }
  .nav-link, .nav-dropdown > summary { font-size: 13px; min-height: 40px; }
  .language { padding-left: 16px; border: 0; }
  .language summary { gap: 8px; }
  .chevron { width: 5px; height: 5px; }
  .dropdown-panel { position: static; border: 0; box-shadow: none; padding-left: 12px; }
  .dropdown-panel a { padding: 10px; font-size: 12px; }
  .language .dropdown-panel { position: absolute; min-width: 140px; padding: 8px; box-shadow: 0 8px 16px #0001; }
  .product-viewer { height: calc(100vh - 174px); height: calc(100dvh - 174px); min-height: 420px; overscroll-behavior-y: auto; -webkit-overflow-scrolling: touch; }
  .product-viewer.is-jabuticaba { background-image: url("images/jabuticaba-plum-background-berry-lower-v3.webp"); background-size: calc(100% + 28px) auto; background-position: center calc(-16px - 25vw); background-repeat: no-repeat; }
  .product-viewer.is-jabuticaba::after { display: none; }
  .product-viewer.is-jabuticaba::before, .outgoing-slide.is-jabuticaba-outgoing::before { display: none; }
  .product-slide { min-height: 100%; padding: 25px 24px 36px; display: flex; flex-direction: column; align-items: center; }
  .product-image { flex-basis: auto; width: min(75vw, 350px); }
  .product-slide.is-jujube .product-image { margin-bottom: -24px; }
  .product-image img { height: auto; transform: none; }
  .product-slide.is-jabuticaba .product-image img[src*="jabuticaba-bowl-gallery"],
  .product-slide.is-jabuticaba .product-image img[src*="jabuticaba-hand-gallery"] { transform: translateY(26px); }
  .product-image img[src*="jabuticaba-trunk-retouched"] { max-height: min(38vh, 320px); }
  .product-image img[src*="jabuticaba-bonsai-cutout"] { max-height: min(42vh, 350px); }
  .product-slide.is-podocarpus .product-image { width: min(88vw, 400px); margin-bottom: 10px; }
  .product-image img[src*="podocarpus-bonsai-taller"] { width: 100%; margin-left: 0; transform: scaleY(1.08); }
  .product-info { width: 100%; min-height: 0; padding: 0px 0 0; }
  .product-info h1 { font-size: 26px; padding-top: 30px; line-height: 1.3; }
  .product-price { font-size: 20px; }
  .price-inline-field { flex-basis: 100%; max-width: none; }
  .price-inline-actions { margin-left: auto; }
  .product-slide.is-jabuticaba { display: grid; grid-template-columns: 53% 47%; column-gap: 0; align-content: start; align-items: start; }
  .product-slide.is-jabuticaba .product-image { grid-column: 1; grid-row: 1; position: relative; left: -16px; width: calc(80% + 16px); }
  .product-slide:is(.is-jabuticaba, .is-bonsai) .product-image { position: relative; top: -10px; }
  .product-slide.is-jabuticaba .product-image { top: 4px; }
  .product-slide.is-bonsai .product-image { height: min(42vh, 350px); margin-bottom: -20px; }
  .product-slide.is-jabuticaba .product-image img { margin-left: 7%; }
  .product-slide.is-jabuticaba .product-info { display: contents; }
  .product-slide.is-jabuticaba .product-info h1 { grid-column: 2; grid-row: 1; align-self: start; padding: 40px 0 0 0px; font-size: clamp(22px, 6.7vw, 27px); line-height: 1.28; letter-spacing: -.015em; white-space: pre-line; }
  .product-slide.is-jabuticaba .product-price { grid-column: 1 / -1; grid-row: 2; margin-top: 10px; }
  .product-slide.is-jabuticaba .product-info > p { grid-column: 1 / -1; grid-row: 3; padding-top: 15px; }
  .product-slide.is-jabuticaba .flavor-info { grid-column: 1 / -1; grid-row: 4; }
  .product-info > p { padding: 15px 0 15px; font-size: 14px; line-height: 1.65; }
  .flavor-info { padding-top: 15px; }
  .flavor-info::before { width: 20px; }
  .flavor-info h2 { font-size: 17px; line-height: 1.7; }
  .flavor-info > p { padding-right: 0; font-size: 14px; line-height: 1.65; }
  .slide-controls { top: 180px; right: 0; left: auto; width: 50px; }
  .slide-controls button, .page-counter { height: 50px; font-size: 13px; }
  .slide-controls svg { width: 22px; height: 18px; }
  .product-thumbnails { height: 108px; min-height: 108px; align-items: center; gap: 15px; padding: 13px; }
  .product-thumbnails::before, .product-thumbnails::after { display: none; }
  .product-thumbnail { flex-basis: 100px; height: 86px; padding-top: 6px; }
  .product-thumbnail[aria-pressed="true"]::before { top: -9px; border-width: 4px; }
  .thumbnail-label { width: 70px; height: 70px; }
  .thumbnail-text { max-width: 120px; padding: 2px 5px; font-size: 13px; }
  .thumbnail-arrow { padding: 0 5px; font-size: 12px; }
  .product-categories { justify-content: flex-start; }
  .category-button { min-height: 55px; padding: 0 20px; font-size: 13px; border-top-width: 2px; }
  .price-dialog { width: calc(100vw - 24px); padding: 22px 18px; }
  .price-dialog h2 { font-size: 21px; }
}
@media (max-width: 380px) {
  .brand { flex-basis: 140px; gap: 3px; }
  .brand img { width: 62px; height: 62px; }
  .brand-name { font-size: 12px; }
  .language-switch { font-size: 12px; gap: 3px; }
  .nav-inner { padding-right: 8px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { transition: none !important; } }
