
.h3-cart-secondary{border:1px solid var(--blue,#0874c9);background:#fff;color:var(--navy,#073e79);border-radius:10px;padding:13px 20px;font-weight:800;cursor:pointer;text-decoration:none;text-align:center}
.h3-cart-secondary:hover{background:#f3f8fd}.h3-cart-secondary:disabled{opacity:.5;cursor:not-allowed}
.h3-booking-actions{flex-wrap:wrap}.h3-cart-inline{display:flex;gap:10px;flex-wrap:wrap}
.h3-cart-badge{display:inline-grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:#ff7a00;color:#fff;font-size:11px;font-weight:900;margin-left:5px}
.h3-cart-toast{position:fixed;inset:0;z-index:1000;background:rgba(4,33,61,.5);display:grid;place-items:center;padding:18px}
.h3-cart-toast[hidden]{display:none}.h3-cart-modal{width:min(440px,100%);background:#fff;border-radius:18px;padding:26px;box-shadow:0 24px 80px rgba(0,0,0,.22);text-align:center}
.h3-cart-check{width:52px;height:52px;border-radius:50%;background:#e9f8ef;color:#087443;display:grid;place-items:center;margin:0 auto 12px;font-size:28px;font-weight:900}
.h3-cart-modal h3{margin:0 0 8px;color:#08395f}.h3-cart-modal p{color:#617488;margin:0 0 18px}.h3-cart-modal-actions{display:grid;gap:9px}
.h3-cart-primary{border:0;background:var(--orange,#ff7a00);color:#fff;border-radius:10px;padding:13px 20px;font-weight:800;cursor:pointer;text-decoration:none;text-align:center}
.h3-cart-page{width:min(1120px,calc(100% - 32px));margin:34px auto 60px}.h3-cart-page h1{color:#073e79;margin-bottom:4px}.h3-cart-lead{color:#6d86a0;margin-top:0}
.h3-cart-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.7fr);gap:22px;align-items:start}
.h3-cart-list,.h3-cart-summary{background:#fff;border:1px solid #e3edf6;border-radius:16px;box-shadow:0 12px 35px rgba(8,48,80,.07)}
.h3-cart-list{padding:8px 20px}.h3-cart-item{display:grid;grid-template-columns:96px 1fr auto;gap:16px;padding:18px 0;border-bottom:1px solid #e8f0f6;align-items:center}.h3-cart-item:last-child{border-bottom:0}
.h3-cart-thumb{width:96px;height:74px;border-radius:11px;object-fit:cover;background:#eef4f8}.h3-cart-item h3{margin:0 0 6px;color:#08395f;font-size:18px}.h3-cart-meta{font-size:13px;color:#65788b;display:grid;gap:4px}
.h3-cart-price{font-weight:900;color:#073e79;white-space:nowrap}.h3-cart-remove{border:0;background:none;color:#b42318;cursor:pointer;font-weight:700;margin-top:8px}
.h3-cart-summary{padding:20px;position:sticky;top:92px}.h3-cart-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;color:#617488}.h3-cart-row.total{border-top:1px solid #e3edf6;margin-top:6px;font-size:21px;font-weight:900;color:#073e79}
.h3-cart-summary-actions{display:grid;gap:10px;margin-top:16px}.h3-cart-empty{text-align:center;padding:46px 20px;color:#617488}.h3-cart-empty strong{display:block;color:#08395f;font-size:20px;margin-bottom:7px}
.h3-confirm-card{background:#fff;border:1px solid #e3edf6;border-radius:16px;padding:22px;box-shadow:0 12px 35px rgba(8,48,80,.07)}.h3-confirm-card h2{color:#08395f}.h3-confirm-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.h3-confirm-form .full{grid-column:1/-1}.h3-confirm-form label{font-size:13px;font-weight:800;color:#27445f;display:block;margin-bottom:6px}.h3-confirm-form input,.h3-confirm-form textarea{width:100%;padding:12px;border:1px solid #cbd9e5;border-radius:10px;font:inherit}.h3-confirm-form textarea{min-height:86px}
@media(max-width:800px){.h3-cart-layout{grid-template-columns:1fr}.h3-cart-summary{position:static}.h3-cart-page{width:calc(100% - 24px);margin-top:22px}}
@media(max-width:600px){.h3-booking-actions,.h3-cart-inline{display:grid;grid-template-columns:1fr;width:100%}.h3-booking-submit,.h3-cart-secondary{width:100%}.h3-cart-modal{padding:22px 18px}.h3-cart-list{padding:4px 14px}.h3-cart-item{grid-template-columns:76px 1fr;gap:12px}.h3-cart-thumb{width:76px;height:66px}.h3-cart-price{grid-column:2}.h3-confirm-form{grid-template-columns:1fr}.h3-confirm-form .full{grid-column:auto}}

.h3-header-cart{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:38px;height:38px;padding:0 9px;border:1px solid #d9e7f2;border-radius:10px;text-decoration:none;color:var(--navy,#073e79);background:#fff;font-size:20px;line-height:1;position:relative}
.h3-header-cart:hover{background:#f3f8fd}
.h3-header-cart .h3-cart-badge{position:absolute;top:-6px;right:-6px;margin:0}
@media(max-width:700px){.h3-header-cart{min-width:36px;height:36px;padding:0 8px;font-size:19px}}


.h3-checkout-shell{width:min(1120px,calc(100% - 32px));margin:32px auto 64px}
.h3-stepper{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0 28px}
.h3-step{display:flex;align-items:center;gap:10px;padding:14px 16px;border:1px solid #dce8f1;border-radius:14px;background:#fff;color:#6b7e90;font-weight:800}
.h3-step .n{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#edf4f8;color:#47647c;font-size:13px}
.h3-step.active{border-color:#0d7b73;color:#075f59;background:#f4fbfa}.h3-step.active .n{background:#0d7b73;color:#fff}
.h3-step.done{border-color:#badfd8;color:#075f59}.h3-step.done .n{background:#dff4ef;color:#08725f}
.h3-checkout-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:22px;align-items:start}
.h3-step-panel{background:#fff;border:1px solid #e3edf6;border-radius:16px;padding:24px;box-shadow:0 12px 35px rgba(8,48,80,.07)}
.h3-step-panel[hidden]{display:none}.h3-step-panel h2{margin:0 0 6px;color:#08395f}.h3-step-panel .lead{margin:0 0 20px;color:#6d86a0}
.h3-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.h3-field-grid .full{grid-column:1/-1}
.h3-field-grid label{display:block;margin-bottom:6px;font-size:13px;font-weight:800;color:#27445f}
.h3-field-grid input,.h3-field-grid textarea{width:100%;border:1px solid #cad9e5;border-radius:10px;padding:12px;font:inherit;background:#fff}
.h3-field-grid textarea{min-height:90px;resize:vertical}
.h3-step-actions{display:flex;justify-content:space-between;gap:10px;margin-top:22px}.h3-step-actions .right{margin-left:auto}
.h3-pay-methods{display:grid;gap:12px}.h3-pay-method{display:flex;gap:12px;align-items:flex-start;padding:16px;border:1px solid #dbe7ef;border-radius:14px;cursor:pointer;background:#fff}
.h3-pay-method:has(input:checked){border-color:#0d7b73;background:#f3fbf9}.h3-pay-method input{margin-top:4px}
.h3-pay-method strong{display:block;color:#08395f;margin-bottom:4px}.h3-pay-method span{display:block;font-size:13px;color:#6d86a0}
.h3-payment-box{border:1px dashed #9fc6c1;border-radius:14px;padding:22px;background:#f7fcfb;text-align:center}
.h3-payment-icon{font-size:38px;margin-bottom:8px}.h3-payment-box strong{display:block;color:#075f59;font-size:20px;margin-bottom:8px}
.h3-secure-note{display:flex;gap:8px;align-items:flex-start;margin-top:16px;font-size:13px;color:#607588}
.h3-order-summary{background:#fff;border:1px solid #e3edf6;border-radius:16px;padding:20px;position:sticky;top:88px;box-shadow:0 12px 35px rgba(8,48,80,.07)}
.h3-order-summary h2{margin-top:0;color:#08395f}.h3-order-item{padding:12px 0;border-bottom:1px solid #e7eef4}.h3-order-item:last-of-type{border-bottom:0}
.h3-order-item strong{color:#08395f}.h3-order-meta{font-size:13px;color:#6d7e8d;margin-top:4px}.h3-order-price{font-weight:900;color:#073e79;margin-top:5px}
.h3-order-total{display:flex;justify-content:space-between;padding-top:16px;margin-top:8px;border-top:1px solid #dce8f1;font-size:20px;font-weight:900;color:#075f59}
.h3-checkout-status{margin-top:12px;font-size:13px;color:#64798a}
@media(max-width:820px){.h3-checkout-grid{grid-template-columns:1fr}.h3-order-summary{position:static;order:-1}.h3-stepper{gap:8px}.h3-step{padding:10px;font-size:13px}}
@media(max-width:620px){.h3-checkout-shell{width:calc(100% - 24px);margin-top:20px}.h3-stepper{grid-template-columns:1fr}.h3-field-grid{grid-template-columns:1fr}.h3-field-grid .full{grid-column:auto}.h3-step-actions{display:grid;grid-template-columns:1fr}.h3-step-actions .right{margin-left:0}.h3-step-actions a,.h3-step-actions button{width:100%}.h3-step-panel{padding:18px}}


/* Checkout funcional em 3 etapas — reutiliza a identidade visual existente */
.h3-checkout-items{display:grid;gap:12px}
.h3-checkout-item{display:grid;grid-template-columns:92px minmax(0,1fr) auto;gap:15px;align-items:start;border:1px solid #e3edf6;border-radius:13px;padding:14px;background:#fff}
.h3-checkout-thumb{width:92px;height:78px;border-radius:10px;object-fit:cover;background:#eef4f8}
.h3-checkout-item-body h3{margin:0 0 6px;color:#08395f;font-size:17px}
.h3-checkout-item-price{display:grid;gap:4px;text-align:right;color:#6a7d8f;font-size:12px;white-space:nowrap}
.h3-checkout-item-price strong{display:block;color:#073e79;font-size:16px}
.h3-checkout-item-actions{display:flex;gap:14px;margin-top:10px;align-items:center}
.h3-checkout-item-actions a,.h3-checkout-item-actions button{border:0;background:none;padding:0;color:#0b66b3;font:inherit;font-size:12px;font-weight:800;cursor:pointer;text-decoration:none}
.h3-checkout-item-actions button{color:#b42318}
.h3-checkout-qty-grid{display:flex;gap:16px;flex-wrap:wrap;margin-top:10px}
.h3-checkout-qty-label{display:block;font-size:11px;color:#718397;margin-bottom:4px;font-weight:800}
.h3-mini-stepper{display:grid;grid-template-columns:30px 34px 30px;height:31px;border:1px solid #d1dfeb;border-radius:8px;overflow:hidden;background:#fff}
.h3-mini-stepper button{border:0;background:#f4f8fb;color:#0b66b3;font-weight:900;cursor:pointer}
.h3-mini-stepper strong{display:grid;place-items:center;font-size:12px;color:#274b6d}
.h3-field-error{display:block;min-height:16px;margin-top:4px;color:#b42318;font-size:11px}
.h3-field-invalid{border-color:#e3978d!important;box-shadow:0 0 0 2px rgba(180,35,24,.06)}
.h3-terms-row{padding-top:4px}
.h3-terms-label{display:flex!important;gap:9px;align-items:flex-start;font-weight:600!important;color:#51687d!important}
.h3-terms-label input{width:auto!important;margin-top:2px}
.h3-terms-label a{color:#0b66b3}
.h3-checkout-status.error{color:#b42318}.h3-checkout-status.ok{color:#087443}
@media(max-width:620px){
  .h3-checkout-item{grid-template-columns:72px 1fr}
  .h3-checkout-thumb{width:72px;height:68px}
  .h3-checkout-item-price{grid-column:2;text-align:left}
}


/* Checkout H3 — referência visual */
.h3-checkout-reference{width:min(1180px,calc(100% - 32px));margin:28px auto 70px}
.h3-checkout-progress-wrap{background:linear-gradient(180deg,#eef8ff 0%,#f8fcff 100%);border:1px solid #dfedf7;border-radius:20px 20px 0 0;padding:24px 34px 30px;margin-bottom:0}
.h3-stepper-reference{display:grid;grid-template-columns:auto minmax(24px,1fr) auto minmax(24px,1fr) auto;align-items:center;gap:16px;margin:0 auto;max-width:760px}
.h3-stepper-reference .h3-step{display:flex;align-items:center;gap:10px;padding:0;border:0;background:transparent;box-shadow:none;min-width:0}
.h3-stepper-reference .h3-step .n{width:36px;height:36px;flex:0 0 36px;border-radius:50%;display:grid;place-items:center;background:#e5edf5;color:#34526d;font-weight:900}
.h3-step-copy{display:grid;gap:1px;min-width:0}.h3-step-copy strong{font-size:13px;color:#153d68;white-space:nowrap}.h3-step-copy small{font-size:11px;color:#7a8b9c;white-space:nowrap}
.h3-step-line{height:2px;background:#ccd9e5;border-radius:999px}
.h3-stepper-reference .h3-step.done .n{background:#0a67c7;color:#fff}.h3-stepper-reference .h3-step.done .h3-step-copy small{color:#0a67c7}
.h3-stepper-reference .h3-step.active .n{background:#ff7600;color:#fff}.h3-stepper-reference .h3-step.active .h3-step-copy small{color:#ff7600}
.h3-stepper-reference .h3-step.done + .h3-step-line{background:#0a67c7}
.h3-stepper-reference .h3-step-line.active-line{background:#ff7600}

.h3-checkout-grid-reference{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.82fr);gap:22px;align-items:start;background:linear-gradient(180deg,#f1f9ff 0%,#f7fbff 100%);border-left:1px solid #dfedf7;border-right:1px solid #dfedf7;border-bottom:1px solid #dfedf7;border-radius:0 0 20px 20px;padding:28px 24px 34px}
.h3-checkout-stage-column{min-width:0}
.h3-reference-panel{background:#fff;border:1px solid #e1eaf2;border-radius:16px;padding:28px;box-shadow:0 10px 30px rgba(8,48,80,.05)}
.h3-reference-panel h1{margin:4px 0 4px;color:#073e79;font-size:30px;line-height:1.08;letter-spacing:-.5px}
.h3-reference-panel .lead{font-size:14px;color:#586f87;margin:0 0 24px}
.h3-reference-eyebrow{font-size:11px;font-weight:900;letter-spacing:.05em;color:#0a67c7}

.h3-reference-form{gap:14px 16px}
.h3-reference-form label{font-size:12px;color:#173f6a;margin-bottom:6px}
.h3-reference-form label b{color:#e84b3c}
.h3-reference-form input,.h3-reference-form textarea{border:1px solid #cfdde8;border-radius:7px;padding:11px 12px;min-height:44px;font-size:14px;transition:.2s}
.h3-reference-form input:focus,.h3-reference-form textarea:focus{outline:0;border-color:#6da8dc;box-shadow:0 0 0 3px rgba(10,103,199,.08)}
.h3-reference-form textarea{min-height:92px}
.h3-reference-form .full{grid-column:1/-1}
.h3-reference-form > div:nth-of-type(5),.h3-reference-form > div:nth-of-type(6){grid-column:auto}
.h3-terms-row{padding-top:5px}.h3-terms-label{font-size:12px!important;color:#38536d!important;align-items:center!important}.h3-terms-label input{accent-color:#0a67c7}
.h3-reference-main-action{margin-top:16px}.h3-reference-cta{width:100%;min-height:48px;background:#ff7600;border-radius:8px;font-size:15px;box-shadow:0 7px 16px rgba(255,118,0,.16)}
.h3-reference-cta:hover{background:#ef6e00}
.h3-reference-data-note,.h3-reference-payment-info{display:flex;gap:8px;align-items:flex-start;color:#62758a;font-size:11px;margin-top:12px}
.h3-reference-back{display:inline-block;margin-top:13px;border:0;background:transparent;color:#0a67c7;font-size:12px;font-weight:800;cursor:pointer;padding:0}
.h3-reference-text-link{display:inline-block;margin-top:13px;color:#0a67c7;text-decoration:none;font-size:12px;font-weight:800}

.h3-reference-payments{gap:14px}.h3-reference-payment-card{display:grid;grid-template-columns:52px 1fr 24px;align-items:center;gap:14px;min-height:104px;padding:18px 20px;border:1.5px solid #d7e3ed;border-radius:12px;background:#fff;transition:.18s}
.h3-reference-payment-card:hover{border-color:#a9c5dc}
.h3-reference-payment-card:has(input:checked){border-color:#ff7600;background:#fff9f4;box-shadow:0 0 0 1px rgba(255,118,0,.08)}
.h3-payment-method-icon{width:48px;height:48px;display:grid;place-items:center;color:#0b5b9a}.h3-payment-method-icon svg{width:42px;height:42px}.h3-pix-icon{color:#12b7ac}
.h3-payment-method-copy strong{display:block;color:#103e70;font-size:16px;margin-bottom:5px}.h3-payment-method-copy span{display:block;color:#5f7184;font-size:12px;line-height:1.35}
.h3-reference-payment-card input{width:20px;height:20px;margin:0;justify-self:end;accent-color:#ff7600}
.h3-reference-secure-note{background:#eef7ff;border:0;border-radius:8px;padding:12px 14px;color:#526b83;margin-top:14px;font-size:12px}

.h3-reference-summary{padding:18px;position:sticky;top:92px;border-radius:15px;box-shadow:0 10px 30px rgba(8,48,80,.05)}
.h3-reference-summary h2{font-size:20px;margin:0 0 16px;color:#073e79}
.h3-summary-product{display:grid;grid-template-columns:66px 1fr auto;gap:11px;padding:12px 0;border-bottom:1px solid #e7eef4;align-items:start}
.h3-summary-product:last-child{border-bottom:0}.h3-summary-product img,.h3-summary-thumb-placeholder{width:66px;height:62px;border-radius:8px;object-fit:cover;background:#edf4f8}
.h3-summary-product-body strong{display:block;color:#113f70;font-size:13px;margin-bottom:4px}.h3-summary-product-meta{display:grid;gap:3px;color:#718296;font-size:10px;line-height:1.25}
.h3-summary-product-price{color:#073e79;font-weight:900;font-size:13px;white-space:nowrap;align-self:end}
.h3-reference-summary-separator{height:1px;background:#e1eaf1;margin:12px 0 4px}
.h3-reference-summary .h3-cart-row{padding:6px 0;font-size:12px;color:#586e83}.h3-reference-summary .h3-cart-row strong{color:#445d74}
.h3-reference-total{background:#edf7ff;border:0;border-radius:8px;padding:10px 11px;margin-top:9px;color:#073e79;font-size:14px}.h3-reference-total span:last-child{font-size:20px}
.h3-reference-safe-card{margin-top:16px;background:#eefaf1;border-radius:9px;padding:13px;display:flex;gap:10px;align-items:flex-start;color:#166a3b}.h3-reference-safe-icon{font-size:20px}.h3-reference-safe-card strong{display:block;font-size:12px;margin-bottom:4px}.h3-reference-safe-card small{display:block;color:#587467;font-size:10px;line-height:1.35}

.h3-checkout-item{border:1px solid #e2eaf1;border-radius:10px;padding:12px;box-shadow:none}.h3-checkout-item-body h3{font-size:15px}.h3-checkout-item-price strong{font-size:14px}
.h3-mini-stepper{border-radius:6px}.h3-checkout-item-actions a,.h3-checkout-item-actions button{font-size:11px}

@media(max-width:900px){
  .h3-checkout-reference{width:calc(100% - 24px);margin-top:18px}
  .h3-checkout-grid-reference{grid-template-columns:1fr}
  .h3-reference-summary{position:static;order:2}
  .h3-checkout-stage-column{order:1}
}
@media(max-width:680px){
  .h3-checkout-progress-wrap{padding:18px 12px 22px}
  .h3-stepper-reference{gap:6px;grid-template-columns:auto minmax(12px,1fr) auto minmax(12px,1fr) auto}
  .h3-stepper-reference .h3-step{gap:6px}.h3-stepper-reference .h3-step .n{width:30px;height:30px;flex-basis:30px;font-size:12px}
  .h3-step-copy strong{font-size:10px}.h3-step-copy small{font-size:9px}
  .h3-checkout-grid-reference{padding:16px 12px 22px}
  .h3-reference-panel{padding:20px 16px}.h3-reference-panel h1{font-size:24px}
  .h3-reference-form{grid-template-columns:1fr}.h3-reference-form .full,.h3-reference-form > div:nth-of-type(5),.h3-reference-form > div:nth-of-type(6){grid-column:auto}
  .h3-reference-payment-card{grid-template-columns:42px 1fr 22px;padding:15px 13px}.h3-payment-method-icon{width:40px;height:40px}.h3-payment-method-icon svg{width:36px;height:36px}.h3-payment-method-copy strong{font-size:14px}
  .h3-summary-product{grid-template-columns:58px 1fr}.h3-summary-product img,.h3-summary-thumb-placeholder{width:58px;height:54px}.h3-summary-product-price{grid-column:2;justify-self:end}
}
@media(max-width:390px){
  .h3-step-copy small{display:none}
  .h3-stepper-reference .h3-step .n{width:28px;height:28px;flex-basis:28px}
  .h3-step-copy strong{font-size:9px}
}


/* Sistema de ícones semânticos H3 */
.h3-icon{width:1em;height:1em;display:inline-block;vertical-align:-.15em;flex:0 0 auto;fill:none;color:currentColor}
button .h3-icon,a .h3-icon{pointer-events:none}
.qicon .h3-icon,.h3-info-icon .h3-icon{width:20px;height:20px}
.h3-head-cart .h3-icon,.h3-header-cart .h3-icon{width:20px;height:20px}
.h3-reference-data-note .h3-icon,.h3-reference-payment-info .h3-icon,.h3-reference-secure-note .h3-icon,.h3-reference-safe-card .h3-icon{width:18px;height:18px}
.h3-cart-remove .h3-icon{width:14px;height:14px;margin-right:4px}
.h3-cal-nav .h3-icon{width:16px;height:16px}
.h3-mini-stepper .h3-icon,.stepper .h3-icon{width:14px;height:14px}
.h3-summary-product-meta .h3-icon,.h3-cart-meta .h3-icon{width:13px;height:13px;margin-right:3px}
