/* Commerce presentation layered over standard WooCommerce forms and templates. */
.velora-auth {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  margin: 35px auto 70px;
  max-width: 1100px;
  align-items: center;
}
.velora-auth-story {
  padding: 45px;
  background: radial-gradient(at 20% 100%, #e1cde8, transparent 65%), #f2eaf6;
  border-radius: 30px;
  min-height: 590px;
}
.velora-auth h1,
.velora-shop h1,
.velora-admin-entry h1 {
  font-size: clamp(40px, 5vw, 64px);
  font-weight: 400;
  letter-spacing: -0.055em;
  line-height: 1.08;
}
.velora-auth h1 em,
.velora-shop h1 em,
.velora-rail-heading h2 em {
  font-family: Georgia, serif;
  font-weight: 400;
  color: #8b679f;
}
.velora-auth-story > p:not(.velora-eyebrow) {
  font-size: 14px;
  color: #7d6789;
  line-height: 1.9;
}
.velora-auth-orb {
  margin: 45px auto 0;
  width: 180px;
  height: 180px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-size: 80px;
  color: #fff9;
  background: radial-gradient(
    circle at 30% 20%,
    white,
    #e3c7e5 30%,
    #a891bc 65%,
    #dcd2e5
  );
  box-shadow:
    inset 15px 10px 20px #fff8,
    0 25px 45px #9f7bb333;
  animation: velora-float 7s ease-in-out infinite;
}
.velora-preview-note {
  background: #f3edf7;
  border: 1px solid #e7ddec;
  border-radius: 12px;
  padding: 12px 17px;
  font-size: 12px;
  color: #786383;
}
.velora-auth-form .woocommerce .col2-set .col-1,
.velora-auth-form .woocommerce .col2-set .col-2 {
  float: none;
  width: 100%;
}
.velora-auth.login #customer_login .col-2,
.velora-auth.register #customer_login .col-1 {
  display: none;
}
.velora-auth-form h2 {
  font-size: 33px;
  font-weight: 400;
}
.velora-auth-form .woocommerce form {
  border: 0;
  padding: 0;
  margin: 20px 0;
}
.velora-auth input:not([type="checkbox"]),
.velora-admin-entry input:not([type="checkbox"]),
.woocommerce input.input-text,
.woocommerce select,
.woocommerce textarea {
  border: 1px solid #dcd1e5;
  background: white;
  border-radius: 10px;
  padding: 13px;
  font: inherit;
  color: #33233e;
  width: 100%;
}
.woocommerce form .form-row label,
.velora-admin-entry label {
  font-size: 12px;
  color: #7d6589;
  margin: 8px 0;
  display: block;
}
.woocommerce button.button,
.woocommerce a.button,
.woocommerce input.button,
.velora-admin-entry input[type="submit"] {
  background: #33213f;
  color: white;
  border: 0;
  border-radius: 99px;
  padding: 15px 24px;
  line-height: 1.4;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
}
.woocommerce button.button:hover,
.woocommerce a.button:hover {
  background: #76528c;
  color: white;
}
.woocommerce a {
  color: #805699;
}
.woocommerce form .form-row .required {
  color: #8a5e9f;
}
.woocommerce form .show-password-input {
  top: 8px;
}
.velora-auth-switch {
  font-size: 13px;
  margin-top: 25px;
}
.velora-auth-switch a {
  color: #784795;
  text-decoration: underline;
}
.woocommerce-privacy-policy-text,
.woocommerce-LostPassword {
  font-size: 12px;
  color: #816e8e;
  line-height: 1.8;
}
.velora-admin-entry {
  max-width: 680px;
  margin: 45px auto 90px;
}
.velora-admin-entry form {
  max-width: 420px;
}
.velora-shop {
  margin: 30px auto 55px;
}
.velora-shop > p {
  color: #7c6787;
}
.velora-shop .products {
  margin-top: 35px !important;
}
.woocommerce ul.products li.product {
  background: white;
  border: 1px solid #e5d9ed;
  border-radius: 22px;
  padding: 16px !important;
  box-sizing: border-box;
  transition:
    transform 0.3s,
    box-shadow 0.3s;
  will-change: transform;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-size: 20px;
  font-weight: 400;
  line-height: 1.3;
  color: #33263d;
  margin-top: 15px;
}
.woocommerce ul.products li.product .price {
  font-size: 14px;
  color: #7e5a93;
}
.woocommerce ul.products li.product .button {
  font-size: 12px;
  margin-top: 10px;
}
.woocommerce-notices-wrapper,
.woocommerce-message,
.woocommerce-info {
  font-size: 13px;
}
.woocommerce-message,
.woocommerce-info {
  border-top-color: #9b77b4;
  background: #f2edf6;
  border-radius: 8px;
}
.woocommerce-message:before,
.woocommerce-info:before {
  color: #9b77b4;
}
.woocommerce-account .woocommerce-MyAccount-navigation {
  background: #f2eaf7;
  border-radius: 18px;
  padding: 22px;
}
.woocommerce-MyAccount-navigation ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.woocommerce-MyAccount-navigation li a {
  display: block;
  padding: 12px;
  font-size: 13px;
  border-radius: 8px;
}
.woocommerce-MyAccount-navigation li.is-active a {
  background: white;
}
.velora-customer-account {
  margin: 35px 0 55px;
}
.velora-customer-account .woocommerce:after {
  content: "";
  display: table;
  clear: both;
}
.woocommerce table.shop_table {
  border-color: #e3d8ea;
  border-radius: 14px;
  font-size: 13px;
  background: white;
}
.woocommerce div.product .product_title {
  font-size: 44px;
  letter-spacing: -0.04em;
  line-height: 1.1;
}
.woocommerce div.product p.price {
  font-size: 24px;
  color: #90659f;
}
.woocommerce div.product .woocommerce-product-details__short-description {
  color: #7e6c87;
  font-size: 14px;
}
.woocommerce div.product .woocommerce-tabs ul.tabs {
  margin-top: 40px;
}
.woocommerce div.product .woocommerce-tabs {
  font-size: 14px;
}
.woocommerce .quantity .qty {
  width: 65px;
  padding: 10px;
}
.woocommerce .cart-collaterals .cart_totals {
  background: #f2eaf6;
  border-radius: 18px;
  padding: 25px;
}
.woocommerce input:focus,
.velora-admin-entry input:focus {
  outline: 2px solid #b88bce;
  outline-offset: 2px;
}
.velora-featured-section {
  max-width: 1200px;
  margin: 0 auto;
  padding: 55px 36px 15px;
}
.velora-rail-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
}
.velora-rail-heading h2 {
  font-size: 35px;
  margin: 12px 0;
  letter-spacing: -0.04em;
}
.velora-rail-heading p:not(.velora-eyebrow) {
  font-size: 12px;
  color: #88728f;
}
.velora-rail-controls {
  display: flex;
  align-items: center;
  gap: 9px;
  white-space: nowrap;
}
.velora-rail-controls button {
  width: 39px;
  height: 39px;
  border: 1px solid #dbcee4;
  background: transparent;
  border-radius: 50%;
  cursor: pointer;
  color: #7c588e;
  transition: background 0.2s;
}
.velora-rail-controls button:hover {
  background: #ecdef4;
}
.velora-rail-controls > a {
  font-size: 12px;
  margin-right: 10px;
}
.velora-rail {
  display: flex;
  gap: 22px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-padding: 12px;
  padding: 22px 8px 27px;
  overscroll-behavior-x: contain;
  scrollbar-width: thin;
  scrollbar-color: #d5c2df transparent;
}
.velora-spotlight-card {
  flex: 0 0 calc((100% - 44px) / 3);
  min-width: 245px;
  border: 1px solid #e5dbea;
  border-radius: 21px;
  background: white;
  padding: 16px;
  scroll-snap-align: start;
  text-decoration: none;
  color: #33243c;
  position: relative;
  transform: perspective(900px) rotateX(var(--tilt-x, 0deg))
    rotateY(var(--tilt-y, 0deg));
  transition:
    transform 0.25s,
    box-shadow 0.25s,
    border-color 0.25s;
  will-change: transform;
}
.velora-spotlight-card:hover,
.woocommerce ul.products li.product:hover,
.v-service-card:hover {
  transform: perspective(900px) translateY(-7px) rotateX(var(--tilt-x, 0deg))
    rotateY(var(--tilt-y, 0deg));
  box-shadow: 0 24px 50px #80509225;
  border-color: #c6a7da;
}
.v-service-card {
  transition:
    transform 0.3s,
    box-shadow 0.3s,
    border-color 0.3s;
}
.velora-spotlight-card:focus-visible {
  outline: 3px solid #9d6cb8;
  outline-offset: 3px;
}
.velora-spotlight-card h3 {
  font-size: 22px;
  letter-spacing: -0.03em;
  font-weight: 400;
  margin: 10px 0;
}
.velora-spotlight-card h3 span {
  float: right;
  font-size: 16px;
}
.velora-spotlight-card > p:not(.velora-eyebrow) {
  font-size: 12px;
  line-height: 1.7;
  color: #8a7793;
}
.velora-sponsored {
  display: inline-block;
  font-size: 9px;
  color: #796782;
  background: #f3edf7;
  padding: 4px 9px;
  border-radius: 99px;
  margin: 14px 0 6px;
}
.velora-salon-art {
  height: 165px;
  background: radial-gradient(at 20% 10%, #fff8, transparent 70%), #e4d3e9;
  border-radius: 13px;
  display: grid;
  place-items: center;
  position: relative;
  overflow: hidden;
}
.velora-salon-art:before {
  content: "";
  position: absolute;
  width: 130px;
  height: 150px;
  border: 1px solid #fff9;
  border-radius: 60px 60px 8px 8px;
  top: 28px;
  box-shadow:
    0 0 0 18px #fff2,
    0 0 0 36px #fff1;
}
.velora-salon-art b {
  font-family: Georgia, serif;
  font-size: 62px;
  font-weight: 400;
  color: #836493;
  z-index: 1;
}
.velora-salon-art span {
  position: absolute;
  right: 20px;
  top: 10px;
  color: white;
  font-size: 28px;
}
.tone-1 .velora-salon-art {
  background-color: #eacfcf;
}
.tone-2 .velora-salon-art {
  background-color: #d9dfd4;
}
.velora-product-price {
  font-size: 14px;
  color: #7b528f;
  margin: 12px 0;
}
.velora-rail-empty {
  padding: 25px;
  color: #8e7a98;
}
.velora-product-art {
  height: 230px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background:
    radial-gradient(ellipse at 50% 85%, #d8c6d780, transparent 40%), #f5e8ef;
  position: relative;
  overflow: hidden;
}
.velora-product-art:before {
  content: "";
  position: absolute;
  width: 200px;
  height: 200px;
  border: 1px solid #fff9;
  border-radius: 50%;
  box-shadow: 0 0 0 20px #fff2;
}
.velora-product-art.lilac {
  background-color: #eee6f5;
}
.velora-product-art.sage {
  background-color: #e8ede5;
}
.velora-product-art.peach {
  background-color: #f6e8df;
}
.velora-bottle {
  position: relative;
  width: 82px;
  height: 132px;
  background: linear-gradient(
    100deg,
    #fdf5f2,
    #e8c8d7 35%,
    #edd4e0 75%,
    #ceadbd
  );
  border-radius: 13px 13px 19px 19px;
  box-shadow: 14px 13px 25px #76536d30;
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  z-index: 1;
  margin-top: 25px;
  transition: transform 0.5s;
}
.velora-bottle:before {
  content: "";
  position: absolute;
  top: -28px;
  left: 19px;
  width: 44px;
  height: 30px;
  border-radius: 7px 7px 0 0;
  background: linear-gradient(100deg, #fff, #d8d1d9 45%, #b6aaba);
}
.velora-bottle b {
  font:
    18px Georgia,
    serif;
  letter-spacing: -1px;
  color: #714c67;
}
.velora-bottle span {
  font-size: 7px;
  text-transform: uppercase;
  letter-spacing: 0.11em;
  margin-top: 15px;
  color: #795c70;
  text-align: center;
  max-width: 65px;
}
.velora-bottle small {
  font-size: 6px;
  color: #80667b;
  margin-top: 9px;
}
.kind-hair .velora-bottle {
  height: 153px;
  background: linear-gradient(100deg, #f8f5ff, #cdbce0 55%, #baa7d0);
}
.kind-cream .velora-bottle {
  width: 98px;
  height: 116px;
  border-radius: 7px 7px 23px 23px;
  background: linear-gradient(100deg, #f6f9ed, #d7dfce 70%, #b9c8ac);
}
.kind-oil .velora-bottle {
  background: linear-gradient(100deg, #fbe7c8, #dcba8d 65%, #b69165);
}
.velora-product-art > small {
  position: absolute;
  bottom: 9px;
  font-size: 8px;
  color: #8f778c;
  letter-spacing: 0.08em;
}
.velora-spotlight-card:hover .velora-bottle,
.woocommerce li.product:hover .velora-bottle {
  transform: rotate(-5deg) translateY(-5px);
}
.woocommerce div.product .images .velora-product-art {
  height: 460px;
}
.woocommerce div.product .images .velora-bottle {
  transform: scale(1.7);
}
.woocommerce table.cart .velora-product-art {
  height: 75px;
  width: 65px;
}
.woocommerce table.cart .velora-bottle {
  transform: scale(0.35);
  margin-top: 0;
}
.woocommerce table.cart .velora-product-art > small {
  display: none;
}
.woocommerce table.cart .velora-product-art:before {
  display: none;
}
.velora-product-detail {
  padding: 40px 0;
}
.woocommerce-product-gallery__wrapper .velora-product-art {
  width: 100%;
}
@keyframes velora-float {
  0%,
  100% {
    transform: translateY(0) rotate(-3deg);
  }
  50% {
    transform: translateY(-12px) rotate(3deg);
  }
}
@media (max-width: 781px) {
  .velora-auth {
    grid-template-columns: 1fr;
    gap: 25px;
  }
  .velora-auth-story {
    min-height: 0;
    padding: 30px;
  }
  .velora-auth-orb {
    display: none;
  }
  .velora-auth-form {
    padding: 0 10px;
  }
  .velora-auth h1 {
    font-size: 44px;
  }
  .velora-featured-section {
    padding: 35px 22px 0;
  }
  .velora-spotlight-card {
    flex-basis: 80%;
  }
  .velora-rail-heading {
    align-items: start;
    flex-wrap: wrap;
  }
  .velora-rail-heading h2 {
    font-size: 30px;
  }
  .velora-shop h1 {
    font-size: 46px;
  }
  .woocommerce ul.products[class*="columns-"] li.product {
    width: 48%;
    margin-right: 4%;
  }
  .woocommerce ul.products[class*="columns-"] li.product:nth-child(2n) {
    margin-right: 0;
  }
  .woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-size: 17px;
  }
  .velora-product-art {
    height: 185px;
  }
  .woocommerce div.product .images .velora-product-art {
    height: 330px;
  }
}
@media (max-width: 420px) {
  .woocommerce ul.products[class*="columns-"] li.product {
    width: 100%;
    margin-right: 0;
  }
  .velora-shop .velora-product-art {
    height: 240px;
  }
  .velora-rail-controls {
    gap: 7px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .velora-auth-orb {
    animation: none;
  }
  .velora-spotlight-card,
  .v-service-card,
  .woocommerce ul.products li.product,
  .velora-bottle {
    transition: none !important;
    transform: none !important;
  }
}

.velora-header .wp-block-woocommerce-customer-account {
  display: none;
}

.velora-salon-art {position:relative;overflow:hidden;} .velora-salon-photo {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2;}

.wp-block-columns.velora-category-grid {display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr));} @media(max-width:780px){.wp-block-columns.velora-category-grid {grid-template-columns:repeat(2,minmax(0,1fr));}} @media(max-width:480px){.wp-block-columns.velora-category-grid {grid-template-columns:1fr;}}
