/* Venda shop (/shop/, /cart/, /checkout/, /order/…). Loaded only on shop pages; uses the studio tokens. */

.venda-studio .st-shop-intro .st-page-intro__title { max-width: 26ch; }

/* Notices */
.venda-studio .st-shop-notice { margin: 0 0 var(--st-gutter); padding: 16px 20px; border-radius: var(--st-radius-sm); font-size: var(--st-body); line-height: 1.5; }
.venda-studio .st-shop-notice p { margin: 0; }
.venda-studio .st-shop-notice p + p { margin-top: 6px; }
.venda-studio .st-shop-notice--ok { background: var(--st-accent-soft); color: var(--st-ink); }
.venda-studio .st-shop-notice--error { background: #FDECEC; color: #8A1C1C; }

/* Product grid + cards */
.venda-studio .st-shop-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: clamp(16px, 2vw, 24px); }
.venda-studio .st-shop-card { display: flex; flex-direction: column; gap: 14px; padding: clamp(22px, 2.4vw, 32px); border-radius: var(--st-radius); background: var(--st-panel); }
.venda-studio .st-shop-card--featured { background: var(--st-dark); color: var(--st-on-dark); }
.venda-studio .st-shop-card__top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.venda-studio .st-shop-card__type { font-size: var(--st-small); font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--st-ink-faint); }
.venda-studio .st-shop-card--featured .st-shop-card__type { color: var(--st-on-dark-soft); }
.venda-studio .st-shop-card__badge { padding: 5px 12px; border-radius: 999px; background: var(--st-accent); color: var(--st-ink); font-size: 12px; font-weight: 700; }
.venda-studio .st-shop-card__name { margin: 0; font: 700 var(--st-h4, 1.25rem)/1.25 var(--st-font); letter-spacing: -.01em; }
.venda-studio .st-shop-card__name a { color: inherit; text-decoration: none; }
.venda-studio .st-shop-card__summary { margin: 0; color: var(--st-text); line-height: 1.55; }
.venda-studio .st-shop-card--featured .st-shop-card__summary { color: var(--st-on-dark-soft); }
.venda-studio .st-shop-card__price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; margin: 4px 0 0; }
.venda-studio .st-shop-card__price strong { font: 700 clamp(1.5rem, 2.2vw, 1.875rem)/1.1 var(--st-font); letter-spacing: -.02em; }
.venda-studio .st-shop-card__price span, .venda-studio .st-shop-card__price s { color: var(--st-ink-faint); font-size: var(--st-small); }
.venda-studio .st-shop-card--featured .st-shop-card__price span, .venda-studio .st-shop-card--featured .st-shop-card__price s { color: var(--st-on-dark-soft); }
.venda-studio .st-shop-card__features { margin: 0; padding: 0; list-style: none; display: grid; gap: 8px; }
.venda-studio .st-shop-card__features li { position: relative; padding-left: 26px; line-height: 1.45; }
.venda-studio .st-shop-card__features li::before { content: ""; position: absolute; left: 0; top: .3em; width: 16px; height: 16px; border-radius: 50%; background: var(--st-accent-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 8.2l2.2 2.2 4.8-4.8' fill='none' stroke='%23171D2E' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 12px no-repeat; }
.venda-studio .st-shop-card__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; margin-top: auto; padding-top: 8px; }
.venda-studio .st-shop-card__actions form { margin: 0; }
.venda-studio .st-shop-card__more { color: inherit; font-weight: 700; font-size: var(--st-small); }
.venda-studio .st-shop-card--featured .st-btn--dark { background: #fff; color: var(--st-ink); }
/* The site-wide heading colour (Elementor kit) would otherwise win on the dark card */
body.venda-studio #st-page .st-shop-card--featured :is(.st-shop-card__name, .st-shop-card__name a, .st-shop-card__price strong, .st-shop-card__more, .st-shop-card__features li) { color: #fff !important; }

/* Product page */
.venda-studio .st-shop-product { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(280px, 1fr); gap: clamp(24px, 4vw, 64px); align-items: start; }
.venda-studio .st-shop-product__image { display: block; width: 100%; height: auto; border-radius: var(--st-radius); margin-bottom: 32px; }
.venda-studio .st-shop-product__features { margin: 16px 0 32px; }
.venda-studio .st-shop-prose { color: var(--st-text); line-height: 1.7; }
.venda-studio .st-shop-prose > :first-child { margin-top: 0; }

/* Buy box, summary */
.venda-studio .st-shop-buy, .venda-studio .st-shop-summary { position: sticky; top: 100px; display: grid; gap: 18px; padding: clamp(22px, 2.4vw, 32px); border-radius: var(--st-radius); background: var(--st-panel); }
.venda-studio .st-shop-buy__note { margin: 0; font-size: var(--st-small); color: var(--st-ink-soft); }
.venda-studio a.st-shop-buy__note { font-weight: 700; color: var(--st-ink); }
.venda-studio .st-shop-summary h2 { margin: 0; }
.venda-studio .st-shop-summary dl { margin: 0; display: grid; gap: 10px; }
.venda-studio .st-shop-summary dl > div { display: flex; justify-content: space-between; gap: 16px; }
.venda-studio .st-shop-summary dt, .venda-studio .st-shop-summary dd { margin: 0; }
.venda-studio .st-shop-summary__total { padding-top: 12px; border-top: 1px solid var(--st-line); font-weight: 700; font-size: 1.125rem; }
.venda-studio .st-shop-summary__lines { margin: 0; padding: 0; list-style: none; display: grid; gap: 12px; }
.venda-studio .st-shop-summary__lines li { display: flex; justify-content: space-between; gap: 16px; line-height: 1.4; }
.venda-studio .st-shop-summary__lines small { display: block; color: var(--st-ink-faint); font-size: var(--st-small); }

/* Forms */
.venda-studio .st-shop-form { display: grid; gap: 16px; margin: 0; }
.venda-studio .st-shop-form--grid { grid-template-columns: 1fr 1fr; gap: 20px; align-content: start; }
.venda-studio .st-shop-form--inline { grid-template-columns: minmax(0, 1fr) auto; align-items: end; margin-top: 24px; max-width: 560px; }
.venda-studio .st-shop-field { display: grid; gap: 8px; margin: 0; font-weight: 700; font-size: var(--st-small); color: var(--st-ink); }
.venda-studio .st-shop-field small { font-weight: 400; color: var(--st-ink-faint); }
.venda-studio .st-shop-field--wide { grid-column: 1 / -1; }
.venda-studio .st-shop-field input, .venda-studio .st-shop-field select, .venda-studio .st-shop-field textarea,
.venda-studio .st-shop-line__qty select {
  width: 100%; min-height: 50px; padding: 12px 16px; border: 1px solid var(--st-line); border-radius: var(--st-radius-sm);
  background: #fff; color: var(--st-ink); font: 400 var(--st-body)/1.4 var(--st-font); box-shadow: none;
}
.venda-studio .st-shop-field textarea { min-height: 110px; resize: vertical; }
.venda-studio .st-shop-field :is(input, select, textarea):focus, .venda-studio .st-shop-line__qty select:focus { outline: 2px solid var(--st-blue); outline-offset: 1px; border-color: transparent; }
.venda-studio .st-shop-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.venda-studio .st-shop-form button[disabled] { opacity: .6; pointer-events: none; }

/* Cart & checkout layout */
.venda-studio .st-shop-checkout { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(280px, 1fr); gap: clamp(24px, 4vw, 64px); align-items: start; }
.venda-studio .st-shop-lines { display: grid; gap: 0; margin: 0; border-top: 1px solid var(--st-line); }
.venda-studio .st-shop-line { display: grid; grid-template-columns: minmax(0, 1fr) 150px 120px auto; align-items: center; gap: 16px; padding: 20px 0; border-bottom: 1px solid var(--st-line); }
.venda-studio .st-shop-line__name { display: block; font-weight: 700; color: var(--st-ink); text-decoration: none; font-size: 1.0625rem; }
.venda-studio .st-shop-line__meta { display: block; margin-top: 4px; font-size: var(--st-small); color: var(--st-ink-soft); }
.venda-studio .st-shop-line__total { text-align: right; }
.venda-studio .st-shop-line__remove { padding: 8px 0; border: 0; background: none; color: var(--st-ink-soft); font: 700 var(--st-small)/1 var(--st-font); text-decoration: underline; cursor: pointer; }
.venda-studio .st-shop-line__remove:hover, .venda-studio .st-shop-line__remove:focus { background: none; color: #8A1C1C; }
.venda-studio .st-shop-empty { display: grid; justify-items: start; gap: 20px; }
.venda-studio .st-shop-empty .st-lead { margin: 0; }

/* Order status */
.venda-studio .st-shop-status { display: grid; gap: 18px; justify-items: start; }
.venda-studio .st-shop-status .st-lead { margin: 0; max-width: 56ch; }
.venda-studio .st-shop-status__badge { margin: 0; padding: 8px 16px; border-radius: 999px; font-weight: 700; font-size: var(--st-small); background: var(--st-panel); }
.venda-studio .st-shop-status__badge--paid { background: #E3F6E8; color: #14532D; }
.venda-studio .st-shop-status__badge--failed { background: #FDECEC; color: #8A1C1C; }
.venda-studio .st-shop-status__badge--pending { background: var(--st-accent-soft); }
.venda-studio .st-shop-downloads { margin: 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 12px; }

/* Tablet & mobile: one column, summaries flow under the content, comfortable spacing */
@media (max-width: 991px) {
  .venda-studio .st-shop-product, .venda-studio .st-shop-checkout { grid-template-columns: 1fr; }
  .venda-studio .st-shop-buy, .venda-studio .st-shop-summary { position: static; }
  .venda-studio .st-shop .st-section { padding-block: clamp(32px, 6vw, 56px); }
}
@media (max-width: 640px) {
  .venda-studio .st-shop-form--grid, .venda-studio .st-shop-form--inline { grid-template-columns: 1fr; }
  .venda-studio .st-shop-line { grid-template-columns: minmax(0, 1fr) auto; gap: 10px 16px; }
  .venda-studio .st-shop-line__info { grid-column: 1 / -1; }
  .venda-studio .st-shop-line__qty { grid-column: 1; }
  .venda-studio .st-shop-line__total { grid-column: 2; }
  .venda-studio .st-shop-line__remove { grid-column: 1 / -1; justify-self: start; }
  .venda-studio .st-shop-form .st-btn, .venda-studio .st-shop-summary .st-btn, .venda-studio .st-shop-buy .st-btn { width: 100%; justify-content: center; }
}
