/* WooCommerce — School of Natural Building */

/* WooCommerce Event Cards */
.woocommerce ul.products li.product.fooevents-product{display:flex;flex-direction:column;background:var(--fifth-clr);border-radius:5px;overflow:hidden;min-width:0}
.woocommerce ul.products li.product.fooevents-product>a.woocommerce-LoopProduct-link{display:flex;flex-direction:column;flex:1;text-decoration:none;position:relative}
.woocommerce ul.products li.product.fooevents-product img{width:100%;aspect-ratio:4/3;object-fit:cover;margin:0;display:block;transition:transform .3s ease}
.woocommerce ul.products li.product.fooevents-product:hover img{transform:scale(1.03)}
.woocommerce ul.products li.product.fooevents-product .woocommerce-loop-product__title{padding:0;margin:15px 0 10px;color:#fff}
.woocommerce ul.products li.product.fooevents-product .price{padding:0 20px 20px;margin-top:auto;color:#fff}
.woocommerce ul.products li.product.fooevents-product .price .amount{color:#fff}
.woocommerce ul.products li.product.fooevents-product .event-card-date{padding:0;color:#fff;font-weight:600}
.woocommerce ul.products li.product.fooevents-product .event-card-location{padding:0 0;color:#fff;opacity:.8}
.woocommerce ul.products li.product.fooevents-product .event-card-duration{padding:10px 0;color:#fff;font-weight:600}
.woocommerce ul.products li.product.fooevents-product .event-card-tags{position:absolute;top:14px;left:14px;z-index:2;display:flex;gap:6px;pointer-events:none}
.woocommerce ul.products li.product.fooevents-product .event-tag{padding:6px 12px;border-radius:3px;font-weight:600}
.woocommerce ul.products li.product.fooevents-product .event-tag.tag-theory{background:var(--fifth-clr);color:#fff}
.woocommerce ul.products li.product.fooevents-product .event-tag.tag-hands-on{background:var(--fourth-clr);color:var(--fifth-clr)}
.woocommerce ul.products li.product.fooevents-product .event-tag.tag-online{background:var(--primary-clr);color:var(--fifth-clr)}



/* General */
.woocommerce .shop{padding-bottom:60px}
.woocommerce .woocommerce-breadcrumb{margin:0 0 25px;color:var(--txt-clr);opacity:.75}
.woocommerce .woocommerce-breadcrumb a{color:inherit;text-decoration:underline}
.woocommerce a:focus-visible,.woocommerce button:focus-visible,.woocommerce input:focus-visible,.woocommerce select:focus-visible,.woocommerce textarea:focus-visible{outline:2px solid var(--primary-clr);outline-offset:3px}
/* Buttons */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt,.woocommerce #respond input#submit.alt,.woocommerce-page a.button,.woocommerce-page button.button,.woocommerce-page input.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;height:auto;padding:12px 22px;border:0;border-radius:5px;background:var(--fifth-clr);color:#fff;text-align:center;text-decoration:none;cursor:pointer;transition:background .2s ease,opacity .2s ease}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.woocommerce #respond input#submit:hover,.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,.woocommerce input.button.alt:hover,.woocommerce #respond input#submit.alt:hover,.woocommerce-page a.button:hover,.woocommerce-page button.button:hover,.woocommerce-page input.button:hover{background:var(--primary-clr);color:var(--fifth-clr)}
.woocommerce a.button:disabled,.woocommerce button.button:disabled,.woocommerce button.button:disabled[disabled],.woocommerce button.button.alt:disabled,.woocommerce button.button.alt.disabled{background:#aaa;color:#fff;opacity:.7;cursor:not-allowed}
/* Archives */
.woocommerce ul.products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:0 0 40px;padding:0;list-style:none;clear:both}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none}
.woocommerce ul.products li.product,.woocommerce-page ul.products li.product{float:none;width:auto;margin:0;min-width:0;display:flex;flex-direction:column;overflow:hidden;border-radius:5px;background:var(--fifth-clr);color:#fff;}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link{display:block;flex:1;text-decoration:none;color:#fff;}
.woocommerce ul.products li.product a img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;margin:0 0 16px;transition:transform .25s ease}
.woocommerce ul.products li.product a:hover img{opacity:.92}
.woocommerce ul.products li.product .woocommerce-loop-product__title,.woocommerce ul.products li.product .woocommerce-loop-category__title{padding:0 18px;margin:0 0 12px;color:#fff;font-size:1.6rem;}
.woocommerce ul.products li.product .price{display:block;margin:0;padding:0 18px 18px;color:var(--fifth-clr);font-weight:600;color:#fff;}
.woocommerce ul.products li.product>.button{margin:0 18px 18px}
.woocommerce span.onsale{top:12px;left:12px;right:auto;min-height:0;min-width:0;padding:7px 12px;border-radius:4px;background:var(--fifth-clr);color:#fff}
/* Optional archive sidebar */
.shop-flex{display:flex;flex-wrap:wrap;gap:3%;align-items:flex-start}
.shop-flex .shop-sidebar{flex:0 0 20%}
.shop-flex ul.products{flex:1 1 77%}
#shop-widgets .widgettitle{color:var(--fifth-clr)}
.product-categories .cat-parent{margin-bottom:15px}
.product-categories .children{padding-left:15px}
.product-categories>li{margin-bottom:5px}
/* Pagination */
.woocommerce nav.woocommerce-pagination{width:100%;margin:35px 0}
.woocommerce nav.woocommerce-pagination ul{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;border:0}
.woocommerce nav.woocommerce-pagination ul li{float:none;border:0}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:10px;border-radius:4px;background:var(--secondary-clr);color:var(--txt-clr)}
.woocommerce nav.woocommerce-pagination ul li a:hover,.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--fifth-clr);color:#fff}
/* Single product — main two columns */
.woocommerce.single-product div.product{display:grid;grid-template-columns:minmax(0,42%) minmax(0,1fr);column-gap:4%;row-gap:45px;align-items:start;margin-bottom:60px}
.woocommerce.single-product div.product>.woocommerce-product-gallery,.woocommerce.single-product div.product>div.images{grid-column:1;grid-row:1;float:none;width:100%;min-width:0;margin:0}
.woocommerce.single-product div.product>.summary{grid-column:2;grid-row:1;float:none;width:100%;min-width:0;margin:0}
.woocommerce.single-product div.product>.product-full-description,.woocommerce.single-product div.product>.woocommerce-tabs,.woocommerce.single-product div.product>.related.products,.woocommerce.single-product div.product>.upsells.products{grid-column:1/-1;min-width:0;width:100%;clear:both}
.woocommerce.single-product div.product>.clear{display:none}
/* Gallery */
.single-product .woocommerce-product-gallery{overflow:hidden;border-radius:6px}
.single-product .woocommerce-product-gallery__image img{display:block;width:100%;height:auto}
.single-product .flex-control-thumbs{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0 0!important;padding:0;}
.single-product .flex-control-thumbs li{overflow:hidden;border-radius:4px;width:unset!important;flex:calc(25% - 10px);flex-grow:unset;}

/* Single product summary */
.single-product-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.single-product .event-tag{display:inline-block;padding:7px 12px;border-radius:4px;background:var(--primary-clr);color:var(--fifth-clr);font-weight:600}
.single-product .event-tag.tag-theory{background:var(--fifth-clr);color:#fff}
.single-product .event-tag.tag-hands-on{background:var(--fourth-clr);color:var(--fifth-clr)}
.single-product .event-tag.tag-online{background:var(--primary-clr);color:var(--fifth-clr)}
.woocommerce.single-product div.product .product_title{margin:0 0 18px;color:var(--fifth-clr)}
.woocommerce.single-product div.product p.price,.woocommerce.single-product div.product span.price{margin:0 0 22px;color:var(--fifth-clr)}
.single-product .woocommerce-product-details__short-description{margin-bottom:25px}
.single-product .woocommerce-product-details__short-description p:last-child{margin-bottom:0}
/* Booking / purchasing panel */
.woocommerce.single-product .product-booking-panel{padding:28px;margin:25px 0 0;border:1px solid rgba(30,70,52,.12);border-radius:8px;background:var(--secondary-clr)}
.woocommerce.single-product .product-booking-panel>h3{margin:0 0 18px;color:var(--fifth-clr)}
.woocommerce.single-product div.product .product-booking-panel form.cart{display:block;margin:0;padding:0;background:transparent}
.woocommerce.single-product div.product .product-booking-panel form.cart::before,.woocommerce.single-product div.product .product-booking-panel form.cart::after{display:none}
.woocommerce.single-product div.product .product-booking-panel table.variations{display:table;width:100%;margin:0 0 18px;border:0}
.woocommerce.single-product div.product .product-booking-panel table.variations tbody{display:block}
.woocommerce.single-product div.product .product-booking-panel table.variations tr{display:block;margin-bottom:12px}
.woocommerce.single-product div.product .product-booking-panel table.variations th,.woocommerce.single-product div.product .product-booking-panel table.variations td{display:block;width:100%;padding:0;border:0;text-align:left}
.woocommerce.single-product div.product .product-booking-panel table.variations label{display:block;margin:0 0 8px;font-weight:600}
.woocommerce.single-product div.product .product-booking-panel table.variations select{display:block;width:100%;min-height:52px;padding:10px 14px;border:1px solid #bbb;border-radius:5px;background:#fff;color:var(--txt-clr)}
.woocommerce.single-product .product-booking-panel .reset_variations{display:inline-block;margin-top:8px}
.woocommerce.single-product .product-booking-panel .single_variation_wrap{width:100%}
.woocommerce.single-product .product-booking-panel .woocommerce-variation{margin-bottom:15px}
.woocommerce.single-product .product-booking-panel .woocommerce-variation-price{margin-bottom:8px}
.woocommerce.single-product .product-booking-panel .woocommerce-variation-description{margin-bottom:10px}
.woocommerce.single-product div.product .product-booking-panel .woocommerce-variation-add-to-cart{display:flex!important;align-items:stretch;gap:12px;width:100%}
.woocommerce.single-product div.product .product-booking-panel form.cart div.quantity{float:none;margin:0}
.woocommerce.single-product div.product .product-booking-panel form.cart .qty{width:76px;min-height:52px;padding:8px;border:1px solid #bbb;border-radius:5px;background:#fff;text-align:center}
.woocommerce.single-product div.product .product-booking-panel form.cart .single_add_to_cart_button{flex:1;min-width:0;min-height:52px;margin:0}
.woocommerce div.product form.cart .reset_variations {color:#000;}
.woocommerce .reset_variations{display:none!important}
.woocommerce .reset_variations[style*="visible"]{display:inline-block!important}
/* Full description */
.woocommerce.single-product div.product>.product-full-description{padding:45px 0 15px;margin:0;border-top:1px solid rgba(0,0,0,.12)}
.product-description-inner{max-width:850px;margin:0 auto}
.product-description-inner>h2:first-child{margin:0 0 25px}
.product-description-inner h2{margin:35px 0 15px;color:var(--fifth-clr)}
.product-description-inner h3{margin:28px 0 12px}
.product-description-inner p{margin:0 0 18px}
.product-description-inner ul,.product-description-inner ol{margin:0 0 25px;padding-left:25px}
.product-description-inner li{margin-bottom:10px}
.product-description-inner li p{margin:0}
.product-description-inner a{text-decoration:underline}
.woocommerce.single-product .related.products,.woocommerce.single-product .upsells.products{padding-top:35px;border-top:1px solid rgba(0,0,0,.12)}
/* Stock, notices and forms */
.woocommerce div.product .stock{color:var(--fifth-clr);font-weight:600}
.woocommerce .woocommerce-message,.woocommerce .woocommerce-info,.woocommerce .woocommerce-error{border-top-color:var(--fifth-clr);background:var(--secondary-clr);color:var(--txt-clr)}
.woocommerce .woocommerce-message::before,.woocommerce .woocommerce-info::before{color:var(--fifth-clr)}
.woocommerce .woocommerce-error{border-top-color:var(--primary-clr)}
.woocommerce .woocommerce-error::before{color:var(--primary-clr)}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select{min-height:48px;padding:10px 12px;border:1px solid #bbb;border-radius:4px;background:#fff;color:var(--txt-clr)}
/* Cart and checkout blocks */
.is-large.wc-block-cart,.wc-block-checkout.is-large{margin:45px auto}
.wc-block-cart__submit-button,.wc-block-components-checkout-place-order-button{min-height:52px;padding:12px 22px;border:0;border-radius:5px;background:var(--fifth-clr);color:#fff;cursor:pointer}
.wc-block-cart__submit-button:hover,.wc-block-components-checkout-place-order-button:hover{background:var(--primary-clr);color:var(--fifth-clr)}
.editor-styles-wrapper table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-name,table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-name{color:var(--txt-clr)}
/* Legacy Woo blocks */
.wc-block-grid__product{text-align:left}
/* Responsive */
@media(max-width:1100px){.woocommerce ul.products{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.woocommerce.single-product div.product{column-gap:4%}}
@media(max-width:900px){.woocommerce.single-product div.product{grid-template-columns:minmax(0,1fr);row-gap:25px}.woocommerce.single-product div.product>.woocommerce-product-gallery,.woocommerce.single-product div.product>div.images,.woocommerce.single-product div.product>.summary,.woocommerce.single-product div.product>.product-full-description,.woocommerce.single-product div.product>.woocommerce-tabs,.woocommerce.single-product div.product>.related.products,.woocommerce.single-product div.product>.upsells.products{grid-column:1;grid-row:auto}.woocommerce.single-product div.product>.product-full-description{padding-top:30px}.shop-flex .shop-sidebar{flex:0 0 100%}.shop-flex ul.products{flex:0 0 100%}}
@media(max-width:768px){.woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}.woocommerce ul.products[class*=columns-] li.product,.woocommerce-page ul.products[class*=columns-] li.product{width:auto;margin:0;float:none;clear:none}}
@media(max-width:500px){.woocommerce ul.products{grid-template-columns:minmax(0,1fr)}.woocommerce.single-product .product-booking-panel{padding:18px}.woocommerce.single-product div.product .product-booking-panel .woocommerce-variation-add-to-cart{flex-wrap:wrap}.woocommerce.single-product div.product .product-booking-panel form.cart .single_add_to_cart_button{flex:1}.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{min-width:40px;min-height:40px}}

/* Final theme-specific refinements */
.woocommerce.single-product div.product .product-booking-panel .single_add_to_cart_button.button.alt{background:var(--fifth-clr);color:#fff}
.woocommerce.single-product div.product .product-booking-panel .single_add_to_cart_button.button.alt:hover:not(:disabled){background:var(--primary-clr);color:var(--fifth-clr)}
.woocommerce.single-product div.product .product-booking-panel .single_add_to_cart_button.button.alt:disabled{background:#aaa;color:#fff}
.woocommerce.single-product div.product .product_title,.woocommerce.single-product .product-description-inner h2,.woocommerce.single-product .product-description-inner h3,.woocommerce.single-product .product-booking-panel h3{color:var(--fifth-clr)}
.woocommerce.single-product div.product>.product-full-description{clear:both}
.woocommerce .woocommerce-breadcrumb a:hover,.woocommerce.single-product .product-description-inner a:hover{color:var(--fifth-clr)}
