/*
Theme Name: Architecturer Child
Theme URI: https://themes.themegoods.com/architecturer/landing
Description: Premium Architecture & Interior Design WordPress Theme
Version: 1.0
Author URI: http://themeforest.net/user/ThemeGoods
License: GNU General Public License
License URI: http://themeforest.net/licenses/regular_extended
Text Domain: architecturer
Template: architecturer
*/

/* ============================================================
   OVERRIDE ELEMENTOR WIDGET SPACING DEFAULTS
   ============================================================ */

body .elementor-element {
  --widgets-spacing: 0px 0px;
  --widgets-spacing-row: 0px;
  --widgets-spacing-column: 0px;
}

/* ============================================================
   SCROLL FADE-IN ANIMATION
   ============================================================ */

.fade-in-scroll {
  opacity: 0;
  transform: translateY(28px);
  transition:
    opacity 0.7s ease,
    transform 0.7s ease;
  will-change: opacity, transform;
}

.fade-in-scroll.fade-in--visible {
  opacity: 1;
  transform: translateY(0);
}

.elementor-editor-active .fade-in-scroll {
  opacity: 1;
  transform: none;
  transition: none;
}

@media (max-width: 767px) {
  .fade-in-scroll.no-fade-mobile {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

/* ============================================================
   CUSTOM HEADER
   ============================================================ */

#site-header {
  text-align: center;
  padding: 10px 0 30px 0;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  background-color: transparent;
  transition:
    background-color 0.4s ease,
    padding-top 0.3s ease,
    transform 0.5s cubic-bezier(0.65, 0, 0.35, 1);
}

#site-header.site-header--hidden {
  transform: translateY(-100%);
}

#site-header.site-header--solid,
#site-header.menu-open {
  background-color: #89523d;
}

.site-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 26px;
  margin-bottom: 20px;
  position: absolute;
  top: 0px;
  left: 0;
  right: 0;
  z-index: 0;
  transition:
    opacity 0.3s ease,
    visibility 0.3s ease;
}

.site-topbar-lang .trp-shortcode-switcher__wrapper {
  --text: #ffffff !important;
  --text-hover: #ffffff !important;
  --bg: transparent !important;
  --bg-hover: transparent !important;
  --border-width: 0 !important;
}

.site-topbar-lang .trp-shortcode-switcher,
.site-topbar-lang .trp-language-item:hover {
  background: transparent !important;
}

.site-topbar-lang .trp-current-language-item__wrapper {
  justify-content: flex-start !important;
  padding-right: 0 !important;
  gap: 4px !important;
}

.site-topbar-lang .trp-language-item-name {
  font-family: "Funnel Sans", sans-serif;
  font-size: 16px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}

.site-topbar-lang .trp-language-item-name:hover {
  text-decoration: underline;
}

.site-topbar-lang .trp-shortcode-switcher__wrapper a {
  text-decoration: none;
}

.site-topbar-lang .trp-switcher-dropdown-list a:hover .trp-language-item-name {
  text-decoration: underline;
}

.site-topbar .trp-language-item {
  padding: 4px 4px;
}

.trp-shortcode-switcher {
  padding: 0 0 6px 0;
}

.site-topbar-social {
  margin-right: 4px;
}

.site-topbar-social a {
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  text-transform: uppercase;
}

.site-topbar-social a:hover {
  text-decoration: underline;
  color: white;
}

.site-topbar-social-icon {
  display: none;
}

.site-title {
  position: relative;
  z-index: 1;
  width: max-content;
  margin: 0 auto;
}

#site-header .site-title a {
  font-family: "Cinzel", serif !important;
  font-weight: 400;
  font-style: normal;
  font-size: 40px;
  line-height: 1;
  letter-spacing: 0;
  text-align: center;
  margin: 0 0 20px;
  color: white !important;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
}

#site-header .site-title a span:last-child {
  font-size: 26px;
}

.mobile-menu-extra {
  display: none;
}

#primary-navigation {
  text-align: center;
  margin-top: 30px;
}

#primary-menu {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 60px;
  padding: 0;
  margin: 0;
}

#primary-menu ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  padding: 0;
  margin: 0;
}

#primary-menu li {
  display: block;
}

#primary-menu li a {
  font-family: "Funnel Sans", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 17px;
  line-height: 1;
  letter-spacing: 0;
  text-align: center;
  text-decoration: none;
  color: white !important;
  text-transform: uppercase;
  position: relative;
}

#primary-menu li a::after {
  content: "";
  position: absolute;
  bottom: -3px;
  left: 0;
  width: 0;
  height: 1px;
  background-color: currentColor;
  transition: width 0.3s ease;
}

#primary-menu li a:hover::after {
  width: 100%;
}

/* ============================================================
   HAMBURGER MENU (mobile < 768px)
   ============================================================ */

#menu-toggle {
  display: none;
}

@media (max-width: 767px) {
  #site-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 10px 20px 10px 20px;
  }

  .site-topbar {
    display: none;
  }

  #site-header.topbar-hidden {
    padding-top: 10px;
  }

  #site-header .site-title a {
    font-size: 22px;
    gap: 4px;
    margin-bottom: 0;
    padding-top: 10px;
    text-align: center;
    align-items: center;
  }

  #site-header .site-title a span:last-child {
    font-size: 15px;
  }

  #menu-toggle {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    width: 36px;
    height: 36px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 4px;
    flex-shrink: 0;
    z-index: 1001;
    margin-top: 10px;
  }

  #menu-toggle span {
    display: block;
    width: 100%;
    height: 2px;
    background-color: white;
    border-radius: 2px;
    transition:
      transform 0.3s ease,
      opacity 0.3s ease;
    transform-origin: center;
  }

  /* X animation when open */
  #menu-toggle[aria-expanded="true"] span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
  }
  #menu-toggle[aria-expanded="true"] span:nth-child(2) {
    opacity: 0;
    transform: scaleX(0);
  }
  #menu-toggle[aria-expanded="true"] span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
  }

  #primary-navigation {
    width: 100%;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    margin-top: 0;
  }

  #primary-navigation.nav-open {
    max-height: 480px;
    overflow: visible;
  }

  #primary-menu {
    flex-direction: column;
    gap: 0;
    padding: 10px 0 16px;
  }

  #primary-menu li {
    opacity: 0;
    transform: translateY(-8px);
    transition:
      opacity 0.25s ease,
      transform 0.25s ease;
  }

  #primary-navigation.nav-open #primary-menu li {
    opacity: 1;
    transform: translateY(0);
  }

  #primary-menu li a {
    display: block;
    padding: 10px 0;
    font-size: 15px;
    -webkit-tap-highlight-color: transparent;
  }

  #primary-menu li a:focus,
  #primary-menu li a:active {
    outline: none;
    text-decoration: none;
  }

  #primary-menu li a::after {
    display: none;
  }

  .mobile-menu-extra {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    padding-top: 10px;
    margin-top: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.15);
    opacity: 0;
    transform: translateY(-8px);
    transition:
      opacity 0.25s ease,
      transform 0.25s ease;
  }

  #primary-navigation.nav-open .mobile-menu-extra {
    opacity: 1;
    transform: translateY(0);
  }

  .trp-shortcode-switcher__wrapper {
    --text: #ffffff !important;
    --text-hover: #ffffff !important;
    --bg: transparent !important;
    --bg-hover: transparent !important;
    --border-width: 0 !important;
  }

  .trp-shortcode-switcher,
  .trp-language-item:hover {
    background: transparent !important;
  }

  .trp-language-item {
    padding: 8px 4px;
  }

  .trp-language-item-name {
    font-family: "Funnel Sans", sans-serif;
    font-size: 14px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    color: #fff;
  }

  .mobile-menu-social {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 4px;
    color: #fff !important;
    text-decoration: none;
    text-transform: uppercase;
    font-family: "Funnel Sans", sans-serif;
    font-size: 13px;
    -webkit-tap-highlight-color: transparent;
  }

  .mobile-menu-social svg {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
  }
}

/* ============================================================
   WOOCOMMERCE CART PAGE
   ============================================================ */

/* Extra top padding to clear the fixed header */
.woocommerce-cart #page_content_wrapper {
  padding-top: 160px;
}

@media (max-width: 767px) {
  .woocommerce-cart #page_content_wrapper {
    padding-top: 120px;
  }
}

/* Reset parent-theme table styles inside our custom cart */
.pf-cart-form .shop_table,
.pf-cart-form table {
  border: none;
  border-collapse: collapse;
}

/* ── Outer wrapper: flex row (form | totals) ── */
.pf-cart-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 50px;
  align-items: flex-start;
  max-width: 1100px;
  margin: 0 auto;
  padding: 280px 30px 100px;
}

.pf-cart-wrapper .pf-cart-header span {
  color: white;
}

h2.pf-cart-totals__heading {
  color: white !important;
}

/* ── Cart form: main column ── */
.pf-cart-form {
  flex: 1 1 500px;
  min-width: 0;
}

/* ── Column header (desktop labels) ── */
.pf-cart-header {
  display: grid;
  grid-template-columns: 1fr 110px 110px 110px 40px;
  gap: 16px;
  padding-bottom: 12px;
  border-bottom: 2px solid #e0d6cc;
  font-family: "Funnel Sans", sans-serif;
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #999;
}

/* ── Individual cart item ── */
.pf-cart-item {
  display: grid;
  grid-template-columns: 1fr 110px 110px 110px 40px;
  gap: 16px;
  align-items: center;
  padding: 24px 0;
  border-bottom: 1px solid #ede6de;
}

.pf-cart-item__info {
  display: flex;
  gap: 18px;
  align-items: center;
  min-width: 0;
}

.pf-cart-item__image img {
  display: block;
  width: 80px;
  height: 80px;
  object-fit: cover;
  flex-shrink: 0;
}

.pf-cart-item__meta {
  min-width: 0;
}

.pf-cart-item__name {
  display: block;
  font-family: "Funnel Sans", sans-serif;
  font-size: 15px;
  color: #2c2c2c;
  margin: 0 0 4px;
}

.pf-cart-item__name a {
  color: inherit;
  text-decoration: none;
  transition: color 0.2s;
}

.pf-cart-item__name a:hover {
  color: #89523d;
}

.pf-cart-item__backorder {
  font-size: 12px;
  color: #999;
  margin: 4px 0 0;
}

.pf-cart-item__price,
.pf-cart-item__subtotal {
  font-family: "Funnel Sans", sans-serif;
  font-size: 15px;
  color: #2c2c2c;
  white-space: nowrap;
}

/* Quantity input */
.pf-cart-item__quantity .quantity {
  display: flex;
  align-items: center;
}

.pf-cart-item__quantity .quantity input[type="number"] {
  width: 70px;
  text-align: center;
  padding: 7px 6px;
  border: 1px solid #d4c4b4;
  border-radius: 0;
  font-family: "Funnel Sans", sans-serif;
  font-size: 14px;
  color: #2c2c2c;
  background: #fff;
  -moz-appearance: textfield;
  appearance: textfield;
}

.pf-cart-item__quantity .quantity input::-webkit-inner-spin-button,
.pf-cart-item__quantity .quantity input::-webkit-outer-spin-button {
  -webkit-appearance: none;
}

.pf-cart-item__quantity .quantity input:focus {
  outline: none;
  border-color: #89523d;
}

/* Remove × */
.pf-cart-item__remove .remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  font-size: 20px;
  line-height: 1;
  color: #bbb;
  text-decoration: none;
  transition: color 0.2s;
}

.pf-cart-item__remove .remove:hover {
  color: #89523d;
}

/* ── Cart actions row ── */
.pf-cart-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 28px;
}

.pf-cart-coupon {
  display: none;
}

/* ── Shared buttons ── */
.pf-btn {
  display: inline-block;
  padding: 12px 28px;
  font-family: "Funnel Sans", sans-serif;
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  border: none;
  transition:
    background 0.25s,
    color 0.25s,
    border-color 0.25s;
  appearance: none;
  -webkit-appearance: none;
}

.pf-btn--primary {
  background-color: #89523d;
  color: #fff;
}

.pf-btn--primary:hover {
  background-color: #a8866b;
  color: #fff;
}

.pf-btn--outline {
  background: transparent;
  color: #89523d;
  border: 1px solid #89523d;
}

.pf-btn--outline:hover {
  background: #89523d;
  color: #fff;
}

.pf-btn--ghost {
  background: transparent;
  color: #fff;
  border: 1px solid #fff;
  font-size: 12px;
  padding: 9px 18px;
}

.pf-btn--ghost:hover {
  border-color: #fff;
  color: #fff;
  background: rgba(255, 255, 255, 0.12);
}

/* ── Input field ── */
.pf-input {
  padding: 10px 14px;
  border: 1px solid #d4c4b4;
  border-radius: 0;
  font-family: "Funnel Sans", sans-serif;
  font-size: 13px;
  color: #2c2c2c;
  background: #fff;
  outline: none;
  transition: border-color 0.2s;
}

.pf-input:focus {
  border-color: #89523d;
}

/* ── Totals column ── */

.pf-cart-items span {
  color: white;
}

.cart-collaterals {
  flex: 0 0 320px;
  width: 320px;
  border-left: 1px solid rgba(255, 255, 255, 0.3);
}

/* Hide cross-sells in collaterals (optional) */
.cart-collaterals .cross-sells {
  display: none;
}

.pf-cart-totals {
  background: transparent;
  padding: 35px 30px;
  color: #fff;
}

/* WooCommerce prints the shipping method markup without our own classes,
   so text nodes/labels/links there need explicit overrides too. */
.pf-cart-totals p,
.pf-cart-totals label,
.pf-cart-totals a,
.pf-cart-totals strong,
.pf-cart-totals .woocommerce-shipping-methods,
.pf-cart-totals .woocommerce-shipping-methods label,
.pf-cart-totals .woocommerce-shipping-destination,
.pf-cart-totals .shipping-calculator-button,
.pf-cart-totals .shipping-calculator-form label {
  color: #fff;
}

.pf-cart-totals .shipping-calculator-form .input-text,
.pf-cart-totals .shipping-calculator-form select,
.pf-cart-totals .shipping-calculator-form .button {
  color: #2c2c2c;
}

.pf-cart-totals__heading {
  font-family: "Cinzel", serif;
  font-weight: 400;
  font-size: 20px;
  letter-spacing: 0.06em;
  color: #fff;
  margin: 0 0 24px;
}

.pf-cart-totals__rows {
  border-top: 1px solid rgba(255, 255, 255, 0.3);
}

.pf-cart-totals__row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  padding: 13px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
  font-family: "Funnel Sans", sans-serif;
  font-size: 14px;
  color: #fff;
  margin-bottom: 12px;
}

.pf-cart-totals__total {
  font-size: 18px;
  color: #fff;
  font-weight: 600;
  border-bottom: none;
  padding-top: 16px;
}

/* Proceed to checkout button (rendered by WooCommerce) */
.pf-cart-totals__checkout {
  margin-top: 24px;
}

.pf-cart-totals__checkout .checkout-button,
.pf-cart-totals__checkout a.checkout-button {
  display: block;
  width: 100%;
  text-align: center;
  background: transparent !important;
  color: #fff !important;
  padding: 16px 20px;
  font-family: "Funnel Sans", sans-serif;
  font-size: 13px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-decoration: none;
  border: 1px solid #fff !important;
  cursor: pointer;
  transition: background 0.25s, border-color 0.25s;
  box-sizing: border-box;
  appearance: none;
  -webkit-appearance: none;
}

.pf-cart-totals__checkout .checkout-button:hover,
.pf-cart-totals__checkout a.checkout-button:hover {
  background: rgba(255, 255, 255, 0.12) !important;
  border-color: #fff !important;
  color: #fff !important;
}

/* "Seguir comprando" link */
.pf-cart-totals__back {
  display: none;
}

/* ── Empty cart state ── */
.pf-cart-empty {
  width: 100%;
  text-align: center;
  padding: 220px 20px;
}

.pf-cart-empty__text {
  font-family: "Funnel Sans", sans-serif;
  font-size: 18px;
  color: #fff;
  margin-bottom: 30px;
}

.pf-cart-empty .pf-btn--primary {
  display: inline-block;
  padding: 12px 28px;
  font-family: "Funnel Sans", sans-serif;
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-decoration: none !important;
  cursor: pointer;
  border: thin solid white;
  background-color: #89523d;
  color: #fff !important;
  transition:
    background 0.25s,
    color 0.25s;
  appearance: none;
  -webkit-appearance: none;
}

/* Remove WooCommerce's default "your cart is empty" styling */
.woocommerce-cart .woocommerce-info {
  display: none;
}

.wp-block-woocommerce-checkout-order-summary-coupon-form-block {
  display: none;
}

body.page-template-default:not(.elementor-page)
  #page_content_wrapper
  .inner
  .sidebar_content
  ul:not(.children) {
  margin: 20px 0px 30px;
}

.woocommerce-order {
  margin-top: 180px;
}

.woocommerce-order p,
.woocommerce-order h2,
.woocommerce-order ul,
.woocommerce-order li,
.woocommerce address {
  color: #fff;
}

.woocommerce-order h2 {
  margin-bottom: 10px;
  font-size: 26px;
}

.woocommerce-table__product-name,
.woocommerce-table__product-table {
  font-family: "Cinzel", serif;
  font-weight: 400;
  letter-spacing: 0.06em;
}

.wp-block-woocommerce-checkout-order-summary-block {
  border-color: #fff !important;
}

.wp-block-woocommerce-checkout-order-summary-block span,
.wp-block-woocommerce-checkout-order-summary-block h2,
.wp-block-woocommerce-checkout-order-summary-block p,
.wp-block-woocommerce-checkout-order-summary-block ul,
.wp-block-woocommerce-checkout-order-summary-block li {
  color: #fff;
}

/* Checkout step headings ("Información de contacto", "Dirección de envío",
   "Opciones de envío", "Opciones de pago", "Resumen del pedido") */
.wc-block-components-title.wc-block-components-title {
  font-size: 26px !important;
}

/* Block-based checkout form (contact/shipping/payment steps) — all text
   white except the actual form fields, which keep dark text so they stay
   legible against their white input backgrounds. This also covers the
   floating field labels, which are visually part of the input widget. */
.wc-block-checkout__form,
.wc-block-checkout__form * {
  color: #fff !important;
}

.wc-block-checkout__form input,
.wc-block-checkout__form textarea,
.wc-block-checkout__form select,
.wc-block-checkout__form .wc-block-components-text-input label,
.wc-block-checkout__form .wc-blocks-components-select__label {
  color: #2c2c2c !important;
}

/* "Realizar el pedido" button — match the site's ghost button style
   (transparent background, white border, white text). */
.wc-block-components-checkout-place-order-button {
  background: transparent !important;
  color: #fff !important;
  border: 1px solid #fff !important;
  border-radius: 0 !important;
  font-family: "Funnel Sans", sans-serif;
  font-size: 16px !important;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  box-shadow: none !important;
  transition: background 0.25s, border-color 0.25s;
}

.wc-block-components-checkout-place-order-button:hover {
  background: rgba(255, 255, 255, 0.12) !important;
  border-color: #fff !important;
  color: #fff !important;
}

.woocommerce-customer-details address {
  border: thin solid white !important;
}

.woocommerce-order-details th,
.woocommerce-order-details td,
.woocommerce-order-details a,
.woocommerce-order-details strong,
.woocommerce-order-details small,
.woocommerce-order-details bdi {
  color: #fff;
}

.woocommerce-table--order-details {
  border-top: none !important;
  overflow: hidden;
}

.woocommerce-order-details table.order_details,
.woocommerce-order-details table.order_details th,
.woocommerce-order-details table.order_details td,
.woocommerce-order-details table.order_details tr {
  border-color: #fff !important;
}

.woocommerce-order-details table.order_details tr {
  border-bottom: none !important;
}



@media (max-width: 767px) {
  .woocommerce-order {
    margin-top: 120px;
  }
}

/* ============================================================
   WOOCOMMERCE NOTICES → TOAST
   ============================================================ */

.woocommerce-notices-wrapper {
  position: fixed;
  bottom: 32px;
  right: 32px;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  gap: 10px;
  pointer-events: none;
  max-width: 340px;
  width: calc(100% - 48px);
}

.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-info {
  pointer-events: all;
  background: #2c2c2c;
  color: #f5f0eb;
  font-family: "Funnel Sans", sans-serif;
  font-size: 13px;
  line-height: 1.5;
  padding: 14px 18px;
  border: none;
  border-radius: 0;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25);
  list-style: none;
  margin: 0;
  opacity: 1;
  transform: translateY(0);
  transition:
    opacity 0.4s ease,
    transform 0.4s ease;
}

.woocommerce-notices-wrapper .woocommerce-message::before,
.woocommerce-notices-wrapper .woocommerce-error::before,
.woocommerce-notices-wrapper .woocommerce-info::before {
  display: none;
}

.woocommerce-notices-wrapper .woocommerce-message a,
.woocommerce-notices-wrapper .woocommerce-error a,
.woocommerce-notices-wrapper .woocommerce-info a {
  color: #89523d;
  text-decoration: underline;
}

.woocommerce-notices-wrapper .woocommerce-message.pf-toast--hiding,
.woocommerce-notices-wrapper .woocommerce-error.pf-toast--hiding,
.woocommerce-notices-wrapper .woocommerce-info.pf-toast--hiding {
  opacity: 0;
  transform: translateY(12px);
}

@media (max-width: 767px) {
  .woocommerce-notices-wrapper {
    bottom: 20px;
    right: 16px;
    left: 16px;
    max-width: none;
    width: auto;
  }
}

/* ── Mobile ── */
@media (max-width: 767px) {
  .pf-cart-wrapper {
    flex-direction: column;
    gap: 30px;
    padding: 130px 30px 34px;
  }

  .pf-cart-header {
    display: none;
  }

  .pf-cart-item {
    grid-template-columns: 70px 1fr 36px;
    grid-template-rows: auto auto auto;
    gap: 10px;
    padding: 20px 0;
  }

  .pf-cart-item__info {
    grid-column: 1 / 3;
    grid-row: 1;
    gap: 12px;
  }

  .pf-cart-item__image img {
    width: 70px;
    height: 70px;
  }

  .pf-cart-item__price {
    display: none;
  }

  .pf-cart-item__quantity {
    grid-column: 1;
    grid-row: 2;
  }

  .pf-cart-item__quantity .quantity input[type="number"] {
    width: 60px;
  }

  .pf-cart-item__subtotal {
    grid-column: 2;
    grid-row: 2;
    text-align: right;
    font-weight: 600;
  }

  .pf-cart-item__remove {
    grid-column: 3;
    grid-row: 1;
    display: flex;
    justify-content: flex-end;
  }

  .pf-cart-actions {
    flex-direction: column;
    align-items: flex-start;
  }

  .cart-collaterals {
    flex: none;
    width: 100%;
  }

  .pf-cart-totals {
    padding: 24px 20px;
    max-width: 270px;
  }

  .pf-cart-form {
    flex: 1 1 100px;
    min-width: 0;
  }
}

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

.woocommerce-checkout #page_content_wrapper {
  padding-top: 160px;
}

/* In production, the architecturer-elementor plugin's responsive.css sets
   #page_content_wrapper padding to 0 !important on mobile, overriding the
   parent theme's 30px side padding. Beat it with a more specific selector. */
@media only screen and (max-width: 767px) {
  body.woocommerce-checkout #page_content_wrapper:not(.wide) {
    padding: 0 30px 0 30px !important;
  }
}



/* ── Wrapper (mirrors .pf-cart-wrapper) ── */
.pf-checkout-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 50px;
  align-items: flex-start;
  max-width: 1100px;
  margin: 0 auto;
  padding: 210px 30px 100px;
}

/* ── Billing column ── */
.pf-checkout-billing {
  flex: 1 1 500px;
  min-width: 0;
}

/* ── Aside column (order summary) ── */
.pf-checkout-aside {
  flex: 0 0 320px;
  width: 320px;
}

/* ── Billing section heading ── */
.pf-checkout-billing .woocommerce-billing-fields > h3,
.pf-checkout-billing .woocommerce-shipping-fields > h3 {
  font-family: "Cinzel", serif;
  font-weight: 400;
  font-size: 20px;
  letter-spacing: 0.06em;
  color: #fff;
  margin: 0 0 28px;
}

/* ── Form rows ── */
.pf-checkout-billing .form-row {
  display: flex;
  flex-direction: column;
  margin: 0 0 18px;
  padding: 0;
}

.pf-checkout-billing .form-row-first,
.pf-checkout-billing .form-row-last {
  display: inline-flex;
  flex-direction: column;
  width: calc(50% - 9px);
  vertical-align: top;
}

.pf-checkout-billing .form-row-first {
  margin-right: 18px;
}

.pf-checkout-billing .form-row label {
  font-family: "Funnel Sans", sans-serif;
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.7);
  margin-bottom: 6px;
  display: block;
}

.pf-checkout-billing .form-row label .required {
  color: #89523d;
  font-weight: 400;
  text-decoration: none;
}

.pf-checkout-billing .form-row .input-text,
.pf-checkout-billing .form-row select,
.pf-checkout-billing .form-row textarea {
  width: 100%;
  box-sizing: border-box;
  padding: 10px 14px;
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 0;
  font-family: "Funnel Sans", sans-serif;
  font-size: 14px;
  color: #2c2c2c;
  background: #fff;
  outline: none;
  transition: border-color 0.2s;
  appearance: none;
  -webkit-appearance: none;
}

.pf-checkout-billing .form-row .input-text:focus,
.pf-checkout-billing .form-row select:focus,
.pf-checkout-billing .form-row textarea:focus {
  border-color: #89523d;
}

.pf-checkout-billing .form-row.woocommerce-invalid .input-text,
.pf-checkout-billing .form-row.woocommerce-invalid select {
  border-color: #c00;
}

.pf-checkout-billing .form-row.woocommerce-validated .input-text,
.pf-checkout-billing .form-row.woocommerce-validated select {
  border-color: #89523d;
}

.pf-checkout-billing .woocommerce-input-wrapper {
  position: relative;
  display: block;
}

/* ── Order review table (inside .pf-cart-totals reuse) ── */
.pf-checkout-summary .woocommerce-checkout-review-order-table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 0;
}

.pf-checkout-summary .woocommerce-checkout-review-order-table thead tr th {
  font-family: "Funnel Sans", sans-serif;
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #999;
  padding: 0 0 10px;
  border-bottom: 2px solid #e0d6cc;
  text-align: left;
  font-weight: 400;
}

.pf-checkout-summary
  .woocommerce-checkout-review-order-table
  thead
  tr
  th.product-total {
  text-align: right;
}

.pf-checkout-summary .woocommerce-checkout-review-order-table tbody tr td {
  font-family: "Funnel Sans", sans-serif;
  font-size: 14px;
  color: #2c2c2c;
  padding: 14px 0;
  border-bottom: 1px solid #ede6de;
  vertical-align: middle;
}

.pf-checkout-summary
  .woocommerce-checkout-review-order-table
  tbody
  tr
  td.product-total {
  text-align: right;
  white-space: nowrap;
}

.pf-checkout-summary .woocommerce-checkout-review-order-table tfoot tr th,
.pf-checkout-summary .woocommerce-checkout-review-order-table tfoot tr td {
  font-family: "Funnel Sans", sans-serif;
  font-size: 14px;
  color: #555;
  padding: 12px 0;
  border-bottom: 1px solid #e0d6cc;
}

.pf-checkout-summary .woocommerce-checkout-review-order-table tfoot tr td {
  text-align: right;
}

.pf-checkout-summary
  .woocommerce-checkout-review-order-table
  tfoot
  tr.order-total
  th,
.pf-checkout-summary
  .woocommerce-checkout-review-order-table
  tfoot
  tr.order-total
  td {
  font-size: 18px;
  color: #2c2c2c;
  font-weight: 600;
  border-bottom: none;
  padding-top: 16px;
}

/* ── Payment methods ── */
.pf-checkout-summary #payment {
  margin-top: 24px;
}

.pf-checkout-summary #payment .wc_payment_methods {
  list-style: none;
  padding: 0;
  margin: 0 0 20px;
  border-top: 1px solid #e0d6cc;
}

.pf-checkout-summary #payment .wc_payment_methods li {
  padding: 14px 0;
  border-bottom: 1px solid #e0d6cc;
}

.pf-checkout-summary #payment .wc_payment_methods label {
  font-family: "Funnel Sans", sans-serif;
  font-size: 14px;
  color: #2c2c2c;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 10px;
}

.pf-checkout-summary #payment .wc_payment_methods .payment_box {
  font-family: "Funnel Sans", sans-serif;
  font-size: 13px;
  color: #666;
  margin-top: 10px;
  padding: 12px;
  background: #f0ece8;
}

/* ── Place order button ── */
.pf-checkout-summary #payment .place-order {
  padding: 0;
}

.pf-checkout-summary #payment #place_order {
  display: block;
  width: 100%;
  text-align: center;
  background-color: #89523d;
  color: #fff;
  padding: 16px 20px;
  font-family: "Funnel Sans", sans-serif;
  font-size: 13px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-decoration: none;
  border: none;
  cursor: pointer;
  transition: background 0.25s;
  box-sizing: border-box;
  appearance: none;
  -webkit-appearance: none;
  border-radius: 0;
}

.pf-checkout-summary #payment #place_order:hover {
  background-color: #a8866b;
}

/* ── Privacy / terms ── */
.pf-checkout-summary .woocommerce-privacy-policy-text,
.pf-checkout-summary .woocommerce-terms-and-conditions-wrapper {
  font-family: "Funnel Sans", sans-serif;
  font-size: 12px;
  color: #888;
  margin-bottom: 14px;
}

.pf-checkout-summary .woocommerce-privacy-policy-text a,
.pf-checkout-summary .woocommerce-terms-and-conditions-wrapper a {
  color: #89523d;
}

.wpcf7-response-output {
  color: white;
  border: none !important;
}

.pf-cf7-success {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 16px;
  padding: 48px 24px;
  opacity: 0;
  transform: translateY(12px);
  transition:
    opacity 0.5s ease,
    transform 0.5s ease;
}

.pf-cf7-success.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.pf-cf7-success-icon {
  color: white;
  border: none;
  border-radius: 50%;
  padding: 7px;
}

.pf-cf7-success p {
  color: #fff;
  font-family: "Funnel Sans", sans-serif;
  font-size: 18px;
  line-height: 1.5;
  margin: 0;
  max-width: 32em;
  padding-top: 0px !important;
}

.woocommerce-order-received h2 {
  color: #fff;
  font-family: "Cinzel", serif;
  font-weight: 400;
  letter-spacing: 0.06em;
  font-size: 26px;
  margin-bottom: 10px;
}

.woocommerce-table--order-details th{
    font-family: "Funnel Sans", sans-serif !important;
    font-weight: bold;
}

/* ── Mobile ── */
@media (max-width: 767px) {
  .pf-checkout-wrapper {
    flex-direction: column;
    gap: 30px;
    padding: 0 16px 60px;
  }

  .pf-checkout-aside {
    flex: none;
    width: 100%;
  }

  .pf-checkout-billing .form-row-first,
  .pf-checkout-billing .form-row-last {
    display: flex;
    width: 100%;
    margin-right: 0;
  }
  .woocommerce-column--billing-address{
    margin-bottom: 40px;
  }
}

/* checkout page */
.wc-block-checkout {
  padding-top: 240px;
}

/* ── Page-specific background overrides ── */
/**().page-id-5339 #wrapper {
  background-color: #89523d !important;
}
.page-id-5341 #wrapper {
  background-color: #504d2c !important;
}
.page-id-5347 #wrapper {
  background-color: #443621 !important;
}

.page-id-5350 #wrapper {
  background-color: #aa6b5f !important;
}

.page-id-5351 #wrapper {
  background-color: #67829a !important;
}

.page-id-5358 #wrapper {
  background-color: #35544d !important;
}**/

@media (max-width: 767px) {
  .page-id-5351 #page_content_wrapper {
    padding: 0 !important;
  }

  .wc-block-checkout{
    padding-top: 120px;
  }
}
