/* =========================================================
   Well Kind — WooCommerce styles
   ========================================================= */
.woo-wrap{padding:48px 0 0}
.woocommerce .woocommerce-breadcrumb{font-size:14px;color:var(--ink-soft);margin-bottom:20px}
.woocommerce .woocommerce-breadcrumb a{color:var(--ink-soft)}
.woocommerce-products-header__title,.woocommerce div.product:not(.pd) .product_title{font-family:var(--display);font-size:clamp(32px,5vw,56px);margin-bottom:16px}
.woocommerce .woocommerce-result-count{color:var(--ink-soft);font-size:15px}
.woocommerce .woocommerce-ordering select,.woocommerce select,.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce-page form .form-row input.input-text,.woocommerce .quantity .qty,.select2-container .select2-selection--single{min-height:48px;padding:10px 14px;border:1.5px solid var(--line);border-radius:12px;background:#fff;font-size:16px;color:var(--ink)}
.select2-container .select2-selection--single{height:48px;display:flex;align-items:center}
.select2-container--default .select2-selection--single .select2-selection__arrow{height:46px}

/* 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{background:var(--teal);color:#fff;border-radius:12px;font:600 15px/1.2 var(--body);padding:14px 22px;min-height:48px;display:inline-flex;align-items:center;justify-content:center;text-align:center;border:0}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce button.button.alt:hover,.woocommerce a.button.alt:hover{background:var(--teal-dark);color:#fff}
.woocommerce button.button:disabled,.woocommerce button.button.disabled{opacity:.5}
.woocommerce a.added_to_cart{display:inline-block;margin-top:8px;font-weight:600;color:var(--teal)}

/* Product grid */
.woocommerce ul.products{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin:24px 0 0}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none}
.woocommerce ul.products li.product{width:auto!important;margin:0!important;float:none!important;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:20px;padding:16px;background:#fff}
.woocommerce ul.products li.product a img{border-radius:14px;background:var(--tint-2);aspect-ratio:1/1;object-fit:contain;margin-bottom:14px}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--display);font-size:20px;padding:0;color:var(--ink)}
.woocommerce ul.products li.product .price{color:var(--ink);font-family:var(--display);font-weight:700;font-size:20px;margin:6px 0 14px}
.woocommerce ul.products li.product .button{margin-top:auto;width:100%}
.woocommerce span.onsale{background:var(--sun);color:var(--ink);border-radius:999px;min-height:auto;min-width:auto;padding:4px 12px;line-height:1.4;font-weight:600;top:24px;left:24px;right:auto}

/* Single product */
.woocommerce div.product:not(.pd){display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.woocommerce div.product:not(.pd) div.images,.woocommerce div.product:not(.pd) div.summary{width:100%!important;float:none!important;margin:0}
.woocommerce div.product:not(.pd) div.images img{border-radius:20px;background:var(--tint-2)}
.woocommerce div.product:not(.pd) p.price,.woocommerce div.product:not(.pd) span.price{color:var(--ink);font-family:var(--display);font-size:30px;font-weight:700}
.woocommerce div.product:not(.pd) .woocommerce-tabs,.woocommerce div.product:not(.pd) .related,.woocommerce div.product:not(.pd) .upsells{grid-column:1/-1}
.woocommerce div.product:not(.pd) .woocommerce-tabs ul.tabs{padding:0;display:flex;gap:8px;overflow-x:auto}
.woocommerce div.product:not(.pd) .woocommerce-tabs ul.tabs::before{display:none}
.woocommerce div.product:not(.pd) .woocommerce-tabs ul.tabs li{border:1.5px solid var(--line);border-radius:999px;background:#fff;margin:0;padding:0}
.woocommerce div.product:not(.pd) .woocommerce-tabs ul.tabs li::before,.woocommerce div.product:not(.pd) .woocommerce-tabs ul.tabs li::after{display:none}
.woocommerce div.product:not(.pd) .woocommerce-tabs ul.tabs li.active{background:var(--teal);border-color:var(--teal)}
.woocommerce div.product:not(.pd) .woocommerce-tabs ul.tabs li a{padding:10px 18px;font-weight:600}
.woocommerce div.product:not(.pd) .woocommerce-tabs ul.tabs li.active a{color:#fff}
.woocommerce div.product:not(.pd) form.cart{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.woocommerce div.product:not(.pd) form.cart div.quantity{margin:0}
.woocommerce div.product:not(.pd) form.cart .button{flex:1 1 200px}
.woocommerce div.product:not(.pd) form.cart .variations{width:100%;margin-bottom:8px}
.woocommerce div.product:not(.pd) form.cart .variations td,.woocommerce div.product:not(.pd) form.cart .variations th{display:block;padding:4px 0}
.woocommerce div.product:not(.pd) form.cart .variations select{width:100%}
.woocommerce .single_variation_wrap{width:100%}
.woocommerce .woocommerce-variation-add-to-cart{display:flex;flex-wrap:wrap;gap:12px}
.wk-rx-box{background:var(--mint);border-left:5px solid var(--teal);border-radius:6px 18px 18px 6px;padding:20px 22px;margin:20px 0}
.wk-rx-box p{color:var(--ink-soft);margin-bottom:14px}
.wk-rx-box .rx-note{margin:0 0 8px;color:var(--ink);font-weight:600}

/* Notices */
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-noreviews,p.no-comments{border-radius:14px;border-top:0;border-left:5px solid var(--teal);background:var(--mint);color:var(--ink);padding:16px 20px 16px 52px}
.woocommerce-error{border-left-color:#B42318;background:#FEF3F2}
.woocommerce-message::before,.woocommerce-info::before{color:var(--teal)}
.woocommerce-message .button{float:right;margin-left:12px}

/* Cart, checkout, account */
.woocommerce table.shop_table{border-radius:16px;border-color:var(--line);border-collapse:separate;overflow:hidden}
.woocommerce table.shop_table th{background:var(--mint)}
.woocommerce-cart .cart-collaterals .cart_totals,.woocommerce-checkout #order_review,.woocommerce-checkout #order_review_heading{float:none;width:100%}
.woocommerce .cart-collaterals .cart_totals{max-width:520px;margin-left:auto}
.woocommerce form.checkout{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:start}
.woocommerce form.checkout .col2-set{width:100%;float:none;grid-column:1}
.woocommerce form.checkout .col2-set .col-1,.woocommerce form.checkout .col2-set .col-2{float:none;width:100%}
.woocommerce form.checkout #order_review_heading{grid-column:2;grid-row:1;margin:0}
.woocommerce form.checkout #order_review{grid-column:2;grid-row:1;margin-top:48px;border:1px solid var(--line);border-radius:20px;padding:22px}
.woocommerce-checkout #payment{background:var(--mint);border-radius:16px}
.woocommerce form .form-row label{font-weight:600;font-size:14.5px}
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;padding:0;display:grid;gap:4px}
.woocommerce-account .woocommerce-MyAccount-navigation a{display:block;padding:10px 14px;border-radius:10px}
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a{background:var(--mint);color:var(--teal-dark);font-weight:600}

/* Block cart & checkout */
.wc-block-components-button:not(.is-link){background:var(--teal)!important;color:#fff!important;border-radius:12px!important;min-height:48px}
.wc-block-components-text-input input,.wc-block-components-combobox .wc-block-components-combobox-control input{border-radius:12px!important}

@media (max-width:1024px){
  .woocommerce form.checkout{grid-template-columns:1fr}
  .woocommerce form.checkout #order_review_heading,.woocommerce form.checkout #order_review{grid-column:1;grid-row:auto;margin-top:0}
}
@media (max-width:860px){
  .woocommerce ul.products{grid-template-columns:repeat(2,1fr);gap:18px}
  .woocommerce div.product:not(.pd){grid-template-columns:1fr;gap:28px}
}
@media (max-width:768px){
  .woocommerce table.shop_table_responsive tr td{padding:10px 12px}
  .woocommerce-cart table.cart td.actions .coupon{display:flex;flex-direction:column;gap:8px}
  .woocommerce-cart table.cart td.actions .coupon .input-text{width:100%!important}
  .woocommerce-cart table.cart td.actions .button{width:100%}
  .woocommerce .cart-collaterals .cart_totals{max-width:none}
}
@media (max-width:560px){
  .woo-wrap{padding-top:32px}
  .woocommerce ul.products{grid-template-columns:1fr}
  .woocommerce .woocommerce-ordering,.woocommerce .woocommerce-result-count{float:none;width:100%}
  .woocommerce .woocommerce-ordering select{width:100%}
  .woocommerce-message .button{float:none;display:flex;margin:10px 0 0}
}
.wc-block-grid__product .wp-block-button__link,.wp-block-woocommerce-cart .wp-block-button__link,.wc-block-components-product-button .wp-block-button__link{background:var(--teal)!important;color:#fff!important;border-radius:12px!important}
.wc-block-grid__product .wp-block-button__link:hover{background:var(--teal-dark)!important}

/* =========================================================
   Custom checkout fields (WooCommerce > Checkout fields)
   ========================================================= */
.woocommerce form.checkout .wk-cf-section{grid-column:1;min-width:0}
.wk-cf-section{margin:28px 0 8px}
.wk-cf-title{font-size:24px;margin-bottom:14px}
.wk-cf-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px}
.woocommerce form .wk-cf-fields .form-row{float:none;width:auto;margin:0 0 18px;padding:0}
.wk-cf-fields .wk-cf-full{grid-column:1/-1}
.wk-cf-fields .wk-cf-half{grid-column:auto}
.wk-cf-row[hidden],.wk-cf-type-hidden{display:none!important}
.wk-cf-reveal{animation:wkCfIn .3s ease}
@keyframes wkCfIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.wk-cf-row .woocommerce-input-wrapper{display:block}
.woocommerce form .wk-cf-row input.input-text,.woocommerce form .wk-cf-row textarea,.woocommerce form .wk-cf-row select{width:100%}
.woocommerce form .wk-cf-row textarea{min-height:110px;resize:vertical}
.woocommerce form .wk-cf-row select[multiple]{min-height:120px;padding:6px}
.wk-cf-row .optional{font-weight:400;color:var(--ink-mute)}
.wk-cf-row .required{color:#B42318;text-decoration:none;border:0}
.wk-cf-desc{display:block;margin-top:6px;font-size:14px;color:var(--ink-soft)}
.wk-cf-desc a{color:var(--teal);text-decoration:underline}

.wk-cf-heading{font-size:22px;margin:10px 0 0;padding-top:18px;border-top:1px solid var(--line)}
.wk-cf-fields>.wk-cf-type-heading:first-child .wk-cf-heading{border-top:0;padding-top:0;margin-top:0}
.wk-cf-paragraph{color:var(--ink-soft);font-size:15.5px;margin:0}
.wk-cf-paragraph a{color:var(--teal);text-decoration:underline}

/* Radios, checkbox groups, single checkbox */
.wk-cf-choices{border:0;padding:0;margin:0;min-width:0}
.wk-cf-choices legend{font-weight:600;font-size:14.5px;margin-bottom:8px;padding:0}
.wk-cf-choices{display:flex;flex-wrap:wrap;gap:8px}
.wk-cf-choices legend{flex-basis:100%}
.wk-cf-choice{display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:10px 16px;border:1.5px solid var(--line);border-radius:12px;background:#fff;cursor:pointer;font-weight:500!important;font-size:15px!important;line-height:1.3;transition:border-color .15s,background .15s}
.wk-cf-choice:hover{border-color:var(--ink-mute)}
.wk-cf-choice input{width:18px;height:18px;margin:0;flex-shrink:0;accent-color:var(--teal)}
.wk-cf-choice:has(input:checked){border-color:var(--teal);background:var(--mint)}
.wk-cf-choice:has(input:focus-visible){outline:3px solid var(--sun);outline-offset:2px}
.wk-cf-single{width:100%}

/* File upload */
.wk-cf-file{display:grid;gap:10px}
.wk-cf-drop{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center;padding:24px 18px;border:2px dashed var(--line);border-radius:16px;background:var(--mint);color:var(--teal-dark);cursor:pointer;transition:border-color .15s,background .15s}
.wk-cf-drop:hover,.wk-cf-drop.is-over{border-color:var(--teal);background:#dff1eb}
.wk-cf-drop:focus-within{outline:3px solid var(--sun);outline-offset:3px}
.wk-cf-drop-main{font-weight:600;font-size:15.5px;color:var(--ink)}
.wk-cf-drop-sub{font-size:13.5px;color:var(--ink-soft)}
.wk-cf-file-input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.wk-cf-file.is-full .wk-cf-drop{display:none}
.wk-cf-file-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.wk-cf-file-list:empty{display:none}
.wk-cf-file-item{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr) auto;grid-template-rows:auto auto;column-gap:12px;align-items:center;padding:10px 12px;border:1.5px solid var(--line);border-radius:12px;background:#fff;overflow:hidden}
.wk-cf-file-item.is-done{border-color:var(--teal)}
.wk-cf-file-thumb,.wk-cf-file-icon{grid-row:1/3;width:44px;height:44px;border-radius:8px;object-fit:cover;background:var(--tint-2)}
.wk-cf-file-icon{display:grid;place-items:center;font:700 11px var(--body);color:var(--ink-soft)}
.wk-cf-file-name{font-weight:600;font-size:14.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wk-cf-file-size{grid-column:2;font-size:13px;color:var(--ink-soft)}
.wk-cf-file-remove{grid-column:3;grid-row:1/3;border:0;background:none;color:#B42318;font:600 14px var(--body);padding:8px;min-height:40px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.wk-cf-file-bar{position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--line);display:none}
.wk-cf-file-bar i{display:block;height:100%;width:0;background:var(--teal);transition:width .15s}
.wk-cf-file-item.is-uploading .wk-cf-file-bar{display:block}
.wk-cf-file-error{margin:0;padding:10px 14px;border-radius:10px;background:#FEF3F2;color:#B42318;font-size:14px}

/* Answers on thank-you / My account */
.wk-cf-order{margin:32px 0}
.wk-cf-order th{width:40%}

@media (max-width:560px){
  .wk-cf-fields{grid-template-columns:1fr}
  .wk-cf-fields .wk-cf-half{grid-column:1/-1}
  .wk-cf-choice{flex:1 1 100%}
}
