/* Layout */
.wp-site-blocks{min-height:100vh}.tc-site-header{position:sticky;top:0;z-index:100;border-bottom:1px solid var(--tc-border);background:var(--tc-surface);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.tc-site-header>.wp-block-group,.tc-site-footer>.wp-block-group{width:min(var(--tc-container),calc(100% - 40px));margin-inline:auto}.tc-site-header>.wp-block-group{min-height:76px}.tc-main{padding-block:52px 72px}.tc-site-footer{margin-top:auto;border-top:1px solid var(--tc-border);color:var(--tc-text-muted)}
.tc-hero{overflow:hidden;border:1px solid var(--tc-border);border-radius:var(--tc-radius-lg);background:linear-gradient(135deg,var(--tc-surface),var(--tc-page-alt));box-shadow:var(--tc-shadow);padding:clamp(28px,6vw,72px)}
.is-style-company-card{padding:28px;border:1px solid var(--tc-border);border-radius:var(--tc-radius-lg);background:var(--tc-surface);box-shadow:var(--tc-shadow)}
.is-style-company-secondary .wp-block-button__link{color:var(--tc-primary)!important;border:1px solid var(--tc-border);background:var(--tc-surface-solid)!important}
/* Common controls */
.wp-element-button,.wp-block-button__link,.button,button[type=submit],input[type=submit]{min-height:46px;border:0;border-radius:13px!important;padding:10px 18px!important;font-weight:800!important;cursor:pointer;color:#fff!important;background:var(--tc-primary)!important;box-shadow:0 12px 28px color-mix(in srgb,var(--tc-primary) 22%,transparent);transition:transform var(--tc-transition),background var(--tc-transition),box-shadow var(--tc-transition)}
.wp-element-button:hover,.wp-block-button__link:hover,.button:hover,button[type=submit]:hover,input[type=submit]:hover{transform:translateY(-2px);background:var(--tc-primary-hover)!important}
input:not([type=checkbox]):not([type=radio]),select,textarea{min-height:46px;border:1px solid var(--tc-border)!important;border-radius:12px!important;color:var(--tc-text)!important;background:var(--tc-surface-solid)!important;padding:11px 13px!important}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--tc-primary)!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--tc-primary) 10%,transparent)}
/* Woo notices */
.woocommerce-message,.woocommerce-info,.woocommerce-error,.wc-block-components-notice-banner{border:1px solid var(--tc-border)!important;border-radius:var(--tc-radius)!important;background:var(--tc-surface)!important;color:var(--tc-text)!important;box-shadow:var(--tc-shadow-sm)}
/* Product grids */
.wc-block-product-template,.products{gap:18px!important}.wc-block-product,.products .product{overflow:hidden;padding:18px!important;border:1px solid var(--tc-border)!important;border-radius:var(--tc-radius)!important;background:var(--tc-surface)!important;box-shadow:var(--tc-shadow);transition:transform var(--tc-transition),border-color var(--tc-transition),box-shadow var(--tc-transition)}
.wc-block-product:hover,.products .product:hover{transform:translateY(-4px);border-color:var(--tc-border-strong)!important;box-shadow:var(--tc-shadow-lg)}
.wc-block-components-product-image img,.woocommerce-product-gallery img,.products img{border-radius:14px}.wc-block-components-product-title,.woocommerce-loop-product__title{color:var(--tc-text)!important;font-weight:800!important}.price,.wc-block-components-product-price{color:var(--tc-primary)!important;font-weight:900!important}
/* Single product */
.single-product .wp-block-post-title{font-size:clamp(34px,5vw,58px)}.woocommerce div.product .woocommerce-tabs,.woocommerce div.product .related{margin-top:48px}.woocommerce div.product div.summary{padding:26px;border:1px solid var(--tc-border);border-radius:var(--tc-radius-lg);background:var(--tc-surface);box-shadow:var(--tc-shadow)}
/* Cart and checkout */
.wc-block-cart,.wc-block-checkout{gap:24px}.wc-block-components-sidebar,.wc-block-cart__main,.wc-block-checkout__main,.wc-block-components-totals-wrapper,.wc-block-components-order-summary{border-color:var(--tc-border)!important}.wc-block-components-sidebar>div,.wc-block-components-order-summary,.wc-block-checkout__payment-method{border-radius:var(--tc-radius)!important;background:var(--tc-surface)!important}.wc-block-components-checkout-step{padding:24px!important;border:1px solid var(--tc-border);border-radius:var(--tc-radius);background:var(--tc-surface);box-shadow:var(--tc-shadow-sm);margin-bottom:18px!important}.wc-block-components-checkout-step__heading{margin-bottom:18px!important}.wc-block-components-radio-control__option{border-color:var(--tc-border)!important;background:var(--tc-surface-solid)!important}.wc-block-components-radio-control__option--checked{border-color:var(--tc-primary)!important;background:var(--tc-primary-soft)!important}
/* Account and tables */
.woocommerce-MyAccount-navigation ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}.woocommerce-MyAccount-navigation a{display:block;padding:12px 15px;border-radius:12px;color:var(--tc-text-muted);font-weight:800}.woocommerce-MyAccount-navigation .is-active a,.woocommerce-MyAccount-navigation a:hover{color:var(--tc-primary);background:var(--tc-primary-soft)}
.woocommerce table.shop_table{overflow:hidden;border:1px solid var(--tc-border)!important;border-radius:var(--tc-radius)!important;background:var(--tc-surface)}.woocommerce table.shop_table th{background:var(--tc-surface-muted)}
/* Navigation */
.wp-block-navigation-item__content{border-radius:var(--tc-radius-pill);padding:9px 12px!important;color:var(--tc-text-muted)!important;font-weight:800}.wp-block-navigation-item__content:hover{color:var(--tc-primary)!important;background:var(--tc-primary-soft)}
/* Mobile */
@media(max-width:780px){.tc-site-header>.wp-block-group,.tc-site-footer>.wp-block-group{width:min(100% - 24px,var(--tc-container))}.tc-site-header>.wp-block-group{min-height:68px}.tc-main{padding-block:32px 48px}.tc-hero{padding:26px}.woocommerce div.product div.summary{padding:20px}.wc-block-components-checkout-step{padding:18px!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}

/* =========================================================
   Mobile commerce polish v1.1
   ========================================================= */
@media (max-width: 781px) {
  html { scroll-padding-top: 72px; }

  .tc-site-header > .wp-block-group,
  .tc-site-footer > .wp-block-group,
  .tc-main > .alignwide,
  .tc-main > .wp-block-post-content,
  .tc-main > .wp-block-query-title,
  .tc-main > .woocommerce {
    width: calc(100% - 28px) !important;
    max-width: none !important;
    margin-inline: auto !important;
  }

  .tc-site-header > .wp-block-group {
    min-height: 64px;
    gap: 8px;
    flex-wrap: nowrap !important;
  }

  .tc-site-header .wp-block-site-logo img {
    width: 42px !important;
    height: 42px !important;
    object-fit: cover;
    border-radius: 12px;
  }

  .tc-site-header .wp-block-site-title {
    max-width: 145px;
    margin: 0;
    overflow: hidden;
    font-size: 15px !important;
    line-height: 1.15;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .tc-site-header .wp-block-navigation { margin-left: auto; }
  .tc-site-header .wp-block-navigation__responsive-container-open {
    min-width: 42px;
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--tc-border);
    border-radius: 12px;
    background: var(--tc-surface-solid);
  }
  .tc-site-header .wp-block-navigation__responsive-container.is-menu-open {
    padding: 18px;
    color: var(--tc-text);
    background: var(--tc-page);
  }
  .tc-site-header .wp-block-navigation__responsive-container-content {
    padding-top: 54px !important;
  }
  .tc-site-header .wp-block-navigation__container {
    width: 100%;
    gap: 8px !important;
  }
  .tc-site-header .wp-block-navigation-item { width: 100%; }
  .tc-site-header .wp-block-navigation-item__content {
    width: 100%;
    padding: 13px 14px !important;
    border: 1px solid var(--tc-border);
    border-radius: 12px;
    background: var(--tc-surface);
  }

  .wc-block-mini-cart { flex: 0 0 auto; }
  .wc-block-mini-cart__button {
    min-width: 42px !important;
    min-height: 42px !important;
    padding: 8px !important;
    border: 1px solid var(--tc-border) !important;
    border-radius: 12px !important;
    background: var(--tc-surface-solid) !important;
    box-shadow: none !important;
  }

  .tc-main { padding-block: 24px 42px; }
  .tc-hero {
    padding: 24px 20px;
    border-radius: 20px;
  }
  .tc-hero h1,
  .tc-main h1 {
    font-size: clamp(31px, 9.5vw, 44px) !important;
    line-height: 1.03 !important;
    letter-spacing: -0.045em !important;
    overflow-wrap: anywhere;
  }
  .tc-hero .has-large-font-size { font-size: 17px !important; line-height: 1.55; }
  .tc-hero .wp-block-buttons { gap: 10px; }
  .tc-hero .wp-block-button,
  .tc-hero .wp-block-button__link { width: 100%; text-align: center; }

  .wp-block-columns { gap: 12px !important; }
  .is-style-company-card { padding: 20px; border-radius: 18px; }

  .wc-block-product-template,
  .products,
  ul.products {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 14px !important;
  }
  .wc-block-product,
  .products .product,
  ul.products li.product {
    width: 100% !important;
    margin: 0 !important;
    padding: 15px !important;
    border-radius: 18px !important;
  }
  .wc-block-components-product-image img,
  .products img { width: 100%; height: auto; }
  .wc-block-components-product-button .wp-block-button__link,
  .products .product .button { width: 100%; text-align: center; }

  .woocommerce div.product {
    display: block !important;
  }
  .woocommerce div.product div.images,
  .woocommerce div.product div.summary {
    float: none !important;
    width: 100% !important;
    margin: 0 0 18px !important;
  }
  .woocommerce div.product div.summary { padding: 19px; border-radius: 18px; }
  .woocommerce div.product form.cart,
  .woocommerce div.product form.cart .variations_button {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
  }
  .woocommerce div.product form.cart .quantity { flex: 0 0 86px; }
  .woocommerce div.product form.cart .single_add_to_cart_button {
    flex: 1 1 180px;
    min-width: 0;
  }
  .woocommerce-tabs ul.tabs { display: flex; overflow-x: auto; gap: 6px; padding-bottom: 5px !important; }
  .woocommerce-tabs ul.tabs li { flex: 0 0 auto; }

  .wc-block-cart,
  .wc-block-checkout,
  .wc-block-components-sidebar-layout {
    display: block !important;
  }
  .wc-block-cart__main,
  .wc-block-checkout__main,
  .wc-block-components-main,
  .wc-block-components-sidebar {
    width: 100% !important;
    max-width: none !important;
    margin: 0 0 18px !important;
    padding: 0 !important;
  }
  .wc-block-components-sidebar { position: static !important; }
  .wc-block-components-checkout-step {
    padding: 17px !important;
    border-radius: 16px;
    overflow: hidden;
  }
  .wc-block-components-text-input,
  .wc-block-components-combobox,
  .wc-block-components-address-form__country,
  .wc-block-components-address-form__state { width: 100% !important; }
  .wc-block-components-button,
  .wc-block-components-checkout-place-order-button { width: 100% !important; }
  .wc-block-components-order-summary-item { grid-template-columns: 64px minmax(0,1fr) !important; }
  .wc-block-components-order-summary-item__image { width: 56px !important; }

  .woocommerce-cart-form,
  .woocommerce-checkout,
  .woocommerce table.shop_table { width: 100%; }
  .woocommerce table.shop_table_responsive tr,
  .woocommerce-page table.shop_table_responsive tr { display: block; padding: 12px; }
  .woocommerce table.shop_table_responsive tr td,
  .woocommerce-page table.shop_table_responsive tr td {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 10px 0 !important;
    text-align: right !important;
    overflow-wrap: anywhere;
  }
  .woocommerce table.shop_table_responsive tr td::before,
  .woocommerce-page table.shop_table_responsive tr td::before { text-align: left; }

  .woocommerce-MyAccount-navigation,
  .woocommerce-MyAccount-content {
    float: none !important;
    width: 100% !important;
  }
  .woocommerce-MyAccount-navigation { margin-bottom: 18px; }

  .tc-site-footer > .wp-block-group {
    align-items: flex-start !important;
    flex-direction: column;
    gap: 14px;
  }
  .tc-site-footer .wp-block-navigation__container {
    align-items: flex-start;
    flex-direction: column;
    gap: 5px;
  }
}

@media (max-width: 390px) {
  .tc-site-header > .wp-block-group,
  .tc-site-footer > .wp-block-group,
  .tc-main > .alignwide,
  .tc-main > .wp-block-post-content,
  .tc-main > .wp-block-query-title,
  .tc-main > .woocommerce { width: calc(100% - 20px) !important; }
  .tc-site-header .wp-block-site-title { display: none; }
  .tc-hero { padding: 21px 16px; }
  .wc-block-components-checkout-step { padding: 14px !important; }
}

/* =========================================================
   Checkout delivery cards - Company blue selected state v1.2
   ========================================================= */
.wc-block-components-radio-control__option,
.wc-block-components-radio-control-accordion-option {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--tc-border) !important;
  border-radius: 16px !important;
  color: var(--tc-text) !important;
  background: var(--tc-surface-solid) !important;
  box-shadow: none !important;
  transition: border-color var(--tc-transition), background var(--tc-transition), box-shadow var(--tc-transition), transform var(--tc-transition);
}

.wc-block-components-radio-control__option:hover,
.wc-block-components-radio-control-accordion-option:hover {
  border-color: color-mix(in srgb, var(--tc-primary) 55%, var(--tc-border)) !important;
  background: color-mix(in srgb, var(--tc-primary) 7%, var(--tc-surface-solid)) !important;
}

.wc-block-components-radio-control__option--checked,
.wc-block-components-radio-control-accordion-option--checked,
.wc-block-components-radio-control__option:has(input[type="radio"]:checked),
.wc-block-components-radio-control-accordion-option:has(input[type="radio"]:checked) {
  border-color: transparent !important;
  color: #fff !important;
  background: linear-gradient(135deg, var(--tc-primary), var(--tc-accent)) !important;
  box-shadow: 0 14px 34px color-mix(in srgb, var(--tc-primary) 32%, transparent) !important;
}

.wc-block-components-radio-control__option--checked *,
.wc-block-components-radio-control-accordion-option--checked *,
.wc-block-components-radio-control__option:has(input[type="radio"]:checked) *,
.wc-block-components-radio-control-accordion-option:has(input[type="radio"]:checked) * {
  color: #fff !important;
  fill: #fff !important;
}

.wc-block-components-radio-control__option--checked svg,
.wc-block-components-radio-control-accordion-option--checked svg,
.wc-block-components-radio-control__option:has(input[type="radio"]:checked) svg,
.wc-block-components-radio-control-accordion-option:has(input[type="radio"]:checked) svg {
  color: #fff !important;
  fill: currentColor !important;
  stroke: currentColor !important;
  opacity: 1 !important;
}

.wc-block-components-radio-control__option input[type="radio"],
.wc-block-components-radio-control-accordion-option input[type="radio"] {
  accent-color: var(--tc-primary);
}

.wc-block-components-radio-control__option--checked input[type="radio"],
.wc-block-components-radio-control-accordion-option--checked input[type="radio"],
.wc-block-components-radio-control__option:has(input[type="radio"]:checked) input[type="radio"],
.wc-block-components-radio-control-accordion-option:has(input[type="radio"]:checked) input[type="radio"] {
  accent-color: #fff;
}

@media (max-width: 781px) {
  .wc-block-components-radio-control,
  .wc-block-components-radio-control__option,
  .wc-block-components-radio-control-accordion-option {
    width: 100% !important;
  }

  .wc-block-components-radio-control__option,
  .wc-block-components-radio-control-accordion-option {
    min-height: 72px;
    padding: 16px !important;
  }
}
