/*
Theme Name: ToniFunni VS POD Child v8
Theme URI: https://tonifunni.com/shop/
Description: Clean Blocksy child theme for ToniFunni POD shop. Viralstyle-inspired layout, integrated product controls, tabs, breadcrumb, cart redirect, and polished typography. No Viralstyle code/assets/logo copied.
Author: ToniFunni
Template: blocksy
Version: 1.4.0
Text Domain: tonifunni-vs
Requires at least: 6.0
Requires PHP: 7.4
*/

:root{
  --vs-mint:#57b9ad;
  --vs-mint-dark:#49a99e;
  --vs-ink:#172233;
  --vs-text:#233044;
  --vs-muted:#667386;
  --vs-line:#dfe5ec;
  --vs-soft:#f8fafc;
  --vs-ring:#bfe6f7;
  --vs-white:#ffffff;
  --vs-shadow:0 8px 28px rgba(23,34,51,.08);
  --vs-font:Arial, Helvetica, sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--vs-ink);font-family:var(--vs-font)!important;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.single-product,body.woocommerce,body.archive{font-family:var(--vs-font)!important}
a{color:inherit;text-decoration:none}.tf-vs-main{min-height:70vh}.tf-container{width:min(1190px,calc(100% - 32px));margin:0 auto}.tf-wide{width:min(1320px,calc(100% - 32px));margin:0 auto}

/* Header */
.tf-vs-header{height:58px;background:#fff;border-bottom:1px solid var(--vs-line);position:relative;z-index:50;font-family:var(--vs-font)!important}
.tf-vs-header .tf-header-inner{width:min(1320px,calc(100% - 32px));height:58px;margin:0 auto;display:grid;grid-template-columns:330px 1fr 330px;align-items:center;gap:16px}
.tf-search-form{position:relative;width:100%;max-width:320px}.tf-search-form input{width:100%;height:40px;border:1px solid #ccd6e4;border-radius:0;background:#fff;padding:0 46px 0 16px;font:400 16px/40px var(--vs-font)!important;outline:none;color:var(--vs-text)}.tf-search-form input::placeholder{text-transform:none;color:#516074}.tf-search-form button{position:absolute;right:7px;top:5px;width:31px;height:30px;border:0;background:transparent;cursor:pointer;color:var(--vs-mint);font-size:19px;line-height:1;padding:0}
.tf-logo{text-align:center;font:800 28px/1 var(--vs-font)!important;letter-spacing:-.04em}.tf-logo a{display:inline-flex;align-items:center}.tf-logo-a{color:var(--vs-mint);font-weight:800}.tf-logo-b{color:#273040;font-weight:800}.tf-logo img{max-height:36px;width:auto;display:block}
.tf-main-nav{display:flex;justify-content:flex-end;align-items:center;gap:28px;font:400 20px/1.2 var(--vs-font)!important;color:#101827}.tf-main-nav ul{display:flex;align-items:center;gap:28px;list-style:none;margin:0;padding:0}.tf-main-nav li{position:relative}.tf-main-nav a{display:inline-flex;align-items:center;gap:5px}.tf-main-nav .menu-item-has-children>a::after{content:"⌄";font-size:18px;color:var(--vs-mint);margin-left:2px}.tf-main-nav .sub-menu{display:none;position:absolute;top:100%;right:0;background:#fff;border:1px solid var(--vs-line);box-shadow:var(--vs-shadow);min-width:220px;z-index:100;padding:10px 0;gap:0}.tf-main-nav li:hover>.sub-menu{display:block}.tf-main-nav .sub-menu li{display:block}.tf-main-nav .sub-menu a{display:block;padding:10px 16px;font-size:15px;white-space:nowrap}.tf-main-nav .sub-menu a:hover{background:var(--vs-soft)}
.tf-cart-icon{position:relative;display:inline-flex!important;align-items:center;justify-content:center;color:var(--vs-mint)!important;font-size:22px!important;line-height:1;width:34px;height:34px;border:none!important;padding:0!important}.tf-cart-icon .tf-cart-count{position:absolute;right:-4px;top:-7px;min-width:16px;height:16px;border:1px solid var(--vs-mint);border-radius:50%;background:#fff;color:var(--vs-mint);font:700 10px/14px var(--vs-font)!important;text-align:center}.tf-mobile-toggle{display:none;background:transparent;border:0;font-size:28px;color:var(--vs-text);padding:0}.tf-mobile-panel{display:none;border-top:1px solid var(--vs-line);background:#fff;padding:12px 16px}.tf-mobile-panel ul{list-style:none;padding:0;margin:14px 0 0}.tf-mobile-panel a{display:block;padding:10px 0;border-bottom:1px solid var(--vs-line)}

/* Breadcrumb */
.woocommerce-breadcrumb,.tf-breadcrumb{font:400 14px/1.2 var(--vs-font)!important;color:#111827!important;text-transform:none!important;letter-spacing:0!important;margin:24px 0 28px!important;display:flex;gap:0;align-items:center;flex-wrap:wrap}.woocommerce-breadcrumb a,.tf-breadcrumb a{color:#111827!important;text-decoration:none!important;font-weight:400!important}.woocommerce-breadcrumb a:hover,.tf-breadcrumb a:hover{color:var(--vs-mint)!important}.woocommerce-breadcrumb .separator,.tf-breadcrumb .separator,.tf-breadcrumb span{color:#8b95a3!important;margin:0 13px!important;font-weight:400!important}

/* Archive */
.tf-archive-head{padding:24px 0 16px}.tf-archive-title{font:700 30px/1.1 var(--vs-font)!important;margin:0;color:var(--vs-text)}.tf-market-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:60px 58px;padding:28px 0 72px}.tf-product-card{min-width:0}.tf-card-image{display:block;height:260px;background:#fff;overflow:hidden}.tf-card-image img{width:100%;height:100%;object-fit:contain;display:block}.tf-card-title{display:block;margin-top:22px;font:400 20px/1.15 var(--vs-font)!important;color:var(--vs-text);max-width:250px}.tf-card-price{display:block;margin-top:14px;font:500 17px/1.2 var(--vs-font)!important;color:var(--vs-mint)}.tf-card-price del{opacity:.45;margin-right:6px}.tf-card-price ins{text-decoration:none}.tf-empty{padding:70px 0;color:var(--vs-muted)}

/* Single product base */
.tf-product-page{padding-bottom:80px}.tf-product-wrap{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(440px,.95fr);gap:44px;align-items:start}.tf-gallery{display:grid;grid-template-columns:52px minmax(0,1fr);gap:10px;min-height:620px}.tf-gallery-thumbs{display:flex;flex-direction:column;gap:18px;align-items:center;padding-top:0}.tf-thumb{width:44px;height:44px;border:1px solid transparent;background:#fff;display:flex;align-items:center;justify-content:center;padding:2px;cursor:pointer}.tf-thumb.is-active{border-color:#d2d7df}.tf-thumb img{width:100%;height:100%;object-fit:contain;display:block}.tf-main-image{display:flex;align-items:flex-start;justify-content:center;background:#fff;overflow:hidden}.tf-main-image img{max-width:100%;width:100%;height:auto;object-fit:contain;display:block}.tf-buy-panel{background:#fff;box-shadow:var(--vs-shadow);padding:28px 64px 0;min-height:640px;position:relative;font-family:var(--vs-font)!important}.tf-product-title{font:400 24px/1.2 var(--vs-font)!important;margin:0 0 12px;color:var(--vs-ink)}.tf-product-price{font:700 34px/1.1 var(--vs-font)!important;color:var(--vs-mint);margin:0 0 22px}.tf-product-price del{font-size:18px;opacity:.45;margin-left:8px;color:#91a0ad}.tf-product-price ins{text-decoration:none;color:var(--vs-mint)}
.tf-style-previews{display:flex;flex-wrap:wrap;gap:18px 24px;margin:0 0 24px}.tf-style-thumb{display:flex;align-items:center;justify-content:center;width:86px;height:58px;border:1px solid transparent;background:#fff;cursor:pointer}.tf-style-thumb.is-active{border-color:var(--vs-mint)}.tf-style-thumb img{max-width:100%;max-height:100%;object-fit:contain}

/* Purchase form */
.tf-purchase-form{margin-top:8px;font-family:var(--vs-font)!important}.tf-purchase-form form.cart{margin:0!important}.tf-purchase-form .variations{width:100%!important;margin:0!important;border-collapse:separate!important;border-spacing:0 18px!important}.tf-purchase-form .variations tr{display:block;margin-bottom:22px}.tf-purchase-form .variations th,.tf-purchase-form .variations td{display:block;width:100%;padding:0!important;text-align:left!important}.tf-purchase-form .variations label,.tf-field-label,.tf-size-field label,.tf-qty-field label{font:800 13px/1 var(--vs-font)!important;text-transform:uppercase;letter-spacing:.025em;color:var(--vs-ink);margin:0 0 10px;display:block}.tf-purchase-form .single_variation{display:none!important}.tf-purchase-form .stock{color:var(--vs-muted);font-size:13px;margin:8px 0}.product_meta,.sku_wrapper,.posted_in,.tagged_as{display:none!important}

/* Style dropdown and any non-size variation select */
.tf-purchase-form .variations select{width:100%;height:48px;border:1px solid #d8dde4;border-radius:0;background:#fff;padding:0 44px 0 14px;font:400 16px/48px var(--vs-font)!important;color:var(--vs-ink);outline:none;box-shadow:none;appearance:none!important;-webkit-appearance:none!important;-moz-appearance:none!important;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23172233' stroke-width='1.6' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-size:12px 8px!important;background-position:calc(100% - 16px) 50%!important}.tf-purchase-form .variations select::-ms-expand{display:none!important}.tf-purchase-form .variations td.value::before,.tf-purchase-form .variations td.value::after,.tf-purchase-form .ct-select-input::after,.tf-purchase-form .select-wrapper::after,.tf-purchase-form .ct-select::after,.tf-purchase-form .variation-select-wrapper::after,.tf-purchase-form .select2-selection__arrow{display:none!important;content:none!important}

/* Hide selected text and reset link */
.single-product .woo-selected-variation-item-name,.single-product .variations label .woo-selected-variation-item-name,.single-product .reset_variations{display:none!important}

/* Color row: Viralstyle-like dots */
.single-product .tf-color-row{margin-bottom:22px!important}.single-product .tf-color-row label{margin-bottom:14px!important}.single-product .tf-color-row td.value{display:block!important}.single-product .variable-items-wrapper.color-variable-items-wrapper{display:flex!important;align-items:center!important;gap:16px!important;margin:0 0 0!important}.single-product .variable-items-wrapper.color-variable-items-wrapper .variable-item{width:28px!important;height:28px!important;min-width:28px!important;min-height:28px!important;padding:0!important;border-radius:50%!important;border:1px solid #d1d5db!important;background:transparent!important;box-shadow:none!important;outline:none!important}.single-product .variable-items-wrapper.color-variable-items-wrapper .variable-item span,.single-product .variable-items-wrapper.color-variable-items-wrapper .variable-item .variable-item-span-color{width:100%!important;height:100%!important;display:block!important;border-radius:50%!important;border:1px solid rgba(0,0,0,.16)!important;box-shadow:none!important}.single-product .variable-items-wrapper.color-variable-items-wrapper .variable-item[data-value="white"] span,.single-product .variable-items-wrapper.color-variable-items-wrapper .variable-item[title="White"] span,.single-product .variable-items-wrapper.color-variable-items-wrapper .variable-item[aria-label="White"] span{background:#fff!important;border:1px solid #b8c0cc!important}.single-product .variable-items-wrapper.color-variable-items-wrapper .variable-item.selected{border:4px solid var(--vs-ring)!important;padding:2px!important;width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important}.single-product .variable-items-wrapper .variable-item::before,.single-product .variable-items-wrapper .variable-item::after,.single-product .variable-items-wrapper .variable-item .variable-item-contents::before,.single-product .variable-items-wrapper .variable-item .variable-item-contents::after{display:none!important;content:none!important}.single-product .variable-items-wrapper .variable-item.disabled{opacity:.35!important;cursor:not-allowed!important}

/* Size + quantity row */
.single-product .tf-size-row-hidden,.single-product .tf-size-row-hidden .button-variable-items-wrapper,.single-product .tf-size-row-hidden .variable-items-wrapper,.single-product .tf-size-row-hidden .reset_variations{display:none!important}.single-product .tf-size-qty-row{display:grid!important;grid-template-columns:minmax(0,1fr) 172px!important;gap:28px!important;align-items:end!important;margin:22px 0 0!important}.single-product .tf-size-field select{display:block!important;visibility:visible!important;opacity:1!important;width:100%!important;height:52px!important;border:1px solid #d8dde4!important;border-radius:0!important;background-color:#fff!important;color:#111827!important;padding:0 44px 0 16px!important;font:600 16px/52px var(--vs-font)!important;box-shadow:none!important;appearance:none!important;-webkit-appearance:none!important;-moz-appearance:none!important;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23172233' stroke-width='1.6' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-size:12px 8px!important;background-position:calc(100% - 16px) 50%!important}.single-product .tf-size-field select::-ms-expand{display:none!important}.single-product .tf-size-field .button-variable-items-wrapper,.single-product .tf-size-field .variable-items-wrapper{display:none!important}.single-product .tf-vs-qty{width:100%!important;height:52px!important;display:grid!important;grid-template-columns:48px 1fr 48px!important;align-items:center!important;border:1px solid #d8dde4!important;background:#fff!important}.single-product .tf-vs-qty-btn{height:50px!important;width:48px!important;border:0!important;border-radius:0!important;background:transparent!important;color:var(--vs-mint)!important;font-size:22px!important;font-weight:800!important;line-height:50px!important;padding:0!important;cursor:pointer!important;box-shadow:none!important}.single-product .tf-vs-qty-minus{color:#b9c3cf!important}.single-product .tf-vs-qty-input,.single-product .tf-vs-qty input.qty{width:100%!important;height:50px!important;min-height:50px!important;border:0!important;background:transparent!important;color:#111827!important;text-align:center!important;font:700 17px/50px var(--vs-font)!important;padding:0!important;box-shadow:none!important;-moz-appearance:textfield!important}.single-product .tf-vs-qty-input::-webkit-outer-spin-button,.single-product .tf-vs-qty-input::-webkit-inner-spin-button{-webkit-appearance:none!important;margin:0!important}.single-product .tf-size-qty-row .quantity{display:none!important}

/* Add to bag: full bar across panel */
.single-product .woocommerce-variation-add-to-cart{display:block!important}.single-product form.cart .single_add_to_cart_button,.single-product button.single_add_to_cart_button,.single-product .woocommerce-variation-add-to-cart .single_add_to_cart_button{display:flex!important;align-items:center!important;justify-content:center!important;width:calc(100% + 128px)!important;height:70px!important;margin:32px 0 0 -64px!important;padding:0!important;border:0!important;border-radius:0 0 4px 4px!important;background:var(--vs-mint)!important;color:#fff!important;font:800 17px/70px var(--vs-font)!important;letter-spacing:.035em!important;text-transform:uppercase!important;text-align:center!important;box-shadow:none!important}.single-product form.cart .single_add_to_cart_button::before,.single-product button.single_add_to_cart_button::before{content:"🛒";font-size:18px;line-height:1;margin-right:12px}.single-product form.cart .single_add_to_cart_button:hover,.single-product button.single_add_to_cart_button:hover{background:var(--vs-mint-dark)!important;color:#fff!important}.single-product form.cart .single_add_to_cart_button.disabled,.single-product button.single_add_to_cart_button.disabled,.single-product form.cart .single_add_to_cart_button:disabled{opacity:.55!important;cursor:not-allowed!important}.single-product a.added_to_cart,.single-product a.added_to_cart.wc-forward{display:none!important}.tf-product-note{margin:18px 0 0;font:400 14px/1.6 var(--vs-font)!important;color:#334155;text-align:left}

/* Product tabs - only Description and About Product */
.tf-woo-tabs{margin-top:48px;padding:0 0 40px;border-top:1px solid var(--vs-line)}.tf-woo-tabs .woocommerce-tabs{max-width:1180px;margin:0 auto}.tf-woo-tabs ul.tabs{display:flex!important;justify-content:center!important;gap:0!important;margin:0 0 28px!important;padding:0!important;list-style:none!important;border-bottom:1px solid var(--vs-line)!important;background:transparent!important}.tf-woo-tabs ul.tabs::before,.tf-woo-tabs ul.tabs::after{display:none!important}.tf-woo-tabs ul.tabs li{border:0!important;background:transparent!important;margin:0!important;padding:0!important;border-radius:0!important}.tf-woo-tabs ul.tabs li a{display:block!important;padding:20px 44px 15px!important;font:400 22px/1.2 var(--vs-font)!important;text-transform:none!important;color:#667386!important;text-decoration:none!important;border-bottom:2px solid transparent!important}.tf-woo-tabs ul.tabs li.active a{color:var(--vs-ink)!important;border-bottom-color:var(--vs-mint)!important;font-weight:700!important}.tf-woo-tabs .panel{font:400 18px/1.65 var(--vs-font)!important;color:#5a6677;padding:16px 0!important;margin:0!important}.tf-woo-tabs .panel h2{display:none!important}.tf-woo-tabs table.shop_attributes{width:100%;border-collapse:collapse}.tf-woo-tabs table.shop_attributes th,.tf-woo-tabs table.shop_attributes td{border-bottom:1px solid var(--vs-line);padding:12px;text-align:left}

/* Related */
.related.products,.upsells.products{width:min(1180px,calc(100% - 32px));margin:48px auto}.related.products>h2,.upsells.products>h2{font:800 32px/1.2 var(--vs-font)!important;color:#1f2937;margin:64px 0 28px}.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:60px 58px}.woocommerce ul.products li.product{text-align:left!important;border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important}.woocommerce ul.products li.product img{width:100%!important;height:260px!important;object-fit:contain!important}.woocommerce ul.products li.product .woocommerce-loop-product__title{font:400 20px/1.15 var(--vs-font)!important;color:var(--vs-text)!important;padding:0!important;margin:18px 0 10px!important}.woocommerce ul.products li.product .price{font:500 17px/1.2 var(--vs-font)!important;color:var(--vs-mint)!important}.woocommerce ul.products li.product .button{display:none!important}

/* Notices/cart/checkout */
.woocommerce-message,.woocommerce-info,.woocommerce-error{width:min(1190px,calc(100% - 32px));margin:16px auto!important;border-top-color:var(--vs-mint)!important}.woocommerce-message .button{background:var(--vs-mint)!important;color:#fff!important;border-radius:0!important}.woocommerce-cart .entry-content,.woocommerce-checkout .entry-content{width:min(1180px,calc(100% - 32px));margin:32px auto 72px}.woocommerce table.shop_table{border:1px solid var(--vs-line);border-radius:0}.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit{background:var(--vs-mint)!important;color:#fff!important;border-radius:0!important;font-weight:800!important;text-transform:uppercase}.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover{background:var(--vs-mint-dark)!important;color:#fff!important}

/* Responsive */
@media(max-width:1024px){.tf-vs-header{height:auto}.tf-vs-header .tf-header-inner{grid-template-columns:1fr auto;height:58px}.tf-search-form{display:none}.tf-logo{text-align:left;font-size:26px}.tf-main-nav{display:none}.tf-mobile-toggle{display:block}.tf-vs-header.is-open .tf-mobile-panel{display:block}.tf-vs-header .tf-header-inner{width:calc(100% - 28px)}.tf-product-wrap{grid-template-columns:1fr;gap:28px}.tf-buy-panel{box-shadow:none;padding:8px 0 0;min-height:0}.tf-gallery{min-height:0;grid-template-columns:46px 1fr}.tf-main-image img{max-height:none}.single-product form.cart .single_add_to_cart_button,.single-product button.single_add_to_cart_button{width:100%!important;margin-left:0!important}.tf-market-grid,.woocommerce ul.products{grid-template-columns:repeat(3,minmax(0,1fr));gap:42px 30px}.tf-card-image,.woocommerce ul.products li.product img{height:220px!important}}
@media(max-width:720px){.tf-container,.tf-wide{width:calc(100% - 28px)}.tf-market-grid,.woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 18px;padding-top:18px}.tf-card-image,.woocommerce ul.products li.product img{height:170px!important}.tf-card-title,.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:16px!important;margin-top:14px}.tf-card-price,.woocommerce ul.products li.product .price{font-size:14px!important;margin-top:8px}.tf-archive-title{font-size:28px}.tf-product-title{font-size:22px}.tf-product-price{font-size:30px}.tf-gallery{grid-template-columns:1fr}.tf-gallery-thumbs{order:2;flex-direction:row;gap:10px;overflow-x:auto;padding-top:10px}.tf-thumb{flex:0 0 44px}.tf-main-image{order:1}.tf-size-qty-row{grid-template-columns:1fr!important;gap:16px!important}.tf-woo-tabs ul.tabs li a{font-size:18px!important;padding:16px 20px!important}.tf-vs-header .tf-header-inner{width:calc(100% - 24px)}.tf-logo{font-size:24px}}
