/* ==========================================================================
   Carrinho, checkout e área do viajante
   ========================================================================== */

body.woocommerce-cart,
body.woocommerce-checkout,
body.woocommerce-account { background:var(--bg); }

/* A barra genérica de captação não pertence ao fluxo de compra. */
body.woocommerce-cart .mobile-bar,
body.woocommerce-checkout .mobile-bar,
body.woocommerce-account .mobile-bar { display:none!important; }

/* O consentimento deve ser o único controle flutuante enquanto estiver aberto. */
body:has(.cookie-banner.is-visible) .floating-whatsapp,
body:has(.cookie-banner.is-visible) #gt_float_wrapper { opacity:0; pointer-events:none; }

.commerce-hero { border-bottom:1px solid var(--line); }
.commerce-hero-grid { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr); gap:24px 8vw; align-items:end; padding-block:clamp(52px,8vw,108px) clamp(38px,5vw,68px); }
.commerce-hero .label { grid-column:1/-1; }
.commerce-hero h1 { max-width:10ch; font-size:clamp(52px,7vw,96px); line-height:.88; }
.commerce-hero-intro { max-width:38ch; padding-bottom:.35em; color:var(--ink-2); font-size:16px; line-height:1.55; }

.commerce-steps { border-bottom:1px solid var(--line); }
.commerce-steps .container { display:grid; grid-template-columns:repeat(3,1fr); }
.commerce-steps a,
.commerce-steps .container > span { display:flex; gap:12px; align-items:center; min-height:58px; padding:12px 18px; border-right:1px solid var(--line); color:var(--ink-3); font-size:11px; font-weight:500; letter-spacing:.1em; text-transform:uppercase; }
.commerce-steps .container > :first-child { border-left:1px solid var(--line); }
.commerce-steps span span,
.commerce-steps a span { font-family:var(--serif); font-size:21px; font-weight:400; letter-spacing:0; }
.commerce-steps .is-current { background:var(--ink); color:var(--bg); }
.commerce-steps .is-complete { color:var(--ink); }

.commerce-content { min-height:48vh; padding-block:clamp(44px,7vw,88px); }
.commerce-content .woocommerce { width:100%; }
.commerce-content .woocommerce::after { display:block; clear:both; content:""; }
.commerce-content .woocommerce-notices-wrapper:empty { display:none; }

/* Avisos */
.commerce-content .woocommerce-message,
.commerce-content .woocommerce-info,
.commerce-content .woocommerce-error { margin:0 0 28px; padding:16px 18px 16px 48px; border:1px solid var(--line); border-top-width:1px; background:var(--bg-2); color:var(--ink); font-size:14px; line-height:1.5; }
.commerce-content .woocommerce-message::before,
.commerce-content .woocommerce-info::before,
.commerce-content .woocommerce-error::before { top:16px; left:18px; color:var(--ink); }
.commerce-content .woocommerce-error { border-color:#8f2f24; }
.commerce-content .woocommerce-error::before { color:#8f2f24; }
.commerce-content .woocommerce-message .button { float:right; margin:-4px 0 -4px 16px; }

/* Campos e botões nativos */
.commerce-content .button,
.commerce-content button.button,
.commerce-content input.button,
.commerce-content a.button,
.commerce-content #place_order { min-height:46px; padding:13px 20px; border:1px solid var(--ink); border-radius:999px; background:transparent; color:var(--ink); font-family:var(--sans); font-size:11px; font-weight:600; letter-spacing:.1em; line-height:1.2; text-transform:uppercase; transition:background var(--t-fast),color var(--t-fast),border-color var(--t-fast); }
.commerce-content .button:hover,
.commerce-content button.button:hover,
.commerce-content input.button:hover,
.commerce-content a.button:hover { border-color:var(--ink); background:var(--ink); color:var(--bg); }
.commerce-content .button.alt,
.commerce-content #place_order,
.commerce-content .checkout-button { background:var(--ink); color:var(--bg); }
.commerce-content .button.alt:hover,
.commerce-content #place_order:hover,
.commerce-content .checkout-button:hover { border-color:var(--ink-2); background:var(--ink-2); color:var(--bg); }
.commerce-content input.input-text,
.commerce-content textarea,
.commerce-content select,
.commerce-content .select2-container .select2-selection--single { width:100%; min-height:50px; padding:11px 13px; border:1px solid color-mix(in srgb,var(--ink) 52%,transparent); border-radius:0; background:var(--bg); color:var(--ink); font:400 15px/1.4 var(--sans); }
.commerce-content textarea { min-height:118px; resize:vertical; }
.commerce-content .select2-container .select2-selection--single { padding:9px 36px 9px 13px; }
.commerce-content .select2-container--default .select2-selection--single .select2-selection__rendered { padding:0; color:var(--ink); line-height:30px; }
.commerce-content .select2-container--default .select2-selection--single .select2-selection__arrow { top:11px; right:8px; }
.commerce-content input:focus,
.commerce-content textarea:focus,
.commerce-content select:focus,
.commerce-content .select2-container--focus .select2-selection--single { outline:2px solid var(--ink); outline-offset:1px; }
.commerce-content .form-row { margin:0 0 18px; padding:0; }
.commerce-content .form-row label { display:block; margin:0 0 7px; color:var(--ink-2); font-size:11px; font-weight:600; letter-spacing:.09em; line-height:1.35; text-transform:uppercase; }
.commerce-content .form-row label.checkbox,
.commerce-content .form-row label.inline { display:flex; align-items:flex-start; gap:9px; color:var(--ink); font-size:13px; font-weight:400; letter-spacing:0; text-transform:none; }
.commerce-content input[type="checkbox"],
.commerce-content input[type="radio"] { width:18px; height:18px; flex:0 0 18px; margin:2px 0 0; accent-color:var(--ink); }
.commerce-content abbr.required,
.commerce-content .required { color:#8f2f24; text-decoration:none; }

/* Carrinho e checkout em blocos (WooCommerce Blocks · Store API) */
.commerce-content .wp-block-woocommerce-cart,
.commerce-content .wp-block-woocommerce-checkout { margin:0; color:var(--ink); font-family:var(--sans); }
.commerce-content .wc-block-components-title,
.commerce-content .wc-block-components-checkout-step__title,
.commerce-content .wc-block-cart__totals-title { color:var(--ink); font-family:var(--serif); font-size:clamp(26px,2.6vw,34px); font-weight:400; letter-spacing:0; line-height:1.05; text-transform:none; }
.commerce-content .wc-block-cart__totals-title { margin-bottom:18px; }
.commerce-content .wc-block-components-product-name { color:var(--ink); font-family:var(--serif); font-size:clamp(20px,2vw,25px); line-height:1.08; text-decoration:none; }
.commerce-content .wc-block-components-product-details,
.commerce-content .wc-block-components-product-metadata { color:var(--ink-2); font-size:12px; }
.commerce-content .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.commerce-content .wc-block-components-totals-footer-item .wc-block-components-totals-item__label { font-family:var(--serif); font-size:28px; font-weight:400; }
.commerce-content .wc-block-cart-items,
.commerce-content .wc-block-cart-items th,
.commerce-content .wc-block-cart-items td,
.commerce-content .wc-block-components-totals-wrapper { border-color:var(--line); }
.commerce-content .wc-block-cart-items__header { color:var(--ink-2); font-size:10px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }

/* Campos */
.commerce-content .wc-block-components-text-input input,
.commerce-content .wc-block-components-text-input textarea,
.commerce-content .wc-block-components-combobox .wc-block-components-combobox-control input,
.commerce-content .wc-blocks-components-select .wc-blocks-components-select__select,
.commerce-content .wc-block-components-textarea,
.commerce-content select { border:1px solid color-mix(in srgb,var(--ink) 52%,transparent); border-radius:0; background:var(--bg); color:var(--ink); font-family:var(--sans); }
.commerce-content .wc-block-components-text-input input:focus,
.commerce-content .wc-blocks-components-select .wc-blocks-components-select__select:focus,
.commerce-content select:focus { border-color:var(--ink); box-shadow:0 0 0 1px var(--ink); outline:0; }
.commerce-content .wc-block-components-text-input label,
.commerce-content .wc-blocks-components-select .wc-blocks-components-select__label { color:var(--ink-2); }
.commerce-content .wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox] { border-color:color-mix(in srgb,var(--ink) 52%,transparent); border-radius:2px; background:var(--bg); }
.commerce-content .wc-block-components-checkbox .wc-block-components-checkbox__mark { fill:var(--ink); }
.commerce-content .wc-block-components-radio-control__input:checked { border-color:var(--ink); }
.commerce-content .wc-block-components-radio-control__input:checked::before { background:var(--ink); }
.commerce-content .wc-block-checkout__terms a,
.commerce-content .wc-block-components-checkbox__label a { color:var(--ink); text-decoration:underline; text-underline-offset:3px; }

/* Botões: pílulas da marca */
.commerce-content .wc-block-components-button:not(.is-link){ min-height:50px; padding:14px 22px; border:1px solid var(--ink); border-radius:999px; background:var(--ink); color:var(--bg); font-family:var(--sans); font-size:11px; font-weight:600; letter-spacing:.1em; line-height:1.2; text-transform:uppercase; box-shadow:none; }
.commerce-content .wc-block-components-button:not(.is-link):hover{ border-color:var(--ink-2); background:var(--ink-2); color:var(--bg); }
.commerce-content .wc-block-components-button.outlined:not(.is-link){ background:transparent; color:var(--ink); }
.commerce-content .wc-block-components-button.outlined:not(.is-link):hover{ background:var(--ink); color:var(--bg); }
.commerce-content .wc-block-components-checkout-place-order-button { width:100%; min-height:56px; }

/* Resumo do pedido */
.commerce-content .wc-block-cart__sidebar .wp-block-woocommerce-cart-totals-block,
.commerce-content .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block { padding:clamp(20px,2.6vw,32px); border:1px solid var(--line); border-radius:0; background:var(--bg-2); }
.commerce-content .wc-block-components-order-summary-item__quantity { border-color:var(--bg-2); background:var(--ink); color:var(--bg); box-shadow:none; }
.commerce-content .wc-block-components-panel__button { color:var(--ink); }

/* Pagamento */
.commerce-content .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option,
.commerce-content .wc-block-checkout__payment-method .wc-block-components-radio-control__option { border-color:var(--line); }
.commerce-content .wc-block-components-radio-control--highlight-checked::after,
.commerce-content .wc-block-components-radio-control-accordion-option--checked-option-highlighted { box-shadow:inset 0 0 0 1px var(--ink); }

/* Carrinho vazio */
.commerce-content .wp-block-woocommerce-empty-cart-block { width:min(100%,680px); margin:10px auto 0; padding-top:42px; border-top:1px solid var(--line); text-align:center; }
.commerce-content .acenda-empty-cart-title { margin:0 0 12px; font-size:clamp(42px,5vw,64px); line-height:.95; }
.commerce-content .acenda-empty-cart-text { margin:0 0 24px; color:var(--ink-2); font-size:15px; }
.commerce-content .acenda-empty-cart-actions .wp-block-button__link { display:inline-flex; min-height:50px; align-items:center; padding:14px 24px; border:1px solid var(--ink); border-radius:999px; background:transparent; color:var(--ink); font-size:11px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }
.commerce-content .acenda-empty-cart-actions .wp-block-button__link:hover { background:var(--ink); color:var(--bg); }

/* Troca de acomodação (formulário do servidor, inc/cart-accommodation.php) */
.acenda-cart-rooms:empty { display:none; }
.acenda-cart-rooms { display:grid; gap:16px; margin-top:clamp(28px,4vw,48px); }
.acenda-cart-rooms .acenda-cart-room { max-width:none; margin:0; border-radius:0; }
.acenda-cart-room-button { display:inline-flex; min-height:46px; align-items:center; margin-top:20px; padding:13px 20px; border:1px solid var(--ink); border-radius:999px; background:transparent; color:var(--ink); font:600 11px/1.2 var(--sans); letter-spacing:.1em; text-transform:uppercase; cursor:pointer; transition:background var(--t-fast),color var(--t-fast); }
.acenda-cart-room-button:hover:not(:disabled) { background:var(--ink); color:var(--bg); }
.acenda-cart-room-button:disabled { opacity:.5; cursor:progress; }
.acenda-cart-room-notice { margin:0; padding:14px 18px; border:1px solid var(--line); background:var(--bg-2); color:var(--ink); font-size:14px; line-height:1.5; }
.acenda-cart-room-notice.is-success { border-color:color-mix(in srgb,var(--ink) 45%,transparent); }
.acenda-cart-room-notice.is-error { border-color:#8f2f24; color:#8f2f24; }

/* Confirmação de pedido */
.woocommerce-order-received .woocommerce-order { max-width:920px; }
.woocommerce-order-received .woocommerce-thankyou-order-received { margin-bottom:30px; padding:24px; border:1px solid var(--line); background:var(--bg-2); font-family:var(--serif); font-size:28px; }
.woocommerce-order-received ul.order_details { display:grid; grid-template-columns:repeat(4,1fr); margin:0 0 42px; border:1px solid var(--line); }
.woocommerce-order-received ul.order_details::before,
.woocommerce-order-received ul.order_details::after { display:none; }
.woocommerce-order-received ul.order_details li { min-width:0; margin:0; padding:18px; border-right:1px solid var(--line); font-size:10px; letter-spacing:.08em; }
.woocommerce-order-received ul.order_details li:last-child { border-right:0; }
.woocommerce-order-received ul.order_details li strong { margin-top:6px; font-family:var(--serif); font-size:20px; font-weight:400; letter-spacing:0; overflow-wrap:anywhere; }

/* Minha conta */
.woocommerce-account .commerce-content .woocommerce { display:grid; grid-template-columns:280px minmax(0,1fr); gap:clamp(34px,6vw,82px); align-items:start; }
.woocommerce-account .woocommerce-MyAccount-navigation { float:none; width:100%; border:1px solid var(--line); }
.woocommerce-account .woocommerce-MyAccount-navigation li + li { border-top:1px solid var(--line); }
.woocommerce-account .woocommerce-MyAccount-navigation a { display:flex; justify-content:space-between; align-items:center; min-height:50px; padding:12px 16px; color:var(--ink-2); font-size:12px; font-weight:500; letter-spacing:.05em; }
.woocommerce-account .woocommerce-MyAccount-navigation a::after { content:"↗"; }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a { background:var(--ink); color:var(--bg); }
.woocommerce-account .woocommerce-MyAccount-content { float:none; width:100%; font-size:15px; }
.woocommerce-account .woocommerce-MyAccount-content > p { max-width:70ch; margin-bottom:18px; }
.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3 { margin:0 0 24px; }
.woocommerce-account .woocommerce-MyAccount-content a:not(.button) { text-decoration:underline; text-underline-offset:3px; }
.woocommerce-account table.shop_table { border:1px solid var(--line); border-radius:0; border-collapse:collapse; }
.woocommerce-account table.shop_table th,
.woocommerce-account table.shop_table td { padding:14px; border-bottom:1px solid var(--line); }
.woocommerce-account .woocommerce-Address { padding:24px; border:1px solid var(--line); }
.woocommerce-account .woocommerce-Address-title h3 { font-size:28px; }
.woocommerce-account .woocommerce-Address address { font-style:normal; }
.woocommerce-account fieldset { margin:32px 0 0; padding:22px; border:1px solid var(--line); }
.woocommerce-account legend { padding:0 10px; font-family:var(--serif); font-size:24px; }

/* Login e cadastro */
.woocommerce-account:not(.logged-in) .commerce-content .woocommerce { display:block; max-width:980px; margin-inline:auto; }
.woocommerce-account #customer_login { display:grid; grid-template-columns:1fr 1fr; gap:0; }
.woocommerce-account #customer_login::before,
.woocommerce-account #customer_login::after { display:none; }
.woocommerce-account #customer_login .u-column1,
.woocommerce-account #customer_login .u-column2 { float:none; width:100%; padding:clamp(26px,4vw,48px); border:1px solid var(--line); }
.woocommerce-account #customer_login .u-column2 { border-left:0; background:var(--bg-2); }
.woocommerce-account #customer_login h2 { margin-bottom:26px; font-size:38px; }
.woocommerce-account form.login,
.woocommerce-account form.register,
.woocommerce-account form.lost_reset_password { margin:0; padding:0; border:0; border-radius:0; }
.woocommerce-account:not(.logged-in) .commerce-content .woocommerce > h2 { max-width:620px; margin:0 auto 22px; font-size:38px; }
.woocommerce-account:not(.logged-in) .commerce-content .woocommerce > form.login,
.woocommerce-account:not(.logged-in) .commerce-content .woocommerce > form.lost_reset_password { max-width:620px; margin-inline:auto; padding:clamp(26px,4vw,46px); border:1px solid var(--line); background:var(--bg-2); }
.woocommerce-account .woocommerce-form-login__rememberme { margin:10px 0 18px; }
.woocommerce-account .lost_password { margin-top:18px; font-size:13px; text-decoration:underline; text-underline-offset:3px; }

@media (max-width:760px) {
  .commerce-hero-grid { grid-template-columns:1fr; gap:18px; padding-block:40px 32px; }
  .commerce-hero h1 { font-size:clamp(46px,15vw,66px); }
  .commerce-hero-intro { padding:0; font-size:14px; }
  .commerce-steps .container { width:100%; }
  .commerce-steps a,
  .commerce-steps .container > span { justify-content:center; min-height:52px; padding:10px 6px; font-size:0; }
  .commerce-steps span span,
  .commerce-steps a span { font-size:19px; }
  .commerce-content { padding-block:38px 64px; }
  .commerce-content .woocommerce-message .button { float:none; margin:10px 0 0; }
  .woocommerce-order-received ul.order_details { grid-template-columns:1fr 1fr; }
  .woocommerce-order-received ul.order_details li:nth-child(2) { border-right:0; }
  .woocommerce-order-received ul.order_details li:nth-child(-n+2) { border-bottom:1px solid var(--line); }
  .woocommerce-account .commerce-content .woocommerce { grid-template-columns:1fr; gap:28px; }
  .woocommerce-account .woocommerce-MyAccount-navigation ul { display:flex; overflow-x:auto; scrollbar-width:none; }
  .woocommerce-account .woocommerce-MyAccount-navigation li { flex:0 0 auto; }
  .woocommerce-account .woocommerce-MyAccount-navigation li + li { border-top:0; border-left:1px solid var(--line); }
  .woocommerce-account .woocommerce-MyAccount-navigation a { white-space:nowrap; }
  .woocommerce-account #customer_login { grid-template-columns:1fr; }
  .woocommerce-account #customer_login .u-column2 { border-top:0; border-left:1px solid var(--line); }
}
