:root { --bg:#fff; --panel:#fff; --surface:#ffffff; --line:#cfcfcf; --line-soft:#dddddd; --text:#2a2a2a; --muted:#646464; --orange:#f47c17; --orange-dark:#d5660c; --green:#24993a; --green-dark:#1f8332; --shadow:0 10px 28px rgba(0,0,0,0.08); --radius-xl:18px; --radius-lg:14px; --radius-md:10px; --radius-sm:8px; }
button { font:inherit; }
img { display:block; max-width:100%; }
.single-gallery__stage { overflow: hidden; position: relative; cursor: zoom-in; }
.single-gallery__image { display: block; width: 100%; height: auto; transform: scale(1); transform-origin: 50% 50%; transition: transform .18s ease-out; will-change: transform; }
.single-gallery__stage.is-zoomed .single-gallery__image { transition: transform .08s linear; }
.single-field { display:grid; grid-template-columns:1fr; align-items:stretch; gap:10px; }
.single-field.single-field--inline { grid-template-columns:120px minmax(0,1fr); align-items:center; }
.single-field.single-field--inline .single-field__label { margin:0; }
.single-field.single-field--inline .single-select { width:100%; }
@media (max-width:760px) { .single-field.single-field--inline { grid-template-columns:1fr; gap:6px; } }
.single-page { min-height:100vh; padding:10px 0 40px; }
.single-wrap { width:min(1250px,calc(100% - 40px)); margin:0 auto; }
.single-breadcrumbs { display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin:0 0 10px; color:var(--muted); font-size:13px; }
.single-breadcrumbs__item { color:var(--muted); }
.single-breadcrumbs__item:hover { color:var(--orange); }
.single-breadcrumbs__sep { color:#9a9a9a; }
.single-breadcrumbs__current { color:var(--text); font-weight:700; }
.single-hero { display:grid; grid-template-columns:minmax(0,2fr) minmax(37%,1fr); gap:10px; align-items:start; }
.single-gallery-card { background:var(--panel); border:1px solid var(--line); border-radius:var(--radius-xl); padding:10px; box-shadow:var(--shadow); }
.single-gallery { display:grid; grid-template-columns:168px minmax(0,1fr); gap:10px; align-items:stretch; }
.single-gallery--cover-only { grid-template-columns:minmax(0,1fr); }
.single-gallery__thumbs { display:flex; flex-direction:column; gap:10px; align-self:stretch; height:100%; }
.single-gallery__thumbs.is-hidden { display:none; }
.single-gallery__thumbs > .single-thumb { flex:1 1 0; min-height:0; display:block; overflow:hidden; }
.single-thumb { width:100%; height:100%; border:1px solid var(--line-soft); border-radius:var(--radius-md); background:#fff; padding:0; overflow:hidden; cursor:pointer; transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease; }
.single-thumb:hover { border-color:#bdbdbd; transform:translateY(-1px); }
.single-thumb.is-active { border-color:var(--orange); box-shadow:0 0 0 2px rgba(244,124,23,0.16); }
.single-thumb--empty { display:flex; align-items:center; justify-content:center; min-height:120px; color:var(--muted); }
.single-thumb__image { width:100%; height:100%; object-fit:cover; display:block; }
.single-gallery__stage { aspect-ratio:1 / 1; position:relative; border:1px solid var(--line-soft); border-radius:var(--radius-md); overflow:hidden; background:#fff; }
.single-gallery__stage img { width:100%; height:100%; object-fit:cover; display:block; }
.single-gallery__image { width:100%; height:100%; min-height:580px; object-fit:cover; }
.single-gallery__placeholder { display:flex; align-items:center; justify-content:center; min-height:580px; color:var(--muted); font-size:18px; }
.single-gallery__badge { position:absolute; right:12px; bottom:12px; display:flex; align-items:center; justify-content:center; width:140px; box-shadow:var(--shadow); background:#fff; padding:10px; border-radius:12px; }
.single-gallery__badge-image { width:100%; height:auto; display:block; }
.single-gallery__nav { position:absolute; top:50%; transform:translateY(-50%); width:44px; height:44px; border:0; border-radius:999px; background:rgba(255,255,255,.92); color:#2a2a2a; box-shadow:var(--shadow); display:flex; align-items:center; justify-content:center; cursor:pointer; z-index:2; font-size:28px; line-height:1; }
.single-gallery__nav:hover { background:#fff; }
.single-gallery__nav--prev { left:12px; }
.single-gallery__nav--next { right:12px; }
.single-sidebar { position:sticky; top:10px; display:grid; gap:10px; }
.single-card { background:var(--panel); border:1px solid var(--line); border-radius:var(--radius-lg); box-shadow:var(--shadow); padding:10px; }
.single-purchase-card { padding:0 0 14px; overflow:hidden; }
.single-meta-row { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:8px 12px; padding:16px 20px 0; }
.single-meta-rating { display:inline-flex; align-items:center; gap:6px; }
.single-rating__stars { color:#f29111; letter-spacing:1px; font-size:14px; line-height:1; }
.single-rating__count { color:#4b4b4b; font-size:13px; }
.single-meta-code { color:#4b4b4b; font-size:13px; }
.single-meta-badge { color:#3c3c3c; font-size:13px; }
.single-title { margin:8px 15px 10px; font-size:20px; line-height:1.35; text-align:center; color:#24303c; }
.single-subtitle { margin:0 20px 14px; color:var(--muted); font-size:15px; line-height:1.55; text-align:center; }
.single-price-box { padding:0 20px 12px; text-align:center; }
.single-price-line { display:flex; justify-content:center; align-items:center; gap:8px; min-height:24px; margin:0 0 4px; }
.single-price-old { color:#6a6a6a; text-decoration:line-through; font-size:18px; font-weight:700; }
.single-price-discount { color:#14913c; font-size:16px; font-weight:700; }
.single-price-current { color:var(--orange); font-size:28px; font-weight:800; line-height:1.1; }
.single-stock-line { margin:8px 0 0; color:#3c7e28; font-size:14px; font-weight:700; }
.is-hidden { display:none !important; }
.single-fields { display:grid; gap:10px; padding:0 16px 10px; }
.single-field { display:grid; grid-template-columns:1fr; align-items:stretch; gap:10px; }
.single-field__label { display:block; font-size:15px; color:#333; font-weight:700; }
.single-select { width:100%; height:42px; border:1px solid #c8c8c8; border-radius:var(--radius-sm); background:#fff; padding:0 14px; color:#2f2f2f; font-size:20px; font-weight:700; outline:none;text-align: center; }
.single-select:focus { border-color:var(--orange); box-shadow:0 0 0 2px rgba(244,124,23,0.12); }
.single-select option:disabled { color:#9d9d9d; }
.single-variant-option-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(calc((100% - 50px) / 5), 1fr)); gap: 5px; }
.single-variant-option { width:100%; border:1px solid var(--line-soft); border-radius:var(--radius-md); background:#fff; padding:6px; cursor:pointer; transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease,opacity .2s ease; }
.single-variant-option:hover { border-color:#bdbdbd; transform:translateY(-1px); }
.single-variant-option.is-active { border-color:var(--orange); box-shadow:0 0 0 2px rgba(244,124,23,0.14); }
.single-variant-option.is-disabled { opacity:.45; cursor:not-allowed; transform:none; }
.single-variant-option__media { display:block;     width: 100%; border-radius:5px; overflow:hidden; background:#f1f1f1; }
.single-variant-option__image { width:100%; height:100%; object-fit:cover; display:block; }
.single-variant-option__placeholder { display:flex; align-items:center; justify-content:center; width:100%; height:100%; color:#888; font-size:12px; }
.single-variant-option__content { display:grid; gap:4px; min-width:0; }
.single-variant-option__label { display:block; color:#7a7a7a; font-size:12px;  letter-spacing:.02em; }
.single-variant-option__name { display: block; color: #2f3f50; font-size: 11px; font-weight: 600; line-height: 1.35; margin-top: 5px; letter-spacing: -0.3px; }
.single-actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; padding:0 16px; }
.single-button { display:inline-flex; align-items:center; justify-content:center; min-height:44px; border:0; border-radius:12px; color:#fff; font-size:16px; font-weight:700; cursor:pointer; transition:transform .2s ease,filter .2s ease; }
.single-button:hover { transform:translateY(-1px); filter:brightness(.98); }
.single-button--primary { background:var(--orange); }
.single-button--primary:hover { background:var(--orange-dark); }
.single-button--success { background:var(--green); }
.single-button--success:hover { background:var(--green-dark); }
.single-installment-row { display:flex; align-items:center; justify-content:center; gap:8px; padding:12px 18px 0; color:#2b7f2d; font-size:14px; text-align:center; }
.single-installment-icon { font-size:16px; }
.single-spec-highlight { padding:10px 16px; text-align:center; }
.single-card-title { font-size:14px; font-weight:800; color:#333; }
.single-spec-inline { margin:10px 0 0; color:#444; font-size:15px; line-height:1.55;  }
.single-whatsapp-box { display:flex; align-items:center; gap:12px; padding:14px 18px; }
.single-whatsapp-text { font-size:17px; color:#3f3f3f; }
.single-content { display:grid; gap:10px; margin:10px 0 0; }
.single-description-card { padding:8px 28px 10px; }
.single-section-title { margin:0 0 12px; color:#263443; font-size:18px; line-height:1.35; text-align:center; }
.single-description { color:#313131; font-size:15px; line-height:1.62; text-align:center; }
.single-description p { margin:0 0 14px; }
.single-grid { display:grid; gap:10px; }
.single-grid.two-col { grid-template-columns:repeat(2,minmax(0,1fr)); }
.single-grid.two-col > .single-card { padding:20px; }
.single-feature-grid { display:grid; grid-template-columns:repeat(1,minmax(0,1fr)); gap:10px; }
.single-feature-item { border:1px solid var(--line-soft); border-radius:var(--radius-md); background:#fff; padding:16px; }
.single-feature-item__title { margin:0 0 8px; color:#2f3f50; font-size:16px; }
.single-feature-item__text { margin:0; color:#535353; font-size:14px; line-height:1.58; }
.single-spec-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.single-spec-item { border:1px solid var(--line-soft); border-radius:var(--radius-md); background:#fff; padding:14px; min-height:86px; }
.single-spec-item__label { display:block; color:#737373; font-size:13px;  letter-spacing:.02em; }
.single-spec-item__value { display:block; margin:10px 0 0; color:#263443; font-size:16px; line-height:1.35; }
.single-info-box { text-align:left; }
.single-info-box__text { margin:0; color:#505050; font-size:14px; line-height:1.65; }
.single-variation-list { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.single-variation-card { display:grid; grid-template-columns:110px minmax(0,1fr); gap:14px; align-items:center; width:100%; border:1px solid var(--line-soft); border-radius:var(--radius-md); background:#fff; padding:12px; text-align:left; cursor:pointer; transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease; }
.single-variation-card:hover { transform:translateY(-1px); border-color:#bdbdbd; }
.single-variation-card.is-active { border-color:var(--orange); box-shadow:0 0 0 2px rgba(244,124,23,0.14); }
.single-variation-card__media { width:110px; height:88px; border-radius:10px; overflow:hidden; background:#f1f1f1; }
.single-variation-card__image { width:100%; height:100%; object-fit:cover; }
.single-variation-card__placeholder { display:flex; align-items:center; justify-content:center; width:100%; height:100%; color:#888; font-size:12px; }
.single-variation-card__body { display:grid; gap:6px; }
.single-variation-card__title { color:#2f3f50; font-size:16px; font-weight:700; }
.single-variation-card__price { color:var(--orange); font-size:18px; font-weight:800; }
.single-variation-card__stock { color:#4f7f35; font-size:13px; font-weight:700; }
.single-faq-list { display:grid; gap:10px; }
.single-faq-item { border:1px solid var(--line-soft); border-radius:var(--radius-md); background:#fff; overflow:hidden; }
.single-faq-item__question { list-style:none; cursor:pointer; padding:16px 18px; color:#2f3f50; font-size:15px; font-weight:700; }
.single-faq-item__question::-webkit-details-marker { display:none; }
.single-faq-item__answer { padding:0 18px 16px; color:#505050; font-size:14px; line-height:1.65; }
@media (max-width:1100px) { .single-hero { grid-template-columns:1fr; } }
@media (max-width:900px) { .single-gallery { grid-template-columns:1fr; } }
@media (max-width:900px) { .single-gallery__thumbs { order:2; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media (max-width:900px) { .single-grid.two-col { grid-template-columns:1fr; } }
@media (max-width:900px) { .single-feature-grid { grid-template-columns:1fr; } }
@media (max-width:760px) { .single-wrap { width:min(100%,calc(100% - 14px)); } }
@media (max-width:760px) { .single-gallery-card { padding:8px; } }
@media (max-width:760px) { .single-gallery__stage { min-height:360px; } }
@media (max-width:760px) { .single-gallery__image { min-height:360px; } }
@media (max-width:760px) { .single-gallery__placeholder { min-height:360px; } }
@media (max-width:760px) { .single-title { font-size:20px; } }
@media (max-width:760px) { .single-actions { grid-template-columns:1fr; } }
@media (max-width:760px) { .single-spec-grid { grid-template-columns:1fr; } }
@media (max-width:760px) { .single-description-card { padding:8px 18px 10px; } }
@media (max-width:760px) { .single-variant-option-list { grid-template-columns:1fr; } }
@media (max-width:600px) { .single-gallery__thumbs { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:600px) { .single-variation-card { grid-template-columns:1fr; } }
@media (max-width:600px) { .single-variation-card__media { width:100%; height:180px; } }