.sos-commerce-hero { padding: 42px 0 36px; border-bottom: 1px solid var(--sos-line); background: #fff; }
.sos-commerce-hero h1 { margin: 8px 0 4px; color: var(--sos-deep); font-size: clamp(43px, 5vw, 68px); line-height: 1; letter-spacing: -.05em; }
.sos-commerce-hero p { max-width: 760px; margin: 9px 0 0; color: var(--sos-muted); }
.sos-commerce-body { min-height: 540px; padding: 48px 0 80px; background: var(--sos-soft); }
.sos-commerce-native { color: var(--sos-ink); }
.sos-commerce-native .woocommerce-notices-wrapper { margin-bottom: 18px; }
.sos-commerce-native .woocommerce-error, .sos-commerce-native .woocommerce-info, .sos-commerce-native .woocommerce-message { padding: 14px 18px 14px 46px; border: 1px solid var(--sos-line); border-top: 0; border-radius: 10px; color: var(--sos-ink); background: #fff; }
.sos-commerce-native button, .sos-commerce-native .button, .sos-commerce-native input[type="submit"] { min-height: 46px; padding: 10px 18px !important; border: 0 !important; border-radius: 9px !important; color: #fff !important; background: var(--sos-forest) !important; font-weight: 800 !important; text-decoration: none !important; }
.sos-commerce-native input[type="text"], .sos-commerce-native input[type="email"], .sos-commerce-native input[type="password"], .sos-commerce-native input[type="tel"], .sos-commerce-native select, .sos-commerce-native textarea { min-height: 48px; padding: 10px 13px; border: 1px solid #c6d4c9; border-radius: 9px; background: #fff; }
.sos-commerce-native table { width: 100%; border: 0 !important; border-collapse: separate; border-spacing: 0; overflow: hidden; border-radius: 16px; background: #fff; box-shadow: 0 10px 35px rgba(25,55,34,.06); }
.sos-commerce-native table th, .sos-commerce-native table td { padding: 17px 16px !important; border: 0 !important; border-bottom: 1px solid var(--sos-line) !important; vertical-align: middle; }
.sos-commerce-native table th { color: #5b6d61; background: #f9fbf9; font-size: 12px; letter-spacing: .05em; text-transform: uppercase; }
.sos-commerce-native table img { width: 72px !important; height: 72px !important; border-radius: 9px; object-fit: contain; background: #fff; }
.sos-commerce-native .product-name a { color: var(--sos-deep); font-weight: 800; text-decoration: none; }
.sos-commerce-native .product-price, .sos-commerce-native .product-subtotal, .sos-commerce-native .order-total { color: var(--sos-deep); font-weight: 800; }
.sos-commerce-native .quantity input { width: 78px; min-height: 44px; border: 1px solid #c6d4c9; border-radius: 8px; text-align: center; }
.sos-commerce-native .cart-collaterals { display: grid; justify-items: end; margin-top: 20px; }
.sos-commerce-native .cart_totals { width: min(100%, 430px) !important; padding: 24px; border: 1px solid var(--sos-line); border-radius: 16px; background: #fff; box-shadow: var(--sos-shadow); }
.sos-commerce-native .cart_totals h2 { margin: 0 0 16px; color: var(--sos-deep); font-size: 25px; }
.sos-commerce-native .cart_totals table { border-radius: 0; box-shadow: none; }
.sos-commerce-native .wc-proceed-to-checkout a { display: flex !important; width: 100%; min-height: 56px; align-items: center; justify-content: center; font-size: 15px !important; }
.sos-commerce-native .coupon { display: flex; gap: 8px; }
.sos-commerce-native .coupon input { width: 210px !important; }
.sos-quote-steps { position: relative; display: grid; width: min(100%, 960px); grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; margin: 34px auto 0; padding: 0; list-style: none; }
.sos-quote-steps::before { position: absolute; z-index: 0; top: 22px; right: 16.666%; left: 16.666%; height: 2px; background: #d5dfd7; content: ""; }
.sos-quote-steps li { position: relative; z-index: 1; display: grid; min-width: 0; grid-template-rows: 46px auto; justify-items: center; gap: 8px; color: #87948b; font-size: 12px; font-weight: 800; text-align: center; }
.sos-quote-steps b { display: grid; width: 46px; height: 46px; place-items: center; border: 2px solid #cbd7cd; border-radius: 12px; color: #68786e; background: #fff; font-size: 15px; }
.sos-quote-steps strong { color: inherit; font-size: inherit; line-height: 1.35; }
.sos-quote-steps .is-current, .sos-quote-steps .is-complete { color: var(--sos-deep); }
.sos-quote-steps .is-current b, .sos-quote-steps .is-complete b { border-color: var(--sos-forest); color: #fff; background: var(--sos-forest); }
.sos-quote-page .sos-commerce-body { padding-top: 34px; }
.sos-quote-page .sos-commerce-body > .sos-container { padding: 0; overflow: hidden; border: 1px solid var(--sos-line); border-radius: 24px; background: #fff; box-shadow: 0 20px 52px rgba(20,54,34,.08); }
.sos-quote-native { padding: 30px 32px 34px; }
.sos-quote-native .ywraq-form-table-wrapper, .sos-quote-native .ywraq-form-table-wrapper + div, .sos-quote-native form { width: auto !important; max-width: none !important; }
.sos-quote-native .ywraq-form-table-wrapper { display: grid !important; grid-template-columns: minmax(0, 7fr) minmax(330px, 3fr) !important; align-items: start; gap: 22px !important; padding: 0 !important; }
.sos-quote-native .ywraq-form-table-wrapper > .ywraq-before-form,
.sos-quote-native .ywraq-form-table-wrapper > #yith-ywraq-form,
.sos-quote-native .ywraq-form-table-wrapper > .yith-ywraq-mail-form-wrapper,
.sos-quote-native .ywraq-form-table-wrapper > #ywraq-other-form { min-width: 0; }
.sos-quote-native .ywraq-before-form:empty, .sos-quote-native #yith-ywraq-message:empty { display: none; }
.sos-quote-native .shop_table { margin: 0 !important; border-radius: 17px; box-shadow: none; }
.sos-quote-native .raq-totals { display: none; }
.sos-quote-native .raq-send-request, .sos-quote-native .yith-ywraq-mail-form-wrapper, .sos-quote-native #ywraq-other-form { align-self: start; width: auto !important; height: auto !important; min-height: 0 !important; max-width: none !important; margin: 24px 0 0 !important; padding: 28px; border: 1px solid var(--sos-line); border-radius: 16px; background: var(--sos-soft); box-shadow: none; }
.sos-quote-native .yith-ywraq-mail-form-wrapper h3 { color: var(--sos-deep); font-size: 26px; }
.sos-quote-native .remove { display: grid !important; width: 32px !important; height: 32px !important; place-items: center; border: 1px solid #d4dfd6 !important; border-radius: 50% !important; color: #617067 !important; background: #fff !important; font-size: 18px !important; line-height: 1 !important; }
.sos-quote-native td.product-remove a.yith-ywraq-item-remove.remove::before,
.sos-quote-native td.product-remove a.yith-ywraq-item-remove.remove::after { display: none !important; content: none !important; }
.sos-quote-native #yith-ywrq-table-list .product-thumbnail { width: 96px !important; }
.sos-quote-native #yith-ywrq-table-list .product-thumbnail img { width: 72px !important; height: 72px !important; object-fit: contain; }
.sos-quote-native #yith-ywrq-table-list .product-name > ul,
.sos-quote-native #yith-ywrq-table-list .product-name ul.wc-item-meta { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px 12px; margin: 12px 0 0 !important; padding: 0 !important; list-style: none !important; }
.sos-quote-native #yith-ywrq-table-list .product-name > ul > br,
.sos-quote-native #yith-ywrq-table-list .product-name ul.wc-item-meta > br { display: none !important; }
.sos-quote-native #yith-ywrq-table-list .product-name > ul > li,
.sos-quote-native #yith-ywrq-table-list .product-name ul.wc-item-meta > li { min-width: 0; margin: 0 !important; padding: 7px 9px !important; border-radius: 8px; background: #f6faf7; overflow-wrap: anywhere; }
.sos-quote-native #yith-ywrq-table-list .product-name li strong { display: inline; margin-right: 4px; color: var(--sos-deep); }
.sos-quote-empty { max-width: 760px; margin: 0 auto; padding: 52px 28px; border: 1px solid var(--sos-line); border-radius: 18px; background: #fff; text-align: center; box-shadow: var(--sos-shadow); }
.sos-quote-empty > span { display: grid; width: 54px; height: 54px; margin: 0 auto 18px; place-items: center; border-radius: 14px; color: var(--sos-forest); background: var(--sos-mint); font-size: 28px; }
.sos-quote-empty h2 { margin: 0 0 9px; color: var(--sos-deep); font-size: 30px; }
.sos-quote-empty p { max-width: 560px; margin: 0 auto 24px; color: var(--sos-muted); }
.sos-quote-general-heading { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, .72fr); gap: 44px; align-items: end; max-width: none; margin: 0; padding: 28px 32px 25px; border-bottom: 1px solid var(--sos-line); }
.sos-quote-general-heading h2 { margin: 7px 0 0; color: var(--sos-deep); font-size: clamp(28px, 3vw, 40px); line-height: 1.05; letter-spacing: -.035em; }
.sos-quote-general-heading > p { margin: 0; color: var(--sos-muted); }
.sos-quote-native--general .ywraq-form-table-wrapper { grid-template-columns: minmax(0, 1fr) !important; }
.sos-quote-native--general .raq-send-request, .sos-quote-native--general .yith-ywraq-mail-form-wrapper { max-width: 760px !important; margin: 0 auto !important; }
.sos-quote-general-catalog { margin: 24px 0 0; color: var(--sos-muted); text-align: center; }
.sos-quote-general-catalog a { color: var(--sos-forest); font-weight: 800; }
.sos-quote-assurances { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 0; overflow: hidden; border-top: 1px solid var(--sos-line); background: var(--sos-soft); }
.sos-quote-assurances > * { display: grid; min-width: 0; grid-template-columns: 38px minmax(0, 1fr); grid-template-rows: auto auto; column-gap: 11px; align-items: center; padding: 18px 20px; border-right: 1px solid var(--sos-line); color: var(--sos-ink); text-decoration: none; }
.sos-quote-assurances > *:last-child { border-right: 0; }
.sos-quote-assurances span { grid-row: 1 / 3; display: grid; width: 34px; height: 34px; place-items: center; border-radius: 10px; color: var(--sos-forest); background: var(--sos-mint); font-weight: 900; }
.sos-quote-assurances strong { color: var(--sos-deep); font-size: 13px; }
.sos-quote-assurances small { color: #53665a; font-size: 12px; }

@media (max-width: 850px) {
	.sos-quote-general-heading { grid-template-columns: 1fr; gap: 14px; }
	.sos-quote-native .ywraq-form-table-wrapper { grid-template-columns: minmax(0, 1fr) !important; }
	.sos-quote-assurances { grid-template-columns: 1fr; }
	.sos-quote-assurances > * { border-right: 0; border-bottom: 1px solid var(--sos-line); }
	.sos-quote-assurances > *:last-child { border-bottom: 0; }
}
@media (max-width: 620px) {
  .sos-commerce-body { padding-top: 28px; }
  .sos-commerce-native table.shop_table_responsive thead { display: none; }
  .sos-commerce-native table.shop_table_responsive tr { display: block; padding: 12px; border-bottom: 1px solid var(--sos-line); }
  .sos-commerce-native table.shop_table_responsive td { display: grid; grid-template-columns: minmax(100px, .75fr) 1fr; gap: 10px; padding: 9px 4px !important; text-align: right !important; }
  .sos-commerce-native table.shop_table_responsive td::before { text-align: left; }
  .sos-commerce-native .coupon { display: grid; }
  .sos-commerce-native .coupon input { width: 100% !important; }
  .sos-quote-steps { gap: 8px; }
  .sos-quote-steps::before { right: 16%; left: 16%; }
  .sos-quote-steps li { grid-template-rows: 40px auto; font-size: 12px; }
  .sos-quote-steps b { width: 40px; height: 40px; border-radius: 10px; }
	.sos-quote-page .sos-commerce-body > .sos-container { width: calc(100% - 22px); border-radius: 18px; }
	.sos-quote-general-heading, .sos-quote-native { padding: 22px 18px; }
	.sos-quote-native .raq-send-request, .sos-quote-native .yith-ywraq-mail-form-wrapper, .sos-quote-native #ywraq-other-form { padding: 20px 16px; }
  .sos-quote-native table.ywraq_responsive thead { display: none; }
  .sos-quote-native table.ywraq_responsive tr { position: relative; display: block; padding: 12px 10px 16px; border-bottom: 1px solid var(--sos-line); }
  .sos-quote-native table.ywraq_responsive td { display: block; width: 100% !important; padding: 7px 0 !important; text-align: left !important; }
  .sos-quote-native table.ywraq_responsive td.product-remove { position: absolute; z-index: 2; top: 9px; right: 9px; width: auto !important; padding: 0 !important; }
  .sos-quote-native #yith-ywrq-table-list .product-thumbnail { width: 100% !important; }
  .sos-quote-native #yith-ywrq-table-list .product-name > ul,
  .sos-quote-native #yith-ywrq-table-list .product-name ul.wc-item-meta { grid-template-columns: 1fr; }
	.sos-quote-native #yith-ywrq-table-list .product-name > ul > li,
	.sos-quote-native #yith-ywrq-table-list .product-name ul.wc-item-meta > li { padding: 5px 7px !important; font-size: 12px; line-height: 1.4; }
}
