/*
Theme Name: One40 Tours WooCommerce
Template: hello-elementor
Version: 1.0.0
Description: Preserves Hello Elementor and adds native WooCommerce tour details.
*/
.o40-tour-fields{background:#f4f7f3;border:1px solid #dbe5dc;border-radius:14px;padding:22px;margin:20px 0;width:100%;box-sizing:border-box}
.o40-tour-fields label{display:block;font-weight:600;margin:12px 0 6px;color:#143c2b}
.o40-tour-fields input,.o40-tour-fields select{width:100%;min-height:46px;border:1px solid #c7d7cb;border-radius:7px;background:#fff;padding:10px;color:#18392a}
.o40-tour-fields h3{margin:0 0 12px;font-size:22px}.o40-tour-fields small{display:block;margin-top:8px;line-height:1.6;color:#526256}
.o40-tour-meta{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:18px 0;border-top:1px solid #ddd;border-bottom:1px solid #ddd;margin:18px 0}.o40-tour-meta b{display:block;color:#17422e;font-size:13px;text-transform:uppercase;letter-spacing:.06em}.o40-tour-meta span{font-size:15px}
body.single-product #content{max-width:1240px;padding:150px 24px 60px;margin:auto}body.single-product .product_title{font-size:clamp(28px,3.2vw,44px);line-height:1.15;color:#123b2a}body.single-product .woocommerce-product-gallery img{border-radius:16px}body.single-product .summary .price{color:#226140;font-weight:700;font-size:28px}body.single-product form.cart{display:flex;flex-wrap:wrap;gap:12px;align-items:center}body.single-product form.cart .single_add_to_cart_button{background:#073e28;color:#eac955;border:0;border-radius:7px;padding:15px 28px;font-weight:700}body.single-product form.cart .quantity input{min-height:49px;border-radius:7px}body.single-product .o40-unit{font-size:14px;font-weight:400}body.single-product .woocommerce-tabs{clear:both;padding-top:28px}.o40-steps{font-size:13px;color:#54715e;margin-bottom:20px}.o40-steps strong{color:#15452d}.o40-total{font-weight:700;color:#15452d;font-size:19px;margin-top:16px}.o40-back{display:inline-block;margin-bottom:18px;color:#15452d;font-weight:600}body.woocommerce-checkout #content,body.woocommerce-cart #content{padding-top:135px;padding-bottom:50px}.o40-checkout-note{padding:15px 20px;background:#f1f7f1;border-left:4px solid #185638;margin-bottom:20px}
@media(max-width:767px){body.single-product #content{padding:120px 18px 40px}.o40-tour-meta{grid-template-columns:1fr}.o40-tour-fields{padding:16px}body.woocommerce-checkout #content,body.woocommerce-cart #content{padding-top:115px}}
body.single-product .elementor-location-header>.elementor-element,body.woocommerce-checkout .elementor-location-header>.elementor-element,body.woocommerce-cart .elementor-location-header>.elementor-element{margin-bottom:0!important;background:#123b2a!important}
body.single-product #main{box-sizing:border-box;max-width:1240px;padding:40px 24px 60px;margin:0 auto}body.woocommerce-cart #main,body.woocommerce-checkout #main{box-sizing:border-box;max-width:1240px;margin:0 auto;padding:40px 24px 60px}
@media(max-width:767px){body.single-product #main,body.woocommerce-cart #main,body.woocommerce-checkout #main{padding:28px 18px 40px}}

/* One40Tours product pages, search results and related tour cards. */
body.single-product #main,body.search.woocommerce #main,body.post-type-archive-product #main{max-width:1240px;margin:auto;padding:48px 28px 72px;box-sizing:border-box}
body.single-product #main>div.product{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:28px 48px;align-items:start}
body.single-product #main>div.product:before,body.single-product #main>div.product:after{display:none}
body.single-product #main>div.product>.o40-back,body.single-product #main>div.product>.o40-steps,body.single-product #main>div.product>.woocommerce-tabs,body.single-product #main>div.product>.related,body.single-product #main>div.product>.up-sells{grid-column:1/-1;width:100%;margin:0}
body.single-product #main>div.product>.o40-back{font-size:13px;text-decoration:none;color:#326b53}
body.single-product #main>div.product>.o40-steps{border-bottom:1px solid #dce7df;padding:0 0 22px;font-size:12px;line-height:1.8}
body.single-product #main>div.product>.woocommerce-product-gallery{grid-column:1;grid-row:3;width:100%;float:none;margin:0;position:relative;top:auto}
body.single-product #main>div.product>.summary{grid-column:2;grid-row:3;width:100%;float:none;margin:0;min-width:0}
body.single-product .woocommerce-product-gallery__image img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:20px!important}
body.single-product .product_title{font-size:clamp(29px,3vw,43px)!important;line-height:1.12!important;text-transform:none!important;margin:0 0 20px!important}
body.single-product .summary .price{font-size:31px!important;line-height:1.4;margin:0 0 15px!important;color:#174e3c!important}
body.single-product .summary .o40-unit{font-size:12px!important;display:inline-block;color:#62796d;font-weight:400}
body.single-product .woocommerce-product-details__short-description{font-size:15px;line-height:1.8;color:#5c7168}
body.single-product .o40-tour-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border:1px solid #dce7df;border-radius:14px;overflow:hidden;padding:0;margin:24px 0;background:#f6f9f5}
body.single-product .o40-tour-meta>span{padding:16px;font-size:13px;line-height:1.65;overflow-wrap:anywhere}
body.single-product .o40-tour-meta b{font-size:10px;letter-spacing:.11em;color:#52755f;margin-bottom:5px}
body.single-product .o40-tour-fields{margin:0!important;padding:24px!important;border:1px solid #dbe6dc!important;background:#fff!important;border-radius:18px!important;box-shadow:0 10px 35px #173e300a}
body.single-product .o40-tour-fields h3{font-size:23px!important;letter-spacing:-.03em;text-transform:none;margin-bottom:20px}
body.single-product .o40-tour-fields label{text-transform:none!important;font-size:13px;line-height:1.5}
body.single-product .o40-tour-fields input,body.single-product .o40-tour-fields select{min-width:0;max-width:100%;font-size:14px;min-height:48px;border-radius:9px;border-color:#d3dfd4}
body.single-product .o40-tour-fields input:focus,body.single-product .o40-tour-fields select:focus{outline:2px solid #8ba982;outline-offset:2px}
body.single-product .o40-ticket-grid{gap:12px!important}
body.single-product .o40-ticket-grid>div{padding:14px;background:#f3f7f0;border:1px solid #e0e8da;border-radius:12px}
body.single-product .o40-ticket-grid label{margin:0 0 5px!important}
body.single-product .o40-ticket-rate{font-size:13px;margin-bottom:10px}
body.single-product .o40-ticket-options legend{text-transform:none;font-size:17px}
body.single-product .o40-tour-fields small{font-size:11px;line-height:1.75;color:#65766c}
body.single-product .o40-tour-fields .o40-eligibility input{min-height:20px;accent-color:#174e3c}
body.single-product .o40-total{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;background:#f1f6ed;padding:16px;border-radius:10px;margin-top:20px;font-size:15px}
body.single-product .o40-total #o40_total{font-size:24px;line-height:1.2}
body.single-product form.cart{gap:16px!important}
body.single-product form.cart .single_add_to_cart_button{width:100%;min-height:54px!important;background:#d6b54e!important;color:#173e30!important;font-size:14px;padding:17px 20px!important;letter-spacing:0;text-transform:none;transition:background .2s}
body.single-product form.cart .single_add_to_cart_button:hover{background:#e5c971!important}
body.single-product form.cart .shopengine-wishlist,body.single-product form.cart .shopengine-comparison,body.single-product .product_meta .sku_wrapper{display:none!important}
body.single-product .product_meta{font-size:11px;color:#6b7c71;margin-top:18px}
body.single-product .woocommerce-tabs{padding-top:38px!important;border-top:1px solid #dce7df}
body.single-product .woocommerce-tabs ul.tabs{padding:0!important;margin-bottom:28px!important;border-bottom:1px solid #dce7df}
body.single-product .woocommerce-tabs ul.tabs:before,body.single-product .woocommerce-tabs ul.tabs li:before,body.single-product .woocommerce-tabs ul.tabs li:after{display:none!important}
body.single-product .woocommerce-tabs ul.tabs li{border:0!important;border-radius:0!important;background:none!important;margin:0 24px 0 0!important;padding:0!important}
body.single-product .woocommerce-tabs ul.tabs li.active{border-bottom:3px solid #b79a3e!important}
body.single-product .woocommerce-tabs ul.tabs li a{padding:13px 0!important;color:#194b39!important;font-size:14px;font-weight:600}
body.single-product .woocommerce-tabs .panel{max-width:850px;font-size:15px;line-height:1.9;color:#536b60}
body.single-product .woocommerce-tabs .panel h2{font-size:29px;letter-spacing:-.03em;text-transform:none;color:#103e39;margin:20px 0}
body.single-product .woocommerce-tabs .panel h3{font-size:22px;text-transform:none;color:#103e39;margin:28px 0 15px}
body.single-product .related{padding-top:32px!important;border-top:1px solid #dce7df}
body.single-product .related>h2{font-size:32px!important;text-transform:none;letter-spacing:-.035em;margin:0 0 28px;color:#103e39}
body.search.woocommerce .page-title,body.post-type-archive-product .page-title{font-size:clamp(30px,4vw,46px);text-transform:none;letter-spacing:-.04em;line-height:1.2;color:#103e39;margin-bottom:28px}
.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px!important;margin:28px 0!important;padding:0!important;clear:both}
.woocommerce ul.products:before,.woocommerce ul.products:after{display:none!important}
.woocommerce ul.products li.product{display:flex!important;flex-direction:column;min-width:0;width:100%!important;float:none!important;margin:0!important;padding:0!important;background:#fff;border:1px solid #dce7df;border-radius:16px;overflow:hidden;box-shadow:0 5px 18px #123b2a06;transition:transform .2s,box-shadow .2s}
.woocommerce ul.products li.product:hover{transform:translateY(-4px);box-shadow:0 14px 32px #123b2a12}
.woocommerce ul.products li.product a.woocommerce-loop-product__link{display:flex;flex-direction:column;flex:1;text-decoration:none;color:#103e39}
.woocommerce ul.products li.product a img{width:100%!important;height:220px!important;aspect-ratio:4/3;object-fit:cover;margin:0!important;border-radius:0!important}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:20px!important;line-height:1.35!important;letter-spacing:-.025em;text-transform:none!important;padding:22px 22px 14px!important;min-height:105px;margin:0!important;color:#103e39!important}
.woocommerce ul.products li.product .price{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 7px;padding:0 22px;margin:auto 0 0!important;line-height:1.6;color:#194f3b!important;font-size:13px!important}
.woocommerce ul.products li.product .price .amount{font-size:24px;font-weight:600}
.woocommerce ul.products li.product .price .o40-unit{font-size:10px!important;font-weight:400;color:#61756b}
.woocommerce ul.products li.product>.button{margin:18px 22px 22px!important;padding:12px 15px!important;border:1px solid #d6e3d6;border-radius:100px!important;background:#f0f6ed!important;color:#194f3b!important;display:block!important;text-align:center;font-size:12px;font-weight:600;line-height:1.5;text-transform:none;text-decoration:none}
.woocommerce ul.products li.product>.button:hover{background:#103e39!important;color:#fff!important}
.woocommerce ul.products li.product .shopengine-wishlist,.woocommerce ul.products li.product .shopengine-comparison,.woocommerce ul.products li.product .shopengine-quickview-trigger{display:none!important}
.woocommerce .woocommerce-ordering select{padding:12px 35px 12px 15px;border:1px solid #dce7df;border-radius:9px;background:#f6f9f4;color:#284e3b;font-size:13px}
.woocommerce nav.woocommerce-pagination ul{border:0;display:flex;justify-content:center;gap:8px;margin:35px 0}
.woocommerce nav.woocommerce-pagination ul li{border:0}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{min-width:42px;padding:13px;border-radius:9px;background:#f2f6ef;color:#24583d}
.woocommerce nav.woocommerce-pagination ul li span.current{background:#103e39;color:#fff}
@media(min-width:1100px){body.single-product .related ul.products{grid-template-columns:repeat(4,minmax(0,1fr))}body.single-product .related ul.products li.product a img{height:185px!important}body.single-product .related ul.products li.product .woocommerce-loop-product__title{font-size:17px!important;padding:20px 18px 12px!important;min-height:104px}body.single-product .related ul.products li.product .price{padding:0 18px}body.single-product .related ul.products li.product>.button{margin-left:18px!important;margin-right:18px!important}}
@media(max-width:900px){body.single-product #main>div.product{gap:24px;grid-template-columns:1fr}body.single-product #main>div.product>.woocommerce-product-gallery,body.single-product #main>div.product>.summary{grid-column:1;grid-row:auto;position:static}body.single-product .woocommerce-product-gallery__image img{aspect-ratio:16/10}.woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){body.single-product #main,body.search.woocommerce #main,body.post-type-archive-product #main{padding:28px 18px 45px}body.single-product .product_title{font-size:31px!important}body.single-product .o40-tour-meta>span{padding:13px;font-size:12px}body.single-product .o40-tour-fields{padding:18px!important}body.single-product .o40-steps{font-size:10px!important}body.single-product .o40-ticket-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}body.single-product .o40-ticket-grid>div{padding:11px}.woocommerce ul.products{grid-template-columns:1fr;gap:20px!important}.woocommerce ul.products li.product a img{height:235px!important}.woocommerce ul.products li.product .woocommerce-loop-product__title{min-height:0;font-size:22px!important}.woocommerce .woocommerce-ordering{float:none!important;width:100%;margin-bottom:10px}.woocommerce .woocommerce-ordering select{width:100%}body.single-product .related>h2{font-size:29px!important}}
@media(max-width:359px){body.single-product .o40-ticket-grid{grid-template-columns:1fr!important}body.single-product .o40-tour-meta{grid-template-columns:1fr}body.single-product .product_title{font-size:28px!important}}
@media(prefers-reduced-motion:reduce){.woocommerce ul.products li.product{transition:none}.woocommerce ul.products li.product:hover{transform:none}}
