/* Rosaodor Wasroutine — v1.0.29
 * Strakker afgestemd op de bestaande Rosaodor Voordeelpakket-stijl.
 */
.rwr-builder{
  --rwr-black:#171513;
  --rwr-ink:#24211e;
  --rwr-muted:#8e8780;
  --rwr-line:#d9cdbd;
  --rwr-line-soft:#eee6dc;
  --rwr-soft:#fcf8f2;
  --rwr-gold:#b98546;
  --rwr-serif:"Cormorant Garamond", Georgia, "Times New Roman", serif;
  --rwr-sans:var(--e-global-typography-text-font-family,inherit);
  margin:28px 0;
  padding:0 40px;
  background:#fff;
  color:var(--rwr-ink);
  font-family:var(--rwr-sans),Arial,sans-serif;
  border:0;
  box-shadow:none;
  overflow:visible;
  container-type:inline-size;
}
.rwr-builder *{box-sizing:border-box}

/* De prijs ontstaat in de builder. Verberg de generieke productprijs die
   WooCommerce Subscriptions vóór de keuzes als €0 / every x weeks kan tonen. */
.single-product .summary > .price,
.single-product .summary > p.price{
  display:none !important;
}

.rwr-builder h1,.rwr-builder h2,.rwr-builder h3,.rwr-builder h4,
.rwr-builder .rwr-step-head h3,
.rwr-builder .rwr-summary-title,
.rwr-builder .rwr-total-price,
.rwr-builder .rwr-count-card-inner strong,
.rwr-builder .rwr-count-label,
.rwr-builder .rwr-frequency-inner strong{
  font-family:var(--rwr-serif),Georgia,"Times New Roman",serif !important;
}
.rwr-builder,
.rwr-builder p,
.rwr-builder span,
.rwr-builder label,
.rwr-builder small,
.rwr-builder strong,
.rwr-builder select,
.rwr-builder option{
  letter-spacing:normal;
}

.rwr-intro{
  padding:22px 0 18px;
  border-top:1px solid var(--rwr-line);
  border-bottom:1px solid var(--rwr-line-soft);
}
.rwr-intro>span,.rwr-kicker{
  display:block;
  color:var(--rwr-gold);
  font-family:var(--rwr-sans),Arial,sans-serif;
  font-size:10px;
  font-weight:500;
  letter-spacing:.24em;
  line-height:1.45;
  text-transform:uppercase;
}
.rwr-intro p{
  margin:7px 0 0;
  color:#756f68;
  font-size:14px;
  line-height:1.55;
}
.rwr-intro-benefits{
  margin-top:10px;
  color:#8b8178;
  font-family:var(--rwr-sans),Arial,sans-serif;
  font-size:10px;
  font-weight:500;
  letter-spacing:.08em !important;
  line-height:1.5;
  text-transform:uppercase;
}
.rwr-intro-benefits span{
  display:inline-block;
  margin:0 6px;
  color:var(--rwr-gold);
}

.rwr-section{
  position:relative;
  padding:31px 0 33px;
  border-bottom:1px solid var(--rwr-line-soft);
  background:#fff;
}
.rwr-step-head{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  align-items:start;
  gap:18px;
  margin:0 0 24px;
}
.rwr-step-number{
  display:flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  margin-top:1px;
  border:1px solid var(--rwr-gold);
  border-radius:50%;
  color:#7d5930;
  font-family:var(--rwr-serif),Georgia,"Times New Roman",serif;
  font-size:15px;
  font-weight:500;
  line-height:1;
}
.rwr-step-head h3{
  margin:6px 0 0;
  color:var(--rwr-black);
  font-family:var(--rwr-serif),Georgia,"Times New Roman",serif;
  font-size:34px;
  font-weight:500;
  letter-spacing:-.01em;
  line-height:1.03;
}
.rwr-step-head h3 small{
  display:inline-block;
  margin-left:5px;
  color:#99918a;
  font-family:var(--rwr-sans),Arial,sans-serif;
  font-size:11px;
  font-weight:400;
  letter-spacing:.02em;
  line-height:1.2;
  text-transform:lowercase;
  vertical-align:baseline;
}
.rwr-step-head p{
  margin:8px 0 0;
  max-width:560px;
  color:#817a73;
  font-family:var(--rwr-sans),Arial,sans-serif;
  font-size:13px;
  line-height:1.5;
}

/* Pakketkeuze — compact zoals het bestaande Rosaodor Voordeelpakket. */
.rwr-counts{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:7px;
  margin:0 0 0 52px;
  align-items:stretch;
}
.rwr-count-card{
  position:relative;
  display:block;
  min-width:0;
  margin:0;
  cursor:pointer;
}
.rwr-count-card input,.rwr-frequency-card input,.rwr-gift input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.rwr-count-card-inner{
  position:relative;
  display:flex;
  min-height:106px;
  height:100%;
  padding:12px 3px 12px;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border:1px solid var(--rwr-line);
  background:#fff;
  color:var(--rwr-ink);
  text-align:center;
  transition:border-color .15s ease,background .15s ease;
}
.rwr-count-card-inner strong{
  font-family:var(--rwr-serif),Georgia,"Times New Roman",serif;
  font-size:22px;
  font-weight:500;
  line-height:1;
}
.rwr-count-label{
  display:block;
  width:100%;
  margin-top:4px;
  font-family:var(--rwr-serif),Georgia,"Times New Roman",serif;
  font-size:14px;
  font-weight:500;
  line-height:1.05;
  white-space:nowrap;
}
.rwr-count-card-inner small{
  display:block;
  margin-top:7px;
  color:#57514b;
  font-family:var(--rwr-sans),Arial,sans-serif;
  font-size:10px;
  font-weight:400;
  line-height:1;
}
.rwr-count-card:hover .rwr-count-card-inner{border-color:#b99e7c;background:#fffdf9}
.rwr-count-card input:checked + .rwr-count-card-inner{
  border-color:#8d642f;
  background:#fffaf2;
  box-shadow:inset 0 0 0 1px #8d642f;
}
.rwr-count-card input:focus-visible + .rwr-count-card-inner{outline:2px solid var(--rwr-gold);outline-offset:2px}
.rwr-popular{
  position:absolute;
  top:12px;
  left:50%;
  transform:translateX(-50%);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin:0;
  padding:4px 7px 3px;
  background:#2c2926;
  color:#fff;
  font-family:var(--rwr-sans),Arial,sans-serif;
  font-size:7px;
  font-weight:500;
  letter-spacing:.16em;
  line-height:1;
  text-transform:uppercase;
  white-space:nowrap;
}

/* Bezorgfrequentie: dezelfde visuele logica, zonder zwevende labels. */
.rwr-frequencies{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin:0 0 0 52px;
  align-items:stretch;
}
.rwr-frequency-card{
  position:relative;
  display:block;
  min-width:0;
  margin:0;
  cursor:pointer;
}
.rwr-frequency-inner{
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:78px;
  height:100%;
  align-items:center;
  justify-content:center;
  padding:12px 6px 12px;
  border:1px solid var(--rwr-line);
  background:#fff;
  color:var(--rwr-ink);
  text-align:center;
  transition:border-color .15s ease,background .15s ease;
}
.rwr-frequency-inner strong{
  font-family:var(--rwr-serif),Georgia,"Times New Roman",serif;
  font-size:16px;
  font-weight:500;
  line-height:1.1;
}
.rwr-frequency-card:hover .rwr-frequency-inner{border-color:#b99e7c;background:#fffdf9}
.rwr-frequency-card input:checked + .rwr-frequency-inner{
  border-color:#8d642f;
  background:#fffaf2;
  box-shadow:inset 0 0 0 1px #8d642f;
}
.rwr-frequency-card input:focus-visible + .rwr-frequency-inner{outline:2px solid var(--rwr-gold);outline-offset:2px}

/* Keuzevelden */
.rwr-fragrance-slots,.rwr-sample-slots{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px 20px;
  margin:0 0 0 52px;
}
.rwr-slot{min-width:0}
.rwr-slot label{
  display:block;
  margin:0 0 8px;
  color:#8c847d;
  font-family:var(--rwr-sans),Arial,sans-serif;
  font-size:10px;
  font-weight:500;
  letter-spacing:.17em;
  line-height:1.4;
  text-transform:uppercase;
}
.rwr-slot label span{letter-spacing:.08em;text-transform:none}
.rwr-select{
  width:100%;
  min-height:58px;
  margin:0;
  padding:0 42px 0 17px;
  border:1px solid var(--rwr-line);
  border-radius:0;
  background-color:#fff;
  color:var(--rwr-ink);
  box-shadow:none;
  font-family:var(--rwr-sans),Arial,sans-serif;
  font-size:13px;
  font-weight:400;
  letter-spacing:0;
  transition:border-color .15s ease,background .15s ease;
}
.rwr-select:hover,.rwr-select:focus{border-color:#b89d78;background:#fffdf9;outline:none}

/* Welkomstcadeau: visueel gelijk aan stap 6, maar functioneel blijft dit één keuze. */
.rwr-gifts{
  display:grid;
  grid-template-columns:1fr;
  gap:9px;
  margin:0 0 0 52px;
}
.rwr-gift{
  display:grid !important;
  grid-template-columns:24px minmax(0,1fr) auto;
  align-items:center;
  gap:15px;
  min-height:92px;
  margin:0;
  padding:18px 20px;
  border:1px solid var(--rwr-line);
  border-radius:12px;
  background:#fdfaf5;
  cursor:pointer;
  transition:border-color .15s ease,background .15s ease,box-shadow .15s ease,transform .15s ease;
}
.rwr-gift:hover{border-color:#c0a27a;background:#faf3e9;box-shadow:0 12px 28px rgba(30,23,16,.05)}
.rwr-gift input{
  appearance:none;
  -webkit-appearance:none;
  position:relative;
  width:22px;
  height:22px;
  min-width:22px;
  margin:0;
  border:1.5px solid #4e4944;
  border-radius:50%;
  background:#fcfaf7;
  box-shadow:none;
  cursor:pointer;
}
.rwr-gift input:checked{
  border-color:#81613a;
  background:#fcfaf7;
}
.rwr-gift input:checked:after{
  content:"";
  position:absolute;
  inset:4px;
  border-radius:50%;
  background:var(--rwr-black);
}
.rwr-gift:has(input:checked){border-color:#b19068;background:#f7efe3;box-shadow:inset 0 0 0 1px #b19068,0 14px 30px rgba(30,23,16,.06)}
.rwr-gift-main{
  display:flex;
  min-width:0;
  width:auto !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  flex-direction:column;
  font-family:var(--rwr-sans),Arial,sans-serif;
  font-size:14px;
  line-height:1.3;
}
.rwr-gift-main strong{display:block;font-weight:600;line-height:1.22;word-break:normal !important;overflow-wrap:break-word;font-family:var(--rwr-sans),Arial,sans-serif !important;font-size:16px}
.rwr-gift-main small{margin-top:5px;color:#938578;font-size:11px;line-height:1.35}
.rwr-gift-price{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  align-self:center;
  padding:7px 11px;
  border-radius:999px;
  background:#efe3d0;
  color:#8a7358;
  font-family:var(--rwr-sans),Arial,sans-serif;
  font-size:10px;
  font-weight:500;
  letter-spacing:.09em;
  text-transform:uppercase;
  white-space:nowrap;
}
.rwr-gift.is-disabled{opacity:.45;cursor:not-allowed}

/* Vaste aanvulling */
.rwr-extras{
  display:grid;
  grid-template-columns:1fr;
  gap:9px;
  margin:0 0 0 52px;
}
.rwr-extra{
  display:grid;
  grid-template-columns:24px minmax(0,1fr) auto;
  align-items:center;
  gap:15px;
  min-height:94px;
  margin:0;
  padding:18px 20px;
  border:1px solid var(--rwr-line);
  border-radius:12px;
  background:#fdfaf5;
  cursor:pointer;
  transition:border-color .15s ease,background .15s ease,box-shadow .15s ease,transform .15s ease;
}
.rwr-extra:hover{border-color:#c0a27a;background:#faf3e9;box-shadow:0 12px 28px rgba(30,23,16,.05)}
.rwr-extra input{
  appearance:none;
  -webkit-appearance:none;
  position:relative;
  width:22px;
  height:22px;
  min-width:22px;
  margin:0;
  border:1.5px solid #4e4944;
  border-radius:4px;
  background:#fcfaf7;
  box-shadow:none;
  cursor:pointer;
}
.rwr-extra input:checked{background:#2b2621;border-color:#2b2621}
.rwr-extra input:checked:after{
  content:'✓';
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  font-size:12px;
  line-height:1;
}
.rwr-extra-main{
  display:flex;
  min-width:0;
  width:auto !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  flex-direction:column;
  font-family:var(--rwr-sans),Arial,sans-serif;
  font-size:14px;
  line-height:1.3;
}
.rwr-extra-main strong{display:block;font-weight:600;line-height:1.22;word-break:normal !important;overflow-wrap:break-word;font-size:16px}
.rwr-extra-main small{margin-top:5px;color:#938578;font-size:11px;line-height:1.35}
.rwr-extra-price{
  display:flex;
  align-items:flex-end;
  justify-content:flex-end;
  gap:8px;
  color:#655f58;
  font-family:var(--rwr-sans),Arial,sans-serif;
  font-size:12px;
  white-space:nowrap;
}
.rwr-extra-price strong{color:var(--rwr-black);font-weight:700;font-size:14px}
.rwr-extra-old{color:#a49686;text-decoration:line-through;text-decoration-thickness:1px}
.rwr-extra:has(input:checked){border-color:#b19068;background:#f7efe3;box-shadow:inset 0 0 0 1px #b19068,0 14px 30px rgba(30,23,16,.06)}
.rwr-extra.is-disabled{opacity:.45;cursor:not-allowed}

/* Samenvatting sluit aan bij Voordeelpakket. */
.rwr-summary{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  padding:29px 0 27px;
  border-bottom:1px solid var(--rwr-line);
}
.rwr-summary-copy{min-width:0}
.rwr-summary-title{
  margin-top:8px;
  color:var(--rwr-ink);
  font-family:var(--rwr-serif),Georgia,"Times New Roman",serif;
  font-size:24px;
  font-weight:500;
  line-height:1.1;
}
.rwr-summary-saving{
  margin-top:7px;
  color:#948c84;
  font-family:var(--rwr-sans),Arial,sans-serif;
  font-size:11px;
  line-height:1.55;
}
.rwr-summary-saving strong{color:#9c6f34;font-weight:600}
.rwr-old-price{text-decoration:line-through;text-decoration-thickness:1px}
.rwr-dot{padding:0 3px;color:#c0b7ac}
.rwr-total-price{
  color:var(--rwr-black);
  font-family:var(--rwr-serif),Georgia,"Times New Roman",serif;
  font-size:36px;
  font-weight:500;
  letter-spacing:-.01em;
  line-height:1;
  white-space:nowrap;
}
.rwr-note{
  margin:0;
  padding:15px 0 7px;
  color:#8a837c;
  font-family:var(--rwr-sans),Arial,sans-serif;
  font-size:10px;
  line-height:1.6;
}

/* Compact responsive gedrag: ook op mobiel blijven de pakketkeuzes klein. */
@container (max-width:430px){
  /* Mobiel: iets breder dan de smalle WooCommerce summary-kolom,
     maar bewust niet schermvullend. Dit sluit aan op de bestaande
     Rosaodor pakket-builder zonder links/rechts af te snijden. */
  .rwr-builder{
    width:calc(100% + 56px);
    max-width:calc(100vw - 32px);
    margin-left:50%;
    margin-right:0;
    padding:0;
    transform:translateX(-50%);
  }
  .rwr-section{padding:27px 0 29px}
  .rwr-step-head{grid-template-columns:31px minmax(0,1fr);gap:13px;margin-bottom:19px}
  .rwr-step-number{width:31px;height:31px;font-size:14px}
  .rwr-step-head h3{font-size:27px}
  .rwr-step-head p{font-size:12px}
  .rwr-counts,.rwr-frequencies,.rwr-fragrance-slots,.rwr-sample-slots,.rwr-gifts,.rwr-extras{margin-left:0}
  .rwr-counts{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .rwr-count-card:nth-last-child(1):nth-child(odd){
    grid-column:1 / -1;
    width:calc(50% - 4px);
    justify-self:center;
  }
  .rwr-count-card-inner{min-height:102px;padding:16px 8px 13px}
  .rwr-count-card-inner strong{font-size:27px}
  .rwr-count-label{font-size:17px;white-space:normal}
  .rwr-count-card-inner small{margin-top:7px;font-size:11px}
  .rwr-popular{top:-1px;font-size:7px;padding:5px 8px 4px;letter-spacing:.13em}
  .rwr-frequencies{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  .rwr-frequency-inner{min-height:68px;padding:11px 4px 11px}
  .rwr-frequency-inner strong{font-size:14px}
  .rwr-fragrance-slots,.rwr-sample-slots{grid-template-columns:1fr;gap:15px}
  .rwr-gifts,.rwr-extras{grid-template-columns:1fr;gap:8px}
  .rwr-gift,.rwr-extra{grid-template-columns:20px minmax(0,1fr);align-items:start;gap:12px;padding:15px 13px;min-height:0;border-radius:12px}
  .rwr-gift input,.rwr-extra input{width:20px;height:20px;min-width:20px;margin-top:2px}
  .rwr-gift-main,.rwr-extra-main{font-size:12px}
  .rwr-gift-main strong,.rwr-extra-main strong{font-size:14px}
  .rwr-gift-main small,.rwr-extra-main small{font-size:10px}
  .rwr-gift-price,.rwr-extra-price{grid-column:2;justify-self:start;margin-top:3px}
  .rwr-gift-price{font-size:9px;padding:6px 9px}
  .rwr-extra-price{gap:7px;font-size:11px}
  .rwr-extra-price strong{font-size:13px}
  .rwr-summary{align-items:flex-start}
  .rwr-total-price{font-size:33px}
}
@container (max-width:330px){
  .rwr-builder{padding:0}
  .rwr-counts{gap:6px}
  .rwr-count-card:nth-last-child(1):nth-child(odd){width:calc(50% - 3px)}
  .rwr-count-card-inner{min-height:92px;padding:14px 6px 11px}
  .rwr-count-card-inner strong{font-size:24px}
  .rwr-count-label{font-size:15px}
  .rwr-count-card-inner small{font-size:10px}
  .rwr-frequencies{gap:4px}
  .rwr-frequency-inner strong{font-size:12px}
  .rwr-gifts{grid-template-columns:1fr}
  .rwr-summary{display:block}
  .rwr-total-price{display:block;margin-top:16px;font-size:34px}
}

/* v1.0.13 — forceer Rosaodor serif voor alle luxe titels/keuzekaarten. */
.rwr-builder .rwr-step-head h3,
.rwr-builder .rwr-step-number,
.rwr-builder .rwr-count-card-inner > strong,
.rwr-builder .rwr-count-label,
.rwr-builder .rwr-frequency-inner > strong,
.rwr-builder .rwr-summary-title,
.rwr-builder .rwr-total-price {
  font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif !important;
  font-style: normal !important;
}
.rwr-builder .rwr-step-head h3{font-weight:500 !important;}
.rwr-builder .rwr-count-card-inner > strong,
.rwr-builder .rwr-count-label,
.rwr-builder .rwr-frequency-inner > strong{font-weight:500 !important;}

/* v1.0.14 — de eigen stap 2 bestuurt WooCommerce Subscriptions.
   De dubbele native planselector blijft technisch in het formulier staan,
   maar is voor de klant niet zichtbaar. */
.rwr-native-plan-hidden,
form.cart .wcsatt-options-wrapper{
  display:none !important;
}

/* ==========================================================
   v1.0.20 — MIJN ACCOUNT / WASROUTINE WIJZIGEN
   ========================================================== */
.rwr-account-box{
  margin:34px 0 42px;
  padding:28px 30px 30px;
  background:#fff;
  border:1px solid #e8e1d8;
  color:#2a2724;
}
.rwr-account-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:24px;
}
.rwr-account-head>div{min-width:0}
.rwr-account-head>div>span{
  display:block;
  margin-bottom:7px;
  color:#a58252;
  font-size:8px;
  font-weight:700;
  letter-spacing:.24em;
}
.rwr-account-head h2{
  margin:0 0 8px;
  font-family:"Cormorant Garamond",Georgia,"Times New Roman",serif!important;
  font-size:32px;
  font-weight:500;
  line-height:1;
}
.rwr-account-head p{
  max-width:620px;
  margin:0;
  color:#7c746c;
  font-size:12px;
  line-height:1.6;
}
.rwr-account-edit-button{
  flex:0 0 auto;
  min-width:150px;
  text-align:center;
}
.rwr-account-current{
  margin-top:24px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  border-top:1px solid #eee8e1;
}
.rwr-account-current>div{
  padding:16px 0;
  border-bottom:1px solid #eee8e1;
}
.rwr-account-current>div:nth-child(odd){padding-right:20px}
.rwr-account-current small{
  display:block;
  margin-bottom:5px;
  color:#9a9188;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.13em;
}
.rwr-account-current strong{
  font-size:13px;
  font-weight:500;
}
.rwr-account-form{margin-top:29px}
.rwr-account-group{
  padding:24px 0;
  border-top:1px solid #eee8e1;
}
.rwr-account-label{
  display:block;
  margin-bottom:13px;
  font-family:"Cormorant Garamond",Georgia,"Times New Roman",serif!important;
  font-size:22px;
  font-weight:500;
}
.rwr-account-help{
  margin:-7px 0 13px;
  color:#8c847c;
  font-size:11px;
}
.rwr-account-choices{
  display:grid;
  gap:7px;
}
.rwr-account-counts{grid-template-columns:repeat(5,minmax(0,1fr))}
.rwr-account-frequency{grid-template-columns:repeat(3,minmax(0,1fr))}
.rwr-account-choices label{cursor:pointer}
.rwr-account-choices input{position:absolute;opacity:0;pointer-events:none}
.rwr-account-choices span{
  min-height:58px;
  padding:10px 8px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  border:1px solid #ddd3c6;
  background:#fff;
  text-align:center;
  font-size:12px;
}
.rwr-account-choices input:checked+span{
  border-color:#a58252;
  background:#f6f1ea;
  box-shadow:inset 0 0 0 1px #a58252;
}
.rwr-account-counts span strong{
  font-family:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  font-size:23px;
  font-weight:500;
}
.rwr-account-select-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.rwr-account-select-grid label{display:block}
.rwr-account-select-grid small{
  display:block;
  margin-bottom:6px;
  color:#8d857d;
  font-size:8px;
  font-weight:700;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.rwr-account-select-grid select{
  width:100%;
  min-height:47px;
  padding:0 12px;
  border:1px solid #ded5ca;
  background:#fff;
  color:#302d2a;
  font-size:12px;
}
.rwr-account-lines{
  display:grid;
  gap:7px;
}
.rwr-account-lines label{
  min-height:61px;
  padding:11px 13px;
  display:grid;
  grid-template-columns:20px minmax(0,1fr) auto;
  align-items:center;
  gap:11px;
  border:1px solid #ded5ca;
  cursor:pointer;
}
.rwr-account-lines label:has(input:checked){
  border-color:#a58252;
  background:#f8f4ee;
}
.rwr-account-lines input{width:16px;height:16px;margin:0}
.rwr-account-lines span{min-width:0}
.rwr-account-lines strong{display:block;font-size:12px;font-weight:600}
.rwr-account-lines small{display:block;margin-top:2px;color:#8d857d;font-size:9px}
.rwr-account-lines b{font-size:11px;font-weight:500;white-space:nowrap}
.rwr-account-total{
  padding:21px 0;
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:20px;
  border-top:1px solid #d9cdbf;
  border-bottom:1px solid #d9cdbf;
}
.rwr-account-total span{
  color:#716961;
  font-size:10px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.rwr-account-total strong{
  font-family:"Cormorant Garamond",Georgia,"Times New Roman",serif!important;
  font-size:31px;
  font-weight:500;
}
.rwr-account-actions{
  margin-top:20px;
  display:flex;
  align-items:center;
  gap:18px;
}
.rwr-account-actions a{font-size:11px;text-decoration:underline}

@media(max-width:767px){
  .rwr-account-box{margin:24px 0 34px;padding:21px 16px 24px}
  .rwr-account-head{display:block}
  .rwr-account-edit-button{display:inline-block;margin-top:17px}
  .rwr-account-current{grid-template-columns:1fr}
  .rwr-account-current>div:nth-child(odd){padding-right:0}
  .rwr-account-counts{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}
  .rwr-account-counts span{padding:8px 2px;display:block;font-size:9px}
  .rwr-account-counts span strong{display:block;font-size:19px}
  .rwr-account-frequency{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
  .rwr-account-frequency span{font-size:10px}
  .rwr-account-select-grid{grid-template-columns:1fr}
  .rwr-account-total strong{font-size:27px}
}


/* ==========================================================
   v1.0.24 — MOBILE POLISH VOOR GRATIS EXTRA + AANVULLINGEN
   Sommige theme/woocommerce-stijlen geven labels op mobiel een vaste
   hoogte of aspect-ratio. Deze regels houden stap 5/6 compact en leesbaar.
   ========================================================== */
.rwr-gift input{
  opacity:1 !important;
  pointer-events:auto !important;
}
.rwr-gift,
.rwr-extra{
  height:auto !important;
  max-height:none !important;
  aspect-ratio:auto !important;
}
.rwr-gift-main,
.rwr-extra-main,
.rwr-gift-main strong,
.rwr-extra-main strong{
  min-width:0 !important;
  width:auto !important;
  max-width:none !important;
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  hyphens:none !important;
}

@container (max-width:430px){
  .rwr-gifts,
  .rwr-extras{
    width:100% !important;
    max-width:100% !important;
  }

  .rwr-gift,
  .rwr-extra{
    width:100% !important;
    min-width:0 !important;
    min-height:76px !important;
    height:auto !important;
    max-height:none !important;
    padding:14px 14px !important;
    align-content:center !important;
    align-items:center !important;
    justify-items:stretch !important;
    aspect-ratio:auto !important;
  }

  .rwr-gift{
    grid-template-columns:22px minmax(0,1fr) auto !important;
    column-gap:11px !important;
    row-gap:4px !important;
  }

  .rwr-extra{
    grid-template-columns:22px minmax(0,1fr) !important;
    column-gap:11px !important;
    row-gap:5px !important;
  }

  .rwr-gift input,
  .rwr-extra input{
    width:20px !important;
    min-width:20px !important;
    height:20px !important;
    min-height:20px !important;
    margin:0 !important;
    opacity:1 !important;
    pointer-events:auto !important;
  }

  .rwr-gift-main,
  .rwr-extra-main{
    font-size:12px !important;
    line-height:1.3 !important;
  }

  .rwr-gift-main strong,
  .rwr-extra-main strong{
    display:block !important;
    font-size:12px !important;
    line-height:1.25 !important;
  }

  .rwr-gift-main small,
  .rwr-extra-main small{
    margin-top:4px !important;
    font-size:9px !important;
    line-height:1.3 !important;
  }

  .rwr-gift-price{
    justify-self:end !important;
    font-size:10px !important;
    white-space:nowrap !important;
  }

  .rwr-extra-price{
    grid-column:2 !important;
    display:flex !important;
    flex-wrap:wrap !important;
    justify-content:flex-start !important;
    gap:6px !important;
    margin-top:2px !important;
    font-size:10px !important;
    line-height:1.2 !important;
    white-space:normal !important;
  }

  .rwr-extra-old,
  .rwr-extra-price strong{
    white-space:nowrap !important;
  }
}

/* ==========================================================
   v1.0.24 — MOBIEL GELIJKGETROKKEN MET VOORDEELPAKKET
   Alleen mobiel: minder zij-padding, kleiner staprondje en de tekstkolom
   krijgt meer ruimte zodat titels natuurlijk naast het rondje doorlopen.
   Desktop blijft ongewijzigd.
   ========================================================== */
@media (max-width:767px){
  .rwr-builder{
    width:auto !important;
    max-width:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
    padding-left:12px !important;
    padding-right:12px !important;
    transform:none !important;
  }

  .rwr-section{
    padding-top:28px !important;
    padding-bottom:30px !important;
  }

  .rwr-step-head{
    grid-template-columns:28px minmax(0,1fr) !important;
    gap:12px !important;
    margin-bottom:22px !important;
  }

  .rwr-step-number{
    width:28px !important;
    height:28px !important;
    margin-top:1px !important;
    font-size:13px !important;
  }

  .rwr-kicker,
  .rwr-intro>span{
    font-size:9px !important;
    letter-spacing:.21em !important;
  }

  .rwr-step-head h3{
    margin-top:2px !important;
    font-size:26px !important;
    line-height:1.02 !important;
  }

  .rwr-step-head p{
    margin-top:7px !important;
    max-width:none !important;
    font-size:12px !important;
    line-height:1.48 !important;
  }

  /* Keuzes beginnen exact onder de tekstkolom naast het staprondje. */
  .rwr-counts,
  .rwr-frequencies,
  .rwr-fragrance-slots,
  .rwr-sample-slots,
  .rwr-gifts,
  .rwr-extras{
    margin-left:40px !important;
  }

  .rwr-counts{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important;
  }

  .rwr-count-card:nth-last-child(1):nth-child(odd){
    grid-column:1 / -1 !important;
    width:calc(50% - 4px) !important;
    justify-self:center !important;
  }

  .rwr-count-card-inner{
    min-height:100px !important;
    padding:15px 7px 13px !important;
  }

  .rwr-count-card-inner strong{font-size:26px !important;}
  .rwr-count-label{font-size:16px !important;}

  .rwr-frequencies{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:6px !important;
  }

  .rwr-frequency-inner{
    min-height:72px !important;
    padding:10px 4px !important;
  }

  .rwr-fragrance-slots,
  .rwr-sample-slots{
    grid-template-columns:1fr !important;
    gap:15px !important;
  }

  .rwr-select{
    min-height:58px !important;
  }

  .rwr-gifts,
  .rwr-extras{
    gap:8px !important;
  }
}

/* ==========================================================
   v1.0.27 — MOBIELE WITRUIMTE VOOR BESTELKNOP OPGELOST
   WoodMart/WooCommerce kan form.cart als flex/grid behandelen. Omdat de
   Wasroutine-builder een groot element in dat formulier is, kon de native
   quantity/bestelknop daardoor pas na een zeer groot leeg vlak verschijnen.
   Alleen dit Wasroutine-formulier wordt op mobiel weer als normale verticale
   flow behandeld. Desktop blijft volledig ongemoeid.
   ========================================================== */
@media (max-width:767px){
  form.cart.rwr-wasroutine-form{
    display:block !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    grid-template-columns:none !important;
    grid-template-rows:none !important;
    gap:0 !important;
    row-gap:0 !important;
    column-gap:0 !important;
    align-items:stretch !important;
    align-content:normal !important;
    justify-content:normal !important;
  }

  form.cart.rwr-wasroutine-form > .rwr-builder{
    display:block !important;
    float:none !important;
    clear:both !important;
    flex:0 0 100% !important;
    align-self:auto !important;
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    margin-bottom:18px !important;
  }

  /* Verborgen native subscription-keuzes mogen ook geen resthoogte houden. */
  form.cart.rwr-wasroutine-form .rwr-native-plan-hidden,
  form.cart.rwr-wasroutine-form .wcsatt-options-wrapper,
  form.cart.rwr-wasroutine-form .wcsatt-options-product,
  form.cart.rwr-wasroutine-form .subscription-options,
  form.cart.rwr-wasroutine-form .product-subscription-options{
    display:none !important;
    width:0 !important;
    height:0 !important;
    min-height:0 !important;
    max-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    overflow:hidden !important;
  }

  /* De echte WooCommerce controls volgen direct onder de builder. */
  form.cart.rwr-wasroutine-form .quantity{
    float:none !important;
    clear:both !important;
    width:100% !important;
    max-width:100% !important;
    margin-top:0 !important;
  }

  form.cart.rwr-wasroutine-form .single_add_to_cart_button{
    float:none !important;
    clear:both !important;
    width:100% !important;
    max-width:100% !important;
  }
}

/* ==========================================================
   v1.0.30 — MOBIELE STAPNUMMERS BOVEN DE TEKST
   Op mobiel staat het staprondje boven de kicker/titel. Daardoor lopen
   alle koppen en keuzeblokken rustig vanaf dezelfde linkerlijn.
   Desktop blijft ongewijzigd.
   ========================================================== */
@media (max-width:767px){
  .rwr-step-head{
    display:block !important;
    margin-bottom:22px !important;
  }

  .rwr-step-number{
    display:flex !important;
    width:28px !important;
    height:28px !important;
    margin:0 0 11px 0 !important;
    font-size:13px !important;
  }

  .rwr-step-head > div{
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
  }

  .rwr-step-head h3,
  .rwr-step-head p,
  .rwr-step-head .rwr-kicker{
    margin-left:0 !important;
    padding-left:0 !important;
    text-align:left !important;
  }

  /* Ook de keuzes zelf beginnen op dezelfde linkerlijn als de kop. */
  .rwr-counts,
  .rwr-frequencies,
  .rwr-fragrance-slots,
  .rwr-sample-slots,
  .rwr-gifts,
  .rwr-extras{
    margin-left:0 !important;
  }
}

