h1 span{
	color: #7a9874;
}
.pf-hover-blurb-wrapper .et_pb_blurb,
.pf-hover-blurb-wrapper .et_pb_blurb .et_pb_button_module_wrapper{
  transition: 0.2s ease-in-out;
}
.pf-hover-blurb-wrapper .et_pb_blurb:hover{
  transform: translateY(-2px);
}
.pf-hover-blurb-wrapper .et_pb_blurb .et_pb_button_module_wrapper{
  opacity: 0;
}
.pf-hover-blurb-wrapper .et_pb_blurb:hover .et_pb_button_module_wrapper{
  opacity: 1;
}


/*
  ╔══════════════════════════════════════════════════════╗
  ║  CONFIGURATORS — Shared Stylesheet                  ║
  ║  Covers: .topper-cfg  (Module 1 — Topper)           ║
  ║          .cerv-cfg    (Module 2 — Cervicale)        ║
  ╚══════════════════════════════════════════════════════╝
*/

/* ═══════════════════════════════════════════
   SHARED TOKENS
═══════════════════════════════════════════ */
.topper-cfg,
.cerv-cfg {
  --sage:        #7a9874;
  --sage-mid:    #8fa38b;
  --sage-light:  #bfd0bc;
  --sage-pale:   #d8e4d7;
  --warm:        #eeede8;
  --tan:         #b2a18f;
  --apple:       #8d8d8d;
  --apple-muted: #b2a18f;
}

/* ═══════════════════════════════════════════
   SHARED RESET
═══════════════════════════════════════════ */
.topper-cfg *,
.topper-cfg *::before,
.topper-cfg *::after,
.cerv-cfg *,
.cerv-cfg *::before,
.cerv-cfg *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  font-family: 'Quicksand', system-ui, sans-serif;
}

/* ═══════════════════════════════════════════
   SHARED — cfg-section
═══════════════════════════════════════════ */
.topper-cfg .cfg-section {
  margin-top: 20px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.cerv-cfg .cfg-section {
  margin-top: 10px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* ═══════════════════════════════════════════
   SHARED — cfg-label
═══════════════════════════════════════════ */
.topper-cfg .cfg-label,
.cerv-cfg   .cfg-label {
  font-size: 9.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .13em;
  color: var(--apple-muted);
  margin-bottom: 6px;
  display: block;
}

/* ═══════════════════════════════════════════
   SHARED — cfg-federa + federa-btn
   border-radius: 12px (not in v10 50px list)
═══════════════════════════════════════════ */
.topper-cfg .cfg-federa,
.cerv-cfg   .cfg-federa {
  display: flex;
  gap: 8px;
}
/* cerv gap override (original inline style: gap:5px) */
.cerv-cfg .cfg-federa {
  gap: 5px;
}

.topper-cfg .federa-btn,
.cerv-cfg   .federa-btn {
  flex: 1;
  padding: 10px;
  border: 1.5px solid var(--sage-pale);
  border-radius: 12px;
  background: #faf9f7;
  cursor: pointer;
  text-align: left;
  display: flex;
  flex-direction: column;
  gap: 3px;
  transition: border-color .15s, background .15s;
  user-select: none;
}
.topper-cfg .federa-btn.active,
.cerv-cfg   .federa-btn.active {
  border-color: var(--sage);
  background: #f0f5ef;
}
.topper-cfg .federa-btn:hover,
.cerv-cfg   .federa-btn:hover {
  border-color: var(--sage-mid);
}

.topper-cfg .fb-name,
.cerv-cfg   .fb-name {
  font-size: 12px;
  font-weight: 700;
  color: var(--apple);
}
/* cerv fb-name size override (original inline: font-size:11px) */
.cerv-cfg .fb-name {
  font-size: 11px;
}

.topper-cfg .fb-desc {
  font-size: 10px;
  color: var(--apple-muted);
  font-weight: 500;
  line-height: 1.3;
}

.topper-cfg .fb-extra,
.cerv-cfg   .fb-extra {
  font-size: 9px;
  color: var(--sage);
  font-weight: 600;
  margin-top: 2px;
}

/* ═══════════════════════════════════════════
   SHARED — cfg-price-row
═══════════════════════════════════════════ */
.topper-cfg .cfg-price-row,
.cerv-cfg   .cfg-price-row {
  display: flex;
  align-items: baseline;
  gap: 10px;
  padding: 12px 0 4px;
  border-top: 1px solid var(--sage-pale);
}
/* cerv padding override (original inline: padding-top:8px) */
.cerv-cfg .cfg-price-row {
  padding: 8px 0 4px;
}

.topper-cfg .cfg-price,
.cerv-cfg   .cfg-price {
  font-size: clamp(24px, 2.5vw, 32px);
  font-weight: 700;
  color: var(--sage);
  letter-spacing: -.02em;
  line-height: 1;
  transition: all .2s;
}

.topper-cfg .cfg-price-note,
.cerv-cfg   .cfg-price-note {
  font-size: 11px;
  color: var(--apple-muted);
  font-weight: 500;
}

/* ── Price flash animation (shared name, scoped per module) ── */
.topper-cfg .cfg-price-change,
.cerv-cfg   .cfg-price-change {
  animation: priceFlash .3s ease;
}
@keyframes priceFlash {
  0%   { opacity: .4; transform: translateY(-4px); }
  100% { opacity: 1;  transform: translateY(0); }
}

/* ═══════════════════════════════════════════
   MODULE 1 ONLY — TOPPER
   size-grid · sz-btn · sz-name · sz-dim
   sz-custom
   border-radius: 50px (v10 override applies)
═══════════════════════════════════════════ */
.topper-cfg .size-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
  margin-bottom: 8px;
}

.topper-cfg .sz-btn {
  padding: 9px 8px;
  border: 1.5px solid var(--sage-pale);
  border-radius: 50px;
  background: var(--warm);
  font-family: 'Quicksand', sans-serif;
  cursor: pointer;
  text-align: center;
  transition: border-color .12s, background .12s;
  user-select: none;
}
.topper-cfg .sz-btn:hover {
  border-color: var(--sage-light);
}
.topper-cfg .sz-btn.active {
  border-color: var(--sage);
  background: var(--sage-pale);
}

.topper-cfg .sz-name {
  font-size: 12px;
  font-weight: 700;
  color: var(--apple);
  display: block;
}
.topper-cfg .sz-btn.active .sz-name {
  color: var(--sage);
}

.topper-cfg .sz-dim {
  font-size: 10px;
  color: var(--apple-muted);
  display: block;
  margin-top: 2px;
}

.topper-cfg .sz-custom {
  width: 100%;
  padding: 9px;
  border: 1.5px dashed var(--sage-light);
  border-radius: 50px;
  background: none;
  font-family: 'Quicksand', sans-serif;
  font-size: 11px;
  font-weight: 600;
  color: var(--apple-muted);
  cursor: pointer;
  transition: border-color .12s, color .12s;
}
.topper-cfg .sz-custom:hover {
  border-color: var(--sage-mid);
  color: var(--sage);
}

/* ═══════════════════════════════════════════
   MODULE 2 ONLY — CERVICALE
   cfg-spessore · spessore-btn · sp-name
   sp-badge
   border-radius: 12px (not in v10 50px list)
═══════════════════════════════════════════ */
.cerv-cfg .cfg-spessore {
  display: flex;
  gap: 5px;
}

.cerv-cfg .spessore-btn {
  flex: 1;
  padding: 10px 6px;
  border: 1.5px solid var(--sage-pale);
  border-radius: 12px;
  background: #faf9f7;
  font-family: 'Quicksand', sans-serif;
  cursor: pointer;
  text-align: center;
  transition: border-color .15s, background .15s;
  user-select: none;
}
.cerv-cfg .spessore-btn.active {
  border-color: var(--sage);
  background: #f0f5ef;
}
.cerv-cfg .spessore-btn:hover {
  border-color: var(--sage-mid);
}

.cerv-cfg .sp-name {
  display: block;
  font-size: 11px;
  font-weight: 700;
  color: var(--apple);
}

.cerv-cfg .sp-badge {
  display: inline-block;
  font-size: 8.5px;
  font-weight: 700;
  color: var(--sage);
  background: var(--sage-pale);
  border-radius: 6px;
  padding: 1px 6px;
  margin-top: 4px;
  letter-spacing: .05em;
}
.cfg-section{
  line-height: 1.3em;
}
.pf-bg-leafs{
  position: relative;
}
.pf-bg-leafs::after{
  content:"";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 130px;
  height: 160px;
  background-image:  url(/wp-content/uploads/2026/06/leaf-bottom.webp);
  background-size: cover;
  opacity: 0.2;
}
.pf-bg-leafs::before{
  content:"";
  position: absolute;
  top:0;
  right: 0;
  width: 160px;
  height: 200px;
  background-image:  url(/wp-content/uploads/2026/06/leaf-top.webp);
  background-size: cover;
  opacity: 0.2;
}
.pf-faq .et_pb_toggle_title::before{
  display: none;
}
.pf-faq .et_pb_toggle_title,
.pf-faq .et_pb_toggle_content{
  padding-right: 30px;
}
.pf-faq .et_pb_toggle_title::after{
  content: "+";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  font-size: 17px;
  font-weight: 500;
  width: 26px;
  height: 26px;
  display:  flex;
  align-items: center;
  justify-content: center;
  border-radius: 50px;
}
.pf-faq .et_pb_toggle_open .et_pb_toggle_title::after{
  transform: translateY(-50%) rotate(45deg);
}
.pdf-form-row input{
  background-color: #87A582;
  font-size: 15px;
  padding: 8px;
  border-radius: 12px;
  color: #ffffff;
  font-weight: 600;
	width: 100%;
}
.pdf-form-row input::placeholder{
  color: rgba(255,255,255,0.5);
}
.pdf-form-row .wpcf7-submit{
  margin-top: 4px;
  width: 100%;
  border: 1px solid #ffffff;
  background-color: #91A991;
  cursor: pointer;
  transition: 0.3s ease-in-out;
  color: #ffffff;
  font-weight: 600;
  font-size: 16px;
}
.pdf-form-row .wpcf7-submit:hover{
  opacity: 0.8;
}
.pxt-footer-contatti-sec .et_pb_button_module_wrapper .et_pb_button{
  min-width: 100%;
  display: inline-block;
}
.pf-sp-gallery .flex-control-thumbs{
	margin-top:16px !important;
}

.pula-add-to-card-dv .yith_wccl_value::after,
.pula-add-to-card-dv .variations td.value span:after{
  display: none !important;
}
.pula-add-to-card-dv .select_box{
  display: none;
}
.pula-add-to-card-dv span .select_box{
  display: block;
}
.pula-add-to-card-dv .yith_wccl_value{
  border: none;
}
.pula-add-to-card-dv table.variations{
  width: 100%;
  text-align: left;
}
.pula-add-to-card-dv .yith_wccl_layout_inline{
  display: block;
  color: #1E1E1E;
  font-family: 'Quicksand', system-ui, sans-serif;
  font-size: 22px;
  font-weight: 600;
  margin-bottom: 14px;
}
.pula-add-to-card-dv table.variations tr{
  display: block;
}
.pula-add-to-card-dv .select_option{
  width: auto;
  height: 60px;
  box-sizing: border-box;
  display: inline-flex;
  align-items: flex-start;
  justify-content: center;
  flex-direction: column;
  padding: 0 28px;
  margin: 0 12px 12px 0;
  border: 2px solid #C9D9C3 !important;
  border-radius: 999px !important;
  background-color: #FFFFFF;
  cursor: pointer;
}
.pula-add-to-card-dv .select_option *{
  background: transparent !important;
  box-shadow: none !important;
  white-space: nowrap;
  width: auto;
  padding: 0;
  margin: 0;
}
.pula-add-to-card-dv .select_option.selected{
  background-color: #7A9A74 !important;
  border-color: #7A9A74 !important;
}
.pula-add-to-card-dv .select_option .yith_wccl_value,
.pula-add-to-card-dv .select_option_label .yith_wccl_value{
  font-family: 'Quicksand', system-ui, sans-serif;
  font-size: 18px;
  font-weight: 600;
  color: #1E1E1E;
  text-align: center;
}
.pula-add-to-card-dv .select_option.selected *{
  color: #FFFFFF !important;
}
.pula-add-to-card-dv .reset_variations{
  color: #5E7A5A;
  text-decoration: underline;
}
.pula-add-to-card-dv .woocommerce-variation-add-to-cart{
  display: flex !important;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.pula-add-to-card-dv .woocommerce-variation-add-to-cart input[type='number']{
  background-color: transparent;
  color: #1E1E1E;
  font-size: 18px;
  border: 2px solid #C9D9C3 !important;
  border-radius: 999px !important;
  width: 56px;
  height: 56px;
  text-align: center;
}
.pula-add-to-card-dv .quantity.px-qty-wrapped{
  display: flex !important;
}
.pula-add-to-card-dv .quantity{
  align-items: center;
  margin-right: 0;
}
.pula-add-to-card-dv .px-qty-btn{
  cursor: pointer;
  border: 2px solid #C9D9C3;
  border-radius: 999px;
  background: #FFFFFF;
  height: 56px;
  min-width: 56px;
  font-size: 22px;
  color: #1E1E1E;
}
.pula-add-to-card-dv .px-qty-btn:hover{
  background-color: #E2E8DC;
}
.pula-add-to-card-dv input.qty::-webkit-outer-spin-button,
.pula-add-to-card-dv input.qty::-webkit-inner-spin-button{
  -webkit-appearance: none;
  margin: 0;
}
.pula-add-to-card-dv input.qty[type="number"]{
  -moz-appearance: textfield;
  appearance: textfield;
}
.pula-add-to-card-dv .single_add_to_cart_button.et_pb_button{
  background-color: #7A9A74 !important;
  border: 0 !important;
  border-radius: 999px !important;
  color: #FFFFFF !important;
  font-family: 'Quicksand', system-ui, sans-serif;
  font-size: 20px !important;
  font-weight: 600 !important;
  padding: 20px !important;
  width: 100%;
  opacity: 1 !important;
}
#page-container .pula-add-to-card-dv .yith_wccl_layout_inline{
  margin: 0 !important;
}
.pula-add-to-card-dv  .select_option_label .yith_wccl_value_wrapper {
    display: flex;
    justify-content: flex-start !important;
    align-items: flex-start !important;
}
@media (min-width: 981px) {
	.pf-perche-wrapper .et_flex_group{
	  position: relative;
	}
	.pf-perche-wrapper .et_flex_group::after{
	  content: "";
	  height: 100%;
	  width: 1px;
	  background-color: #ffffff;
	  position: absolute;
	  right: -64px;
	  top: 0;
	}
	.pf-perche-wrapper .et_flex_group:last-of-type::after{
	  display: none;
	}
}

/* Second line added to swatches by custom.js */
.select_option .pf-swatch-sub{
  display: block;
  font-size: 12px;
  font-weight: 500;
  color: inherit;
  opacity: 0.9;
  white-space: nowrap;
  line-height: 1;
}

/* ═══════════════════════════════════════════
   ADD TO CART — single row, +/- quantity, bigger text
   Parent: .pula-add-to-card-dv
═══════════════════════════════════════════ */
.pula-add-to-card-dv .woocommerce-variation-price .price{
  font-size: 34px;
  font-weight: 700;
  color: #7a9874;
}
.pula-add-to-card-dv .woocommerce-variation-price del{
  font-size: 20px;
  color: #b2a18f;
}
.pula-add-to-card-dv .woocommerce-variation-price ins{
  text-decoration: none;
}
.pula-add-to-card-dv .woocommerce-variation-availability .stock{
  font-size: 18px;
  font-weight: 600;
  color: #5e7a5a;
  margin: 8px 0 0;
}
.pula-add-to-card-dv .woocommerce-variation-add-to-cart{
  display: flex !important;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 12px;
  margin-top: 16px;
}
.pula-add-to-card-dv .woocommerce-variation-add-to-cart .quantity{
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap;
  align-items: center;
  gap: 8px;
  margin: 0;
  width: auto;
}
/* Minus field plus: the number box stays visible between the buttons. */
.pula-add-to-card-dv .woocommerce-variation-add-to-cart .quantity input.qty{
  display: block !important;
  width: 64px;
  height: 56px;
  border: 2px solid #c9d9c3;
  border-radius: 999px;
  background: #ffffff;
  color: #1e1e1e;
  font-family: 'Quicksand', system-ui, sans-serif;
  font-size: 20px;
  font-weight: 600;
  text-align: center;
  -moz-appearance: textfield;
  appearance: textfield;
}
.pula-add-to-card-dv .woocommerce-variation-add-to-cart .quantity input.qty::-webkit-outer-spin-button,
.pula-add-to-card-dv .woocommerce-variation-add-to-cart .quantity input.qty::-webkit-inner-spin-button{
  -webkit-appearance: none;
  margin: 0;
}
.pula-add-to-card-dv .pf-qty-btn{
  width: 56px;
  height: 56px;
  border: 2px solid #c9d9c3;
  border-radius: 999px;
  background: #ffffff;
  color: #1e1e1e;
  font-family: 'Quicksand', system-ui, sans-serif;
  font-size: 26px;
  font-weight: 600;
  line-height: 1;
  cursor: pointer;
  padding: 0;
}
.pula-add-to-card-dv .pf-qty-btn:hover{
  background: #e2e8dc;
}
.pula-add-to-card-dv .woocommerce-variation-add-to-cart .single_add_to_cart_button{
  flex: 1 1 auto;
  min-height: 56px;
  font-size: 24px !important;
  font-weight: 600 !important;
  white-space: nowrap;
}
