/* Trisolino — refine the existing design, never replace its typography.
   Fonts, heading underline, original cards, button colours and provider hooks
   continue to come from the unmodified production theme and front.css. */

/* Remove the proven overlap without changing the original sidebar styling. */
body#cart#cart .cart-summary,
body#checkout#checkout #js-checkout-summary,
body#cart#cart .blockreassurance_product,
body#checkout#checkout .blockreassurance_product,
body#checkout#checkout .ta-trust-layout { transform:none!important; }
body#cart#cart .cart-grid-right,
body#checkout#checkout .cart-grid-right { min-width:0; }
body#cart#cart .cart-grid-right > *,
body#checkout#checkout .cart-grid-right > * { flex-shrink:0; }
body#cart#cart .blockreassurance_product,
body#checkout#checkout .blockreassurance_product { clear:both; margin:12px 0 0!important; }
body#cart#cart .blockreassurance_product > div,
body#checkout#checkout .blockreassurance_product > div {
  display:flex!important; align-items:center; gap:12px;
  margin:0!important; padding:10px 0!important;
}
body#cart#cart .blockreassurance_product > div:empty,
body#checkout#checkout .blockreassurance_product > div:empty { display:none!important; }
body#cart#cart .blockreassurance_product .item-product,
body#checkout#checkout .blockreassurance_product .item-product {
  flex:0 0 30px; margin:0!important; width:30px; height:30px;
}
body#cart#cart .blockreassurance_product p,
body#checkout#checkout .blockreassurance_product p { margin:0!important; }
/* One orderly stack for the existing provider widgets and reassurance hook.
   No module is called twice, moved by JS, enabled, disabled or fabricated. */
body#cart#cart .ta-reassurance-stack {
  display:flex; flex-direction:column; gap:14px;
  padding:16px 20px; border:1px solid #e7e7e7; border-radius:14px;
  background:#fff; box-shadow:0 4px 16px rgba(0,0,0,.035);
}
body#cart#cart .ta-reassurance-stack:empty { display:none; }
body#cart#cart .ta-reassurance-stack > .blockreassurance_product { order:2; margin:0!important; }
body#cart#cart .ta-reassurance-stack > :is(.heidipay-container,.heidipay-container-2) { margin:0!important; }
body#cart#cart .cart-detailed-actions :is([paypal-messaging-banner],[data-pp-message]) {
  margin-top:14px; max-width:100%;
}
body#cart#cart .checkout .btn-primary:has(+ :is([paypal-messaging-banner],[data-pp-message])) { margin-bottom:14px!important; }
body#cart#cart .ta-cart-delivery {
  display:flex; align-items:flex-start; gap:8px; margin:12px 0 0;
  padding:9px 11px; border-left:2px solid #c98246; border-radius:0 7px 7px 0;
  background:#faf8f6; color:#494039; font-size:14px; line-height:1.45;
}
body#cart#cart .ta-cart-delivery .material-icons { font-size:20px; color:#b8743d; flex:0 0 20px; }

/* Original summary font sizes/colours remain. Grid pseudo-elements must not
   consume the first cell or create blank rows around shipping information. */
body#cart#cart .cart-summary-line:before,
body#cart#cart .cart-summary-line:after,
body#checkout#checkout .cart-summary-line:before,
body#checkout#checkout .cart-summary-line:after { display:none!important; }
body#cart#cart #cart-subtotal-products,
body#cart#cart #cart-subtotal-shipping {
  grid-template-columns:minmax(0,1fr) auto!important;
  min-height:0!important; height:auto!important; row-gap:5px;
}
body#cart#cart #cart-subtotal-products .value,
body#cart#cart #cart-subtotal-shipping .value { width:auto!important; }
body#cart#cart #cart-subtotal-shipping > div,
body#checkout#checkout #cart-subtotal-shipping > div { grid-column:1 / -1; }
/* Desktop legibility: retain the original typefaces and increase small text.
   Compactness comes from removing empty margins, never scaling the page. */
body#cart#cart .cart-summary-line:not(.cart-total) :is(.label,.value),
body#checkout#checkout .cart-summary-line:not(.cart-total) :is(.label,.value),
body#checkout#checkout .cart-summary-products > p:first-child,
body#cart#cart .cart-item .product-line-info a { font-size:16px!important; }

/* Preserve the estimator's own heading, typefaces and orange action. */
body#cart#cart #esc-content { margin-top:20px!important; }
body#cart#cart #esc-content > .card { border-radius:12px; overflow:visible; }
body#cart#cart #esc-content .card-header { border-radius:12px 12px 0 0; }
body#cart#cart #toggle_form_esc { background:transparent!important; border:0!important; }
body#cart#cart #form_esc { padding:20px!important; }
body#cart#cart #form_esc .form-group.row {
  display:grid!important;
  grid-template-columns:minmax(90px,.8fr) minmax(140px,1.2fr) minmax(100px,1fr) auto;
  gap:16px!important; align-items:end; margin:0!important;
}
body#cart#cart #form_esc .form-group.row:before,
body#cart#cart #form_esc .form-group.row:after { display:none!important; }
body#cart#cart #form_esc .form-group.row > div { min-width:0; width:auto!important; padding:0!important; }
body#cart#cart #form_esc .control-label { display:block; padding:0!important; margin:0 0 8px!important; }
body#cart#cart #form_esc .bootstrap-select { width:100%!important; padding:0!important; border:0!important; }
body#cart#cart #form_esc .bootstrap-select > .btn { width:100%!important; max-width:100%!important; }
body#cart#cart #esc-zip-txt,
body#cart#cart #form_esc .bootstrap-select > .btn,
body#cart#cart #esc-calculate-btn { height:44px!important; min-height:44px!important; font-size:16px!important; }

/* Provider content is never fabricated or replaced. Keep its native fonts,
   amounts, logos and conditions, allowing fixed-width widgets to wrap. */
body#cart#cart .cart-grid-right .heyLight-inline,
body#checkout#checkout .cart-grid-right .heyLight-inline {
  width:100%!important; max-width:100%!important; min-width:0!important;
  height:auto!important; box-sizing:border-box;
}
body#cart#cart .cart-grid-right .heyLight-inline :is(.terms-row,.summary-row),
body#checkout#checkout .cart-grid-right .heyLight-inline :is(.terms-row,.summary-row) {
  width:100%!important; max-width:100%!important; flex-wrap:wrap!important;
}
body#cart#cart .cart-grid-right .heyLight-inline.widget-summary-simple,
body#checkout#checkout .cart-grid-right .heyLight-inline.widget-summary-simple,
body#cart#cart .cart-grid-right .pagolight-pro-inline-block,
body#checkout#checkout .cart-grid-right .pagolight-pro-inline-block {
  max-width:100%!important; flex-wrap:wrap!important; box-sizing:border-box;
}
body#cart#cart .cart-grid-right .heyLightLogo,
body#checkout#checkout .cart-grid-right .heyLightLogo { flex-shrink:0; }
body#cart#cart .cart-grid-right :is(.heidipay-container,.heidipay-container-2),
body#checkout#checkout .cart-grid-right :is(.heidipay-container,.heidipay-container-2) {
  position:relative!important; float:none!important; transform:none!important;
  inset:auto!important; width:100%!important; max-width:100%!important;
  margin:14px 0 0!important; clear:both; box-sizing:border-box;
}
/* Existing production JS already hides this signup shortcut after painting.
   Hide only that shortcut before paint; do not hide PayPal banners or payment. */
body#cart#cart [paypal-shortcut-signup],
body#checkout#checkout [paypal-shortcut-signup] { display:none!important; }

/* Keep recommended product cards and their typography, constrain only photos. */
body#cart#cart #main article[data-id-product] .elementor-image {
  height:170px!important; padding:0!important; overflow:hidden!important;
}
body#cart#cart #main article[data-id-product] .elementor-image picture { display:block; height:100%!important; }
body#cart#cart #main article[data-id-product] .elementor-image img {
  height:170px!important; width:100%!important; object-fit:contain!important;
}

/* Original checkout appearance, with carrier information arranged without
   overflowing the price. All messages, selections and payment hooks remain. */
body#checkout#checkout section.checkout-step {
  padding:0!important; margin:0 0 12px!important; border:1px solid #e7e7e7!important;
  border-radius:14px!important; background:#fff!important;
  box-shadow:0 4px 16px rgba(0,0,0,.035)!important;
}
body#checkout#checkout section.checkout-step.-current { border-color:#d6b18f!important; }
body#checkout#checkout section.checkout-step .step-title {
  display:flex!important; align-items:center; flex-wrap:wrap; gap:10px;
  margin:0!important; padding:18px 22px!important;
  border:0!important; border-radius:14px!important; box-shadow:none!important;
  font-size:24px!important; line-height:1.3!important;
}
body#checkout#checkout section.checkout-step .step-edit { margin-left:auto; }
body#checkout#checkout section.checkout-step.-complete .step-number { display:none!important; }
body#checkout#checkout section.checkout-step .content { margin:0!important; padding:0 22px 20px!important; }
body#checkout#checkout section.checkout-step .form-control { font-size:16px!important; min-height:44px; }
body#checkout#checkout #delivery_message { min-height:80px!important; height:80px; }
body#checkout#checkout #js-checkout-summary > .card-block { padding:0!important; }
body#checkout#checkout #js-checkout-summary .cart-summary-totals .cart-total { padding:16px 20px!important; }
body#checkout#checkout .delivery-option .carrier-name,
body#checkout#checkout .delivery-option .carrier-price { font-size:16px!important; }
body#checkout#checkout .delivery-option .carrier-name { display:block; white-space:normal!important; }
body#checkout#checkout .delivery-option .carrier-delay { font-size:14px!important; }
body#checkout#checkout .delivery-option .row.carrier { display:block!important; margin:0!important; width:100%!important; }
body#checkout#checkout .delivery-option .carriere-name-container { padding:0!important; margin:0!important; width:100%!important; }
body#checkout#checkout .delivery-option label > .row > div:first-child { text-align:left!important; }
body#checkout#checkout .delivery-option.row {
  display:grid!important; grid-template-columns:28px minmax(0,1fr)!important;
  gap:8px!important; align-items:center;
}
body#checkout#checkout .delivery-option.row:before,
body#checkout#checkout .delivery-option.row:after,
body#checkout#checkout .delivery-option label > .row:before,
body#checkout#checkout .delivery-option label > .row:after { display:none!important; }
body#checkout#checkout .delivery-option.row > div,
body#checkout#checkout .delivery-option.row > label {
  width:auto!important; padding:0!important; margin:0!important; min-width:0;
}
body#checkout#checkout .delivery-option label > .row {
  display:grid!important; grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center; gap:6px 12px; margin:0!important;
}
body#checkout#checkout .delivery-option label > .row > div { width:auto!important; padding:0!important; min-width:0; }
body#checkout#checkout .delivery-option label > .row > div:nth-child(1) { grid-column:1; grid-row:1; }
body#checkout#checkout .delivery-option label > .row > div:nth-child(2) { grid-column:1; grid-row:2; }
body#checkout#checkout .delivery-option label > .row > div:nth-child(3) {
  grid-column:2; grid-row:1 / span 2; text-align:right; white-space:nowrap;
}
body#cart#cart :is(a,button,input,select):focus-visible,
body#checkout#checkout :is(a,button,input,select):focus-visible {
  outline:2px solid #c98246; outline-offset:3px;
}
@media(min-width:1025px) {
  body#cart#cart #header,body#checkout#checkout #header { min-height:182px!important; }
}
@media(min-width:1200px) {
  body#cart#cart .product-line-grid {
    display:grid; grid-template-columns:140px minmax(0,1fr) 250px;
    gap:22px; align-items:start;
  }
  body#cart#cart .product-line-grid > :is(.product-line-grid-left,.product-line-grid-body,.product-line-grid-right) {
    width:auto!important; min-width:0; padding:0!important; float:none;
  }
  body#cart#cart .product-line-grid > .clearfix { display:none; }
}
@media(max-width:767px) {
  body#cart#cart #form_esc .form-group.row { grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important; gap:12px!important; }
  body#cart#cart #esc-calculate-btn { width:100%; }
  body#checkout#checkout section.checkout-step .step-title { font-size:20px!important; padding:16px!important; }
  body#checkout#checkout section.checkout-step .content { padding:0 16px 16px!important; }
}

/* One visual group for existing merchant-configured modules, without copied badges or rates. */
:is(body#cart#cart,body#checkout#checkout) .ta-payment-panel {
  display:flex; flex-direction:column; gap:0;
  margin:14px 0 0; padding:20px; border:1px solid #e6e1db; border-radius:14px;
  background:#fff; box-shadow:0 4px 18px rgba(0,0,0,.035);
}
:is(body#cart#cart,body#checkout#checkout) .ta-payment-panel[hidden] { display:none!important; }
:is(body#cart#cart,body#checkout#checkout) .ta-payment-panel #ps_checkout-payment-method-logo-block-container {
  order:0; margin:0!important; padding:0!important; width:100%!important;
}
:is(body#cart#cart,body#checkout#checkout) .ta-payment-panel #ps_checkout-payment-method-logo-block-title {
  display:flex; justify-content:center; align-items:center; gap:8px;
  margin:0 0 14px!important; padding:0!important;
  font:600 17px/1.4 'Josefin Sans',sans-serif!important; color:#3c3833;
}
:is(body#cart#cart,body#checkout#checkout) .ta-payment-panel #ps_checkout-payment-method-logo-block-img { width:18px; height:20px; object-fit:contain; margin:0; }
:is(body#cart#cart,body#checkout#checkout) .ta-payment-panel #ps_checkout-payment-method-logos-container {
  display:flex!important; flex-wrap:wrap; gap:7px; justify-content:center; margin:0!important; width:100%;
}
:is(body#cart#cart,body#checkout#checkout) .ta-payment-panel #ps_checkout-payment-method-logos-container > div {
  display:flex; flex:1 1 auto; justify-content:center; align-items:center; min-height:39px; min-width:0; margin:0!important;
}
:is(body#cart#cart,body#checkout#checkout) .ta-payment-panel .paypal-marks { margin:0!important; }
:is(body#cart#cart,body#checkout#checkout) .ta-payment-panel .paypal-mark { display:flex; align-items:center; justify-content:center; min-height:39px; margin:0!important; padding:7px!important; }
:is(body#cart#cart,body#checkout#checkout) .ta-payment-panel .cards-logo { width:30px!important; height:21px!important; object-fit:contain; }
:is(body#cart#cart,body#checkout#checkout) .ta-payment-panel .ta-payment-provider {
  order:2; margin:0!important; padding:15px 0!important; border-bottom:1px solid #eee9e3;
  position:relative!important; float:none!important; transform:none!important;
  width:100%!important; max-width:100%!important; box-sizing:border-box;
}
:is(body#cart#cart,body#checkout#checkout) .ta-payment-panel .ta-payment-paypal { order:1; margin-top:10px!important; min-height:31px; }
:is(body#cart#cart,body#checkout#checkout) .ta-payment-panel .ta-payment-provider:last-child { border-bottom:0; padding-bottom:0!important; }
:is(body#cart#cart,body#checkout#checkout) .ta-payment-panel .heyLight-inline { padding:0!important; }
body#cart#cart .ta-reassurance-stack { padding:4px 8px!important; border:0!important; background:transparent!important; box-shadow:none!important; }
body#cart#cart [data-triss-shipping-notice] .btn,
body#checkout#checkout [data-triss-shipping-notice] .btn {
  max-width:100%; white-space:normal; height:auto; line-height:1.4;
}
@media(max-width:767px) {
  :is(body#cart#cart,body#checkout#checkout) .ta-payment-panel { padding:16px; }
  :is(body#cart#cart,body#checkout#checkout) .ta-payment-panel #ps_checkout-payment-method-logo-block-title { font-size:16px!important; }
  :is(body#cart#cart,body#checkout#checkout) .ta-payment-panel .cards-logo { width:25px!important; }
}

/* Address and voucher presentation only; native names, validation and actions remain. */
:is(body#cart#cart,body#checkout#checkout) .promo-code-button.display-promo {
  margin:0!important; padding:16px 20px!important; text-align:left!important;
}
:is(body#cart#cart,body#checkout#checkout) .promo-code-button.display-promo > a {
  display:flex!important; align-items:center; justify-content:space-between; gap:14px;
  width:100%; min-height:48px; margin:0!important; padding:13px 16px!important;
  background:#faf3eb; border:1px solid #d9af87; border-radius:9px;
  font:600 17px/1.35 'Josefin Sans',sans-serif!important; letter-spacing:0!important;
  color:#865124!important; text-align:left!important; text-decoration:none!important;
  box-shadow:none!important; transition:background .15s,border-color .15s;
}
:is(body#cart#cart,body#checkout#checkout) .promo-code-button.display-promo > a:before { content:none!important; }
:is(body#cart#cart,body#checkout#checkout) .promo-code-button.display-promo > a:after {
  content:'+'; font-size:24px; line-height:1; font-weight:400; flex:0 0 auto;
}
:is(body#cart#cart,body#checkout#checkout) .promo-code-button.display-promo > a:hover { background:#f5e6d7; border-color:#c98246; }
:is(body#cart#cart,body#checkout#checkout) #promo-code .promo-code { padding:0 20px 18px!important; margin:0!important; }
:is(body#cart#cart,body#checkout#checkout) #promo-code form {
  display:flex; align-items:stretch; gap:8px; margin:0; width:100%;
}
:is(body#cart#cart,body#checkout#checkout) #promo-code .promo-input {
  flex:1 1 0; min-width:0; width:0; height:48px; margin:0; padding:12px;
  background:#fff; border:1px solid #d9d1c8; border-radius:8px;
  font:400 16px/1.4 'Josefin Sans',sans-serif; color:#322b25;
}
:is(body#cart#cart,body#checkout#checkout) #promo-code button {
  flex:0 0 auto; margin:0; min-height:48px; border-radius:8px; padding:10px 14px;
  font-size:15px; letter-spacing:0;
}
:is(body#cart#cart,body#checkout#checkout) #promo-code .cancel-promo { display:inline-block; margin:12px 0 0!important; font-size:14px; }

body#checkout#checkout #checkout-addresses-step .form-fields {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 24px;
}
body#checkout#checkout #checkout-addresses-step .form-fields > .form-group {
  display:flex; flex-direction:column; align-items:stretch;
  min-width:0; margin:0!important; padding:0!important;
}
body#checkout#checkout #checkout-addresses-step .form-fields > .form-group:before,
body#checkout#checkout #checkout-addresses-step .form-fields > .form-group:after { display:none!important; }
body#checkout#checkout #checkout-addresses-step .form-group > :is(label,div) {
  float:none!important; width:100%!important; max-width:100%; padding:0!important;
}
body#checkout#checkout #checkout-addresses-step .form-control-label {
  display:block; margin:0 0 7px!important; text-align:left!important;
  font:500 16px/1.35 'Josefin Sans',sans-serif!important; color:#3b332d;
}
body#checkout#checkout #checkout-addresses-step .form-control-comment {
  margin:5px 0 0!important; font-size:13px; line-height:1.35; color:#746b63;
}
body#checkout#checkout #checkout-addresses-step .form-control-comment:empty { display:none; }
body#checkout#checkout #checkout-addresses-step .form-group:has([name="address1"], [name="address2"], [type="checkbox"]),
body#checkout#checkout #checkout-addresses-step .form-fields > :not(.form-group) { grid-column:1 / -1; }
body#checkout#checkout #checkout-addresses-step :is(.form-fields > p,.form-group p) { margin-bottom:0; }
body#checkout#checkout section.checkout-step :is(input.form-control,select.form-control,textarea.form-control) {
  width:100%; max-width:100%; min-height:48px; height:auto; padding:12px 14px;
  border:1px solid #d9d1c8!important; border-radius:9px!important;
  background-color:#fffdfb!important; box-shadow:none!important;
  font-family:'Josefin Sans',sans-serif; font-size:16px!important; line-height:1.4; color:#332d28;
  transition:border-color .15s,box-shadow .15s;
}
body#checkout#checkout section.checkout-step select.form-control { padding-right:36px; }
body#checkout#checkout section.checkout-step .form-control:focus {
  border-color:#b8733d!important; background-color:#fff!important;
  box-shadow:0 0 0 3px rgba(201,130,70,.13)!important;
}
body#checkout#checkout section.checkout-step .has-error .form-control,
body#checkout#checkout section.checkout-step .form-control[aria-invalid="true"] { border-color:#c3433b!important; }
body#checkout#checkout section.checkout-step .input-group > .form-control:not(:last-child) { border-radius:9px 0 0 9px!important; }
body#checkout#checkout section.checkout-step .input-group .input-group-btn > button { min-height:48px; border-radius:0 9px 9px 0!important; }
body#checkout#checkout #checkout-addresses-step .form-footer {
  display:flex; align-items:center; justify-content:flex-end; gap:20px; flex-wrap:wrap;
  margin:22px 0 0!important; padding:18px 0 0; border-top:1px solid #eee7df;
}
body#checkout#checkout #checkout-addresses-step .form-footer:after { display:none; }
body#checkout#checkout #checkout-addresses-step .form-footer .btn { margin:0!important; min-height:48px; border-radius:9px; }
body#checkout#checkout #checkout-addresses-step .form-footer a { font-size:15px; }
body#checkout#checkout #checkout-addresses-step .address-item { border-radius:10px; }

body#checkout#checkout .ta-payment-panel-heading {
  order:0; margin:0; padding:0 0 14px; border-bottom:1px solid #eee7df;
  color:#3b332d; font:600 18px/1.4 'Josefin Sans',sans-serif;
}
body#checkout#checkout .ta-payment-panel .blockreassurance_product {
  order:3; margin:4px -20px -20px!important; padding:12px 20px!important;
  background:#faf8f5; border-radius:0 0 14px 14px; border-top:1px solid #eee7df;
}
body#checkout#checkout .ta-payment-panel .blockreassurance_product > div { padding:8px 0!important; }
body#checkout#checkout .ta-payment-panel .blockreassurance_product p { font-size:15px; }
@media(max-width:767px) {
  body#checkout#checkout #checkout-addresses-step .form-fields { grid-template-columns:minmax(0,1fr); gap:16px; }
  body#checkout#checkout .ta-payment-panel .blockreassurance_product { margin:4px -16px -16px!important; padding:12px 16px!important; }
  :is(body#cart#cart,body#checkout#checkout) .promo-code-button.display-promo { padding:14px 16px!important; }
  :is(body#cart#cart,body#checkout#checkout) #promo-code .promo-code { padding:0 16px 16px!important; }
}

/* Reuse the installed social-login module; only presentation is added here. */
body#checkout#checkout .ta-checkout-social { margin:0 0 22px; }
body#checkout#checkout .ta-checkout-social-title {
  margin:0 0 12px; color:#3b332d; font:600 18px/1.4 'Josefin Sans',sans-serif;
}
body#checkout#checkout .ta-checkout-social .wssl { margin:0; }
body#checkout#checkout .ta-checkout-social .wssl__list {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px;
}
body#checkout#checkout .ta-checkout-social .wssl-btn {
  min-height:52px; padding:12px 16px; border-radius:9px;
  font:600 16px/1.35 'Josefin Sans',sans-serif; flex-wrap:wrap;
}
body#checkout#checkout .ta-checkout-social .wssl-btn__badge {
  position:static; transform:none; margin:0; font-size:11px; line-height:1.4;
}
body#checkout#checkout .ta-checkout-social .wssl__legal {
  margin:12px 0 0; color:#746b63; font-size:13px; line-height:1.55;
}
body#checkout#checkout #checkout-personal-information-step .nav[role="tablist"] {
  display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:6px!important; width:100%!important; max-width:600px; padding:5px!important;
  margin:18px auto 24px!important; list-style:none;
}
body#checkout#checkout #checkout-personal-information-step .nav[role="tablist"]:before,
body#checkout#checkout #checkout-personal-information-step .nav[role="tablist"]:after { display:none!important; }
body#checkout#checkout #checkout-personal-information-step .nav[role="tablist"] > .nav-item {
  width:auto!important; max-width:none!important; min-width:0; margin:0!important; padding:0!important; float:none;
}
body#checkout#checkout #checkout-personal-information-step .nav[role="tablist"] .nav-link {
  display:flex!important; align-items:center; justify-content:center; width:100%!important;
  min-height:46px; padding:10px 14px!important; white-space:normal; line-height:1.35;
}
body#checkout#checkout #js-checkout-summary .ta-checkout-product-delivery {
  display:block; margin:9px 0 0!important; color:#79502f;
  font:400 13px/1.45 'Josefin Sans',sans-serif!important;
}
body#checkout#checkout #js-checkout-summary .ta-checkout-product-delivery strong { font-weight:600; }
body#checkout#checkout #js-checkout-summary .media-body { width:auto!important; max-width:100%; }
body#checkout#checkout #js-checkout-summary .product-name { overflow-wrap:anywhere; }
body#checkout#checkout #js-checkout-summary .media + .media {
  margin-top:16px!important; padding-top:16px!important; border-top:1px solid #eee7df!important;
}
@media(max-width:767px) {
  body#checkout#checkout .ta-checkout-social .wssl__list { grid-template-columns:minmax(0,1fr); }
  body#checkout#checkout .ta-checkout-social .wssl-btn { font-size:15px; }
}

/* Compact guest identity form, preserving native fields, DOM order and validation. */
body#checkout#checkout #checkout-guest-form form > div {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 24px;
}
body#checkout#checkout #checkout-guest-form form > div > :not(.form-group):not(.field-password-policy) { grid-column:1 / -1; }
body#checkout#checkout #checkout-guest-form .form-group,
body#checkout#checkout #checkout-guest-form .field-password-policy {
  min-width:0; margin:0!important; padding:0!important;
}
body#checkout#checkout #checkout-guest-form .form-group {
  display:flex; flex-direction:column; align-items:stretch;
}
body#checkout#checkout #checkout-guest-form .form-group:before,
body#checkout#checkout #checkout-guest-form .form-group:after { display:none!important; }
body#checkout#checkout #checkout-guest-form .form-group > :is(label,div) {
  float:none!important; width:100%!important; max-width:100%; padding:0!important;
}
body#checkout#checkout #checkout-guest-form .form-control-label {
  display:block; margin:0 0 7px!important; text-align:left!important;
  font:500 16px/1.35 'Josefin Sans',sans-serif!important; color:#3b332d;
}
body#checkout#checkout #checkout-guest-form .form-control-comment {
  margin:5px 0 0!important; padding:0!important; font-size:13px; line-height:1.4; color:#746b63;
}
body#checkout#checkout #checkout-guest-form .form-control-comment:empty { display:none; }
body#checkout#checkout #checkout-guest-form .form-group:has([name="id_gender"],input[type="checkbox"],input[type="email"]) { grid-column:1 / -1; }
body#checkout#checkout #checkout-guest-form .form-group:has(input[type="email"]) { width:calc(50% - 12px); }
body#checkout#checkout #checkout-guest-form .form-informations {
  margin:3px 0 0!important; padding:16px 0 0; border-top:1px solid #eee7df; line-height:1.5;
}
body#checkout#checkout #checkout-guest-form .form-group:has(input[type="checkbox"]) .form-control-label:empty { display:none; }
body#checkout#checkout #checkout-guest-form .form-footer {
  margin:22px 0 0!important; padding:18px 0 0; border-top:1px solid #eee7df;
}
body#checkout#checkout #checkout-guest-form .form-footer .btn { margin:0!important; min-height:48px; border-radius:9px; }
@media(max-width:767px) {
  body#checkout#checkout #checkout-guest-form form > div { grid-template-columns:minmax(0,1fr); gap:16px; }
  body#checkout#checkout #checkout-guest-form .form-group:has(input[type="email"]) { width:100%; }
}
