/* Shared LTDton header, footer, type and form conventions for inner pages. */
.site-page { margin:32px 0 64px; min-height:35vh; }
.site-page.prose { margin:32px auto 64px; }
.site-page h1 { margin:0 0 24px; font-size:32px; line-height:1.2; letter-spacing:-.6px; }
.site-page h2 { margin:32px 0 14px; font-size:24px; line-height:1.3; letter-spacing:-.4px; }
.site-page h3 { font-size:19px; }
.site-page p { margin:12px 0; }
.page-lead { color:var(--muted); font-size:18px; line-height:1.65; }
.page-actions { display:flex; flex-wrap:wrap; gap:12px; margin:24px 0; }
.site-page a:not(.button) { text-underline-offset:3px; }
.site-page section { min-width:0; }
.site-page fieldset { min-width:0; padding:24px; margin:24px 0; border:1px solid var(--border); border-radius:12px; }
.site-page legend { padding:0 8px; font-weight:600; }
.site-page label { display:block; margin-bottom:16px; font-size:14px; line-height:1.5; }
.site-page input:not([type=checkbox]):not([type=radio]), .site-page textarea, .site-page select { width:100%; min-width:0; margin-top:7px; padding:11px 12px; min-height:44px; border:1px solid var(--border); border-radius:8px; background:#fff; color:var(--ink,#242424); font:inherit; }
.site-page input[type=checkbox] { margin-right:6px; accent-color:var(--blue); }
.site-page textarea { min-height:150px; resize:vertical; }
.site-page input:focus-visible, .site-page textarea:focus-visible, .site-page select:focus-visible { outline:2px solid var(--blue); outline-offset:2px; }
.site-page button:not(.button):not(.cart__delete) { cursor:pointer; padding:12px 20px; border:1px solid var(--blue); border-radius:9px; color:#fff; background:var(--blue); font:inherit; font-size:14px; }
.site-page button:disabled { opacity:.55; cursor:not-allowed; }
.site-page .brand-grid { margin-top:24px; }
.brand-grid a { display:flex; justify-content:space-between; align-items:baseline; gap:12px; }
.brand-grid small { color:var(--muted); font-size:12px; font-weight:400; }
.page-note { margin:24px 0; padding:18px 20px; background:#f5f5f5; border-radius:12px; font-size:14px; }
#bom-results:empty, #checkout-error:empty { display:none; }
#bom-results, #checkout-error { margin:16px 0; font-size:14px; }
#checkout-root > section { margin-top:0; }
#checkout-items .cart__row { display:grid; grid-template-columns:24px minmax(0,1fr) 160px 140px; gap:14px; align-items:center; padding:18px 0; border-bottom:1px solid var(--border); font-size:14px; }
.cart__delete { align-self:start; border:0; background:transparent; cursor:pointer; padding:0; font-size:24px; color:var(--muted); }
.cart__pres-wrapper { display:grid; grid-template-columns:84px minmax(0,1fr); gap:6px 16px; align-items:center; }
.cart__container { grid-column:2; }
.cart__image { grid-column:1; grid-row:1/3; object-fit:contain; width:84px; height:84px; }
.cart__desc { grid-column:2; color:var(--muted); font-size:12px; line-height:1.5; }
.cart__name { font-weight:550; overflow-wrap:anywhere; }
.cart__count-wrapper { display:flex; align-items:center; gap:6px; }
.site-page .cart__count { width:70px; padding:7px; margin:0; text-align:center; }
.site-page .cart__count-change { display:grid; place-items:center; padding:0!important; width:32px; height:38px; flex:none; border:1px solid var(--border)!important; border-radius:8px!important; background:#fff!important; color:var(--ink,#242424)!important; font-size:18px!important; }
.cart__price-wrapper { text-align:right; font-variant-numeric:tabular-nums; }
.order-summary { display:flex; flex-wrap:wrap; gap:20px 48px; margin:24px 0; }
.order-summary dt { font-size:12px; color:var(--muted); }
.order-summary dd { margin:4px 0 0; font-size:20px; }
.site-page .order-lines { display:table; width:100%; border-collapse:collapse; font-size:14px; }
.order-lines td, .order-lines th { padding:12px; text-align:left; border-bottom:1px solid var(--border); }
.not-found-search { margin:24px 0; }
.not-found-search > div { display:flex; align-items:center; gap:12px; }
.site-page .not-found-search input { margin:0; }
#checkout-root [hidden] { display:none!important; }
#checkout-content > section { margin-top:0; }
.checkout-pending-line { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:16px 0; border-bottom:1px solid var(--border); }
#checkout-error { color:#a32525; }
.order-table-wrap { width:100%; overflow:auto; }
.order-confirmation .specs dd { overflow-wrap:anywhere; }
@media(max-width:480px) { .not-found-search > div { flex-wrap:wrap; } .not-found-search .button { width:100%; } }
@media(max-width:700px) { .site-page h1 { font-size:27px; } .site-page h2 { font-size:22px; } .page-lead { font-size:16px; } .site-page fieldset { padding:16px; } #checkout-items .cart__row { grid-template-columns:20px minmax(0,1fr) 130px; gap:10px; } .cart__presentation { grid-column:2/-1; } .cart__count-wrapper { grid-column:2; } .cart__price-wrapper { grid-column:3; } .site-page .order-lines { display:block; } }

/* Payment choice and invoice requisites in the existing checkout style. */
.payment-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:6px 0 24px; }
.site-page .payment-method { display:flex; align-items:flex-start; gap:10px; padding:16px; margin:0; border:1px solid var(--border); border-radius:10px; cursor:pointer; }
.payment-method:has(input:checked) { border-color:var(--blue); background:#f4f8fc; }
.site-page .payment-method input[type=radio] { appearance:auto; flex:none; width:18px; height:18px; min-height:18px; margin:2px 0 0; padding:0; accent-color:var(--blue); }
.payment-method strong { display:block; font-size:14px; }
.payment-method small { display:block; margin-top:5px; color:var(--muted); font-size:12px; line-height:1.6; }
.site-page .invoice-details { margin:0 0 24px; background:#fafafa; }
.invoice-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 20px; }
.invoice-fields__wide { grid-column:1/-1; }
.site-page .checkout-consent { display:flex; align-items:flex-start; gap:8px; font-size:13px; line-height:1.7; margin-bottom:20px; }
.checkout-consent input { margin-top:4px; flex:none; }
#invoice-details[hidden],#company-kpp-field[hidden] { display:none; }
@media(max-width:700px) { .payment-options,.invoice-fields { grid-template-columns:1fr; } .payment-method { min-height:76px; } }
