/* =====================================================================
   VARIABLES
   ===================================================================== */
:root {
  --iso-color-base: #fff6b3;
  --iso-color-shadow: #d3b867;

  --iso-geo-height: 70px;
  --iso-geo-width: 250px;
  --iso-geo-extrude: 40px;

  --iso-state-default-geo: -40px;
  --iso-state-hover-geo: -20px;
  --iso-state-press-geo: 0px;
}

/* =====================================================================
   RESET
   ===================================================================== */
html {
  background-color: #f8f7f3;
}

* {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}

/* =====================================================================
   TYPOGRAPHY
   ===================================================================== */
h1,
h2,
h3,
h4,
h5,
h6,
p {
  line-height: 1.4;
  margin-bottom: 0 !important;
}

a {
  outline: none !important;
}
a:hover {
  color: rgb(184, 137, 96) !important;
}

.banner-main-title-md-dark-italic {
  font-size: 3rem;
  line-height: 1;
  text-transform: uppercase;
  color: #202f45cc;
}

.highlighted-italic {
  color: #bd9979;
  font-style: italic;
}
.just-highlighted {
  color: #c28442;
}
.italic-text {
  font-style: italic;
}

/* =====================================================================
   LAYOUT UTILITIES
   ===================================================================== */
.ast-container,
.ast-container-fluid {
  margin-left: auto;
  margin-right: auto;
  padding-left: 10px;
  padding-right: 10px;
}

#page #content {
  background-color: #f8f7f3;
  padding-top: 5vh;
}
/* header.entry-header {
  padding-top: 80px;
} */

.page-section {
  padding: 2rem 0rem 0rem 0rem !important;
}
.page-section-double {
  padding: 4rem 0rem 0rem 0rem !important;
}

.line-accent {
  width: 40%;
  padding: 0.5px;
  background-color: #bd9979;
}

/* ASTRA OVERRIDE */
@media (min-width: 1200px) {
  .ast-plain-container.ast-no-sidebar #primary {
    margin-top: 0px;
    margin-bottom: 0px;
  }
}
/* =====================================================================
   HEADER
   ===================================================================== */
.site-header {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 9999;
  transition: transform 0.3s ease;
  will-change: transform;
  backface-visibility: hidden;
}

header.site-header .site-branding {
  padding: 0.3rem;
}
header.site-header .site-branding .site-logo-img {
  padding: 0;
}
header .menu-item.current-menu-item a {
  color: #b88960 !important;
}

/* =====================================================================
   FOOTER
   ===================================================================== */
.footer-brand-lg-img {
  width: 100%;
}

/* =====================================================================
   CART ICON
   ===================================================================== */

/* Hide Astra SVG icon, preserve element holding count */
.ast-header-woo-cart .ast-addon-cart-wrap .ast-icon-shopping-bag svg,
.ast-header-woo-cart .ast-addon-cart-wrap .ast-icon-shopping-bag .ast-icon {
  display: none !important;
}

/* Custom bag icon */
.ast-header-woo-cart .ast-addon-cart-wrap {
  background-image: url("/wp-content/uploads/2025/11/ritistudio-bag.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  width: 30px;
  height: 30px;
  position: relative;
  border: 0;
}

.ast-header-woo-cart .cart-container {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Badge */
.ast-header-woo-cart .ast-icon-shopping-bag::after {
  content: attr(data-cart-total);
  position: absolute;
  top: -6px;
  right: -6px;
  background: #e3c9ae !important;
  color: #fff;
  font-size: 15px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* Mini cart widget */
.widget.woocommerce.widget_shopping_cart {
  width: 400px;
  border-radius: 3px;
  box-shadow:
    rgba(0, 0, 0, 0.12) 0px 1px 3px,
    rgba(0, 0, 0, 0.24) 0px 1px 2px;
}
.widget.woocommerce.widget_shopping_cart .widget_shopping_cart_content {
  background: #f8f7f3;
}
.woocommerce-js ul.product_list_widget li img {
  border: 1px solid #e3c9ae;
  padding: 3px;
}

/* =====================================================================
   SEARCH
   ===================================================================== */
.woocommerce-product-search[role="search"] {
  display: flex;
  align-items: center;
  width: 60%;
  margin-left: auto;
  margin-right: 0;
  /* padding: 1.5rem 0; */
  border: 1px solid #c4a47a;
  border-radius: 100px;
  background: transparent;
  gap: 0;
  overflow: hidden;
  transition: border-color 0.25s ease;
}
.woocommerce-product-search[role="search"]:focus-within {
  border-color: #a67324;
}
.woocommerce-product-search[role="search"] input.search-field {
  flex: 1;
  border: none;
  outline: none;
  background: transparent;
  font-size: 11px;
  letter-spacing: 2px;
  color: #202f45;
  padding: 0 6px 0 18px;
  text-transform: uppercase;
}
.woocommerce-product-search[role="search"] input.search-field::placeholder {
  color: #202f45cc;
  opacity: 0.9;
  font-weight: 400;
  letter-spacing: 2px;
  font-size: 10px;
}
.woocommerce-product-search[role="search"] button[type="submit"] {
  flex-shrink: 0;
  border: none;
  background: #a67324;
  border-radius: 100px;
  margin: 3px;
  padding: 0 18px;
  height: 34px;
  cursor: pointer;
  color: #fff;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.2s ease;
}
.woocommerce-product-search[role="search"] button[type="submit"]:hover {
  background: #a67324;
}

/* Inline search + sorting row */
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering,
.wc-search-inline {
  display: inline-block !important;
  vertical-align: middle;
  margin-right: 20px;
}

p.woocommerce-result-count {
  font-size: 10px !important;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #8a6240 !important;
  background-color: #f0e4d0;
  padding: 6px 12px;
  border-radius: 100px;
  margin: 0 !important;
  border: 1px solid #c4a47a;
  font-weight: 800;
  display: inline-block;
}
.wc-search-inline input {
  padding: 10px 14px;
  border: 1px solid #ddd;
  border-radius: 8px;
  width: 220px;
}
#wc-ajax-results {
  position: absolute;
  background: #fff;
  width: 220px;
  border: 1px solid #eee;
  border-radius: 8px;
  margin-top: 5px;
  z-index: 99999;
}

/* =====================================================================
   GLOBAL PRODUCT CARDS
   ===================================================================== */

/* Hover image swap */
.woocommerce ul.products li.product .woocommerce-loop-product__link {
  position: relative;
  display: block;
  overflow: hidden;
}
.woocommerce ul.products li.product .wp-post-image {
  transition:
    opacity 0.6s cubic-bezier(0.4, 0, 0.2, 1),
    filter 0.6s cubic-bezier(0.4, 0, 0.2, 1),
    transform 0.7s cubic-bezier(0.4, 0, 0.2, 1);
}
.rt-hover-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transform: scale(1.04);
  transition:
    opacity 0.6s cubic-bezier(0.4, 0, 0.2, 1) 0.15s,
    transform 0.7s cubic-bezier(0.4, 0, 0.2, 1) 0.15s;
  z-index: 1;
}
.woocommerce ul.products li.product:hover .wp-post-image {
  opacity: 0;
  filter: blur(5px);
  transform: scale(1.04);
}
.woocommerce ul.products li.product:hover .rt-hover-image {
  opacity: 1;
  transform: scale(1);
}
.products .product {
  border-radius: 3px;
  margin: 0 !important;
}

.woocommerce ul.products,
.woocommerce-page ul.products {
  gap: 35px;
}

.product .woocommerce-loop-product__title {
  font-size: 1.5rem !important;
  padding-top: 1rem !important;
}

.astra-shop-summary-wrap .price {
  padding-bottom: 0.5rem;
  font-size: 1.2rem !important;
  color: #b88960 !important;
  margin-bottom: 0 !important;
}
.woocommerce-js ul.products li.product .price,
.woocommerce-page ul.products li.product .price {
  font-size: 1.2rem !important;
  color: #b88960 !important;
}
.astra-shop-summary-wrap .price bdi {
  display: flex;
  gap: 3px;
}
.astra-shop-summary-wrap .price bdi .woocommerce-Price-currencySymbol {
  font-weight: 100;
}

.ast-woo-product-category {
  background-color: #b88960;
  width: max-content;
  padding: 3px 8px;
  border: 1px solid #ffffff;
  border-radius: 8px;
  color: #ffffff;
}

.product-card-categories {
  display: flex;
  gap: 10px;
}
.product-card-categories .product-card-category {
  background-color: #ffffff;
  color: #a67324;
  padding: 3px 5px;
  font-size: 8px;
  border-radius: 3px;
  font-weight: 600;
  letter-spacing: 1.2px;
  border: 1px solid #e3c9ae;
}

.woocommerce-js div.product .product_title {
  margin: 0 0 0.3em 0 !important;
}

/* =====================================================================
   BUTTONS
   ===================================================================== */
.button {
  font-size: 14px !important;
  padding: 10px 3px;
}

.button.secondary-button {
  background-color: transparent !important;
  border: 1px solid #b88960 !important;
  color: #b88960 !important;
  text-transform: uppercase !important;
  letter-spacing: 1.5px !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  padding: 11px 10px !important;
  border-radius: 3px !important;
  transition:
    background-color 0.25s ease,
    color 0.25s ease !important;
  display: block;
  text-align: center;
}
.button.secondary-button:hover {
  background-color: #b88960 !important;
  color: #fff !important;
}

.custom-product-buttons {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  margin-top: 4px;
}
.custom-product-buttons .custom-add-to-cart-btn,
.custom-product-buttons .button.secondary-button {
  width: 50% !important;
  text-align: center;
  font-size: 8px !important;
}
.custom-product-buttons .custom-add-to-cart-btn a,
.custom-product-buttons .custom-add-to-cart-btn button {
  width: 100% !important;
  margin-top: 0 !important;
  background-color: #a67324 !important;
  color: #fff !important;
  border: 1px solid #a67324 !important;
  text-transform: uppercase !important;
  letter-spacing: 1.5px !important;
  font-size: 8px !important;
  font-weight: 600 !important;
  padding: 11px 10px !important;
  border-radius: 3px !important;
  transition:
    background-color 0.25s ease,
    border-color 0.25s ease,
    color 0.25s ease !important;
  display: block;
}
.custom-product-buttons .custom-add-to-cart-btn a:hover,
.custom-product-buttons .custom-add-to-cart-btn button:hover {
  background-color: transparent !important;
  border-color: #a67324 !important;
  color: #a67324 !important;
}
.custom-product-buttons .custom-add-to-cart-btn a.added {
  background-color: #e3c9ae !important;
  border-color: #b88960 !important;
  color: #b88960 !important;
}

.woocommerce-js a.button.added::after {
  content: "\e017";
  position: absolute;
  font-size: 10px;
}

.btn-border-white-transparent {
  padding: 10px 20px;
  font-size: 1rem;
  border: 1px solid #fff;
  color: white;
  width: 60%;
  border-radius: 3px;
}
.btn-border-accent-transparent {
  padding: 10px 20px;
  font-size: 1rem;
  border: 1px solid #e3c9ae;
  color: #c28442;
  width: 20%;
  border-radius: 3px;
  display: inline-block;
}

@media (max-width: 768px) {
  .custom-product-buttons {
    flex-direction: column;
  }
  .custom-product-buttons .custom-add-to-cart-btn,
  .custom-product-buttons .custom-add-to-cart-btn a,
  .custom-product-buttons .button.secondary-button {
    width: 100% !important;
    text-align: center;
  }
}

/* =====================================================================
   NOTIFICATIONS
   ===================================================================== */
.ast-shop-product-out-of-stock {
  top: 5%;
  left: unset !important;
  right: 5% !important;
  bottom: unset !important;
  padding: 3px 8px !important;
  width: max-content;
  background-color: #a23548 !important;
  border-radius: 12px;
  font-size: 8px;
  color: white;
  font-weight: 300 !important;
}

/* =====================================================================
   HOME PAGE — VIDEO BACKGROUND
   ===================================================================== */
.video-background {
  position: relative;
  width: 100%;
  height: 100vh;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 0px 0px 12px 12px;
}
.video-background video {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: translate(-50%, -50%);
}
.video-overlay {
  position: relative;
  z-index: 2;
  text-align: center;
  color: white;
  width: 100%;
  font-size: 2rem;
  padding: 1.5rem;
}
.video-overlay p {
  margin: 0;
}

@media (max-width: 768px) {
  .video-background {
    height: 70vh;
  }
}

/* =====================================================================
   HOME PAGE — BANNER
   ===================================================================== */
.hero-banner-sub-wrap {
  position: relative;
}
.hero-banner-sub-wrap::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    to right,
    rgba(227, 201, 174, 0.17) 0%,
    rgba(24, 24, 24, 0.19) 100%
  );
  z-index: 2;
  border-radius: 0px 0px 12px 12px;
}

.home-banner-title-wrap {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
.home-banner-motto-wrap {
  display: flex;
  justify-content: space-between;
  border-top: 1px solid #fff;
}
.banner-motto {
  font-size: 1.5rem;
}
.banner-cta-details-btn-wrap {
  width: 30%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.banner-main-title {
  font-size: 8rem;
  line-height: 1;
  text-transform: uppercase;
  background-color: #ffffff;
  color: #fff7ed;
  -webkit-background-clip: text;
  -moz-background-clip: text;
  background-clip: text;
}

.banner-details {
  font-size: 1rem;
  text-align: left;
  padding: 12px 0px;
}

/* =====================================================================
   HOME PAGE — CATEGORIES
   ===================================================================== */
.section-title {
  font-size: 3rem;
  color: #202f45cc;
  font-weight: 300;
  line-height: 1.2;
}
.category-section-head-des {
  font-size: 1rem;
  margin: 0 auto;
  padding: 1rem 0rem;
}
.product-category-header {
  text-align: center;
  padding: 2.5rem 0rem 3rem 0rem;
}

.woocommerce-product-categories-wrapper {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(4, 1fr);
  gap: 5px;
}
.product-category-item {
  position: relative;
}
.product-category-item.category-1 {
  grid-row: span 4 / span 4;
}
.product-category-item.category-2 {
  grid-row: span 2 / span 2;
}
.product-category-item.category-3 {
  grid-row: span 2 / span 2;
  grid-column-start: 2;
  grid-row-start: 3;
}
.product-category-item.category-4 {
  grid-row: span 4 / span 4;
  grid-column-start: 3;
  grid-row-start: 1;
}

.product-cat-sub-wrap {
  border-radius: 12px;
  padding: 10px;
}
.category-img {
  width: 100%;
  height: 100%;
  position: absolute;
  bottom: 0;
  top: 0;
  left: 0;
  right: 0;
  object-fit: cover;
}
.product-category-item-content {
  padding: 10rem 1rem;
}
.product-details-overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: flex-start;
  flex-direction: column;
  bottom: 0;
  top: 0;
  left: 0;
  right: 0;
  background: linear-gradient(to right, rgb(0 0 0 / 14%) 0%, #93745414 100%);
}
.product-overlay-content {
  padding: 1rem;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.category-title {
  font-size: 2rem;
  color: #fff;
  line-height: 1;
  margin-bottom: 0 !important;
  position: relative;
  width: max-content;
  font-weight: 100;
}
.category-title::before {
  content: "";
  position: absolute;
  width: 70%;
  padding: 0.2px;
  background-color: white;
  left: 100%;
  top: 50%;
  transform: translateY(-50%);
  margin-left: 5px;
}
.category-description {
  color: #fff;
  font-size: 1.2rem;
  font-style: italic;
  text-align: right;
}

@media (max-width: 768px) {
  .category-title {
    font-size: 1.8rem;
  }
  .woocommerce-product-categories-wrapper {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
  }
  .product-category-item {
    grid-column: auto !important;
    grid-row: auto !important;
    width: 100%;
  }
}

/* =====================================================================
   HOME PAGE — MOST LOVED
   ===================================================================== */
.most-loved-product-wrap {
  position: relative;
}
.most-loved-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 2rem 0rem;
}
.most-love-title {
  position: relative;
  width: max-content;
}
.most-loved-details {
  width: 30%;
}

.most-loved-product-wrap .products {
  display: flex !important;
}
.most-loved-product-wrap .products .product {
  width: 20% !important;
  border-radius: 3px;
  /* padding: 8px !important; */
}

.slide-controls {
  display: flex;
  justify-content: flex-end;
  gap: 0.5em;
  padding: 1.2rem 0rem;
}
.swiper-btn {
  display: flex;
}
.slide-controls .swiper-button-prevs {
  cursor: pointer;
}
.slide-controls img {
  width: 45px;
  height: 45px;
}
.swiper-button-nexts {
  transform: rotate(180deg);
  cursor: pointer;
}

/* =====================================================================
   HOME PAGE — SENSORY STORY BLOCK
   ===================================================================== */
.sensory-story-block-content {
  border-radius: 12px;
  position: relative;
  min-height: 85vh;
}
.sensory-story-block-content::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    to right,
    rgba(227, 201, 174, 0.17) 0%,
    rgba(24, 24, 24, 0.19) 100%
  );
}
.base-banner-img {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 12px;
}
.sensory-story-block-text-content-wrap {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 5%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1rem;
  border-top: 1px solid #fff;
}
.sensory-story-block-title {
  font-size: 1rem;
  line-height: 1.3;
  color: #fff;
  padding: 1rem 0rem;
}
.sensory-story-block-cta-btn {
  padding: 10px 20px;
  border: 1px solid #fff;
  color: #fff;
  border-radius: 3px;
}

/* =====================================================================
   STORE PAGE — LAYOUT
   ===================================================================== */
.ast-left-sidebar #primary {
  border: 0 !important;
  padding-left: 0;
}

body.post-type-archive-product #primary,
body.tax-product_cat #primary {
  width: 100%;
  /* padding-left: 20px; */
}
body.post-type-archive-product #secondary,
body.tax-product_cat #secondary {
  width: 20%;
  position: relative;
  padding: 20px;
  border: 0;
}

.sidebar-main,
body.tax-product_cat #secondary .sidebar-main {
  position: sticky;
  top: 20%;
  padding: 10px 0px;
  border-radius: 12px;
}

@media (max-width: 768px) {
  body.post-type-archive-product #primary,
  body.tax-product_cat #primary {
    width: 100%;
    padding-left: 0px;
  }
  body.post-type-archive-product #secondary,
  body.tax-product_cat #secondary {
    width: 100%;
  }
}

/* =====================================================================
   STORE PAGE — CATEGORIES SIDEBAR
   ===================================================================== */
ul.wc-block-product-categories-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.wc-block-product-categories-list-item {
  border-bottom: none;
}

.wc-block-product-categories-list-item a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 6px 6px 6px 10px;
  border-left: 2px solid transparent;
  text-decoration: none;
  transition:
    border-color 0.2s ease,
    background-color 0.2s ease,
    padding-left 0.2s ease;
}

.wc-block-product-categories-list-item a:hover {
  border-left-color: #a67324;
  background-color: #faf5ef;
  padding-left: 14px;
}

span.wc-block-product-categories-list-item__name {
  color: #202f45;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  transition: color 0.2s ease;
  font-style: italic;
}

.wc-block-product-categories-list-item
  a:hover
  span.wc-block-product-categories-list-item__name {
  color: #a67324;
}

span.wc-block-product-categories-list-item-count {
  display: none;
}

/* nested subcategories */
.wc-block-product-categories-list--depth-1 {
  padding-left: 12px;
}

.wc-block-product-categories-list--depth-1
  .wc-block-product-categories-list-item
  a {
  padding-top: 7px;
  padding-bottom: 7px;
}

.wc-block-product-categories-list--depth-1
  span.wc-block-product-categories-list-item__name {
  font-size: 10px;
  font-weight: 500;
  color: #202f4599;
}

/* =====================================================================
   CATEGORY PAGE HEADER
   ===================================================================== */
.riti-header-search-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 2rem;
  margin-bottom: 1.5rem;
}
.riti-header-search-row .woocommerce-product-search {
}
.woocommerce-products-header {
  margin-bottom: 0;
}
.woocommerce-products-header__title {
  text-transform: uppercase;
  font-size: 2.2rem;
  /* font-style: italic; */
  line-height: 1;
}
.woocommerce-products-header .term-description {
  display: none;
  font-size: 1rem;
  letter-spacing: 1px;
  color: #202f45;

  line-height: 1.8;
}

/* =====================================================================
   BREADCRUMB
   ===================================================================== */
.woocommerce-breadcrumb {
  font-size: 10px !important;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #202f45 !important;
  opacity: 0.5;
  /* margin-bottom: 1.5rem !important; */
}
.woocommerce-breadcrumb a {
  color: #202f45 !important;
  text-decoration: none;
  transition: color 0.2s ease;
}
.woocommerce-breadcrumb a:hover {
  color: #a67324 !important;
  opacity: 1;
}

/* =====================================================================
   STORE PAGE — SORTING
   ===================================================================== */
form.woocommerce-ordering {
  margin-right: 0 !important;
  min-width: 180px;
  position: relative;
  display: inline-block;
}
form.woocommerce-ordering::after {
  content: "";
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a67324' stroke-width='2' stroke-linecap='round'%3E%3Cline x1='3' y1='6' x2='21' y2='6'/%3E%3Ccircle cx='15' cy='6' r='2.5' fill='%23f8f7f3'/%3E%3Cline x1='3' y1='12' x2='21' y2='12'/%3E%3Ccircle cx='8' cy='12' r='2.5' fill='%23f8f7f3'/%3E%3Cline x1='3' y1='18' x2='21' y2='18'/%3E%3Ccircle cx='14' cy='18' r='2.5' fill='%23f8f7f3'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
}
.woocommerce-ordering select.orderby {
  width: 100%;
  appearance: none;
  -webkit-appearance: none;
  border: 1px solid #c4a47a;
  border-radius: 100px;
  background: transparent;
  color: #202f45 !important;
  font-size: 11px;
  letter-spacing: 1px;
  text-transform: uppercase;
  padding: 10px 40px 10px 18px;
  cursor: pointer;
  outline: none;
  transition:
    border-color 0.25s ease,
    color 0.25s ease;
}
.woocommerce-ordering select.orderby:focus,
.woocommerce-ordering select.orderby:hover {
  border-color: #a67324;
  color: #a67324 !important;
}

/* =====================================================================
   STORE PAGE — PAGINATION & LOAD MORE
   ===================================================================== */
.woocommerce-pagination ul.page-numbers {
  display: flex;
  justify-content: flex-end !important;
  gap: 1px;
  padding: 10px 0px;
}
.woocommerce-pagination ul.page-numbers li {
  width: 45px;
  height: 45px;
}
.woocommerce-pagination ul.page-numbers li span.page-numbers,
.woocommerce-pagination ul.page-numbers li a.page-numbers {
  width: 100%;
  height: 100%;
}

#wc-load-more {
  display: block;
  padding: 10px 20px;
  cursor: pointer;
  margin: 40px 0 auto auto;
}
.rt-load-more {
  text-align: center;
  margin: 50px 0;
  display: flex;
  justify-content: flex-end;
}
#rt-load-more-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: transparent;
  color: #202f45;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  text-decoration: none;
  border: 1.5px solid #c4a47a;
  border-radius: 100px;
  padding: 10px 22px 10px 14px;
  transition:
    border-color 0.2s ease,
    color 0.2s ease;
}
#rt-load-more-btn::before {
  content: "";
  display: inline-block;
  width: 22px;
  height: 22px;
  flex-shrink: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M12 2 A10 10 0 1 1 4.5 19' stroke='%23a67324' stroke-width='2' stroke-linecap='round' fill='none'/%3E%3Ccircle cx='4.1' cy='20.5' r='1.2' fill='%23a67324'/%3E%3Ccircle cx='2' cy='17' r='0.8' fill='%23a67324'/%3E%3Cline x1='12' y1='8' x2='12' y2='16' stroke='%23a67324' stroke-width='2' stroke-linecap='round'/%3E%3Cline x1='8' y1='12' x2='16' y2='12' stroke='%23a67324' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  transition: transform 0.3s ease;
}
#rt-load-more-btn:hover {
  border-color: #a67324;
  color: #a67324;
}
#rt-load-more-btn:hover::before {
  transform: rotate(60deg);
}
#rt-load-more-btn.disabled {
  pointer-events: none;
  opacity: 0.4;
}

@media (max-width: 768px) {
  .woocommerce-pagination ul.page-numbers li {
    width: 40px;
    height: 40px;
  }
}

/* =====================================================================
   SINGLE PRODUCT PAGE — GALLERY
   ===================================================================== */
.riti-product-layout {
  display: flex;
  gap: 5rem;
}
@media (max-width: 768px) {
  .riti-product-layout {
    display: flex;
    flex-direction: column;
  }
}
/* Flex row: thumbs left, main image right */
.woocommerce-product-gallery {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start;
  gap: 5px;
}

/* Thumb column on left */
.woocommerce-product-gallery .flex-control-nav.flex-control-thumbs {
  order: -1;
  display: flex !important;
  flex-direction: column;
  width: 75px;
  flex-shrink: 0;
  gap: 4px;
  margin: 0;
  padding: 0;
  overflow: hidden;
  zoom: unset;
}
@media (max-width: 932px) {
  .woocommerce-product-gallery {
    /* display: flex !important; */
    flex-direction: column-reverse !important;
    align-items: flex-start;
    gap: 5px;
  }
  .woocommerce-product-gallery .flex-control-nav.flex-control-thumbs {
    flex-direction: row;
  }
}
.woocommerce-product-gallery .flex-control-thumbs li {
  width: 100% !important;
  float: none;
  margin: 0;
  list-style: none;
}

.woocommerce-product-gallery .flex-control-thumbs li img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 12px;
}

/* Main image viewport — fill remaining width */
.woocommerce-product-gallery .flex-viewport {
  flex: 1;
  min-width: 0;
  overflow: hidden;
}

/* Reduce main image height */
.woocommerce-product-gallery__image {
  position: relative;
}
.woocommerce-product-gallery__image::after {
  content: "";
  position: absolute;
  inset: 0;
  box-shadow: inset 0 0 60px 20px rgba(248, 247, 243, 0.95);
  pointer-events: none;
  z-index: 1;
}
.woocommerce-product-gallery__image img {
  max-height: 600px;
  width: 100%;
  object-fit: cover;
  border-radius: 12px;
}

/* =====================================================================
   SINGLE PRODUCT PAGE — SUMMARY
   ===================================================================== */
.single-product #primary {
  margin: 0;
}
.single-product .summary .product_title.entry-title {
  font-weight: 300 !important;
  font-size: 2rem;
  margin-bottom: 0 !important;
}
.single-product .summary .price {
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  padding-bottom: 1rem;
  color: #b88960 !important;
}
.single-product .summary .price bdi {
  display: flex;
  gap: 5px;
  align-items: center;
}
.added_to_cart.wc-forward {
  display: none !important;
}
.single-product .summary button[name="add-to-cart"] {
  width: 90% !important;
  margin-bottom: 0 !important;
  background-color: #a67324 !important;
  color: #fff !important;
  border: 1px solid #a67324 !important;
  text-transform: uppercase !important;
  letter-spacing: 2px !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  padding: 15px 24px !important;
  border-radius: 3px !important;
  transition:
    background-color 0.3s ease,
    transform 0.15s ease !important;
}
.single-product .summary button[name="add-to-cart"]:hover {
  background-color: transparent !important;
  border-color: #a67324 !important;
  color: #a67324 !important;
  transform: translateY(-1px);
}
.single-product .summary button[name="add-to-cart"]:active {
  transform: translateY(0);
}
.single-product .summary .cart {
  display: flex;
  /* flex-direction: column; */
  justify-content: flex-start;
  align-items: flex-start;
}
.single-product .woocommerce-tabs.wc-tabs-wrapper {
  margin: 0;
}

/* =====================================================================
   SINGLE PRODUCT PAGE — TABS AS ACCORDION
   ===================================================================== */
.woocommerce-tabs.wc-tabs-wrapper ul.wc-tabs {
  display: none !important;
}
.woocommerce-tabs.wc-tabs-wrapper .woocommerce-Tabs-panel {
  display: block !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.woocommerce-tabs.wc-tabs-wrapper .riti-accordion-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 0;
  border-top: 1px solid #e3c9ae;
  cursor: pointer;
  font-size: 0.7rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #202f45cc;
  font-weight: 400;
  user-select: none;
  margin: 0 !important;
}
.woocommerce-tabs.wc-tabs-wrapper .riti-accordion-header::after {
  content: "+";
  font-size: 1.4rem;
  font-weight: 200;
  color: #bd9979;
  line-height: 1;
  flex-shrink: 0;
}
.woocommerce-tabs.wc-tabs-wrapper
  .woocommerce-Tabs-panel.riti-open
  .riti-accordion-header::after {
  content: "\2212";
}
.woocommerce-tabs.wc-tabs-wrapper .riti-accordion-body {
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.4s ease;
}
.woocommerce-tabs.wc-tabs-wrapper .woocommerce-Tabs-panel:last-child {
  border-bottom: 1px solid #e3c9ae;
}
.summary.entry-summary {
  background: #fff7ed;
  padding: 2rem;
  border-radius: 12px;
}
.summary.entry-summary .woocommerce-product-details__short-description {
  padding-bottom: 1rem;
}

.single-product .summary.entry-summary .single-product-category {
  background-color: #ffffff;
  color: #a67324;
  padding: 3px 5px;
  font-size: 8px;
  border-radius: 7px;
  font-weight: 600;
  letter-spacing: 1.2px;
  border: 1px solid #e3c9ae;
  width: max-content;
}

/* =====================================================================
   SINGLE PRODUCT PAGE — QUANTITY
   ===================================================================== */
.entry-summary .quantity {
  display: flex;
  align-items: center;
  border: 1px solid #b88960;
  border-radius: 3px;
}
.entry-summary .qty-btn {
  background: #ffffff00;
  border: 0;
  padding: 8px 12px;
  cursor: pointer;
  font-size: 18px;
  line-height: 1;
  border-radius: 4px;
  user-select: none;
  color: #202f45;
}
.entry-summary .quantity input.qty {
  width: 35px !important;
  text-align: center;
  height: 35px;
  font-size: 16px;
  border: 0;
  background: transparent;
  border-right: 1px solid #b88960;
  border-left: 1px solid #b88960;
}

/* Remove number input spinners */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
input[type="number"] {
  -moz-appearance: textfield;
}

/* =====================================================================
   SINGLE PRODUCT PAGE — CROSS SELLS
   ===================================================================== */
@media (min-width: 992px) {
  .cross-sells-section .sss {
    display: inline-block;
    max-width: 100%;
    margin: 10px auto 0 auto;
    /* padding: 20px; */
    border-radius: 10px;
    vertical-align: top;
  }
}
@media (max-width: 991px) {
  .cross-sells-section .sss {
    border: 1px solid #e3c9ae;
    padding: 20px;
    border-radius: 10px;
  }
}
.cross-sells-section .products .product {
  border-radius: 3px;
}

.cross-sells-section .upsell-title {
  font-family: Georgia, "Times New Roman", serif !important;
  font-weight: 300 !important;
  font-style: italic;
  font-size: 1.3rem !important;
  color: #6b4c2a !important;
  letter-spacing: 0.02em;
  text-transform: none !important;
  display: inline-block;
  padding-bottom: 6px;
  border-bottom: 1.5px solid #b88960;
  margin-bottom: 1.25rem !important;
}

/* =====================================================================
   ABOUT PAGE — BANNER
   ===================================================================== */
.about-banner-section {
  padding: 10px;
  /* padding-top: calc(var(--header-height, 70px) + 1.5rem); */
  background: #f8f7f3;
}

.about-banner-content-wrap {
  /* background: #fff7ed; */
  display: flex;
  flex-direction: column;
  min-height: calc(100vh - var(--header-height, 70px) - 3rem);
  overflow: hidden;
}
.crafts-section-content {
  position: relative;
}
.craft-section-text-wrap {
  position: absolute;
  top: 50%;
  z-index: 2;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 3rem;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.about-banner-text-area {
  display: flex;
  align-items: flex-start;
  text-align: center;
  padding: 3rem 10px 2.5rem 10px;
  gap: 1.75rem;
  flex-shrink: 0;
  justify-content: space-between;
}

.about-banner-eyebrow {
}

.about-banner-eyebrow span {
  font-size: 0.58rem;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: #202f4555;
}

.about-banner-icon {
  opacity: 0.55;
}

.about-banner-title {
  font-size: 2.5rem;
  font-weight: 400;
  line-height: 1;
  background-image: url(/wp-content/uploads/2025/12/restore-ritistudio-candles-scaled.webp);
  background-size: cover;
  background-position: center;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.crafts-section-title {
  font-size: 10rem !important;
}
.about-banner-center-bio {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  max-width: 70%;
}

.banner-about-sub-head {
  font-size: 1.2rem;
  line-height: 1.2;
  color: #202f45cc;
  text-transform: none;
  letter-spacing: 0;
  font-style: normal;
  text-align: justify;
}

.about-banner-tagline {
  font-size: 0.72rem;
  font-style: italic;
  color: #202f4555;
}

.about-banner-img-full {
  height: 100vh;
  width: 100%;
  /* margin: 0 2rem 2.5rem; */
  border-radius: 25px;
  overflow: hidden;
  position: relative;
}

.about-banner-img-full img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.about-banner-overlay-imgs-main-wrap {
  width: 300px;
  height: 350px;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.about-banner-overlay-imgs-cont {
  position: relative;
  width: 100%;
  height: 100%;
}

.ov-polaroid {
  position: absolute;
  inset: 0;
  background: #fff;
  padding: 10px 10px 34px 10px;
  box-shadow:
    0 6px 24px rgba(0, 0, 0, 0.28),
    0 1px 5px rgba(0, 0, 0, 0.12);
  opacity: 0;
  transition: opacity 0.9s ease-in-out;
}

.ov-polaroid.ov-active {
  opacity: 1;
}

.ov-polaroid img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.company-bio-detail {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.company-bio-detail p {
  font-size: 0.82rem;
  line-height: 1.85;
  color: #202f4580;
}

/* =====================================================================
   ABOUT PAGE — HOW IT'S MADE SLIDER
   ===================================================================== */
.how-its-made-slider {
  padding: 3rem 0;
  background-color: #fff7ed;
}
.how-its-made-slide-content {
  height: 100%;
  display: flex;
  align-items: center;
  padding: 10px;
}
.how-its-made-slider .swiper {
  width: 100%;
  height: 85vh;
}
.how-its-made-slider .swiper-scrollbar {
  width: 50% !important;
  margin: 0 auto;
}

.swiper-navigation-controls {
  display: flex;
  justify-content: flex-end;
  gap: 0.5em;
  padding: 1.2rem 0rem;
}
.swiper-button-nextz {
  transform: rotate(180deg);
  cursor: pointer;
}

.beewax-images-wrapper {
  display: flex;
  align-items: flex-start;
  gap: 3rem;
  width: 100%;
  padding: 2rem 0;
}

.beewax-step {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
}

/* Dotted line — positioned at image vertical center */
.beewax-step:not(:last-child)::after {
  content: "";
  position: absolute;
  left: calc(100% + 0.3rem);
  top: calc(2.4rem + 200px);
  transform: translateY(-50%);
  width: calc(3rem - 0.8rem);
  height: 2px;
  background-image: repeating-linear-gradient(
    to right,
    #bd9979 0px,
    #bd9979 5px,
    transparent 5px,
    transparent 11px
  );
  z-index: 10;
  pointer-events: none;
}

/* Arrowhead */
.beewax-step:not(:last-child)::before {
  content: "";
  position: absolute;
  left: calc(100% + 2.3rem);
  top: calc(2.4rem + 200px);
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 7px solid #bd9979;
  z-index: 11;
  pointer-events: none;
}

/* Label + number above card */
.beewax-step-label {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  font-size: 0.6rem;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: #bd9979;
  margin-bottom: 0.85rem;
  width: 100%;
}

.beewax-step-num {
  font-size: 0.6rem;
  font-weight: 700;
  color: rgba(189, 153, 121, 0.45);
  letter-spacing: 0.1em;
  position: static;
  display: inline;
}

/* Polaroid card = img-wrap */
.beewax-step-img-wrap {
  position: relative;
  width: 100%;
  height: 400px;
  overflow: hidden;
  background: #fffdf7;
  padding: 8px;
  box-shadow:
    0 4px 8px rgba(0, 0, 0, 0.1),
    0 14px 36px rgba(0, 0, 0, 0.22);
  transition:
    box-shadow 0.35s ease,
    transform 0.35s ease;
  box-sizing: border-box;
}

.beewax-step:nth-child(odd) .beewax-step-img-wrap {
  transform: rotate(-2deg);
}

.beewax-step:nth-child(even) .beewax-step-img-wrap {
  transform: rotate(2deg);
}

.beewax-step:hover .beewax-step-img-wrap {
  transform: rotate(0deg) scale(1.02);
  box-shadow:
    0 8px 16px rgba(0, 0, 0, 0.14),
    0 24px 52px rgba(0, 0, 0, 0.26);
}

.beewax-step-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  opacity: 0.93;
  transition:
    transform 0.7s ease,
    opacity 0.5s ease;
}

.beewax-step:hover .beewax-step-img-wrap img {
  transform: scale(1.04);
  opacity: 1;
}

.beewax-step-img-wrap::after {
  display: none;
}

/* Text below card — always visible */
.beewax-step-text {
  margin-top: 1.25rem;
  font-size: 0.78rem;
  line-height: 1.75;
  color: rgba(255, 247, 237, 0.55);
  opacity: 1;
  transform: none;
  transition: none;
  width: 100%;
  text-align: left;
}

@media (max-width: 900px) {
  .beewax-images-wrapper {
    gap: 2rem;
  }

  .beewax-step-img-wrap {
    height: 320px;
  }

  .beewax-step:not(:last-child)::after {
    top: calc(2.4rem + 160px);
    width: calc(2rem - 0.8rem);
  }

  .beewax-step:not(:last-child)::before {
    top: calc(2.4rem + 160px);
    left: calc(100% + 1.3rem);
  }
}

@media (max-width: 640px) {
  .beewax-images-wrapper {
    overflow-x: auto;
    flex-wrap: nowrap;
    align-items: flex-start;
    padding-bottom: 1.5rem;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
  }

  .beewax-step {
    flex: 0 0 75vw;
    max-width: 280px;
    scroll-snap-align: start;
  }

  .beewax-step-img-wrap {
    height: 320px;
  }
}

/* Swiper pagination as text */
.swiper-pagination-bullet::before,
.swiper-pagination-bullet {
  background: none !important;
  width: auto !important;
  height: auto !important;
  border-radius: 0 !important;
}
.swiper-pagination {
  position: unset !important;
  width: max-content !important;
}
.swiper-pagination-bullet {
  font-size: 1.8rem;
  font-style: italic;
}
.swiper-pagination-bullet.swiper-pagination-bullet-active {
  color: #202f45cc;
}

/* =====================================================================
   CONTACT PAGE
   ===================================================================== */

/* Hero */
.contact-form-section {
  padding: 80px 10px;
  background: #f8f7f3;
}
.contact-form-section-content {
  display: flex;
  height: 80vh;
  width: 100%;
  align-items: center;
  gap: 2rem;
}
.contact-form-rcol,
.contact-form-wrap {
  width: 50%;
  height: 100%;
  justify-content: center;
}
.contact-form-rcol img {
  width: 100%;
  height: 100%;
  object-fit: cover;  border-radius: 12px;
}
.contact-rcol-enquire {
  font-size: clamp(4rem, 10vw, 9rem);
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.03em;
  color: #1a1a1a;
  margin: 0;
}
.faq-content {
  width: 100%;
  margin-top: 2rem;
}
.faq-item {
  border-bottom: 1px solid #e0d6cc;
}
.faq-question {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: none;
  border: none;
  padding: 1.1rem 0;
  font-size: 1rem;
  font-weight: 600;
  color: #1a1a1a;
  cursor: pointer;
  text-align: left;
  gap: 1rem;
}
.faq-icon {
  font-size: 1.4rem;
  font-weight: 300;
  line-height: 1;
  transition: transform 0.3s ease;
  flex-shrink: 0;
}
.faq-question[aria-expanded="true"] .faq-icon {
  transform: rotate(45deg);
}
.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s ease;
}
.faq-answer p {
  padding: 0 0 1.1rem;
  margin: 0;
  font-size: 0.92rem;
  color: #555;
  line-height: 1.6;
}
.contact-form-wrap {
  display: flex;
  align-items: center;
  background: #fff7ed;
  padding: 1rem;
  border-radius: 12px;
}
.contact-form-head {
  padding-bottom: 1.5rem;
}
/* =====================================================================
   ABOUT PAGE — CRAFT FLIP CARDS
   ===================================================================== */
.craft-cards-wrap {
  display: flex;
  position: relative;
  gap: 5px;
  padding: 60px 0;
  justify-content: space-between;
}

.craft-card {
  perspective: 1200px;
  width: 24%;
  min-height: 420px;
}

.craft-card-inner {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 420px;
  transform-style: preserve-3d;
}

.craft-card-front,
.craft-card-back {
  position: absolute;
  inset: 0;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

.craft-card-front {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f5f0eb;
  padding: 40px 32px;
  background-size: cover;
  background-position: center;
}

.craft-card-front::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg width='200' height='200' viewBox='0 0 200 200' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M127.233 110.308C145.856 117.358 170.923 116.073 186.883 107.25L200 100L186.883 92.7498C170.923 83.9274 145.857 82.6428 127.233 89.6916L113.267 94.9781C113.18 94.6967 113.075 94.4251 112.972 94.1516L126.546 88.0321C144.7 79.8479 161.515 61.2149 166.563 43.6907L170.711 29.2888L156.309 33.4367C138.785 38.4842 120.152 55.3 111.967 73.4535L106.057 86.5642C105.784 86.4316 105.511 86.3 105.229 86.1851L110.308 72.7665C117.357 54.1433 116.072 29.0767 107.25 13.1163L100 0L92.7498 13.1167C83.9274 29.0772 82.6428 54.1433 89.6916 72.767L94.7707 86.1856C94.4884 86.3005 94.2154 86.4321 93.9428 86.5646L88.0321 73.4539C79.8479 55.3005 61.2149 38.4846 43.6907 33.4372L29.2888 29.2893L33.4367 43.6912C38.4842 61.2149 55.3 79.8484 73.4535 88.0326L87.0274 94.1521C86.9247 94.4256 86.8191 94.6972 86.733 94.9786L72.7665 89.6921C54.1433 82.6428 29.0767 83.9279 13.1163 92.7502L0 100L13.1167 107.25C29.0772 116.073 54.1433 117.358 72.767 110.308L87.3861 104.775C87.5014 105.027 87.6172 105.28 87.747 105.524L73.454 111.968C55.3005 120.152 38.4847 138.785 33.4372 156.309L29.2893 170.711L43.6912 166.563C61.2149 161.516 79.8484 144.7 88.0326 126.547L94.6656 111.834C94.9107 111.936 95.1651 112.02 95.4172 112.109L89.6921 127.234C82.6428 145.857 83.9279 170.924 92.7502 186.884L100 200.001L107.251 186.884C116.073 170.924 117.358 145.858 110.309 127.234L104.583 112.108C104.835 112.02 105.09 111.936 105.335 111.833L111.968 126.546C120.152 144.7 138.785 161.515 156.309 166.563L170.711 170.711L166.563 156.309C161.516 138.785 144.7 120.152 126.547 111.967L112.253 105.524C112.383 105.28 112.499 105.027 112.614 104.774L127.233 110.308Z' fill='%23bd9979'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M87.7644 94.9318C87.3469 92.9973 87.8899 90.8969 89.3934 89.3934C90.8969 87.8899 92.9973 87.3469 94.9318 87.7644C96.0046 86.1012 97.8737 85 100 85C102.126 85 103.995 86.1012 105.068 87.7644C107.003 87.3469 109.103 87.8899 110.607 89.3934C112.11 90.8969 112.653 92.9973 112.236 94.9318C113.899 96.0046 115 97.8737 115 100C115 102.126 113.899 103.995 112.236 105.068C112.653 107.003 112.11 109.103 110.607 110.607C109.103 112.11 107.003 112.653 105.068 112.236C103.995 113.899 102.126 115 100 115C97.8737 115 96.0046 113.899 94.9318 112.236C92.9973 112.653 90.8969 112.11 89.3934 110.607C87.8899 109.103 87.3469 107.003 87.7644 105.068C86.1012 103.995 85 102.126 85 100C85 97.8737 86.1012 96.0046 87.7644 94.9318ZM95.7183 104.274C98.0718 106.628 101.888 106.628 104.241 104.274C106.595 101.921 106.595 98.1049 104.241 95.7514C101.888 93.3979 98.0718 93.3979 95.7183 95.7514C93.3648 98.1049 93.3648 101.921 95.7183 104.274Z' fill='%23bd9979'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 72%;
  opacity: 0.08;
  pointer-events: none;
}

.craft-card-title {
  font-size: 1.4rem;
  text-align: center;
  color: #2a2a2a;
  line-height: 1.4;
}

.craft-card-back {
  transform: rotateY(180deg);
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  padding: 32px;
}

.craft-card-back::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.38);
}

.craft-card-btn {
  position: relative;
  z-index: 1;
  display: inline-block;
  padding: 12px 32px;
  background: #fff;
  color: #2a2a2a;
  text-decoration: none;
  font-size: 0.8rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  transition:
    background 0.3s,
    color 0.3s;
}

.craft-card-btn:hover {
  background: #bd9979;
  color: #fff;
}

@media (max-width: 900px) {
  .craft-cards-wrap {
    flex-wrap: nowrap;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    padding: 40px 0;
    gap: 10px;
  }

  .craft-card {
    width: 80vw;
    flex-shrink: 0;
    scroll-snap-align: center;
  }
}

/* =====================================================================
   SINGLE RTCRAFTS — BANNER
   ===================================================================== */
.rtcrafts-banner {
  position: relative;
  width: 100%;
  height: 100vh;
  min-height: 500px;
  overflow: hidden;
  background-position: center;
  background-size: cover;
}

.rtcrafts-banner-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: stretch;
}
@media (max-width: 932px) {
  .rtcrafts-banner-overlay {
    position: unset;
  }
}
.rtcrafts-banner-left {
  flex: 0 0 50%;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 3.5rem 4rem;
  background-size: cover;
  background-position: center;
}

.rtcrafts-banner-left::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0.1) 0%,
    rgba(0, 0, 0, 0.55) 100%
  );
  pointer-events: none;
}

.rtcrafts-banner-right {
  flex: 0 0 50%;
  background: #fff7ed;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem;
  position: relative;
}

.rtcrafts-banner-right::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg width='200' height='200' viewBox='0 0 200 200' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M127.233 110.308C145.856 117.358 170.923 116.073 186.883 107.25L200 100L186.883 92.7498C170.923 83.9274 145.857 82.6428 127.233 89.6916L113.267 94.9781C113.18 94.6967 113.075 94.4251 112.972 94.1516L126.546 88.0321C144.7 79.8479 161.515 61.2149 166.563 43.6907L170.711 29.2888L156.309 33.4367C138.785 38.4842 120.152 55.3 111.967 73.4535L106.057 86.5642C105.784 86.4316 105.511 86.3 105.229 86.1851L110.308 72.7665C117.357 54.1433 116.072 29.0767 107.25 13.1163L100 0L92.7498 13.1167C83.9274 29.0772 82.6428 54.1433 89.6916 72.767L94.7707 86.1856C94.4884 86.3005 94.2154 86.4321 93.9428 86.5646L88.0321 73.4539C79.8479 55.3005 61.2149 38.4846 43.6907 33.4372L29.2888 29.2893L33.4367 43.6912C38.4842 61.2149 55.3 79.8484 73.4535 88.0326L87.0274 94.1521C86.9247 94.4256 86.8191 94.6972 86.733 94.9786L72.7665 89.6921C54.1433 82.6428 29.0767 83.9279 13.1163 92.7502L0 100L13.1167 107.25C29.0772 116.073 54.1433 117.358 72.767 110.308L87.3861 104.775C87.5014 105.027 87.6172 105.28 87.747 105.524L73.454 111.968C55.3005 120.152 38.4847 138.785 33.4372 156.309L29.2893 170.711L43.6912 166.563C61.2149 161.516 79.8484 144.7 88.0326 126.547L94.6656 111.834C94.9107 111.936 95.1651 112.02 95.4172 112.109L89.6921 127.234C82.6428 145.857 83.9279 170.924 92.7502 186.884L100 200.001L107.251 186.884C116.073 170.924 117.358 145.858 110.309 127.234L104.583 112.108C104.835 112.02 105.09 111.936 105.335 111.833L111.968 126.546C120.152 144.7 138.785 161.515 156.309 166.563L170.711 170.711L166.563 156.309C161.516 138.785 144.7 120.152 126.547 111.967L112.253 105.524C112.383 105.28 112.499 105.027 112.614 104.774L127.233 110.308Z' fill='%23bd9979'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M87.7644 94.9318C87.3469 92.9973 87.8899 90.8969 89.3934 89.3934C90.8969 87.8899 92.9973 87.3469 94.9318 87.7644C96.0046 86.1012 97.8737 85 100 85C102.126 85 103.995 86.1012 105.068 87.7644C107.003 87.3469 109.103 87.8899 110.607 89.3934C112.11 90.8969 112.653 92.9973 112.236 94.9318C113.899 96.0046 115 97.8737 115 100C115 102.126 113.899 103.995 112.236 105.068C112.653 107.003 112.11 109.103 110.607 110.607C109.103 112.11 107.003 112.653 105.068 112.236C103.995 113.899 102.126 115 100 115C97.8737 115 96.0046 113.899 94.9318 112.236C92.9973 112.653 90.8969 112.11 89.3934 110.607C87.8899 109.103 87.3469 107.003 87.7644 105.068C86.1012 103.995 85 102.126 85 100C85 97.8737 86.1012 96.0046 87.7644 94.9318ZM95.7183 104.274C98.0718 106.628 101.888 106.628 104.241 104.274C106.595 101.921 106.595 98.1049 104.241 95.7514C101.888 93.3979 98.0718 93.3979 95.7183 95.7514C93.3648 98.1049 93.3648 101.921 95.7183 104.274Z' fill='%23bd9979'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 190%;
  opacity: 0.08;
  pointer-events: none;
  z-index: 0;
}

.rtcrafts-banner-title {
  position: relative;
  z-index: 1;
  font-size: 3rem;
  color: #ffffffcc;
  font-weight: 300;
  line-height: 1.2;
  text-transform: uppercase;
  letter-spacing: -0.01em;
  max-width: 900px;
}

/* =====================================================================
   SINGLE RTCRAFTS — SPLIT SECTION
   ===================================================================== */
.rtcrafts-split-inner {
  display: flex;
  align-items: stretch;
  flex-direction: column;
}

.rtcrafts-split-gallery {
  flex: 0 0 50%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 4px;
  padding: 4px;
  align-content: start;
}

.rtcrafts-split-gallery-item {
  aspect-ratio: 1;
  overflow: hidden;
}

.rtcrafts-split-gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.5s ease;
}

.rtcrafts-split-gallery-item:hover img {
  transform: scale(1.04);
}

.rtcrafts-split-content {
  flex: 0 0 50%;
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.rtcrafts-split-body {
  font-size: 0.95rem;
  line-height: 1.85;
  color: #2a2a2a;
  padding: 3rem 0;
}

.rtcrafts-split-body p {
  font-size: 1.2rem;
}
.rtcrafts-post-nav {
  display: flex;
  justify-content: space-between;
}
@media (max-width: 900px) {
  .rtcrafts-banner-overlay {
    flex-direction: column;
  }
  .rtcrafts-banner-left,
  .rtcrafts-banner-right {
    flex: none;
    width: 100%;
  }
  .rtcrafts-banner-left {
    flex: 1;
    padding: 2.5rem 2.5rem;
  }
  .rtcrafts-banner-right {
    padding: 2rem;
  }
  .rtcrafts-split-inner {
    flex-direction: column;
  }
  .rtcrafts-split-gallery,
  .rtcrafts-split-content {
    flex: none;
    width: 100%;
  }
  .rtcrafts-split-content {
    padding: 2.5rem 2rem;
  }
}

@media (max-width: 600px) {
  .rtcrafts-banner {
    height: auto;
    min-height: 100vh;
  }
  .rtcrafts-banner-left {
    padding: 2rem 1.5rem;
    min-height: 50vh;
  }
  .rtcrafts-banner-video {
    width: 75%;
  }
  .rtcrafts-split-content {
    padding: 2rem 1.5rem;
  }
}

/* =====================================================================
   CART PAGE — INVOICE DESIGN
   ===================================================================== */
body.woocommerce-cart .entry-title,
body.woocommerce-cart h1.entry-title,
body.woocommerce-cart .ast-page-title-wrap {
  /* display: none !important; */
  font-weight: 400;
  text-transform: uppercase;
}

body.woocommerce-cart .page .entry-header {
  margin-bottom: 0.5em;
}
body.woocommerce-cart #main {
  padding: 90px 0px;
}
body.woocommerce-cart #main {
}
body.woocommerce-cart .entry-content {
  margin-top: 0em;
}
body.woocommerce-cart #page {
  background-image: url("/wp-content/uploads/2026/05/ritiwrapper-scaled.webp");
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
  background-repeat: no-repeat;
}
body.woocommerce-cart #primary {
  width: 100%;
  max-width: 100vw;
  margin-left: auto;
  margin-right: auto;
}
body.woocommerce-cart article.ast-article-single {
  width: 80%;
  margin-left: auto;
  margin-right: auto;
  border-radius: 12px;
}

body.woocommerce-cart .cart_totals.calculated_shipping {
  width: 100%;
}
body.woocommerce-cart .cart_totals.calculated_shipping h2 {
  padding: 0.5rem 1rem !important;
  font-size: 1.8rem !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  font-weight: 400 !important;
  color: #202f45cc !important;
}
body.woocommerce-cart .woocommerce-cart-form .shop_table {
  border: none !important;
  border-collapse: collapse !important;
}
body.woocommerce-cart .woocommerce-cart-form .shop_table th,
body.woocommerce-cart .woocommerce-cart-form .shop_table td {
  border: none !important;
}
body.woocommerce-cart .woocommerce-cart-form .shop_table.shop_table_responsive,
body.woocommerce-cart
  .woocommerce-cart-form
  .shop_table.shop_table_responsive
  th,
body.woocommerce-cart
  .woocommerce-cart-form
  .shop_table.shop_table_responsive
  td {
  border: none !important;
}
body.woocommerce-cart .cart-collaterals table,
body.woocommerce-cart .cart-collaterals table th,
body.woocommerce-cart .cart-collaterals table td {
  border: none !important;
}
body.woocommerce-cart .actions .button[name="update_cart"] {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  padding: 9px 16px !important;
  border-radius: 3px !important;
  border: 1px solid #e3c9ae !important;
  background-color: transparent !important;
  font-size: 10px !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  color: #202f45cc !important;
  cursor: pointer;
  transition:
    border-color 0.2s,
    color 0.2s !important;
}
body.woocommerce-cart .actions .button[name="update_cart"]::before {
  content: "";
  display: inline-block;
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23202f45' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M23 4v6h-6'/%3E%3Cpath d='M1 20v-6h6'/%3E%3Cpath d='M3.51 9a9 9 0 0 1 14.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0 0 20.49 15'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
}
body.woocommerce-cart .actions .button[name="update_cart"]:hover {
  border-color: #b88960 !important;
  color: #b88960 !important;
}
body.woocommerce-cart .actions .button[name="update_cart"]:hover::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23b88960' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M23 4v6h-6'/%3E%3Cpath d='M1 20v-6h6'/%3E%3Cpath d='M3.51 9a9 9 0 0 1 14.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0 0 20.49 15'/%3E%3C/svg%3E");
}
body.woocommerce-cart .wc-proceed-to-checkout {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

body.woocommerce-cart .cart_totals {
  width: 100% !important;
}

body.woocommerce-cart article.ast-article-single {
  border: 1px solid #ddd;
  padding: 1rem;
  background: #fff7ed;
  background: #f8f7f3;
}
body.woocommerce-cart .checkout-button {
  width: 100%;
}
body.woocommerce-cart #primary {
  background-image: url(/wp-content/uploads/2026/05/riti-studio-packaging.webp);
  background-size: cover;
  /* background-position: center left; */
  background-repeat: no-repeat;
  background-attachment: fixed;
}

/* =====================================================================
   CHECKOUT PAGE
   ===================================================================== */

body.woocommerce-checkout #page #content {
  padding-top: 0;
}

body.woocommerce-checkout #primary {
  background: #f8f7f3;
}

body.woocommerce-checkout article.ast-article-single {
  background: transparent;
  border: none;
  padding: 0;
}

/* Page heading */
body.woocommerce-checkout .entry-content > .woocommerce::before,
body.woocommerce-checkout .entry-content > .woocommerce::after {
  display: none;
}
body.woocommerce-checkout main#main {
  display: flex;
  justify-content: center;
  padding: 90px 0px;
}
body.woocommerce-checkout article.page {
  width: 90%;
    border: 1px solid #e3c9ae;
    border-radius: 12px;
}
body.woocommerce-checkout header.entry-header {
  border-bottom:  1px solid #e3c9ae;
  padding: 1rem;
}
body.woocommerce-checkout #main {
}
body.woocommerce-checkout h1.entry-title {
  font-size: 2rem !important;
  font-weight: 400 !important;
  text-transform: uppercase !important;
  letter-spacing: -1px !important;
  color: #202f45 !important;
  line-height: 1 !important;
  margin: 0 !important;
}

/* Two-column checkout layout */
body.woocommerce-checkout .woocommerce {
  display: flex;
  flex-direction: column;
  padding: 1rem;
}
body.woocommerce-checkout article.page .woocommerce-billing-fields .form-row {
  width: 100%;
}
body.woocommerce-checkout form.woocommerce-checkout {
  display: grid;
  grid-template-columns: 3fr 2fr;
  grid-template-rows: auto;
  gap: 0 4rem;
  align-items: start;
}

body.woocommerce-checkout #customer_details {
  grid-column: 1;
  grid-row: 1;
  float: none !important;
  width: 100% !important;
}

body.woocommerce-checkout #order_review_heading {
  display: none !important;
}

body.woocommerce-checkout #order_review {
  grid-column: 2;
  grid-row: 1 / 10;
  float: none !important;
  width: 100% !important;
  position: sticky;
  top: 100px;
  border: 0 !important;
}

body.woocommerce-checkout #order_review::before {
  content: "Your Order";
  display: block;
  font-size: 1rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: #202f45;
  margin-bottom: 1.2rem;
}

/* Section headings */
body.woocommerce-checkout h3 {
  font-size: 1rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 2px !important;
  color: #202f45 !important;
  margin: 2rem 0 1.2rem !important;
  padding: 0 !important;
  border: none !important;
  background: none !important;
}

body.woocommerce-checkout h3:first-child {
  margin-top: 0 !important;
}

/* col2-set billing/shipping split */
body.woocommerce-checkout .col2-set {
  float: none !important;
  width: 100% !important;
}

body.woocommerce-checkout .col2-set .col-1,
body.woocommerce-checkout .col2-set .col-2 {
  float: none !important;
  width: 100% !important;
}

/* Form rows — two fields per row using grid */
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 1.5rem;
}

body.woocommerce-checkout .form-row {
  margin: 0 0 1rem !important;
  padding: 0 !important;
}

body.woocommerce-checkout .form-row.form-row-wide,
body.woocommerce-checkout .form-row.notes,
body.woocommerce-checkout p.form-row-wide {
  grid-column: 1 / -1;
}

/* Labels */
body.woocommerce-checkout .form-row label {
  display: block !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: #202f45 !important;
  margin-bottom: 6px !important;
}

body.woocommerce-checkout .form-row label .required {
  color: #b88960 !important;
}

/* Inputs */
body.woocommerce-checkout .form-row input.input-text,
body.woocommerce-checkout .form-row select,
body.woocommerce-checkout .form-row textarea {
  width: 100% !important;
  border: none !important;
  border-bottom: 1px solid #d0c4b6 !important;
  border-radius: 0 !important;
  background: transparent !important;
  padding: 8px 0 !important;
  font-size: 13px !important;
  letter-spacing: 1px !important;
  color: #202f45 !important;
  outline: none !important;
  box-shadow: none !important;
  transition: border-color 0.2s ease !important;
  -webkit-appearance: none;
}

body.woocommerce-checkout .form-row input.input-text::placeholder {
  color: #202f4580 !important;
  font-size: 12px !important;
  letter-spacing: 1.5px !important;
}

body.woocommerce-checkout .form-row input.input-text:focus,
body.woocommerce-checkout .form-row select:focus {
  border-bottom-color: #b88960 !important;
  box-shadow: none !important;
  outline: none !important;
}

body.woocommerce-checkout .form-row select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23202f45' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 4px center !important;
  padding-right: 24px !important;
  cursor: pointer !important;
}

/* Shipping toggle */
body.woocommerce-checkout #ship-to-different-address {
  margin: 1rem 0 !important;
}

body.woocommerce-checkout #ship-to-different-address label {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  font-size: 9px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  cursor: pointer !important;
}

/* Shipping methods (Delivery section) */
body.woocommerce-checkout #shipping_method {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

body.woocommerce-checkout #shipping_method li {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 0.9rem 0 !important;
  border-bottom: 1px solid #e8e0d6 !important;
}

body.woocommerce-checkout #shipping_method li:first-child {
  border-top: 1px solid #e8e0d6 !important;
}

body.woocommerce-checkout #shipping_method li label {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  font-size: 11px !important;
  letter-spacing: 1px !important;
  color: #202f45 !important;
  cursor: pointer !important;
  flex: 1;
}

body.woocommerce-checkout #shipping_method li input[type="radio"] {
  width: 16px !important;
  height: 16px !important;
  accent-color: #202f45 !important;
  flex-shrink: 0;
}

/* Payment methods */
body.woocommerce-checkout #payment {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
}

body.woocommerce-checkout #payment ul.payment_methods {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
}

body.woocommerce-checkout #payment ul.payment_methods li {
  border-bottom: 1px solid #e8e0d6 !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
  padding: 0.9rem 0 !important;
  background: transparent !important;
}

body.woocommerce-checkout #payment ul.payment_methods li:first-child {
  border-top: 1px solid #e8e0d6 !important;
}

body.woocommerce-checkout #payment ul.payment_methods li label {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  font-size: 11px !important;
  letter-spacing: 1px !important;
  color: #202f45 !important;
  cursor: pointer !important;
  text-transform: none !important;
  font-weight: 400 !important;
}

body.woocommerce-checkout #payment ul.payment_methods li input[type="radio"] {
  accent-color: #202f45 !important;
  width: 16px !important;
  height: 16px !important;
}

body.woocommerce-checkout #payment .payment_box {
  background: #f0e9e0 !important;
  border-radius: 4px !important;
  padding: 1rem !important;
  margin-top: 0.5rem !important;
  font-size: 11px !important;
  color: #202f45cc !important;
}

body.woocommerce-checkout #payment .payment_box::before {
  display: none !important;
}

/* Place order button */
body.woocommerce-checkout #payment #place_order,
body.woocommerce-checkout #payment .place-order input#place_order {
  width: 100% !important;
  background-color: #a67324 !important;
  color: #fff !important;
  border: 1px solid #a67324 !important;
  border-radius: 3px !important;
  padding: 16px 24px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition:
    background-color 0.25s ease,
    border-color 0.25s ease,
    color 0.25s ease !important;
  margin-top: 1.5rem !important;
  display: block !important;
}

body.woocommerce-checkout #payment #place_order:hover {
  background-color: transparent !important;
  border-color: #a67324 !important;
  color: #a67324 !important;
}

/* Order review (right column) */
body.woocommerce-checkout #order_review {
  background: #fff7ed !important;
  padding: 2rem !important;
  border-radius: 4px !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table {
  width: 100% !important;
  border: none !important;
  border-collapse: collapse !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table td {
  border: none !important;
  padding: 0.6rem 0 !important;
  font-size: 11px !important;
  color: #202f45 !important;
  vertical-align: middle !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table thead th {
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: #202f4580 !important;
  padding-bottom: 0.8rem !important;
  border-bottom: 1px solid #e8e0d6 !important;
}

body.woocommerce-checkout
  .woocommerce-checkout-review-order-table
  .cart-subtotal
  td,
body.woocommerce-checkout
  .woocommerce-checkout-review-order-table
  .shipping
  td {
  border-top: 1px solid #e8e0d6 !important;
  font-size: 13px !important;
  letter-spacing: 0.5px !important;
}

body.woocommerce-checkout
  .woocommerce-checkout-review-order-table
  .cart-subtotal
  th,
body.woocommerce-checkout
  .woocommerce-checkout-review-order-table
  .shipping
  th {
  border-top: 1px solid #e8e0d6 !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  color: #202f45cc !important;
}

body.woocommerce-checkout
  .woocommerce-checkout-review-order-table
  .order-total
  th,
body.woocommerce-checkout
  .woocommerce-checkout-review-order-table
  .order-total
  td {
  border-top: 1px solid #202f45 !important;
  padding-top: 1rem !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #202f45 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
}

body.woocommerce-checkout
  .woocommerce-checkout-review-order-table
  .order-total
  .amount {
  font-size: 14px !important;
  font-weight: 900 !important;
}

/* Product rows in order review */
body.woocommerce-checkout
  .woocommerce-checkout-review-order-table
  .cart_item
  td.product-name {
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #202f45 !important;
}

body.woocommerce-checkout
  .woocommerce-checkout-review-order-table
  .cart_item
  td.product-total {
  text-align: right !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table .cart_item {
  border-bottom: 1px solid #f0e9e0 !important;
}

/* Coupon row */
body.woocommerce-checkout .checkout_coupon {
  margin: 1rem 0 !important;
  display: flex !important;
  gap: 0 !important;
}

body.woocommerce-checkout .checkout_coupon input[type="text"] {
  flex: 1 !important;
  border: none !important;
  border-bottom: 1px solid #d0c4b6 !important;
  background: transparent !important;
  padding: 8px 0 !important;
  font-size: 10px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: #202f45 !important;
  outline: none !important;
  border-radius: 0 !important;
}

body.woocommerce-checkout .checkout_coupon .button {
  background-color: #a67324 !important;
  color: #fff !important;
  border: 1px solid #a67324 !important;
  padding: 8px 20px !important;
  font-size: 9px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  border-radius: 2px !important;
  margin-left: 8px !important;
  transition: background 0.2s !important;
}

body.woocommerce-checkout .checkout_coupon .button:hover {
  background-color: transparent !important;
  border-color: #a67324 !important;
  color: #a67324 !important;
}

/* Woo notices */
body.woocommerce-checkout .woocommerce-info {
  background: #f0e9e0 !important;
  border-left-color: #b88960 !important;
  color: #202f45 !important;
  font-size: 11px !important;
  margin-bottom: 1.5rem !important;
}

body.woocommerce-checkout .woocommerce-info a {
  color: #b88960 !important;
  font-size: 11px !important;
}

/* Responsive */
@media (max-width: 900px) {
  body.woocommerce-checkout form.woocommerce-checkout {
    grid-template-columns: 1fr;
  }

  body.woocommerce-checkout #order_review {
    grid-column: 1;
    grid-row: auto;
    position: static;
  }

  body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
  body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 600px) {
  body.woocommerce-checkout h1.entry-title {
    font-size: 3rem !important;
  }
}

/* =====================================================================
   CONTACT FORM 7 — Riti Studio style
   ===================================================================== */
.riti-cf7-form {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.cf7-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
}

.cf7-group {
  display: flex;
  flex-direction: column;
}

.cf7-input {
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid #c9b49a !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: none !important;
  padding: 0.5rem 0 !important;
  width: 100% !important;
  font-family: inherit !important;
  font-size: 1rem !important;
  color: #2c2c2c !important;
  transition: border-color 0.2s ease !important;
}

.cf7-input:focus {
  border-bottom-color: #b88960 !important;
  box-shadow: none !important;
}

.cf7-select {
  appearance: none !important;
  -webkit-appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23b88960' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 0 center !important;
  padding-right: 1.2rem !important;
  cursor: pointer !important;
}

.cf7-textarea {
  resize: none !important;
  height: 120px !important;
  min-height: unset !important;
}

.cf7-submit-group {
  margin-top: 0.5rem;
}

.cf7-button {
  background: transparent !important;
  border: 1px solid #b88960 !important;
  color: #b88960 !important;
  padding: 0.75rem 2.5rem !important;
  font-family: inherit !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  transition:
    background 0.2s ease,
    color 0.2s ease !important;
}

.cf7-button:hover {
  background: #b88960 !important;
  color: #fff !important;
}

@media (max-width: 768px) {
  .cf7-row {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}

/* REFUND POLICY */
.refund-policy-section {
  padding: 80px 10px;
}