/* CDO Travel Theme 0.3.44 — presentation of native Woo routes.
   Transaction and commercial modules (CDO Checkout, LAB, BrazilPays, Sales)
   own prices, validation, passenger data, gateways and terms. These rules
   only restore a consistent visual baseline where Elessi previously styled Woo. */

/* The theme owns the 1200px outer rail and its 15px gutters. LAB adds an
   important nested gutter; these two scoped declarations reconcile its shell. */
body.cdo-theme .cdo-theme-cart-route .woocommerce {width:100%;min-width:0;padding-inline:0!important;}
body.cdo-theme .cdo-theme-cart-route .cdo-cart-page-head {margin:0 0 24px!important;}
body.cdo-theme .cdo-theme-cart-route .cdo-cart-page-head > h1,
body.cdo-theme .cdo-theme-cart-route .cdo-theme-cart-empty-heading > h1 {display:none;}
body.cdo-theme .cdo-theme-cart-route .cdo-theme-cart-page > .cdo-theme-cart-empty-heading {margin:0 0 24px;}
body.cdo-theme .cdo-theme-cart-route .cdo-theme-cart-empty-heading p {margin:0;color:#536986;font-size:16px;line-height:1.5;font-weight:400;}

/* Woo Checkout: only the native surrounding shell, customer details and payment box. */
body.cdo-theme .cdo-theme-checkout-route { color:#1f3556; }
body.cdo-theme .cdo-theme-checkout-route > article > .cdo-theme-page-header h1 {
  margin:0; color:#00152b; font-size:clamp(32px,3.5vw,42px);
  font-weight:800; line-height:1.13; letter-spacing:-.035em;
}
body.cdo-theme .cdo-theme-checkout-route .cdo-theme-entry-content > .woocommerce,
body.cdo-theme .cdo-theme-checkout-route .woocommerce { min-width:0; width:100%; }
body.cdo-theme .cdo-theme-checkout-route .woocommerce :is(.woocommerce-form-coupon-toggle,.woocommerce-form-login-toggle) { margin:0 0 14px; }
body.cdo-theme .cdo-theme-checkout-route .woocommerce :is(.woocommerce-info,.woocommerce-message,.woocommerce-error) {
  position:relative; width:100%; margin:0 0 18px; padding:15px 18px;
  border:1px solid #dbe5f1; border-radius:12px; background:#f7f9fc;
  color:#203858; font-size:14px; line-height:1.5; list-style:none;
}
body.cdo-theme .cdo-theme-checkout-route .woocommerce .woocommerce-error {
  background:#fff5f7; border-color:#f4c9d3; color:#a82043;
}
body.cdo-theme .cdo-theme-checkout-route .woocommerce .woocommerce-message {
  background:#f1faf5; border-color:#c5e8d2; color:#17633a;
}
body.cdo-theme .cdo-theme-checkout-route .woocommerce :is(.woocommerce-info,.woocommerce-message,.woocommerce-error)::before {display:none;}
body.cdo-theme .cdo-theme-checkout-route .woocommerce :is(.woocommerce-info,.woocommerce-message,.woocommerce-error) a {color:#683bcd;font-weight:650;}
body.cdo-theme .cdo-theme-checkout-route form.woocommerce-form-coupon,
body.cdo-theme .cdo-theme-checkout-route form.woocommerce-form-login {
  box-sizing:border-box; width:100%; margin:0 0 24px; padding:18px;
  border:1px solid #dfe8f1; border-radius:16px; background:#fff;
}
body.cdo-theme .cdo-theme-checkout-route form.checkout.woocommerce-checkout {min-width:0;width:100%;}
body.cdo-theme .cdo-theme-checkout-route form.checkout #customer_details {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px; margin:24px 0 32px; width:100%;
}
body.cdo-theme .cdo-theme-checkout-route form.checkout #customer_details::before,
body.cdo-theme .cdo-theme-checkout-route form.checkout #customer_details::after {display:none;content:none;}
body.cdo-theme .cdo-theme-checkout-route form.checkout #customer_details > :is(.col-1,.col-2) {
  box-sizing:border-box;float:none;width:100%;min-width:0;max-width:none;margin:0;
}
body.cdo-theme .cdo-theme-checkout-route .woocommerce-billing-fields,
body.cdo-theme .cdo-theme-checkout-route .woocommerce-additional-fields,
body.cdo-theme .cdo-theme-checkout-route .woocommerce-shipping-fields {
  box-sizing:border-box; padding:23px; margin:0 0 18px;
  border:1px solid #dfe8f1; border-radius:18px; background:#fff;
}
body.cdo-theme .cdo-theme-checkout-route .woocommerce :is(.woocommerce-billing-fields,.woocommerce-additional-fields,.woocommerce-shipping-fields) > h3,
body.cdo-theme .cdo-theme-checkout-route .woocommerce .woocommerce-billing-fields h3 {
  margin:0 0 18px; color:#1f3556; font-size:19px; font-weight:800;
  line-height:1.25; letter-spacing:-.025em;
}
body.cdo-theme .cdo-theme-checkout-route .woocommerce .woocommerce-additional-fields .woocommerce-additional-fields__field-wrapper {margin-top:8px;}
body.cdo-theme .cdo-theme-checkout-route .woocommerce .form-row {
  box-sizing:border-box; margin:0 0 16px; padding:0;min-width:0;
}
body.cdo-theme .cdo-theme-checkout-route .woocommerce .form-row::after {content:"";display:block;clear:both;}
body.cdo-theme .cdo-theme-checkout-route .woocommerce .form-row label {
  display:block; margin:0 0 7px;color:#1f3556;font-size:13px;
  font-weight:650;line-height:1.4;
}
body.cdo-theme .cdo-theme-checkout-route .woocommerce .form-row label .required { color:#d60051; text-decoration:none; }
/* Native Woo form controls only. CDO Checkout's .cdo-checkout-control owns its own styles. */
body.cdo-theme .cdo-theme-checkout-route .woocommerce .form-row :is(input.input-text,textarea.input-text,select:not(.cdo-checkout-control):not(.select2-hidden-accessible)),
body.cdo-theme .cdo-theme-checkout-route form.woocommerce-form-coupon input.input-text {
  box-sizing:border-box;display:block;width:100%;min-width:0;min-height:48px;
  margin:0;padding:11px 13px;border:1px solid #cfdce8;
  border-radius:10px; background:#fff;color:#203858;font:400 14px/1.45 Inter,system-ui,sans-serif;
  box-shadow:none;
}
body.cdo-theme .cdo-theme-checkout-route .woocommerce .form-row textarea.input-text {height:auto;min-height:94px;resize:vertical;}
body.cdo-theme .cdo-theme-checkout-route .woocommerce .form-row :is(input.input-text,textarea.input-text,select:not(.cdo-checkout-control):not(.select2-hidden-accessible)):focus {
  border-color:#9977e2;outline:2px solid rgba(104,59,205,.13);outline-offset:0;
}
body.cdo-theme .cdo-theme-checkout-route .woocommerce .form-row .select2-container {width:100%;max-width:100%;}
body.cdo-theme .cdo-theme-checkout-route .woocommerce .form-row .select2-container .select2-selection--single {
  height:48px;border:1px solid #cfdce8;border-radius:10px;background:#fff;
}
body.cdo-theme .cdo-theme-checkout-route .woocommerce .form-row .select2-selection--single .select2-selection__rendered {
  padding:9px 34px 9px 13px;color:#203858;font-size:14px;line-height:26px;
}
body.cdo-theme .cdo-theme-checkout-route .woocommerce .form-row .select2-selection--single .select2-selection__arrow {height:46px;right:12px;}
/* Woo field descriptions keep their original content and focus behavior,
   but use the same inline help treatment as the other CDO fields. */
body.cdo-theme .cdo-theme-checkout-route .woocommerce form.checkout .form-row .description {
  position:static;width:auto;max-width:100%;margin:6px 0 0;padding:0;border:0;border-radius:0;
  background:transparent;color:#647893;box-shadow:none;font:400 12px/1.45 Inter,system-ui,sans-serif;
}
body.cdo-theme .cdo-theme-checkout-route .woocommerce form.checkout .form-row .description::before {display:none;content:none;}
body.cdo-theme .cdo-theme-checkout-route .woocommerce .form-row input[type="checkbox"],
body.cdo-theme .cdo-theme-checkout-route .woocommerce .form-row input[type="radio"] {accent-color:#683bcd;}
body.cdo-theme .cdo-theme-checkout-route .woocommerce :is(h3#order_review_heading,.woocommerce-checkout-review-order > h3) {
  margin:22px 0 15px;color:#1f3556;font-size:21px;font-weight:800;letter-spacing:-.025em;
}
body.cdo-theme .cdo-theme-checkout-route .woocommerce #order_review {width:100%;min-width:0;margin:0;}
body.cdo-theme .cdo-theme-checkout-route .woocommerce table.woocommerce-checkout-review-order-table {
  box-sizing:border-box;width:100%;margin:0 0 24px;border:1px solid #dfe8f1;
  border-collapse:separate;border-spacing:0;border-radius:16px;overflow:hidden;
  color:#1f3556;font-size:14px;line-height:1.5;background:#fff;
}
body.cdo-theme .cdo-theme-checkout-route .woocommerce table.woocommerce-checkout-review-order-table th,
body.cdo-theme .cdo-theme-checkout-route .woocommerce table.woocommerce-checkout-review-order-table td {
  padding:14px 16px;border:0;border-bottom:1px solid #e7edf4;text-align:left;
  vertical-align:top;background:transparent;
}
body.cdo-theme .cdo-theme-checkout-route .woocommerce table.woocommerce-checkout-review-order-table thead {background:#f7f9fc;}
body.cdo-theme .cdo-theme-checkout-route .woocommerce table.woocommerce-checkout-review-order-table :is(tfoot tr:last-child th,tfoot tr:last-child td) {border-bottom:0;}
body.cdo-theme .cdo-theme-checkout-route .woocommerce table.woocommerce-checkout-review-order-table th {font-weight:750;}
body.cdo-theme .cdo-theme-checkout-route .woocommerce table.woocommerce-checkout-review-order-table .order-total {font-weight:800;color:#1f3556;}
/* Payment geometry is owned by checkout-refinement-v0348.css. */
body.cdo-theme .cdo-theme-checkout-route .woocommerce #payment div.payment_box::before {display:none;content:none;}
body.cdo-theme .cdo-theme-checkout-route .woocommerce #payment .woocommerce-privacy-policy-text {font-size:13px;line-height:1.6;color:#536986;}
body.cdo-theme .cdo-theme-checkout-route .woocommerce #payment .place-order .button#place_order,
body.cdo-theme .cdo-theme-checkout-route .woocommerce button.button.alt,
body.cdo-theme .cdo-theme-checkout-route .woocommerce button.button[name="apply_coupon"] {
  display:inline-flex;align-items:center;justify-content:center;min-height:46px;
  padding:12px 23px;border:0;border-radius:10px;background:#683bcd;color:#fff;
  font:700 14px/1.25 Inter,system-ui,sans-serif;text-decoration:none;box-shadow:none;
}
body.cdo-theme .cdo-theme-checkout-route .woocommerce #payment .place-order .button#place_order:hover,
body.cdo-theme .cdo-theme-checkout-route .woocommerce button.button.alt:hover {background:#5933ba;color:#fff;}
body.cdo-theme .cdo-theme-checkout-route .woocommerce :is(.cdo-checkout-fields,.cdo-terms-wrap) {max-width:100%;}

/* My Account / Minhas Coisas: Woo navigation and endpoint content, not CDO-specific sales/business rules. */
body.cdo-theme .cdo-theme-account-route > article > .cdo-theme-page-header h1 {
  margin:0;color:#00152b;font-size:clamp(30px,3.5vw,42px);
  line-height:1.13;letter-spacing:-.035em;font-weight:800;
}
body.cdo-theme .cdo-theme-account-route .woocommerce {display:flow-root;width:100%;min-width:0;}
body.cdo-theme .cdo-theme-account-route .woocommerce .woocommerce-MyAccount-navigation {
  float:left;box-sizing:border-box;width:240px;max-width:100%;margin:0;padding:12px;
  border:1px solid #dfe8f1;border-radius:16px;background:#fff;
}
body.cdo-theme .cdo-theme-account-route .woocommerce .woocommerce-MyAccount-navigation ul {
  margin:0;padding:0;list-style:none;
}
body.cdo-theme .cdo-theme-account-route .woocommerce .woocommerce-MyAccount-navigation li {margin:0;padding:0;list-style:none;}
body.cdo-theme .cdo-theme-account-route .woocommerce .woocommerce-MyAccount-navigation a {
  display:flex;align-items:center;min-height:40px; padding:8px 12px;
  border-radius:9px;color:#203858;background:transparent;text-decoration:none;
  font-size:14px;font-weight:550;line-height:1.3;
}
body.cdo-theme .cdo-theme-account-route .woocommerce .woocommerce-MyAccount-navigation a:hover,
body.cdo-theme .cdo-theme-account-route .woocommerce .woocommerce-MyAccount-navigation .is-active a {color:#683bcd;background:#f5f0ff;font-weight:700;}
body.cdo-theme .cdo-theme-account-route .woocommerce .woocommerce-MyAccount-content {
  box-sizing:border-box;float:right;width:calc(100% - 264px);min-width:0;max-width:none;margin:0;
  color:#203858;font-size:15px;line-height:1.55;overflow-x:auto;
}
body.cdo-theme .cdo-theme-account-route .woocommerce .woocommerce-MyAccount-content > :first-child {margin-top:0;}
body.cdo-theme .cdo-theme-account-route .woocommerce .woocommerce-MyAccount-content :is(h2,h3) {
  color:#1f3556;letter-spacing:-.025em;font-weight:800;line-height:1.23;
}
body.cdo-theme .cdo-theme-account-route .woocommerce .woocommerce-MyAccount-content h2 {font-size:24px;}
body.cdo-theme .cdo-theme-account-route .woocommerce .woocommerce-MyAccount-content h3 {font-size:19px;}
body.cdo-theme .cdo-theme-account-route .woocommerce .woocommerce-MyAccount-content :is(.woocommerce-info,.woocommerce-message,.woocommerce-error) {
  margin:0 0 18px;padding:16px 18px;border:1px solid #dfe8f1;
  border-radius:12px;background:#f7f9fc;color:#203858;font-size:14px;line-height:1.5;
}
body.cdo-theme .cdo-theme-account-route .woocommerce .woocommerce-MyAccount-content :is(.woocommerce-info,.woocommerce-message,.woocommerce-error)::before {display:none;}
body.cdo-theme .cdo-theme-account-route .woocommerce .woocommerce-MyAccount-content :is(.woocommerce-info,.woocommerce-message) .button {
  display:inline-flex;align-items:center;justify-content:center;margin:0 0 0 10px;
  padding:8px 12px;border-radius:8px;background:#683bcd;color:#fff;text-decoration:none;
  font:700 13px/1.25 Inter,system-ui,sans-serif;
}
body.cdo-theme .cdo-theme-account-route .woocommerce .woocommerce-MyAccount-content table {
  width:100%;min-width:620px;border:1px solid #dfe8f1;border-collapse:separate;
  border-spacing:0;border-radius:12px;background:#fff;color:#203858;font-size:13px;
  line-height:1.45;overflow:hidden;
}
body.cdo-theme .cdo-theme-account-route .woocommerce .woocommerce-MyAccount-content table th,
body.cdo-theme .cdo-theme-account-route .woocommerce .woocommerce-MyAccount-content table td {
  padding:11px 12px;border:0;border-bottom:1px solid #e7edf4;
  vertical-align:middle;text-align:left;overflow-wrap:normal;
}
body.cdo-theme .cdo-theme-account-route .woocommerce .woocommerce-MyAccount-content table th {font-weight:750;background:#f7f9fc;white-space:nowrap;}
body.cdo-theme .cdo-theme-account-route .woocommerce .woocommerce-MyAccount-content table tr:last-child td {border-bottom:0;}
body.cdo-theme .cdo-theme-account-route .woocommerce .woocommerce-MyAccount-content table a.button {
  display:inline-flex;align-items:center;padding:8px 12px;border:0;border-radius:8px;
  background:#f5f0ff;color:#683bcd;font-weight:700;text-decoration:none;
}
body.cdo-theme .cdo-theme-account-route .woocommerce .woocommerce-MyAccount-content .form-row {margin:0 0 15px;}
body.cdo-theme .cdo-theme-account-route .woocommerce .woocommerce-MyAccount-content .form-row label {display:block;margin:0 0 6px;font-weight:650;font-size:13px;}
body.cdo-theme .cdo-theme-account-route .woocommerce .woocommerce-MyAccount-content :is(input.input-text,select,textarea) {
  box-sizing:border-box;max-width:100%;min-height:44px;padding:10px 12px;
  border:1px solid #cfdce8;border-radius:10px;background:#fff;color:#203858;
}

@media(max-width:900px) {
  body.cdo-theme .cdo-theme-checkout-route form.checkout #customer_details {grid-template-columns:1fr;gap:8px;}
  body.cdo-theme .cdo-theme-account-route .woocommerce .woocommerce-MyAccount-navigation,
  body.cdo-theme .cdo-theme-account-route .woocommerce .woocommerce-MyAccount-content {float:none;width:100%;max-width:100%;}
  body.cdo-theme .cdo-theme-account-route .woocommerce .woocommerce-MyAccount-navigation {margin-bottom:22px;}
}
@media(max-width:600px) {
  body.cdo-theme .cdo-theme-cart-route .cdo-theme-cart-empty-heading p {font-size:14px;}
  body.cdo-theme .cdo-theme-checkout-route .woocommerce :is(.woocommerce-billing-fields,.woocommerce-additional-fields,.woocommerce-shipping-fields) {padding:17px;}
  body.cdo-theme .cdo-theme-checkout-route .woocommerce #payment #place_order {width:100%;}
  body.cdo-theme .cdo-theme-checkout-route .woocommerce table.woocommerce-checkout-review-order-table th,
  body.cdo-theme .cdo-theme-checkout-route .woocommerce table.woocommerce-checkout-review-order-table td {padding:11px 10px;font-size:13px;}
  body.cdo-theme .cdo-theme-account-route .woocommerce .woocommerce-MyAccount-navigation ul {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;}
  body.cdo-theme .cdo-theme-account-route .woocommerce .woocommerce-MyAccount-navigation a {font-size:12px;padding:8px;}
}
