/* Occidental Travel: brown and cream, accessible touch targets. */
.ot-rental-docs{max-width:900px;margin:40px auto;padding:28px;background:#faf6ee;color:#45250c;border:1px solid #cdbca5;border-radius:18px}
.ot-rental-docs h2{color:#45250c;font-size:28px}
.ot-rental-docs form{display:grid;gap:18px}
.ot-rental-docs label{display:grid;gap:8px;font-weight:600}
.ot-rental-docs input:not([type=checkbox]){box-sizing:border-box;width:100%;min-height:48px;padding:12px;border:1px solid #cdbca5;background:#faf6ee;color:#45250c;border-radius:10px;font-size:16px}
.ot-rental-docs small{font-size:13px;line-height:1.6}
.ot-rental-docs .ot-doc-consent{display:flex;gap:12px;align-items:flex-start;font-weight:400}
.ot-rental-docs input[type=checkbox]{width:22px;height:22px;accent-color:#45250c;flex-shrink:0}
.ot-rental-docs button,.ot-doc-button{display:inline-block;background:#45250c;color:#faf6ee;padding:16px 24px;border:0;border-radius:10px;text-decoration:none;min-height:48px}

:root{--ot-brown:#45250c;--ot-cream:#faf6ee;--ot-line:#cdbca5;--togo-accent-color:#45250c;}
body:not(.wp-admin){--e-global-color-primary:#45250c;--e-global-color-secondary:#6b4825;--e-global-color-text:#45250c;--e-global-color-accent:#45250c;--togo-primary-color:#45250c;--togo-accent-color:#45250c}
body:not(.wp-admin) .elementor-button,body:not(.wp-admin) .woocommerce a.button,body:not(.wp-admin) .woocommerce button.button{background-color:#45250c!important;color:#faf6ee!important;border-color:#45250c!important}
body:not(.wp-admin) .woocommerce :is(input,select,textarea){accent-color:#45250c}
body:not(.wp-admin) .woocommerce :is(.woocommerce-info,.woocommerce-message,.woocommerce-error){background:#faf6ee;color:#45250c;border-color:#45250c}
body:not(.wp-admin) .woocommerce :is(.woocommerce-info,.woocommerce-message,.woocommerce-error)::before{color:#45250c}

.ot-fast,.ot-transfer-focus{background:var(--ot-cream)!important;color:var(--ot-brown)!important}
.ot-fast form,.ot-fast-types button{background:var(--ot-cream)!important;border-color:var(--ot-line)!important;box-shadow:0 12px 35px #45250c0d}
.ot-fast :is(input,select,textarea){background:var(--ot-cream)!important;color:var(--ot-brown)!important}
.ot-fast :is(button,summary,label,small,p,h1,h2,h3){color:var(--ot-brown)}
.ot-fast-pay button{color:var(--ot-cream)!important;background:var(--ot-brown)!important}
.ot-fast-pay button.ot-fast-secondary{color:var(--ot-brown)!important;background:var(--ot-cream)!important}
.ot-fast :focus-visible,.ot-choice-dialog :focus-visible,.ot-agreement :focus-visible{outline:2px solid var(--ot-brown)!important;outline-offset:4px}
.ot-fast #ot-fast-error{color:var(--ot-brown)!important;font-weight:700}
.ot-fast #ot-fast-error:not(:empty){padding:12px;border-left:4px solid var(--ot-brown);background:#efe4d4}
#ot-fast-flight-fields,.ot-flight-return{padding:20px 0;border-top:1px solid var(--ot-line)}
#ot-fast-flight-fields label,.ot-flight-return label{margin-top:12px}
.ot-agreement{margin:24px 0;padding:20px;border:1px solid var(--ot-line);border-radius:12px;background:var(--ot-cream);color:var(--ot-brown);font-size:15px;line-height:1.6}
.ot-agreement label:first-child{display:flex;align-items:flex-start;gap:12px;font-weight:400}
.ot-agreement input[type=checkbox]{flex:0 0 22px;width:22px;height:22px;min-height:22px;margin:4px 0;accent-color:var(--ot-brown)}
.ot-agreement input[type=text]{width:100%;min-height:48px;border:1px solid var(--ot-line);border-radius:8px;padding:10px;background:var(--ot-cream);color:var(--ot-brown)}
.ot-agreement a,.ot-service-links a{color:var(--ot-brown);text-decoration:underline;text-underline-offset:3px}
.ot-agreement small{display:block;margin-top:10px}
.ot-native-choice{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;clip-path:inset(50%);overflow:hidden;opacity:0;pointer-events:none}
button.ot-choice{width:100%;min-height:58px;text-align:left;white-space:normal;padding:16px 44px 16px 16px;border:1px solid var(--ot-line);border-radius:12px;color:var(--ot-brown);background:var(--ot-cream);font-family:inherit;font-size:16px;font-weight:600;line-height:1.4;position:relative;cursor:pointer}
button.ot-choice:after{content:"⌄";position:absolute;right:18px;top:16px}
button.ot-choice:disabled{opacity:.5;cursor:not-allowed}
dialog.ot-choice-dialog{position:fixed;inset:0;margin:auto;width:min(620px,calc(100% - 24px));max-height:85dvh;padding:24px;background:var(--ot-cream);color:var(--ot-brown);border:1px solid var(--ot-line);border-radius:22px;box-sizing:border-box;overflow:auto;box-shadow:0 25px 90px #45250c40}
dialog.ot-choice-dialog::backdrop{background:#45250c99}
.ot-choice-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}
.ot-choice-head h2{font-size:24px;line-height:1.2;margin:0;color:var(--ot-brown)}
.ot-choice-head button{padding:12px;min-height:44px;background:var(--ot-brown);color:var(--ot-cream);border:0;border-radius:8px}
.ot-choice-dialog input{box-sizing:border-box;width:100%;font-size:16px;padding:16px;border:1px solid var(--ot-line);border-radius:12px;background:var(--ot-cream);color:var(--ot-brown)}
.ot-choice-count{font-size:13px;margin:12px 0}
.ot-choice-options{display:grid;gap:8px}
.ot-choice-options h3{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--ot-brown);margin:14px 0 4px}
.ot-choice-options button{text-align:left;border:1px solid var(--ot-line);border-radius:10px;padding:16px;min-height:54px;background:var(--ot-cream);color:var(--ot-brown);font-size:16px;line-height:1.4;cursor:pointer}
.ot-choice-options button[aria-pressed=true],.ot-choice-options button:hover{background:var(--ot-brown);color:var(--ot-cream)}
#sticky-back-btn{display:none!important}
.ot-service-links{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:16px;padding:28px 20px;background:var(--ot-cream);color:var(--ot-brown);font-size:14px;line-height:1.7}
.ot-service-links>span{width:100%;text-align:center}
#ot-flight-loader[hidden]{display:none!important}
#ot-flight-loader{position:fixed;inset:0;z-index:99999;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;pointer-events:none;background:#faf6eee8;color:var(--ot-brown);font-size:15px}
#ot-flight-loader svg{width:150px;height:85px;fill:var(--ot-brown)}
.ot-eagle-left,.ot-eagle-right{transform-box:fill-box;transform-origin:center;animation:ot-eagle-wing .65s ease-in-out infinite alternate}
@keyframes ot-eagle-wing{to{transform:scaleY(.45) translateY(10px)}}
body .trip-list>.ot-destination-empty{display:block!important;grid-column:1/-1;flex:0 0 100%!important;box-sizing:border-box;width:100%!important;max-width:100%!important;padding:24px!important;border:1px solid #cdbca5;border-radius:16px;background:#faf6ee;color:#45250c}
body .trip-list .ot-destination-empty p{display:block;width:100%;margin:0 0 16px;line-height:1.6}
body .trip-list .ot-destination-empty p:last-child{margin:0}
body .trip-list .ot-destination-empty a{display:inline-block;padding:10px 0;color:#45250c;text-decoration:underline}
/* OT activity catalog: show tours without a booking search form. */
body:is(.post-type-archive-togo_trip,.tax-togo_trip_destinations,.tax-togo_trip_activities,.tax-togo_trip_types,.tax-togo_trip_durations,.tax-togo_trip_tod,.tax-togo_trip_languages) .page-title .trip-search-form{display:none!important}
body:is(.post-type-archive-togo_trip,.tax-togo_trip_destinations,.tax-togo_trip_activities,.tax-togo_trip_types,.tax-togo_trip_durations,.tax-togo_trip_tod,.tax-togo_trip_languages) .page-title{background:#faf6ee!important;padding:28px 16px!important;min-height:0!important;height:auto!important}
body:is(.post-type-archive-togo_trip,.tax-togo_trip_destinations,.tax-togo_trip_activities,.tax-togo_trip_types,.tax-togo_trip_durations,.tax-togo_trip_tod,.tax-togo_trip_languages) .page-title::before,body:is(.post-type-archive-togo_trip,.tax-togo_trip_destinations,.tax-togo_trip_activities,.tax-togo_trip_types,.tax-togo_trip_durations,.tax-togo_trip_tod,.tax-togo_trip_languages) .page-title::after{display:none!important}
body:is(.post-type-archive-togo_trip,.tax-togo_trip_destinations,.tax-togo_trip_activities,.tax-togo_trip_types,.tax-togo_trip_durations,.tax-togo_trip_tod,.tax-togo_trip_languages) .page-title .page-title_heading{color:#45250c!important;margin:0!important;font-size:clamp(28px,5vw,42px)!important}
body:is(.post-type-archive-togo_trip,.tax-togo_trip_destinations,.tax-togo_trip_activities,.tax-togo_trip_types,.tax-togo_trip_durations,.tax-togo_trip_tod,.tax-togo_trip_languages) .page-title_inner,body:is(.post-type-archive-togo_trip,.tax-togo_trip_destinations,.tax-togo_trip_activities,.tax-togo_trip_types,.tax-togo_trip_durations,.tax-togo_trip_tod,.tax-togo_trip_languages) .page-title_content{padding:0!important;min-height:0!important}

/* OT mobile destinations: prevent the map from squeezing the catalogue. */
@media(max-width:767px){
 body .trip-wrapper-content.with-maps{display:block!important;width:100%;max-width:100%;min-width:0}
 body .trip-wrapper-content.with-maps>.map-container{display:none!important}
 body .trip-wrapper-content.with-maps>.site-content{display:flex!important;box-sizing:border-box;width:100%!important;max-width:100%;min-width:0;padding:24px 16px!important}
 body .trip-wrapper-content .site-content .trip-wrapper{flex:1 1 100%;width:100%;max-width:100%;min-width:0}
 body .trip-wrapper-content .trip-list{display:grid!important;grid-template-columns:minmax(0,1fr)!important;width:100%;min-width:0;margin:0!important;gap:24px}
 body .trip-wrapper-content .trip-list>.type-trip{box-sizing:border-box;flex:none!important;width:100%!important;max-width:100%!important;min-width:0;padding:0!important}
 body .trip-wrapper-content .trip-inner,body .trip-wrapper-content .trip-content{min-width:0;max-width:100%}
 body .trip-wrapper-content .trip-list-header{gap:12px;max-width:100%;min-width:0}
 body .trip-wrapper-content .trip-list-header__sort-list{max-width:calc(100vw - 32px)}
 body .trip-wrapper-content .trip-content :is(h2,h3,a){overflow-wrap:anywhere}
 body .trip-wrapper-content .trip-list img{max-width:100%;object-fit:cover}
}

@media(prefers-reduced-motion:reduce){.ot-eagle-left,.ot-eagle-right{animation:none}}
@media(max-width:600px){dialog.ot-choice-dialog{max-height:88dvh;padding:20px}.ot-agreement{padding:16px}.ot-fast-nav{gap:12px}}

/* Unified reservation summary and genuine PayPal buttons, 2026-10-06. */
.woocommerce-checkout form.checkout.ot-payment-card{display:grid!important;grid-template-columns:minmax(0,1.25fr) minmax(340px,1fr);gap:32px;align-items:start}
.woocommerce-checkout form.checkout.ot-payment-card>.booking-submission{width:auto!important;max-width:none!important;min-width:0;padding:0!important}
.woocommerce-checkout form.checkout.ot-payment-card>.order-summary{width:auto!important;max-width:none!important;min-width:0;margin:0!important;padding:0!important;border:1px solid #d8cbbd;border-radius:16px;background:#fff;box-shadow:0 8px 28px #45250c0c;overflow:hidden;position:static!important}
.ot-payment-card .ot-reservation-title{margin:0!important;padding:24px!important;background:#452f22;color:#fff!important;font:700 30px/1.2 Georgia,serif!important}
.ot-payment-card .order-summary .shop_table{padding:24px!important;border:0!important;border-radius:0!important;box-shadow:none!important}
.ot-payment-card .order-summary #customer_review{padding:0 24px 24px!important;margin:0!important;border:0!important;background:transparent!important;width:auto!important}
.ot-payment-card #customer_review>#order_review_heading,.ot-payment-card #customer_review>p,.ot-payment-card #ot-pay-total{display:none!important}
.ot-payment-card #payment{padding:0!important;margin:0!important;background:transparent!important;border:0!important}
.ot-payment-card #payment .place-order{padding:0!important;margin:0!important}
.ot-payment-card #payment .wc_payment_methods:has(>li:only-child.payment_method_ppcp-gateway){display:none!important}
.ot-payment-card .ot-agreement{margin:0 0 20px!important;padding:16px!important;font-size:13px;line-height:1.6}
.ot-payment-card .woocommerce-privacy-policy-text{font-size:12px;line-height:1.6;color:#6e6259}
.ot-payment-card .product-thumbnail:has(img.woocommerce-placeholder){display:none!important}
.ot-payment-card .order-summary .product-name{min-width:0;overflow-wrap:anywhere;font-size:15px;line-height:1.5}
.ot-payment-card .order-summary dl.variation{font-size:13px;line-height:1.5}
.ot-payment-card .order-summary #ppc-button-ppcp-gateway{width:100%!important;max-width:none!important}
@media(max-width:900px){.woocommerce-checkout form.checkout.ot-payment-card{grid-template-columns:minmax(0,1fr);gap:24px}.ot-payment-card .ot-reservation-title{font-size:26px!important}.ot-payment-card .order-summary .shop_table{padding:18px!important}.ot-payment-card .order-summary #customer_review{padding:0 18px 20px!important}}

.ot-payment-card #payment ul.wc_payment_methods{display:flex;flex-direction:column;gap:10px;padding:0!important;margin:0 0 18px!important;border:0!important}
.ot-payment-card #payment li.wc_payment_method{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:14px!important;border:1px solid #d8cbbd;border-radius:6px;background:#faf7f1}
.ot-payment-card #payment li.payment_method_ppcp-gateway{order:0}
.ot-payment-card #payment li.payment_method_ppcp-card-button-gateway{order:1}
.ot-payment-card #payment li.wc_payment_method input.input-radio{display:inline-block!important;position:static!important;opacity:1!important;width:18px!important;height:18px!important;margin:0!important;accent-color:#45250c}
.ot-payment-card #payment li.wc_payment_method>label{display:block;flex:1;margin:0!important;font-size:15px;font-weight:700;cursor:pointer}
.ot-payment-card #payment .payment_box{flex-basis:100%;padding:8px 0 0!important;margin:0!important;background:transparent!important;font-size:12px;line-height:1.5}
.ot-payment-card #payment .payment_box:before{display:none!important}
.ot-payment-card .order-summary .product-name dl.variation{display:grid;grid-template-columns:minmax(80px,0.65fr) minmax(0,1fr);gap:4px 10px;margin-top:12px}
.ot-payment-card .order-summary .product-name dl.variation dt,.ot-payment-card .order-summary .product-name dl.variation dd{margin:0!important;padding:0!important;float:none!important}
.ot-payment-card .order-summary .product-name dl.variation p{margin:0!important}

.ot-payment-card #payment li.payment_method_ppcp-gateway{background:#0070ba;border-color:#0070ba;color:#fff}
.ot-payment-card #payment li.payment_method_ppcp-card-button-gateway{background:#343434;border-color:#343434;color:#fff}
.ot-payment-card #payment li.wc_payment_method>label,.ot-payment-card #payment li.wc_payment_method .payment_box,.ot-payment-card #payment li.wc_payment_method .payment_box p{color:inherit!important}
.ot-payment-card #payment li.payment_method_ppcp-gateway .payment_box,.ot-payment-card #payment li.payment_method_ppcp-card-button-gateway .payment_box{display:none!important}
.ot-payment-card #payment li.wc_payment_method:has(input:checked){outline:2px solid #b6a18c;outline-offset:2px}
.ot-payment-card #order_review:has(paypal-button) #place_order{display:none!important}

.ot-payment-card #payment li.wc_payment_method>label{display:block!important;min-width:0;white-space:normal}
.ot-payment-card #payment .ot-card-brands{display:flex!important;flex-wrap:wrap;justify-content:flex-start;gap:8px;margin-top:9px}

/* Checkout sequence: complete details, review, accept once, then pay. */
.woocommerce-checkout form.checkout.ot-payment-card{display:flex!important;flex-direction:column!important;gap:28px!important;max-width:860px;margin-left:auto!important;margin-right:auto!important}
.woocommerce-checkout form.checkout.ot-payment-card>.booking-submission{order:0!important;width:100%!important;flex:none!important}
.woocommerce-checkout form.checkout.ot-payment-card>.order-summary{order:1!important;width:100%!important;flex:none!important}
.ot-payment-card .woocommerce-terms-and-conditions-wrapper .validate-required{padding:16px!important;margin:18px 0!important;background:#faf6ee;border:1px solid #cdbca5;border-radius:10px;font-size:15px;line-height:1.6}
.ot-payment-card .woocommerce-terms-and-conditions-wrapper label{display:flex!important;align-items:flex-start;gap:10px;flex-wrap:nowrap!important}
.ot-payment-card .woocommerce-terms-and-conditions-wrapper input[type=checkbox]{flex:0 0 22px!important;width:22px!important;height:22px!important;margin:4px 0!important}
.ot-payment-card #ppc-button-ppcp-card-button-gateway-v6,.ot-payment-card #ppc-button-ppcp-card-button-gateway{background:#2c2e2f;border-radius:6px;overflow:hidden;padding:0 0 12px;box-sizing:border-box}
.ot-payment-card .ot-final-card-brands:not([hidden]){display:flex!important;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin:8px 12px 0!important;background:#2c2e2f}
.ot-payment-card .ot-final-card-brands[hidden]{display:none!important}
.ot-payment-card .ot-final-card-brands img{display:block!important;float:none!important;width:42px!important;height:28px!important;max-height:28px!important;object-fit:contain;background:#fff;border-radius:3px;padding:2px;margin:0!important;box-sizing:border-box}

.ot-payment-card #ppc-button-ppcp-card-button-gateway-v6,.ot-payment-card #ppc-button-ppcp-card-button-gateway{padding:0!important;border-radius:6px 6px 0 0}
.ot-payment-card .ot-final-card-brands:not([hidden]){margin:0!important;padding:10px 12px 12px!important;border-radius:0 0 6px 6px;box-sizing:border-box}

/* A compact method chooser replaces the duplicate payment bars. */
.ot-payment-card.ot-method-picker-ready #payment ul.wc_payment_methods{display:none!important}
.ot-payment-card .ot-payment-picker{display:block;margin:4px 0 20px;color:#45250c;font-size:16px;font-weight:600}
.ot-payment-card .ot-payment-picker select{display:block;width:100%;min-height:48px;margin-top:8px;padding:10px 14px;border:1px solid #bda68f;border-radius:8px;background:#fff;color:#45250c;font:inherit;box-sizing:border-box}
