
/* TMC block theme additions: Site Editor + WooCommerce block templates */
:root{
  --tmc-navy:#092d4e;
  --tmc-blue:#0a6293;
  --tmc-gold:#f8b335;
  --tmc-cream:#fff8ea;
  --tmc-soft:#f6f8fb;
  --tmc-border:#dbe4ea;
  --tmc-slate:#475569;
}
.tmc-block-header{background:var(--tmc-navy);color:#fff;padding:1rem 24px;max-width:none!important;width:auto!important}.tmc-block-header-inner{max-width:1120px;margin:0 auto}.tmc-block-brand a,.tmc-block-site-title a{color:#fff;text-decoration:none;font-weight:900}.tmc-block-site-title{font-size:1.35rem;font-weight:900}.tmc-block-nav-row a{color:#fff;text-decoration:none;font-weight:800}.tmc-block-nav-row a:hover{color:var(--tmc-gold)}.tmc-block-footer{background:var(--tmc-navy);color:#fff;padding:1.5rem 24px;margin-top:3rem;max-width:none!important;width:auto!important}.tmc-block-main,.tmc-shop-page-shell,.tmc-product-category-page-shell,.tmc-product-page-shell{padding:40px 24px}.tmc-shop-hero,.tmc-product-hero{background:var(--tmc-cream);border-radius:24px;padding:32px;margin-bottom:32px}.tmc-product-eyebrow{margin:0 0 12px;color:#1d1f82;font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.tmc-product-hero-copy,.tmc-shop-hero p,.tmc-product-hero p{max-width:760px;color:var(--tmc-slate);font-size:18px;line-height:1.7}.tmc-product-toolbar{margin:0 0 24px}.tmc-product-main-grid{gap:32px!important;align-items:flex-start}.tmc-product-media-card,.tmc-product-summary-card,.tmc-product-after-summary,.tmc-product-service-panel,.tmc-family-card{border:1px solid var(--tmc-border);border-radius:24px;background:#fff;padding:24px}.tmc-product-media-card .wc-block-components-product-gallery,.tmc-product-media-card .wp-block-woocommerce-product-gallery{margin-bottom:24px}.tmc-product-trust-card{margin-top:24px;border:1px solid var(--tmc-border);border-radius:24px;padding:24px;color:var(--tmc-slate);line-height:1.6}.tmc-product-summary-card .wp-block-woocommerce-product-price{color:var(--tmc-navy);font-weight:900;font-size:1.25rem}.tmc-product-summary-card select,.tmc-product-summary-card input.qty{border:1px solid var(--tmc-border);border-radius:12px;padding:10px 12px}.tmc-product-summary-card button,.tmc-product-summary-card .button,.tmc-product-summary-card .single_add_to_cart_button,.wp-block-woocommerce-product-button button,.wp-block-woocommerce-product-button a{border-radius:999px!important;background:var(--tmc-gold)!important;color:var(--tmc-navy)!important;font-weight:900!important;border:0!important;padding:12px 24px!important}.tmc-product-personalisation-note{margin-top:24px;background:var(--tmc-cream);border:1px solid var(--tmc-gold);border-radius:24px;padding:24px;color:var(--tmc-slate);line-height:1.6}.tmc-product-personalisation-note h2,.tmc-product-service-panel h2{margin-top:0;color:var(--tmc-navy)}.tmc-product-service-panels{gap:24px!important;margin-top:32px}.tmc-product-after-summary{margin-top:32px}.tmc-product-collection .wp-block-woocommerce-product-template{gap:24px}.tmc-product-collection .wp-block-woocommerce-product-template > *{background:#fff;border:1px solid var(--tmc-border);border-radius:24px;padding:18px;text-align:center}.tmc-child-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0 0 32px}.tmc-family-card{overflow:hidden;padding:0}.tmc-family-card__image{background:#f1f5f9;min-height:160px;display:grid;place-items:center;color:#64748b;font-weight:800}.tmc-family-card__image img{width:100%;height:180px;object-fit:cover;display:block}.tmc-family-card__body{padding:24px}.tmc-family-card__kicker{margin:0 0 8px;color:#1d1f82;font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.tmc-family-card__title{margin:0 0 8px;font-family:Georgia,'Times New Roman',serif;font-size:1.65rem;line-height:1.1;color:var(--tmc-navy)}.tmc-family-card__desc{color:var(--tmc-slate);line-height:1.6}.tmc-family-card__button{display:inline-block;margin-top:14px;border-radius:999px;background:var(--tmc-blue);color:#fff!important;text-decoration:none;font-weight:900;padding:.75rem 1.1rem}body.tmc-product-cat-has-children .tmc-family-products-section{display:none!important}@media(max-width:900px){.tmc-product-main-grid,.tmc-product-service-panels{display:block}.tmc-product-main-grid>.wp-block-column,.tmc-product-service-panels>.wp-block-column{margin-bottom:24px}.tmc-child-category-grid{grid-template-columns:1fr}.tmc-shop-page-shell,.tmc-product-category-page-shell,.tmc-product-page-shell{padding:28px 16px}.tmc-shop-hero,.tmc-product-hero{padding:24px}}

/* TMC block theme v1.1.1 fixes */
.tmc-product-media-card .wp-block-woocommerce-product-image,
.tmc-product-media-card .wc-block-components-product-image,
.tmc-product-media-card .wp-block-woocommerce-product-image img,
.tmc-product-media-card .wc-block-components-product-image img{
  width:100%;
  max-width:100%;
  height:auto;
  display:block;
}
.tmc-product-media-card .wp-block-woocommerce-product-image,
.tmc-product-media-card .wc-block-components-product-image{
  margin:0 0 24px;
}
.tmc-family-card__title a,
.tmc-wc-product-card__title a{
  color:inherit;
  text-decoration:none;
}
.tmc-wc-category-products{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  margin:0 0 32px;
}
.tmc-wc-product-card{
  overflow:hidden;
  background:#fff;
  border:1px solid var(--tmc-border);
  border-radius:24px;
}
.tmc-wc-product-card__image{
  min-height:220px;
  background:#f1f5f9;
  display:grid;
  place-items:center;
  color:#64748b;
  font-weight:800;
  text-decoration:none;
}
.tmc-wc-product-card__image img{
  width:100%;
  height:240px;
  object-fit:contain;
  display:block;
  padding:18px;
  box-sizing:border-box;
  background:#fff;
}
.tmc-wc-product-card__body{
  padding:24px;
}
.tmc-wc-product-card__title{
  margin:0 0 8px;
  font-family:Georgia,'Times New Roman',serif;
  font-size:1.65rem;
  line-height:1.1;
  color:var(--tmc-navy);
}
.tmc-wc-product-card__summary{
  color:var(--tmc-slate);
  line-height:1.6;
}
.tmc-wc-product-card__price{
  color:var(--tmc-navy);
  font-weight:900;
}
.tmc-wc-product-card__button{
  display:inline-block;
  margin-top:14px;
  border-radius:999px;
  background:var(--tmc-gold);
  color:var(--tmc-navy)!important;
  text-decoration:none;
  font-weight:900;
  padding:.75rem 1.1rem;
}
.tmc-product-category-empty{
  background:#fff;
  border:1px solid var(--tmc-border);
  border-radius:24px;
  padding:24px;
  color:var(--tmc-slate);
}
@media(max-width:900px){
  .tmc-wc-category-products{grid-template-columns:1fr;}
}

/* TMC block theme v1.1.2 fixes: stop legacy WooCommerce grid CSS constraining block-template product pages */
.tmc-product-page-shell .wp-block-woocommerce-single-product,
.tmc-product-page-shell .wp-block-woocommerce-single-product.alignwide,
.tmc-product-page-shell .wp-block-woocommerce-single-product > .woocommerce,
.tmc-product-page-shell .wp-block-woocommerce-single-product .woocommerce div.product{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}
.tmc-product-page-shell .wp-block-woocommerce-single-product .woocommerce div.product{
  display:block!important;
  grid-template-columns:none!important;
  gap:0!important;
}
.tmc-product-page-shell .tmc-product-main-grid{
  display:grid!important;
  grid-template-columns:minmax(0,45%) minmax(0,55%)!important;
  gap:32px!important;
  width:100%!important;
  max-width:none!important;
  align-items:start!important;
}
.tmc-product-page-shell .tmc-product-main-grid > .wp-block-column{
  flex-basis:auto!important;
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
}
.tmc-family-card__image img,
.tmc-wc-product-card__image img{
  opacity:1!important;
  visibility:visible!important;
}
@media(max-width:900px){
  .tmc-product-page-shell .tmc-product-main-grid{
    display:block!important;
  }
}


/* TMC block theme v1.3.2: force WooCommerce block-template single product content to full available width.
   This neutralises the original classic-theme rule `.woocommerce div.product { display:grid; ... }`
   even when WooCommerce places the product wrapper outside, around, or inside the Single Product block. */
body.single-product .tmc-product-page-shell,
body.single-product .tmc-product-page-shell.alignfull,
body.single-product .tmc-product-page-shell > .wp-block-woocommerce-single-product,
body.single-product .tmc-product-page-shell > .wp-block-woocommerce-single-product.alignfull,
body.single-product .wp-block-woocommerce-single-product,
body.single-product .wp-block-woocommerce-single-product.alignfull,
body.single-product .wp-block-woocommerce-single-product.alignwide{
  width:100%!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}
body.single-product .woocommerce div.product,
body.single-product.woocommerce div.product,
body.single-product div.product.product,
body.single-product .wp-block-woocommerce-single-product div.product,
body.single-product .wp-block-woocommerce-single-product .woocommerce div.product{
  display:block!important;
  grid-template-columns:none!important;
  grid-template-areas:none!important;
  gap:0!important;
  float:none!important;
  clear:both!important;
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  box-sizing:border-box!important;
}
body.single-product .woocommerce div.product > .tmc-product-page-shell,
body.single-product .woocommerce div.product > .wp-block-woocommerce-single-product,
body.single-product .woocommerce div.product > .tmc-product-main-grid,
body.single-product div.product.product > .tmc-product-page-shell,
body.single-product div.product.product > .wp-block-woocommerce-single-product,
body.single-product div.product.product > .tmc-product-main-grid{
  grid-column:1 / -1!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
}
body.single-product .tmc-product-page-shell .tmc-product-main-grid,
body.single-product .wp-block-woocommerce-single-product .tmc-product-main-grid,
body.single-product .woocommerce div.product .tmc-product-main-grid,
body.single-product div.product.product .tmc-product-main-grid{
  display:grid!important;
  grid-template-columns:minmax(0,45%) minmax(0,55%)!important;
  gap:32px!important;
  align-items:start!important;
  width:100%!important;
  max-width:none!important;
  box-sizing:border-box!important;
}
body.single-product .tmc-product-main-grid > .wp-block-column,
body.single-product .tmc-product-main-grid > .tmc-product-media-card,
body.single-product .tmc-product-main-grid > .tmc-product-summary-card{
  flex-basis:auto!important;
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
@media(max-width:900px){
  body.single-product .tmc-product-page-shell .tmc-product-main-grid,
  body.single-product .wp-block-woocommerce-single-product .tmc-product-main-grid,
  body.single-product .woocommerce div.product .tmc-product-main-grid,
  body.single-product div.product.product .tmc-product-main-grid{
    display:block!important;
  }
}


/* TMC block theme v1.3.2: product-page express payment button normalisation.
   Payment plugins inject Apple Pay, Google Pay, Link and Amazon Pay buttons asynchronously.
   Keep those buttons inside the WooCommerce summary column and prevent late-loading
   wallet rows from expanding to half-page widths or stacking awkwardly. */
body.single-product .tmc-product-summary-card .wcpay-express-checkout-wrapper,
body.single-product .tmc-product-summary-card .wcpay-express-checkout-wrapper .wcpay-express-checkout-buttons,
body.single-product .tmc-product-summary-card .wc-stripe-payment-request-wrapper,
body.single-product .tmc-product-summary-card #wc-stripe-payment-request-wrapper,
body.single-product .tmc-product-summary-card .wc-stripe-payment-request-button,
body.single-product .tmc-product-summary-card #wc-stripe-payment-request-button,
body.single-product .tmc-product-summary-card .wc-block-components-express-payment,
body.single-product .tmc-product-summary-card .wc-block-components-express-payment__content,
body.single-product .tmc-product-summary-card .wc-block-components-express-payment__event-buttons,
body.single-product .tmc-product-summary-card .wc-block-components-express-payment__buttons,
body.single-product .tmc-product-summary-card .wc-block-components-express-payment__button-container,
body.single-product .tmc-product-summary-card .amazonpay-button-container,
body.single-product .tmc-product-summary-card [class*="amazon-pay"],
body.single-product .tmc-product-summary-card [class*="amazonpay"]{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  clear:both!important;
}
body.single-product .tmc-product-summary-card .wcpay-express-checkout-wrapper .wcpay-express-checkout-buttons,
body.single-product .tmc-product-summary-card .wc-block-components-express-payment__event-buttons,
body.single-product .tmc-product-summary-card .wc-block-components-express-payment__buttons,
body.single-product .tmc-product-summary-card .wc-block-components-express-payment__button-container{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
}
body.single-product .tmc-product-summary-card .wcpay-express-checkout-wrapper .wcpay-express-checkout-buttons > *,
body.single-product .tmc-product-summary-card .wc-block-components-express-payment__event-buttons > *,
body.single-product .tmc-product-summary-card .wc-block-components-express-payment__buttons > *,
body.single-product .tmc-product-summary-card .wc-block-components-express-payment__button-container > *,
body.single-product .tmc-product-summary-card .amazonpay-button-container > *,
body.single-product .tmc-product-summary-card [class*="amazon-pay"] > *,
body.single-product .tmc-product-summary-card [class*="amazonpay"] > *{
  flex:1 1 150px!important;
  max-width:240px!important;
  min-width:140px!important;
  box-sizing:border-box!important;
}
body.single-product .tmc-product-summary-card iframe,
body.single-product .tmc-product-summary-card button,
body.single-product .tmc-product-summary-card .button{
  max-width:100%;
  box-sizing:border-box;
}
body.single-product .tmc-product-summary-card .wc-stripe-payment-request-button-separator,
body.single-product .tmc-product-summary-card #wc-stripe-payment-request-button-separator,
body.single-product .tmc-product-summary-card .wc-block-components-express-payment-continue-rule{
  width:100%!important;
  max-width:100%!important;
  clear:both!important;
  margin:16px 0!important;
}
@media(max-width:700px){
  body.single-product .tmc-product-summary-card .wcpay-express-checkout-wrapper .wcpay-express-checkout-buttons > *,
  body.single-product .tmc-product-summary-card .wc-block-components-express-payment__event-buttons > *,
  body.single-product .tmc-product-summary-card .wc-block-components-express-payment__buttons > *,
  body.single-product .tmc-product-summary-card .wc-block-components-express-payment__button-container > *,
  body.single-product .tmc-product-summary-card .amazonpay-button-container > *,
  body.single-product .tmc-product-summary-card [class*="amazon-pay"] > *,
  body.single-product .tmc-product-summary-card [class*="amazonpay"] > *{
    flex-basis:100%!important;
    max-width:100%!important;
  }
}
