/* FAM3DESIGN – 3D printing colour palette; isolated from theme styles. */
.woocommerce .fam3-color-picker{--fam3-gold:#b69b73;--fam3-ink:#24221f;--fam3-line:#e7e1d9;clear:both;width:100%;margin:12px 0 22px;padding:17px;border:1px solid var(--fam3-line);border-radius:16px;background:#fff;color:var(--fam3-ink);box-sizing:border-box;font-size:14px}
.woocommerce .fam3-picker-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}
.woocommerce .fam3-picker-heading strong{font-weight:700;font-size:15px}
.woocommerce .fam3-picker-count{font-size:12px;color:#867e75}
.woocommerce .fam3-color-tabs{display:flex;gap:6px;margin:0 0 16px;padding:4px;background:#f6f3ef;border-radius:12px;flex-wrap:wrap}
.woocommerce .fam3-color-tab{flex:1 1 88px;min-width:0;cursor:pointer;border:1px solid transparent!important;border-radius:9px!important;background:transparent!important;box-shadow:none!important;padding:9px 7px!important;min-height:53px!important;color:#61584e!important;font-size:12px!important;font-weight:700;line-height:1.25!important;transition:background .16s,border-color .16s,transform .16s}
.woocommerce .fam3-color-tab small{display:block;margin-top:3px;color:#776b5e;font-size:11px;font-weight:500}
.woocommerce .fam3-color-tab.is-active{background:#fff!important;border-color:#e7d8c0!important;color:#423320!important;box-shadow:0 1px 7px rgba(30,21,8,.05)!important}
.woocommerce .fam3-color-tab:focus-visible,.woocommerce .fam3-color-choice:focus-visible{outline:3px solid #a98a5d!important;outline-offset:3px}
.woocommerce .fam3-color-panel[hidden]{display:none!important}
.woocommerce .fam3-color-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(66px,1fr));gap:14px 7px;align-items:start}
.woocommerce .fam3-color-choice{appearance:none;-webkit-appearance:none;display:flex;align-items:center;flex-direction:column;gap:6px;min-width:0;min-height:66px!important;margin:0!important;padding:3px!important;background:transparent!important;border:0!important;color:#59514a!important;cursor:pointer;box-shadow:none!important;line-height:1.3!important;text-align:center;transform:none!important}
.woocommerce .fam3-dot{width:36px;height:36px;box-sizing:border-box;flex:none;border-radius:50%;background:var(--fam3-dot);border:1px solid rgba(44,38,31,.18);box-shadow:0 0 0 3px #fff,0 0 0 4px transparent;transition:transform .16s,box-shadow .16s}
.woocommerce .fam3-color-choice:hover .fam3-dot{transform:scale(1.07)}
.woocommerce .fam3-color-choice.is-selected .fam3-dot{box-shadow:0 0 0 3px #fff,0 0 0 5px var(--fam3-gold);transform:scale(1.03)}
.woocommerce .fam3-dot-label{display:block;width:100%;max-width:92px;font-size:11px;font-weight:500;line-height:1.25;overflow-wrap:anywhere}
.woocommerce .fam3-color-choice.is-selected .fam3-dot-label{font-weight:750;color:#483720}
.woocommerce .fam3-pattern-rainbow .fam3-dot{background:conic-gradient(#db6969,#e4c55e,#80ba89,#75a7ce,#b68bbc,#db6969)}
.woocommerce .fam3-pattern-marble .fam3-dot{background:repeating-linear-gradient(145deg,#eee9e0 0,#eee9e0 8px,#bbb5ac 9px,#e2ded5 11px,#faf8f4 16px)}
.woocommerce .fam3-pattern-wood .fam3-dot{background:repeating-linear-gradient(175deg,#ad8459 0,#cba97e 4px,#e0c29b 8px,#a77d53 11px)}
.woocommerce .fam3-selection-line{display:flex;justify-content:space-between;gap:9px;align-items:center;border-top:1px solid var(--fam3-line);margin-top:12px;padding-top:12px;font-size:13px}
.woocommerce .fam3-selection-name{font-weight:700}.woocommerce .fam3-selection-fee{color:#846b4b;font-weight:650;white-space:nowrap}
.woocommerce .fam3-selection-price{margin-top:8px;display:flex;justify-content:space-between;align-items:center;gap:8px;color:#5d5347;font-size:12px}
.woocommerce .fam3-selection-price[hidden]{display:none!important}.woocommerce .fam3-selection-total{color:#886a40;font-weight:800;font-size:18px}
/* Keep WooCommerce's native variation selector accessible, but visually replace it. */
.woocommerce .fam3-native-select{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important;clip-path:inset(50%)!important}
.woocommerce .variations td:has(> .fam3-native-select){position:relative}
.woocommerce .variations td .fam3-color-picker{width:100%;max-width:650px;margin:8px 0 6px}
.woocommerce div.product form.cart .fam3-color-picker{flex-basis:100%}
@media(max-width:550px){.woocommerce .fam3-color-picker{padding:13px 11px;margin:10px 0 16px}.woocommerce .fam3-color-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px 4px}.woocommerce .fam3-dot{width:33px;height:33px}.woocommerce .fam3-dot-label{font-size:10px}.woocommerce .fam3-color-tab{font-size:11px!important;min-height:50px!important;padding:8px 4px!important}.woocommerce .fam3-color-tab small{font-size:10px}}
@media(max-width:355px){.woocommerce .fam3-color-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.woocommerce .fam3-dot,.woocommerce .fam3-color-tab{transition:none!important}}


/* v1.0.2: cleaner variation layout, comfortably tappable colours and FAM3DESIGN champagne. */
.woocommerce div.product form.cart .variations tr.fam3-color-variation-row{display:block!important;width:100%!important}
.woocommerce div.product form.cart .variations tr.fam3-color-variation-row > th.label{display:none!important}
.woocommerce div.product form.cart .variations tr.fam3-color-variation-row > td.value{display:block!important;width:100%!important;max-width:none!important;padding:0!important}
.woocommerce div.product form.cart .variations tr.fam3-color-variation-row .fam3-color-picker{width:100%!important;max-width:none!important;margin:4px 0 10px!important}
.woocommerce div.product form.cart .variations tr.fam3-color-variation-row .reset_variations{display:inline-block;margin:5px 0 0 4px}
.woocommerce div.product form.cart .fam3-color-picker{--fam3-gold:#b79a70;--fam3-line:#eae3d8;padding:20px 19px 16px;border-radius:17px;background:#fffdfb}
.woocommerce .fam3-picker-heading{margin-bottom:14px}
.woocommerce .fam3-picker-heading strong{font-size:16px;color:#25221e}
.woocommerce .fam3-color-tabs{margin-bottom:19px}
.woocommerce .fam3-color-grid{grid-template-columns:repeat(auto-fit,minmax(81px,1fr));gap:15px 9px}
.woocommerce .fam3-color-choice{min-height:91px!important;padding:5px 3px!important;gap:9px!important;justify-content:flex-start}
.woocommerce .fam3-color-choice .fam3-dot{width:43px;height:43px}
.woocommerce .fam3-dot-label{font-size:12px;line-height:1.32;max-width:102px;min-height:2.64em;overflow-wrap:break-word;hyphens:auto}
.woocommerce .fam3-selection-line{margin-top:16px;padding-top:14px;font-size:14px}
.woocommerce .fam3-selection-price{padding:15px 14px;margin-top:12px;border:1px solid #e5d6c1;border-radius:12px;background:#f9f5ee;font-size:13px;line-height:1.35}
.woocommerce .fam3-selection-price span{color:#4e4539;font-weight:650}
.woocommerce .fam3-selection-price span small{display:block;font-size:11px;font-weight:400;margin-top:2px;color:#847568}
.woocommerce .fam3-selection-total{color:#86673e!important;font-size:24px!important;font-weight:800!important;white-space:nowrap}
body.fam3-has-color-picker .woocommerce div.product form.cart button.single_add_to_cart_button,
body.fam3-has-color-picker .woocommerce div.product form.cart button.single_add_to_cart_button.alt,
body.fam3-has-color-picker .woocommerce div.product form.cart button.single_add_to_cart_button:disabled,
body.fam3-has-color-picker .woocommerce div.product form.cart button.single_add_to_cart_button.disabled{
  background:#c3ac88!important;border:1px solid #b99d73!important;color:#241d15!important;
  box-shadow:none!important;border-radius:10px!important;font-weight:750!important;
  min-height:45px!important;padding:11px 20px!important;opacity:1!important
}
body.fam3-has-color-picker .woocommerce div.product form.cart button.single_add_to_cart_button:disabled,
body.fam3-has-color-picker .woocommerce div.product form.cart button.single_add_to_cart_button.disabled{opacity:.55!important;cursor:not-allowed!important}
body.fam3-has-color-picker .woocommerce div.product form.cart button.single_add_to_cart_button:not(:disabled):hover,
body.fam3-has-color-picker .woocommerce div.product form.cart button.single_add_to_cart_button.alt:not(:disabled):hover{
  background:#ad9268!important;border-color:#a8895d!important;color:#241d15!important
}
@media(max-width:600px){
  .woocommerce div.product form.cart .fam3-color-picker{padding:15px 12px}
  .woocommerce .fam3-color-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 6px}
  .woocommerce .fam3-color-choice{min-height:94px!important;padding:4px 2px!important}
  .woocommerce .fam3-color-choice .fam3-dot{width:42px;height:42px}
  .woocommerce .fam3-dot-label{font-size:11.5px;line-height:1.3;min-height:2.6em}
  .woocommerce .fam3-color-tab{min-height:57px!important}
  .woocommerce .fam3-selection-price{gap:10px}
  .woocommerce .fam3-selection-total{font-size:21px!important}
}
@media(max-width:355px){
  .woocommerce .fam3-color-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .woocommerce .fam3-color-choice .fam3-dot{width:42px;height:42px}
}


/* v1.0.3 – match the WooCommerce submit button even when the theme has no
 * .woocommerce ancestor, or when an alternative WooCommerce layout is used.
 * Some store styles apply the purple .button.alt background with high priority.
 * This only targets product add-to-cart buttons, not the whole shop or checkout. */
body.single-product button.single_add_to_cart_button,
body.single-product button.single_add_to_cart_button.button,
body.single-product button.single_add_to_cart_button.button.alt,
body.single-product .woocommerce button.single_add_to_cart_button,
body.single-product .woocommerce div.product form.cart button.single_add_to_cart_button,
body.fam3-has-color-picker button.single_add_to_cart_button,
body.fam3-has-color-picker button.single_add_to_cart_button.button.alt {
  background: #c3ac88 !important;
  background-color: #c3ac88 !important;
  background-image: none !important;
  color: #241d15 !important;
  border: 1px solid #b99d73 !important;
  border-radius: 10px !important;
  box-shadow: none !important;
  text-shadow: none !important;
  min-height: 46px;
  padding: 11px 20px;
  font-weight: 750;
  text-decoration: none;
}
body.single-product button.single_add_to_cart_button:not(:disabled):not(.disabled):hover,
body.single-product button.single_add_to_cart_button:not(:disabled):not(.disabled):focus-visible,
body.fam3-has-color-picker button.single_add_to_cart_button:not(:disabled):not(.disabled):hover {
  background: #ad9268 !important;
  background-color: #ad9268 !important;
  background-image: none !important;
  color: #241d15 !important;
  border-color: #a8895d !important;
}
body.single-product button.single_add_to_cart_button:disabled,
body.single-product button.single_add_to_cart_button.disabled,
body.fam3-has-color-picker button.single_add_to_cart_button:disabled,
body.fam3-has-color-picker button.single_add_to_cart_button.disabled {
  opacity: .55 !important;
  cursor: not-allowed !important;
}
