.product-description{font-size:12px;white-space:pre-line}.plan-options{display:grid;gap:9px}.plan-options label{position:relative;cursor:pointer}.plan-options input{position:absolute;top:17px;right:12px;accent-color:var(--purple)}.plan-options label>span{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:8px;padding:11px 35px 11px 12px;background:var(--bg)}.plan-options b{font-size:11px}.plan-options small{font-size:10px;color:var(--muted);margin-top:4px}.plan-options input:checked+span{border-color:var(--purple);background:var(--soft)}.plan-options input:disabled+span{opacity:.55;cursor:not-allowed}.catalog-cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.product-poster>.dynamic-poster-title{font:800 24px/1.3 Arial;letter-spacing:-.5px;min-height:58px;margin:40px 0 10px;display:flex;align-items:center;justify-content:center}.software-poster .poster-icon svg{fill:currentColor;stroke:none}.catalog-load-error{grid-column:1/-1;text-align:center;padding:35px}.catalog-load-error h3{font-size:18px}.catalog-load-error p{font-size:12px}.form-error{font-size:12px;color:#b32d59;white-space:pre-line}.coupon-note,.dialog-footnote{font-size:10px}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}form select,form textarea{width:100%;padding:10px 12px;border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:6px;font:12px Cairo,Arial,sans-serif;margin-top:6px}form textarea{resize:vertical}.payment-details{margin-top:22px;border-top:1px solid var(--line);padding-top:15px}.payment-details>summary{font-size:11px;cursor:pointer;color:var(--muted)}#whatsapp-order{font-size:11px}.confirmation-page{min-height:100dvh;display:grid;place-items:center;padding:30px 16px}.confirmation-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;width:min(620px,100%);padding:35px}.confirmation-star{font-size:35px;color:var(--purple)}.confirmation-card h1{font-size:29px;letter-spacing:-.5px;margin:10px 0}.confirmation-card>p{font-size:12px}.confirmation-number{font:800 25px Arial;padding:20px;background:var(--soft);border-radius:10px;text-align:center;margin-block:20px;color:var(--ink)}.receipt-items{list-style:none;padding:0}.receipt-items li{padding:14px 0;border-bottom:1px solid var(--line);font-size:12px}.receipt-items strong,.receipt-items span{display:block}.receipt-items span{font-size:10px;color:var(--muted)}.receipt-totals>div{display:flex;justify-content:space-between;font-size:12px;padding-block:6px}.receipt-totals .receipt-final{font-size:18px;margin-top:8px;padding-top:12px;border-top:1px solid var(--line);font-weight:800}.confirmation-card>.button{width:100%;margin-top:20px}.confirmation-back{display:block;text-align:center;font-size:11px;margin-top:18px;color:var(--muted)}.receipt-note{padding:12px;border-radius:8px;background:var(--soft);font-size:11px;color:var(--ink)}[data-theme=dark] .form-error{color:#ff9dba}@media(max-width:760px){.product-poster>.dynamic-poster-title{font-size:17px;min-height:44px;margin-top:36px}.catalog-info h3{min-height:34px}.confirmation-card{padding:24px}.confirmation-card h1{font-size:24px}.confirmation-number{font-size:21px}.product-description{font-size:10px}}
.software-poster .poster-icon{color:#375fbb}.ai-poster .poster-icon{color:#6544ae}
.card-payment { margin-block: 14px 10px; padding: 14px; border: 1px solid var(--line); border-radius: 10px; background: var(--soft); }
.card-payment-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; flex-wrap: wrap; font-size: .8rem; }
.card-payment-brands { display: flex; gap: 5px; }
.card-payment-brands span { border: 1px solid var(--line); border-radius: 5px; padding: 3px 7px; background: var(--surface); font: 700 .65rem Arial, sans-serif; }
.card-payment p { margin-block: 8px 12px; color: var(--muted); font-size: .75rem; }
#order-form .card-review { display: flex; align-items: center; gap: 8px; margin: 0; cursor: pointer; }
#order-form .card-review input { width: 1rem; height: 1rem; margin: 0; flex: none; accent-color: var(--purple); }
#order-form .card-review span { color: var(--ink); font-size: .75rem; }

/* Checkout */
.checkout-page { max-width: 1080px; padding-block: 32px 75px; }
.checkout-return { color: var(--muted); font-size: .84rem; }
.checkout-page h1 { font-size: clamp(1.8rem, 4vw, 2.7rem); line-height: 1.25; margin: 10px 0 16px; }
.checkout-steps { padding: 0; margin: 0 0 24px; display: flex; gap: 9px; list-style: none; flex-wrap: wrap; }
.checkout-steps li { display: flex; align-items: center; gap: 8px; border: 1px solid var(--line); border-radius: 999px; padding: 6px 11px; color: var(--muted); font-size: .8rem; }
.checkout-steps b { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: var(--soft); }
.checkout-steps [aria-current=step] { color: var(--ink); border-color: var(--purple); }
.checkout-steps [aria-current=step] b { background: #6035ea; color: #fff; }
.checkout-layout { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(0,1fr); gap: 20px; align-items: start; }
.checkout-panel { padding: clamp(17px, 3vw, 30px); border: 1px solid var(--line); border-radius: 17px; background: var(--surface); }
.checkout-page [hidden] { display: none; }
.checkout-panel .honeypot { inset: auto; clip-path: inset(50%); }
.checkout-panel fieldset { min-width: 0; border: 0; padding: 0; margin: 0; }
.checkout-panel legend, .checkout-recap h2 { padding: 0; margin: 0 0 14px; font-size: 1.12rem; font-weight: 850; }
.checkout-panel label:not(.card-review) { display: block; margin-block-start: 12px; font-size: .82rem; font-weight: 750; }
.checkout-panel label > span { color: var(--muted); font-size: .75rem; }
.checkout-panel input:not([type=checkbox],[type=radio]), .checkout-panel textarea { display: block; width: 100%; padding: 11px 12px; margin-top: 5px; border: 1px solid var(--line); border-radius: 8px; background: var(--bg); color: var(--ink); font: inherit; font-size: .86rem; }
.checkout-recap { position: sticky; top: 16px; }
.checkout-items { padding: 0; margin: 0; list-style: none; }
.checkout-items li, .checkout-total { display: flex; justify-content: space-between; gap: 12px; padding-block: 12px; border-top: 1px solid var(--line); overflow-wrap: anywhere; }
.checkout-items li > div:last-child { text-align: end; }
.checkout-items a { font-weight: 800; }
.checkout-items small { display: block; color: var(--muted); font-size: .75rem; }
.checkout-total { font-size: .9rem; padding-bottom: 0; }
.checkout-total strong { color: var(--ink); white-space: nowrap; }
.checkout-actions { display: flex; gap: 8px; margin-top: 12px; }
.checkout-actions .primary { flex: 1; justify-content: center; }
.checkout-actions #whatsapp-order { font-size: .82rem; }
.checkout-panel .checkout-methods label { display: flex; align-items: center; gap: 12px; cursor: pointer; padding: 12px; border-radius: 10px; border: 1px solid var(--line); background: var(--bg); }
.checkout-methods label:has(:checked) { background: var(--soft); border-color: var(--purple); }
.checkout-methods input { margin: 0; accent-color: #6035ea; }
.checkout-methods strong, .checkout-methods small { display: block; }
.checkout-methods strong { color: var(--ink); font-size: .86rem; }
@media (max-width: 720px) {
  .checkout-layout { grid-template-columns: minmax(0,1fr); gap: 12px; }
  .checkout-recap { grid-row: 1; position: static; }
  .checkout-page { padding-block: 22px 40px; }
}

.checkout-page.wrap { max-width: 1160px; }
.checkout-layout { column-gap: clamp(20px, 3vw, 34px); }
.checkout-panel { border-radius: 20px; }
.checkout-steps { gap: clamp(6px, 1.4vw, 16px); align-items: center; }
.checkout-steps li { border: 0; padding: 0; font-weight: 750; }
.checkout-steps li + li::before { content: ""; width: clamp(12px, 4vw, 56px); height: 1px; background: var(--line); }
.checkout-steps [aria-current=step] { color: var(--purple); }
.checkout-steps .step-complete b { border: 1px solid var(--purple); color: var(--purple); }
.checkout-contact-intro, .checkout-page .order-instruction { color: var(--muted); font-size: .86rem; margin: 0 0 14px; }
.checkout-name-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.checkout-page .checkout-panel input:not([type=checkbox],[type=radio]),
.checkout-page .checkout-panel textarea { min-height: 45px; border-radius: 10px; background: var(--soft); }
.checkout-actions { margin-top: 20px; }
.checkout-actions #whatsapp-order { min-height: 48px; font-size: .95rem; }
.checkout-panel .checkout-methods label {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto auto;
  min-height: 72px;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 13px;
}
.checkout-methods label:focus-within { outline: 2px solid var(--purple); outline-offset: 2px; }
.checkout-methods .checkout-method-icon { grid-column: 1; grid-row: 1; color: var(--purple); font-size: 1.25rem; }
.checkout-methods .checkout-method-copy { grid-column: 2; grid-row: 1; }
.checkout-methods .checkout-method-badge { grid-column: 3; grid-row: 1; border-radius: 999px; padding: 4px 8px; background: var(--surface); font-size: .67rem; }
.checkout-methods input { grid-column: 4; grid-row: 1; width: 1.1rem; height: 1.1rem; }
.checkout-methods small { margin-top: 3px; }
.checkout-page .order-instruction { margin-top: 14px; }
.checkout-recap > summary { display: flex; justify-content: space-between; align-items: center; gap: 10px; list-style: none; font-size: 1.12rem; font-weight: 850; }
.checkout-recap > summary::-webkit-details-marker { display: none; }
#mobile-order-total { display: none; color: var(--purple); white-space: nowrap; }
.checkout-recap-body { margin-top: 14px; }
.checkout-item-product { display: flex; align-items: center; gap: 10px; min-width: 0; }
.checkout-item-product img { object-fit: cover; border: 1px solid var(--line); border-radius: 7px; flex: none; }
.checkout-coupon { border-top: 1px solid var(--line); padding-bottom: 10px; }
.checkout-total strong { font-size: 1.12rem; color: var(--purple); }
@media (max-width: 720px) {
  .checkout-recap:not([open]) { position: sticky; top: 6px; z-index: 4; }
  .checkout-recap > summary { cursor: pointer; font-size: .9rem; }
  .checkout-recap > summary::after { content: "⌄"; color: var(--purple); }
  .checkout-recap[open] > summary::after { transform: rotate(180deg); }
  #mobile-order-total { display: inline; margin-inline-start: auto; }
}
@media (max-width: 380px) {
  .checkout-steps li { gap: 4px; font-size: .68rem; }
  .checkout-steps b { width: 20px; height: 20px; }
  .checkout-panel .checkout-methods label { padding-inline: 9px; gap: 6px; }
}
