.elementor-743 .elementor-element.elementor-element-69f0e9d3{--display:flex;--flex-direction:row-reverse;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap-reverse;--justify-content:space-around;--align-items:flex-start;--gap:32px 32px;--row-gap:32px;--column-gap:32px;--padding-top:52px;--padding-bottom:88px;--padding-left:32px;--padding-right:32px;}.elementor-743 .elementor-element.elementor-element-6ffa5e00{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0%;--padding-bottom:0%;--padding-left:0%;--padding-right:0%;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-743 .elementor-element.elementor-element-5f8b581f{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-743 .elementor-element.elementor-element-5f8b581f .elementor-heading-title{font-family:"Space Grotesk", Sans-serif;font-size:15px;font-weight:300;text-transform:uppercase;font-style:normal;text-decoration:none;line-height:24px;letter-spacing:0px;color:#1A1A1A;}.elementor-widget-woocommerce-product-title .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-743 .elementor-element.elementor-element-2420ab9f{padding:0px 0px 16px 0px;}.elementor-743 .elementor-element.elementor-element-2420ab9f .elementor-heading-title{font-family:"Space Grotesk", Sans-serif;font-size:42px;font-weight:500;text-transform:uppercase;font-style:normal;text-decoration:none;line-height:52px;letter-spacing:0px;color:#1D474F;}.elementor-743 .elementor-element.elementor-element-9074489{width:var( --container-widget-width, 435px );max-width:435px;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 18px) 0px;--container-widget-width:435px;--container-widget-flex-grow:0;}.woocommerce .elementor-743 .elementor-element.elementor-element-9074489 .woocommerce-product-details__short-description{color:#1A1A1A;font-family:"Space Grotesk", Sans-serif;font-size:14px;font-weight:400;line-height:1.15em;}.woocommerce .elementor-widget-woocommerce-product-price .price{color:var( --e-global-color-primary );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.woocommerce .elementor-743 .elementor-element.elementor-element-181df9ba .price{color:#1A1A1A;font-family:"Space Grotesk", Sans-serif;font-size:20px;font-weight:500;text-transform:capitalize;font-style:normal;text-decoration:none;line-height:1.1em;letter-spacing:0px;word-spacing:0em;}.woocommerce .elementor-743 .elementor-element.elementor-element-181df9ba .price ins{color:#324A6D;font-family:"Space Grotesk", Sans-serif;font-size:36px;font-weight:600;text-transform:capitalize;font-style:normal;text-decoration:none;line-height:1.1em;letter-spacing:0px;word-spacing:0em;}body:not(.rtl) .elementor-743 .elementor-element.elementor-element-181df9ba:not(.elementor-product-price-block-yes) del{margin-right:10px;}body.rtl .elementor-743 .elementor-element.elementor-element-181df9ba:not(.elementor-product-price-block-yes) del{margin-left:10px;}.elementor-743 .elementor-element.elementor-element-181df9ba.elementor-product-price-block-yes del{margin-bottom:10px;}.elementor-widget-woocommerce-product-add-to-cart .added_to_cart{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-743 .elementor-element.elementor-element-54152666{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-743 .elementor-element.elementor-element-54152666 .cart button, .elementor-743 .elementor-element.elementor-element-54152666 .cart .button{font-family:"Space Grotesk", Sans-serif;font-size:20px;font-weight:500;text-transform:uppercase;font-style:normal;text-decoration:none;line-height:1em;letter-spacing:0px;word-spacing:0em;border-style:solid;border-width:0px 0px 0px 0px;border-radius:14px 14px 14px 14px;padding:20px 40px 20px 40px;color:#FFFFFF;background-color:#1D474F;border-color:#467FF7;transition:all 0.2s;}.elementor-743 .elementor-element.elementor-element-54152666 .cart button:hover, .elementor-743 .elementor-element.elementor-element-54152666 .cart .button:hover{color:#FFFFFF;background-color:#163A41;border-color:#467FF7;}.elementor-743 .elementor-element.elementor-element-54152666 .quantity .qty{font-family:"Space Grotesk", Sans-serif;border-radius:5px 5px 5px 5px;color:#1D474F;border-color:#1D474F;transition:all 0.2s;}.elementor-743 .elementor-element.elementor-element-3a1cea5{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--border-radius:20px 20px 20px 20px;--margin-top:40px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-743 .elementor-element.elementor-element-3a1cea5:not(.elementor-motion-effects-element-type-background), .elementor-743 .elementor-element.elementor-element-3a1cea5 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#502C1E;}.elementor-743 .elementor-element.elementor-element-7c88fd0{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:10px 10px;--row-gap:10px;--column-gap:10px;}.elementor-743 .elementor-element.elementor-element-7c88fd0.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-743 .elementor-element.elementor-element-93db054{--display:flex;--justify-content:center;--align-items:flex-end;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-743 .elementor-element.elementor-element-3df7142b{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0%;--padding-bottom:0%;--padding-left:0%;--padding-right:0%;}.woocommerce .elementor-743 .elementor-element.elementor-element-7def610d .flex-viewport:not(:last-child){margin-bottom:13px;}.woocommerce .elementor-743 .elementor-element.elementor-element-7def610d .flex-control-thumbs li{padding-right:calc(13px / 2);padding-left:calc(13px / 2);padding-bottom:13px;}.woocommerce .elementor-743 .elementor-element.elementor-element-7def610d .flex-control-thumbs{margin-right:calc(-13px / 2);margin-left:calc(-13px / 2);}.elementor-743 .elementor-element.elementor-element-265ad873{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:80px 80px;--row-gap:80px;--column-gap:80px;--border-radius:20px 20px 20px 20px;--margin-top:0%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;--padding-top:1%;--padding-bottom:1%;--padding-left:8%;--padding-right:8%;}.elementor-743 .elementor-element.elementor-element-265ad873:not(.elementor-motion-effects-element-type-background), .elementor-743 .elementor-element.elementor-element-265ad873 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#1D474F;}.elementor-743 .elementor-element.elementor-element-5a4ce31{--display:flex;}.elementor-743 .elementor-element.elementor-element-5a4ce31.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-743 .elementor-element.elementor-element-81ff2cb{--display:flex;}.elementor-743 .elementor-element.elementor-element-81ff2cb.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-widget-woocommerce-product-content{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-743 .elementor-element.elementor-element-56ef3417{width:var( --container-widget-width, 100% );max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--container-widget-width:100%;--container-widget-flex-grow:0;color:#FFFFFF;font-family:"Space Grotesk", Sans-serif;font-size:14px;font-weight:400;text-transform:none;font-style:normal;text-decoration:none;line-height:1.15em;letter-spacing:0px;word-spacing:0em;}.elementor-743 .elementor-element.elementor-element-ef87e9d{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--border-radius:20px 20px 20px 20px;--margin-top:0%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;--padding-top:1%;--padding-bottom:1%;--padding-left:8%;--padding-right:8%;}.elementor-743 .elementor-element.elementor-element-9abf7cd{--display:flex;}.elementor-743 .elementor-element.elementor-element-9abf7cd.e-con{--flex-grow:0;--flex-shrink:0;}.woocommerce .elementor-743 .elementor-element.elementor-element-86f8620 .woocommerce-tabs ul.wc-tabs li a{color:#000000;font-family:"Space Grotesk", Sans-serif;font-size:14px;font-weight:400;}.woocommerce .elementor-743 .elementor-element.elementor-element-86f8620 .woocommerce-tabs ul.wc-tabs li.active a{color:#000000;}.woocommerce .elementor-743 .elementor-element.elementor-element-86f8620 .woocommerce-tabs .woocommerce-Tabs-panel{font-family:"Space Grotesk", Sans-serif;font-size:14px;line-height:1.15em;border-width:1px 1px 1px 1px;margin-top:-1px;}@media(min-width:768px){.elementor-743 .elementor-element.elementor-element-69f0e9d3{--content-width:1380px;}.elementor-743 .elementor-element.elementor-element-6ffa5e00{--width:559px;}.elementor-743 .elementor-element.elementor-element-7c88fd0{--width:66.128%;}.elementor-743 .elementor-element.elementor-element-3df7142b{--width:789px;}.elementor-743 .elementor-element.elementor-element-265ad873{--width:1380px;}.elementor-743 .elementor-element.elementor-element-5a4ce31{--width:20%;}.elementor-743 .elementor-element.elementor-element-81ff2cb{--width:80%;}.elementor-743 .elementor-element.elementor-element-ef87e9d{--width:1380px;}.elementor-743 .elementor-element.elementor-element-9abf7cd{--width:100%;}}@media(max-width:1024px){.elementor-743 .elementor-element.elementor-element-69f0e9d3{--flex-direction:column-reverse;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--padding-top:0%;--padding-bottom:0%;--padding-left:0%;--padding-right:0%;}.elementor-743 .elementor-element.elementor-element-6ffa5e00{--padding-top:0%;--padding-bottom:0%;--padding-left:0%;--padding-right:5%;}.elementor-743 .elementor-element.elementor-element-5f8b581f{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-743 .elementor-element.elementor-element-5f8b581f .elementor-heading-title{font-size:14px;}.elementor-743 .elementor-element.elementor-element-2420ab9f .elementor-heading-title{font-size:42px;}.elementor-743 .elementor-element.elementor-element-9074489{width:100%;max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.woocommerce .elementor-743 .elementor-element.elementor-element-181df9ba .price{font-size:25px;}.woocommerce .elementor-743 .elementor-element.elementor-element-181df9ba .price ins{font-size:25px;}.elementor-743 .elementor-element.elementor-element-54152666 .cart button, .elementor-743 .elementor-element.elementor-element-54152666 .cart .button{font-size:14px;}.elementor-743 .elementor-element.elementor-element-265ad873{--gap:50px 50px;--row-gap:50px;--column-gap:50px;--margin-top:25%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;--padding-top:0%;--padding-bottom:0%;--padding-left:5%;--padding-right:5%;}.elementor-743 .elementor-element.elementor-element-56ef3417{width:100%;max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;font-size:14px;}.elementor-743 .elementor-element.elementor-element-ef87e9d{--gap:50px 50px;--row-gap:50px;--column-gap:50px;--margin-top:25%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;--padding-top:0%;--padding-bottom:0%;--padding-left:5%;--padding-right:5%;}}@media(max-width:767px){.elementor-743 .elementor-element.elementor-element-69f0e9d3{--flex-direction:column-reverse;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-743 .elementor-element.elementor-element-2420ab9f .elementor-heading-title{font-size:38px;line-height:1em;}.woocommerce .elementor-743 .elementor-element.elementor-element-181df9ba .price{font-size:20px;}.woocommerce .elementor-743 .elementor-element.elementor-element-181df9ba .price ins{font-size:20px;}.elementor-743 .elementor-element.elementor-element-3a1cea5{--flex-direction:column-reverse;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-743 .elementor-element.elementor-element-7c88fd0{--gap:15px 15px;--row-gap:15px;--column-gap:15px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-743 .elementor-element.elementor-element-93db054{--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-743 .elementor-element.elementor-element-3df7142b{--margin-top:0%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;}.elementor-743 .elementor-element.elementor-element-265ad873{--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:10%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;--padding-top:1%;--padding-bottom:1%;--padding-left:5%;--padding-right:5%;}.elementor-743 .elementor-element.elementor-element-ef87e9d{--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:10%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;--padding-top:1%;--padding-bottom:1%;--padding-left:5%;--padding-right:5%;}}/* Start custom CSS *//*
 * CSS Prodotti Natalizi — organizzato per responsabilità
 * Riordino strutturale: nessuna modifica intenzionale alla resa grafica.
 */


/* ============================================================
   RISORSE CONDIVISE / WOOCOMMERCE DINAMICO
   ============================================================ */

/* Carica Space Grotesk finché il font non viene gestito globalmente da Elementor. */
@import url("https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&display=swap");

/* Variabili condivise dai moduli WooCommerce e dai due plugin. */
.ng-product-template {
  --ng-teal: #1d474f;
  --ng-teal-dark: #163a41;
  --ng-navy: #1d474f;
  --ng-ink: #1a1a1a;
  --ng-muted: #1a1a1a;
  --ng-surface: #eee7e5;
  --ng-surface-soft: #eee7e5;
  --ng-beige-soft: #f8f4f1;
  --ng-line: #000000;
}

/* Forza il modulo nativo delle variazioni WooCommerce a occupare tutta la larghezza disponibile. */
.ng-product-template .variations_form.cart {
  width: 100%;
}

/* Organizza nello stesso flusso dati della variazione, ThemeComplete, quantità e pulsante. */
.ng-product-template .single_variation_wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  width: 100%;
}

/* Riserva una riga completa ai dati della variazione selezionata. */
.ng-product-template .woocommerce-variation {
  flex-basis: 100%;
}

/* Dispone prezzo unitario e quantità per collo sulla stessa riga, consentendo il ritorno a capo. */
.ng-product-template .woocommerce-variation-description {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px 16px;
  margin: 8px 0 0;
}

/* Neutralizza il paragrafo HTML della descrizione per allinearne direttamente gli span interni. */
.ng-product-template .woocommerce-variation-description p {
  display: contents;
}

/* Stile delle informazioni dinamiche: prezzo per pezzo e pezzi contenuti nel collo. */
.ng-product-template .ng-unit-price,
.ng-product-template .ng-pack-size {
  color: #1a1a1a;
  font-family: "Space Grotesk", sans-serif;
  font-size: 11px;
  font-weight: 400;
  line-height: normal;
}

/* Stile del prezzo WooCommerce della variazione selezionata, cioè il prezzo del collo. */
body .ng-product-template .woocommerce-variation-price .price,
body .ng-product-template .woocommerce-variation-price .amount {
  color: #1a1a1a !important;
  font-family: "Space Grotesk", sans-serif !important;
  font-size: 28px !important;
  font-weight: 500 !important;
  line-height: normal !important;
}


/* ============================================================
   PLUGIN: GETWOOPLUGINS — VARIATION SWATCHES
   ============================================================ */

.ng-product-template form.cart table.variations {
  display: block;
  width: 100%;
  margin: 0 0 14px;
  padding: 14px;
  background: #fff;
  border: 1px solid var(--ng-teal);
  border-radius: 16px;
  border-collapse: separate;
}

.ng-product-template form.cart table.variations tbody,
.ng-product-template form.cart table.variations tr,
.ng-product-template form.cart table.variations th,
.ng-product-template form.cart table.variations td { display: block; width: 100%; }

.ng-product-template form.cart table.variations tr + tr { margin-top: 16px; }

.ng-product-template form.cart table.variations th { padding: 0 0 8px; }

.ng-product-template form.cart table.variations td { padding: 0; }

.ng-product-template form.cart table.variations label {
  margin: 0;
  color: var(--ng-ink);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.25;
}

.ng-product-template .variable-items-wrapper {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 8px !important;
}

.ng-product-template .variable-items-wrapper .variable-item {
  width: 100% !important;
  min-height: 44px;
  margin: 0 !important;
  padding: 10px 12px !important;
  justify-content: flex-start;
  color: var(--ng-ink) !important;
  background: #fff !important;
  border: 1px solid var(--ng-teal) !important;
  border-radius: 10px !important;
  box-shadow: none !important;
  font-size: 13px !important;
  line-height: 1.25 !important;
}

.ng-product-template .variable-items-wrapper .variable-item.selected {
  color: #fff !important;
  background: var(--ng-teal) !important;
}

.ng-product-template .reset_variations { color: var(--ng-teal); font-size: 12px; }

@media (max-width: 767px) {
.ng-product-template .variable-items-wrapper { grid-template-columns: 1fr; }
}

.ng-product-template form.cart table.variations { width: 100%; }

.ng-product-template form.cart .variations label {
  color: var(--ng-ink);
  font-weight: 600;
}

.ng-product-template .variable-items-wrapper .variable-item {
  border: 1px solid var(--ng-teal) !important;
  border-radius: 8px !important;
  box-shadow: none !important;
}

.ng-product-template .variable-items-wrapper .variable-item.selected {
  color: #fff !important;
  background: var(--ng-teal) !important;
}

.ng-product-template
  form.variations_form
  table.variations
  th.label
  label[for="pa_formato"],
.ng-product-template
  form.variations_form
  table.variations
  th.label
  label[for="pa_versione"] {
  font-size: 14px;
}

.ng-product-template
  form.variations_form
  table.variations
  th.label
  label[for="pa_formato"]::after,
.ng-product-template
  form.variations_form
  table.variations
  th.label
  label[for="pa_versione"]::after {
  content: none !important;
}

@media (max-width: 767px) {
.ng-product-template
    form.variations_form
    table.variations
    th.label
    label[for="pa_formato"],
.ng-product-template
    form.variations_form
    table.variations
    th.label
    label[for="pa_versione"] {
    font-size: 13px;
  }
}

.ng-product-template form.cart table.variations {
  margin-top: 22px;
  padding: 20px;
  background: #eee7e5;
  border: 0;
  border-radius: 16px;
}

.ng-product-template .variable-items-wrapper .variable-item {
  min-height: 48px;
  border: 1px solid #000 !important;
  border-radius: 14px !important;
  background: #fff !important;
}

.ng-product-template .variable-items-wrapper .variable-item.selected {
  color: #fff !important;
  background: var(--ng-teal) !important;
  border-color: var(--ng-teal) !important;
}

.ng-product-template form.cart table.variations label {
  color: #1a1a1a !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 24px !important;
}

.ng-product-template .variable-items-wrapper .variable-item,
.ng-product-template .variable-items-wrapper .variable-item * {
  font-size: 14px !important;
  font-weight: 500 !important;
}



/* Versioni Pasqua: pulsanti uniformi senza debordi */
.product_cat-pasqua .ng-product-template
.variable-items-wrapper[data-attribute_name="attribute_pa_versione"] {
    grid-auto-rows: 1fr;
}

.product_cat-pasqua .ng-product-template
.variable-items-wrapper[data-attribute_name="attribute_pa_versione"]
.variable-item.button-variable-item {
    height: auto !important;
    min-height: 72px;
    align-self: stretch;
}

.product_cat-pasqua .ng-product-template
.variable-items-wrapper[data-attribute_name="attribute_pa_versione"]
.variable-item-span-button {
    white-space: normal;
    line-height: 1.25;
}



.ng-product-template .variable-items-wrapper .variable-item.selected {
  color: #fff !important;
  background: #1d474f !important;
  border-color: #1d474f !important;
}

.ng-product-template form.variations_form table.variations tbody > tr > th,
.ng-product-template form.variations_form table.variations tbody > tr > td {
  background: transparent !important;
}

.ng-product-template .tc-totals-form {
	margin-bottom: 20px !important;
}


/* ============================================================
   PLUGIN: THEMECOMPLETE — EXTRA PRODUCT OPTIONS
   ============================================================ */

.ng-product-template .tm-extra-product-options .tc-epo-label {
  margin: 0;
  color: var(--ng-ink);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.25;
}

.ng-product-template .tm-extra-product-options.tc-show {
  flex-basis: 100%;
  width: 100%;
  margin: 2px 0 0;
}

.ng-product-template .tm-extra-product-options.tc-show .cpf-element {
  margin: 0 0 18px;
  padding: 0;
}

.ng-product-template .tm-extra-product-options.tc-show .tc-epo-label { margin-bottom: 9px; }

.ng-product-template .tm-element-ul-radio:not(.tc-images-container) {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 8px;
}

.ng-product-template .tm-element-ul-radio:not(.tc-images-container) > .tmcp-field-wrap {
  width: 100% !important;
  margin: 0 !important;
}

.ng-product-template .tm-element-ul-radio:not(.tc-images-container) .tm-epo-field-label {
  min-height: 54px;
  display: flex;
  align-items: center;
  padding: 10px 12px;
  background: #fff;
  border: 1px solid var(--ng-teal);
  border-radius: 10px;
  cursor: pointer;
}

.ng-product-template .tm-element-ul-radio:not(.tc-images-container) .tmcp-field-wrap.tc-active .tm-epo-field-label {
  color: #fff;
  background: var(--ng-teal);
}

.ng-product-template .tm-element-ul-radio:not(.tc-images-container) .tc-label-inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  font-size: 12px;
  line-height: 1.2;
}

.ng-product-template .tm-element-ul-radio:not(.tc-images-container) .tc-price-wrap { color: inherit; font-size: 11px; }

.ng-product-template .tm-element-ul-radio:not(.tc-images-container) input[type="radio"] { accent-color: var(--ng-teal); }

.ng-product-template .tc-images-container {
  display: grid;
  grid-template-columns: repeat(7,minmax(0,1fr));
  gap: 9px;
}

.ng-product-template .tc-images-container > .tmcp-field-wrap {
  width: 100% !important;
  margin: 0 !important;
}

.ng-product-template .tc-images-container .tm-epo-field-label { display: block; }

.ng-product-template .tc-images-container .tc-image {
  width: 44px !important;
  height: 44px !important;
  display: block;
  margin: 0 auto;
  object-fit: cover;
  border: 2px solid #fff;
  border-radius: 50% !important;
  outline: 1px solid var(--ng-line);
  box-shadow: none;
}

.ng-product-template .tc-images-container .tmcp-field-wrap.tc-active .tc-image {
  outline: 3px solid var(--ng-teal);
  outline-offset: 2px;
}

.ng-product-template .cpf-type-upload .tm-epo-field-label,
.ng-product-template .cpf-type-file .tm-epo-field-label {
  min-height: 62px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 14px;
  border: 1px dashed var(--ng-teal);
  border-radius: 12px;
  background: var(--ng-beige-soft);
}

.ng-product-template .cpf-type-checkbox .tm-epo-field-label { font-size: 13px; line-height: 1.35; }

.ng-product-template .cpf-type-checkbox input { accent-color: var(--ng-teal); }

.ng-product-template .tm-extra-product-options textarea,
.ng-product-template .tm-extra-product-options input[type="text"] {
  min-height: 48px;
  padding: 11px 13px;
  color: var(--ng-ink);
  background: #fff;
  border: 1px solid var(--ng-teal);
  border-radius: 10px;
  box-shadow: none;
}

.ng-product-template .tm-extra-product-options textarea { min-height: 110px; resize: vertical; }

.ng-product-template .tc-epo-totals {
  flex-basis: 100%;
  width: 100%;
  margin: 4px 0 2px;
  padding: 16px 18px;
  background: var(--ng-beige-soft);
  border-radius: 14px;
}

.ng-product-template .tm-extra-product-options-totals {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 6px 18px;
  margin: 0;
}

.ng-product-template .tm-extra-product-options-totals dt,
.ng-product-template .tm-extra-product-options-totals dd { margin: 0; color: var(--ng-ink); }

.ng-product-template .tm-extra-product-options-totals .tm-final-totals { color: var(--ng-teal); font-size: 18px; font-weight: 750; }

@media (max-width: 767px) {
.ng-product-template .tm-element-ul-radio:not(.tc-images-container) { grid-template-columns: 1fr; }

.ng-product-template .tc-images-container { grid-template-columns: repeat(5,minmax(0,1fr)); }

.ng-product-template .tc-images-container .tc-image { width: 42px !important; height: 42px !important; }
}

.ng-product-template .tm-extra-product-options { width: 100%; }

.ng-product-template .tm-extra-product-options .tc-epo-label {
  color: var(--ng-ink);
  font-weight: 600;
}

.ng-product-template .tm-extra-product-options input[type="text"],
.ng-product-template .tm-extra-product-options textarea {
  min-height: 46px;
  border: 1px solid var(--ng-teal);
  border-radius: 10px;
}

.ng-product-template .tm-extra-product-options {
  flex-basis: 100%;
}

.ng-product-template .cpf-type-dynamic .tc-result-wrap {
  display: inline-flex;
  align-items: baseline;
  gap: 0;
}

.ng-product-template .cpf-type-dynamic .tc-result {
  margin-top: -8px;
  color: var(--e-global-color-secondary, #667085);
  font-size: 13px;
  line-height: 1.35;
}

.ng-product-template .epo-hotfoil-colors-div .epo-hotfoil-colors-ul,
.ng-product-template .epo-hotfoil-colors-div .tc-images-container {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(72px, 1fr));
  gap: 14px 10px;
}

.ng-product-template .epo-hotfoil-colors-div .tmcp-field-wrap {
  min-width: 0;
}

.ng-product-template .epo-hotfoil-colors-div .tm-epo-field-label {
  display: flex !important;
  flex-direction: column;
  align-items: center;
  gap: 7px;
  width: 100%;
  text-align: center;
}

.ng-product-template .epo-hotfoil-colors-div .tc-label,
.ng-product-template .epo-hotfoil-colors-div .tc-label-inner,
.ng-product-template .epo-hotfoil-colors-div .tc-label-text {
  position: static !important;
  display: block !important;
  width: 100%;
  height: auto !important;
  overflow: visible !important;
  clip: auto !important;
  opacity: 1 !important;
  visibility: visible !important;
  color: var(--e-global-color-text, #1f2937);
  font-size: 11px;
  font-weight: 500;
  line-height: 1.2;
  white-space: normal;
}

.ng-product-template .epo-hotfoil-colors-div .tc-image,
.ng-product-template .epo-hotfoil-colors-div .tc-images-container {
  margin: 0 auto;
}

@media (max-width: 767px) {
.ng-product-template .epo-hotfoil-colors-div .epo-hotfoil-colors-ul,
.ng-product-template .epo-hotfoil-colors-div .tc-images-container {
    grid-template-columns: repeat(3, minmax(76px, 1fr));
    gap: 14px 8px;
  }
}

.ng-product-template .tm-element-ul-radio:not(.tc-images-container) .tm-epo-field-label {
  min-height: 48px;
  border: 1px solid #000 !important;
  border-radius: 14px !important;
  background: #fff !important;
}

.ng-product-template .tm-element-ul-radio:not(.tc-images-container) .tmcp-field-wrap.tc-active .tm-epo-field-label {
  color: #fff !important;
  background: var(--ng-teal) !important;
  border-color: var(--ng-teal) !important;
}

.ng-product-template .tc-images-container {
  grid-template-columns: repeat(5, minmax(72px, 1fr)) !important;
  gap: 16px 10px !important;
}

.ng-product-template .tc-images-container .tc-image {
  width: 54px !important;
  height: 54px !important;
}

.ng-product-template .tc-epo-totals {
  min-height: 82px;
  padding: 23px;
  background: #eee7e5;
  border-radius: 14px;
}

.ng-product-template .tm-extra-product-options .tc-epo-label,
.ng-product-template .tm-extra-product-options h3,
.ng-product-template .tm-extra-product-options .tm-epo-element-label {
  color: #1a1a1a !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 24px !important;
}

.ng-product-template .tm-element-ul-radio:not(.tc-images-container) .tc-label-inner {
  font-size: 14px !important;
  font-weight: 500 !important;
}

.ng-product-template .tm-element-ul-radio:not(.tc-images-container) .tmcp-field-wrap.tc-active .tm-epo-field-label {
  color: #fff !important;
  background: #1d474f !important;
  border-color: #1d474f !important;
}

.ng-product-template .tm-extra-product-options .tc-price-wrap,
.ng-product-template .cpf-type-dynamic .tc-result {
  color: #1a1a1a;
  font-family: "Space Grotesk", sans-serif;
  font-size: 11px;
  font-weight: 400;
  line-height: normal;
}

.ng-product-template .tm-extra-product-options-totals dt {
  color: #1a1a1a;
  font-size: 20px;
  font-weight: 500;
}

.ng-product-template .tm-extra-product-options-totals dd,
.ng-product-template .tm-extra-product-options-totals .tm-final-totals {
  color: #1a1a1a;
  font-size: 28px;
  font-weight: 500;
}

body .ng-product-template .tc-epo-totals .amount,
body .ng-product-template .tc-epo-totals bdi,
body .ng-product-template .tc-epo-totals .woocommerce-Price-currencySymbol {
  color: #1a1a1a !important;
  font-family: "Space Grotesk", sans-serif !important;
  font-size: 28px !important;
  font-weight: 500 !important;
  line-height: normal !important;
}

body .ng-product-template .tc-epo-totals {
  min-height: 0 !important;
  padding: 12px 16px !important;
}

body .ng-product-template .tm-extra-product-options-totals {
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 4px 16px !important;
  align-items: baseline !important;
}

body .ng-product-template .tm-extra-product-options-totals dt.tm-options-totals {
  color: #1a1a1a !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 18px !important;
}

body .ng-product-template .tm-extra-product-options-totals dd.tm-options-totals,
body .ng-product-template .tm-extra-product-options-totals dd.tm-options-totals .amount,
body .ng-product-template .tm-extra-product-options-totals dd.tm-options-totals bdi,
body .ng-product-template .tm-extra-product-options-totals dd.tm-options-totals .woocommerce-Price-currencySymbol {
  color: #1a1a1a !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 18px !important;
}

body .ng-product-template .tm-extra-product-options-totals dt.tm-final-totals {
  color: #1a1a1a !important;
  font-size: 20px !important;
  font-weight: 500 !important;
  line-height: 28px !important;
}

body .ng-product-template .tm-extra-product-options-totals dd.tm-final-totals,
body .ng-product-template .tm-extra-product-options-totals dd.tm-final-totals .amount,
body .ng-product-template .tm-extra-product-options-totals dd.tm-final-totals bdi,
body .ng-product-template .tm-extra-product-options-totals dd.tm-final-totals .woocommerce-Price-currencySymbol {
  color: #1a1a1a !important;
  font-size: 28px !important;
  font-weight: 500 !important;
  line-height: 32px !important;
}

body .ng-product-template .cpf-type-dynamic .tc-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: baseline !important;
  gap: 16px !important;
}

body .ng-product-template .cpf-type-dynamic .tm-epo-element-label {
  grid-column: 1 !important;
  width: auto !important;
  margin: 0 !important;
  white-space: nowrap !important;
}

body .ng-product-template .cpf-type-dynamic .tc-element-container {
  grid-column: 2 !important;
  width: auto !important;
}

body .ng-product-template .cpf-type-dynamic .tmcp-elements,
body .ng-product-template .cpf-type-dynamic .tmcp-field-wrap,
body .ng-product-template .cpf-type-dynamic .tmcp-field-wrap-inner {
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

body .ng-product-template .cpf-type-dynamic .tmcp-field-wrap-inner,
body .ng-product-template .cpf-type-dynamic .tc-result-wrap {
  display: inline-flex !important;
  align-items: baseline !important;
  gap: 0 !important;
  white-space: nowrap !important;
}

body .ng-product-template .cpf-type-dynamic .tc-result,
body .ng-product-template .cpf-type-dynamic .after-amount {
  color: #1a1a1a !important;
  font-family: "Space Grotesk", sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 24px !important;
}

body .ng-product-template .epo-hotfoil-colors-div .tc-image {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}

body .ng-product-template .epo-hotfoil-colors-div .tmcp-field-wrap.tc-active .tc-image {
  border: 0 !important;
  outline: 2px solid #1d474f !important;
  outline-offset: 4px !important;
  box-shadow: none !important;
}

@media (max-width: 767px) {
.ng-product-template .tc-images-container {
    grid-template-columns: repeat(3, minmax(76px, 1fr)) !important;
  }
}/* End custom CSS */